[108437] users/mojca

mojca at macports.org mojca at macports.org
Tue Jul 23 07:54:41 PDT 2013


Revision: 108437
          https://trac.macports.org/changeset/108437
Author:   mojca at macports.org
Date:     2013-07-23 07:54:41 -0700 (Tue, 23 Jul 2013)
Log Message:
-----------
geant4: some fixes

- use absolute paths in CMAKE_INSTALL_*DIR to trigger the non-relocatable flag
- add a patch to move *.cmake files to the proper place (instead of CMAKE_INSTALL_LIBDIR)
- consequently also fix the cmake path in Gate when searching for Geant4
- avoid map/eval by redefining some variables
- add support for increasing the revision of data files

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

Added Paths:
-----------
    users/mojca/ports/science/geant/files/patch-cmake-Modules-Geant4BuildProjectConfig.cmake.4100.diff
    users/mojca/ports/science/geant/files/patch-cmake-Modules-Geant4BuildProjectConfig.cmake.495.diff
    users/mojca/ports/science/geant/files/patch-cmake-Modules-Geant4BuildProjectConfig.cmake.496.diff

Modified: users/mojca/notes/Geant4.txt
===================================================================
--- users/mojca/notes/Geant4.txt	2013-07-23 14:33:37 UTC (rev 108436)
+++ users/mojca/notes/Geant4.txt	2013-07-23 14:54:41 UTC (rev 108437)
@@ -1,26 +1,9 @@
-TODO (high priority):
-- proper expansion of variables
-- Try to move /opt/local/lib/Geant4/Geant4.10.0/Geant4-10.0.0 to a better place
-	according to http://www.cmake.org/Wiki/CMake/Tutorials/Packaging it should be
-	/opt/local/lib/Geant4-10.0.0, so maybe one should not change path to
-	/opt/local/lib/Geant4/Geant4.10.0 after all
-  Try if setting GEANT4_CMAKE_DIR (or rather: patching its definition in cmake/Modules/Geant4BuildProjectConfig.cmake helps)
-	set(GEANT4_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}-${${PROJECT_NAME}_VERSION}) -> NO
+TODO:
+- decide on a precise name (geant/geant4 and geant4.9.6/geant4-9.6)
+- What licence is needed to make sure that Geant can be installed as a binary package?
+- install geant4-config via "port select"
+- print out a notice about setting up the environmental variables (this port uses a nonstandard way to set them up)
 
-  One thing than works is the following (but is an ugly hack):
-  0.) remove
-  1.) move /opt/local/lib/Geant4/Geant4.9.6/Geant4-9.6.2 to /opt/local/lib/Geant4-9.6.2
-      or rather all files but the symlink Darwin-clang which needs to stay for the sake of the old way of compiling programs
-  2.) in Geant4Config.cmake in that directory replace
-      - get_filename_component(Geant4_INCLUDE_DIR "${_thisdir}/../../../../include/Geant4/Geant4.9.6/Geant4" ABSOLUTE)
-      + get_filename_component(Geant4_INCLUDE_DIR "/opt/local/include/Geant4/Geant4.9.6/Geant4" ABSOLUTE)
-  3.) in Geant4LibraryDepends-release.cmake remove two lines (12&13)
-	  - GET_FILENAME_COMPONENT(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
-	  - GET_FILENAME_COMPONENT(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
-      (apparently each line goes one level up)
-
-TODO:
-- figure out if adding "distname" changes anything (so that all files go to the same folder - maybe they already do)
 - specify expat more precisely
 - resolve dependencies for X11 (proper checks)
 	/System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
@@ -49,13 +32,13 @@
 		/opt/local/lib/libQtOpenGL.4.dylib (compatibility version 4.8.0, current version 4.8.2)
 		/opt/local/lib/libQtGui.4.dylib (compatibility version 4.8.0, current version 4.8.2)
 		/opt/local/lib/libQtCore.4.dylib (compatibility version 4.8.0, current version 4.8.2)
+- Check if /opt/local/share/Geant4/Geant4-10.0.0/geant4make/geant4make.sh works
 
+Lower priority:
 - Try to move /opt/local/share/Geant4/Geant4-10.0.0/geant4make/config to a better place
-- Check if /opt/local/share/Geant4/Geant4-10.0.0/geant4make/geant4make.sh works
+- 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)
-- Try to get rid of one level in /opt/local/include/Geant4/Geant4.10.0/Geant4 (low priority, maybe not be needed at all)
 - Carefully check different CMake configuration options
-- geant4-config could use absolute paths instead of -L/opt/local/libexec/Geant4/Geant4.9.6/../../../lib/Geant4/Geant4.9.6
 - figure out if it is possible to hardcode paths into Geant4 sources to some extent
 	example: G4PenelopeOscillatorManage.cc uses
 		char* path = getenv("G4LEDATA");
@@ -78,11 +61,9 @@
 -- G4 Examples: GCCXML not found. --> P02 example disabled
 
 
-
 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?)
-- CMake file are under /opt/local/lib/Geant4/Geant4.10.0/Geant4-9.6.2/*.cmake (there should be no Geant4/Geant4.10.0)
 - CMAKE_INSTALL_BINDIR: this installs binaries to a non-default location;
 -     port select could be used to get the default installation, but all three scripts in bindir need patching to properly detect their location
 
@@ -152,11 +133,34 @@
 	-rwxr-xr-x  1 macports  admin   406B  8 feb 20:44 History
 	-rwxr-xr-x  1 macports  admin   547B  8 feb 20:43 README
 	./PhotonEvaporation2.2:
+- proper expansion of variables (kind-of)
+- Try to move /opt/local/lib/Geant4/Geant4.10.0/Geant4-10.0.0 to a better place
+	according to http://www.cmake.org/Wiki/CMake/Tutorials/Packaging it should be
+	/opt/local/lib/Geant4-10.0.0, so maybe one should not change path to
+	/opt/local/lib/Geant4/Geant4.10.0 after all
+  Try if setting GEANT4_CMAKE_DIR (or rather: patching its definition in cmake/Modules/Geant4BuildProjectConfig.cmake helps) -> OK
+	--- cmake/Modules/Geant4BuildProjectConfig.cmake
+	+++ cmake/Modules/Geant4BuildProjectConfig.cmake
+	-set(GEANT4_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}-${${PROJECT_NAME}_VERSION})
+	+set(GEANT4_CMAKE_DIR lib/${PROJECT_NAME}-${${PROJECT_NAME}_VERSION})
 
+  One thing than works is the following (but is an ugly hack):
+  0.) remove
+  1.) move /opt/local/lib/Geant4/Geant4.9.6/Geant4-9.6.2 to /opt/local/lib/Geant4-9.6.2
+      or rather all files but the symlink Darwin-clang which needs to stay for the sake of the old way of compiling programs
+  2.) in Geant4Config.cmake in that directory replace
+      - get_filename_component(Geant4_INCLUDE_DIR "${_thisdir}/../../../../include/Geant4/Geant4.9.6/Geant4" ABSOLUTE)
+      + get_filename_component(Geant4_INCLUDE_DIR "/opt/local/include/Geant4/Geant4.9.6/Geant4" ABSOLUTE)
+  3.) in Geant4LibraryDepends-release.cmake remove two lines (12&13)
+	  - GET_FILENAME_COMPONENT(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+	  - GET_FILENAME_COMPONENT(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+      (apparently each line goes one level up)
+
 - Try to build examples and test whether they work -> seems OK
 - Test if examples still work if they are manually moved to libexec -> OK
 - Test if setting EXECUTABLE_OUTPUT_PATH helps move examples to a different place -> NO
 - What is /opt/local/lib/Geant4/Geant4.10.0/Geant4-10.0.0/Darwin-clang doing there? -> needed by GNUmake and needs to stay there
+- geant4-config could use absolute paths instead of -L/opt/local/libexec/Geant4/Geant4.9.6/../../../lib/Geant4/Geant4.9.6 -> it does when absolute paths are specified as options
 
 
 Release dates and package dependencies:

Modified: users/mojca/ports/science/gate/Portfile
===================================================================
--- users/mojca/ports/science/gate/Portfile	2013-07-23 14:33:37 UTC (rev 108436)
+++ users/mojca/ports/science/gate/Portfile	2013-07-23 14:54:41 UTC (rev 108437)
@@ -1,9 +1,11 @@
 # -*- 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
+
 PortSystem          1.0
+PortGroup           app 1.0
 PortGroup           cmake 1.0
-PortGroup           app 1.0
 PortGroup           active_variants 1.0 
 
 # TODO: temporary - if checksums are desired
@@ -30,6 +32,16 @@
 checksums           rmd160  f33ac2fad53cf94c2dd1a8307ea476030d3b6749 \
                     sha256  fe342d3d34e06d23d2ada53048aba1d218e02b32aa50a309121f7c3480076d07
 
+set geant.data_versions_10.0 {
+    G4NDL              4.3   G4NDL                G4NEUTRONHPDATA
+    G4EMLOW            6.33  G4EMLOW              G4LEDATA
+    PhotonEvaporation  2.3   G4PhotonEvaporation  G4LEVELGAMMADATA
+    RadioactiveDecay   3.7   G4RadioactiveDecay   G4RADIOACTIVEDATA
+    G4NEUTRONXS        1.3   G4NEUTRONXS          G4NEUTRONXSDATA
+    G4PII              1.3   G4PII                G4PIIDATA
+    RealSurface        1.0   RealSurface          G4REALSURFACEDATA
+    G4SAIDDATA         1.1   G4SAIDDATA           G4SAIDXSDATA
+}
 set geant.data_versions_9.6 {
     G4NDL              4.2   G4NDL                G4NEUTRONHPDATA
     G4EMLOW            6.32  G4EMLOW              G4LEDATA
@@ -125,26 +137,33 @@
 }
 variant geant495 conflicts geant496 description {Use Geant4 9.5} {
     # TODO: this can probably be done in a more elegant way
-    #       how to copy this from geant4 suports?
+    #       how to copy datadir and cmakedir from geant4 without duplication?
     set geant.data_versions ${geant.data_versions_9.5}
     set geant.datadir       ${prefix}/share/Geant4/Data/Geant4.9.5
-    set geant.cmakedir      ${prefix}/lib/Geant4/Geant4.9.6/Geant4-9.5.2
+    set geant.cmakedir      ${prefix}/lib/Geant4-9.5.2
 
     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} {
-    # TODO: this can probably be done in a more elegant way
-    #       how to copy this from geant4 suports?
     set geant.data_versions ${geant.data_versions_9.6}
     set geant.datadir       ${prefix}/share/Geant4/Data/Geant4.9.6
-    set geant.cmakedir      ${prefix}/lib/Geant4/Geant4.9.6/Geant4-9.6.2
+    set geant.cmakedir      ${prefix}/lib/Geant4-9.6.2
 
     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)} {
+#     set geant.data_versions ${geant.data_versions_10.0}
+#     set geant.datadir       ${prefix}/share/Geant4/Data/Geant4.10.0
+#     set geant.cmakedir      ${prefix}/lib/Geant4-10.0.0
+# 
+#     depends_lib-append      port:geant4-10.0
+#     require_active_variants geant4-10.0 qt
+#     configure.args-append   -DGeant4_DIR=${geant.cmakedir}
+# }
 if {![variant_isset geant495] && ![variant_isset geant496]} {
     default_variants +geant496
 }

Modified: users/mojca/ports/science/geant/Portfile
===================================================================
--- users/mojca/ports/science/geant/Portfile	2013-07-23 14:33:37 UTC (rev 108436)
+++ users/mojca/ports/science/geant/Portfile	2013-07-23 14:54:41 UTC (rev 108437)
@@ -1,6 +1,8 @@
 # -*- 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
+
 PortSystem          1.0
 PortGroup           cmake 1.0
 
@@ -10,7 +12,7 @@
 version             4.0
 categories          science
 maintainers         mojca openmaintainer
-# TODO: what licence is needed to make sure that Geant can be installed as a binary package
+# TODO: what licence is needed to make sure that Geant can be installed as a binary package?
 license             Geant4
 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. \
@@ -24,12 +26,13 @@
 
 # - version
 # - revision (used internally in MacPorts to force updates)
+# - revision of data files (used internally in MacPorts to force updates)
 # - patchlevel (also used in directory names)
 # - version string (used for fetching the source)
 set geant.versions_info {
-     9.5  0  2  4.9.5.p02    33413f6233b75c003254af5888f4af32d17f515d  adb04fce9472228bb10d78cbc7f40493bfb37454beee22e7c80d630646cd3777
-     9.6  0  2  4.9.6.p02    9ae32c3f8769e303b41df164693f77a74ca6db97  cf5df83b7e2c99e6729449b32d3ecb0727b4692317426b66fc7fd41951c7351f
-    10.0  0  0  4.10.00.b01  14820eca2893ffa7a27cd44f51c6c9b4b125b491  0fa7c9b0e1b09fd11b682523b839b4c6c67f4c3cd5bc9a9357512c37ea4a9e1e
+     9.5  0  0  2  4.9.5.p02    33413f6233b75c003254af5888f4af32d17f515d  adb04fce9472228bb10d78cbc7f40493bfb37454beee22e7c80d630646cd3777
+     9.6  0  0  2  4.9.6.p02    9ae32c3f8769e303b41df164693f77a74ca6db97  cf5df83b7e2c99e6729449b32d3ecb0727b4692317426b66fc7fd41951c7351f
+    10.0  0  0  0  4.10.00.b01  14820eca2893ffa7a27cd44f51c6c9b4b125b491  0fa7c9b0e1b09fd11b682523b839b4c6c67f4c3cd5bc9a9357512c37ea4a9e1e
 }
 set geant.data_versions_10.0 {
     G4NDL              4.3   G4NDL                G4NEUTRONHPDATA    55493e74cba90e6cb167a5008e138cd7  d7559295e71e373246f90db9ab8ce652a1bb71c2  169dbc6d6c1c5b7bb57ee676687ae5b830847cf4e75fecb1e35187172f472e6a
@@ -62,30 +65,31 @@
     RealSurface        1.0   RealSurface          G4REALSURFACEDATA  0dde95e00fcd3bcd745804f870bb6884  030513fe340e0cccbfe0b9ae9acb3ba6b5291ebb  3e2d2506600d2780ed903f1f2681962e208039329347c58ba1916740679020b1
 }
 
-foreach {geant.version geant.revision geant.patchlevel geant.version_full geant.rmd160 geant.sha256} ${geant.versions_info} {
-    set geant.version_simple 4.${geant.version}
+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
     # note that gmk files go to share/Geant4/Geant4-${geant.version}.${geant.patchlevel}
-    set geant.datadir ${prefix}/share/Geant4/Data/Geant${geant.version_simple}
+    set geant.datadir_x ${prefix}/share/Geant4/Data/Geant4.${geant.version}
 
     subport geant4-${geant.version}-data {
-        # TODO: not sure which version should be used (updating patchlevel of geant doesn't necessarily change this)
-        version  ${geant.version_simple}
-        # TODO: also set revision from some variable to allow rebuilding data file only when they are really needed
-        revision 0
+        set                 geant.version_simple 4.${geant.version}
+        set                 geant.datadir ${geant.datadir_x}
+        version             ${geant.version_simple}
+        revision            ${geant.datarevision}
         supported_archs     noarch
-        description         Data files for Geant4
+        description         Data files for Geant${version}
         long_description    ${description}
- 
+
+
         # TODO: use an array (hash) to implement this without if-else
         if {${geant.version} == "10.0" } {
-            set geant.data_versions ${geant.data_versions_10.0}
+            set geant.data_versions     ${geant.data_versions_10.0}
         }
         if {${geant.version} == "9.6" } {
-            set geant.data_versions ${geant.data_versions_9.6}
-            }
+            set geant.data_versions     ${geant.data_versions_9.6}
+        }
         if {${geant.version} == "9.5" } {
-            set geant.data_versions ${geant.data_versions_9.5}
+            set geant.data_versions     ${geant.data_versions_9.5}
         }
         # TODO: is it possible to make the distfiles list empty in some way?
         distfiles-delete ${name}-${version}${extract.suffix}
@@ -102,39 +106,35 @@
         use_configure no
         build {}
 
-        set dr {
-            destroot {
-                xinstall -m 755 -d ${destroot}${geant.datadir}
-                # create a script to initialize environmental variables for locating the data files & move data files to destination
-                #
-                # TODO: maybe a better name or a better location, possibly including version, possibly symlinked in bin
-                # the filename of this file should probably come frome the portgroup
-                # one option is also to install this as part of geant4 core installation
-                xinstall -m 755 -d ${destroot}${prefix}/libexec/Geant4/Geant${geant.version_simple}
-                set filename ${destroot}${prefix}/libexec/Geant4/Geant${geant.version_simple}/geant4data
-                system "echo #!/bin/sh  > ${filename}.sh"
-                system "echo #!/bin/csh > ${filename}.csh"
-                system "echo export G4DATADIR=\\\"${geant.datadir}\\\" >> ${filename}.sh"
-                system "echo setenv G4DATADIR=\\\"${geant.datadir}\\\" >> ${filename}.csh"
-                foreach {data.name data.version data.filename data.envvariable data.md5 data.rmd160 data.sha256} ${geant.data_versions} {
-                    # move data files to destination
-                    move ${workpath}/${data.name}${data.version} ${destroot}${geant.datadir}
-                    # add environmental variable to locate it
-                    system "echo export ${data.envvariable}=\\\"\\\$G4DATADIR/${data.name}${data.version}\\\" >> ${filename}.sh"
-                    system "echo setenv ${data.envvariable} \\\"\\\$G4DATADIR/${data.name}${data.version}\\\" >> ${filename}.csh"
-                }
+        destroot {
+            xinstall -m 755 -d ${destroot}${geant.datadir}
+            # create a script to initialize environmental variables for locating the data files & move data files to destination
+            #
+            # TODO: maybe a better name or a better location, possibly including version, possibly symlinked in bin
+            # the filename of this file should probably come frome the portgroup
+            # one option is also to install this as part of geant4 core installation
+            xinstall -m 755 -d ${destroot}${prefix}/libexec/Geant4/Geant${geant.version_simple}
+            set filename ${destroot}${prefix}/libexec/Geant4/Geant${geant.version_simple}/geant4data
+            system "echo #!/bin/sh  > ${filename}.sh"
+            system "echo #!/bin/csh > ${filename}.csh"
+            system "echo export G4DATADIR=\\\"${geant.datadir}\\\" >> ${filename}.sh"
+            system "echo setenv G4DATADIR=\\\"${geant.datadir}\\\" >> ${filename}.csh"
+            foreach {data.name data.version data.filename data.envvariable data.md5 data.rmd160 data.sha256} ${geant.data_versions} {
+                # move data files to destination
+                move ${workpath}/${data.name}${data.version} ${destroot}${geant.datadir}
+                # add environmental variable to locate it
+                system "echo export ${data.envvariable}=\\\"\\\$G4DATADIR/${data.name}${data.version}\\\" >> ${filename}.sh"
+                system "echo setenv ${data.envvariable} \\\"\\\$G4DATADIR/${data.name}${data.version}\\\" >> ${filename}.csh"
             }
         }
-        # weird tcl trickery to store the right version of Geant4
-        set dr_map [list \${geant.datadir} [list ${geant.datadir}] \
-                         \${geant.version_simple} [list ${geant.version_simple}]]
-        eval [string map $dr_map $dr]
     }
 
     # TODO: should probably eventually become ${name}.${geant.version} (geant4.9.6)
     # (or maybe something else, I'm open to suggestions)
     subport geant4-${geant.version} {
-        set                 geant.distfilename geant${geant.version_full}${extract.suffix}
+        set                 geant.version_simple 4.${geant.version}
+        set                 geant.distfilename   geant${geant.version_full}${extract.suffix}
+        set                 geant.datadir        ${geant.datadir_x}
         # TODO: check whether x.b01 -> x -> x.p01 -> x.p02 works properly
         version             ${geant.version_full}
         revision            ${geant.revision}
@@ -166,18 +166,26 @@
         # GEANT4_USE_SYSTEM_CLHEP=OFF
 
         # - patch-source-interfaces-common-src-G4Qt.cc.diff: http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1487
-        if {${geant.version} == "10.0" || ${geant.version} == "9.6"} {
-            patchfiles      patch-source-interfaces-common-src-G4Qt.cc.diff
+        if {${geant.version} == "10.0"} {
+            patchfiles      patch-source-interfaces-common-src-G4Qt.cc.diff \
+                            patch-cmake-Modules-Geant4BuildProjectConfig.cmake.4100.diff
         }
+        if {${geant.version} == "9.6"} {
+            patchfiles      patch-source-interfaces-common-src-G4Qt.cc.diff \
+                            patch-cmake-Modules-Geant4BuildProjectConfig.cmake.496.diff
+        }
         if {${geant.version} == "9.5"} {
-            patchfiles      patch-source-interfaces-common-src-G4Qt.cc.495.diff
+            patchfiles      patch-source-interfaces-common-src-G4Qt.cc.495.diff \
+                            patch-cmake-Modules-Geant4BuildProjectConfig.cmake.495.diff
         }
 
+        # arguments to -DCMAKE_INSTALL_* could be written without ${prefix}
+        # however the ${prefix} triggers the NON_RELOCATABLE flag which has some advantages like less cryptic path names
         configure.args-append -DGEANT4_INSTALL_DATA=OFF \
-                              -DCMAKE_INSTALL_BINDIR=libexec/Geant4/Geant${geant.version_simple} \
-                              -DCMAKE_INSTALL_DATAROOTDIR=share/Geant4 \
-                              -DCMAKE_INSTALL_INCLUDEDIR=include/Geant4/Geant${geant.version_simple} \
-                              -DCMAKE_INSTALL_LIBDIR=lib/Geant4/Geant${geant.version_simple}
+                              -DCMAKE_INSTALL_BINDIR=${prefix}/libexec/Geant4/Geant${geant.version_simple} \
+                              -DCMAKE_INSTALL_DATAROOTDIR=${prefix}/share/Geant4 \
+                              -DCMAKE_INSTALL_INCLUDEDIR=${prefix}/include/Geant4/Geant${geant.version_simple} \
+                              -DCMAKE_INSTALL_LIBDIR=${prefix}/lib/Geant4/Geant${geant.version_simple}
 
         if {${geant.version} != "9.5"} {
             configure.args-append -DGEANT4_INSTALL_DATADIR=${geant.datadir} \
@@ -253,6 +261,7 @@
         }
 
         # 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} {
             # optional
             # depends_lib-append    port:gccxml-devel
@@ -260,11 +269,6 @@
                                   -DGEANT4_INSTALL_EXAMPLES=ON
         }
 
-        # 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?)
-        # CMake files are under /opt/local/lib/Geant4/Geant4.9.6/Geant4-9.6.2/*.cmake
-        # CMAKE_INSTALL_BINDIR: this installs binaries to a non-default location;
-        #     port select could be used to get the default installation, but all three scripts in bindir need patching to properly detect their location
         default_variants +qt +clhep
         # +gdml could be added to default flags
     }

Added: users/mojca/ports/science/geant/files/patch-cmake-Modules-Geant4BuildProjectConfig.cmake.4100.diff
===================================================================
--- users/mojca/ports/science/geant/files/patch-cmake-Modules-Geant4BuildProjectConfig.cmake.4100.diff	                        (rev 0)
+++ users/mojca/ports/science/geant/files/patch-cmake-Modules-Geant4BuildProjectConfig.cmake.4100.diff	2013-07-23 14:54:41 UTC (rev 108437)
@@ -0,0 +1,11 @@
+--- cmake/Modules/Geant4BuildProjectConfig.cmake.orig
++++ cmake/Modules/Geant4BuildProjectConfig.cmake
+@@ -173,7 +173,7 @@ configure_file(
+ # - Generate Install Tree Configuration Files
+ #-----------------------------------------------------------------------
+ # Set needed variables for the install tree
+-set(GEANT4_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}-${${PROJECT_NAME}_VERSION})
++set(GEANT4_CMAKE_DIR lib/${PROJECT_NAME}-${${PROJECT_NAME}_VERSION})
+ 
+ # Header path for install tree is dependent on whether we have a relocatable
+ # install.

Added: users/mojca/ports/science/geant/files/patch-cmake-Modules-Geant4BuildProjectConfig.cmake.495.diff
===================================================================
--- users/mojca/ports/science/geant/files/patch-cmake-Modules-Geant4BuildProjectConfig.cmake.495.diff	                        (rev 0)
+++ users/mojca/ports/science/geant/files/patch-cmake-Modules-Geant4BuildProjectConfig.cmake.495.diff	2013-07-23 14:54:41 UTC (rev 108437)
@@ -0,0 +1,11 @@
+--- cmake/Modules/Geant4BuildProjectConfig.cmake.orig
++++ cmake/Modules/Geant4BuildProjectConfig.cmake
+@@ -152,7 +152,7 @@ configure_file(${PROJECT_SOURCE_DIR}/cmake/Templates/UseGeant4_internal.cmake
+ # - Generate Install Tree Configuration Files
+ #
+ # Set needed variables for the install tree
+-set(GEANT4_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}-${${PROJECT_NAME}_VERSION})
++set(GEANT4_CMAKE_DIR lib/${PROJECT_NAME}-${${PROJECT_NAME}_VERSION})
+ 
+ # Header path for install tree is dependent on whether we have a relocatable
+ # install.

Added: users/mojca/ports/science/geant/files/patch-cmake-Modules-Geant4BuildProjectConfig.cmake.496.diff
===================================================================
--- users/mojca/ports/science/geant/files/patch-cmake-Modules-Geant4BuildProjectConfig.cmake.496.diff	                        (rev 0)
+++ users/mojca/ports/science/geant/files/patch-cmake-Modules-Geant4BuildProjectConfig.cmake.496.diff	2013-07-23 14:54:41 UTC (rev 108437)
@@ -0,0 +1,11 @@
+--- cmake/Modules/Geant4BuildProjectConfig.cmake.orig
++++ cmake/Modules/Geant4BuildProjectConfig.cmake
+@@ -165,7 +165,7 @@ configure_file(${PROJECT_SOURCE_DIR}/cmake/Templates/UseGeant4_internal.cmake
+ # - Generate Install Tree Configuration Files
+ #-----------------------------------------------------------------------
+ # Set needed variables for the install tree
+-set(GEANT4_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}-${${PROJECT_NAME}_VERSION})
++set(GEANT4_CMAKE_DIR lib/${PROJECT_NAME}-${${PROJECT_NAME}_VERSION})
+ 
+ # Header path for install tree is dependent on whether we have a relocatable
+ # install.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130723/4156e511/attachment-0001.html>


More information about the macports-changes mailing list