View | Details | Raw Unified | Return to bug 117923 | Differences between
and this patch

Collapse All | Expand All

(-)Makefile (-27 / +38 lines)
Lines 6-19 Link Here
6
#
6
#
7
7
8
PORTNAME=	lapack
8
PORTNAME=	lapack
9
PORTVERSION=	3.2.1
9
PORTVERSION=	3.2.2
10
PORTREVISION=	1
11
CATEGORIES=	math
10
CATEGORIES=	math
12
MASTER_SITES=	ftp://ftp.netlib.org/lapack/ \
11
MASTER_SITES=	ftp://ftp.netlib.org/lapack/ \
13
		http://netlib.org/lapack/ \
12
		http://netlib.org/lapack/ \
14
		http://scicomp.ewha.ac.kr/netlib/lapack/ \
13
		http://scicomp.ewha.ac.kr/netlib/lapack/ \
15
		http://service-spi.web.cern.ch/service-spi/external/tarFiles/
14
		http://service-spi.web.cern.ch/service-spi/external/tarFiles/
16
DISTFILES=	lapack-${PORTVERSION}.tgz manpages-3.2.0.tgz
15
DISTFILES=	lapack.tgz manpages-3.2.0.tgz
17
16
18
MAINTAINER=	maho@FreeBSD.org
17
MAINTAINER=	maho@FreeBSD.org
19
COMMENT=	A library of Fortran 77 subroutines for linear algebra
18
COMMENT=	A library of Fortran 77 subroutines for linear algebra
Lines 36-46 Link Here
36
MANSRC=${WRKDIR}/lapack-3.2.0
35
MANSRC=${WRKDIR}/lapack-3.2.0
37
WRKSRC_SHARED=${WRKSRC}_shared
36
WRKSRC_SHARED=${WRKSRC}_shared
38
FFLAGS_SHARED=${FPIC}
37
FFLAGS_SHARED=${FPIC}
38
.if !(defined(NOPROFILE) || defined(NO_PROFILE) || defined(WITHOUT_PROFILE))
39
WRKSRC_PROFILE=${WRKSRC}_profile
39
WRKSRC_PROFILE=${WRKSRC}_profile
40
FFLAGS_PROFILE=-pg
40
FFLAGS_PROFILE=-pg
41
PLIST_SUB+=	PROFILE=""
42
.else
43
PLIST_SUB+=	PROFILE="@comment "
44
.endif
41
45
42
SVERSION=4
46
SVERSION=4
43
BLAS=	-L${LOCALBASE}/lib -lblas
47
BLAS?=	-L${LOCALBASE}/lib -lblas
48
RANLIB=	${LOCALBASE}/bin/ranlib
49
AR=	${LOCALBASE}/bin/ar
44
50
45
pre-fetch:
51
pre-fetch:
46
	@${ECHO} "You can override F77 and FFLAGS on the command line."
52
	@${ECHO} "You can override F77 and FFLAGS on the command line."
Lines 55-100 Link Here
55
	${REINPLACE_CMD} -Ee \
61
	${REINPLACE_CMD} -Ee \
56
		's,cd ([^ ;]+) *; *\$$\(MAKE\) *([[:alnum:]]*) *,${MAKE} -C \1 ${_MAKE_JOBS} \2,' \
62
		's,cd ([^ ;]+) *; *\$$\(MAKE\) *([[:alnum:]]*) *,${MAKE} -C \1 ${_MAKE_JOBS} \2,' \
57
		${WRKSRC}/TESTING/Makefile
63
		${WRKSRC}/TESTING/Makefile
58
	@${REINPLACE_CMD} -e 's,%%F77%%,${F77},g' \
64
	@${REINPLACE_CMD} -e 's;%%F77%%;${F77};g' \
59
			  -e 's,%%FFLAGS%%,${FFLAGS},g' \
65
			  -e 's;%%FFLAGS%%;${FFLAGS};g' \
60
			  -e 's,%%BLAS%%,${BLAS},g' \
66
			  -e 's;%%LDFLAGS%%;${LDFLAGS};g' \
67
			  -e 's;%%RANLIB%%;${RANLIB};g' \
68
			  -e 's;%%BLAS%%;${BLAS};g' \
61
				${WRKSRC}/make.inc
69
				${WRKSRC}/make.inc
62
	@${CP} -r ${WRKSRC} ${WRKSRC_SHARED}
70
	@${CP} -r ${WRKSRC} ${WRKSRC_SHARED}
71
.if !(defined(NOPROFILE) || defined(NO_PROFILE) || defined(WITHOUT_PROFILE))
63
	@${CP} -r ${WRKSRC} ${WRKSRC_PROFILE}
72
	@${CP} -r ${WRKSRC} ${WRKSRC_PROFILE}
73
.endif
64
	@${REINPLACE_CMD} -e 's,%%EXTRAFLAGS%%,,g' \
74
	@${REINPLACE_CMD} -e 's,%%EXTRAFLAGS%%,,g' \
65
				${WRKSRC}/make.inc
75
				${WRKSRC}/make.inc
66
	@${REINPLACE_CMD} -e 's,%%EXTRAFLAGS%%,${FFLAGS_SHARED},g' \
76
	@${REINPLACE_CMD} -e 's,%%EXTRAFLAGS%%,${FFLAGS_SHARED},g' \
67
				${WRKSRC_SHARED}/make.inc
77
				${WRKSRC_SHARED}/make.inc
78
.if !(defined(NOPROFILE) || defined(NO_PROFILE) || defined(WITHOUT_PROFILE))
68
	@${REINPLACE_CMD} -e 's,%%EXTRAFLAGS%%,${FFLAGS_PROFILE},g' \
79
	@${REINPLACE_CMD} -e 's,%%EXTRAFLAGS%%,${FFLAGS_PROFILE},g' \
69
				${WRKSRC_PROFILE}/make.inc
80
				${WRKSRC_PROFILE}/make.inc
81
.endif
70
82
71
do-build:
83
do-build:
72
	@${ECHO_CMD} "Building static lapack library"
84
	@${ECHO_CMD} "Building static lapack library"
73
	${MAKE} -C ${WRKSRC} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH=ar
85
	${MAKE} -C ${WRKSRC} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH="${AR}"
74
	@${ECHO_CMD} "Building shared lapack library"
86
	@${ECHO_CMD} "Building shared lapack library"
75
	${MAKE} -C ${WRKSRC_SHARED} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH=ar
87
	${MAKE} -C ${WRKSRC_SHARED} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH="${AR}"
88
.if !(defined(NOPROFILE) || defined(NO_PROFILE) || defined(WITHOUT_PROFILE))
76
	@${ECHO_CMD} "Building profile lapack library"
89
	@${ECHO_CMD} "Building profile lapack library"
77
	${MAKE} -C ${WRKSRC_PROFILE} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH=ar
90
	${MAKE} -C ${WRKSRC_PROFILE} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH="${AR}"
91
.endif
78
92
79
post-build:
93
post-build:
80
	${CP} ${WRKSRC}/lapack_FREEBSD.a ${WRKSRC}/liblapack.a
94
.for lib in lapack tmglib
81
	${CP} ${WRKSRC}/tmglib_FREEBSD.a ${WRKSRC}/libtmglib.a
95
	cd ${WRKSRC_SHARED} ; ${FC} ${FFLAGS} ${FFLAGS_SHARED} ${LDFLAGS} -shared \
82
	${CP} ${WRKSRC_SHARED}/lapack_FREEBSD.a ${WRKSRC_SHARED}/liblapack.a
96
	-o lib${lib}.so.${SVERSION} -Wl,-x -Wl,-soname,lib${lib}.so.${SVERSION} \
83
	${CP} ${WRKSRC_SHARED}/tmglib_FREEBSD.a ${WRKSRC_SHARED}/libtmglib.a
97
	-Wl,--whole-archive lib${lib}.a -Wl,--no-whole-archive -Wl,--as-needed ${BLAS}
84
	${CP} ${WRKSRC_PROFILE}/lapack_FREEBSD.a ${WRKSRC_PROFILE}/liblapack_p.a
98
.endfor
85
	${CP} ${WRKSRC_PROFILE}/tmglib_FREEBSD.a ${WRKSRC_PROFILE}/libtmglib_p.a
86
	cd ${WRKSRC_SHARED} ; ld -Bshareable -o liblapack.so.${SVERSION} -x -soname liblapack.so.${SVERSION} --whole-archive liblapack.a ; ${LN} -s liblapack.so.${SVERSION} liblapack.so
87
	cd ${WRKSRC_SHARED} ; ld -Bshareable -o libtmglib.so.${SVERSION} -x -soname libtmglib.so.${SVERSION} --whole-archive libtmglib.a ; ${LN} -s libtmglib.so.${SVERSION} libtmglib.so
88
99
89
do-install:
100
do-install:
90
	${INSTALL_DATA} ${WRKSRC}/liblapack.a ${PREFIX}/lib
101
.for lib in lapack tmglib
91
	${INSTALL_DATA} ${WRKSRC}/libtmglib.a ${PREFIX}/lib
102
	${INSTALL_DATA} ${WRKSRC}/lib${lib}.a ${PREFIX}/lib
92
	${INSTALL_DATA} ${WRKSRC_SHARED}/liblapack.so.${SVERSION} ${PREFIX}/lib
103
	${INSTALL_DATA} ${WRKSRC_SHARED}/lib${lib}.so.${SVERSION} ${PREFIX}/lib
93
	${INSTALL_DATA} ${WRKSRC_SHARED}/libtmglib.so.${SVERSION} ${PREFIX}/lib
104
	${LN} -sf lib${lib}.so.${SVERSION} ${PREFIX}/lib/lib${lib}.so
94
	${LN} -sf liblapack.so.${SVERSION} ${PREFIX}/lib/liblapack.so
105
.if !(defined(NOPROFILE) || defined(NO_PROFILE) || defined(WITHOUT_PROFILE))
95
	${LN} -sf libtmglib.so.${SVERSION} ${PREFIX}/lib/libtmglib.so
106
	${INSTALL_DATA} ${WRKSRC_PROFILE}/lib${lib}.a ${PREFIX}/lib/lib${lib}_p.a
96
	${INSTALL_DATA} ${WRKSRC_PROFILE}/liblapack_p.a ${PREFIX}/lib
107
.endif
97
	${INSTALL_DATA} ${WRKSRC_PROFILE}/libtmglib_p.a ${PREFIX}/lib
108
.endfor
98
	${INSTALL_MAN} ${MANSRC}/manpages/man/manl/[a-c]*.l ${PREFIX}/man/manl
109
	${INSTALL_MAN} ${MANSRC}/manpages/man/manl/[a-c]*.l ${PREFIX}/man/manl
99
	${INSTALL_MAN} ${MANSRC}/manpages/man/manl/[d-l]*.l ${PREFIX}/man/manl
110
	${INSTALL_MAN} ${MANSRC}/manpages/man/manl/[d-l]*.l ${PREFIX}/man/manl
100
	${INSTALL_MAN} ${MANSRC}/manpages/man/manl/[m-s]*.l ${PREFIX}/man/manl
111
	${INSTALL_MAN} ${MANSRC}/manpages/man/manl/[m-s]*.l ${PREFIX}/man/manl
Lines 102-107 Link Here
102
113
103
regression-test check test: build
114
regression-test check test: build
104
	@${ECHO_CMD} "Testing static lapack library"
115
	@${ECHO_CMD} "Testing static lapack library"
105
	${MAKE} -C ${WRKSRC}/TESTING ${.MAKEFLAGS} ARCH=ar
116
	${MAKE} -C ${WRKSRC}/TESTING ${.MAKEFLAGS} ARCH="${AR}"
106
117
107
.include <bsd.port.post.mk>
118
.include <bsd.port.post.mk>
(-)distinfo (-3 / +3 lines)
Lines 1-6 Link Here
1
MD5 (lapack/lapack-3.2.1.tgz) = a3202a4f9e2f15ffd05d15dab4ac7857
1
MD5 (lapack/lapack.tgz) = 10832891c9e8100f81108c1ec7da0da4
2
SHA256 (lapack/lapack-3.2.1.tgz) = 5825f83971157001fd4235514afe8ff5fc16e1c06b2e872e442c242efd6c166d
2
SHA256 (lapack/lapack.tgz) = 880d89249cb0a6e7adc0b18daf56a41796c6f214bf5eeaccc0c0d231cd00094e
3
SIZE (lapack/lapack-3.2.1.tgz) = 4792502
3
SIZE (lapack/lapack.tgz) = 4819849
4
MD5 (lapack/manpages-3.2.0.tgz) = 145007cab915504caec382289462a166
4
MD5 (lapack/manpages-3.2.0.tgz) = 145007cab915504caec382289462a166
5
SHA256 (lapack/manpages-3.2.0.tgz) = cac234e597f2b9388bf3d3c0549b8a56bf3867c6c554d844bb839039973861f6
5
SHA256 (lapack/manpages-3.2.0.tgz) = cac234e597f2b9388bf3d3c0549b8a56bf3867c6c554d844bb839039973861f6
6
SIZE (lapack/manpages-3.2.0.tgz) = 1016997
6
SIZE (lapack/manpages-3.2.0.tgz) = 1016997
(-)pkg-plist (-2 / +2 lines)
Lines 1-8 Link Here
1
lib/liblapack.a
1
lib/liblapack.a
2
lib/liblapack.so
2
lib/liblapack.so
3
lib/liblapack.so.4
3
lib/liblapack.so.4
4
lib/liblapack_p.a
4
%%PROFILE%%lib/liblapack_p.a
5
lib/libtmglib.a
5
lib/libtmglib.a
6
lib/libtmglib.so
6
lib/libtmglib.so
7
lib/libtmglib.so.4
7
lib/libtmglib.so.4
8
lib/libtmglib_p.a
8
%%PROFILE%%lib/libtmglib_p.a
(-)files/patch-TESTING+LIN+Makefile (-8 / +22 lines)
Lines 1-6 Link Here
1
--- TESTING/LIN/Makefile	2009-02-11 02:23:05.000000000 +0900
1
--- TESTING/LIN/Makefile.orig	2010-06-18 18:48:07.000000000 -0400
2
+++ TESTING/LIN/Makefile	2009-05-20 06:11:11.000000000 +0900
2
+++ TESTING/LIN/Makefile	2010-08-29 10:55:41.000000000 -0400
3
@@ -71,13 +71,13 @@
3
@@ -34,11 +34,6 @@
4
 #
5
 #######################################################################
6
 
7
-ifneq ($(strip $(VARLIB)),)
8
-    LAPACKLIB :=  $(VARLIB) ../../$(LAPACKLIB)
9
-endif
10
-
11
-
12
 ALINTST = \
13
    aladhd.o alaerh.o alaesm.o alahd.o alareq.o \
14
    alasum.o alasvm.o chkxer.o icopy.o ilaenv.o xlaenv.o xerbla.o
15
@@ -76,13 +71,13 @@
4
    strt02.o strt03.o strt05.o strt06.o \
16
    strt02.o strt03.o strt05.o strt06.o \
5
    stzt01.o stzt02.o sgennd.o
17
    stzt01.o stzt02.o sgennd.o
6
 
18
 
Lines 17-23 Link Here
17
 
29
 
18
 CLINTST = cchkaa.o \
30
 CLINTST = cchkaa.o \
19
    cchkeq.o cchkgb.o cchkge.o cchkgt.o \
31
    cchkeq.o cchkgb.o cchkge.o cchkgt.o \
20
@@ -111,13 +111,13 @@
32
@@ -116,13 +111,13 @@
21
    ctrt02.o ctrt03.o ctrt05.o ctrt06.o \
33
    ctrt02.o ctrt03.o ctrt05.o ctrt06.o \
22
    ctzt01.o ctzt02.o sget06.o cgennd.o
34
    ctzt01.o ctzt02.o sget06.o cgennd.o
23
 
35
 
Lines 34-40 Link Here
34
 
46
 
35
 DLINTST = dchkaa.o \
47
 DLINTST = dchkaa.o \
36
    dchkeq.o dchkgb.o dchkge.o dchkgt.o \
48
    dchkeq.o dchkgb.o dchkge.o dchkgt.o \
37
@@ -148,13 +148,13 @@
49
@@ -153,13 +148,13 @@
38
    dtrt02.o dtrt03.o dtrt05.o dtrt06.o \
50
    dtrt02.o dtrt03.o dtrt05.o dtrt06.o \
39
    dtzt01.o dtzt02.o dgennd.o
51
    dtzt01.o dtzt02.o dgennd.o
40
 
52
 
Lines 51-57 Link Here
51
 
63
 
52
 ZLINTST = zchkaa.o \
64
 ZLINTST = zchkaa.o \
53
    zchkeq.o zchkgb.o zchkge.o zchkgt.o \
65
    zchkeq.o zchkgb.o zchkge.o zchkgt.o \
54
@@ -188,13 +188,13 @@
66
@@ -193,13 +188,13 @@
55
    ztrt02.o ztrt03.o ztrt05.o ztrt06.o \
67
    ztrt02.o ztrt03.o ztrt05.o ztrt06.o \
56
    ztzt01.o ztzt02.o dget06.o zgennd.o
68
    ztzt01.o ztzt02.o dget06.o zgennd.o
57
 
69
 
Lines 68-77 Link Here
68
 
80
 
69
 DSLINTST = dchkab.o \
81
 DSLINTST = dchkab.o \
70
 	ddrvab.o ddrvac.o derrab.o derrac.o dget08.o          \
82
 	ddrvab.o ddrvac.o derrab.o derrac.o dget08.o          \
71
@@ -246,5 +246,5 @@
83
@@ -250,7 +245,7 @@
84
         ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB)  $(BLASLIB) -o xlintstc && mv xlintstc $@
72
  
85
  
73
 ../xlintstd : $(ALINTST) $(DLINTST) $(DZLNTST)
86
 ../xlintstd : $(ALINTST) $(DLINTST) $(DZLNTST)
74
-	$(LOADER) $(LOADOPTS) $^ \
87
-	$(LOADER) $(LOADOPTS) $^ \
75
+	$(LOADER) $(LOADOPTS) ${.ALLSRC} \
88
+	$(LOADER) $(LOADOPTS) $(ALINTST) $(DLINTST) $(DZLNTST) \
76
         ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o xlintstd && mv xlintstd $@
89
         ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o xlintstd && mv xlintstd $@
77
  
90
  
91
 ../xlintstz : $(ALINTST) $(ZLINTST) $(DZLNTST)
(-)files/patch-TESTING+Makefile (+14 lines)
Added Link Here
1
--- TESTING/Makefile.orig	2010-08-29 10:57:23.000000000 -0400
2
+++ TESTING/Makefile	2010-08-29 10:57:43.000000000 -0400
3
@@ -37,11 +37,6 @@
4
 
5
 include ../make.inc
6
 
7
-ifneq ($(strip $(VARLIB)),)
8
-    LAPACKLIB :=  $(VARLIB) ../$(LAPACKLIB)
9
-endif
10
-
11
-
12
 all:     single complex double complex16 singleproto doubleproto complexproto complex16proto
13
 
14
 SEIGTST= snep.out \
(-)files/patch-make.inc.gfortran (-9 / +24 lines)
Lines 1-15 Link Here
1
--- INSTALL/make.inc.gfortran.orig	2007-02-24 05:07:35.000000000 +0900
1
--- INSTALL/make.inc.gfortran.orig	2009-04-16 14:10:16.000000000 -0400
2
+++ INSTALL/make.inc.gfortran	2007-09-29 10:22:01.000000000 +0900
2
+++ INSTALL/make.inc.gfortran	2010-08-29 10:41:02.000000000 -0400
3
@@ -8,7 +8,7 @@
3
@@ -8,7 +8,6 @@
4
 #
4
 #
5
 #  The machine (platform) identifier to append to the library names
5
 #  The machine (platform) identifier to append to the library names
6
 #
6
 #
7
-PLAT = _LINUX
7
-PLAT = _LINUX
8
+PLAT = _FREEBSD
9
 #  
8
 #  
10
 #  Modify the FORTRAN and OPTS definitions to refer to the
9
 #  Modify the FORTRAN and OPTS definitions to refer to the
11
 #  compiler and desired compiler options for your machine.  NOOPT
10
 #  compiler and desired compiler options for your machine.  NOOPT
12
@@ -16,11 +16,11 @@
11
@@ -16,12 +15,12 @@
13
 #  selected.  Define LOADER and LOADOPTS to refer to the loader and 
12
 #  selected.  Define LOADER and LOADOPTS to refer to the loader and 
14
 #  desired load options for your machine.
13
 #  desired load options for your machine.
15
 #
14
 #
Lines 20-36 Link Here
20
 DRVOPTS  = $(OPTS)
19
 DRVOPTS  = $(OPTS)
21
-NOOPT    = -O0
20
-NOOPT    = -O0
22
-LOADER   = gfortran
21
-LOADER   = gfortran
22
-LOADOPTS =
23
+NOOPT    = -O0 %%EXTRAFLAGS%%
23
+NOOPT    = -O0 %%EXTRAFLAGS%%
24
+LOADER   = %%F77%%
24
+LOADER   = %%F77%%
25
 LOADOPTS =
25
+LOADOPTS = %%LDFLAGS%% %%EXTRAFLAGS%%
26
 #
26
 #
27
 # Timer for the SECOND and DSECND routines
27
 # Timer for the SECOND and DSECND routines
28
@@ -48,7 +48,7 @@
28
 #
29
@@ -40,9 +39,8 @@
30
 #  The archiver and the flag(s) to use when building archive (library)
31
 #  If you system has no ranlib, set RANLIB = echo.
32
 #
33
-ARCH     = ar
34
 ARCHFLAGS= cr
35
-RANLIB   = ranlib
36
+RANLIB   = %%RANLIB%%
37
 #
38
 #  Location of the extended-precision BLAS (XBLAS) Fortran library
39
 #  used for building and testing extended-precision routines.  The
40
@@ -57,8 +55,8 @@
29
 #  machine-specific, optimized BLAS library should be used whenever
41
 #  machine-specific, optimized BLAS library should be used whenever
30
 #  possible.)
42
 #  possible.)
31
 #
43
 #
32
-BLASLIB      = ../../blas$(PLAT).a
44
-BLASLIB      = ../../blas$(PLAT).a
45
-LAPACKLIB    = lapack$(PLAT).a
46
-TMGLIB       = tmglib$(PLAT).a
33
+BLASLIB      = %%BLAS%%
47
+BLASLIB      = %%BLAS%%
34
 LAPACKLIB    = lapack$(PLAT).a
48
+LAPACKLIB    = liblapack$(PLAT).a
35
 TMGLIB       = tmglib$(PLAT).a
49
+TMGLIB       = libtmglib$(PLAT).a
36
 EIGSRCLIB    = eigsrc$(PLAT).a
50
 EIGSRCLIB    = eigsrc$(PLAT).a
51
 LINSRCLIB    = linsrc$(PLAT).a

Return to bug 117923