# $Id$ PortSystem 1.0 name eiffelstudio65 set minor_version 80294 version 6.5.${minor_version} set branch [join [lrange [split ${version} .] 0 1] ""] categories lang platforms darwin maintainers student.ethz.ch:roederja \ ethz.ch:dfurrer 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 sourceforge:eiffelstudio:source \ http://download.origo.ethz.ch/eiffelstudio/1348/:source \ http://n.ethz.ch/student/roederja/download/:launcher depends_lib port:gtk2 depends_build bin:bzip2:bzip2 extract.suffix .tar extract.cmd tar extract.post_args extract.pre_args -xf distname PorterPackage_${branch}_${minor_version} set eiffel_launch eiffel_launcher_20081101.tar.bz2 distfiles ${distname}${extract.suffix}:source \ ${eiffel_launch}:launcher extract.only ${distname}${extract.suffix} worksrcdir PorterPackage checksums ${distname}${extract.suffix} rmd160 8b871a4da5eef26845110691f0eca3b98ae19891 \ ${eiffel_launch} rmd160 9a6ffe7f1bbc302b60b72197c84ad3a93d31cc0c 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}/Eiffel${branch} set env(GOBO) $env(ISE_EIFFEL)/library/gobo set env(PATH) $env(ISE_EIFFEL)/studio/spec/$env(ISE_PLATFORM)/bin:$env(PATH) system "cd ${worksrcpath} && ${worksrcpath}/compile_exes $env(ISE_PLATFORM)" file attributes ${worksrcpath}/Eiffel${branch}/studio/spec/$env(ISE_PLATFORM)/bin/ec -permissions 0755 # Extract Eiffel Launcher system "tar -xjf ${distpath}/${eiffel_launch} -C ${worksrcpath}/Eiffel${branch}/" } destroot { xinstall -m 755 -d ${destroot}/${applications_dir} file copy ${worksrcpath}/Eiffel${branch} ${destroot}/${applications_dir}/ # Run ranlib on the libraries system "ranlib ${destroot}/${applications_dir}/Eiffel${branch}/studio/spec/$env(ISE_PLATFORM)/lib/*.a" if {[variant_isset precompile]} { # Build the precompiles set env(ISE_EIFFEL) ${destroot}/${applications_dir}/Eiffel${branch} set compiler $env(ISE_EIFFEL)/studio/spec/$env(ISE_PLATFORM)/bin/ec ui_msg "---> Precompiling EiffelBase" system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config base.ecf -c_compile -clean" system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config base-safe.ecf -c_compile -clean" system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config base-mt.ecf -c_compile -clean" system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config base-mt-safe.ecf -c_compile -clean" ui_msg "---> Precompiling EiffelVision" system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config vision2.ecf -c_compile -clean" #system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config vision2-safe.ecf -c_compile -clean" system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config vision2-mt.ecf -c_compile -clean" #system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config vision2-mt-safe.ecf -c_compile -clean" # Build the precompiles set env(ISE_EIFFEL) ${applications_dir}/Eiffel${branch} set compiler $env(ISE_EIFFEL)/studio/spec/$env(ISE_PLATFORM)/bin/ec # Build the precompiles for -experimental ui_msg "---> Precompiling EiffelBase for experimental" system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config base.ecf -c_compile -clean" system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config base-safe.ecf -c_compile -clean" system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config base-mt.ecf -c_compile -clean" system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config base-mt-safe.ecf -c_compile -clean" ui_msg "---> Precompiling EiffelVision for experimental" system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config vision2.ecf -c_compile -clean" #system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config vision2-safe.ecf -c_compile -clean" system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config vision2-mt.ecf -c_compile -clean" #system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config vision2-mt-safe.ecf -c_compile -clean" } if {[variant_isset fixpermissions]} { set env(ISE_EIFFEL) ${destroot}/${applications_dir}/Eiffel${branch} system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && chmod -R 777 ." system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && chmod -R 777 ." } } post-install { ui_msg " ################################################################################## \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=${applications_dir}/Eiffel${branch} \n\ export GOBO=\$ISE_EIFFEL/library/gobo/svn \n\ export PATH=\$PATH:\$ISE_EIFFEL/studio/spec/\$ISE_PLATFORM/bin:\$GOBO/../spec/\$ISE_PLATFORM/bin \n\ ################################################################################## \n" } variant precompile description {Build the precompiles for EiffelBase and EiffelVision} { # Build the precompiles in the destroot phase. } variant fixpermissions description {Makes the precompile directory shared and writable by all users.} { # This fixes the issue with users being unable to build precompiles but # it is a potential security risk on multi-user systems }