source: trunk/dports/lang/squeak/Portfile @ 43613

Last change on this file since 43613 was 43613, checked in by ryandesign@…, 12 years ago

qore: new port, version 0.7.2; see #17502

Also inadvertent changes to other ports which were reverted in r43614.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 4.4 KB
Line 
1# $Id: Portfile 43613 2008-12-12 11:36:30Z ryandesign@macports.org $
2
3PortSystem              1.0
4
5name                    squeak
6version                 3.10
7categories              lang squeak
8maintainers             nomaintainer
9description             Full, portable, Smalltalk-80 system
10long_description        \
11        Squeak is a full-featured implementation of the Smalltalk programming \
12        language and environment based on (and largely compatible with) the \
13        original Smalltalk-80 system.  Squeak has very powerful 2- and 3-D \
14        graphics, sound, video, MIDI, animation and other multimedia \
15        capabilities -- and one of the most impressive development \
16        environments ever created.  It also includes a customisable framework \
17        for creating dynamic HTTP servers and interactively extensible Web \
18        sites.  The entire Squeak system is open source software, distributed \
19        freely with a liberal license.
20platforms               darwin
21homepage                http://www.squeakvm.org/unix/
22
23set squeak_vm_version   ${version}-1
24set squeak_img_version  ${version}
25set squeak_short_vrsn   [strsed ${version} {g/\.//}]
26set squeak_patch_no     7159
27set squeak_vm_src       Squeak-${squeak_vm_version}.src.tar
28set squeak_img_name     Squeak${squeak_img_version}-${squeak_patch_no}-basic
29set squeak_img          ${squeak_img_name}.image
30set squeak_img_changes  ${squeak_img_name}.changes
31set squeak_img_src      ${squeak_img_name}.zip
32
33master_sites            http://www.squeakvm.org/unix/release/ \
34                        ftp://ftp.squeak.org/${squeak_img_version}/unix-linux \
35                        ftp://ftp.squeak.org/${squeak_img_version}/
36
37distname                Squeak-${squeak_img_version}
38distfiles               ${squeak_vm_src}.gz ${squeak_img_src}
39
40checksums               ${squeak_vm_src}.gz \
41                                md5 7fbac029115831d18422f3079dbb0444 \
42                                sha1 6b7ab071bcf78318a0fead94ff89d1557a877c77 \
43                                rmd160 be67239e47219727d7ea87c75a245d2f7173c3aa \
44                        ${squeak_img_src} \
45                                md5 212224bce3b84338df24d0a5fee069f8 \
46                                sha1 6ffbd29c12532eeb5b132840c5bc3b8c4c2a2c07 \
47                                rmd160 b33e917d27ae62ad84e781eb68e5ae8400e24f31
48
49
50default_variants        +quartz
51
52extract.only            ${squeak_vm_src}.gz
53post-extract {
54        system          "cd ${workpath} && mv Squeak-${squeak_vm_version} Squeak-${squeak_img_version}"
55        file mkdir      ${worksrcpath}/build
56        # should do that but requires to rerun autoconf, I prefer to just patch inisqueak instead
57        # reinplace     "s|imgdir=`eval echo \${libdir}/squeak`|imgdir=`eval echo \${datadir}`|" ${worksrcpath}/platforms/unix/config/configure.ac
58        # reinplace     "s|plgdir=`eval echo \${imgdir}/\${VM_VERSION}`|plgdir=`eval echo \${libdir}/squeak/\${VM_VERSION}|" ${worksrcpath}/platforms/unix/config/configure.ac
59}
60
61configure.cmd           ../platforms/unix/config/configure
62configure.dir           ${worksrcpath}/build
63configure.args          --libdir=${prefix}/lib \
64                        --mandir=${prefix}/share/man \
65                        --without-quartz --without-x
66
67build.dir               ${worksrcpath}/build
68build.type              gnu
69
70destroot.destdir         ROOT=${destroot}
71
72post-destroot {
73        set unzip       "[binaryInPath "unzip"] -o"
74        set gzip        "[binaryInPath "gzip"] -f"
75       
76        set datadir     ${prefix}/share/squeak
77       
78        # Have inisqueak look at the right place
79        reinplace       "s|MAJOR=3|MAJOR=${squeak_short_vrsn}|" ${worksrcpath}/build/inisqueak
80        reinplace       "s|imgdir=${prefix}/lib/squeak|imgdir=${datadir}|" ${worksrcpath}/build/inisqueak
81
82        # Install inisqueak
83        xinstall        -m 755 ${worksrcpath}/build/inisqueak \
84                                ${destroot}${prefix}/bin/
85       
86        # fix bad doc install path (should use --docdir or --datarootdir during configure)
87        xinstall        -d ${destroot}${datadir}
88        move            ${destroot}${prefix}/doc ${destroot}${prefix}/share
89       
90        # Recompress and install the default image
91        system          "cd ${worksrcpath} && ${unzip} ${distpath}/${squeak_img_src}"
92        system          "cd ${worksrcpath} && ${gzip} ${squeak_img_name}/${squeak_img}"
93        system          "cd ${worksrcpath} && ${gzip} ${squeak_img_name}/${squeak_img_changes}"
94        xinstall        -d ${destroot}${datadir}
95        xinstall        -m 644 ${worksrcpath}/${squeak_img_name}/${squeak_img}.gz \
96                                ${destroot}${datadir}
97        xinstall        -m 644 ${worksrcpath}/${squeak_img_name}/${squeak_img_changes}.gz \
98                                ${destroot}${datadir}
99        xinstall        -m 644 ${worksrcpath}/${squeak_img_name}/WelcomeSqueak${squeak_short_vrsn} \
100                                ${destroot}${datadir}
101        xinstall        -m 644 ${worksrcpath}/${squeak_img_name}/SqueakV${squeak_short_vrsn}.sources \
102                                ${destroot}${datadir}
103
104        # Link compressed image and changes
105        system          "cd ${destroot}${datadir} && ln -s ${squeak_img}.gz squeak.image.gz"
106        system          "cd ${destroot}${datadir} && ln -s ${squeak_img_changes}.gz squeak.changes.gz"
107}
108
109variant quartz  {
110        configure.args-delete   --without-quartz
111        configure.args-append   --with-quartz
112}
113
114variant x11     {
115        depends_lib-append      lib:libX11:XFree86
116        configure.args-delete   --without-x
117        configure.args-append   --with-x
118}
119
Note: See TracBrowser for help on using the repository browser.