source: trunk/dports/lang/sbcl/Portfile

Last change on this file was 153544, checked in by ryandesign@…, 10 months ago

sbcl: fix "No checksum set"

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 5.7 KB
Line 
1# -*- mode: tcl; coding: utf-8; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- # vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
2# $Id: Portfile 153544 2016-10-04 08:03:12Z ryandesign@macports.org $
3
4PortSystem      1.0
5
6name            sbcl
7
8# Please revbump ../../math/maxima when this port changes
9version         1.3.10
10revision        0
11
12categories      lang
13license         BSD
14maintainers     easieste openmaintainer
15platforms       darwin
16description     The Steel Bank Common Lisp system
17
18long_description \
19    Steel Bank Common Lisp (SBCL) is a Open Source implementation of ANSI \
20    Common Lisp. It provides an interactive environment including an \
21    integrated native compiler, interpreter, and debugger. SBCL is quite \
22    suitable for the creation of long running system services, as the compiler \
23    trades the time for a long initial compilation for blazingly fast loading \
24    of its binary runtime fasl representation.
25
26
27homepage        http://www.sbcl.org
28master_sites    sourceforge:project/sbcl/sbcl/${version}:sbcl
29
30use_bzip2       yes
31
32# Removed with sbcl-1.3.10 to work on macOS 10.2 Sierra
33#patchfiles      \
34#    patch-use-right-gcc.diff
35
36distfiles       ${name}-${version}-source${extract.suffix}:sbcl
37worksrcdir      ${name}-${version}
38
39checksums       ${name}-${version}-source${extract.suffix} \
40                rmd160  bf453e2e4241436f811dcd567828640f13092b31 \
41                sha256  4a567aad91b316c22eb756dd8e502cfd9a95a4c660fb1fa2eb1e50e009b85777
42
43platform powerpc {
44    set bootversion 1.0.47
45    master_sites-append sourceforge:project/sbcl/sbcl/${bootversion}:sbcl_powerpc
46    distfiles-append    ${name}-${bootversion}-powerpc-darwin-binary${extract.suffix}:sbcl_powerpc
47    checksums-append    ${name}-${bootversion}-powerpc-darwin-binary${extract.suffix} \
48                        md5     02747afc7631a7ccdeede4b52b78072d \
49                        sha1    93df00b3120810a086d37666c1ccdeabc8daeb49 \
50                        rmd160  85c76296a1c62db5affdff7e72e61e558bb5c819
51
52    global host_lisp
53    set host_lisp "\"${workpath}/${name}-${bootversion}-powerpc-darwin/src/runtime/sbcl --core ${workpath}/${name}-${bootversion}-powerpc-darwin/output/sbcl.core --disable-debugger --sysinit /dev/null --userinit /dev/null\" "
54}
55
56platform i386 {
57    set bootversion 1.0.55
58    master_sites-append sourceforge:project/sbcl/sbcl/${bootversion}:sbcl_i386
59    distfiles-append    ${name}-${bootversion}-x86-darwin-binary${extract.suffix}:sbcl_i386
60    checksums-append    ${name}-${bootversion}-x86-darwin-binary${extract.suffix} \
61                        md5     941351112392a77dd62bdcb9fb62e4e4 \
62                        sha1    8ea71938c40a6dccfe2d43a86e9b115f4428a218 \
63                        rmd160  97c92e16426fb4e7eb9e649e21714c342703d17b
64
65    global host_lisp
66    set host_lisp "\"${workpath}/${name}-${bootversion}-x86-darwin/src/runtime/sbcl --core ${workpath}/${name}-${bootversion}-x86-darwin/output/sbcl.core --disable-debugger --sysinit /dev/null --userinit /dev/null\" "
67}
68
69post-patch {
70    reinplace "s|/usr/local/lib/${name}|${prefix}/lib/${name}|g" \
71        ${worksrcpath}/doc/sbcl.1
72    # <https://trac.macports.org/attachment/ticket/51733/>
73    # This change is required as the Xcode 8 linker now defaults to
74    # PIE binaries regardless of the deployment target so an explicit
75    # '-Wl,-no_pie' is now required. The rbcl program is incompatible
76    # with ASLR and the previous upstream hack of setting the
77    # deployment target to less than 10.7 doesn't prevent the PIE
78    # executables from being created against the Xcode 8
79    # linker. Tested on 10.11 with Xcode 8 beta.
80    if {[vercmp "8.0" ${xcodeversion}] >= 0} {
81        reinplace "s|0x100000|0x100000 -Wl,-no_pie|g" ${worksrcpath}/src/runtime/Config.x86-64-darwin
82    }
83}
84
85use_configure   no
86
87build {
88    reinplace s|CC=gcc|CC=${configure.cc}| ${worksrcpath}/contrib/asdf-module.mk
89    system "ulimit -s 8192 && unset LD_PREBIND && unset LD_PREBIND_ALLOW_OVERLAP && export SBCL_MACOSX_VERSION_MIN=10.5 && cd ${worksrcpath} && export CC && CC=${configure.cc} && export CXX && CXX=${configure.cxx} && export CPP && CPP==${configure.cpp} && sh ./make.sh ${make_sh_options} --prefix=${prefix} --xc-host=${host_lisp}"
90}
91
92post-build {
93    if {[variant_isset html] || [variant_isset pdf]} {
94        system -W ${worksrcpath}/doc "INSTALL_ROOT=${destroot}${prefix} sh ${worksrcpath}/doc/make-doc.sh"
95    }
96}
97
98if {![variant_isset threads]} {
99    default_variants +fancy
100}
101
102variant html conflicts pdf description {Installs documentation in HTML and Info formats.} {
103    patchfiles-append patch-make-doc.diff
104    depends_build-append bin:texi2dvi:texinfo
105    depends_build-append bin:makeinfo:texinfo
106}
107
108variant pdf conflicts html description {Installs documentation in PDF, HTML and Info formats.  Involves the installation of a TexLive dependency chain, which can dramatically slow down the installation of the SBCL port.} {
109    depends_build-append bin:dvips:texlive
110    depends_build-append bin:texi2dvi:texinfo
111    depends_build-append bin:makeinfo:texinfo
112}
113
114global make_sh_options
115set make_sh_options ""
116
117variant threads description {Enable multi-threaded runtime using the Mach pthreads interface.} {
118    set make_sh_options --with-sb-thread
119}
120
121variant fancy conflicts threads description {Configure SBCL compilation with all available compatible options (including threading).} {
122    set make_sh_options --fancy
123}
124
125test.run        yes
126test.dir        ${worksrcpath}/tests
127test.cmd        CC=${configure.cc} CXX=${configure.cxx} CPP=${configure.cpp} sh
128test.target     run-tests.sh
129
130destroot {
131    system -W ${worksrcpath} "INSTALL_ROOT=${destroot}${prefix} sh ${worksrcpath}/install.sh"
132}
133
134livecheck.url   http://sourceforge.net/api/file/index/project-id/1373/rss?path=%2F${name}
135livecheck.regex guid.*${name}-(\\d+(\\.\\d+)+)-source
Note: See TracBrowser for help on using the repository browser.