[108783] users/mojca

mojca at macports.org mojca at macports.org
Thu Aug 1 14:41:31 PDT 2013


Revision: 108783
          https://trac.macports.org/changeset/108783
Author:   mojca at macports.org
Date:     2013-08-01 14:41:31 -0700 (Thu, 01 Aug 2013)
Log Message:
-----------
mojca/geant4: use geant4.x.y instead of geant4-x.y

Modified Paths:
--------------
    users/mojca/notes/Geant4.txt
    users/mojca/ports/science/gate/Portfile
    users/mojca/ports/science/geant4/Portfile

Added Paths:
-----------
    users/mojca/notes/geant4-obsolete.Portfile
    users/mojca/ports/science/geant4/

Modified: users/mojca/notes/Geant4.txt
===================================================================
--- users/mojca/notes/Geant4.txt	2013-08-01 21:02:09 UTC (rev 108782)
+++ users/mojca/notes/Geant4.txt	2013-08-01 21:41:31 UTC (rev 108783)
@@ -136,15 +136,19 @@
 - Check if /opt/local/share/Geant4/Geant4-10.0.0/geant4make/geant4make.sh works
 
 Lower priority:
+- implement livecheck
 - Try to move /opt/local/share/Geant4/Geant4-10.0.0/geant4make/config to a better place
 - Try to get rid of one level in /opt/local/include/Geant4/Geant4.10.0/Geant4 (low priority, maybe not be needed at all)
 - Fix scripts in /opt/local/libexec/Geant4/Geant4.10.0 (symlinking to them doesn't work, but on the other hand they are probably not needed)
 - Carefully check different CMake configuration options
+- Do default arguments need to be turned off explicitly?
+	configure.args-append/delete -DGEANT4_USE_OPENGL_X11=OFF
 - figure out if it is possible to hardcode paths into Geant4 sources to some extent
 	example: G4PenelopeOscillatorManage.cc uses
 		char* path = getenv("G4LEDATA");
 - Test how setting CMAKE_INSTALL_IS_NONRELOCATABLE influences different components,
   in particular GEANT4_RELATIVE_HEADER_PATH, GEANT4_INCLUDE_DIR_SETUP (cmake/Modules/Geant4BuildProjectConfig.cmake)
+- Try to patch the sources to move examples to libexec without manually moving them in post-destroot
 
 -- Libraries -L/opt/local/lib/root -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -lpthread -lm -ldl were added to the linkage list
 CMake Warning at examples/advanced/ChargeExchangeMC/CMakeLists.txt:131 (message):
@@ -161,7 +165,12 @@
 -- G4 Examples: GCCXML not found. --> P01 example disabled
 -- G4 Examples: GCCXML not found. --> P02 example disabled
 
+AIDA:
+  Geant4 compiles just fine without iAIDA
+  I don't see any option to switch aida support on or off, so I'm not exactly sure how to handle the dependency in a proper way other than making it a requirement
+  geant4.9.4 port provided the default +aida option
 
+
 Options:
 - DATAROOTDIR: Geant automatically adds /Geant4-9.6.2 (any way to prevent this?)
 - INCLUDEDIR: /opt/local/include/Geant4/Geant4.9.6/Geant4 (any way to prevent double Geant4?)

Added: users/mojca/notes/geant4-obsolete.Portfile
===================================================================
--- users/mojca/notes/geant4-obsolete.Portfile	                        (rev 0)
+++ users/mojca/notes/geant4-obsolete.Portfile	2013-08-01 21:41:31 UTC (rev 108783)
@@ -0,0 +1,13 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+# $Id: $
+
+PortSystem          1.0
+
+replaced_by         geant4.9.6
+PortGroup           obsolete 1.0
+
+name                geant4
+version             4.9.4.p04
+homepage            http://geant4.web.cern.ch/
+categories          science
+license             Geant4

Modified: users/mojca/ports/science/gate/Portfile
===================================================================
--- users/mojca/ports/science/gate/Portfile	2013-08-01 21:02:09 UTC (rev 108782)
+++ users/mojca/ports/science/gate/Portfile	2013-08-01 21:41:31 UTC (rev 108783)
@@ -1,7 +1,7 @@
 # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 # $Id$
 
-# Keep in sync with Geant4
+# Keep in sync with Geant4 (and/or implement a PortGroup)
 
 PortSystem          1.0
 PortGroup           app 1.0
@@ -18,7 +18,7 @@
 # git.branch          0bd5cc471ecaf0032f38dba82b8204501bd20fb7
 
 name                gate
-version             7.0-beta
+version             6.3-beta
 categories          science
 maintainers         mojca
 license             LGPL
@@ -142,8 +142,8 @@
     set geant.datadir       ${prefix}/share/Geant4/Data/Geant4.9.5
     set geant.cmakedir      ${prefix}/lib/Geant4-9.5.2
 
-    depends_lib-append      port:geant4-9.5
-    require_active_variants geant4-9.5 qt
+    depends_lib-append      port:geant4.9.5
+    require_active_variants geant4.9.5 qt
     configure.args-append   -DGeant4_DIR=${geant.cmakedir}
 }
 variant geant496 conflicts geant495 description {Use Geant4 9.6} {
@@ -151,8 +151,8 @@
     set geant.datadir       ${prefix}/share/Geant4/Data/Geant4.9.6
     set geant.cmakedir      ${prefix}/lib/Geant4-9.6.2
 
-    depends_lib-append      port:geant4-9.6
-    require_active_variants geant4-9.6 qt
+    depends_lib-append      port:geant4.9.6
+    require_active_variants geant4.9.6 qt
     configure.args-append   -DGeant4_DIR=${geant.cmakedir}
 }
 # variant geant4100 conflicts geant495 geant496 description {Use Geant4 10.0 (doesn't work yet)} {

Modified: users/mojca/ports/science/geant4/Portfile
===================================================================
--- users/mojca/ports/science/geant/Portfile	2013-08-01 21:02:09 UTC (rev 108782)
+++ users/mojca/ports/science/geant4/Portfile	2013-08-01 21:41:31 UTC (rev 108783)
@@ -1,19 +1,18 @@
 # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 # $Id$
 
-# Keep in sync with Gate
+# Keep in sync with Gate (and/or implement a PortGroup)
 
 PortSystem          1.0
 PortGroup           cmake 1.0
 PortGroup           select 1.0
 
-# TODO: this will probably be called geant4
-name                geant
-# TODO: not sure what the version should be (version should be specific to each subport)
+name                geant4
 version             4
 categories          science
 maintainers         mojca openmaintainer
-license             Restrictive/Distributable Geant4
+license             Restrictive/Distributable
+#                   http://geant4.web.cern.ch/geant4/license/LICENSE.html
 description         Geant4 is a toolkit for the simulation of the passage of particles through matter.
 long_description    Geant4 is a toolkit for the simulation of the passage of particles through matter. \
                     Its areas of application include high energy, nuclear and accelerator physics, as well as studies in medical and space science. \
@@ -70,11 +69,12 @@
 
 foreach {geant.version geant.revision geant.datarevision geant.patchlevel geant.version_full geant.rmd160 geant.sha256} ${geant.versions_info} {
 
-    # or perhaps share/Geant4/Geant${geant.version_simple}/Data
+    # this variable could/should come from a PortGroup one day
     # note that gmk files go to share/Geant4/Geant4-${geant.version}.${geant.patchlevel}
     set geant.datadir_x ${prefix}/share/Geant4/Data/Geant4.${geant.version}
+    # or perhaps share/Geant4/Geant${geant.version_simple}/Data
 
-    subport geant4-${geant.version}-data {
+    subport ${name}.${geant.version}-data {
         set                 geant.version_simple 4.${geant.version}
         set                 geant.datadir ${geant.datadir_x}
         version             ${geant.version_simple}
@@ -94,7 +94,7 @@
         if {${geant.version} == "9.5" } {
             set geant.data_versions     ${geant.data_versions_9.5}
         }
-        # TODO: is it possible to make the distfiles list empty in some way?
+        # Is it possible to make the distfiles list empty in some way?
         distfiles-delete ${name}-${version}${extract.suffix}
         foreach {data.name data.version data.filename data.envvariable data.md5 data.rmd160 data.sha256} ${geant.data_versions} {
             set filename ${data.filename}.${data.version}${extract.suffix}
@@ -132,9 +132,7 @@
         }
     }
 
-    # TODO: should probably eventually become ${name}.${geant.version} (geant4.9.6)
-    # (or maybe something else, I'm open to suggestions)
-    subport geant4-${geant.version} {
+    subport ${name}.${geant.version} {
         set                 geant.version_simple 4.${geant.version}
         set                 geant.distfilename   geant${geant.version_full}${extract.suffix}
         set                 geant.datadir        ${geant.datadir_x}
@@ -153,21 +151,16 @@
         }
         configure.post_args ${worksrcpath}
 
-        # TODO: check if these are all the dependencies
+        # check if these are all the dependencies
         depends_lib         port:${subport}-data \
                             port:zlib \
                             port:expat \
                             port:root \
                             port:iAIDA
-        # Geant4 compiles just fine without iAIDA
-        # I don't see any option to switch aida support on or off, so I'm not exactly sure how to handle the dependency
-        # in a proper way other than making it a requirement
-        # geant4.9.4 port provided the default +aida option
         depends_run         port:geant4_select
 
         select.group        geant4
-        select.file         ${filespath}/geant${geant.version_simple}
-        # TODO: if renamed, ${filespath}/${subport}
+        select.file         ${filespath}/${subport}
 
         configure.args-append -DGEANT4_USE_SYSTEM_EXPAT=ON
 
@@ -218,15 +211,11 @@
         # this is only needed when +examples is used
         post-destroot {
             # two examples with some broken links
-            if [file exists ${destroot}${prefix}/bin/exampleP01] {
-                delete ${destroot}${prefix}/bin/exampleP01
+            foreach example {exampleP01 exampleP02 readHits} {
+                if [file exists ${destroot}${prefix}/bin/${example}] {
+                    delete ${destroot}${prefix}/bin/${example}
+                }
             }
-            if [file exists ${destroot}${prefix}/bin/exampleP02] {
-                delete ${destroot}${prefix}/bin/exampleP02
-            }
-            if [file exists ${destroot}${prefix}/bin/readHits] {
-                delete ${destroot}${prefix}/bin/readHits
-            }
             # there is no option to build/install the examples elsewhere, so we move them to libexec (they have nothing to do in bin)
             if [file exists ${destroot}${prefix}/bin] {
                 move ${destroot}${prefix}/bin ${destroot}${prefix}/libexec/Geant4/Geant${geant.version_simple}/examples
@@ -255,15 +244,13 @@
                                   port:xorg-libX11 \
                                   port:xorg-libXext \
                                   port:xorg-libXmu
-            # TODO: do default arguments need to be turned off explicitly?
             # configure.args-delete -DGEANT4_USE_OPENGL_X11=OFF
             configure.args-append -DGEANT4_USE_OPENGL_X11=ON
         }
         ## This could belong to x11, but see also the comment above
         ## There is a fair chance that other dependencies are needed as well (x11 in particular, not sure which ones exactly)
         ## in geant4.9.4 the names are motif/raytracerx
-        ## or maybe motif-x11?
-        # variant motif description {Build with Motif (X11) user interface and visualization driver} {
+        # variant motif_x11 description {Build with Motif (X11) user interface and visualization driver} {
         #     depends_lib-append    port:mesa \
         #                           port:openmotif
         #     # configure.args-delete -DGEANT4_USE_XM=OFF
@@ -295,7 +282,6 @@
             configure.args-append -DCMAKE_BUILD_TYPE=Debug
         }
 
-        # TODO: figure out how to install binaries somewhere else
         # this option should be used with care
         variant examples requires clhep description {Build and install examples (not recommended)} {
             # optional
@@ -311,6 +297,10 @@
 
 # stub port
 if {$subport == $name || $subport == ""} {
+    # default replacement for geant4 which used to provide geant4.9.4
+    # other users should install geant4.9.6 directly
+    depends_lib   port:geant4.9.6
+
     fetch         {}
     checksum      {}
     extract       {}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130801/83297eed/attachment.html>


More information about the macports-changes mailing list