-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
4 additions
and
132 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,138 +1,10 @@ | ||
# -*- 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 | ||
PortGroup xcode_workaround 1.0 | ||
PortGroup obsolete 1.0 | ||
|
||
name guile | ||
categories lang | ||
maintainers nomaintainer | ||
platforms darwin | ||
license LGPL-2.1+ | ||
|
||
# current version | ||
replaced_by guile-2.2 | ||
version 2.2.7 | ||
revision 2 | ||
checksums rmd160 8c3dba807c4d236da81373e593d61007812ae236 \ | ||
sha256 44b4c5fbbe257ccdebea18420212c9b3e90c3c86a54920d8554039fc6769a007 \ | ||
size 18129833 | ||
|
||
compiler.c_standard 2011 | ||
|
||
# https://trac.macports.org/ticket/59365 | ||
xcode_workaround.fixed_xcode_version 11.2 | ||
xcode_workaround.type avoid_xcode_compiler | ||
|
||
platform darwin powerpc { | ||
post-extract { | ||
# the prebuilt guile binaries are broken for 32bit darwn PPC | ||
move ${worksrcpath}/prebuilt/32-bit-big-endian ${worksrcpath}/prebuilt/32-bit-big-endian-disabled | ||
|
||
ui_msg "*** This build can take some time, as guile has to do a full bootstrap on PPC." | ||
} | ||
} | ||
|
||
# Failed to destroot guile: | ||
# /opt/local/lib/guile/2.0/ccache/ice-9/and-let-star.go differs in ... and | ||
# cannot be merged | ||
universal_variant no | ||
|
||
description GNU's Ubiquitous Intelligent Language for Extension (guile) | ||
long_description \ | ||
Guile is an interpreter for the Scheme programming \ | ||
language, packaged for use in a wide variety of \ | ||
environments. Guile implements Scheme as described in \ | ||
the Revised^5 Report on the Algorithmic Language Scheme \ | ||
(usually known as R5RS), providing clean and general \ | ||
data and control structures. \ | ||
\ | ||
Guile goes beyond the rather austere language presented \ | ||
in R5RS, extending it with a module system, full access \ | ||
to POSIX system calls, networking support, multiple \ | ||
threads, dynamic linking, a foreign function call \ | ||
interface, powerful string processing, and many other \ | ||
features needed for programming in the real world. | ||
|
||
distname guile-${version} | ||
homepage https://www.gnu.org/software/guile/guile.html | ||
master_sites gnu | ||
|
||
depends_lib port:readline \ | ||
port:gettext \ | ||
port:libiconv \ | ||
port:libtool \ | ||
port:gmp \ | ||
port:libunistring \ | ||
port:boehmgc \ | ||
port:libffi \ | ||
port:ncurses | ||
|
||
# guile-config is a wrapper around pkg-config | ||
depends_lib-append port:pkgconfig | ||
|
||
# fixes: sed: -i may not be used with stdin | ||
depends_build-append port:gsed | ||
configure.env-append SED=${prefix}/bin/gsed | ||
build.env-append SED=${prefix}/bin/gsed | ||
|
||
configure.args CPPFLAGS="-I${prefix}/include" \ | ||
LDFLAGS="-L${prefix}/lib" \ | ||
--infodir="${prefix}/share/info" \ | ||
--mandir="${prefix}/share/man" \ | ||
--enable-regex \ | ||
--disable-error-on-warning \ | ||
--disable-silent-rules | ||
|
||
# Unable to cross compile, so we need to be able to run the built code | ||
if {${os.arch} eq "i386" && ${os.major} >= 11} { | ||
supported_archs i386 x86_64 | ||
set universal_archs_supported {i386 x86_64} | ||
} elseif {${os.arch} eq "i386" && ${build_arch} eq "x86_64"} { | ||
supported_archs i386 x86_64 ppc | ||
set universal_archs_supported {i386 x86_64 ppc} | ||
} elseif {${os.arch} eq "i386"} { | ||
supported_archs i386 ppc | ||
set universal_archs_supported {i386 ppc} | ||
} elseif {${build_arch} eq "ppc64"} { | ||
supported_archs ppc ppc64 | ||
set universal_archs_supported {ppc ppc64} | ||
} else { | ||
supported_archs ${build_arch} | ||
set universal_archs_supported ${build_arch} | ||
} | ||
|
||
platform darwin { | ||
# if {[variant_isset universal]} { | ||
# set merger_host(x86_64) x86_64-apple-${os.platform}${os.major} | ||
# set merger_host(i386) i686-apple-${os.platform}${os.major} | ||
# set merger_host(ppc64) powerpc64-apple-${os.platform}${os.major} | ||
# set merger_host(ppc) powerpc-apple-${os.platform}${os.major} | ||
# set merger_configure_args(x86_64) "--build=x86_64-apple-${os.platform}${os.major}" | ||
# set merger_configure_args(i386) "--build=i686-apple-${os.platform}${os.major}" | ||
# set merger_configure_args(ppc) "--build=powerpc-apple-${os.platform}${os.major}" | ||
# set merger_configure_args(ppc64) "--build=powerpc64-apple-${os.platform}${os.major}" | ||
# } else | ||
if {${build_arch} eq "i386"} { | ||
configure.args-append \ | ||
--host=i686-apple-${os.platform}${os.major} \ | ||
--build=i686-apple-${os.platform}${os.major} | ||
} elseif {${build_arch} eq "x86_64"} { | ||
configure.args-append \ | ||
--host=x86_64-apple-${os.platform}${os.major} \ | ||
--build=x86_64-apple-${os.platform}${os.major} | ||
} elseif {${build_arch} eq "ppc"} { | ||
configure.args-append \ | ||
--host=powerpc-apple-${os.platform}${os.major} \ | ||
--build=powerpc-apple-${os.platform}${os.major} | ||
} elseif {${build_arch} eq "ppc64"} { | ||
configure.args-append \ | ||
--host=powerpc64-apple-${os.platform}${os.major} \ | ||
--build=powerpc64-apple-${os.platform}${os.major} | ||
} | ||
} | ||
|
||
test.run yes | ||
test.target check | ||
|
||
livecheck.type regex | ||
livecheck.url "https://ftp.gnu.org/pub/gnu/guile/?C=N;O=D" | ||
livecheck.regex "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}" | ||
revision 3 | ||
categories lang |