[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