From a88d67480723e9230a4e20a555c1177a04644868 Mon Sep 17 00:00:00 2001 From: David Seifert Date: Mon, 26 Sep 2016 01:30:13 +0200 Subject: sci-libs/libcmatrix: Allow for compiling with GCC 6 Gentoo-bug: 594680 * EAPI=6 * Make PATCHES -p1 compliant * Rename PATCHES to be in ${P}-xyz.patch format Package-Manager: portage-2.3.1 --- sci-libs/libcmatrix/files/3.11.0-shared.patch | 80 -------- sci-libs/libcmatrix/files/3.2.1-atlas.patch | 33 --- sci-libs/libcmatrix/files/3.2.1-gcc4.4.patch | 12 -- sci-libs/libcmatrix/files/3.2.1-gcc4.6.patch | 16 -- sci-libs/libcmatrix/files/3.2.1-gcc4.7.patch | 227 --------------------- sci-libs/libcmatrix/files/3.2.1-minuit2.patch | 14 -- sci-libs/libcmatrix/files/3.2.1-shared.patch | 80 -------- sci-libs/libcmatrix/files/3.9.0-atlas.patch | 24 --- .../files/libcmatrix-3.11.0-fix-c++14.patch | 40 ++++ .../files/libcmatrix-3.11.0-shared.patch | 80 ++++++++ .../libcmatrix/files/libcmatrix-3.2.1-atlas.patch | 33 +++ .../libcmatrix/files/libcmatrix-3.2.1-gcc4.4.patch | 12 ++ .../libcmatrix/files/libcmatrix-3.2.1-gcc4.6.patch | 16 ++ .../libcmatrix/files/libcmatrix-3.2.1-gcc4.7.patch | 227 +++++++++++++++++++++ .../files/libcmatrix-3.2.1-minuit2.patch | 14 ++ .../libcmatrix/files/libcmatrix-3.2.1-shared.patch | 80 ++++++++ .../libcmatrix/files/libcmatrix-3.9.0-atlas.patch | 24 +++ sci-libs/libcmatrix/libcmatrix-3.11.0-r1.ebuild | 60 ++++++ sci-libs/libcmatrix/libcmatrix-3.11.0.ebuild | 58 ------ 19 files changed, 586 insertions(+), 544 deletions(-) delete mode 100644 sci-libs/libcmatrix/files/3.11.0-shared.patch delete mode 100644 sci-libs/libcmatrix/files/3.2.1-atlas.patch delete mode 100644 sci-libs/libcmatrix/files/3.2.1-gcc4.4.patch delete mode 100644 sci-libs/libcmatrix/files/3.2.1-gcc4.6.patch delete mode 100644 sci-libs/libcmatrix/files/3.2.1-gcc4.7.patch delete mode 100644 sci-libs/libcmatrix/files/3.2.1-minuit2.patch delete mode 100644 sci-libs/libcmatrix/files/3.2.1-shared.patch delete mode 100644 sci-libs/libcmatrix/files/3.9.0-atlas.patch create mode 100644 sci-libs/libcmatrix/files/libcmatrix-3.11.0-fix-c++14.patch create mode 100644 sci-libs/libcmatrix/files/libcmatrix-3.11.0-shared.patch create mode 100644 sci-libs/libcmatrix/files/libcmatrix-3.2.1-atlas.patch create mode 100644 sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.4.patch create mode 100644 sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.6.patch create mode 100644 sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.7.patch create mode 100644 sci-libs/libcmatrix/files/libcmatrix-3.2.1-minuit2.patch create mode 100644 sci-libs/libcmatrix/files/libcmatrix-3.2.1-shared.patch create mode 100644 sci-libs/libcmatrix/files/libcmatrix-3.9.0-atlas.patch create mode 100644 sci-libs/libcmatrix/libcmatrix-3.11.0-r1.ebuild delete mode 100644 sci-libs/libcmatrix/libcmatrix-3.11.0.ebuild (limited to 'sci-libs/libcmatrix') diff --git a/sci-libs/libcmatrix/files/3.11.0-shared.patch b/sci-libs/libcmatrix/files/3.11.0-shared.patch deleted file mode 100644 index 6c5c3167619..00000000000 --- a/sci-libs/libcmatrix/files/3.11.0-shared.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff --git a/Makefile.in b/Makefile.in -index 1361371..1448e76 100755 ---- a/Makefile.in -+++ b/Makefile.in -@@ -13,8 +13,8 @@ AR=@AR@ - - # You shouldn't need to alter anything below here - --COMPILE=$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c --ALLOPTFLAGS=$(OPTFLAGS) -DNDEBUG -+COMPILE=$(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -c -+#ALLOPTFLAGS=$(OPTFLAGS) -DNDEBUG - - LOCALOBJS= local/CrystalSystem.o local/CrystalGeneric.o local/MoleculeStructure.o - COREOBJS= coredefs/complex.o coredefs/common.o coredefs/diagonal.o coredefs/diagonalise.o coredefs/power.o coredefs/invert.o coredefs/transforms.o coredefs/blocking.o coredefs/mixed.o coredefs/realtransforms.o coredefs/Chebyshev.o -@@ -36,7 +36,7 @@ ALLTHROBJS=$(UNSAFEOBJS:.o=_r.o) $(ALLSAFEOBJS) - - ROOT=.. - --first: lib/libcmatrix.a -+first: lib/libcmatrix.so.3.11.0 - - #%.o: %.f - # @F77@ @FFLAGS@ -c -o $@ $< -@@ -68,25 +68,25 @@ tempclean: - # -cd optim; @CLEAN@ - # -cd local; @CLEAN@ - --lib/libcmatrix.a: $(ALLNORMOBJS) -- $(AR) $@ $(ALLNORMOBJS) -- chmod a+rx $@ -- $(RANLIB) $@ -- --lib/libcmatrix_p.a: $(ALLPROFOBJS) -- $(AR) $@ $(ALLPROFOBJS) -- chmod a+rx $@ -- $(RANLIB) $@ -- --lib/libcmatrix-g.a: $(ALLGOBJS) -- $(AR) $@ $(ALLGOBJS) -- chmod a+rx $@ -- $(RANLIB) $@ -- --lib/libcmatrix_r.a: $(ALLTHROBJS) -- $(AR) @MTFLAGS@ $@ $(ALLTHROBJS) -- chmod a+rx $@ -- $(RANLIB) $@ -+lib/libcmatrix.so.3.11.0: $(ALLNORMOBJS) -+ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLNORMOBJS) -lrt @ATLAS_LIBS@ -+ ln -sf libcmatrix.so.3.11.0 lib/libcmatrix.so.3 -+ ln -sf libcmatrix.so.3.11.0 lib/libcmatrix.so -+ -+lib/libcmatrix_p.so.3.11.0: $(ALLPROFOBJS) -+ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLPROFOBJS) -lrt @ATLAS_LIBS@ -+ ln -sf libcmatrix_p.so.3.11.0 lib/libcmatrix_p.so.3 -+ ln -sf libcmatrix_p.so.3.11.0 lib/libcmatrix_p.so -+ -+lib/libcmatrix-g.so.3.11.0: $(ALLGOBJS) -+ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLGOBJS) -lrt @ATLAS_LIBS@ -+ ln -sf libcmatrix-g.so.3.11.0 lib/libcmatrix-g.so.3 -+ ln -sf libcmatrix-g.so.3.11.0 lib/libcmatrix-g.so -+ -+lib/libcmatrix.so_r.3.11.0: $(ALLTHROBJS) -+ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLTHROBJS) -lrt @ATLAS_LIBS@ -+ ln -sf libcmatrix_r.so.3.11.0 lib/libcmatrix_r.so.3 -+ ln -sf libcmatrix_r.so.3.11.0 lib/libcmatrix_r.so - - @CONFIGLEAF@.tar.gz: - cd $(ROOT) ; tar --exclude lib/* --exclude *.o --exclude=*~ --exclude=Makefile --exclude=include/config.h --exclude=config.status -cvf @CONFIGLEAF@.tar @CONFIGLEAF@ -diff --git a/configure.ac b/configure.ac -index c0ae0e1..50dcd5a 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -1,5 +1,6 @@ - AC_INIT(configure.ac) - AC_CONFIG_HEADER(include/config.h) -+LT_INIT - - DEFAR="ar ru" - MAKEEXTRA= diff --git a/sci-libs/libcmatrix/files/3.2.1-atlas.patch b/sci-libs/libcmatrix/files/3.2.1-atlas.patch deleted file mode 100644 index b10b41d4e38..00000000000 --- a/sci-libs/libcmatrix/files/3.2.1-atlas.patch +++ /dev/null @@ -1,33 +0,0 @@ - configure-libraries.ac | 5 ++++- - 1 files changed, 4 insertions(+), 1 deletions(-) - -diff --git a/configure-libraries.ac b/configure-libraries.ac -index a64e79c..afc75b8 100755 ---- a/configure-libraries.ac -+++ b/configure-libraries.ac -@@ -33,6 +33,7 @@ AC_ARG_WITH(atlas, - AS_HELP_STRING([--with-atlas],[use the ATLAS BLAS library (default-use if found)]),,with_atlas=check) - if test x$with_atlas != xno; then - FOUNDATLAS=yes -+ PKG_CHECK_MODULES([ATLAS], [cblas]) - AC_CHECK_HEADERS(cblas.h,,FOUNDATLAS=no - AC_MSG_WARN([ATLAS header files (cblas.h) not found - Is CPPFLAGS is defined to include relevant directory?])) -@@ -40,7 +41,7 @@ Is CPPFLAGS is defined to include relevant directory?])) - AC_MSG_WARN([ATLAS library (libatlas.a) not found - Is LDFLAGS is defined to include relevant directory?])) - if test x$FOUNDATLAS = xyes; then -- LIBS="-lcblas $LIBS" -+ LIBS="$ATLAS_LIBS $LIBS" - CXXFLAGS="$CXXFLAGS -DLCM_USE_EXTERNAL" - else - if test x$with_atlas = xyes; then -@@ -49,6 +50,8 @@ Is LDFLAGS is defined to include relevant directory?])) - fi - fi - -+AC_SUBST(ATLAS_LIBS) -+ - AC_ARG_WITH(acml, - AS_HELP_STRING([--with-acml],[use the ACML BLAS library (default=no)]),,with_acml=no) - if test x$with_acml = xyes; then diff --git a/sci-libs/libcmatrix/files/3.2.1-gcc4.4.patch b/sci-libs/libcmatrix/files/3.2.1-gcc4.4.patch deleted file mode 100644 index 24c1a89b48d..00000000000 --- a/sci-libs/libcmatrix/files/3.2.1-gcc4.4.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/include/DynamicList.h b/include/DynamicList.h -index f8c1346..05a7b10 100755 ---- a/include/DynamicList.h -+++ b/include/DynamicList.h -@@ -4,6 +4,7 @@ - #include "BaseList.h" - #include "lcm_basethreads.h" - #include "Warnings.h" -+#include - - namespace libcmatrix { - diff --git a/sci-libs/libcmatrix/files/3.2.1-gcc4.6.patch b/sci-libs/libcmatrix/files/3.2.1-gcc4.6.patch deleted file mode 100644 index b3d8c8d1999..00000000000 --- a/sci-libs/libcmatrix/files/3.2.1-gcc4.6.patch +++ /dev/null @@ -1,16 +0,0 @@ - NMR/MetaPropagation.cc | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/NMR/MetaPropagation.cc b/NMR/MetaPropagation.cc -index b7ed98b..ce8c16f 100755 ---- a/NMR/MetaPropagation.cc -+++ b/NMR/MetaPropagation.cc -@@ -2136,7 +2136,7 @@ SpinOpGenerator::add_A0(T& dest,F func, double coup, size_t j, size_t sk, Type2T - { ref_.clear(0); } - const space_T& operator()() const { return ref_; } - ~fudge_isotropic_() { ref_.ensure_rank(0); } -- mutable space_T& ref_; -+ space_T& ref_; - }; - template<> struct fudge_isotropic_ { - fudge_isotropic_(double v) : v_(v) {}; diff --git a/sci-libs/libcmatrix/files/3.2.1-gcc4.7.patch b/sci-libs/libcmatrix/files/3.2.1-gcc4.7.patch deleted file mode 100644 index 633c9d50cf9..00000000000 --- a/sci-libs/libcmatrix/files/3.2.1-gcc4.7.patch +++ /dev/null @@ -1,227 +0,0 @@ - include/MultiMatrix.h | 14 +++++++------- - include/UnionHolder.h | 40 ++++++++++++++++++++-------------------- - include/basedefs.h | 22 ++++++++++++---------- - utils/Fork_controller.cc | 3 +++ - utils/ttyio.cc | 2 ++ - 5 files changed, 44 insertions(+), 37 deletions(-) - -diff --git a/include/MultiMatrix.h b/include/MultiMatrix.h -index b6fec33..2d54db5 100755 ---- a/include/MultiMatrix.h -+++ b/include/MultiMatrix.h -@@ -254,19 +254,19 @@ namespace libcmatrix { - } - - size_t operator()(size_t r) const -- { check_bounds_open(dim,r); -+ { this->check_bounds_open(dim,r); - return r*mults[0]; } - - size_t operator()(size_t r,size_t s) const -- { check_bounds_open(dim,r,s); -+ { this->check_bounds_open(dim,r,s); - return r*mults[0]+s*mults[1]; } - - size_t operator()(size_t r,size_t s,size_t t) const -- { check_bounds_open(dim,r,s,t); -+ { this->check_bounds_open(dim,r,s,t); - return r*mults[0]+s*mults[1]+t*mults[2]; } - - size_t operator()(size_t r,size_t s,size_t t,size_t u) const -- { check_bounds_open(dim,r,s,t,u); -+ { this->check_bounds_open(dim,r,s,t,u); - return r*mults[0]+s*mults[1]+t*mults[2]+u*mults[3]; } - - size_t index(size_t r) const -@@ -293,14 +293,14 @@ namespace libcmatrix { - - void reverse(size_t& r, size_t& s, size_t ind) const { - LCM_STATIC_CHECK(N==2, Indexer_non2D_object); -- check(indcheck(indcheck(indcheck(indclear_(first_); break; -+ case 2: this->clear_(second_); break; -+ case 3: this->clear_(third_); break; -+ case 4: this->clear_(fourth_); break; -+ case 5: this->clear_(fifth_); break; -+ case 6: this->clear_(sixth_); break; -+ case 7: this->clear_(seventh_); break; -+ case 8: this->clear_(eighth_); break; -+ case 9: this->clear_(nineth_); break; - } - type_=0; - } - - template UnionHolder& operator= (const T& v) { -- get(Type2Type())=v; -+ this->get(Type2Type())=v; - type(Type2Type()); //only change type if assignment was successful - return *this; - } -@@ -399,12 +399,12 @@ namespace libcmatrix { - - template T& set(Type2Type in) { - type(in); -- return get(in); -+ return this->get(in); - } - - template typename reverse::type& set(Int2Type in) { - type(in); -- return get(Type2Type::type>()); -+ return this->get(Type2Type::type>()); - } - - template T& operator()(Type2Type in) { -@@ -429,12 +429,12 @@ namespace libcmatrix { - - template typename reverse::type& operator()(Int2Type in) { - verify(in); -- return get(Type2Type::type>()); -+ return this->get(Type2Type::type>()); - } - - template const typename reverse::type& operator()(Int2Type in) const { - verify(in); -- return get(Type2Type::type>()); -+ return this->get(Type2Type::type>()); - } - }; - -@@ -482,12 +482,12 @@ namespace libcmatrix { - bool iscomplex() const { return (this->type()==COMPLEX); } - bool isreal() const { return (this->type()==REAL); } - -- C& set_complex() { return set(Int2Type()); } -- R& set_real() { return set(Int2Type()); } -- const C& get_complex() const { return get(Type2Type()); } -- const R& get_real() const { return get(Type2Type()); } -- C& get_complex() { return get(Type2Type()); } -- R& get_real() { return get(Type2Type()); } -+ C& set_complex() { return this->set(Int2Type()); } -+ R& set_real() { return this->set(Int2Type()); } -+ const C& get_complex() const { return this->get(Type2Type()); } -+ const R& get_real() const { return this->get(Type2Type()); } -+ C& get_complex() { return this->get(Type2Type()); } -+ R& get_real() { return this->get(Type2Type()); } - }; - - } //namespace libcmatrix -diff --git a/include/basedefs.h b/include/basedefs.h -index 420b341..80d47e3 100755 ---- a/include/basedefs.h -+++ b/include/basedefs.h -@@ -13,6 +13,8 @@ - #include - #include - #include -+#include -+//#include "BlockedMatrix.h" - //#include - - // #ifdef LCM_DEBUG_ALLOCATOR -@@ -1703,6 +1705,16 @@ template struct Multiply_ { - } - }; - -+template struct Mla_ { -+ template static void func(T1&, const T2&, const T3&) { -+ LCM_STATIC_ERROR( mla_incompatible_dimensionalities ); -+ } -+}; -+ -+template inline void mla(T1& d,const T2& a,const T3& b) { -+ Mla_::func(d,a,b); -+} -+ - template<> struct Multiply_<2,2,2> { - template static void func(T1& dest,const T2& a,const T3& b) - { -@@ -1875,12 +1887,6 @@ template<> struct Multiply_<0,0,0> { - Multiply_::func(d,a,b); - } - --template struct Mla_ { -- template static void func(T1&, const T2&, const T3&) { -- LCM_STATIC_ERROR( mla_incompatible_dimensionalities ); -- } --}; -- - template struct Mla_ { - template LCM_INLINE static void func(T1& d, const T2& a, const T3& b) { - if (d.empty()) -@@ -1940,10 +1946,6 @@ template<> struct Mla_<0,0,0> { - } - }; - --template inline void mla(T1& d,const T2& a,const T3& b) { -- Mla_::func(d,a,b); --} -- - template struct Print_ { - static void print(const T& a,std::ostream& ostr) { - ostr << '['; -diff --git a/utils/Fork_controller.cc b/utils/Fork_controller.cc -index 5f6b913..08ec942 100755 ---- a/utils/Fork_controller.cc -+++ b/utils/Fork_controller.cc -@@ -3,6 +3,9 @@ - #include - #include - #include -+#include -+#include -+ - - namespace libcmatrix { - -diff --git a/utils/ttyio.cc b/utils/ttyio.cc -index 17e4eb3..bbeac81 100755 ---- a/utils/ttyio.cc -+++ b/utils/ttyio.cc -@@ -17,6 +17,8 @@ - #include "args_iter.h" - #endif - -+#include -+ - namespace libcmatrix { - - namespace { diff --git a/sci-libs/libcmatrix/files/3.2.1-minuit2.patch b/sci-libs/libcmatrix/files/3.2.1-minuit2.patch deleted file mode 100644 index 24dc5628b8f..00000000000 --- a/sci-libs/libcmatrix/files/3.2.1-minuit2.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- configure-libraries.ac 2008-03-04 00:48:46.000000000 +0100 -+++ configure-libraries.ac.new 2009-03-19 18:22:21.000000000 +0100 -@@ -14,8 +14,8 @@ - fi - if test x$FOUNDMINUIT = xyes; then - AC_CHECK_LIB(lcg_Minuit,main,, -- AC_CHECK_LIB(Minuit,main,,FOUNDMINUIT=no -- AC_MSG_WARN([Minuit library (liblcg_Minuit or libMinuit) not found -+ AC_CHECK_LIB(Minuit2,main,,FOUNDMINUIT=no -+ AC_MSG_WARN([Minuit library (liblcg_Minuit or libMinuit2) not found - Is LDFLAGS is defined to include relevant directory?]))) - if test x$FOUNDMINUIT = xyes; then - AC_DEFINE(HAVE_LIBMINUIT) - diff --git a/sci-libs/libcmatrix/files/3.2.1-shared.patch b/sci-libs/libcmatrix/files/3.2.1-shared.patch deleted file mode 100644 index 4e843027abd..00000000000 --- a/sci-libs/libcmatrix/files/3.2.1-shared.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff --git a/Makefile.in b/Makefile.in -index 1361371..1448e76 100755 ---- a/Makefile.in -+++ b/Makefile.in -@@ -13,8 +13,8 @@ AR=@AR@ - - # You shouldn't need to alter anything below here - --COMPILE=$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c --ALLOPTFLAGS=$(OPTFLAGS) -DNDEBUG -+COMPILE=$(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -c -+#ALLOPTFLAGS=$(OPTFLAGS) -DNDEBUG - - LOCALOBJS= local/CrystalSystem.o local/CrystalGeneric.o local/MoleculeStructure.o - COREOBJS= coredefs/complex.o coredefs/common.o coredefs/diagonal.o coredefs/diagonalise.o coredefs/power.o coredefs/invert.o coredefs/transforms.o coredefs/blocking.o coredefs/mixed.o coredefs/realtransforms.o coredefs/Chebyshev.o -@@ -36,7 +36,7 @@ ALLTHROBJS=$(UNSAFEOBJS:.o=_r.o) $(ALLSAFEOBJS) - - ROOT=.. - --first: lib/libcmatrix.a -+first: lib/libcmatrix.so.3.2.1 - - #%.o: %.f - # @F77@ @FFLAGS@ -c -o $@ $< -@@ -68,25 +68,25 @@ tempclean: - # -cd optim; @CLEAN@ - # -cd local; @CLEAN@ - --lib/libcmatrix.a: $(ALLNORMOBJS) -- $(AR) $@ $(ALLNORMOBJS) -- chmod a+rx $@ -- $(RANLIB) $@ -- --lib/libcmatrix_p.a: $(ALLPROFOBJS) -- $(AR) $@ $(ALLPROFOBJS) -- chmod a+rx $@ -- $(RANLIB) $@ -- --lib/libcmatrix-g.a: $(ALLGOBJS) -- $(AR) $@ $(ALLGOBJS) -- chmod a+rx $@ -- $(RANLIB) $@ -- --lib/libcmatrix_r.a: $(ALLTHROBJS) -- $(AR) @MTFLAGS@ $@ $(ALLTHROBJS) -- chmod a+rx $@ -- $(RANLIB) $@ -+lib/libcmatrix.so.3.2.1: $(ALLNORMOBJS) -+ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLNORMOBJS) @ATLAS_LIBS@ -+ ln -sf libcmatrix.so.3.2.1 lib/libcmatrix.so.3 -+ ln -sf libcmatrix.so.3.2.1 lib/libcmatrix.so -+ -+lib/libcmatrix_p.so.3.2.1: $(ALLPROFOBJS) -+ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLPROFOBJS) @ATLAS_LIBS@ -+ ln -sf libcmatrix_p.so.3.2.1 lib/libcmatrix_p.so.3 -+ ln -sf libcmatrix_p.so.3.2.1 lib/libcmatrix_p.so -+ -+lib/libcmatrix-g.so.3.2.1: $(ALLGOBJS) -+ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLGOBJS) @ATLAS_LIBS@ -+ ln -sf libcmatrix-g.so.3.2.1 lib/libcmatrix-g.so.3 -+ ln -sf libcmatrix-g.so.3.2.1 lib/libcmatrix-g.so -+ -+lib/libcmatrix.so_r.3.2.1: $(ALLTHROBJS) -+ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLTHROBJS) @ATLAS_LIBS@ -+ ln -sf libcmatrix_r.so.3.2.1 lib/libcmatrix_r.so.3 -+ ln -sf libcmatrix_r.so.3.2.1 lib/libcmatrix_r.so - - @CONFIGLEAF@.tar.gz: - cd $(ROOT) ; tar --exclude lib/* --exclude *.o --exclude=*~ --exclude=Makefile --exclude=include/config.h --exclude=config.status -cvf @CONFIGLEAF@.tar @CONFIGLEAF@ -diff --git a/configure.ac b/configure.ac -index c0ae0e1..50dcd5a 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -1,5 +1,6 @@ - AC_INIT(configure.ac) - AC_CONFIG_HEADER(include/config.h) -+LT_INIT - - DEFAR="ar ru" - MAKEEXTRA= diff --git a/sci-libs/libcmatrix/files/3.9.0-atlas.patch b/sci-libs/libcmatrix/files/3.9.0-atlas.patch deleted file mode 100644 index 329e794645e..00000000000 --- a/sci-libs/libcmatrix/files/3.9.0-atlas.patch +++ /dev/null @@ -1,24 +0,0 @@ - configure-libraries.ac | 3 ++- - 1 files changed, 2 insertions(+), 1 deletions(-) - -diff --git a/configure-libraries.ac b/configure-libraries.ac -index 6e9579d..a919398 100755 ---- a/configure-libraries.ac -+++ b/configure-libraries.ac -@@ -33,6 +33,7 @@ AC_ARG_WITH(atlas, - AS_HELP_STRING([--with-atlas],[use the ATLAS BLAS library (default-use if found)]),,with_atlas=check) - if test x$with_atlas != xno; then - FOUNDATLAS=yes -+ PKG_CHECK_MODULES([ATLAS], [cblas]) - AC_CHECK_HEADERS(cblas.h,,FOUNDATLAS=no - AC_MSG_WARN([ATLAS header files (cblas.h) not found - Is CPPFLAGS is defined to include relevant directory?])) -@@ -40,7 +41,7 @@ Is CPPFLAGS is defined to include relevant directory?])) - AC_MSG_WARN([ATLAS library (libatlas.a) not found - Is LDFLAGS is defined to include relevant directory?])) - if test x$FOUNDATLAS = xyes; then -- LIBS="-lcblas $LIBS" -+ LIBS="$ATLAS_LIBS $LIBS" - CXXFLAGS="$CXXFLAGS -DLCM_USE_EXTERNAL" - else - if test x$with_atlas = xyes; then diff --git a/sci-libs/libcmatrix/files/libcmatrix-3.11.0-fix-c++14.patch b/sci-libs/libcmatrix/files/libcmatrix-3.11.0-fix-c++14.patch new file mode 100644 index 00000000000..74e49285dd0 --- /dev/null +++ b/sci-libs/libcmatrix/files/libcmatrix-3.11.0-fix-c++14.patch @@ -0,0 +1,40 @@ +Fix building with C++14, which errors out due -Wnarrowing conversions. +See also: https://bugs.gentoo.org/show_bug.cgi?id=594680 + +--- a/include/lcm_ssecomplex.h ++++ b/include/lcm_ssecomplex.h +@@ -151,7 +151,7 @@ + { + static const union { + int i[4]; ssecomplex_t v; +- } signbithigh = {{0,0,0,0x80000000}}; ++ } signbithigh = {{0,0,0,(int)0x80000000}}; + ssecomplex_t b_im = _mm_shuffle_pd(b,b,3); // Imag. part of b in both + const ssecomplex_t b_re = _mm_shuffle_pd(b,b,0); // Real part of b in both + const ssecomplex_t tmp=_mm_mul_pd(a,b_re); +@@ -166,7 +166,7 @@ + ssecomplex_t b_re = _mm_set1_pd(b); + static const union { + int i[4]; ssecomplex_t v; +- } signbithigh = {{0,0,0,0x80000000}}; ++ } signbithigh = {{0,0,0,(int)0x80000000}}; + b_re = _mm_xor_pd(b_re, signbithigh.v); // Change sign of high + return complex(_mm_mul_pd(a.z_, b_re)); + } +@@ -184,14 +184,14 @@ + inline complex operator- (const complex& a) { + static const union { // (signbit,signbit) + int i[4]; ssecomplex_t v; +- } signbits = {{0,0x80000000,0,0x80000000}}; ++ } signbits = {{0,(int)0x80000000,0,(int)0x80000000}}; + return complex(_mm_xor_pd(a, signbits.v)); // Change sign of both elements + } + + inline complex conj(const complex& a) { + static const union { // (signbit,signbit) + int i[4]; ssecomplex_t v; +- } signbithigh = {{0,0,0,0x80000000}}; ++ } signbithigh = {{0,0,0,(int)0x80000000}}; + return complex(_mm_xor_pd(a.z_, signbithigh.v)); // Change sign of imag. part + } + diff --git a/sci-libs/libcmatrix/files/libcmatrix-3.11.0-shared.patch b/sci-libs/libcmatrix/files/libcmatrix-3.11.0-shared.patch new file mode 100644 index 00000000000..6c5c3167619 --- /dev/null +++ b/sci-libs/libcmatrix/files/libcmatrix-3.11.0-shared.patch @@ -0,0 +1,80 @@ +diff --git a/Makefile.in b/Makefile.in +index 1361371..1448e76 100755 +--- a/Makefile.in ++++ b/Makefile.in +@@ -13,8 +13,8 @@ AR=@AR@ + + # You shouldn't need to alter anything below here + +-COMPILE=$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c +-ALLOPTFLAGS=$(OPTFLAGS) -DNDEBUG ++COMPILE=$(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -c ++#ALLOPTFLAGS=$(OPTFLAGS) -DNDEBUG + + LOCALOBJS= local/CrystalSystem.o local/CrystalGeneric.o local/MoleculeStructure.o + COREOBJS= coredefs/complex.o coredefs/common.o coredefs/diagonal.o coredefs/diagonalise.o coredefs/power.o coredefs/invert.o coredefs/transforms.o coredefs/blocking.o coredefs/mixed.o coredefs/realtransforms.o coredefs/Chebyshev.o +@@ -36,7 +36,7 @@ ALLTHROBJS=$(UNSAFEOBJS:.o=_r.o) $(ALLSAFEOBJS) + + ROOT=.. + +-first: lib/libcmatrix.a ++first: lib/libcmatrix.so.3.11.0 + + #%.o: %.f + # @F77@ @FFLAGS@ -c -o $@ $< +@@ -68,25 +68,25 @@ tempclean: + # -cd optim; @CLEAN@ + # -cd local; @CLEAN@ + +-lib/libcmatrix.a: $(ALLNORMOBJS) +- $(AR) $@ $(ALLNORMOBJS) +- chmod a+rx $@ +- $(RANLIB) $@ +- +-lib/libcmatrix_p.a: $(ALLPROFOBJS) +- $(AR) $@ $(ALLPROFOBJS) +- chmod a+rx $@ +- $(RANLIB) $@ +- +-lib/libcmatrix-g.a: $(ALLGOBJS) +- $(AR) $@ $(ALLGOBJS) +- chmod a+rx $@ +- $(RANLIB) $@ +- +-lib/libcmatrix_r.a: $(ALLTHROBJS) +- $(AR) @MTFLAGS@ $@ $(ALLTHROBJS) +- chmod a+rx $@ +- $(RANLIB) $@ ++lib/libcmatrix.so.3.11.0: $(ALLNORMOBJS) ++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLNORMOBJS) -lrt @ATLAS_LIBS@ ++ ln -sf libcmatrix.so.3.11.0 lib/libcmatrix.so.3 ++ ln -sf libcmatrix.so.3.11.0 lib/libcmatrix.so ++ ++lib/libcmatrix_p.so.3.11.0: $(ALLPROFOBJS) ++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLPROFOBJS) -lrt @ATLAS_LIBS@ ++ ln -sf libcmatrix_p.so.3.11.0 lib/libcmatrix_p.so.3 ++ ln -sf libcmatrix_p.so.3.11.0 lib/libcmatrix_p.so ++ ++lib/libcmatrix-g.so.3.11.0: $(ALLGOBJS) ++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLGOBJS) -lrt @ATLAS_LIBS@ ++ ln -sf libcmatrix-g.so.3.11.0 lib/libcmatrix-g.so.3 ++ ln -sf libcmatrix-g.so.3.11.0 lib/libcmatrix-g.so ++ ++lib/libcmatrix.so_r.3.11.0: $(ALLTHROBJS) ++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLTHROBJS) -lrt @ATLAS_LIBS@ ++ ln -sf libcmatrix_r.so.3.11.0 lib/libcmatrix_r.so.3 ++ ln -sf libcmatrix_r.so.3.11.0 lib/libcmatrix_r.so + + @CONFIGLEAF@.tar.gz: + cd $(ROOT) ; tar --exclude lib/* --exclude *.o --exclude=*~ --exclude=Makefile --exclude=include/config.h --exclude=config.status -cvf @CONFIGLEAF@.tar @CONFIGLEAF@ +diff --git a/configure.ac b/configure.ac +index c0ae0e1..50dcd5a 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -1,5 +1,6 @@ + AC_INIT(configure.ac) + AC_CONFIG_HEADER(include/config.h) ++LT_INIT + + DEFAR="ar ru" + MAKEEXTRA= diff --git a/sci-libs/libcmatrix/files/libcmatrix-3.2.1-atlas.patch b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-atlas.patch new file mode 100644 index 00000000000..b10b41d4e38 --- /dev/null +++ b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-atlas.patch @@ -0,0 +1,33 @@ + configure-libraries.ac | 5 ++++- + 1 files changed, 4 insertions(+), 1 deletions(-) + +diff --git a/configure-libraries.ac b/configure-libraries.ac +index a64e79c..afc75b8 100755 +--- a/configure-libraries.ac ++++ b/configure-libraries.ac +@@ -33,6 +33,7 @@ AC_ARG_WITH(atlas, + AS_HELP_STRING([--with-atlas],[use the ATLAS BLAS library (default-use if found)]),,with_atlas=check) + if test x$with_atlas != xno; then + FOUNDATLAS=yes ++ PKG_CHECK_MODULES([ATLAS], [cblas]) + AC_CHECK_HEADERS(cblas.h,,FOUNDATLAS=no + AC_MSG_WARN([ATLAS header files (cblas.h) not found + Is CPPFLAGS is defined to include relevant directory?])) +@@ -40,7 +41,7 @@ Is CPPFLAGS is defined to include relevant directory?])) + AC_MSG_WARN([ATLAS library (libatlas.a) not found + Is LDFLAGS is defined to include relevant directory?])) + if test x$FOUNDATLAS = xyes; then +- LIBS="-lcblas $LIBS" ++ LIBS="$ATLAS_LIBS $LIBS" + CXXFLAGS="$CXXFLAGS -DLCM_USE_EXTERNAL" + else + if test x$with_atlas = xyes; then +@@ -49,6 +50,8 @@ Is LDFLAGS is defined to include relevant directory?])) + fi + fi + ++AC_SUBST(ATLAS_LIBS) ++ + AC_ARG_WITH(acml, + AS_HELP_STRING([--with-acml],[use the ACML BLAS library (default=no)]),,with_acml=no) + if test x$with_acml = xyes; then diff --git a/sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.4.patch b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.4.patch new file mode 100644 index 00000000000..24c1a89b48d --- /dev/null +++ b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.4.patch @@ -0,0 +1,12 @@ +diff --git a/include/DynamicList.h b/include/DynamicList.h +index f8c1346..05a7b10 100755 +--- a/include/DynamicList.h ++++ b/include/DynamicList.h +@@ -4,6 +4,7 @@ + #include "BaseList.h" + #include "lcm_basethreads.h" + #include "Warnings.h" ++#include + + namespace libcmatrix { + diff --git a/sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.6.patch b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.6.patch new file mode 100644 index 00000000000..b3d8c8d1999 --- /dev/null +++ b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.6.patch @@ -0,0 +1,16 @@ + NMR/MetaPropagation.cc | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/NMR/MetaPropagation.cc b/NMR/MetaPropagation.cc +index b7ed98b..ce8c16f 100755 +--- a/NMR/MetaPropagation.cc ++++ b/NMR/MetaPropagation.cc +@@ -2136,7 +2136,7 @@ SpinOpGenerator::add_A0(T& dest,F func, double coup, size_t j, size_t sk, Type2T + { ref_.clear(0); } + const space_T& operator()() const { return ref_; } + ~fudge_isotropic_() { ref_.ensure_rank(0); } +- mutable space_T& ref_; ++ space_T& ref_; + }; + template<> struct fudge_isotropic_ { + fudge_isotropic_(double v) : v_(v) {}; diff --git a/sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.7.patch b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.7.patch new file mode 100644 index 00000000000..633c9d50cf9 --- /dev/null +++ b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.7.patch @@ -0,0 +1,227 @@ + include/MultiMatrix.h | 14 +++++++------- + include/UnionHolder.h | 40 ++++++++++++++++++++-------------------- + include/basedefs.h | 22 ++++++++++++---------- + utils/Fork_controller.cc | 3 +++ + utils/ttyio.cc | 2 ++ + 5 files changed, 44 insertions(+), 37 deletions(-) + +diff --git a/include/MultiMatrix.h b/include/MultiMatrix.h +index b6fec33..2d54db5 100755 +--- a/include/MultiMatrix.h ++++ b/include/MultiMatrix.h +@@ -254,19 +254,19 @@ namespace libcmatrix { + } + + size_t operator()(size_t r) const +- { check_bounds_open(dim,r); ++ { this->check_bounds_open(dim,r); + return r*mults[0]; } + + size_t operator()(size_t r,size_t s) const +- { check_bounds_open(dim,r,s); ++ { this->check_bounds_open(dim,r,s); + return r*mults[0]+s*mults[1]; } + + size_t operator()(size_t r,size_t s,size_t t) const +- { check_bounds_open(dim,r,s,t); ++ { this->check_bounds_open(dim,r,s,t); + return r*mults[0]+s*mults[1]+t*mults[2]; } + + size_t operator()(size_t r,size_t s,size_t t,size_t u) const +- { check_bounds_open(dim,r,s,t,u); ++ { this->check_bounds_open(dim,r,s,t,u); + return r*mults[0]+s*mults[1]+t*mults[2]+u*mults[3]; } + + size_t index(size_t r) const +@@ -293,14 +293,14 @@ namespace libcmatrix { + + void reverse(size_t& r, size_t& s, size_t ind) const { + LCM_STATIC_CHECK(N==2, Indexer_non2D_object); +- check(indcheck(indcheck(indcheck(indclear_(first_); break; ++ case 2: this->clear_(second_); break; ++ case 3: this->clear_(third_); break; ++ case 4: this->clear_(fourth_); break; ++ case 5: this->clear_(fifth_); break; ++ case 6: this->clear_(sixth_); break; ++ case 7: this->clear_(seventh_); break; ++ case 8: this->clear_(eighth_); break; ++ case 9: this->clear_(nineth_); break; + } + type_=0; + } + + template UnionHolder& operator= (const T& v) { +- get(Type2Type())=v; ++ this->get(Type2Type())=v; + type(Type2Type()); //only change type if assignment was successful + return *this; + } +@@ -399,12 +399,12 @@ namespace libcmatrix { + + template T& set(Type2Type in) { + type(in); +- return get(in); ++ return this->get(in); + } + + template typename reverse::type& set(Int2Type in) { + type(in); +- return get(Type2Type::type>()); ++ return this->get(Type2Type::type>()); + } + + template T& operator()(Type2Type in) { +@@ -429,12 +429,12 @@ namespace libcmatrix { + + template typename reverse::type& operator()(Int2Type in) { + verify(in); +- return get(Type2Type::type>()); ++ return this->get(Type2Type::type>()); + } + + template const typename reverse::type& operator()(Int2Type in) const { + verify(in); +- return get(Type2Type::type>()); ++ return this->get(Type2Type::type>()); + } + }; + +@@ -482,12 +482,12 @@ namespace libcmatrix { + bool iscomplex() const { return (this->type()==COMPLEX); } + bool isreal() const { return (this->type()==REAL); } + +- C& set_complex() { return set(Int2Type()); } +- R& set_real() { return set(Int2Type()); } +- const C& get_complex() const { return get(Type2Type()); } +- const R& get_real() const { return get(Type2Type()); } +- C& get_complex() { return get(Type2Type()); } +- R& get_real() { return get(Type2Type()); } ++ C& set_complex() { return this->set(Int2Type()); } ++ R& set_real() { return this->set(Int2Type()); } ++ const C& get_complex() const { return this->get(Type2Type()); } ++ const R& get_real() const { return this->get(Type2Type()); } ++ C& get_complex() { return this->get(Type2Type()); } ++ R& get_real() { return this->get(Type2Type()); } + }; + + } //namespace libcmatrix +diff --git a/include/basedefs.h b/include/basedefs.h +index 420b341..80d47e3 100755 +--- a/include/basedefs.h ++++ b/include/basedefs.h +@@ -13,6 +13,8 @@ + #include + #include + #include ++#include ++//#include "BlockedMatrix.h" + //#include + + // #ifdef LCM_DEBUG_ALLOCATOR +@@ -1703,6 +1705,16 @@ template struct Multiply_ { + } + }; + ++template struct Mla_ { ++ template static void func(T1&, const T2&, const T3&) { ++ LCM_STATIC_ERROR( mla_incompatible_dimensionalities ); ++ } ++}; ++ ++template inline void mla(T1& d,const T2& a,const T3& b) { ++ Mla_::func(d,a,b); ++} ++ + template<> struct Multiply_<2,2,2> { + template static void func(T1& dest,const T2& a,const T3& b) + { +@@ -1875,12 +1887,6 @@ template<> struct Multiply_<0,0,0> { + Multiply_::func(d,a,b); + } + +-template struct Mla_ { +- template static void func(T1&, const T2&, const T3&) { +- LCM_STATIC_ERROR( mla_incompatible_dimensionalities ); +- } +-}; +- + template struct Mla_ { + template LCM_INLINE static void func(T1& d, const T2& a, const T3& b) { + if (d.empty()) +@@ -1940,10 +1946,6 @@ template<> struct Mla_<0,0,0> { + } + }; + +-template inline void mla(T1& d,const T2& a,const T3& b) { +- Mla_::func(d,a,b); +-} +- + template struct Print_ { + static void print(const T& a,std::ostream& ostr) { + ostr << '['; +diff --git a/utils/Fork_controller.cc b/utils/Fork_controller.cc +index 5f6b913..08ec942 100755 +--- a/utils/Fork_controller.cc ++++ b/utils/Fork_controller.cc +@@ -3,6 +3,9 @@ + #include + #include + #include ++#include ++#include ++ + + namespace libcmatrix { + +diff --git a/utils/ttyio.cc b/utils/ttyio.cc +index 17e4eb3..bbeac81 100755 +--- a/utils/ttyio.cc ++++ b/utils/ttyio.cc +@@ -17,6 +17,8 @@ + #include "args_iter.h" + #endif + ++#include ++ + namespace libcmatrix { + + namespace { diff --git a/sci-libs/libcmatrix/files/libcmatrix-3.2.1-minuit2.patch b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-minuit2.patch new file mode 100644 index 00000000000..e7a6cec644b --- /dev/null +++ b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-minuit2.patch @@ -0,0 +1,14 @@ +--- a/configure-libraries.ac ++++ b/configure-libraries.ac +@@ -14,8 +14,8 @@ + fi + if test x$FOUNDMINUIT = xyes; then + AC_CHECK_LIB(lcg_Minuit,main,, +- AC_CHECK_LIB(Minuit,main,,FOUNDMINUIT=no +- AC_MSG_WARN([Minuit library (liblcg_Minuit or libMinuit) not found ++ AC_CHECK_LIB(Minuit2,main,,FOUNDMINUIT=no ++ AC_MSG_WARN([Minuit library (liblcg_Minuit or libMinuit2) not found + Is LDFLAGS is defined to include relevant directory?]))) + if test x$FOUNDMINUIT = xyes; then + AC_DEFINE(HAVE_LIBMINUIT) + diff --git a/sci-libs/libcmatrix/files/libcmatrix-3.2.1-shared.patch b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-shared.patch new file mode 100644 index 00000000000..4e843027abd --- /dev/null +++ b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-shared.patch @@ -0,0 +1,80 @@ +diff --git a/Makefile.in b/Makefile.in +index 1361371..1448e76 100755 +--- a/Makefile.in ++++ b/Makefile.in +@@ -13,8 +13,8 @@ AR=@AR@ + + # You shouldn't need to alter anything below here + +-COMPILE=$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c +-ALLOPTFLAGS=$(OPTFLAGS) -DNDEBUG ++COMPILE=$(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -c ++#ALLOPTFLAGS=$(OPTFLAGS) -DNDEBUG + + LOCALOBJS= local/CrystalSystem.o local/CrystalGeneric.o local/MoleculeStructure.o + COREOBJS= coredefs/complex.o coredefs/common.o coredefs/diagonal.o coredefs/diagonalise.o coredefs/power.o coredefs/invert.o coredefs/transforms.o coredefs/blocking.o coredefs/mixed.o coredefs/realtransforms.o coredefs/Chebyshev.o +@@ -36,7 +36,7 @@ ALLTHROBJS=$(UNSAFEOBJS:.o=_r.o) $(ALLSAFEOBJS) + + ROOT=.. + +-first: lib/libcmatrix.a ++first: lib/libcmatrix.so.3.2.1 + + #%.o: %.f + # @F77@ @FFLAGS@ -c -o $@ $< +@@ -68,25 +68,25 @@ tempclean: + # -cd optim; @CLEAN@ + # -cd local; @CLEAN@ + +-lib/libcmatrix.a: $(ALLNORMOBJS) +- $(AR) $@ $(ALLNORMOBJS) +- chmod a+rx $@ +- $(RANLIB) $@ +- +-lib/libcmatrix_p.a: $(ALLPROFOBJS) +- $(AR) $@ $(ALLPROFOBJS) +- chmod a+rx $@ +- $(RANLIB) $@ +- +-lib/libcmatrix-g.a: $(ALLGOBJS) +- $(AR) $@ $(ALLGOBJS) +- chmod a+rx $@ +- $(RANLIB) $@ +- +-lib/libcmatrix_r.a: $(ALLTHROBJS) +- $(AR) @MTFLAGS@ $@ $(ALLTHROBJS) +- chmod a+rx $@ +- $(RANLIB) $@ ++lib/libcmatrix.so.3.2.1: $(ALLNORMOBJS) ++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLNORMOBJS) @ATLAS_LIBS@ ++ ln -sf libcmatrix.so.3.2.1 lib/libcmatrix.so.3 ++ ln -sf libcmatrix.so.3.2.1 lib/libcmatrix.so ++ ++lib/libcmatrix_p.so.3.2.1: $(ALLPROFOBJS) ++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLPROFOBJS) @ATLAS_LIBS@ ++ ln -sf libcmatrix_p.so.3.2.1 lib/libcmatrix_p.so.3 ++ ln -sf libcmatrix_p.so.3.2.1 lib/libcmatrix_p.so ++ ++lib/libcmatrix-g.so.3.2.1: $(ALLGOBJS) ++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLGOBJS) @ATLAS_LIBS@ ++ ln -sf libcmatrix-g.so.3.2.1 lib/libcmatrix-g.so.3 ++ ln -sf libcmatrix-g.so.3.2.1 lib/libcmatrix-g.so ++ ++lib/libcmatrix.so_r.3.2.1: $(ALLTHROBJS) ++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLTHROBJS) @ATLAS_LIBS@ ++ ln -sf libcmatrix_r.so.3.2.1 lib/libcmatrix_r.so.3 ++ ln -sf libcmatrix_r.so.3.2.1 lib/libcmatrix_r.so + + @CONFIGLEAF@.tar.gz: + cd $(ROOT) ; tar --exclude lib/* --exclude *.o --exclude=*~ --exclude=Makefile --exclude=include/config.h --exclude=config.status -cvf @CONFIGLEAF@.tar @CONFIGLEAF@ +diff --git a/configure.ac b/configure.ac +index c0ae0e1..50dcd5a 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -1,5 +1,6 @@ + AC_INIT(configure.ac) + AC_CONFIG_HEADER(include/config.h) ++LT_INIT + + DEFAR="ar ru" + MAKEEXTRA= diff --git a/sci-libs/libcmatrix/files/libcmatrix-3.9.0-atlas.patch b/sci-libs/libcmatrix/files/libcmatrix-3.9.0-atlas.patch new file mode 100644 index 00000000000..329e794645e --- /dev/null +++ b/sci-libs/libcmatrix/files/libcmatrix-3.9.0-atlas.patch @@ -0,0 +1,24 @@ + configure-libraries.ac | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/configure-libraries.ac b/configure-libraries.ac +index 6e9579d..a919398 100755 +--- a/configure-libraries.ac ++++ b/configure-libraries.ac +@@ -33,6 +33,7 @@ AC_ARG_WITH(atlas, + AS_HELP_STRING([--with-atlas],[use the ATLAS BLAS library (default-use if found)]),,with_atlas=check) + if test x$with_atlas != xno; then + FOUNDATLAS=yes ++ PKG_CHECK_MODULES([ATLAS], [cblas]) + AC_CHECK_HEADERS(cblas.h,,FOUNDATLAS=no + AC_MSG_WARN([ATLAS header files (cblas.h) not found + Is CPPFLAGS is defined to include relevant directory?])) +@@ -40,7 +41,7 @@ Is CPPFLAGS is defined to include relevant directory?])) + AC_MSG_WARN([ATLAS library (libatlas.a) not found + Is LDFLAGS is defined to include relevant directory?])) + if test x$FOUNDATLAS = xyes; then +- LIBS="-lcblas $LIBS" ++ LIBS="$ATLAS_LIBS $LIBS" + CXXFLAGS="$CXXFLAGS -DLCM_USE_EXTERNAL" + else + if test x$with_atlas = xyes; then diff --git a/sci-libs/libcmatrix/libcmatrix-3.11.0-r1.ebuild b/sci-libs/libcmatrix/libcmatrix-3.11.0-r1.ebuild new file mode 100644 index 00000000000..13933741751 --- /dev/null +++ b/sci-libs/libcmatrix/libcmatrix-3.11.0-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit autotools + +MY_P="${PN}${PV}_lite" + +DESCRIPTION="lite version of pNMRsim" +HOMEPAGE="http://www.dur.ac.uk/paul.hodgkinson/pNMRsim/" +SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.gz" + +LICENSE="all-rights-reserved" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="cpu_flags_x86_sse threads" + +RDEPEND="sci-libs/minuit" +DEPEND="${RDEPEND}" + +RESTRICT=mirror + +S="${WORKDIR}/${PN}R3" + +DOCS=( CHANGES docs/cmatrix.pdf ) +PATCHES=( + "${FILESDIR}/${PN}-3.11.0-shared.patch" + "${FILESDIR}/${PN}-3.2.1-minuit2.patch" + "${FILESDIR}/${PN}-3.2.1-gcc4.4.patch" + "${FILESDIR}/${PN}-3.2.1-gcc4.6.patch" + "${FILESDIR}/${PN}-3.2.1-gcc4.7.patch" + "${FILESDIR}/${PN}-3.9.0-atlas.patch" + "${FILESDIR}/${PN}-3.11.0-gcc5.2.patch" + "${FILESDIR}/${PN}-3.11.0-fix-c++14.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf \ + --with-minuit \ + --without-atlas \ + --with-sysroot="${EROOT}" \ + $(use_with cpu_flags_x86_sse sse) \ + $(use_with threads) +} + +src_install() { + dolib.so lib/*.so* + + insinto /usr/include/${PN}R3 + doins -r include/. + + einstalldocs +} diff --git a/sci-libs/libcmatrix/libcmatrix-3.11.0.ebuild b/sci-libs/libcmatrix/libcmatrix-3.11.0.ebuild deleted file mode 100644 index e4b2694e46e..00000000000 --- a/sci-libs/libcmatrix/libcmatrix-3.11.0.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -AUTOTOOLS_AUTORECONF=true - -inherit autotools-utils - -MY_P="${PN}${PV}_lite" - -DESCRIPTION="lite version of pNMRsim" -HOMEPAGE="http://www.dur.ac.uk/paul.hodgkinson/pNMRsim/" -#SRC_URI="${HOMEPAGE}/${MY_P}.tar.gz" -SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.gz" - -LICENSE="all-rights-reserved" -SLOT="0" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -IUSE="cpu_flags_x86_sse threads" - -RDEPEND="sci-libs/minuit" -DEPEND="${RDEPEND}" - -RESTRICT=mirror - -S="${WORKDIR}"/${PN}R3 - -PATCHES=( - "${FILESDIR}"/${PV}-shared.patch - "${FILESDIR}"/3.2.1-minuit2.patch - "${FILESDIR}"/3.2.1-gcc4.4.patch - "${FILESDIR}"/3.2.1-gcc4.6.patch - "${FILESDIR}"/3.2.1-gcc4.7.patch - "${FILESDIR}"/3.9.0-atlas.patch - "${FILESDIR}"/${P}-gcc5.2.patch - ) - -AUTOTOOLS_IN_SOURCE_BUILD=1 - -src_configure() { - econf \ - --with-minuit \ - --without-atlas \ - --with-sysroot="${EROOT}" \ - $(use_with cpu_flags_x86_sse sse) \ - $(use_with threads) -} - -src_install() { - dolib.so lib/*.so* - - insinto /usr/include/${PN}R3 - doins include/* - - dodoc CHANGES docs/* -} -- cgit v1.2.1