Ticket #32716: geant4.10.0-v2.Portfile

File geant4.10.0-v2.Portfile, 7.0 KB (added by mojca (Mojca Miklavec), 11 years ago)

geant4 10.0 - compiles & installs

Line 
1PortSystem          1.0
2PortGroup           cmake 1.0
3
4name                geant4.10.0
5# TODO: how to recognize whether a version is newer? Do we need an extra string/number? I'm not sure about b01/p02
6version             4.10.00.b01
7categories          science
8maintainers         nomaintainer
9license             Geant4
10description         Geant4 is a toolkit for the simulation of the passage of particles through matter.
11long_description    Geant4 is a toolkit for the simulation of the passage of particles through matter. \
12                    Its areas of application include high energy, nuclear and accelerator physics, as well as studies in medical and space science. \
13                    The two main reference papers for Geant4 are published in Nuclear Instruments and Methods in Physics Research A 506 (2003) 250-303, \
14                    and IEEE Transactions on Nuclear Science 53 No. 1 (2006) 270-278.
15homepage            http://geant4.web.cern.ch/
16platforms           darwin
17
18# list of files from cmake/Modules/Geant4DatasetDefinitions.cmake
19
20# G4NDL             4.3  G4NDL               tar.gz    G4NEUTRONHPDATA    55493e74cba90e6cb167a5008e138cd7
21# G4EMLOW           6.33 G4EMLOW             tar.gz    G4LEDATA           0002a1c16c9b1fb5e8d49dfbce12a576
22# PhotonEvaporation 2.3  G4PhotonEvaporation tar.gz    G4LEVELGAMMADATA   08848ebdd536280a0629d802040b70be
23# RadioactiveDecay  3.7  G4RadioactiveDecay  tar.gz    G4RADIOACTIVEDATA  039e5f64b0e451eb5c095bf81552cb42
24# G4NEUTRONXS       1.3  G4NEUTRONXS         tar.gz    G4NEUTRONXSDATA    ede7c4b3e99cbe1773b672a7404fe0f6
25# G4PII             1.3  G4PII               tar.gz    G4PIIDATA          05f2471dbcdf1a2b17cbff84e8e83b37
26# RealSurface       1.0  RealSurface         tar.gz    G4REALSURFACEDATA  0dde95e00fcd3bcd745804f870bb6884
27# G4SAIDDATA        1.1  G4SAIDDATA          tar.gz    G4SAIDXSDATA       d88a31218fdf28455e5c5a3609f7216f
28
29set simpleversion 4.10.0
30
31# Data files versions
32set v_G4NDL             4.3
33set v_G4EMLOW           6.33
34set v_PhotonEvaporation 2.3
35set v_RadioactiveDecay  3.7
36set v_G4NEUTRONXS       1.3
37set v_G4PII             1.3
38set v_RealSurface       1.0
39set v_G4SAIDDATA        1.1
40
41set md5_G4NDL             55493e74cba90e6cb167a5008e138cd7
42set md5_G4EMLOW           0002a1c16c9b1fb5e8d49dfbce12a576
43set md5_PhotonEvaporation 08848ebdd536280a0629d802040b70be
44set md5_RadioactiveDecay  039e5f64b0e451eb5c095bf81552cb42
45set md5_G4NEUTRONXS       ede7c4b3e99cbe1773b672a7404fe0f6
46set md5_G4PII             05f2471dbcdf1a2b17cbff84e8e83b37
47set md5_RealSurface       0dde95e00fcd3bcd745804f870bb6884
48set md5_G4SAIDDATA        d88a31218fdf28455e5c5a3609f7216f
49
50# distfiles           geant${version}.tar.gz:cern \
51#                     G4NDL.${v_G4NDL}.tar.gz:cern \
52#                     G4EMLOW.${v_G4EMLOW}.tar.gz:cern \
53#                     G4PhotonEvaporation.${v_PhotonEvaporation}.tar.gz:cern \
54#                     G4RadioactiveDecay.${v_RadioactiveDecay}.tar.gz:cern \
55#                     G4NEUTRONXS.${v_G4NEUTRONXS}.tar.gz:cern \
56#                     G4PII.${v_G4PII}.tar.gz:cern \
57#                     RealSurface.${v_RealSurface}.tar.gz:cern \
58#                     G4SAIDDATA.${v_G4SAIDDATA}.tar.gz:cern
59
60distfiles           geant${version}.tar.gz:cern
61
62master_sites        http://geant4.cern.ch/support/source/:cern
63
64checksums           geant${version}.tar.gz \
65                    rmd160  14820eca2893ffa7a27cd44f51c6c9b4b125b491 \
66                    sha256  0fa7c9b0e1b09fd11b682523b839b4c6c67f4c3cd5bc9a9357512c37ea4a9e1e \
67                    G4NDL.${v_G4NDL}.tar.gz                           md5 ${md5_G4NDL}             \
68                    G4EMLOW.${v_G4EMLOW}.tar.gz                       md5 ${md5_G4EMLOW}           \
69                    G4PhotonEvaporation.${v_PhotonEvaporation}.tar.gz md5 ${md5_PhotonEvaporation} \
70                    G4RadioactiveDecay.${v_RadioactiveDecay}.tar.gz   md5 ${md5_RadioactiveDecay}  \
71                    G4NEUTRONXS.${v_G4NEUTRONXS}.tar.gz               md5 ${md5_G4NEUTRONXS}       \
72                    G4PII.${v_G4PII}.tar.gz                           md5 ${md5_G4PII}             \
73                    RealSurface.${v_RealSurface}.tar.gz               md5 ${md5_RealSurface}       \
74                    G4SAIDDATA.${v_G4SAIDDATA}.tar.gz                 md5 ${md5_G4SAIDDATA}
75
76worksrcdir          geant${version}
77configure.dir       ${workpath}/build
78build.dir           ${configure.dir}
79
80post-extract {
81    file mkdir ${configure.dir}
82}
83
84patchfiles          patch-cmake_Modules_FindAIDA.cmake.diff
85
86configure.post_args ${worksrcpath}
87
88depends_lib         port:zlib \
89                    port:expat \
90                    port:root \
91                    port:aida
92#
93
94variant qt description {Build with Qt support} {
95    depends_lib-append  port:qt4-mac
96
97    configure.args-append -DGEANT4_USE_QT=ON
98    # maybe we need more variables?
99}
100
101# TODO: this is a temporary option only: one should alway use system CLHEP since that appears to be needed by Gate (and even some examples in Geant4)
102# however, I separated it into its own option since this is currently broken
103variant clhep description {Use external CLHEP} {
104    depends_lib-append port:clhep
105
106    configure.args-append -DGEANT4_USE_SYSTEM_CLHEP=ON \
107                          -DCLHEP_CONFIG_EXECUTABLE=${prefix}/bin/clhep-config \
108                          -DCLHEP_INCLUDE_DIR=${prefix}/include \
109                          -DCLHEP_LIBRARY=${prefix}/lib/libCLHEP.dylib
110}
111
112configure.args-append -DGEANT4_INSTALL_DATA=OFF \
113                      -DGEANT4_INSTALL_DATADIR=${prefix}/share/Geant/data \
114                      -DCMAKE_INSTALL_BINDIR=libexec/Geant4/Geant${simpleversion} \
115                      -DCMAKE_INSTALL_DATAROOTDIR=share/Geant4 \
116                      -DCMAKE_INSTALL_INCLUDEDIR=include/Geant4/Geant${simpleversion} \
117                      -DCMAKE_INSTALL_LIBDIR=lib/Geant4/Geant${simpleversion} \
118                      -DGEANT4_USE_OPENGL_X11=ON       
119
120# GEANT4_USE_OPENGL_X11 should be a separate options with all dependencies
121
122# DATAROOTDIR: Geant automatically adds Geant4-10.0.0 (any way to prevent this?)
123# INCLUDEDIR: /opt/local/include/Geant4/Geant4.10.0/Geant4 (any way to prevent double Geant4?)
124# CMake file are under /opt/local/lib/Geant4/Geant4.10.0/Geant4-10.0.0/*.cmake
125# CMAKE_INSTALL_BINDIR: this installs binaries to a non-default location;
126#     port select could be used to get the default installation, but all three scripts in bindir need patching to properly detect their location
127
128default_variants +qt
129
130# one might want to set these variables as well (not sure if they are used at all):
131#
132# CMAKE_INSTALL_DATADIR
133# CMAKE_INSTALL_DOCDIR
134# CMAKE_INSTALL_MANDIR
135# CMAKE_INSTALL_NAME_DIR
136# CMAKE_INSTALL_NAME_TOOL
137
138# EXPAT
139#
140# GEANT4_USE_SYSTEM_EXPAT          ON
141# EXPAT_INCLUDE_DIR                /usr/include                                                                                                                                   
142# EXPAT_LIBRARY                    /usr/lib/libexpat.dylib
143
144# ZLIB
145#
146# GEANT4_USE_SYSTEM_ZLIB           OFF