[100759] trunk/dports/lang/g95

takeshi at macports.org takeshi at macports.org
Sat Dec 22 23:22:52 PST 2012


Revision: 100759
          https://trac.macports.org/changeset/100759
Author:   takeshi at macports.org
Date:     2012-12-22 23:22:52 -0800 (Sat, 22 Dec 2012)
Log Message:
-----------
g95: revamped for 0.93.
* Removed gcc40.
* Use dist_subdir to deal with unversioned distfiles rather than sharing gcc42.
  This change was made to avoid downloading an older g95 distfile from MacPorts mirror.

Modified Paths:
--------------
    trunk/dports/lang/g95/Portfile
    trunk/dports/lang/g95/files/patch-Makefile.in.diff

Removed Paths:
-------------
    trunk/dports/lang/g95/files/patch-darwin-fallback.c.diff
    trunk/dports/lang/g95/files/patch-host-darwin.c.diff

Modified: trunk/dports/lang/g95/Portfile
===================================================================
--- trunk/dports/lang/g95/Portfile	2012-12-23 05:31:45 UTC (rev 100758)
+++ trunk/dports/lang/g95/Portfile	2012-12-23 07:22:52 UTC (rev 100759)
@@ -4,8 +4,7 @@
 PortSystem 1.0
 
 name            g95
-version         0.92
-revision        2
+version         0.93
 platforms       darwin
 categories      lang
 license         GPL-2
@@ -17,30 +16,15 @@
                 Innovations and optimizations continue to be worked on. \
                 Parts of the F2003 standard have been implemented in g95.
 homepage        http://g95.org/
-master_sites    ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.0.4/:gcc \
+master_sites    ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.2.4/:gcc \
                 http://ftp.g95.org/v${version}/:g95
+dist_subdir     ${name}/${version}
 
-if {(${os.platform} == "darwin" && ${os.major} >= 10)||${build_arch}=="ppc64"||${build_arch}=="x86_64"} {
-    default_variants +gcc42
-    pre-fetch {
-        if {![variant_isset gcc42]} {
-            error "$name must be built with +gcc42 on ${os.platform} ${os.major} / ${build_arch}."
-        }
-    }
-}
-
 set triple ""
-if {[variant_isset gcc42]} {
-    set version_gcc 4.2.4
-    dist_subdir     gcc42
-    array set barch {ppc powerpc ppc64 powerpc64 i386 i386 x86_64 x86_64}
-    if {[info exists barch(${build_arch})]} {
-        set triple      $barch(${build_arch})-apple-darwin${os.major}
-    }
-} else {
-    set version_gcc 4.0.4
-    dist_subdir     gcc40
-    set triple      ${os.arch}-apple-darwin${os.major}
+set version_gcc 4.2.4
+array set barch {ppc powerpc ppc64 powerpc64 i386 i386 x86_64 x86_64}
+if {[info exists barch(${build_arch})]} {
+    set triple      $barch(${build_arch})-apple-darwin${os.major}
 }
 set buildhost   "--build=${triple} --host=${triple}"
 
@@ -49,28 +33,28 @@
 set gcclib      lib/${name}/${triple}/${version_gcc}
 distfiles       ${dcore}:gcc ${dg95}:g95
 
-checksums       ${dcore} md5    193e0a7a471cca70e374974bc5a60137         \
-                ${dcore} sha1   55c664b33a4dc6b2130c47da28a1d6daab732ce9 \
-                ${dcore} rmd160 af67dc8385942450f6b27ad83a6b9e3d22f779a1 \
-                ${dg95}  md5     e2b613769f28e8e0ae6a18d02a052dae \
-                ${dg95}  sha1    e6320fc80d8e388aad1fdbde53b2414353692b76 \
-                ${dg95}  rmd160  ac00c4cdd6dc0b90ef865040ff338b7f2d9296d1
+checksums       ${dcore} md5     b7a4c167f6a05301591b139b356e36d0 \
+                ${dcore} sha1    540fa6949415ded321a7cbe80bbf8befe85e3566 \
+                ${dcore} rmd160  d54581d0a2ecc22718e6be101c6dc524a4a88463 \
+                ${dg95}  md5     f9552aef0975c1dcf70950b6e6b18ff1 \
+                ${dg95}  sha1    b5e503fd6459b65cbda73190685f9490230d9cff \
+                ${dg95}  rmd160  98d03e9a1835f4b3553a72a798bdf1d90a757176
 
 depends_lib     port:libtool port:libiconv
 
 patchfiles      patch-Makefile.in.diff \
-                patch-host-darwin.c.diff \
-                patch-darwin-fallback.c.diff
+                patch-darwin.h.diff \
+                patch-lang.opt.diff
 
 universal_variant no
 use_parallel_build  no
 
-extract.only    ${dg95}
-
-pre-fetch {
-    file delete ${distpath}/${dg95}
+if {[variant_isset gcc42]} {
+    return -code error "gcc42 variant has been deprecated. Uninstall ${name} and reinstall."
 }
 
+extract.only    ${dg95}
+
 post-extract {
     system "tar jxvf ${distpath}/${dcore} -C ${workpath}; \
             cd ${worksrcpath}; tar zxvf libf95.a-${version}.tar.gz"
@@ -85,15 +69,10 @@
     reinplace "s|gcc-lib|$name|" ${worksrcpath}/libf95.a-${version}/configure
     reinplace "s|CFLAGS_FOR_TARGET = -O2 \$(CFLAGS)|CFLAGS_FOR_TARGET = ${configure.cflags}|" ${workpath}/gcc-${version_gcc}/Makefile.in
     reinplace "s|^stage1_cflags=\"|stage1_cflags=\"${configure.cflags} ${configure.cc_archflags} |" ${workpath}/gcc-${version_gcc}/configure
-    if {[variant_isset gcc42]} {
-      reinplace "s|named_section|get_named_section|" ${worksrcpath}/trans-decl.c
-    }
+    reinplace "s|named_section|get_named_section|" ${worksrcpath}/trans-decl.c
 }
 
-# g95 fails to build with clang
-if {${configure.compiler} == "clang"} {
-    configure.compiler llvm-gcc-4.2
-}
+compiler.blacklist  clang
 
 pre-configure {
     file mkdir ${workpath}/gcc-${version_gcc}/${name}
@@ -122,16 +101,24 @@
                          --libdir=${prefix}/${gcclib} \
                          ${gcc_configargs} ${buildhost}; \
             make"
-    if {[variant_isset gcc42]} {
-        system "cd ${workpath}/gcc-${version_gcc}/${name}/gcc; \
-                ar d libbackend.a options.o; \
-                cd ${workpath}/gcc-${version_gcc}/gcc/; \
-                patch -p0 < ${portpath}/files/patch-gcc.c.diff" 
-    }
+    system "cd ${workpath}/gcc-${version_gcc}/${name}/gcc; \
+            ar d libbackend.a options.o; \
+            cd ${workpath}/gcc-${version_gcc}/gcc/; \
+            patch -p0 < ${portpath}/files/patch-gcc.c.diff" 
 }
 
 configure.args  --with-gcc-dir=${workpath}/gcc-${version_gcc} ${buildhost}
 
+post-configure {
+    reinplace "s|\(f951_LDADD\)|(f951_LDADD) ${workpath}/gcc-${version_gcc}/g95/libdecnumber/*.o|" ${worksrcpath}/Makefile
+}
+
+pre-build {
+    if {${os.arch}=="i386"} {
+        reinplace "s|\(g95_LDADD\)|(g95_LDADD) ${workpath}/gcc-${version_gcc}/g95/gcc/driver-i386.o|" ${worksrcpath}/Makefile
+    }
+}
+
 post-build {
     system "cd ${worksrcpath}/libf95.a-${version}; \
            export CC=\"${configure.cc}\"; \
@@ -152,29 +139,7 @@
 }
 
 platform darwin 8 {
-    patchfiles-delete patch-host-darwin.c.diff patch-darwin-fallback.c.diff
     depends_lib-append port:odcctools
 }
 
-variant gcc42 description {link against gcc42} {
-    master_sites-delete ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.0.4/:gcc
-    master_sites-append ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.2.4/:gcc
-    checksums-delete    ${dcore} md5    193e0a7a471cca70e374974bc5a60137         \
-                        ${dcore} sha1   55c664b33a4dc6b2130c47da28a1d6daab732ce9 \
-                        ${dcore} rmd160 af67dc8385942450f6b27ad83a6b9e3d22f779a1
-    checksums-append    ${dcore} md5     b7a4c167f6a05301591b139b356e36d0 \
-                        ${dcore} sha1    540fa6949415ded321a7cbe80bbf8befe85e3566 \
-                        ${dcore} rmd160  d54581d0a2ecc22718e6be101c6dc524a4a88463
-    patchfiles-append   patch-lang.opt.diff patch-darwin.h.diff
-    patchfiles-delete   patch-host-darwin.c.diff patch-darwin-fallback.c.diff
-
-    post-configure {
-        reinplace "s|\(f951_LDADD\)|(f951_LDADD) ${workpath}/gcc-${version_gcc}/g95/libdecnumber/*.o|" ${worksrcpath}/Makefile
-    }
-
-    pre-build {
-        if {${os.arch}=="i386"} {
-            reinplace "s|\(g95_LDADD\)|(g95_LDADD) ${workpath}/gcc-${version_gcc}/g95/gcc/driver-i386.o|" ${worksrcpath}/Makefile
-        }
-    }
-}
+variant gcc42 description {deprecated variant} {}

Modified: trunk/dports/lang/g95/files/patch-Makefile.in.diff
===================================================================
--- trunk/dports/lang/g95/files/patch-Makefile.in.diff	2012-12-23 05:31:45 UTC (rev 100758)
+++ trunk/dports/lang/g95/files/patch-Makefile.in.diff	2012-12-23 07:22:52 UTC (rev 100759)
@@ -1,14 +1,14 @@
---- Makefile.in.orig	2010-04-11 23:30:12.000000000 +0900
-+++ Makefile.in	2010-04-11 23:32:03.000000000 +0900
-@@ -1258,7 +1258,6 @@
+--- Makefile.in.orig	2010-04-22 13:23:24.000000000 +0900
++++ Makefile.in	2012-12-20 22:15:34.000000000 +0900
+@@ -1338,7 +1338,6 @@
  
  install-exec-am: install-binPROGRAMS
  	@$(NORMAL_INSTALL)
 -	$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
- 
  install-html: install-html-am
  
-@@ -1335,14 +1334,9 @@
+ install-html-am:
+@@ -1423,14 +1422,9 @@
  install-data-hook:
  	-ln -sf f951$(EXEEXT) $(DESTDIR)@DEST_LIBDIR@/cc1
  	if test "`uname`" = "Darwin" ; then \
@@ -23,7 +23,7 @@
  	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 -) ; \
-@@ -1357,8 +1351,8 @@
+@@ -1445,8 +1439,8 @@
  	fi
  
  ggc-page.o: $(srcdir)/ggc-page40.c $(srcdir)/ggc-page41.c

Deleted: trunk/dports/lang/g95/files/patch-darwin-fallback.c.diff
===================================================================
--- trunk/dports/lang/g95/files/patch-darwin-fallback.c.diff	2012-12-23 05:31:45 UTC (rev 100758)
+++ trunk/dports/lang/g95/files/patch-darwin-fallback.c.diff	2012-12-23 07:22:52 UTC (rev 100759)
@@ -1,82 +0,0 @@
---- gcc-4.0.4/gcc/config/rs6000/darwin-fallback.c.orig	2007-11-11 10:46:12.000000000 +0900
-+++ gcc-4.0.4/gcc/config/rs6000/darwin-fallback.c	2007-11-11 11:25:18.000000000 +0900
-@@ -261,9 +261,9 @@
- };
- 
- #define UC_FLAVOR_SIZE \
--  (sizeof (struct mcontext) - sizeof (ppc_vector_state_t))
-+  (sizeof (struct __darwin_mcontext) - sizeof (ppc_vector_state_t))
- 
--#define UC_FLAVOR_VEC_SIZE (sizeof (struct mcontext))
-+#define UC_FLAVOR_VEC_SIZE (sizeof (struct __darwin_mcontext))
- 
- #define UC_FLAVOR64_SIZE \
-   (sizeof (struct gcc_mcontext64) - sizeof (ppc_vector_state_t))
-@@ -354,33 +354,33 @@
-     }
-   else
-     {
--      struct mcontext *m = uctx->uc_mcontext;
-+      struct __darwin_mcontext *m = (struct __darwin_mcontext *)uctx->uc_mcontext;
-       int i;
- 
--      float_state = &m->fs;
--      vector_state = &m->vs;
-+      float_state = &m->__fs;
-+      vector_state = &m->__vs;
-       
--      new_cfa = m->ss.r1;
-+      new_cfa = m->__ss.__r1;
- 
--      set_offset (CR2_REGNO, &m->ss.cr);
-+      set_offset (CR2_REGNO, &m->__ss.__cr);
-       for (i = 0; i < 32; i++)
--	set_offset (i, &m->ss.r0 + i);
--      set_offset (XER_REGNO, &m->ss.xer);
--      set_offset (LINK_REGISTER_REGNUM, &m->ss.lr);
--      set_offset (COUNT_REGISTER_REGNUM, &m->ss.ctr);
-+	set_offset (i, &m->__ss.__r0 + i);
-+      set_offset (XER_REGNO, &m->__ss.__xer);
-+      set_offset (LINK_REGISTER_REGNUM, &m->__ss.__lr);
-+      set_offset (COUNT_REGISTER_REGNUM, &m->__ss.__ctr);
- 
-       if (is_vector)
--	set_offset (VRSAVE_REGNO, &m->ss.vrsave);
-+	set_offset (VRSAVE_REGNO, &m->__ss.__vrsave);
- 
-       /* Sometimes, srr0 points to the instruction that caused the exception,
- 	 and sometimes to the next instruction to be executed; we want
- 	 the latter.  */
--      if (m->es.exception == 3 || m->es.exception == 4
--	  || m->es.exception == 6
--	  || (m->es.exception == 7 && !(m->ss.srr1 & 0x10000)))
--	return_addr = m->ss.srr0 + 4;
-+      if (m->__es.__exception == 3 || m->__es.__exception == 4
-+	  || m->__es.__exception == 6
-+	  || (m->__es.__exception == 7 && !(m->__ss.__srr1 & 0x10000)))
-+	return_addr = m->__ss.__srr0 + 4;
-       else
--	return_addr = m->ss.srr0;
-+	return_addr = m->__ss.__srr0;
-     }
- 
-   fs->cfa_how = CFA_REG_OFFSET;
-@@ -399,14 +399,14 @@
-   set_offset (ARG_POINTER_REGNUM, &return_addr);
- 
-   for (i = 0; i < 32; i++)
--    set_offset (32 + i, float_state->fpregs + i);
--  set_offset (SPEFSCR_REGNO, &float_state->fpscr);
-+    set_offset (32 + i, float_state->__fpregs + i);
-+  set_offset (SPEFSCR_REGNO, &float_state->__fpscr);
-   
-   if (is_vector)
-     {
-       for (i = 0; i < 32; i++)
--	set_offset (FIRST_ALTIVEC_REGNO + i, vector_state->save_vr + i);
--      set_offset (VSCR_REGNO, vector_state->save_vscr);
-+	set_offset (FIRST_ALTIVEC_REGNO + i, vector_state->__save_vr + i);
-+      set_offset (VSCR_REGNO, vector_state->__save_vscr);
-     }
- 
-   return true;

Deleted: trunk/dports/lang/g95/files/patch-host-darwin.c.diff
===================================================================
--- trunk/dports/lang/g95/files/patch-host-darwin.c.diff	2012-12-23 05:31:45 UTC (rev 100758)
+++ trunk/dports/lang/g95/files/patch-host-darwin.c.diff	2012-12-23 07:22:52 UTC (rev 100759)
@@ -1,31 +0,0 @@
---- gcc-4.0.4/gcc/config/rs6000/host-darwin.c.orig	2007-11-10 13:24:23.000000000 +0900
-+++ gcc-4.0.4/gcc/config/rs6000/host-darwin.c	2007-11-10 13:19:23.000000000 +0900
-@@ -33,10 +33,6 @@
- static void segv_handler (int, siginfo_t *, void *);
- static void darwin_rs6000_extra_signals (void);
- 
--/* This doesn't have a prototype in signal.h in 10.2.x and earlier,
--   fixed in later releases.  */
--extern int sigaltstack(const struct sigaltstack *, struct sigaltstack *);
--
- #undef HOST_HOOKS_EXTRA_SIGNALS
- #define HOST_HOOKS_EXTRA_SIGNALS darwin_rs6000_extra_signals
-
-@@ -60,7 +60,7 @@
-      which case the next line will segfault _again_.  Handle this case.  */
-   signal (SIGSEGV, segv_crash_handler);
- 
--  faulting_insn = *(unsigned *)uc->uc_mcontext->ss.srr0;
-+  faulting_insn = *(unsigned *)uc->uc_mcontext->__ss.__srr0;
- 
-   /* Note that this only has to work for GCC, so we don't have to deal
-      with all the possible cases (GCC has no AltiVec code, for
-@@ -109,7 +109,7 @@
-     }
- 
-   fprintf (stderr, "[address=%08lx pc=%08x]\n", 
--	   uc->uc_mcontext->es.dar, uc->uc_mcontext->ss.srr0);
-+	   uc->uc_mcontext->__es.__dar, uc->uc_mcontext->__ss.__srr0);
-   internal_error ("Segmentation Fault");
-   exit (FATAL_EXIT_CODE);
- }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20121222/b4ce947e/attachment-0001.html>


More information about the macports-changes mailing list