aboutsummaryrefslogtreecommitdiff
path: root/print
diff options
context:
space:
mode:
authorThierry Thomas <thierry@FreeBSD.org>2004-08-07 22:32:25 +0000
committerThierry Thomas <thierry@FreeBSD.org>2004-08-07 22:32:25 +0000
commit52c651db2731126712d03bacac6716c854c1a24f (patch)
treecf445e13508befa8dca78c552b41b39f84dbd15d /print
parent9c03a3f6424e93fa7d9e3fad56aeed77a0ef3262 (diff)
downloadports-52c651db2731126712d03bacac6716c854c1a24f.tar.gz
ports-52c651db2731126712d03bacac6716c854c1a24f.zip
Notes
Diffstat (limited to 'print')
-rw-r--r--print/lyx-devel/Makefile2
-rw-r--r--print/lyx-devel/files/patch-boost::boost::config::compiler::gcc.hpp97
-rw-r--r--print/lyx-devel/files/patch-boost::boost::format::feed_args.hpp13
-rw-r--r--print/lyx-devel/files/patch-boost::boost::format::format_implementation.hpp13
-rw-r--r--print/lyx-devel/files/patch-src::BoostFormat.h13
-rw-r--r--print/lyx-devel/files/patch-src::frontends::controllers::ControlDialog.tmpl85
-rw-r--r--print/lyx-devel/files/patch-src::frontends::qt2::Qt2Base.h21
-rw-r--r--print/lyx-devel/files/patch-src::frontends::xforms::FormBase.h21
-rw-r--r--print/lyx/Makefile2
-rw-r--r--print/lyx/files/patch-boost::boost::config::compiler::gcc.hpp97
-rw-r--r--print/lyx/files/patch-boost::boost::format::feed_args.hpp13
-rw-r--r--print/lyx/files/patch-boost::boost::format::format_implementation.hpp13
-rw-r--r--print/lyx/files/patch-src::BoostFormat.h13
-rw-r--r--print/lyx/files/patch-src::frontends::controllers::ControlDialog.tmpl85
-rw-r--r--print/lyx/files/patch-src::frontends::qt2::Qt2Base.h21
-rw-r--r--print/lyx/files/patch-src::frontends::xforms::FormBase.h21
-rw-r--r--print/lyx14/Makefile2
-rw-r--r--print/lyx14/files/patch-boost::boost::config::compiler::gcc.hpp97
-rw-r--r--print/lyx14/files/patch-boost::boost::format::feed_args.hpp13
-rw-r--r--print/lyx14/files/patch-boost::boost::format::format_implementation.hpp13
-rw-r--r--print/lyx14/files/patch-src::BoostFormat.h13
-rw-r--r--print/lyx14/files/patch-src::frontends::controllers::ControlDialog.tmpl85
-rw-r--r--print/lyx14/files/patch-src::frontends::qt2::Qt2Base.h21
-rw-r--r--print/lyx14/files/patch-src::frontends::xforms::FormBase.h21
-rw-r--r--print/lyx15/Makefile2
-rw-r--r--print/lyx15/files/patch-boost::boost::config::compiler::gcc.hpp97
-rw-r--r--print/lyx15/files/patch-boost::boost::format::feed_args.hpp13
-rw-r--r--print/lyx15/files/patch-boost::boost::format::format_implementation.hpp13
-rw-r--r--print/lyx15/files/patch-src::BoostFormat.h13
-rw-r--r--print/lyx15/files/patch-src::frontends::controllers::ControlDialog.tmpl85
-rw-r--r--print/lyx15/files/patch-src::frontends::qt2::Qt2Base.h21
-rw-r--r--print/lyx15/files/patch-src::frontends::xforms::FormBase.h21
-rw-r--r--print/lyx16/Makefile2
-rw-r--r--print/lyx16/files/patch-boost::boost::config::compiler::gcc.hpp97
-rw-r--r--print/lyx16/files/patch-boost::boost::format::feed_args.hpp13
-rw-r--r--print/lyx16/files/patch-boost::boost::format::format_implementation.hpp13
-rw-r--r--print/lyx16/files/patch-src::BoostFormat.h13
-rw-r--r--print/lyx16/files/patch-src::frontends::controllers::ControlDialog.tmpl85
-rw-r--r--print/lyx16/files/patch-src::frontends::qt2::Qt2Base.h21
-rw-r--r--print/lyx16/files/patch-src::frontends::xforms::FormBase.h21
40 files changed, 1320 insertions, 5 deletions
diff --git a/print/lyx-devel/Makefile b/print/lyx-devel/Makefile
index 8950dd7a0574..e444edebbe20 100644
--- a/print/lyx-devel/Makefile
+++ b/print/lyx-devel/Makefile
@@ -13,7 +13,7 @@ MASTER_SITES= ftp://ftp.lyx.org/pub/lyx/stable/ \
http://www-ftp.lip6.fr/ftp/pub/lyx/stable/ \
ftp://gd.tuwien.ac.at/publishing/tex/lyx/stable/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= andy@fud.org.nz
COMMENT= Document processor interfaced with LaTeX (nearly WYSIWYG)
BUILD_DEPENDS= gm4:${PORTSDIR}/devel/m4 \
diff --git a/print/lyx-devel/files/patch-boost::boost::config::compiler::gcc.hpp b/print/lyx-devel/files/patch-boost::boost::config::compiler::gcc.hpp
new file mode 100644
index 000000000000..7c4814ea9941
--- /dev/null
+++ b/print/lyx-devel/files/patch-boost::boost::config::compiler::gcc.hpp
@@ -0,0 +1,97 @@
+$NetBSD$
+
+--- ./boost/boost/config/compiler/gcc.hpp.orig 2003-05-26 08:27:34.000000000 -0600
++++ ./boost/boost/config/compiler/gcc.hpp
+@@ -1,7 +1,13 @@
+-// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
+-// distribute this software is granted provided this copyright notice appears
+-// in all copies. This software is provided "as is" without express or implied
+-// warranty, and with no claim as to its suitability for any purpose.
++// (C) Copyright John Maddock 2001 - 2003.
++// (C) Copyright Darin Adler 2001 - 2002.
++// (C) Copyright Jens Maurer 2001 - 2002.
++// (C) Copyright Beman Dawes 2001 - 2003.
++// (C) Copyright Douglas Gregor 2002.
++// (C) Copyright David Abrahams 2002 - 2003.
++// (C) Copyright Synge Todo 2003.
++// Use, modification and distribution are subject to the
++// Boost Software License, Version 1.0. (See accompanying file
++// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ // See http://www.boost.org for most recent version.
+
+@@ -23,24 +29,53 @@
+ # endif
+ # endif
+
++# if __GNUC__ == 2 && __GNUC_MINOR__ < 96
++# define BOOST_NO_SFINAE
++# endif
++
+ # if __GNUC__ == 2 && __GNUC_MINOR__ <= 97
+ # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+ # define BOOST_NO_OPERATORS_IN_NAMESPACE
+ # endif
+
++# if __GNUC__ < 3
++# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
++# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
++# endif
++
++#
++#
++#
++
++//
++// Bug specific to gcc 3.1 and 3.2:
++//
++#if (__GNUC__ == 3) && ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2))
++# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
++#endif
++
+ //
+-// Threading support:
+-// Turn this on unconditionally here, it will get turned off again later
+-// if no threading API is detected.
++// Threading support: Turn this on unconditionally here (except for
++// those platforms where we can know for sure). It will get turned off again
++// later if no threading API is detected.
+ //
+-#define BOOST_HAS_THREADS
++#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
++# define BOOST_HAS_THREADS
++#endif
+
+ //
+ // gcc has "long long"
+ //
+ #define BOOST_HAS_LONG_LONG
+
+-#define BOOST_COMPILER "GNU C++ version " BOOST_STRINGIZE(__GNUC__) "." BOOST_STRINGIZE(__GNUC_MINOR__)
++//
++// gcc implements the named return value optimization since version 3.1
++//
++#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
++#define BOOST_HAS_NRVO
++#endif
++
++#define BOOST_COMPILER "GNU C++ version " __VERSION__
+
+ //
+ // versions check:
+@@ -49,11 +84,13 @@
+ # error "Compiler not configured - please reconfigure"
+ #endif
+ //
+-// last known and checked version is 3.2:
+-#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 3))
++// last known and checked version is 3.4:
++#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 4))
+ # if defined(BOOST_ASSERT_CONFIG)
+ # error "Unknown compiler version - please run the configure tests and report the results"
+ # else
+ # warning "Unknown compiler version - please run the configure tests and report the results"
+ # endif
+ #endif
++
++
diff --git a/print/lyx-devel/files/patch-boost::boost::format::feed_args.hpp b/print/lyx-devel/files/patch-boost::boost::format::feed_args.hpp
new file mode 100644
index 000000000000..63e5aa397e06
--- /dev/null
+++ b/print/lyx-devel/files/patch-boost::boost::format::feed_args.hpp
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ./boost/boost/format/feed_args.hpp.orig 2002-11-20 10:20:54.000000000 -0700
++++ ./boost/boost/format/feed_args.hpp
+@@ -34,7 +34,7 @@ namespace {
+
+ template<class Tr, class Ch> inline
+ void empty_buf(BOOST_IO_STD basic_ostringstream<Ch,Tr> & os) {
+- static const std::basic_string<Ch, Tr> emptyStr; // avoids 2 cases ( "" and L"" )
++ const std::basic_string<Ch, Tr> emptyStr; // avoids 2 cases ( "" and L"" )
+ os.str(emptyStr);
+ }
+
diff --git a/print/lyx-devel/files/patch-boost::boost::format::format_implementation.hpp b/print/lyx-devel/files/patch-boost::boost::format::format_implementation.hpp
new file mode 100644
index 000000000000..4c13f145afa1
--- /dev/null
+++ b/print/lyx-devel/files/patch-boost::boost::format::format_implementation.hpp
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ./boost/boost/format/format_implementation.hpp.orig 2002-11-21 11:33:01.000000000 -0700
++++ ./boost/boost/format/format_implementation.hpp
+@@ -151,7 +151,7 @@ basic_format<Ch,Tr>& basic_format<Ch,Tr>
+ {
+ if(argN<1 || argN > num_args_ || bound_.size()==0 || !bound_[argN-1] )
+ {
+- if( exceptions() & out_of_range_bit )
++ if( exceptions() & io::out_of_range_bit )
+ boost::throw_exception(io::out_of_range()); // arg not in range.
+ else return *this;
+ }
diff --git a/print/lyx-devel/files/patch-src::BoostFormat.h b/print/lyx-devel/files/patch-src::BoostFormat.h
new file mode 100644
index 000000000000..5926d34fad7f
--- /dev/null
+++ b/print/lyx-devel/files/patch-src::BoostFormat.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ./src/BoostFormat.h.orig 2002-11-25 12:44:44.000000000 -0700
++++ ./src/BoostFormat.h
+@@ -15,7 +15,7 @@ namespace boost
+ {
+
+ extern
+-template basic_format<char>;
++template class basic_format<char>;
+
+ extern template
+ std::ostream &
diff --git a/print/lyx-devel/files/patch-src::frontends::controllers::ControlDialog.tmpl b/print/lyx-devel/files/patch-src::frontends::controllers::ControlDialog.tmpl
new file mode 100644
index 000000000000..e805b47a3519
--- /dev/null
+++ b/print/lyx-devel/files/patch-src::frontends::controllers::ControlDialog.tmpl
@@ -0,0 +1,85 @@
+$NetBSD$
+
+--- src/frontends/controllers/ControlDialog.tmpl.orig 2004-05-29 04:23:23.000000000 -0600
++++ src/frontends/controllers/ControlDialog.tmpl
+@@ -4,7 +4,7 @@
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+- * \author Angus Leeming
++ * \author Angus Leeming
+ *
+ * Full author contact details are available in file CREDITS
+ *
+@@ -27,54 +27,56 @@ ControlDialog<Base>::ControlDialog(LyXVi
+ template <class Base>
+ void ControlDialog<Base>::show()
+ {
+- if (isBufferDependent() && !bufferIsAvailable())
++ if (this->isBufferDependent() && !this->bufferIsAvailable())
+ return;
+
+- connect();
++ this->connect();
+
+ if (!dialog_built_) {
+- view().build();
++ this->view().build();
+ dialog_built_ = true;
+ }
+
+ setParams();
+- if (emergency_exit_) {
++ if (this->emergency_exit_) {
+ hide();
+ return;
+ }
+
+- bc().readOnly(bufferIsReadonly());
+- view().show();
++ this->bc().readOnly(this->bufferIsReadonly());
++ this->view().show();
+
+ // The widgets may not be valid, so refresh the button controller
+- bc().refresh();
++ this->bc().refresh();
+ }
+
++
+ template <class Base>
+ void ControlDialog<Base>::update()
+ {
+- if (isBufferDependent() && !bufferIsAvailable())
++ if (this->isBufferDependent() && !this->bufferIsAvailable())
+ return;
+
+ setParams();
+- if (emergency_exit_) {
++ if (this->emergency_exit_) {
+ hide();
+ return;
+ }
+
+- bc().readOnly(bufferIsReadonly());
+- view().update();
++ this->bc().readOnly(this->bufferIsReadonly());
++ this->view().update();
+
+ // The widgets may not be valid, so refresh the button controller
+- bc().refresh();
++ this->bc().refresh();
+ }
+
++
+ template <class Base>
+ void ControlDialog<Base>::hide()
+ {
+- emergency_exit_ = false;
++ this->emergency_exit_ = false;
+ clearParams();
+
+- disconnect();
+- view().hide();
++ this->disconnect();
++ this->view().hide();
+ }
diff --git a/print/lyx-devel/files/patch-src::frontends::qt2::Qt2Base.h b/print/lyx-devel/files/patch-src::frontends::qt2::Qt2Base.h
new file mode 100644
index 000000000000..d8bdd5d2893a
--- /dev/null
+++ b/print/lyx-devel/files/patch-src::frontends::qt2::Qt2Base.h
@@ -0,0 +1,21 @@
+$NetBSD$
+
+--- ./src/frontends/qt2/Qt2Base.h.orig 2003-02-01 17:48:38.000000000 -0700
++++ ./src/frontends/qt2/Qt2Base.h
+@@ -174,14 +174,14 @@ Qt2CB<Controller, Base>::Qt2CB(QString c
+ template <class Controller, class Base>
+ Controller & Qt2CB<Controller, Base>::controller()
+ {
+- return static_cast<Controller &>(getController());
++ return static_cast<Controller &>(this->getController());
+ }
+
+
+ template <class Controller, class Base>
+ Controller const & Qt2CB<Controller, Base>::controller() const
+ {
+- return static_cast<Controller const &>(getController());
++ return static_cast<Controller const &>(this->getController());
+ }
+
+
diff --git a/print/lyx-devel/files/patch-src::frontends::xforms::FormBase.h b/print/lyx-devel/files/patch-src::frontends::xforms::FormBase.h
new file mode 100644
index 000000000000..ac64841f6101
--- /dev/null
+++ b/print/lyx-devel/files/patch-src::frontends::xforms::FormBase.h
@@ -0,0 +1,21 @@
+$NetBSD$
+
+--- src/frontends/xforms/FormBase.h.orig 2003-02-01 17:48:38.000000000 -0700
++++ src/frontends/xforms/FormBase.h
+@@ -188,14 +188,14 @@ FormCB<Controller, Base>::FormCB(string
+ template <class Controller, class Base>
+ Controller & FormCB<Controller, Base>::controller()
+ {
+- return static_cast<Controller &>(getController());
++ return static_cast<Controller &>(this->getController());
+ }
+
+
+ template <class Controller, class Base>
+ Controller const & FormCB<Controller, Base>::controller() const
+ {
+- return static_cast<Controller const &>(getController());
++ return static_cast<Controller const &>(this->getController());
+ }
+
+
diff --git a/print/lyx/Makefile b/print/lyx/Makefile
index 8950dd7a0574..e444edebbe20 100644
--- a/print/lyx/Makefile
+++ b/print/lyx/Makefile
@@ -13,7 +13,7 @@ MASTER_SITES= ftp://ftp.lyx.org/pub/lyx/stable/ \
http://www-ftp.lip6.fr/ftp/pub/lyx/stable/ \
ftp://gd.tuwien.ac.at/publishing/tex/lyx/stable/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= andy@fud.org.nz
COMMENT= Document processor interfaced with LaTeX (nearly WYSIWYG)
BUILD_DEPENDS= gm4:${PORTSDIR}/devel/m4 \
diff --git a/print/lyx/files/patch-boost::boost::config::compiler::gcc.hpp b/print/lyx/files/patch-boost::boost::config::compiler::gcc.hpp
new file mode 100644
index 000000000000..7c4814ea9941
--- /dev/null
+++ b/print/lyx/files/patch-boost::boost::config::compiler::gcc.hpp
@@ -0,0 +1,97 @@
+$NetBSD$
+
+--- ./boost/boost/config/compiler/gcc.hpp.orig 2003-05-26 08:27:34.000000000 -0600
++++ ./boost/boost/config/compiler/gcc.hpp
+@@ -1,7 +1,13 @@
+-// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
+-// distribute this software is granted provided this copyright notice appears
+-// in all copies. This software is provided "as is" without express or implied
+-// warranty, and with no claim as to its suitability for any purpose.
++// (C) Copyright John Maddock 2001 - 2003.
++// (C) Copyright Darin Adler 2001 - 2002.
++// (C) Copyright Jens Maurer 2001 - 2002.
++// (C) Copyright Beman Dawes 2001 - 2003.
++// (C) Copyright Douglas Gregor 2002.
++// (C) Copyright David Abrahams 2002 - 2003.
++// (C) Copyright Synge Todo 2003.
++// Use, modification and distribution are subject to the
++// Boost Software License, Version 1.0. (See accompanying file
++// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ // See http://www.boost.org for most recent version.
+
+@@ -23,24 +29,53 @@
+ # endif
+ # endif
+
++# if __GNUC__ == 2 && __GNUC_MINOR__ < 96
++# define BOOST_NO_SFINAE
++# endif
++
+ # if __GNUC__ == 2 && __GNUC_MINOR__ <= 97
+ # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+ # define BOOST_NO_OPERATORS_IN_NAMESPACE
+ # endif
+
++# if __GNUC__ < 3
++# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
++# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
++# endif
++
++#
++#
++#
++
++//
++// Bug specific to gcc 3.1 and 3.2:
++//
++#if (__GNUC__ == 3) && ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2))
++# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
++#endif
++
+ //
+-// Threading support:
+-// Turn this on unconditionally here, it will get turned off again later
+-// if no threading API is detected.
++// Threading support: Turn this on unconditionally here (except for
++// those platforms where we can know for sure). It will get turned off again
++// later if no threading API is detected.
+ //
+-#define BOOST_HAS_THREADS
++#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
++# define BOOST_HAS_THREADS
++#endif
+
+ //
+ // gcc has "long long"
+ //
+ #define BOOST_HAS_LONG_LONG
+
+-#define BOOST_COMPILER "GNU C++ version " BOOST_STRINGIZE(__GNUC__) "." BOOST_STRINGIZE(__GNUC_MINOR__)
++//
++// gcc implements the named return value optimization since version 3.1
++//
++#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
++#define BOOST_HAS_NRVO
++#endif
++
++#define BOOST_COMPILER "GNU C++ version " __VERSION__
+
+ //
+ // versions check:
+@@ -49,11 +84,13 @@
+ # error "Compiler not configured - please reconfigure"
+ #endif
+ //
+-// last known and checked version is 3.2:
+-#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 3))
++// last known and checked version is 3.4:
++#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 4))
+ # if defined(BOOST_ASSERT_CONFIG)
+ # error "Unknown compiler version - please run the configure tests and report the results"
+ # else
+ # warning "Unknown compiler version - please run the configure tests and report the results"
+ # endif
+ #endif
++
++
diff --git a/print/lyx/files/patch-boost::boost::format::feed_args.hpp b/print/lyx/files/patch-boost::boost::format::feed_args.hpp
new file mode 100644
index 000000000000..63e5aa397e06
--- /dev/null
+++ b/print/lyx/files/patch-boost::boost::format::feed_args.hpp
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ./boost/boost/format/feed_args.hpp.orig 2002-11-20 10:20:54.000000000 -0700
++++ ./boost/boost/format/feed_args.hpp
+@@ -34,7 +34,7 @@ namespace {
+
+ template<class Tr, class Ch> inline
+ void empty_buf(BOOST_IO_STD basic_ostringstream<Ch,Tr> & os) {
+- static const std::basic_string<Ch, Tr> emptyStr; // avoids 2 cases ( "" and L"" )
++ const std::basic_string<Ch, Tr> emptyStr; // avoids 2 cases ( "" and L"" )
+ os.str(emptyStr);
+ }
+
diff --git a/print/lyx/files/patch-boost::boost::format::format_implementation.hpp b/print/lyx/files/patch-boost::boost::format::format_implementation.hpp
new file mode 100644
index 000000000000..4c13f145afa1
--- /dev/null
+++ b/print/lyx/files/patch-boost::boost::format::format_implementation.hpp
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ./boost/boost/format/format_implementation.hpp.orig 2002-11-21 11:33:01.000000000 -0700
++++ ./boost/boost/format/format_implementation.hpp
+@@ -151,7 +151,7 @@ basic_format<Ch,Tr>& basic_format<Ch,Tr>
+ {
+ if(argN<1 || argN > num_args_ || bound_.size()==0 || !bound_[argN-1] )
+ {
+- if( exceptions() & out_of_range_bit )
++ if( exceptions() & io::out_of_range_bit )
+ boost::throw_exception(io::out_of_range()); // arg not in range.
+ else return *this;
+ }
diff --git a/print/lyx/files/patch-src::BoostFormat.h b/print/lyx/files/patch-src::BoostFormat.h
new file mode 100644
index 000000000000..5926d34fad7f
--- /dev/null
+++ b/print/lyx/files/patch-src::BoostFormat.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ./src/BoostFormat.h.orig 2002-11-25 12:44:44.000000000 -0700
++++ ./src/BoostFormat.h
+@@ -15,7 +15,7 @@ namespace boost
+ {
+
+ extern
+-template basic_format<char>;
++template class basic_format<char>;
+
+ extern template
+ std::ostream &
diff --git a/print/lyx/files/patch-src::frontends::controllers::ControlDialog.tmpl b/print/lyx/files/patch-src::frontends::controllers::ControlDialog.tmpl
new file mode 100644
index 000000000000..e805b47a3519
--- /dev/null
+++ b/print/lyx/files/patch-src::frontends::controllers::ControlDialog.tmpl
@@ -0,0 +1,85 @@
+$NetBSD$
+
+--- src/frontends/controllers/ControlDialog.tmpl.orig 2004-05-29 04:23:23.000000000 -0600
++++ src/frontends/controllers/ControlDialog.tmpl
+@@ -4,7 +4,7 @@
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+- * \author Angus Leeming
++ * \author Angus Leeming
+ *
+ * Full author contact details are available in file CREDITS
+ *
+@@ -27,54 +27,56 @@ ControlDialog<Base>::ControlDialog(LyXVi
+ template <class Base>
+ void ControlDialog<Base>::show()
+ {
+- if (isBufferDependent() && !bufferIsAvailable())
++ if (this->isBufferDependent() && !this->bufferIsAvailable())
+ return;
+
+- connect();
++ this->connect();
+
+ if (!dialog_built_) {
+- view().build();
++ this->view().build();
+ dialog_built_ = true;
+ }
+
+ setParams();
+- if (emergency_exit_) {
++ if (this->emergency_exit_) {
+ hide();
+ return;
+ }
+
+- bc().readOnly(bufferIsReadonly());
+- view().show();
++ this->bc().readOnly(this->bufferIsReadonly());
++ this->view().show();
+
+ // The widgets may not be valid, so refresh the button controller
+- bc().refresh();
++ this->bc().refresh();
+ }
+
++
+ template <class Base>
+ void ControlDialog<Base>::update()
+ {
+- if (isBufferDependent() && !bufferIsAvailable())
++ if (this->isBufferDependent() && !this->bufferIsAvailable())
+ return;
+
+ setParams();
+- if (emergency_exit_) {
++ if (this->emergency_exit_) {
+ hide();
+ return;
+ }
+
+- bc().readOnly(bufferIsReadonly());
+- view().update();
++ this->bc().readOnly(this->bufferIsReadonly());
++ this->view().update();
+
+ // The widgets may not be valid, so refresh the button controller
+- bc().refresh();
++ this->bc().refresh();
+ }
+
++
+ template <class Base>
+ void ControlDialog<Base>::hide()
+ {
+- emergency_exit_ = false;
++ this->emergency_exit_ = false;
+ clearParams();
+
+- disconnect();
+- view().hide();
++ this->disconnect();
++ this->view().hide();
+ }
diff --git a/print/lyx/files/patch-src::frontends::qt2::Qt2Base.h b/print/lyx/files/patch-src::frontends::qt2::Qt2Base.h
new file mode 100644
index 000000000000..d8bdd5d2893a
--- /dev/null
+++ b/print/lyx/files/patch-src::frontends::qt2::Qt2Base.h
@@ -0,0 +1,21 @@
+$NetBSD$
+
+--- ./src/frontends/qt2/Qt2Base.h.orig 2003-02-01 17:48:38.000000000 -0700
++++ ./src/frontends/qt2/Qt2Base.h
+@@ -174,14 +174,14 @@ Qt2CB<Controller, Base>::Qt2CB(QString c
+ template <class Controller, class Base>
+ Controller & Qt2CB<Controller, Base>::controller()
+ {
+- return static_cast<Controller &>(getController());
++ return static_cast<Controller &>(this->getController());
+ }
+
+
+ template <class Controller, class Base>
+ Controller const & Qt2CB<Controller, Base>::controller() const
+ {
+- return static_cast<Controller const &>(getController());
++ return static_cast<Controller const &>(this->getController());
+ }
+
+
diff --git a/print/lyx/files/patch-src::frontends::xforms::FormBase.h b/print/lyx/files/patch-src::frontends::xforms::FormBase.h
new file mode 100644
index 000000000000..ac64841f6101
--- /dev/null
+++ b/print/lyx/files/patch-src::frontends::xforms::FormBase.h
@@ -0,0 +1,21 @@
+$NetBSD$
+
+--- src/frontends/xforms/FormBase.h.orig 2003-02-01 17:48:38.000000000 -0700
++++ src/frontends/xforms/FormBase.h
+@@ -188,14 +188,14 @@ FormCB<Controller, Base>::FormCB(string
+ template <class Controller, class Base>
+ Controller & FormCB<Controller, Base>::controller()
+ {
+- return static_cast<Controller &>(getController());
++ return static_cast<Controller &>(this->getController());
+ }
+
+
+ template <class Controller, class Base>
+ Controller const & FormCB<Controller, Base>::controller() const
+ {
+- return static_cast<Controller const &>(getController());
++ return static_cast<Controller const &>(this->getController());
+ }
+
+
diff --git a/print/lyx14/Makefile b/print/lyx14/Makefile
index 8950dd7a0574..e444edebbe20 100644
--- a/print/lyx14/Makefile
+++ b/print/lyx14/Makefile
@@ -13,7 +13,7 @@ MASTER_SITES= ftp://ftp.lyx.org/pub/lyx/stable/ \
http://www-ftp.lip6.fr/ftp/pub/lyx/stable/ \
ftp://gd.tuwien.ac.at/publishing/tex/lyx/stable/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= andy@fud.org.nz
COMMENT= Document processor interfaced with LaTeX (nearly WYSIWYG)
BUILD_DEPENDS= gm4:${PORTSDIR}/devel/m4 \
diff --git a/print/lyx14/files/patch-boost::boost::config::compiler::gcc.hpp b/print/lyx14/files/patch-boost::boost::config::compiler::gcc.hpp
new file mode 100644
index 000000000000..7c4814ea9941
--- /dev/null
+++ b/print/lyx14/files/patch-boost::boost::config::compiler::gcc.hpp
@@ -0,0 +1,97 @@
+$NetBSD$
+
+--- ./boost/boost/config/compiler/gcc.hpp.orig 2003-05-26 08:27:34.000000000 -0600
++++ ./boost/boost/config/compiler/gcc.hpp
+@@ -1,7 +1,13 @@
+-// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
+-// distribute this software is granted provided this copyright notice appears
+-// in all copies. This software is provided "as is" without express or implied
+-// warranty, and with no claim as to its suitability for any purpose.
++// (C) Copyright John Maddock 2001 - 2003.
++// (C) Copyright Darin Adler 2001 - 2002.
++// (C) Copyright Jens Maurer 2001 - 2002.
++// (C) Copyright Beman Dawes 2001 - 2003.
++// (C) Copyright Douglas Gregor 2002.
++// (C) Copyright David Abrahams 2002 - 2003.
++// (C) Copyright Synge Todo 2003.
++// Use, modification and distribution are subject to the
++// Boost Software License, Version 1.0. (See accompanying file
++// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ // See http://www.boost.org for most recent version.
+
+@@ -23,24 +29,53 @@
+ # endif
+ # endif
+
++# if __GNUC__ == 2 && __GNUC_MINOR__ < 96
++# define BOOST_NO_SFINAE
++# endif
++
+ # if __GNUC__ == 2 && __GNUC_MINOR__ <= 97
+ # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+ # define BOOST_NO_OPERATORS_IN_NAMESPACE
+ # endif
+
++# if __GNUC__ < 3
++# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
++# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
++# endif
++
++#
++#
++#
++
++//
++// Bug specific to gcc 3.1 and 3.2:
++//
++#if (__GNUC__ == 3) && ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2))
++# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
++#endif
++
+ //
+-// Threading support:
+-// Turn this on unconditionally here, it will get turned off again later
+-// if no threading API is detected.
++// Threading support: Turn this on unconditionally here (except for
++// those platforms where we can know for sure). It will get turned off again
++// later if no threading API is detected.
+ //
+-#define BOOST_HAS_THREADS
++#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
++# define BOOST_HAS_THREADS
++#endif
+
+ //
+ // gcc has "long long"
+ //
+ #define BOOST_HAS_LONG_LONG
+
+-#define BOOST_COMPILER "GNU C++ version " BOOST_STRINGIZE(__GNUC__) "." BOOST_STRINGIZE(__GNUC_MINOR__)
++//
++// gcc implements the named return value optimization since version 3.1
++//
++#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
++#define BOOST_HAS_NRVO
++#endif
++
++#define BOOST_COMPILER "GNU C++ version " __VERSION__
+
+ //
+ // versions check:
+@@ -49,11 +84,13 @@
+ # error "Compiler not configured - please reconfigure"
+ #endif
+ //
+-// last known and checked version is 3.2:
+-#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 3))
++// last known and checked version is 3.4:
++#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 4))
+ # if defined(BOOST_ASSERT_CONFIG)
+ # error "Unknown compiler version - please run the configure tests and report the results"
+ # else
+ # warning "Unknown compiler version - please run the configure tests and report the results"
+ # endif
+ #endif
++
++
diff --git a/print/lyx14/files/patch-boost::boost::format::feed_args.hpp b/print/lyx14/files/patch-boost::boost::format::feed_args.hpp
new file mode 100644
index 000000000000..63e5aa397e06
--- /dev/null
+++ b/print/lyx14/files/patch-boost::boost::format::feed_args.hpp
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ./boost/boost/format/feed_args.hpp.orig 2002-11-20 10:20:54.000000000 -0700
++++ ./boost/boost/format/feed_args.hpp
+@@ -34,7 +34,7 @@ namespace {
+
+ template<class Tr, class Ch> inline
+ void empty_buf(BOOST_IO_STD basic_ostringstream<Ch,Tr> & os) {
+- static const std::basic_string<Ch, Tr> emptyStr; // avoids 2 cases ( "" and L"" )
++ const std::basic_string<Ch, Tr> emptyStr; // avoids 2 cases ( "" and L"" )
+ os.str(emptyStr);
+ }
+
diff --git a/print/lyx14/files/patch-boost::boost::format::format_implementation.hpp b/print/lyx14/files/patch-boost::boost::format::format_implementation.hpp
new file mode 100644
index 000000000000..4c13f145afa1
--- /dev/null
+++ b/print/lyx14/files/patch-boost::boost::format::format_implementation.hpp
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ./boost/boost/format/format_implementation.hpp.orig 2002-11-21 11:33:01.000000000 -0700
++++ ./boost/boost/format/format_implementation.hpp
+@@ -151,7 +151,7 @@ basic_format<Ch,Tr>& basic_format<Ch,Tr>
+ {
+ if(argN<1 || argN > num_args_ || bound_.size()==0 || !bound_[argN-1] )
+ {
+- if( exceptions() & out_of_range_bit )
++ if( exceptions() & io::out_of_range_bit )
+ boost::throw_exception(io::out_of_range()); // arg not in range.
+ else return *this;
+ }
diff --git a/print/lyx14/files/patch-src::BoostFormat.h b/print/lyx14/files/patch-src::BoostFormat.h
new file mode 100644
index 000000000000..5926d34fad7f
--- /dev/null
+++ b/print/lyx14/files/patch-src::BoostFormat.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ./src/BoostFormat.h.orig 2002-11-25 12:44:44.000000000 -0700
++++ ./src/BoostFormat.h
+@@ -15,7 +15,7 @@ namespace boost
+ {
+
+ extern
+-template basic_format<char>;
++template class basic_format<char>;
+
+ extern template
+ std::ostream &
diff --git a/print/lyx14/files/patch-src::frontends::controllers::ControlDialog.tmpl b/print/lyx14/files/patch-src::frontends::controllers::ControlDialog.tmpl
new file mode 100644
index 000000000000..e805b47a3519
--- /dev/null
+++ b/print/lyx14/files/patch-src::frontends::controllers::ControlDialog.tmpl
@@ -0,0 +1,85 @@
+$NetBSD$
+
+--- src/frontends/controllers/ControlDialog.tmpl.orig 2004-05-29 04:23:23.000000000 -0600
++++ src/frontends/controllers/ControlDialog.tmpl
+@@ -4,7 +4,7 @@
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+- * \author Angus Leeming
++ * \author Angus Leeming
+ *
+ * Full author contact details are available in file CREDITS
+ *
+@@ -27,54 +27,56 @@ ControlDialog<Base>::ControlDialog(LyXVi
+ template <class Base>
+ void ControlDialog<Base>::show()
+ {
+- if (isBufferDependent() && !bufferIsAvailable())
++ if (this->isBufferDependent() && !this->bufferIsAvailable())
+ return;
+
+- connect();
++ this->connect();
+
+ if (!dialog_built_) {
+- view().build();
++ this->view().build();
+ dialog_built_ = true;
+ }
+
+ setParams();
+- if (emergency_exit_) {
++ if (this->emergency_exit_) {
+ hide();
+ return;
+ }
+
+- bc().readOnly(bufferIsReadonly());
+- view().show();
++ this->bc().readOnly(this->bufferIsReadonly());
++ this->view().show();
+
+ // The widgets may not be valid, so refresh the button controller
+- bc().refresh();
++ this->bc().refresh();
+ }
+
++
+ template <class Base>
+ void ControlDialog<Base>::update()
+ {
+- if (isBufferDependent() && !bufferIsAvailable())
++ if (this->isBufferDependent() && !this->bufferIsAvailable())
+ return;
+
+ setParams();
+- if (emergency_exit_) {
++ if (this->emergency_exit_) {
+ hide();
+ return;
+ }
+
+- bc().readOnly(bufferIsReadonly());
+- view().update();
++ this->bc().readOnly(this->bufferIsReadonly());
++ this->view().update();
+
+ // The widgets may not be valid, so refresh the button controller
+- bc().refresh();
++ this->bc().refresh();
+ }
+
++
+ template <class Base>
+ void ControlDialog<Base>::hide()
+ {
+- emergency_exit_ = false;
++ this->emergency_exit_ = false;
+ clearParams();
+
+- disconnect();
+- view().hide();
++ this->disconnect();
++ this->view().hide();
+ }
diff --git a/print/lyx14/files/patch-src::frontends::qt2::Qt2Base.h b/print/lyx14/files/patch-src::frontends::qt2::Qt2Base.h
new file mode 100644
index 000000000000..d8bdd5d2893a
--- /dev/null
+++ b/print/lyx14/files/patch-src::frontends::qt2::Qt2Base.h
@@ -0,0 +1,21 @@
+$NetBSD$
+
+--- ./src/frontends/qt2/Qt2Base.h.orig 2003-02-01 17:48:38.000000000 -0700
++++ ./src/frontends/qt2/Qt2Base.h
+@@ -174,14 +174,14 @@ Qt2CB<Controller, Base>::Qt2CB(QString c
+ template <class Controller, class Base>
+ Controller & Qt2CB<Controller, Base>::controller()
+ {
+- return static_cast<Controller &>(getController());
++ return static_cast<Controller &>(this->getController());
+ }
+
+
+ template <class Controller, class Base>
+ Controller const & Qt2CB<Controller, Base>::controller() const
+ {
+- return static_cast<Controller const &>(getController());
++ return static_cast<Controller const &>(this->getController());
+ }
+
+
diff --git a/print/lyx14/files/patch-src::frontends::xforms::FormBase.h b/print/lyx14/files/patch-src::frontends::xforms::FormBase.h
new file mode 100644
index 000000000000..ac64841f6101
--- /dev/null
+++ b/print/lyx14/files/patch-src::frontends::xforms::FormBase.h
@@ -0,0 +1,21 @@
+$NetBSD$
+
+--- src/frontends/xforms/FormBase.h.orig 2003-02-01 17:48:38.000000000 -0700
++++ src/frontends/xforms/FormBase.h
+@@ -188,14 +188,14 @@ FormCB<Controller, Base>::FormCB(string
+ template <class Controller, class Base>
+ Controller & FormCB<Controller, Base>::controller()
+ {
+- return static_cast<Controller &>(getController());
++ return static_cast<Controller &>(this->getController());
+ }
+
+
+ template <class Controller, class Base>
+ Controller const & FormCB<Controller, Base>::controller() const
+ {
+- return static_cast<Controller const &>(getController());
++ return static_cast<Controller const &>(this->getController());
+ }
+
+
diff --git a/print/lyx15/Makefile b/print/lyx15/Makefile
index 8950dd7a0574..e444edebbe20 100644
--- a/print/lyx15/Makefile
+++ b/print/lyx15/Makefile
@@ -13,7 +13,7 @@ MASTER_SITES= ftp://ftp.lyx.org/pub/lyx/stable/ \
http://www-ftp.lip6.fr/ftp/pub/lyx/stable/ \
ftp://gd.tuwien.ac.at/publishing/tex/lyx/stable/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= andy@fud.org.nz
COMMENT= Document processor interfaced with LaTeX (nearly WYSIWYG)
BUILD_DEPENDS= gm4:${PORTSDIR}/devel/m4 \
diff --git a/print/lyx15/files/patch-boost::boost::config::compiler::gcc.hpp b/print/lyx15/files/patch-boost::boost::config::compiler::gcc.hpp
new file mode 100644
index 000000000000..7c4814ea9941
--- /dev/null
+++ b/print/lyx15/files/patch-boost::boost::config::compiler::gcc.hpp
@@ -0,0 +1,97 @@
+$NetBSD$
+
+--- ./boost/boost/config/compiler/gcc.hpp.orig 2003-05-26 08:27:34.000000000 -0600
++++ ./boost/boost/config/compiler/gcc.hpp
+@@ -1,7 +1,13 @@
+-// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
+-// distribute this software is granted provided this copyright notice appears
+-// in all copies. This software is provided "as is" without express or implied
+-// warranty, and with no claim as to its suitability for any purpose.
++// (C) Copyright John Maddock 2001 - 2003.
++// (C) Copyright Darin Adler 2001 - 2002.
++// (C) Copyright Jens Maurer 2001 - 2002.
++// (C) Copyright Beman Dawes 2001 - 2003.
++// (C) Copyright Douglas Gregor 2002.
++// (C) Copyright David Abrahams 2002 - 2003.
++// (C) Copyright Synge Todo 2003.
++// Use, modification and distribution are subject to the
++// Boost Software License, Version 1.0. (See accompanying file
++// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ // See http://www.boost.org for most recent version.
+
+@@ -23,24 +29,53 @@
+ # endif
+ # endif
+
++# if __GNUC__ == 2 && __GNUC_MINOR__ < 96
++# define BOOST_NO_SFINAE
++# endif
++
+ # if __GNUC__ == 2 && __GNUC_MINOR__ <= 97
+ # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+ # define BOOST_NO_OPERATORS_IN_NAMESPACE
+ # endif
+
++# if __GNUC__ < 3
++# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
++# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
++# endif
++
++#
++#
++#
++
++//
++// Bug specific to gcc 3.1 and 3.2:
++//
++#if (__GNUC__ == 3) && ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2))
++# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
++#endif
++
+ //
+-// Threading support:
+-// Turn this on unconditionally here, it will get turned off again later
+-// if no threading API is detected.
++// Threading support: Turn this on unconditionally here (except for
++// those platforms where we can know for sure). It will get turned off again
++// later if no threading API is detected.
+ //
+-#define BOOST_HAS_THREADS
++#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
++# define BOOST_HAS_THREADS
++#endif
+
+ //
+ // gcc has "long long"
+ //
+ #define BOOST_HAS_LONG_LONG
+
+-#define BOOST_COMPILER "GNU C++ version " BOOST_STRINGIZE(__GNUC__) "." BOOST_STRINGIZE(__GNUC_MINOR__)
++//
++// gcc implements the named return value optimization since version 3.1
++//
++#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
++#define BOOST_HAS_NRVO
++#endif
++
++#define BOOST_COMPILER "GNU C++ version " __VERSION__
+
+ //
+ // versions check:
+@@ -49,11 +84,13 @@
+ # error "Compiler not configured - please reconfigure"
+ #endif
+ //
+-// last known and checked version is 3.2:
+-#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 3))
++// last known and checked version is 3.4:
++#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 4))
+ # if defined(BOOST_ASSERT_CONFIG)
+ # error "Unknown compiler version - please run the configure tests and report the results"
+ # else
+ # warning "Unknown compiler version - please run the configure tests and report the results"
+ # endif
+ #endif
++
++
diff --git a/print/lyx15/files/patch-boost::boost::format::feed_args.hpp b/print/lyx15/files/patch-boost::boost::format::feed_args.hpp
new file mode 100644
index 000000000000..63e5aa397e06
--- /dev/null
+++ b/print/lyx15/files/patch-boost::boost::format::feed_args.hpp
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ./boost/boost/format/feed_args.hpp.orig 2002-11-20 10:20:54.000000000 -0700
++++ ./boost/boost/format/feed_args.hpp
+@@ -34,7 +34,7 @@ namespace {
+
+ template<class Tr, class Ch> inline
+ void empty_buf(BOOST_IO_STD basic_ostringstream<Ch,Tr> & os) {
+- static const std::basic_string<Ch, Tr> emptyStr; // avoids 2 cases ( "" and L"" )
++ const std::basic_string<Ch, Tr> emptyStr; // avoids 2 cases ( "" and L"" )
+ os.str(emptyStr);
+ }
+
diff --git a/print/lyx15/files/patch-boost::boost::format::format_implementation.hpp b/print/lyx15/files/patch-boost::boost::format::format_implementation.hpp
new file mode 100644
index 000000000000..4c13f145afa1
--- /dev/null
+++ b/print/lyx15/files/patch-boost::boost::format::format_implementation.hpp
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ./boost/boost/format/format_implementation.hpp.orig 2002-11-21 11:33:01.000000000 -0700
++++ ./boost/boost/format/format_implementation.hpp
+@@ -151,7 +151,7 @@ basic_format<Ch,Tr>& basic_format<Ch,Tr>
+ {
+ if(argN<1 || argN > num_args_ || bound_.size()==0 || !bound_[argN-1] )
+ {
+- if( exceptions() & out_of_range_bit )
++ if( exceptions() & io::out_of_range_bit )
+ boost::throw_exception(io::out_of_range()); // arg not in range.
+ else return *this;
+ }
diff --git a/print/lyx15/files/patch-src::BoostFormat.h b/print/lyx15/files/patch-src::BoostFormat.h
new file mode 100644
index 000000000000..5926d34fad7f
--- /dev/null
+++ b/print/lyx15/files/patch-src::BoostFormat.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ./src/BoostFormat.h.orig 2002-11-25 12:44:44.000000000 -0700
++++ ./src/BoostFormat.h
+@@ -15,7 +15,7 @@ namespace boost
+ {
+
+ extern
+-template basic_format<char>;
++template class basic_format<char>;
+
+ extern template
+ std::ostream &
diff --git a/print/lyx15/files/patch-src::frontends::controllers::ControlDialog.tmpl b/print/lyx15/files/patch-src::frontends::controllers::ControlDialog.tmpl
new file mode 100644
index 000000000000..e805b47a3519
--- /dev/null
+++ b/print/lyx15/files/patch-src::frontends::controllers::ControlDialog.tmpl
@@ -0,0 +1,85 @@
+$NetBSD$
+
+--- src/frontends/controllers/ControlDialog.tmpl.orig 2004-05-29 04:23:23.000000000 -0600
++++ src/frontends/controllers/ControlDialog.tmpl
+@@ -4,7 +4,7 @@
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+- * \author Angus Leeming
++ * \author Angus Leeming
+ *
+ * Full author contact details are available in file CREDITS
+ *
+@@ -27,54 +27,56 @@ ControlDialog<Base>::ControlDialog(LyXVi
+ template <class Base>
+ void ControlDialog<Base>::show()
+ {
+- if (isBufferDependent() && !bufferIsAvailable())
++ if (this->isBufferDependent() && !this->bufferIsAvailable())
+ return;
+
+- connect();
++ this->connect();
+
+ if (!dialog_built_) {
+- view().build();
++ this->view().build();
+ dialog_built_ = true;
+ }
+
+ setParams();
+- if (emergency_exit_) {
++ if (this->emergency_exit_) {
+ hide();
+ return;
+ }
+
+- bc().readOnly(bufferIsReadonly());
+- view().show();
++ this->bc().readOnly(this->bufferIsReadonly());
++ this->view().show();
+
+ // The widgets may not be valid, so refresh the button controller
+- bc().refresh();
++ this->bc().refresh();
+ }
+
++
+ template <class Base>
+ void ControlDialog<Base>::update()
+ {
+- if (isBufferDependent() && !bufferIsAvailable())
++ if (this->isBufferDependent() && !this->bufferIsAvailable())
+ return;
+
+ setParams();
+- if (emergency_exit_) {
++ if (this->emergency_exit_) {
+ hide();
+ return;
+ }
+
+- bc().readOnly(bufferIsReadonly());
+- view().update();
++ this->bc().readOnly(this->bufferIsReadonly());
++ this->view().update();
+
+ // The widgets may not be valid, so refresh the button controller
+- bc().refresh();
++ this->bc().refresh();
+ }
+
++
+ template <class Base>
+ void ControlDialog<Base>::hide()
+ {
+- emergency_exit_ = false;
++ this->emergency_exit_ = false;
+ clearParams();
+
+- disconnect();
+- view().hide();
++ this->disconnect();
++ this->view().hide();
+ }
diff --git a/print/lyx15/files/patch-src::frontends::qt2::Qt2Base.h b/print/lyx15/files/patch-src::frontends::qt2::Qt2Base.h
new file mode 100644
index 000000000000..d8bdd5d2893a
--- /dev/null
+++ b/print/lyx15/files/patch-src::frontends::qt2::Qt2Base.h
@@ -0,0 +1,21 @@
+$NetBSD$
+
+--- ./src/frontends/qt2/Qt2Base.h.orig 2003-02-01 17:48:38.000000000 -0700
++++ ./src/frontends/qt2/Qt2Base.h
+@@ -174,14 +174,14 @@ Qt2CB<Controller, Base>::Qt2CB(QString c
+ template <class Controller, class Base>
+ Controller & Qt2CB<Controller, Base>::controller()
+ {
+- return static_cast<Controller &>(getController());
++ return static_cast<Controller &>(this->getController());
+ }
+
+
+ template <class Controller, class Base>
+ Controller const & Qt2CB<Controller, Base>::controller() const
+ {
+- return static_cast<Controller const &>(getController());
++ return static_cast<Controller const &>(this->getController());
+ }
+
+
diff --git a/print/lyx15/files/patch-src::frontends::xforms::FormBase.h b/print/lyx15/files/patch-src::frontends::xforms::FormBase.h
new file mode 100644
index 000000000000..ac64841f6101
--- /dev/null
+++ b/print/lyx15/files/patch-src::frontends::xforms::FormBase.h
@@ -0,0 +1,21 @@
+$NetBSD$
+
+--- src/frontends/xforms/FormBase.h.orig 2003-02-01 17:48:38.000000000 -0700
++++ src/frontends/xforms/FormBase.h
+@@ -188,14 +188,14 @@ FormCB<Controller, Base>::FormCB(string
+ template <class Controller, class Base>
+ Controller & FormCB<Controller, Base>::controller()
+ {
+- return static_cast<Controller &>(getController());
++ return static_cast<Controller &>(this->getController());
+ }
+
+
+ template <class Controller, class Base>
+ Controller const & FormCB<Controller, Base>::controller() const
+ {
+- return static_cast<Controller const &>(getController());
++ return static_cast<Controller const &>(this->getController());
+ }
+
+
diff --git a/print/lyx16/Makefile b/print/lyx16/Makefile
index 8950dd7a0574..e444edebbe20 100644
--- a/print/lyx16/Makefile
+++ b/print/lyx16/Makefile
@@ -13,7 +13,7 @@ MASTER_SITES= ftp://ftp.lyx.org/pub/lyx/stable/ \
http://www-ftp.lip6.fr/ftp/pub/lyx/stable/ \
ftp://gd.tuwien.ac.at/publishing/tex/lyx/stable/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= andy@fud.org.nz
COMMENT= Document processor interfaced with LaTeX (nearly WYSIWYG)
BUILD_DEPENDS= gm4:${PORTSDIR}/devel/m4 \
diff --git a/print/lyx16/files/patch-boost::boost::config::compiler::gcc.hpp b/print/lyx16/files/patch-boost::boost::config::compiler::gcc.hpp
new file mode 100644
index 000000000000..7c4814ea9941
--- /dev/null
+++ b/print/lyx16/files/patch-boost::boost::config::compiler::gcc.hpp
@@ -0,0 +1,97 @@
+$NetBSD$
+
+--- ./boost/boost/config/compiler/gcc.hpp.orig 2003-05-26 08:27:34.000000000 -0600
++++ ./boost/boost/config/compiler/gcc.hpp
+@@ -1,7 +1,13 @@
+-// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
+-// distribute this software is granted provided this copyright notice appears
+-// in all copies. This software is provided "as is" without express or implied
+-// warranty, and with no claim as to its suitability for any purpose.
++// (C) Copyright John Maddock 2001 - 2003.
++// (C) Copyright Darin Adler 2001 - 2002.
++// (C) Copyright Jens Maurer 2001 - 2002.
++// (C) Copyright Beman Dawes 2001 - 2003.
++// (C) Copyright Douglas Gregor 2002.
++// (C) Copyright David Abrahams 2002 - 2003.
++// (C) Copyright Synge Todo 2003.
++// Use, modification and distribution are subject to the
++// Boost Software License, Version 1.0. (See accompanying file
++// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ // See http://www.boost.org for most recent version.
+
+@@ -23,24 +29,53 @@
+ # endif
+ # endif
+
++# if __GNUC__ == 2 && __GNUC_MINOR__ < 96
++# define BOOST_NO_SFINAE
++# endif
++
+ # if __GNUC__ == 2 && __GNUC_MINOR__ <= 97
+ # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+ # define BOOST_NO_OPERATORS_IN_NAMESPACE
+ # endif
+
++# if __GNUC__ < 3
++# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
++# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
++# endif
++
++#
++#
++#
++
++//
++// Bug specific to gcc 3.1 and 3.2:
++//
++#if (__GNUC__ == 3) && ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2))
++# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
++#endif
++
+ //
+-// Threading support:
+-// Turn this on unconditionally here, it will get turned off again later
+-// if no threading API is detected.
++// Threading support: Turn this on unconditionally here (except for
++// those platforms where we can know for sure). It will get turned off again
++// later if no threading API is detected.
+ //
+-#define BOOST_HAS_THREADS
++#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
++# define BOOST_HAS_THREADS
++#endif
+
+ //
+ // gcc has "long long"
+ //
+ #define BOOST_HAS_LONG_LONG
+
+-#define BOOST_COMPILER "GNU C++ version " BOOST_STRINGIZE(__GNUC__) "." BOOST_STRINGIZE(__GNUC_MINOR__)
++//
++// gcc implements the named return value optimization since version 3.1
++//
++#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
++#define BOOST_HAS_NRVO
++#endif
++
++#define BOOST_COMPILER "GNU C++ version " __VERSION__
+
+ //
+ // versions check:
+@@ -49,11 +84,13 @@
+ # error "Compiler not configured - please reconfigure"
+ #endif
+ //
+-// last known and checked version is 3.2:
+-#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 3))
++// last known and checked version is 3.4:
++#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 4))
+ # if defined(BOOST_ASSERT_CONFIG)
+ # error "Unknown compiler version - please run the configure tests and report the results"
+ # else
+ # warning "Unknown compiler version - please run the configure tests and report the results"
+ # endif
+ #endif
++
++
diff --git a/print/lyx16/files/patch-boost::boost::format::feed_args.hpp b/print/lyx16/files/patch-boost::boost::format::feed_args.hpp
new file mode 100644
index 000000000000..63e5aa397e06
--- /dev/null
+++ b/print/lyx16/files/patch-boost::boost::format::feed_args.hpp
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ./boost/boost/format/feed_args.hpp.orig 2002-11-20 10:20:54.000000000 -0700
++++ ./boost/boost/format/feed_args.hpp
+@@ -34,7 +34,7 @@ namespace {
+
+ template<class Tr, class Ch> inline
+ void empty_buf(BOOST_IO_STD basic_ostringstream<Ch,Tr> & os) {
+- static const std::basic_string<Ch, Tr> emptyStr; // avoids 2 cases ( "" and L"" )
++ const std::basic_string<Ch, Tr> emptyStr; // avoids 2 cases ( "" and L"" )
+ os.str(emptyStr);
+ }
+
diff --git a/print/lyx16/files/patch-boost::boost::format::format_implementation.hpp b/print/lyx16/files/patch-boost::boost::format::format_implementation.hpp
new file mode 100644
index 000000000000..4c13f145afa1
--- /dev/null
+++ b/print/lyx16/files/patch-boost::boost::format::format_implementation.hpp
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ./boost/boost/format/format_implementation.hpp.orig 2002-11-21 11:33:01.000000000 -0700
++++ ./boost/boost/format/format_implementation.hpp
+@@ -151,7 +151,7 @@ basic_format<Ch,Tr>& basic_format<Ch,Tr>
+ {
+ if(argN<1 || argN > num_args_ || bound_.size()==0 || !bound_[argN-1] )
+ {
+- if( exceptions() & out_of_range_bit )
++ if( exceptions() & io::out_of_range_bit )
+ boost::throw_exception(io::out_of_range()); // arg not in range.
+ else return *this;
+ }
diff --git a/print/lyx16/files/patch-src::BoostFormat.h b/print/lyx16/files/patch-src::BoostFormat.h
new file mode 100644
index 000000000000..5926d34fad7f
--- /dev/null
+++ b/print/lyx16/files/patch-src::BoostFormat.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ./src/BoostFormat.h.orig 2002-11-25 12:44:44.000000000 -0700
++++ ./src/BoostFormat.h
+@@ -15,7 +15,7 @@ namespace boost
+ {
+
+ extern
+-template basic_format<char>;
++template class basic_format<char>;
+
+ extern template
+ std::ostream &
diff --git a/print/lyx16/files/patch-src::frontends::controllers::ControlDialog.tmpl b/print/lyx16/files/patch-src::frontends::controllers::ControlDialog.tmpl
new file mode 100644
index 000000000000..e805b47a3519
--- /dev/null
+++ b/print/lyx16/files/patch-src::frontends::controllers::ControlDialog.tmpl
@@ -0,0 +1,85 @@
+$NetBSD$
+
+--- src/frontends/controllers/ControlDialog.tmpl.orig 2004-05-29 04:23:23.000000000 -0600
++++ src/frontends/controllers/ControlDialog.tmpl
+@@ -4,7 +4,7 @@
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+- * \author Angus Leeming
++ * \author Angus Leeming
+ *
+ * Full author contact details are available in file CREDITS
+ *
+@@ -27,54 +27,56 @@ ControlDialog<Base>::ControlDialog(LyXVi
+ template <class Base>
+ void ControlDialog<Base>::show()
+ {
+- if (isBufferDependent() && !bufferIsAvailable())
++ if (this->isBufferDependent() && !this->bufferIsAvailable())
+ return;
+
+- connect();
++ this->connect();
+
+ if (!dialog_built_) {
+- view().build();
++ this->view().build();
+ dialog_built_ = true;
+ }
+
+ setParams();
+- if (emergency_exit_) {
++ if (this->emergency_exit_) {
+ hide();
+ return;
+ }
+
+- bc().readOnly(bufferIsReadonly());
+- view().show();
++ this->bc().readOnly(this->bufferIsReadonly());
++ this->view().show();
+
+ // The widgets may not be valid, so refresh the button controller
+- bc().refresh();
++ this->bc().refresh();
+ }
+
++
+ template <class Base>
+ void ControlDialog<Base>::update()
+ {
+- if (isBufferDependent() && !bufferIsAvailable())
++ if (this->isBufferDependent() && !this->bufferIsAvailable())
+ return;
+
+ setParams();
+- if (emergency_exit_) {
++ if (this->emergency_exit_) {
+ hide();
+ return;
+ }
+
+- bc().readOnly(bufferIsReadonly());
+- view().update();
++ this->bc().readOnly(this->bufferIsReadonly());
++ this->view().update();
+
+ // The widgets may not be valid, so refresh the button controller
+- bc().refresh();
++ this->bc().refresh();
+ }
+
++
+ template <class Base>
+ void ControlDialog<Base>::hide()
+ {
+- emergency_exit_ = false;
++ this->emergency_exit_ = false;
+ clearParams();
+
+- disconnect();
+- view().hide();
++ this->disconnect();
++ this->view().hide();
+ }
diff --git a/print/lyx16/files/patch-src::frontends::qt2::Qt2Base.h b/print/lyx16/files/patch-src::frontends::qt2::Qt2Base.h
new file mode 100644
index 000000000000..d8bdd5d2893a
--- /dev/null
+++ b/print/lyx16/files/patch-src::frontends::qt2::Qt2Base.h
@@ -0,0 +1,21 @@
+$NetBSD$
+
+--- ./src/frontends/qt2/Qt2Base.h.orig 2003-02-01 17:48:38.000000000 -0700
++++ ./src/frontends/qt2/Qt2Base.h
+@@ -174,14 +174,14 @@ Qt2CB<Controller, Base>::Qt2CB(QString c
+ template <class Controller, class Base>
+ Controller & Qt2CB<Controller, Base>::controller()
+ {
+- return static_cast<Controller &>(getController());
++ return static_cast<Controller &>(this->getController());
+ }
+
+
+ template <class Controller, class Base>
+ Controller const & Qt2CB<Controller, Base>::controller() const
+ {
+- return static_cast<Controller const &>(getController());
++ return static_cast<Controller const &>(this->getController());
+ }
+
+
diff --git a/print/lyx16/files/patch-src::frontends::xforms::FormBase.h b/print/lyx16/files/patch-src::frontends::xforms::FormBase.h
new file mode 100644
index 000000000000..ac64841f6101
--- /dev/null
+++ b/print/lyx16/files/patch-src::frontends::xforms::FormBase.h
@@ -0,0 +1,21 @@
+$NetBSD$
+
+--- src/frontends/xforms/FormBase.h.orig 2003-02-01 17:48:38.000000000 -0700
++++ src/frontends/xforms/FormBase.h
+@@ -188,14 +188,14 @@ FormCB<Controller, Base>::FormCB(string
+ template <class Controller, class Base>
+ Controller & FormCB<Controller, Base>::controller()
+ {
+- return static_cast<Controller &>(getController());
++ return static_cast<Controller &>(this->getController());
+ }
+
+
+ template <class Controller, class Base>
+ Controller const & FormCB<Controller, Base>::controller() const
+ {
+- return static_cast<Controller const &>(getController());
++ return static_cast<Controller const &>(this->getController());
+ }
+
+