aboutsummaryrefslogtreecommitdiffstats
path: root/print/lyx
diff options
context:
space:
mode:
authormi <mi@FreeBSD.org>2007-07-07 04:29:55 +0800
committermi <mi@FreeBSD.org>2007-07-07 04:29:55 +0800
commited3c68885c60b29827c654092bfd3452fa04d603 (patch)
tree7661a8cf271c0f41c8bbfef20567ea0fa7257099 /print/lyx
parentdb8b82b8b2f286f678093de1f5b64e7a6d6dacee (diff)
downloadfreebsd-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/Makefile8
-rw-r--r--print/lyx/files/patch-boost-134100
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);