Ticket #10986: Portfile

File Portfile, 6.6 KB (added by roederja@…, 18 years ago)
Line 
1# $Id: $
2
3PortSystem        1.0
4name              eiffelstudio
5set minor_version 64493
6version           5.7.${minor_version}
7categories        lang
8platforms         darwin
9maintainers       roederja@student.ethz.ch
10description       The ISE Eiffel Compiler and IDE
11long_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.
18homepage          http://www.eiffel.com
19master_sites      http://eiffelsoftware.origo.ethz.ch/downloads/builds/:source \
20                  http://n.ethz.ch/student/roederja/download/:launcher
21depends_lib       port:gtk2
22depends_build     bin:bzip2:bzip2
23prefix            /Applications/MacPorts   
24extract.suffix    .tar
25extract.cmd       tar
26extract.post_args
27extract.pre_args  -xf
28distname          PorterPackage_57_${minor_version}
29set eiffel_launch eiffel_launcher_20061107.tar.bz2
30distfiles         ${distname}${extract.suffix}:source \
31                  ${eiffel_launch}:launcher
32extract.only      ${distname}${extract.suffix}
33worksrcdir        PorterPackage
34
35checksums         ${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                 
42use_configure     no
43
44platform i386     {
45                    set env(ISE_PLATFORM) macosx-x86
46                  }
47
48platform powerpc  {
49                    set env(ISE_PLATFORM) macosx-ppc
50                  }
51
52build             {
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                 
107destroot          {
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                 
115post-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                  }