Portfile for GEANT4
Joshua Root
jmr at macports.org
Wed Jan 13 12:49:57 PST 2010
On 2010-1-14 06:48 , Cristiano Fontana wrote:
> Hello,
> I am having problems writing a Portfile of GEANT4. Since these are my first Portfiles, I am not an expert so I need some help.
>
> GEANT4 is a toolkit for simulating the interaction of radiation through matter.
> It is one of the most important piece of software for Particle Physicist because it is a very complex tool that can simulate about anything.
> Unfortunately it has a weird configure script that aconfigures, builds and install everything. So to install it is not just a standard configure; make; make install (why the heck do not they use standard tools?!).
> I spent the last days working on this without any success and I am getting a little bit frustrated.
>
> What I am trying is to execute their configure script through port so I defined the following phases:
>
> build {
> catch { exec /bin/sh -c "cd ${worksrcpath}; ${worksrcpath}/Configure -build -d -f ${worksrcpath}/config.sh" }
> }
>
> destroot {
> catch { exec /bin/sh -c "cd ${worksrcpath}; ${worksrcpath}/Configure -install" }
> }
You should use the 'system' procedure to run shell commands. Like so:
build {
system "cd ${worksrcpath} && ./Configure -build -d -f config.sh"
}
destroot {
system "cd ${worksrcpath} && ./Configure -install" }
}
You could also achieve the same effect by setting build.cmd, build.args,
build.target, etc. as needed, but this is so different to a standard
autotools build that that is probably the messier route.
- Josh
More information about the macports-dev
mailing list