/
Portfile
85 lines (72 loc) · 3.08 KB
/
Portfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
# from the README:
# For 10.6 and later, universal builds are not supported.
PortGroup muniversal 1.0
name chicken
version 5.3.0
revision 1
categories lang scheme
license BSD public-domain
maintainers nomaintainer
description Compiler for the Scheme programming language
long_description Chicken produces portable, efficient C, supports \
almost all of the current Scheme language standard, \
the Revised5 Report on the Algorithmic Language \
Scheme (R5RS), and includes many enhancements and \
extensions.
homepage http://www.call-cc.org/
platforms darwin
set branch [join [lrange [split ${version} .] 0 2] .]
master_sites http://code.call-cc.org/releases/${branch}
checksums rmd160 ff0e6c37c0dd835c64ae406eda0df7c58dad50c0 \
sha256 c3ad99d8f9e17ed810912ef981ac3b0c2e2f46fb0ecc033b5c3b6dca1bdb0d76 \
size 4069549
patchfiles patch-Makefile.macosx.diff
use_configure no
# Upstream explicitly requires GNU make.
build.type gnu
build.args C_COMPILER=${configure.cc} \
CXX_COMPILER=${configure.cxx} \
PLATFORM=macosx \
PREFIX=${prefix}
# Upstream does not support parallel builds.
use_parallel_build no
# Correctly identify selected arch(s) to build system.
array set archs {ppc ppc.darwin ppc64 ppc.darwin i386 x86 x86_64 x86-64}
if {${universal_possible} && [variant_isset universal]} {
foreach arch ${configure.universal_archs} {
lappend merger_build_args(${arch}) \
ARCH=$archs(${configure.build_arch})
}
} else {
if {[info exists archs(${configure.build_arch})]} {
build.args-append \
ARCH=$archs(${configure.build_arch})
}
}
# Pass in correct arch and SDK flags.
set cflags ""
set ldflags ""
if {${configure.sdkroot} != ""} {
set cflags "${cflags} -isysroot ${configure.sdkroot}"
set ldflags "${ldflags} -Wl,-syslibroot,${configure.sdkroot}"
}
if {${universal_possible} && [variant_isset universal]} {
foreach arch ${configure.universal_archs} {
lappend merger_build_args(${arch}) \
CFLAGS='${cflags} -arch ${arch}' \
LDFLAGS='${ldflags} -arch ${arch}'
}
} else {
build.args-append \
CFLAGS="${cflags} -arch ${configure.build_arch}" \
LDFLAGS="${ldflags} -arch ${configure.build_arch}"
}
destroot.args PLATFORM=macosx \
PREFIX=${prefix}
test.run yes
test.target PLATFORM=macosx check
livecheck.type regex
livecheck.url http://code.call-cc.org/releases/current/
livecheck.regex {chicken-([0-9.]+)\.tar\.gz}