Eiffelstudio65 version 6.5.${minor_version} - How to Download and Install on Mac OS X
Sunday the 22nd of November, 2009

    eiffelstudio65  most recent diff


    version 6.5.${minor_version}

      View the most recent changes for the eiffelstudio65 port at: eiffelstudio65.darwinports.com/diff
      Scroll down toward the bottom of the page to get installation instructions for eiffelstudio65.
      The raw portfile for eiffelstudio65 6.5.${minor_version} is located here:
      http://eiffelstudio65.darwinports.com/dports/lang/eiffelstudio65/Portfile
      Find related portfiles with the unique DarwinPorts.com search feature.
      Check for any related Fink projects here: pdb.finkproject.org/pdb/package.php/eiffelstudio65


      The eiffelstudio65 Portfile 58732 2009-10-03 17:20:40Z jann macports.org $
      PortSystem 1.0

      Name: eiffelstudio65
      set minor_version 80945
      Version: 6.5.${minor_version}
      set branch [join [lrange [split ${version} .] 0 1] ""]
      Category: lang
      Platform: 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/1433/:source http://n.ethz.ch/student/roederja/download/:launcher http://www.jann-roeder.net/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_20091003.tar.bz2
      distfiles ${distname}${extract.suffix}:source ${eiffel_launch}:launcher
      extract.only ${distname}${extract.suffix}
      worksrcdir PorterPackage

      Checksums: ${distname}${extract.suffix} rmd160 0be71e6eefdffe6310619f8f2a28b1fee6f88715 ${eiffel_launch} rmd160 f52af5b8b09ecdd21af4b1d89d2716597a9c1340

      use_configure no

      platform i386 {
      if {${build_arch} == "i386"} {
      set env(ISE_PLATFORM) macosx-x86
      } elseif {${build_arch} == "x86_64"} {
      set env(ISE_PLATFORM) macosx-x86-64
      }
      }

      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"
      }

      # Fix permissions of precompile directory
      set env(ISE_EIFFEL) ${destroot}/${applications_dir}/Eiffel${branch}
      file attributes $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) -permissions g+w
      file attributes $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) -permissions g+w
      }

      post-install {
      ui_msg " ################################################################################## \n To complete the installation you have to add the following to your .bashrc or .profile 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.
      }

    If you haven't already installed Darwin Ports, you can find easy instructions for doing so at the main Darwin Ports page.

    Once Darwin Ports has been installed, in a terminal window and while online, type the following and hit return:


      %  cd /opt/local/bin/portslocation/dports/eiffelstudio65
      % sudo port install eiffelstudio65
      Password:
    You will then be prompted for your root password, which you should enter. You may have to wait for a few minutes while the software is retrieved from the network and installed for you. Y ou should see something that looks similar to:

      ---> Fetching eiffelstudio65
      ---> Verifying checksum for eiffelstudio65
      ---> Extracting eiffelstudio65
      ---> Configuring eiffelstudio65
      ---> Building eiffelstudio65 with target all
      ---> Staging eiffelstudio65 into destroot
      ---> Installing eiffelstudio65
    - Make sure that you do not close the terminal window while Darwin Ports is working. Once the software has been installed, you can find further information about using eiffelstudio65 with these commands:
      %  man eiffelstudio65
      % apropos eiffelstudio65
      % which eiffelstudio65
      % locate eiffelstudio65

     Where to find more information:

    Darwin Ports



    Lightbox this page.