- Upgrade to 20200916, changelog at <https://www.netlib.org/f2c/changes>;

- Directly fetch from upstream;

- Define the license.
This commit is contained in:
Thierry Thomas 2020-12-06 15:04:38 +00:00
parent 5164ef6956
commit 7c4e7be942
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=557139
6 changed files with 84 additions and 60 deletions

View File

@ -2,33 +2,34 @@
# $FreeBSD$
PORTNAME= f2c
PORTVERSION= 20060810
PORTREVISION= 6
PORTVERSION= 20200916
CATEGORIES= lang
MASTER_SITES= LOCAL/maho/f2c
DISTNAME= ${PORTNAME}
EXTRACT_SUFX= .tar
MASTER_SITES= NETLIB/f2c
DISTFILES= ${SIMPLEDIST} libf2c.zip src.tgz
DIST_SUBDIR= ${PORTNAME}-${PORTVERSION}
MAINTAINER= fortran@FreeBSD.org
COMMENT= Fortran-to-C converter and its run-time libraries
LICENSE= ATT
LICENSE_NAME= Copyright of AT&T, Lucent Technologies and Bellcore
LICENSE_FILE= ${WRKSRC}/libf2c/Notice
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
BROKEN_mips= fails to compile: /usr/include/sigfpe.h: No such file or directory
BROKEN_mips64= fails to compile: /usr/include/sigfpe.h: No such file or directory
EXTRACT_DEPENDS= ${UNZIP_CMD}:archivers/unzip
GUNZIP_CMD= minigzip -d
USES= gmake
USE_LDCONFIG= yes
LIBVER= 2
SIMPLEDIST= changes f2c.1 f2c.1t f2c.h f2c.pdf fc getopt.c README
# Set FCNAME to the name of the Fortran 77 / F2C wrapper.
FCNAME?= fc
PLIST_SUB= FCNAME=${FCNAME} LIBVER=${LIBVER}
PORTDOCS= 00lastchange README README_libf2c changes f2c.pdf permission
PORTDOCS= README README_libf2c changes f2c.pdf
OPTIONS_DEFINE= DOCS FC LEAD_0
OPTIONS_SUB= yes
@ -37,10 +38,13 @@ FC_DESC= f77 script based on f2c
LEAD_0_DESC= Print with leading zeros
LEAD_0_CFLAGS= -DWANT_LEAD_0
post-extract:
cd ${WRKSRC} && ${FIND} . -name "*.gz" | ${XARGS} ${GUNZIP_CMD}
cd ${WRKSRC} && ${UNZIP_CMD} libf2c.zip
${CP} -p ${WRKSRC}/libf2c/README ${WRKSRC}/README_libf2c
do-extract:
${MKDIR} ${WRKSRC}/libf2c
.for f in ${SIMPLEDIST}
${CP} ${_DISTDIR}/${f} ${WRKSRC}
.endfor
${UNZIP_NATIVE_CMD} ${_DISTDIR}/libf2c.zip -q -d ${WRKSRC}/libf2c
(cd ${WRKSRC} && ${TAR} xfz ${_DISTDIR}/src.tgz)
pre-patch:
${CP} -p ${WRKSRC}/libf2c/makefile.u ${WRKSRC}/libf2c/Makefile
@ -53,9 +57,9 @@ pre-configure:
do-build:
@${ECHO_MSG} "===> Building f2c..."
@(cd ${WRKSRC}/src && ${DO_MAKE_BUILD} ${ALL_TARGET})
(cd ${WRKSRC}/src && ${DO_MAKE_BUILD} ${ALL_TARGET})
@${ECHO_MSG} "===> Building libf2c..."
@(cd ${WRKSRC}/libf2c && ${DO_MAKE_BUILD} ${ALL_TARGET} libf2c.so)
(cd ${WRKSRC}/libf2c && ${DO_MAKE_BUILD} ${ALL_TARGET} libf2c.so)
${MV} ${WRKSRC}/libf2c/libf2c.so ${WRKSRC}/libf2c/libf2c.so.${LIBVER}
do-install:
@ -67,6 +71,7 @@ do-install:
${LN} -sf libf2c.so.${LIBVER} ${STAGEDIR}${PREFIX}/lib/libf2c.so
do-install-DOCS-on:
${CP} ${WRKSRC}/libf2c/README ${WRKSRC}/README_libf2c
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}

View File

@ -1,2 +1,21 @@
SHA256 (f2c-20060810/f2c.tar) = 0ce78544ddfcdac24b3ffc4cf8696f3b1b49390198e2d85fec3ce3a78545a948
SIZE (f2c-20060810/f2c.tar) = 1201152
TIMESTAMP = 1607198735
SHA256 (f2c-20200916/changes) = 5b7993437e1281f860a81de86875b1cf36e2eae75f6330b666e38ce3273a7814
SIZE (f2c-20200916/changes) = 135491
SHA256 (f2c-20200916/f2c.1) = f66eb9fb49984799c5fe7fc7651da2712d4ef40d505a337625216dac0e032dfb
SIZE (f2c-20200916/f2c.1) = 7532
SHA256 (f2c-20200916/f2c.1t) = d37a61295b245906a81d262a667f2a4491f5bd9243b07d46a6fb2e1689e8e8e5
SIZE (f2c-20200916/f2c.1t) = 7574
SHA256 (f2c-20200916/f2c.h) = 7d323c009951dbd40201124b9302cb21daab2d98bed3d4a56b51b48958bc76ef
SIZE (f2c-20200916/f2c.h) = 4688
SHA256 (f2c-20200916/f2c.pdf) = 816cdbfd20ce3695be0eb976648714b6fe496785bb8026c6b8911712764d57c7
SIZE (f2c-20200916/f2c.pdf) = 73606
SHA256 (f2c-20200916/fc) = f0dced9b581a5808bd2d0d5e4716997043960a56333d5f4c44b201b870aa0ea8
SIZE (f2c-20200916/fc) = 7751
SHA256 (f2c-20200916/getopt.c) = e71a770ef56f5a340a2fe114e202de51d58a1ebca0e39d26b3e17f9808af6ebb
SIZE (f2c-20200916/getopt.c) = 2586
SHA256 (f2c-20200916/libf2c.zip) = f13c01421e9668dc86c78159d87c2f802dd1f8e62037834285c7ab77200d97d5
SIZE (f2c-20200916/libf2c.zip) = 128845
SHA256 (f2c-20200916/src.tgz) = d4847456aa91c74e5e61e2097780ca6ac3b20869fae8864bfa8dcc66f6721d35
SIZE (f2c-20200916/src.tgz) = 284025
SHA256 (f2c-20200916/README) = 0d9a1fdcb9b6bbcd4877f24429db93f55cb08ab7469ebbc81afb21df4eba5d51
SIZE (f2c-20200916/README) = 7973

View File

@ -1,9 +1,8 @@
diff -ruN f2c.orig/files/patch-libf2c+lwrite.c f2c/files/patch-libf2c+lwrite.c
--- f2c.orig/files/patch-libf2c+lwrite.c 1969-12-31 19:00:00.000000000 -0500
+++ f2c/files/patch-libf2c+lwrite.c 2008-07-29 14:05:35.000000000 -0500
--- f2c/files/patch-libf2c+lwrite.c.orig 2020-12-05 22:19:12 UTC
+++ f2c/files/patch-libf2c+lwrite.c
@@ -0,0 +1,24 @@
+--- libf2c/lwrite.c.orig 2008-07-29 13:57:49.000000000 -0500
++++ libf2c/lwrite.c 2008-07-29 14:02:33.000000000 -0500
++++ libf2c/lwrite.c
+@@ -107,10 +107,10 @@
+ absn = -absn;
+ fmt = LLOW <= absn && absn < LHIGH ? LFFMT : LEFMT;
@ -26,12 +25,11 @@ diff -ruN f2c.orig/files/patch-libf2c+lwrite.c f2c/files/patch-libf2c+lwrite.c
+ switch(*b) {
+ #ifndef WANT_LEAD_0
+ case '0':
diff -ruN f2c.orig/files/patch-libf2c+open.c f2c/files/patch-libf2c+open.c
--- f2c.orig/files/patch-libf2c+open.c 1969-12-31 19:00:00.000000000 -0500
+++ f2c/files/patch-libf2c+open.c 2008-07-29 14:08:51.000000000 -0500
--- f2c/files/patch-libf2c+open.c.orig 2020-12-05 22:19:12 UTC
+++ f2c/files/patch-libf2c+open.c
@@ -0,0 +1,29 @@
+--- libf2c/open.c.orig 2008-07-29 13:58:04.000000000 -0500
++++ libf2c/open.c 2008-07-29 14:08:30.000000000 -0500
++++ libf2c/open.c
+@@ -12,7 +12,7 @@
+ #ifdef KR_headers
+ extern char *malloc();
@ -59,12 +57,11 @@ diff -ruN f2c.orig/files/patch-libf2c+open.c f2c/files/patch-libf2c+open.c
+ goto replace;
+ #else
+ if (!(b->ufd = tmpfile()))
diff -ruN f2c.orig/files/patch-libf2c+rawio.h f2c/files/patch-libf2c+rawio.h
--- f2c.orig/files/patch-libf2c+rawio.h 1969-12-31 19:00:00.000000000 -0500
+++ f2c/files/patch-libf2c+rawio.h 2008-07-29 14:09:17.000000000 -0500
--- f2c/files/patch-libf2c+rawio.h.orig 2020-12-05 22:19:12 UTC
+++ f2c/files/patch-libf2c+rawio.h
@@ -0,0 +1,11 @@
+--- libf2c/rawio.h.orig 2008-07-29 14:07:02.000000000 -0500
++++ libf2c/rawio.h 2008-07-29 14:08:08.000000000 -0500
++++ libf2c/rawio.h
+@@ -26,7 +26,7 @@
+ #endif
+ #endif /*KR_HEADERS*/

View File

@ -1,23 +1,23 @@
taken from /usr/src/gnu/lib/libg2c/g2c.h of FreeBSD 6.2-RELEASE
--- src/xsum0.out Mon Jan 15 16:39:12 2007
+++ src/xsum0.out Mon Jan 15 16:39:45 2007
--- src/xsum0.out.orig 2020-09-16 22:54:09.000000000 +0000
+++ src/xsum0.out 2020-12-06 12:12:56.822181000 +0000
@@ -10,7 +10,7 @@
expr.c 6bfe005 72276
f2c.1 b0441b2 7532
f2c.1t bf1f87 7574
-f2c.h e770b7d8 4688
+f2c.h 119ccae4 5589
format.c bc32336 59652
format.c f00da069 59974
format.h b396862 458
formatdata.c 11a95834 28870
formatdata.c 1f0f56eb 28988
--- libf2c/f2c.h0.orig Tue Sep 7 13:46:24 1999
+++ libf2c/f2c.h0 Mon Jan 15 16:39:12 2007
@@ -1,4 +1,13 @@
--- libf2c/f2c.h0.orig 1999-09-07 17:46:24 UTC
+++ libf2c/f2c.h0
@@ -1,5 +1,14 @@
-/* f2c.h -- Standard Fortran to C header file */
+/* g2c.h -- g77 version of f2c (Standard Fortran to C header file) */
+
+/* This file is generated by the g77 libg2c configuration process from a
+ file named g2c.hin. This process sets up the appropriate types,
+ defines the appropriate macros, and so on. The resulting g2c.h file
@ -26,9 +26,10 @@ taken from /usr/src/gnu/lib/libg2c/g2c.h of FreeBSD 6.2-RELEASE
+ object file(s) with those produced by the same version of g77 that
+ produced this file, allowing inter-operability of f2c-compiled and
+ g77-compiled code. */
+
/** barf [ba:rf] 2. "He suggested using FORTRAN, and everybody barfed."
- From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */
@@ -7,24 +16,24 @@
#ifndef F2C_INCLUDE
#define F2C_INCLUDE
@ -61,7 +62,7 @@ taken from /usr/src/gnu/lib/libg2c/g2c.h of FreeBSD 6.2-RELEASE
#define TRUE_ (1)
#define FALSE_ (0)
@@ -37,14 +46,15 @@
@@ -37,14 +46,15 @@ typedef unsigned long long ulongint; /* system-depende
/* I/O stuff */
#ifdef f2c_i2
@ -80,7 +81,7 @@ taken from /usr/src/gnu/lib/libg2c/g2c.h of FreeBSD 6.2-RELEASE
#endif
/*external read, write*/
@@ -201,6 +211,9 @@
@@ -201,6 +211,9 @@ typedef doublereal E_f; /* real function with -R not s
/* undef any lower-case symbols that your C compiler predefines, e.g.: */
#ifndef Skip_f2c_Undefs
@ -90,13 +91,12 @@ taken from /usr/src/gnu/lib/libg2c/g2c.h of FreeBSD 6.2-RELEASE
#undef cray
#undef gcos
#undef mc68010
--- src/f2c.h.orig Mon Jan 15 16:39:12 2007
+++ src/f2c.h Mon Jan 15 16:39:12 2007
@@ -1,4 +1,13 @@
--- src/f2c.h.orig 1999-09-07 17:46:24 UTC
+++ src/f2c.h
@@ -1,5 +1,14 @@
-/* f2c.h -- Standard Fortran to C header file */
+/* g2c.h -- g77 version of f2c (Standard Fortran to C header file) */
+
+/* This file is generated by the g77 libg2c configuration process from a
+ file named g2c.hin. This process sets up the appropriate types,
+ defines the appropriate macros, and so on. The resulting g2c.h file
@ -105,9 +105,10 @@ taken from /usr/src/gnu/lib/libg2c/g2c.h of FreeBSD 6.2-RELEASE
+ object file(s) with those produced by the same version of g77 that
+ produced this file, allowing inter-operability of f2c-compiled and
+ g77-compiled code. */
+
/** barf [ba:rf] 2. "He suggested using FORTRAN, and everybody barfed."
- From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */
@@ -7,24 +16,24 @@
#ifndef F2C_INCLUDE
#define F2C_INCLUDE
@ -140,7 +141,7 @@ taken from /usr/src/gnu/lib/libg2c/g2c.h of FreeBSD 6.2-RELEASE
#define TRUE_ (1)
#define FALSE_ (0)
@@ -37,14 +46,15 @@
@@ -37,14 +46,15 @@ typedef unsigned long long ulongint; /* system-depende
/* I/O stuff */
#ifdef f2c_i2
@ -159,7 +160,7 @@ taken from /usr/src/gnu/lib/libg2c/g2c.h of FreeBSD 6.2-RELEASE
#endif
/*external read, write*/
@@ -201,6 +211,9 @@
@@ -201,6 +211,9 @@ typedef doublereal E_f; /* real function with -R not s
/* undef any lower-case symbols that your C compiler predefines, e.g.: */
#ifndef Skip_f2c_Undefs

View File

@ -1,5 +1,5 @@
--- libf2c/MAIN.c.orig Sun Jul 30 15:06:49 2006
+++ libf2c/MAIN.c Sun Jul 30 15:12:02 2006
--- libf2c/MAIN.c.orig 2020-12-05 22:19:12 UTC
+++ libf2c/MAIN.c
@@ -0,0 +1,18 @@
+/*
+ Add a pseudo entry point for cases where the main FOTRAN program is missing

View File

@ -1,5 +1,5 @@
--- libf2c/Makefile.orig Fri Jun 6 15:09:42 2003
+++ libf2c/Makefile Sun Jul 30 11:48:17 2006
--- libf2c/Makefile.orig 2008-11-27 06:20:03 UTC
+++ libf2c/Makefile
@@ -13,9 +13,9 @@
# to the CFLAGS = line below.
@ -12,25 +12,25 @@
# compile, then strip unnecessary symbols
.c.o:
@@ -29,7 +29,7 @@
@@ -29,7 +29,7 @@ CFLAGS = -O
MISC = f77vers.o i77vers.o main.o s_rnge.o abort_.o exit_.o getarg_.o iargc_.o\
getenv_.o signal_.o s_stop.o s_paus.o system_.o cabs.o\
getenv_.o signal_.o s_stop.o s_paus.o system_.o cabs.o ctype.o\
- derf_.o derfc_.o erf_.o erfc_.o sig_die.o uninit.o
+ derf_.o derfc_.o erf_.o erfc_.o sig_die.o uninit.o MAIN.o
POW = pow_ci.o pow_dd.o pow_di.o pow_hh.o pow_ii.o pow_ri.o pow_zi.o pow_zz.o
CX = c_abs.o c_cos.o c_div.o c_exp.o c_log.o c_sin.o c_sqrt.o
DCX = z_abs.o z_cos.o z_div.o z_exp.o z_log.o z_sin.o z_sqrt.o
@@ -82,7 +82,7 @@
## of "cc -shared".
@@ -86,7 +86,7 @@ libf2c.a: $(OFILES)
## arrange for $DYLD_LIBRARY_PATH to include the directory containing libf2c.so.
libf2c.so: $(OFILES)
- cc -shared -o libf2c.so $(OFILES)
- $(CC) -shared -o libf2c.so $(OFILES)
+ $(CC) -shared -Wl,-soname,libf2c.so.%%LIBVER%% -o libf2c.so $(OFILES)
### If your system lacks ranlib, you don't need it; see README.
@@ -110,12 +110,15 @@
@@ -114,12 +114,15 @@ sysdep1.h: sysdep1.h0
# If your system lacks onexit() and you are not using an
# ANSI C compiler, then you should uncomment the following
# two lines (for compiling main.o):
@ -40,8 +40,10 @@
+ $(CC) -c $(CFLAGS) -DNO_ONEXIT -DSkip_f2c_Undefs main.c
# On at least some Sun systems, it is more appropriate to
# uncomment the following two lines:
#main.o: main.c
# $(CC) -c -Donexit=on_exit -DSkip_f2c_Undefs main.c
-#main.o: main.c
-# $(CC) -c -Donexit=on_exit -DSkip_f2c_Undefs main.c
+main.o: main.c
+ $(CC) -c $(CFLAGS) -Donexit=on_exit -DSkip_f2c_Undefs main.c
+
+MAIN.o: MAIN.c
+ $(CC) -c $(CFLAGS) -DSkip_f2c_Undefs MAIN.c