[107759] trunk/dports/lang

jeremyhu at macports.org jeremyhu at macports.org
Fri Jul 5 02:00:53 PDT 2013


Revision: 107759
          https://trac.macports.org/changeset/107759
Author:   jeremyhu at macports.org
Date:     2013-07-05 02:00:53 -0700 (Fri, 05 Jul 2013)
Log Message:
-----------
dragonegg-3.[34]: Use subports to provide the plugin for multiple gcc versions, support gcc 4.6 as default based on upstream's comment that it is the best supported

Modified Paths:
--------------
    trunk/dports/lang/dragonegg-3.3/Portfile
    trunk/dports/lang/dragonegg-3.3/files/dragonegg-gcc
    trunk/dports/lang/dragonegg-3.4/Portfile
    trunk/dports/lang/dragonegg-3.4/files/dragonegg-gcc
    trunk/dports/lang/gcc45/Portfile
    trunk/dports/lang/gcc46/Portfile
    trunk/dports/lang/gcc47/Portfile
    trunk/dports/lang/gcc48/Portfile
    trunk/dports/lang/gcc49/Portfile

Added Paths:
-----------
    trunk/dports/lang/dragonegg-3.3/files/dragonegg-select
    trunk/dports/lang/dragonegg-3.4/files/dragonegg-select

Removed Paths:
-------------
    trunk/dports/lang/dragonegg-3.3/files/dragonegg-3.3-gcc47
    trunk/dports/lang/dragonegg-3.4/files/dragonegg-3.4-gcc48

Modified: trunk/dports/lang/dragonegg-3.3/Portfile
===================================================================
--- trunk/dports/lang/dragonegg-3.3/Portfile	2013-07-05 07:37:22 UTC (rev 107758)
+++ trunk/dports/lang/dragonegg-3.3/Portfile	2013-07-05 09:00:53 UTC (rev 107759)
@@ -6,22 +6,63 @@
 
 set llvm_version        3.3
 name                    dragonegg-${llvm_version}
-set gcc_version         47
-set gcc_version_dot     4.7
-revision                1
+
+subport                 ${name}-gcc-4.5 {
+    revision            0
+    set gcc_version     45
+    set gcc_version_dot 4.5
+}
+subport                 ${name}-gcc-4.6 {
+    revision            0
+    set gcc_version     46
+    set gcc_version_dot 4.6
+}
+subport                 ${name}-gcc-4.7 {
+    revision            0
+    set gcc_version     47
+    set gcc_version_dot 4.7
+}
+subport                 ${name}-gcc-4.8 {
+    revision            0
+    set gcc_version     48
+    set gcc_version_dot 4.8
+}
+
 dist_subdir             llvm
 categories              lang
 platforms               darwin
 maintainers             jeremyhu
 license                 GPL-2
 
-description             DragonEgg is a LLVM plug-in for GCC ${gcc_version_dot}
+description             DragonEgg is a LLVM plug-in for GCC
 long_description        DragonEgg replaces GCC optimizers and code generators \
                         by the LLVM optimizing infrastructure. It supersedes \
                         llvm-gcc.
 
 homepage                http://dragonegg.llvm.org/
 
+if {${subport} == ${name}} {
+version                 ${llvm_version}
+epoch                   1
+revision                2
+
+distfiles
+
+set gcc_version_dot     4.6
+
+depends_run             port:${name}-gcc-${gcc_version_dot}
+
+use_configure           no
+build                   {}
+destroot {
+    # For base
+    foreach binary {gcc cpp c++ g++ gcj gcov gfortran} {
+        ln -s dragonegg-${llvm_version}-${binary}-mp-${gcc_version_dot} ${destroot}${prefix}/bin/dragonegg-${llvm_version}-${binary}
+    }
+}
+
+} else {
+
 depends_lib             port:llvm-${llvm_version} port:gcc${gcc_version}
 depends_run             port:gcc_select
 
@@ -30,12 +71,12 @@
 depends_skip_archcheck-append gcc${gcc_version}
 
 #fetch.type              svn
-#svn.revision            180025
+#svn.revision            185261
 #version                 ${llvm_version}-r${svn.revision}
 #worksrcdir              trunk
 #svn.url                 http://llvm.org/svn/llvm-project/dragonegg/trunk
-#worksrcdir              release_33
-#svn.url                 http://llvm.org/svn/llvm-project/dragonegg/branches/release_33
+#worksrcdir              release_34
+#svn.url                 http://llvm.org/svn/llvm-project/dragonegg/branches/release_34
 
 version                 ${llvm_version}
 epoch                   1
@@ -53,7 +94,7 @@
 use_configure no
 
 select.group    gcc
-select.file     ${filespath}/dragonegg-${llvm_version}-gcc${gcc_version}
+select.file     ${worksrcpath}/dragonegg-${llvm_version}-gcc-${gcc_version_dot}
 
 build.target
 
@@ -77,6 +118,12 @@
 
 patchfiles missing-includes.patch
 
+post-extract {
+    file copy ${filespath}/dragonegg-select ${select.file}
+    reinplace "s:LLVM_VERSION:${llvm_version}:" ${select.file}
+    reinplace "s:GCC_VERSION:${gcc_version_dot}:" ${select.file}
+}
+
 variant universal {
     post-patch {
         reinplace "/-MD -MP/d" ${worksrcpath}/Makefile
@@ -91,19 +138,19 @@
 
 destroot {
     xinstall -m 755 -d ${destroot}${prefix}/libexec/dragonegg
-    xinstall -m 755 ${worksrcpath}/dragonegg.so ${destroot}${prefix}/libexec/dragonegg/llvm-${llvm_version}-gcc${gcc_version}.so
+    xinstall -m 755 ${worksrcpath}/dragonegg.so ${destroot}${prefix}/libexec/dragonegg/llvm-${llvm_version}-gcc-${gcc_version_dot}.so
 
-    xinstall -m 755 ${filespath}/dragonegg-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcc
-    ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-cpp
-    ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-c++
-    ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-g++
-    ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcj
-    ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcov
-    ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gfortran
+    foreach binary {gcc cpp c++ g++ gcj gcov gfortran} {
+        set path ${destroot}${prefix}/bin/dragonegg-${llvm_version}-${binary}-mp-${gcc_version_dot}
+        xinstall -m 755 ${filespath}/dragonegg-gcc ${path}
+        reinplace "s:PLUGIN:${prefix}/libexec/dragonegg/llvm-${llvm_version}-gcc-${gcc_version_dot}.so:" ${path}
+        reinplace "s:PREFIX:${prefix}:" ${path}
+        reinplace "s:GCC_VERSION:${gcc_version_dot}:" ${path}
+        reinplace "s:BINARY:${binary}:" ${path}
+        
+    }
+}
 
-    reinplace "s:PLUGIN:${prefix}/libexec/dragonegg/llvm-${llvm_version}-gcc${gcc_version}.so:" ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcc
-    reinplace "s:LLVM_VERSION:${llvm_version}:" ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcc
-    reinplace "s:GCC_VERSION:${gcc_version_dot}:" ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcc
 }
 
 livecheck.type          none

Deleted: trunk/dports/lang/dragonegg-3.3/files/dragonegg-3.3-gcc47
===================================================================
--- trunk/dports/lang/dragonegg-3.3/files/dragonegg-3.3-gcc47	2013-07-05 07:37:22 UTC (rev 107758)
+++ trunk/dports/lang/dragonegg-3.3/files/dragonegg-3.3-gcc47	2013-07-05 09:00:53 UTC (rev 107759)
@@ -1,7 +0,0 @@
-bin/dragonegg-3.3-gcc
-bin/dragonegg-3.3-cpp
-bin/dragonegg-3.3-c++
-bin/dragonegg-3.3-g++
-bin/dragonegg-3.3-gcj
-bin/dragonegg-3.3-gcov
-bin/dragonegg-3.3-gfortran

Modified: trunk/dports/lang/dragonegg-3.3/files/dragonegg-gcc
===================================================================
--- trunk/dports/lang/dragonegg-3.3/files/dragonegg-gcc	2013-07-05 07:37:22 UTC (rev 107758)
+++ trunk/dports/lang/dragonegg-3.3/files/dragonegg-gcc	2013-07-05 09:00:53 UTC (rev 107759)
@@ -1,5 +1,3 @@
 #!/bin/bash
 
-CMD=${0/dragonegg-LLVM_VERSION-/}
-
-exec ${CMD}-mp-GCC_VERSION -fplugin=PLUGIN "${@}"
+exec PREFIX/bin/BINARY-mp-GCC_VERSION -fplugin=PLUGIN "${@}"

Added: trunk/dports/lang/dragonegg-3.3/files/dragonegg-select
===================================================================
--- trunk/dports/lang/dragonegg-3.3/files/dragonegg-select	                        (rev 0)
+++ trunk/dports/lang/dragonegg-3.3/files/dragonegg-select	2013-07-05 09:00:53 UTC (rev 107759)
@@ -0,0 +1,7 @@
+bin/dragonegg-LLVM_VERSION-gcc-mp-GCC_VERSION
+bin/dragonegg-LLVM_VERSION-cpp-mp-GCC_VERSION
+bin/dragonegg-LLVM_VERSION-c++-mp-GCC_VERSION
+bin/dragonegg-LLVM_VERSION-g++-mp-GCC_VERSION
+bin/dragonegg-LLVM_VERSION-gcj-mp-GCC_VERSION
+bin/dragonegg-LLVM_VERSION-gcov-mp-GCC_VERSION
+bin/dragonegg-LLVM_VERSION-gfortran-mp-GCC_VERSION

Modified: trunk/dports/lang/dragonegg-3.4/Portfile
===================================================================
--- trunk/dports/lang/dragonegg-3.4/Portfile	2013-07-05 07:37:22 UTC (rev 107758)
+++ trunk/dports/lang/dragonegg-3.4/Portfile	2013-07-05 09:00:53 UTC (rev 107759)
@@ -6,22 +6,67 @@
 
 set llvm_version        3.4
 name                    dragonegg-${llvm_version}
-set gcc_version         48
-set gcc_version_dot     4.8
-revision                1
+
+subport                 ${name}-gcc-4.5 {
+    revision            0
+    set gcc_version     45
+    set gcc_version_dot 4.5
+}
+subport                 ${name}-gcc-4.6 {
+    revision            0
+    set gcc_version     46
+    set gcc_version_dot 4.6
+}
+subport                 ${name}-gcc-4.7 {
+    revision            0
+    set gcc_version     47
+    set gcc_version_dot 4.7
+}
+subport                 ${name}-gcc-4.8 {
+    revision            0
+    set gcc_version     48
+    set gcc_version_dot 4.8
+}
+subport                 ${name}-gcc-4.9 {
+    revision            0
+    set gcc_version     49
+    set gcc_version_dot 4.9
+}
+
 dist_subdir             llvm
 categories              lang
 platforms               darwin
 maintainers             jeremyhu
 license                 GPL-2
 
-description             DragonEgg is a LLVM plug-in for GCC ${gcc_version_dot}
+description             DragonEgg is a LLVM plug-in for GCC
 long_description        DragonEgg replaces GCC optimizers and code generators \
                         by the LLVM optimizing infrastructure. It supersedes \
                         llvm-gcc.
 
 homepage                http://dragonegg.llvm.org/
 
+if {${subport} == ${name}} {
+version                 ${llvm_version}
+epoch                   1
+
+distfiles
+
+set gcc_version_dot     4.6
+
+depends_run             port:${name}-gcc-${gcc_version_dot}
+
+use_configure           no
+build                   {}
+destroot {
+    # For base
+    foreach binary {gcc cpp c++ g++ gcj gcov gfortran} {
+        ln -s dragonegg-${llvm_version}-${binary}-mp-${gcc_version_dot} ${destroot}${prefix}/bin/dragonegg-${llvm_version}-${binary}
+    }
+}
+
+} else {
+
 depends_lib             port:llvm-${llvm_version} port:gcc${gcc_version}
 depends_run             port:gcc_select
 
@@ -42,9 +87,9 @@
 #master_sites            http://llvm.org/releases/${version}/
 #extract.suffix          .tar.gz
 #distname                dragonegg-${version}.src
-#checksums           sha1    9be8f055df814e56ea3585156da8c7e457f2cd7b \
-#                    rmd160  93aa8a463b6b5e1fb9cc1ee0a7c4d310a78ea64f \
-#                    sha256  72df1fd2e901b254ab8d1b5e7b93c7104751a613aca531f1483f9a637a5f6827
+#checksums           sha1    aaab9d4c33e4bcad82027acb220453b5db61292a \
+#                    rmd160  afee1287634ca3c926e5cdb93286e3f926f3f9ec \
+#                    sha256  3153a827e9a3cef4212d0240ffc5ab7a2ce92dcf1283520d1eb0c3f295f4d9cd
 
 pre-fetch {
     ui_msg "Please remember to keep dragonegg and llvm in phase by updating llvm-${llvm_version} first."
@@ -53,7 +98,7 @@
 use_configure no
 
 select.group    gcc
-select.file     ${filespath}/dragonegg-${llvm_version}-gcc${gcc_version}
+select.file     ${worksrcpath}/dragonegg-${llvm_version}-gcc-${gcc_version_dot}
 
 build.target
 
@@ -77,6 +122,12 @@
 
 patchfiles missing-includes.patch
 
+post-extract {
+    file copy ${filespath}/dragonegg-select ${select.file}
+    reinplace "s:LLVM_VERSION:${llvm_version}:" ${select.file}
+    reinplace "s:GCC_VERSION:${gcc_version_dot}:" ${select.file}
+}
+
 variant universal {
     post-patch {
         reinplace "/-MD -MP/d" ${worksrcpath}/Makefile
@@ -91,19 +142,19 @@
 
 destroot {
     xinstall -m 755 -d ${destroot}${prefix}/libexec/dragonegg
-    xinstall -m 755 ${worksrcpath}/dragonegg.so ${destroot}${prefix}/libexec/dragonegg/llvm-${llvm_version}-gcc${gcc_version}.so
+    xinstall -m 755 ${worksrcpath}/dragonegg.so ${destroot}${prefix}/libexec/dragonegg/llvm-${llvm_version}-gcc-${gcc_version_dot}.so
 
-    xinstall -m 755 ${filespath}/dragonegg-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcc
-    ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-cpp
-    ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-c++
-    ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-g++
-    ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcj
-    ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcov
-    ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gfortran
+    foreach binary {gcc cpp c++ g++ gcj gcov gfortran} {
+        set path ${destroot}${prefix}/bin/dragonegg-${llvm_version}-${binary}-mp-${gcc_version_dot}
+        xinstall -m 755 ${filespath}/dragonegg-gcc ${path}
+        reinplace "s:PLUGIN:${prefix}/libexec/dragonegg/llvm-${llvm_version}-gcc-${gcc_version_dot}.so:" ${path}
+        reinplace "s:PREFIX:${prefix}:" ${path}
+        reinplace "s:GCC_VERSION:${gcc_version_dot}:" ${path}
+        reinplace "s:BINARY:${binary}:" ${path}
+        
+    }
+}
 
-    reinplace "s:PLUGIN:${prefix}/libexec/dragonegg/llvm-${llvm_version}-gcc${gcc_version}.so:" ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcc
-    reinplace "s:LLVM_VERSION:${llvm_version}:" ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcc
-    reinplace "s:GCC_VERSION:${gcc_version_dot}:" ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcc
 }
 
 livecheck.type          none

Deleted: trunk/dports/lang/dragonegg-3.4/files/dragonegg-3.4-gcc48
===================================================================
--- trunk/dports/lang/dragonegg-3.4/files/dragonegg-3.4-gcc48	2013-07-05 07:37:22 UTC (rev 107758)
+++ trunk/dports/lang/dragonegg-3.4/files/dragonegg-3.4-gcc48	2013-07-05 09:00:53 UTC (rev 107759)
@@ -1,7 +0,0 @@
-bin/dragonegg-3.4-gcc
-bin/dragonegg-3.4-cpp
-bin/dragonegg-3.4-c++
-bin/dragonegg-3.4-g++
-bin/dragonegg-3.4-gcj
-bin/dragonegg-3.4-gcov
-bin/dragonegg-3.4-gfortran

Modified: trunk/dports/lang/dragonegg-3.4/files/dragonegg-gcc
===================================================================
--- trunk/dports/lang/dragonegg-3.4/files/dragonegg-gcc	2013-07-05 07:37:22 UTC (rev 107758)
+++ trunk/dports/lang/dragonegg-3.4/files/dragonegg-gcc	2013-07-05 09:00:53 UTC (rev 107759)
@@ -1,5 +1,3 @@
 #!/bin/bash
 
-CMD=${0/dragonegg-LLVM_VERSION-/}
-
-exec ${CMD}-mp-GCC_VERSION -fplugin=PLUGIN "${@}"
+exec ${0/dragonegg-LLVM_VERSION-/} -fplugin=PLUGIN "${@}"

Added: trunk/dports/lang/dragonegg-3.4/files/dragonegg-select
===================================================================
--- trunk/dports/lang/dragonegg-3.4/files/dragonegg-select	                        (rev 0)
+++ trunk/dports/lang/dragonegg-3.4/files/dragonegg-select	2013-07-05 09:00:53 UTC (rev 107759)
@@ -0,0 +1,7 @@
+bin/dragonegg-LLVM_VERSION-gcc-mp-GCC_VERSION
+bin/dragonegg-LLVM_VERSION-cpp-mp-GCC_VERSION
+bin/dragonegg-LLVM_VERSION-c++-mp-GCC_VERSION
+bin/dragonegg-LLVM_VERSION-g++-mp-GCC_VERSION
+bin/dragonegg-LLVM_VERSION-gcj-mp-GCC_VERSION
+bin/dragonegg-LLVM_VERSION-gcov-mp-GCC_VERSION
+bin/dragonegg-LLVM_VERSION-gfortran-mp-GCC_VERSION

Modified: trunk/dports/lang/gcc45/Portfile
===================================================================
--- trunk/dports/lang/gcc45/Portfile	2013-07-05 07:37:22 UTC (rev 107758)
+++ trunk/dports/lang/gcc45/Portfile	2013-07-05 09:00:53 UTC (rev 107759)
@@ -4,6 +4,7 @@
 PortGroup select 1.0
 PortGroup compiler_blacklist_versions 1.0
 
+# Whenever this port is bumped for version/revision, please revbump dragonegg-3.[34]-gcc-4.5
 name                gcc45
 epoch               1
 version             4.5.4

Modified: trunk/dports/lang/gcc46/Portfile
===================================================================
--- trunk/dports/lang/gcc46/Portfile	2013-07-05 07:37:22 UTC (rev 107758)
+++ trunk/dports/lang/gcc46/Portfile	2013-07-05 09:00:53 UTC (rev 107759)
@@ -7,7 +7,7 @@
 name                gcc46
 epoch               1
 
-# Whenever this port is bumped for version/revision, please revbump dragonegg-3.[012]
+# Whenever this port is bumped for version/revision, please revbump dragonegg-3.[012] and dragonegg-3.[34]-gcc-4.6
 version             4.6.4
 revision            1
 platforms           darwin

Modified: trunk/dports/lang/gcc47/Portfile
===================================================================
--- trunk/dports/lang/gcc47/Portfile	2013-07-05 07:37:22 UTC (rev 107758)
+++ trunk/dports/lang/gcc47/Portfile	2013-07-05 09:00:53 UTC (rev 107759)
@@ -8,7 +8,7 @@
 name                gcc47
 epoch               1
 
-# Whenever this port is bumped for version/revision, please revbump dragonegg-3.3
+# Whenever this port is bumped for version/revision, please revbump dragonegg-3.[34]-gcc-4.7
 version             4.7.3
 revision            1
 platforms           darwin

Modified: trunk/dports/lang/gcc48/Portfile
===================================================================
--- trunk/dports/lang/gcc48/Portfile	2013-07-05 07:37:22 UTC (rev 107758)
+++ trunk/dports/lang/gcc48/Portfile	2013-07-05 09:00:53 UTC (rev 107759)
@@ -7,7 +7,7 @@
 name                gcc48
 subport             libstdcxx {}
 
-# Whenever this port is bumped for version/revision, please revbump dragonegg-3.4
+# Whenever this port is bumped for version/revision, please revbump dragonegg-3.[34]-gcc-4.8
 epoch               2
 version             4.8.1
 revision            1

Modified: trunk/dports/lang/gcc49/Portfile
===================================================================
--- trunk/dports/lang/gcc49/Portfile	2013-07-05 07:37:22 UTC (rev 107758)
+++ trunk/dports/lang/gcc49/Portfile	2013-07-05 09:00:53 UTC (rev 107759)
@@ -7,6 +7,7 @@
 name                gcc49
 subport             libstdcxx-devel {}
 
+# Whenever this port is bumped for version/revision, please revbump dragonegg-3.4-gcc-4.9
 version             4.9-20130630
 revision            1
 platforms           darwin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130705/d632c5e3/attachment-0001.html>


More information about the macports-changes mailing list