1 | # $Id: $ |
---|
2 | |
---|
3 | PortSystem 1.0 |
---|
4 | name eiffelstudio |
---|
5 | set minor_version 64493 |
---|
6 | version 5.7.${minor_version} |
---|
7 | categories lang |
---|
8 | platforms darwin |
---|
9 | maintainers roederja@student.ethz.ch |
---|
10 | description The ISE Eiffel Compiler and IDE |
---|
11 | long_description EiffelStudio is a development environment for the \ |
---|
12 | Eiffel programming language developed by Eiffel Software. \ |
---|
13 | EiffelStudio includes a combination of tools integrated under \ |
---|
14 | a single user interface: compiler, interpreter, debugger, \ |
---|
15 | browser, metrics tool, profiler, diagram tool. \ |
---|
16 | The user interface rests on a number of specific UI paradigms, \ |
---|
17 | in particular "pick-and-drop" for effective browsing. |
---|
18 | homepage http://www.eiffel.com |
---|
19 | master_sites http://eiffelsoftware.origo.ethz.ch/downloads/builds/:source \ |
---|
20 | http://n.ethz.ch/student/roederja/download/:launcher |
---|
21 | depends_lib port:gtk2 |
---|
22 | depends_build bin:bzip2:bzip2 |
---|
23 | prefix /Applications/MacPorts |
---|
24 | extract.suffix .tar |
---|
25 | extract.cmd tar |
---|
26 | extract.post_args |
---|
27 | extract.pre_args -xf |
---|
28 | distname PorterPackage_57_${minor_version} |
---|
29 | set eiffel_launch eiffel_launcher_20061107.tar.bz2 |
---|
30 | distfiles ${distname}${extract.suffix}:source \ |
---|
31 | ${eiffel_launch}:launcher |
---|
32 | extract.only ${distname}${extract.suffix} |
---|
33 | worksrcdir PorterPackage |
---|
34 | |
---|
35 | checksums ${distname}${extract.suffix} md5 9f816a5368927d44800e0d604cbd3b71 \ |
---|
36 | ${distname}${extract.suffix} sha1 fbcab306701b2fe92206742906627a52a63b0324 \ |
---|
37 | ${distname}${extract.suffix} rmd160 a4c30f2605ec86e3f4244b02ec127d321e3931e7 \ |
---|
38 | ${eiffel_launch} md5 dc9c3a161a6df0a57879f8e0a3ec4e6e \ |
---|
39 | ${eiffel_launch} sha1 eb40b3fe6824f25435ff255a960cae81218c8330 \ |
---|
40 | ${eiffel_launch} rmd160 3b395cb7d1f925f23dc270124e3867a0c8cee523 |
---|
41 | |
---|
42 | use_configure no |
---|
43 | |
---|
44 | platform i386 { |
---|
45 | set env(ISE_PLATFORM) macosx-x86 |
---|
46 | } |
---|
47 | |
---|
48 | platform powerpc { |
---|
49 | set env(ISE_PLATFORM) macosx-ppc |
---|
50 | } |
---|
51 | |
---|
52 | build { |
---|
53 | set env(ISE_EIFFEL) ${worksrcpath}/Eiffel57 |
---|
54 | set env(GOBO) $env(ISE_EIFFEL)/library/gobo |
---|
55 | set env(PATH) $env(ISE_EIFFEL)/studio/spec/$env(ISE_PLATFORM)/bin:$env(PATH) |
---|
56 | |
---|
57 | cd $worksrcpath |
---|
58 | system "./compile_exes $env(ISE_PLATFORM)" |
---|
59 | file attributes ${worksrcpath}/Eiffel57/studio/spec/$env(ISE_PLATFORM)/bin/ec -permissions 0755 |
---|
60 | |
---|
61 | # Clean Linux gobo binaries |
---|
62 | file delete -force -- $env(GOBO)/bin |
---|
63 | file mkdir $env(GOBO)/bin |
---|
64 | |
---|
65 | # Compile gobo tools |
---|
66 | cd $env(GOBO)/src/gelex |
---|
67 | system "ec -batch -finalize -c_compile -ace ise.ace" |
---|
68 | file rename $env(GOBO)/src/gelex/EIFGENs/gelex/F_code/gelex $env(GOBO)/bin/ |
---|
69 | file delete -force -- $env(GOBO)/src/gelex/EIFGENs |
---|
70 | cd $env(GOBO)/src/gepp |
---|
71 | system "ec -batch -finalize -c_compile -ace ise.ace" |
---|
72 | file rename $env(GOBO)/src/gepp/EIFGENs/gepp/F_code/gepp $env(GOBO)/bin/ |
---|
73 | file delete -force -- $env(GOBO)/src/gepp/EIFGENs |
---|
74 | cd $env(GOBO)/src/gexace |
---|
75 | system "ec -batch -finalize -c_compile -ace ise.ace" |
---|
76 | file rename $env(GOBO)/src/gexace/EIFGENs/gexace/F_code/gexace $env(GOBO)/bin/ |
---|
77 | file delete -force -- $env(GOBO)/src/gexace/EIFGENs |
---|
78 | cd $env(GOBO)/src/gexslt |
---|
79 | system "ec -batch -finalize -c_compile -ace ise.ace" |
---|
80 | file rename $env(GOBO)/src/gexslt/EIFGENs/gexslt/F_code/gexslt $env(GOBO)/bin/ |
---|
81 | file delete -force -- $env(GOBO)/src/gexslt/EIFGENs |
---|
82 | cd $env(GOBO)/src/geant |
---|
83 | system "ec -batch -finalize -c_compile -ace ise.ace" |
---|
84 | file rename $env(GOBO)/src/geant/EIFGENs/geant/F_code/geant $env(GOBO)/bin/ |
---|
85 | file delete -force -- $env(GOBO)/src/geant/EIFGENs |
---|
86 | cd $env(GOBO)/src/gelint |
---|
87 | system "ec -batch -finalize -c_compile -ace ise.ace" |
---|
88 | file rename $env(GOBO)/src/gelint/EIFGENs/gelint/F_code/gelint $env(GOBO)/bin/ |
---|
89 | file delete -force -- $env(GOBO)/src/gelint/EIFGENs |
---|
90 | cd $env(GOBO)/src/getest |
---|
91 | system "ec -batch -finalize -c_compile -ace ise.ace" |
---|
92 | file rename $env(GOBO)/src/getest/EIFGENs/getest/F_code/getest $env(GOBO)/bin/ |
---|
93 | file delete -force -- $env(GOBO)/src/getest/EIFGENs |
---|
94 | cd $env(GOBO)/src/gexmlsplit |
---|
95 | system "ec -batch -finalize -c_compile -ace ise.ace" |
---|
96 | file rename $env(GOBO)/src/gexmlsplit/EIFGENs/gexmlsplit/F_code/gexmlsplit $env(GOBO)/bin/ |
---|
97 | file delete -force -- $env(GOBO)/src/gexmlsplit/EIFGENs |
---|
98 | cd $env(GOBO)/src/geyacc |
---|
99 | system "ec -batch -finalize -c_compile -ace ise.ace" |
---|
100 | file rename $env(GOBO)/src/geyacc/EIFGENs/geyacc/F_code/geyacc $env(GOBO)/bin/ |
---|
101 | file delete -force -- $env(GOBO)/src/geyacc/EIFGENs |
---|
102 | |
---|
103 | # Extract Eiffel Launcher |
---|
104 | system "tar -xjf ${distpath}/${eiffel_launch} -C ${worksrcpath}/Eiffel57/" |
---|
105 | } |
---|
106 | |
---|
107 | destroot { |
---|
108 | xinstall -m 755 -d ${destroot}/${prefix} |
---|
109 | file copy ${worksrcpath}/Eiffel57 ${destroot}/${prefix}/ |
---|
110 | |
---|
111 | # Run ranlib on the libraries |
---|
112 | system "ranlib ${destroot}/${prefix}/Eiffel57/studio/spec/$env(ISE_PLATFORM)/lib/*.a" |
---|
113 | } |
---|
114 | |
---|
115 | post-install { |
---|
116 | puts " ################################################################################## \n\ |
---|
117 | To complete the installation you have to add the following to your .bashrc file : \n\ |
---|
118 | export ISE_PLATFORM=$env(ISE_PLATFORM) \n\ |
---|
119 | export ISE_EIFFEL=${prefix}/Eiffel57 \n\ |
---|
120 | export GOBO=\$ISE_EIFFEL/library/gobo \n\ |
---|
121 | export PATH=\$PATH:\$ISE_EIFFEL/studio/spec/\$ISE_PLATFORM/bin:\$GOBO/bin \n\ |
---|
122 | ################################################################################## \n" |
---|
123 | } |
---|