a project to simplify installation of open source software
on Mac OS X and Darwin
# $Id: $
PortSystem 1.0
name eiffelstudio
set minor_version 64493
version 5.7.${minor_version}
categories lang
platforms darwin
maintainers roederja@student.ethz.ch
description The ISE Eiffel Compiler and IDE
long_description EiffelStudio is a development environment for the \
Eiffel programming language developed by Eiffel Software. \
EiffelStudio includes a combination of tools integrated under \
a single user interface: compiler, interpreter, debugger, \
browser, metrics tool, profiler, diagram tool. \
The user interface rests on a number of specific UI paradigms, \
in particular "pick-and-drop" for effective browsing.
homepage http://www.eiffel.com
master_sites http://eiffelsoftware.origo.ethz.ch/downloads/builds/:source \
http://n.ethz.ch/student/roederja/download/:launcher
depends_lib port:gtk2
depends_build bin:bzip2:bzip2
prefix /Applications/MacPorts
extract.suffix .tar
extract.cmd tar
extract.post_args
extract.pre_args -xf
distname PorterPackage_57_${minor_version}
set eiffel_launch eiffel_launcher_20061107.tar.bz2
distfiles ${distname}${extract.suffix}:source \
${eiffel_launch}:launcher
extract.only ${distname}${extract.suffix}
worksrcdir PorterPackage
checksums ${distname}${extract.suffix} md5 9f816a5368927d44800e0d604cbd3b71 \
${distname}${extract.suffix} sha1 fbcab306701b2fe92206742906627a52a63b0324 \
${distname}${extract.suffix} rmd160 a4c30f2605ec86e3f4244b02ec127d321e3931e7 \
${eiffel_launch} md5 dc9c3a161a6df0a57879f8e0a3ec4e6e \
${eiffel_launch} sha1 eb40b3fe6824f25435ff255a960cae81218c8330 \
${eiffel_launch} rmd160 3b395cb7d1f925f23dc270124e3867a0c8cee523
use_configure no
platform i386 {
set env(ISE_PLATFORM) macosx-x86
}
platform powerpc {
set env(ISE_PLATFORM) macosx-ppc
}
build {
set env(ISE_EIFFEL) ${worksrcpath}/Eiffel57
set env(GOBO) $env(ISE_EIFFEL)/library/gobo
set env(PATH) $env(ISE_EIFFEL)/studio/spec/$env(ISE_PLATFORM)/bin:$env(PATH)
cd $worksrcpath
system "./compile_exes $env(ISE_PLATFORM)"
file attributes ${worksrcpath}/Eiffel57/studio/spec/$env(ISE_PLATFORM)/bin/ec -permissions 0755
# Clean Linux gobo binaries
file delete -force -- $env(GOBO)/bin
file mkdir $env(GOBO)/bin
# Compile gobo tools
cd $env(GOBO)/src/gelex
system "ec -batch -finalize -c_compile -ace ise.ace"
file rename $env(GOBO)/src/gelex/EIFGENs/gelex/F_code/gelex $env(GOBO)/bin/
file delete -force -- $env(GOBO)/src/gelex/EIFGENs
cd $env(GOBO)/src/gepp
system "ec -batch -finalize -c_compile -ace ise.ace"
file rename $env(GOBO)/src/gepp/EIFGENs/gepp/F_code/gepp $env(GOBO)/bin/
file delete -force -- $env(GOBO)/src/gepp/EIFGENs
cd $env(GOBO)/src/gexace
system "ec -batch -finalize -c_compile -ace ise.ace"
file rename $env(GOBO)/src/gexace/EIFGENs/gexace/F_code/gexace $env(GOBO)/bin/
file delete -force -- $env(GOBO)/src/gexace/EIFGENs
cd $env(GOBO)/src/gexslt
system "ec -batch -finalize -c_compile -ace ise.ace"
file rename $env(GOBO)/src/gexslt/EIFGENs/gexslt/F_code/gexslt $env(GOBO)/bin/
file delete -force -- $env(GOBO)/src/gexslt/EIFGENs
cd $env(GOBO)/src/geant
system "ec -batch -finalize -c_compile -ace ise.ace"
file rename $env(GOBO)/src/geant/EIFGENs/geant/F_code/geant $env(GOBO)/bin/
file delete -force -- $env(GOBO)/src/geant/EIFGENs
cd $env(GOBO)/src/gelint
system "ec -batch -finalize -c_compile -ace ise.ace"
file rename $env(GOBO)/src/gelint/EIFGENs/gelint/F_code/gelint $env(GOBO)/bin/
file delete -force -- $env(GOBO)/src/gelint/EIFGENs
cd $env(GOBO)/src/getest
system "ec -batch -finalize -c_compile -ace ise.ace"
file rename $env(GOBO)/src/getest/EIFGENs/getest/F_code/getest $env(GOBO)/bin/
file delete -force -- $env(GOBO)/src/getest/EIFGENs
cd $env(GOBO)/src/gexmlsplit
system "ec -batch -finalize -c_compile -ace ise.ace"
file rename $env(GOBO)/src/gexmlsplit/EIFGENs/gexmlsplit/F_code/gexmlsplit $env(GOBO)/bin/
file delete -force -- $env(GOBO)/src/gexmlsplit/EIFGENs
cd $env(GOBO)/src/geyacc
system "ec -batch -finalize -c_compile -ace ise.ace"
file rename $env(GOBO)/src/geyacc/EIFGENs/geyacc/F_code/geyacc $env(GOBO)/bin/
file delete -force -- $env(GOBO)/src/geyacc/EIFGENs
# Extract Eiffel Launcher
system "tar -xjf ${distpath}/${eiffel_launch} -C ${worksrcpath}/Eiffel57/"
}
destroot {
xinstall -m 755 -d ${destroot}/${prefix}
file copy ${worksrcpath}/Eiffel57 ${destroot}/${prefix}/
# Run ranlib on the libraries
system "ranlib ${destroot}/${prefix}/Eiffel57/studio/spec/$env(ISE_PLATFORM)/lib/*.a"
}
post-install {
puts " ################################################################################## \n\
To complete the installation you have to add the following to your .bashrc file : \n\
export ISE_PLATFORM=$env(ISE_PLATFORM) \n\
export ISE_EIFFEL=${prefix}/Eiffel57 \n\
export GOBO=\$ISE_EIFFEL/library/gobo \n\
export PATH=\$PATH:\$ISE_EIFFEL/studio/spec/\$ISE_PLATFORM/bin:\$GOBO/bin \n\
################################################################################## \n"
}