diff options
author | mi <mi@FreeBSD.org> | 2007-07-07 04:29:55 +0800 |
---|---|---|
committer | mi <mi@FreeBSD.org> | 2007-07-07 04:29:55 +0800 |
commit | ed3c68885c60b29827c654092bfd3452fa04d603 (patch) | |
tree | 7661a8cf271c0f41c8bbfef20567ea0fa7257099 /print/lyx | |
parent | db8b82b8b2f286f678093de1f5b64e7a6d6dacee (diff) | |
download | freebsd-ports-gnome-ed3c68885c60b29827c654092bfd3452fa04d603.tar.gz freebsd-ports-gnome-ed3c68885c60b29827c654092bfd3452fa04d603.tar.zst freebsd-ports-gnome-ed3c68885c60b29827c654092bfd3452fa04d603.zip |
Add a patch to ensure we compile against the new Boost-1.34, while
maintaining compatibility with Boost-1.33. Also, when compiling against
1.34, be sure to remove the `-fno-exceptions' flag, because the new
Boost throws in a few places...
Notified by: pav
Diffstat (limited to 'print/lyx')
-rw-r--r-- | print/lyx/Makefile | 8 | ||||
-rw-r--r-- | print/lyx/files/patch-boost-134 | 100 |
2 files changed, 108 insertions, 0 deletions
diff --git a/print/lyx/Makefile b/print/lyx/Makefile index 1191f2b22ac5..58f21a1a621f 100644 --- a/print/lyx/Makefile +++ b/print/lyx/Makefile @@ -55,6 +55,14 @@ post-patch: ${REINPLACE_CMD} -e 's,/bin/bash,/bin/sh,' \ ${WRKSRC}/src/support/tests/test_* +pre-configure: + # If the installed Boost is 1.34 or later, we must compile + # with exceptions enabled: + ${AWK} '/#define BOOST_VERSION / {exit($$NF >= 103400)}' \ + ${LOCALBASE}/include/boost/version.hpp || \ + ${REINPLACE_CMD} -e 's,\(AM_CXXFLAGS="\)-fno-exceptions,\1,' \ + ${WRKSRC}/${CONFIGURE_SCRIPT} + post-configure: # Removing explicit linking with -lc ${REINPLACE_CMD} -e 's,-lc ,,' ${WRKSRC}/*/Makefile diff --git a/print/lyx/files/patch-boost-134 b/print/lyx/files/patch-boost-134 new file mode 100644 index 000000000000..9d962c0af94a --- /dev/null +++ b/print/lyx/files/patch-boost-134 @@ -0,0 +1,100 @@ +--- src/support/path.h Mon Oct 6 11:43:21 2003 ++++ src/support/path.h Fri Jul 6 14:23:38 2007 +@@ -55,5 +55,5 @@ + // we add this macro: + /// +-#ifndef PATH_C ++#if 0 + #define Path(x) unnamed_Path; + #endif +--- src/support/fs_extras.C Sat May 7 10:31:16 2005 ++++ src/support/fs_extras.C Fri Jul 6 14:39:58 2007 +@@ -94,11 +94,20 @@ + + #ifdef BOOST_POSIX ++#include <boost/version.hpp> + int const infile = ::open(source.string().c_str(), O_RDONLY); + if (infile == -1) { + boost::throw_exception( ++#if BOOST_VERSION < 103400 + filesystem_error( + "boost::filesystem::copy_file", + source, target, +- fs::detail::system_error_code())); ++ fs::detail::system_error_code()) ++#else ++ filesystem_path_error( ++ "boost::filesystem::copy_file", ++ source, target, ++ fs::lookup_errno(errno)) ++#endif ++ ); + } + +@@ -108,8 +117,16 @@ + ::close(infile); + boost::throw_exception( ++#if BOOST_VERSION < 103400 + filesystem_error( + "boost::filesystem::copy_file", + source, target, +- fs::detail::system_error_code())); ++ fs::detail::system_error_code()) ++#else ++ filesystem_path_error( ++ "boost::filesystem::copy_file", ++ source, target, ++ fs::lookup_errno(errno)) ++#endif ++ ); + } + +@@ -120,8 +137,16 @@ + ::close(infile); + boost::throw_exception( ++#if BOOST_VERSION < 103400 + filesystem_error( + "boost::filesystem::copy_file", + source, target, +- fs::detail::system_error_code())); ++ fs::detail::system_error_code()) ++#else ++ filesystem_path_error( ++ "boost::filesystem::copy_file", ++ source, target, ++ fs::lookup_errno(errno)) ++#endif ++ ); + } + +@@ -150,8 +175,16 @@ + if (in == -1 || out == -1) + boost::throw_exception( ++#if BOOST_VERSION < 103400 + filesystem_error( + "boost::filesystem::copy_file", + source, target, +- fs::detail::system_error_code())); ++ fs::detail::system_error_code()) ++#else ++ filesystem_path_error( ++ "boost::filesystem::copy_file", ++ source, target, ++ fs::lookup_errno(errno)) ++#endif ++ ); + #endif + #ifdef BOOST_WINDOWS +--- src/client/client.C Wed Apr 12 05:37:33 2006 ++++ src/client/client.C Fri Jul 6 15:47:26 2007 +@@ -94,5 +94,10 @@ + for (; beg != end; ++beg) { + if (prefixIs(beg->leaf(), "lyx_tmpdir" + pid)) { ++#include <boost/version.hpp> ++#if BOOST_VERSION < 103400 + fs::path lyxsocket = *beg / "lyxsocket"; ++#else ++ fs::path lyxsocket = beg->path() / "lyxsocket"; ++#endif + if (fs::exists(lyxsocket)) { + dirlist.push_back(lyxsocket); |