Ticket #55968: Portfile

File Portfile, 3.9 KB (added by dmzimmerman (Daniel M. Zimmerman), 7 years ago)

New portfile for EiffelStudio

Line 
1PortSystem        1.0
2
3name              eiffelstudio
4set major_version 18.01
5set minor_version 10.1424
6version           ${major_version}.${minor_version}
7categories        lang
8license           GPL-2
9platforms         darwin
10maintainers       jann
11description       The ISE Eiffel Compiler and IDE
12long_description  EiffelStudio is a development environment for the \
13                  Eiffel programming language developed by Eiffel Software. \
14                  EiffelStudio includes a combination of tools integrated under \
15                  a single user interface: compiler, interpreter, debugger, \
16                  browser, metrics tool, profiler, diagram tool. \
17                  The user interface rests on a number of specific UI paradigms, \
18                  in particular "pick-and-drop" for effective browsing.
19homepage          http://www.eiffel.com
20master_sites      sourceforge:eiffelstudio:source \
21                  ftp://ftp.eiffel.com/pub/download/${major_version}:source \
22                  http://ftp.eiffel.com/pub/download/${major_version}:source \
23                  http://www.jann-roeder.net/download/:launcher
24depends_lib       port:gtk2 \
25                  lib:libXtst:xorg-libXtst
26depends_build     bin:bzip2:bzip2 \
27                  port:pkgconfig
28
29extract.suffix    .tar
30extract.cmd       tar
31extract.post_args
32extract.pre_args  -xf
33distname          eiffelstudio-${version}
34set eiffel_launch eiffel_launcher_20091003.tar.bz2
35distfiles         ${distname}${extract.suffix}:source \
36                  ${eiffel_launch}:launcher
37extract.only      ${distname}${extract.suffix}
38worksrcdir        PorterPackage
39
40checksums         ${distname}${extract.suffix} \
41                    rmd160  9d4ddebf7d4b9307205294e38fc6859ee5657359 \
42                    sha256  2016be2e94bc2f9df6c317118c1b7125f9243e646a1e763641c1dc9243e9cb40 \
43                  ${eiffel_launch} \
44                    rmd160 f52af5b8b09ecdd21af4b1d89d2716597a9c1340 \
45                    sha256 862bce03664b1ef554e3b8f432cdc77284912d606f6ac58dc47dd499c3a3f594
46
47use_configure     no
48
49set ise_platform ${os.platform}-${os.arch}
50platform darwin i386     {
51                    if {${build_arch} eq "i386"} {
52                        set ise_platform macosx-x86
53                    } elseif {${build_arch} eq "x86_64"} {
54                        set ise_platform macosx-x86-64
55                    }
56                  }
57
58platform darwin powerpc  {
59                    set ise_platform macosx-ppc
60                  }
61
62build             {                   
63                    system -W ${worksrcpath} "env CC=${configure.cc} ${worksrcpath}/compile_exes $ise_platform"
64
65                    # Extract Eiffel Launcher
66                    system "tar -xjf ${distpath}/${eiffel_launch} -C ${worksrcpath}/Eiffel_${major_version}/"
67                  }
68
69post-build        {
70                    file attributes ${worksrcpath}/Eiffel_${major_version}/studio/spec/$ise_platform/bin/ec -permissions 0755
71                  }
72
73destroot          {
74                    xinstall -m 755 -d ${destroot}${applications_dir}
75                    file copy ${worksrcpath}/Eiffel_${major_version} ${destroot}${applications_dir}/
76
77                    # Run ranlib on the libraries
78                    system "ranlib ${destroot}${applications_dir}/Eiffel_${major_version}/studio/spec/$ise_platform/lib/*.a"
79                  }
80
81notes "
82To complete the installation you have to add the following to your .bashrc or .profile file : \n\
83export ISE_PLATFORM=$ise_platform \n\
84export ISE_EIFFEL=${applications_dir}/Eiffel_${major_version} \n\
85export GOBO=\$ISE_EIFFEL/library/gobo/svn \n\
86export PATH=\$PATH:\$ISE_EIFFEL/studio/spec/\$ISE_PLATFORM/bin:\$GOBO/../spec/\$ISE_PLATFORM/bin \n\
87"
88
89livecheck.type    regex
90livecheck.version [join [split ${minor_version} .] ""]
91livecheck.url     http://sourceforge.net/api/file/index/project-name/eiffelstudio/rss
92livecheck.regex   ${major_version}/Build_(\\d+)/