summaryrefslogtreecommitdiff
path: root/lang/g95
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2018-07-17 21:38:39 +0000
committerjoerg <joerg@pkgsrc.org>2018-07-17 21:38:39 +0000
commit882b4e1f7575b062c0668a49701aa36279029464 (patch)
tree6808e0edd3b75df2e6f6397214ce0c56721201bd /lang/g95
parentb00d43776348e713edc4856151482357ee1f345f (diff)
downloadpkgsrc-882b4e1f7575b062c0668a49701aa36279029464.tar.gz
Be a good citizen and try using the libgcc from the C compiler. Don't
install a custom libgcc, it creates more problems than it solves depending on the rpath order. Bump revision.
Diffstat (limited to 'lang/g95')
-rw-r--r--lang/g95/Makefile8
-rw-r--r--lang/g95/PLIST6
-rw-r--r--lang/g95/PLIST.Darwin4
-rw-r--r--lang/g95/distinfo5
-rw-r--r--lang/g95/patches/patch-ab41
-rw-r--r--lang/g95/patches/patch-gcc_gcc.c23
6 files changed, 64 insertions, 23 deletions
diff --git a/lang/g95/Makefile b/lang/g95/Makefile
index 53141754212..5a354dcba36 100644
--- a/lang/g95/Makefile
+++ b/lang/g95/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.29 2017/10/18 09:38:23 maya Exp $
+# $NetBSD: Makefile,v 1.30 2018/07/17 21:38:39 joerg Exp $
DISTNAME= g95_source
PKGNAME= g95-0.93
-PKGREVISION= 9
+PKGREVISION= 10
CATEGORIES= lang
MASTER_SITES= http://ftp.g95.org/v${PKGVERSION_NOREV}/
EXTRACT_SUFX= .tgz
@@ -53,11 +53,15 @@ GCC_CONFIGURE_ARGS+= --with-gnu-as --with-as=/usr/sfw/bin/gas
. endif
.endif
+LIBGCC_SPEC= ${CC} -dumpspecs 2> /dev/null | grep -A 1 '^\*libgcc:$$' | tail -1
+
post-extract:
${MKDIR} ${GCC_G95_DIR}
cd ${WRKSRC} && ${GTAR} -xzf libf95.a-${PKGVERSION_NOREV}.tar.gz
pre-configure:
+ mv ${GCC_DIR}/gcc/gcc.c ${GCC_DIR}/gcc/gcc.c.patched
+ sed "s|%LIBGCC_SPEC%|\"${LIBGCC_SPEC:sh:Q}\"|" ${GCC_DIR}/gcc/gcc.c.patched > ${GCC_DIR}/gcc/gcc.c
cd ${WRKSRC}/libf95.a-${PKGVERSION_NOREV} && autoreconf -i
rm -f ${GCC_DIR}/config.sub ${GCC_DIR}/config.guess
ln -fs ${PKGSRCDIR}/mk/gnu-config/config.sub ${GCC_DIR}/config.sub
diff --git a/lang/g95/PLIST b/lang/g95/PLIST
index 98dcd390e76..d73df697551 100644
--- a/lang/g95/PLIST
+++ b/lang/g95/PLIST
@@ -1,13 +1,9 @@
-@comment $NetBSD: PLIST,v 1.5 2013/09/20 23:06:07 joerg Exp $
+@comment $NetBSD: PLIST,v 1.6 2018/07/17 21:38:39 joerg Exp $
bin/f95
bin/g95
bin/${MACHINE_GNU_PLATFORM}-g95
lib/gcc-lib/${MACHINE_GNU_PLATFORM}/4.1.2/cc1
lib/gcc-lib/${MACHINE_GNU_PLATFORM}/4.1.2/f951
-lib/gcc-lib/${MACHINE_GNU_PLATFORM}/4.1.2/libgcc_eh.a
-lib/gcc-lib/${MACHINE_GNU_PLATFORM}/4.1.2/libgcc_s.so
-lib/gcc-lib/${MACHINE_GNU_PLATFORM}/4.1.2/libgcc_s.so.1
-lib/gcc-lib/${MACHINE_GNU_PLATFORM}/4.1.2/libgcc.a
lib/gcc-lib/${MACHINE_GNU_PLATFORM}/4.1.2/libf95.la
share/doc/g95/G95Manual.pdf
share/doc/g95/INSTALL
diff --git a/lang/g95/PLIST.Darwin b/lang/g95/PLIST.Darwin
index 96f37e4f4d9..ea7cf4365c9 100644
--- a/lang/g95/PLIST.Darwin
+++ b/lang/g95/PLIST.Darwin
@@ -1,4 +1,2 @@
-@comment $NetBSD: PLIST.Darwin,v 1.1 2013/06/01 14:44:01 tron Exp $
+@comment $NetBSD: PLIST.Darwin,v 1.2 2018/07/17 21:38:39 joerg Exp $
lib/gcc-lib/${MACHINE_GNU_PLATFORM}/4.1.2/crt2.o
-lib/gcc-lib/${MACHINE_GNU_PLATFORM}/4.1.2/libgcc_s.10.4.dylib
-lib/gcc-lib/${MACHINE_GNU_PLATFORM}/4.1.2/libgcc_s.10.5.dylib
diff --git a/lang/g95/distinfo b/lang/g95/distinfo
index 2ac067386a2..78d20c6a43d 100644
--- a/lang/g95/distinfo
+++ b/lang/g95/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.32 2017/10/27 20:57:16 khorben Exp $
+$NetBSD: distinfo,v 1.33 2018/07/17 21:38:39 joerg Exp $
SHA1 (g95_source.tgz) = b5e503fd6459b65cbda73190685f9490230d9cff
RMD160 (g95_source.tgz) = 98d03e9a1835f4b3553a72a798bdf1d90a757176
@@ -8,7 +8,7 @@ SHA1 (gcc-core-4.1.2.tar.bz2) = d6875295f6df1bec4a6f4ab8f0da54bfb8d97306
RMD160 (gcc-core-4.1.2.tar.bz2) = 612cbd5b795f7095fb3f565e6a8eaaee82c472c5
SHA512 (gcc-core-4.1.2.tar.bz2) = 002a2025f809781e8d427c00dfe884429ae094ad417edc3393f5bae249ae6049ea0c27e43caf51f9f15525bd35e24ad2c993c57f191b9196fdb68fd20e503f6e
Size (gcc-core-4.1.2.tar.bz2) = 17485561 bytes
-SHA1 (patch-ab) = a8ec156302d30374b05d520bfe0141ab9d97e1ef
+SHA1 (patch-ab) = 254dd8c3402c07bb4919c73d72712839f348824e
SHA1 (patch-configure) = 48450808201d4ea5ddb993627c4efeaf43d53bd2
SHA1 (patch-g95spec.c) = d6f434e715835cd39511c45ed18632c8401b78a2
SHA1 (patch-gcc_Makefile.in) = cc5cc142a85612ebf2d38513e4b05db0ae795268
@@ -22,6 +22,7 @@ SHA1 (patch-gcc_config_mips_netbsd.h) = 8888ecaa470e38a82ec56e332658fd32c9e5e86c
SHA1 (patch-gcc_config_rs600_netbsd.h) = 2e568e48f84024b7182762107c4ee76ee87fe43c
SHA1 (patch-gcc_config_t-dragonfly) = dd8d5919af737dfb9e3c18be9a41b4e2c6f31155
SHA1 (patch-gcc_config_t-dragonfly-thread) = ebdb58dacf0dc5d0bf2f1f1707a7c6ab29ee308c
+SHA1 (patch-gcc_gcc.c) = 035bfdacd9fbe9b2775df74601a70aa249163975
SHA1 (patch-gcc_ginclude_stddef.h) = db0fade3d40f2354b1dd418c25e7254dc97e5bcf
SHA1 (patch-gcc_toplev.h) = 6a51de1296e3a4711ce8fd37b1c95fe68b1e2c4e
SHA1 (patch-libf95.a-0.92_io_atof.c) = 0c3a209815be3a97d984cb9a15ee888f93110d1d
diff --git a/lang/g95/patches/patch-ab b/lang/g95/patches/patch-ab
index 41e31a5da5b..7f107cea89a 100644
--- a/lang/g95/patches/patch-ab
+++ b/lang/g95/patches/patch-ab
@@ -1,4 +1,4 @@
-$NetBSD: patch-ab,v 1.9 2017/10/27 20:57:16 khorben Exp $
+$NetBSD: patch-ab,v 1.10 2018/07/17 21:38:39 joerg Exp $
Use $(host_alias) as the program prefix so it matches ${MACHINE_GNU_PLATFORM}
@@ -14,7 +14,16 @@ Pass down correct path for libf95 to g95specs.c.
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-@@ -1418,7 +1419,7 @@ clean-local:
+@@ -319,7 +320,7 @@ top_srcdir = @top_srcdir@
+ @GCC_TRUE@ @GCC_DIR@/g95/gcc/intl.o @GCC_DIR@/g95/libiberty/libiberty.a \
+ @GCC_TRUE@ @LDADD0@
+
+-@GCC_TRUE@g95_DATA = @PARTS@ @GCC_DIR@/g95/gcc/libgcc.a
++@GCC_TRUE@g95_DATA = @PARTS@
+ @GCC_TRUE@g95dir = @DEST_LIBDIR@
+ EXTRA_DIST = MANIFEST CONTRIB BUGS lang.opt autogen.sh G95Manual.pdf COPYING \
+ ggc-page40.c ggc-page41.c
+@@ -1418,35 +1419,17 @@ clean-local:
rm -f options.tmp options.c options.h version.c
install-exec-hook:
@@ -23,20 +32,30 @@ Pass down correct path for libf95 to g95specs.c.
install-data-hook:
-ln -sf f951$(EXEEXT) $(DESTDIR)@DEST_LIBDIR@/cc1
-@@ -1429,8 +1430,9 @@ install-data-hook:
- ranlib $(DESTDIR)@DEST_LIBDIR@/libgcc_eh.a ; \
- ranlib $(DESTDIR)@DEST_LIBDIR@/libgcc.a ; \
- fi
+- if test "`uname`" = "Darwin" ; then \
+- ar x /usr/lib/libgcc.a darwin-fpsave.o ; \
+- ar rs $(DESTDIR)@DEST_LIBDIR@/libgcc.a darwin-fpsave.o ; \
+- rm ./darwin-fpsave.o ; \
+- ranlib $(DESTDIR)@DEST_LIBDIR@/libgcc_eh.a ; \
+- ranlib $(DESTDIR)@DEST_LIBDIR@/libgcc.a ; \
+- fi
- cp INSTALL $(DESTDIR)@DEST_LIBDIR@/../../../..
- cp G95Manual.pdf $(DESTDIR)@DEST_LIBDIR@/../../../..
+- if test -n "`ls @GCC_DIR@/g95/gcc/libgcc_s.*`" ; then \
+- (cd @GCC_DIR@/g95/gcc; tar cf - libgcc_s.*) | \
+- (cd $(DESTDIR)@DEST_LIBDIR@; tar xf -) ; \
+- fi
+- if test -n "`ls @GCC_DIR@/g95/gcc/libunwind.*`" ; then \
+- (cd @GCC_DIR@/g95/gcc; tar cf - libunwind.*) | \
+- (cd $(DESTDIR)@DEST_LIBDIR@; tar xf -) ; \
+- fi
+- if test -n "`ls @GCC_DIR@/g95/gcc/libgcc_eh.*`" ; then \
+- (cd @GCC_DIR@/g95/gcc; tar cf - libgcc_eh.*) | \
+- (cd $(DESTDIR)@DEST_LIBDIR@; tar xf -) ; \
+- fi
+ test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)"
+ $(INSTALL_DATA) INSTALL $(DESTDIR)$(docdir)
+ $(INSTALL_DATA) G95Manual.pdf $(DESTDIR)$(docdir)
- if test -n "`ls @GCC_DIR@/g95/gcc/libgcc_s.*`" ; then \
- (cd @GCC_DIR@/g95/gcc; tar cf - libgcc_s.*) | \
- (cd $(DESTDIR)@DEST_LIBDIR@; tar xf -) ; \
-@@ -1445,8 +1447,8 @@ install-data-hook:
- fi
ggc-page.o: $(srcdir)/ggc-page40.c $(srcdir)/ggc-page41.c
-@GCC41_TRUE@ $(CC) -c -g -o ggc-page.o -I. $(CPPFLAGS) -DIN_GCC $(srcdir)/ggc-page41.c
diff --git a/lang/g95/patches/patch-gcc_gcc.c b/lang/g95/patches/patch-gcc_gcc.c
new file mode 100644
index 00000000000..d9965a0defe
--- /dev/null
+++ b/lang/g95/patches/patch-gcc_gcc.c
@@ -0,0 +1,23 @@
+$NetBSD: patch-gcc_gcc.c,v 1.1 2018/07/17 21:38:39 joerg Exp $
+
+--- ../gcc-4.1.2/gcc/gcc.c.orig 2018-07-17 15:30:56.297612662 +0000
++++ ../gcc-4.1.2/gcc/gcc.c
+@@ -607,16 +607,8 @@ proper position among the other output f
+
+ /* config.h can define LIBGCC_SPEC to override how and when libgcc.a is
+ included. */
+-#ifndef LIBGCC_SPEC
+-#if defined(REAL_LIBGCC_SPEC)
+-#define LIBGCC_SPEC REAL_LIBGCC_SPEC
+-#elif defined(LINK_LIBGCC_SPECIAL_1)
+-/* Have gcc do the search for libgcc.a. */
+-#define LIBGCC_SPEC "libgcc.a%s"
+-#else
+-#define LIBGCC_SPEC "-lgcc"
+-#endif
+-#endif
++#undef LIBGCC_SPEC
++#define LIBGCC_SPEC %LIBGCC_SPEC%
+
+ /* config.h can define STARTFILE_SPEC to override the default crt0 files. */
+ #ifndef STARTFILE_SPEC