Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Jun 2017 17:04:46 +0000 (UTC)
From:      Thierry Thomas <thierry@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r443591 - in head/math/mumps: . files
Message-ID:  <201706141704.v5EH4kS7083978@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: thierry
Date: Wed Jun 14 17:04:45 2017
New Revision: 443591
URL: https://svnweb.freebsd.org/changeset/ports/443591

Log:
  Build and install the shared libraries.
  They are needed by pfg@ to port trilinos.

Added:
  head/math/mumps/files/patch-Make.inc_Makefile.inc.generic
     - copied, changed from r443590, head/math/mumps/files/patch-Make.inc+Makefile.inc.generic
  head/math/mumps/files/patch-Make.inc_Makefile.inc.generic.SEQ
     - copied, changed from r443590, head/math/mumps/files/patch-Make.inc+Makefile.inc.generic.SEQ
  head/math/mumps/files/patch-Makefile   (contents, props changed)
Deleted:
  head/math/mumps/files/patch-Make.inc+Makefile.inc.generic
  head/math/mumps/files/patch-Make.inc+Makefile.inc.generic.SEQ
Modified:
  head/math/mumps/Makefile
  head/math/mumps/files/patch-PORD_lib_Makefile
  head/math/mumps/files/patch-libseq_Makefile
  head/math/mumps/files/patch-src_Makefile
  head/math/mumps/pkg-plist

Modified: head/math/mumps/Makefile
==============================================================================
--- head/math/mumps/Makefile	Wed Jun 14 16:22:13 2017	(r443590)
+++ head/math/mumps/Makefile	Wed Jun 14 17:04:45 2017	(r443591)
@@ -2,8 +2,8 @@
 # $FreeBSD$
 
 PORTNAME=	mumps
-PORTVERSION=	4.10.0
-PORTREVISION=	6
+PORTVERSION=	4.10.0	# Please do not upgrade to 5+: if needed repocopy to math/mumps5
+PORTREVISION=	7
 CATEGORIES=	math
 MASTER_SITES=	http://mumps.enseeiht.fr/		\
 		http://graal.ens-lyon.fr/MUMPS/		\
@@ -38,6 +38,7 @@ MAKE_JOBS_UNSAFE=yes
 
 FORTRANLIBS=	-lgfortran
 GCCLIBDIR=	${LDFLAGS}
+USE_LDCONFIG=	yes
 
 .if defined(WITH_OPTIMIZED_FLAGS)
 FFLAGS+=	-O3 -ffast-math
@@ -95,18 +96,22 @@ pre-configure:
 .else
 	${INSTALL_DATA} ${WRKSRC}/Make.inc/Makefile.inc.generic.SEQ \
 		${WRKSRC}/Makefile.inc
+	${REINPLACE_CMD} -e 's+LIBPAR+LIBSEQ+' ${WRKSRC}/src/Makefile
 .endif
 
 pre-build:
 	${DIRNAME} `${FC} -print-libgcc-file-name` > ${WRKSRC}/LIBDIR
+.for MF in Makefile.inc PORD/lib/Makefile libseq/Makefile src/Makefile
 	${REINPLACE_CMD} -e 's+@CC@+${CC}+g ; s+@FC@+${FC}+g ; \
-	s+@CFLAGS@+${CFLAGS}+g; \
-	s+@FCFLAGS@+${FCFLAGS}+g; \
+	s+@CFLAGS@+${CFLAGS} -fPIC+g; \
+	s+@FCFLAGS@+${FCFLAGS} -fPIC+g; \
+	s+@SOVER@+${PORTVERSION}+g; \
 	s+@GCCLIBDIR@+${GCCLIBDIR}+g; \
 	s+@FORTRANLIBS@+${FORTRANLIBS}+g; \
 	s+@BLAS_LIBS@+${BLAS_LIBS}+ ; \
 	s+@LOCALBASE@+${LOCALBASE}+g;' \
-		${WRKSRC}/Makefile.inc
+		${WRKSRC}/${MF}
+.endfor
 .ifdef WITH_MPI
 	${REINPLACE_CMD} -e 's+@LAPACK_LIBS@+${LAPACK_LIBS}+g;' ${WRKSRC}/Makefile.inc
 .endif
@@ -117,8 +122,10 @@ pre-build:
 do-install:
 	${INSTALL_DATA} ${WRKSRC}/include/*.h ${STAGEDIR}${PREFIX}/include
 	${INSTALL_DATA} ${WRKSRC}/lib/lib*.a ${STAGEDIR}${PREFIX}/lib
+	${INSTALL_LIB} ${WRKSRC}/lib/lib*.so ${STAGEDIR}${PREFIX}/lib
 .ifndef WITH_MPI
 	${INSTALL_DATA} ${WRKSRC}/libseq/libmpiseq.a ${STAGEDIR}${PREFIX}/lib
+	${INSTALL_LIB} ${WRKSRC}/libseq/libmpiseq*.so ${STAGEDIR}${PREFIX}/lib
 .endif
 	${MKDIR} ${STAGEDIR}${DOCSDIR}
 	${INSTALL_DATA} ${WRKSRC}/doc/userguide_${PORTVERSION}.pdf ${STAGEDIR}${DOCSDIR}
@@ -132,7 +139,7 @@ do-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/examples/${ex} ${STAGEDIR}${EXAMPLESDIR}
 . endfor
 
-regression-test:
+regression-test:	install
 .if defined (WITH_MPI) && defined(MAINTAINER_MODE)
 .  if !exists(${HOME}/.mpd.conf)
 	@${ECHO_CMD} "MPD_SECRETWORD=change_on_install" > ${HOME}/.mpd.conf

Copied and modified: head/math/mumps/files/patch-Make.inc_Makefile.inc.generic (from r443590, head/math/mumps/files/patch-Make.inc+Makefile.inc.generic)
==============================================================================
--- head/math/mumps/files/patch-Make.inc+Makefile.inc.generic	Wed Jun 14 16:22:13 2017	(r443590, copy source)
+++ head/math/mumps/files/patch-Make.inc_Makefile.inc.generic	Wed Jun 14 17:04:45 2017	(r443591)
@@ -1,5 +1,5 @@
---- Make.inc/Makefile.inc.generic.orig	2011-05-10 14:56:32.000000000 +0200
-+++ Make.inc/Makefile.inc.generic	2013-08-11 17:41:51.000000000 +0200
+--- Make.inc/Makefile.inc.generic.orig	2011-05-10 12:56:32 UTC
++++ Make.inc/Makefile.inc.generic
 @@ -39,7 +39,7 @@
  #          Metis/ParMetis and SCOTCH/PT-SCOTCH (ver 5.1 and later) orderings are now available for MUMPS.
  #
@@ -9,7 +9,7 @@
  #ISCOTCH    = -I$(SCOTCHDIR)/include 
  # You have to choose one among the following two lines depending on
  # the type of analysis you want to perform. If you want to perform only
-@@ -55,7 +55,7 @@
+@@ -55,7 +55,7 @@ LPORDDIR = $(topdir)/PORD/lib/
  IPORD    = -I$(topdir)/PORD/include/
  LPORD    = -L$(LPORDDIR) -lpord
  
@@ -18,7 +18,7 @@
  #IMETIS    = # Should be provided if you use parmetis
  
  # You have to choose one among the following two lines depending on
-@@ -70,7 +70,7 @@
+@@ -70,7 +70,7 @@ LPORD    = -L$(LPORDDIR) -lpord
  # The following variables will be used in the compilation process.
  # Please note that -Dptscotch and -Dparmetis imply -Dscotch and -Dmetis respectively.
  #ORDERINGSF = -Dscotch -Dmetis -Dpord -Dptscotch -Dparmetis
@@ -27,7 +27,7 @@
  ORDERINGSC  = $(ORDERINGSF)
  
  LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH)
-@@ -91,11 +91,11 @@
+@@ -91,11 +91,11 @@ OUTF    = -o 
  # RM : remove files
  RM      = /bin/rm -f
  # CC : C compiler
@@ -42,7 +42,7 @@
  # AR : Archive object in a library
  #      keep a space at the end if options have to be separated from lib name
  AR      = ar vr 
-@@ -105,13 +105,13 @@
+@@ -105,13 +105,13 @@ RANLIB  = ranlib
  #RANLIB  = echo
  
  # SCALAP should define the SCALAPACK and  BLACS libraries.
@@ -59,7 +59,7 @@
  
  # The parallel version is not concerned by the next two lines.
  # They are related to the sequential library provided by MUMPS,
-@@ -121,10 +121,10 @@
+@@ -121,10 +121,10 @@ LIBSEQ  = -Llibseq -lmpiseq
  
  # DEFINE HERE YOUR BLAS LIBRARY
  
@@ -72,7 +72,7 @@
  
  # FORTRAN/C COMPATIBILITY:
  #  Use:
-@@ -137,11 +137,11 @@
+@@ -137,11 +137,11 @@ LIBOTHERS = -lpthread
  #     leave empty if your Fortran compiler does not change the symbols.
  #
  

Copied and modified: head/math/mumps/files/patch-Make.inc_Makefile.inc.generic.SEQ (from r443590, head/math/mumps/files/patch-Make.inc+Makefile.inc.generic.SEQ)
==============================================================================
--- head/math/mumps/files/patch-Make.inc+Makefile.inc.generic.SEQ	Wed Jun 14 16:22:13 2017	(r443590, copy source)
+++ head/math/mumps/files/patch-Make.inc_Makefile.inc.generic.SEQ	Wed Jun 14 17:04:45 2017	(r443591)
@@ -1,5 +1,5 @@
---- Make.inc/Makefile.inc.generic.SEQ.orig	2011-05-10 14:56:32.000000000 +0200
-+++ Make.inc/Makefile.inc.generic.SEQ	2013-08-11 18:13:02.000000000 +0200
+--- Make.inc/Makefile.inc.generic.SEQ.orig	2011-05-10 12:56:32 UTC
++++ Make.inc/Makefile.inc.generic.SEQ
 @@ -41,7 +41,7 @@
  #          Metis/ParMetis and SCOTCH/PT-SCOTCH (ver 5.1 and later) orderings are now available for MUMPS.
  #
@@ -9,7 +9,7 @@
  #ISCOTCH    = -I$(SCOTCHDIR)/include 
  # You have to choose one among the following two lines depending on
  # the type of analysis you want to perform. If you want to perform only
-@@ -57,7 +57,7 @@
+@@ -57,7 +57,7 @@ LPORDDIR = $(topdir)/PORD/lib/
  IPORD    = -I$(topdir)/PORD/include/
  LPORD    = -L$(LPORDDIR) -lpord
  
@@ -18,7 +18,7 @@
  #IMETIS    = # Should be provided if you use parmetis
  
  # You have to choose one among the following two lines depending on
-@@ -72,7 +72,7 @@
+@@ -72,7 +72,7 @@ LPORD    = -L$(LPORDDIR) -lpord
  # The following variables will be used in the compilation process.
  # Please note that -Dptscotch and -Dparmetis imply -Dscotch and -Dmetis respectively.
  #ORDERINGSF = -Dscotch -Dmetis -Dpord -Dptscotch -Dparmetis
@@ -27,7 +27,7 @@
  ORDERINGSC  = $(ORDERINGSF)
  
  LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH)
-@@ -95,11 +95,11 @@
+@@ -95,11 +95,11 @@ OUTF    = -o 
  # RM : remove files
  RM      = /bin/rm -f
  # CC : C compiler
@@ -42,7 +42,7 @@
  # AR : Archive object in a library
  #      keep a space at the end if options have to be separated from lib name
  AR      = ar vr 
-@@ -112,14 +112,14 @@
+@@ -112,14 +112,14 @@ RANLIB  = ranlib
  # the sequential library provided by MUMPS, to use instead
  # of ScaLAPACK and MPI.
  INCSEQ  = -I$(topdir)/libseq
@@ -60,7 +60,7 @@
  
  # FORTRAN/C COMPATIBILITY:
  #  Use:
-@@ -132,12 +132,12 @@
+@@ -132,12 +132,12 @@ LIBOTHERS = -lpthread
  #     leave empty if your Fortran compiler does not change the symbols.
  #
  

Added: head/math/mumps/files/patch-Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/mumps/files/patch-Makefile	Wed Jun 14 17:04:45 2017	(r443591)
@@ -0,0 +1,20 @@
+--- Makefile.orig	2011-05-10 12:56:32 UTC
++++ Makefile
+@@ -51,7 +51,7 @@ zexamples:	z
+ 	(cd examples ; $(MAKE) z)
+ 
+ 
+-requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT)
++requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) $(libdir)/libpord$(PLAT).so
+ 
+ # dummy MPI library (sequential version)
+ 
+@@ -65,7 +65,7 @@ $(libdir)/libpord$(PLAT)$(LIBEXT):
+ 	  $(MAKE) CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" RANLIB="$(RANLIB)" OUTC=$(OUTC) LIBEXT=$(LIBEXT); \
+ 	fi;
+ 	if [ "$(LPORDDIR)" != "" ] ; then \
+-	  cp $(LPORDDIR)/libpord$(LIBEXT) $@; \
++	  cp $(LPORDDIR)/libpord* $(libdir)/; \
+ 	fi;
+ 
+ clean:

Modified: head/math/mumps/files/patch-PORD_lib_Makefile
==============================================================================
--- head/math/mumps/files/patch-PORD_lib_Makefile	Wed Jun 14 16:22:13 2017	(r443590)
+++ head/math/mumps/files/patch-PORD_lib_Makefile	Wed Jun 14 17:04:45 2017	(r443591)
@@ -1,11 +1,21 @@
---- PORD/lib/Makefile.orig	2011-05-10 14:56:32.000000000 +0200
-+++ PORD/lib/Makefile	2013-08-11 18:31:47.000000000 +0200
-@@ -22,7 +22,7 @@
+--- PORD/lib/Makefile.orig	2011-05-10 12:56:32 UTC
++++ PORD/lib/Makefile
+@@ -21,10 +21,16 @@ OBJS = graph.o gbipart.o gbisect.o ddcre
+ .c.o:
  	$(CC) $(COPTIONS) -c $*.c $(OUTC)$*.o
  
- libpord$(LIBEXT):$(OBJS)
+-libpord$(LIBEXT):$(OBJS)
 -	$(AR)$@ $(OBJS)
++all: libpord$(LIBEXT) libpord.so
++
++libpord$(LIBEXT): $(OBJS)
 +	$(AR) $@ $(OBJS)
  	$(RANLIB) $@
  
++libpord.so: $(OBJS)
++	$(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT)-@SOVER@.so -o libpord$(PLAT)-@SOVER@.so -Wl,-z,defs
++	ln -s libpord$(PLAT)-@SOVER@.so $@
++
  clean:
+ 	rm -f *.o
+ 

Modified: head/math/mumps/files/patch-libseq_Makefile
==============================================================================
--- head/math/mumps/files/patch-libseq_Makefile	Wed Jun 14 16:22:13 2017	(r443590)
+++ head/math/mumps/files/patch-libseq_Makefile	Wed Jun 14 17:04:45 2017	(r443591)
@@ -1,11 +1,24 @@
---- libseq/Makefile.orig	2011-05-10 14:56:39.000000000 +0200
-+++ libseq/Makefile	2013-08-11 18:05:34.000000000 +0200
-@@ -10,7 +10,7 @@
- libmpiseq: libmpiseq$(PLAT)$(LIBEXT)
+--- libseq/Makefile.orig	2011-05-10 12:56:39 UTC
++++ libseq/Makefile
+@@ -7,13 +7,19 @@ all: libmpiseq
  
+ include ../Makefile.inc
+ 
+-libmpiseq: libmpiseq$(PLAT)$(LIBEXT)
++libmpiseq: libmpiseq$(PLAT)$(LIBEXT) libmpiseq$(PLAT).so
+ 
  libmpiseq$(PLAT)$(LIBEXT): mpi.o mpic.o elapse.o
 -	$(AR)$@ mpi.o mpic.o elapse.o
 +	$(AR) $@ mpi.o mpic.o elapse.o
  	$(RANLIB) $@
++
++libmpiseq$(PLAT).so: mpi.o mpic.o elapse.o
++	$(FC) -shared ${.ALLSRC} -Wl,-soname,libmpiseq$(PLAT)-@SOVER@.so -o libmpiseq$(PLAT)-@SOVER@.so -Wl,-z,defs
++	ln -s libmpiseq$(PLAT)-@SOVER@.so $@
++
  .f.o:
  	$(FC) $(OPTF)              -c $*.f $(OUTF)$*.o
++
+ .c.o:
+ 	$(CC) $(OPTC) $(CDEFS) -I. -c $*.c $(OUTC)$*.o
+ 

Modified: head/math/mumps/files/patch-src_Makefile
==============================================================================
--- head/math/mumps/files/patch-src_Makefile	Wed Jun 14 16:22:13 2017	(r443590)
+++ head/math/mumps/files/patch-src_Makefile	Wed Jun 14 17:04:45 2017	(r443591)
@@ -1,16 +1,37 @@
---- src/Makefile.orig	2011-05-10 14:56:32.000000000 +0200
-+++ src/Makefile	2013-08-11 18:08:25.000000000 +0200
-@@ -53,11 +53,11 @@
+--- src/Makefile.orig	2011-05-10 12:56:32 UTC
++++ src/Makefile
+@@ -20,7 +20,9 @@ z:
+ include $(topdir)/Makefile.inc
  
+ mumps_lib:    $(libdir)/libmumps_common$(PLAT)$(LIBEXT) \
+-              $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT)
++              $(libdir)/libmumps_common$(PLAT).so \
++              $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT) \
++              $(libdir)/lib$(ARITH)mumps$(PLAT).so
  
+ OBJS_COMMON = \
+         mumps_part9.o\
+@@ -53,13 +55,21 @@ OBJS = 	$(ARITH)mumps_part1.o\
+ 
+ 
  $(libdir)/libmumps_common$(PLAT)$(LIBEXT):	$(OBJS_COMMON)
 -	$(AR)$@ $?
 +	$(AR) $@ $?
  	$(RANLIB) $@
  
++$(libdir)/libmumps_common$(PLAT).so:	$(OBJS_COMMON)
++	$(FC) -shared ${.ALLSRC} -Wl,-soname,libmumps_common$(PLAT)-@SOVER@.so -L$(libdir) $(LORDERINGS) $(LIBPAR) $(LIBOTHERS) -o $(libdir)/libmumps_common$(PLAT)-@SOVER@.so -Wl,-z,defs
++	ln -s libmumps_common$(PLAT)-@SOVER@.so $@
++
  $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT):    $(OBJS)
 -	$(AR)$@ $?
 +	$(AR) $@ $?
  	$(RANLIB) $@
  
++$(libdir)/lib$(ARITH)mumps$(PLAT).so:    $(OBJS)
++	$(FC) -shared ${.ALLSRC} -Wl,-soname,lib$(ARITH)mumps$(PLAT)-@SOVER@.so -L$(libdir) -lmumps_common$(PLAT) $(LORDERINGS) $(LIBPAR) -lblas $(SCALAP) $(LIBOTHERS) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-@SOVER@.so -Wl,-z,defs
++	ln -s lib$(ARITH)mumps$(PLAT)-@SOVER@.so $@
++
  $(ARITH)mumps_load.o:		$(ARITH)mumps_comm_buffer.o \
+ 				$(ARITH)mumps_struc_def.o
+ 

Modified: head/math/mumps/pkg-plist
==============================================================================
--- head/math/mumps/pkg-plist	Wed Jun 14 16:22:13 2017	(r443590)
+++ head/math/mumps/pkg-plist	Wed Jun 14 17:04:45 2017	(r443591)
@@ -12,13 +12,27 @@ include/smumps_struc.h
 include/zmumps_c.h
 include/zmumps_root.h
 include/zmumps_struc.h
+lib/libcmumps-%%MUMPSVERSION%%.so
 lib/libcmumps.a
+lib/libcmumps.so
+lib/libdmumps-%%MUMPSVERSION%%.so
 lib/libdmumps.a
+lib/libdmumps.so
+%%WITH_LIBSEQ%%lib/libmpiseq-%%MUMPSVERSION%%.so
+%%WITH_LIBSEQ%%lib/libmpiseq.a
+%%WITH_LIBSEQ%%lib/libmpiseq.so
+lib/libmumps_common-%%MUMPSVERSION%%.so
 lib/libmumps_common.a
+lib/libmumps_common.so
+lib/libpord-%%MUMPSVERSION%%.so
 lib/libpord.a
+lib/libpord.so
+lib/libsmumps-%%MUMPSVERSION%%.so
 lib/libsmumps.a
+lib/libsmumps.so
+lib/libzmumps-%%MUMPSVERSION%%.so
 lib/libzmumps.a
-%%WITH_LIBSEQ%%lib/libmpiseq.a
+lib/libzmumps.so
 %%PORTDOCS%%%%DOCSDIR%%/userguide_%%MUMPSVERSION%%.pdf
 %%PORTDOCS%%%%DOCSDIR%%/userguide_%%MUMPSVERSION%%.ps.gz
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/Makefile



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706141704.v5EH4kS7083978>