Ticket #29307: Portfile

File Portfile, 4.8 KB (added by rkmspence@…, 10 years ago)

lang/guile18/Portfile

Line 
1# -*- 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
2# $Id: Portfile 72138 2010-10-05 01:16:07Z jmr@macports.org $
3
4PortSystem 1.0
5PortGroup       muniversal 1.0
6
7name            guile18
8version         1.8.8
9revision        1
10categories      lang
11maintainers     nomaintainer
12platforms       darwin
13
14description     GNU's Ubiquitous Intelligent Language for Extension (guile)
15long_description        \
16                Guile is an interpreter for the Scheme programming      \
17                language, packaged for use in a wide variety of         \
18                environments. Guile implements Scheme as described in   \
19                the Revised^5 Report on the Algorithmic Language Scheme \
20                (usually known as R5RS), providing clean and general    \
21                data and control structures.                            \
22                                                                        \
23                Guile goes beyond the rather austere language presented \
24                in R5RS, extending it with a module system, full access \
25                to POSIX system calls, networking support, multiple     \
26                threads, dynamic linking, a foreign function call       \
27                interface, powerful string processing, and many other   \
28                features needed for programming in the real world.
29
30#user_notes     You may need to set the environment variable            \
31#               DYLD_LIBRARY_PATH to ${prefix}/lib (or wherever         \
32#               the guile libraries have been installed) if you want    \
33#               to load guile modules from an application linked with   \
34#               libguile.  This should only apply to developers using   \
35#               guile as an extension language.
36
37distname        guile-${version}
38homepage        http://www.gnu.org/software/guile/guile.html
39master_sites    ftp://ftp.gnu.org/pub/gnu/guile/
40
41checksums       sha1    548d6927aeda332b117f8fc5e4e82c39a05704f9
42
43patchfiles      patch-srfi-60.c.diff \
44                patch-libguile-fports.c.diff
45
46depends_lib     port:readline \
47                port:gettext \
48                port:libiconv \
49                port:libtool \
50                port:gmp
51
52configure.args  CPPFLAGS="-I${prefix}/include"          \
53                LDFLAGS="-L${prefix}/lib"               \
54                --infodir="${prefix}/share/info"        \
55                --mandir="${prefix}/share/man"          \
56                --enable-regex
57
58if {${os.platform} == "darwin" && ($build_arch == "x86_64" || $build_arch == "ppc64")} {
59    configure.args-append --build=${build_arch}-apple-darwin${os.version}
60}
61
62post-destroot {
63    file delete ${destroot}${prefix}/share/${name}/1.8/ice-9/and-let\*.scm
64    file delete ${destroot}${prefix}/share/info/goops.info
65    file delete ${destroot}${prefix}/share/info/guile-tut.info
66    file delete ${destroot}${prefix}/share/info/guile.info
67    file delete ${destroot}${prefix}/share/info/guile.info-1
68    file delete ${destroot}${prefix}/share/info/guile.info-2
69    file delete ${destroot}${prefix}/share/info/guile.info-3
70    file delete ${destroot}${prefix}/share/info/guile.info-4
71    file delete ${destroot}${prefix}/share/info/guile.info-5
72    file delete ${destroot}${prefix}/share/info/guile.info-6
73    file delete ${destroot}${prefix}/share/info/guile.info-7
74    file delete ${destroot}${prefix}/share/info/r5rs.info
75   
76    file rename ${destroot}${prefix}/bin/guile ${destroot}${prefix}/bin/${name}
77    file rename ${destroot}${prefix}/bin/guile-config ${destroot}${prefix}/bin/${name}-config
78    file rename ${destroot}${prefix}/bin/guile-snarf ${destroot}${prefix}/bin/${name}-snarf
79    file rename ${destroot}${prefix}/bin/guile-tools ${destroot}${prefix}/bin/${name}-tools
80
81    file rename ${destroot}${prefix}/include/guile ${destroot}${prefix}/include/guile18
82
83    file rename ${destroot}${prefix}/include/libguile ${destroot}${prefix}/include/libguile18
84    file rename ${destroot}${prefix}/include/libguile.h ${destroot}${prefix}/include/libguile18.h
85
86    file rename ${destroot}${prefix}/share/aclocal/guile.m4 ${destroot}${prefix}/share/aclocal/guile18.m4
87
88    file rename ${destroot}${prefix}/lib/libguile.a ${destroot}${prefix}/lib/libguile18.a
89    file rename ${destroot}${prefix}/lib/libguile.la ${destroot}${prefix}/lib/libguile18.la
90    file rename ${destroot}${prefix}/lib/libguile.dylib ${destroot}${prefix}/lib/libguile18.dylib
91
92    file rename ${destroot}${prefix}/share/man/man1/guile.1 ${destroot}${prefix}/share/man/man1/guile18.1
93
94    reinplace "s|-lguile |-lguile18 |g" ${destroot}${prefix}/bin/guile18-config
95    reinplace "s|${prefix}/bin/guile|${prefix}/bin/guile18|g" ${destroot}${prefix}/bin/guile18-config
96    reinplace "s|libguile\\.|libguile18\\.|g" ${destroot}${prefix}/lib/libguile18.la
97    reinplace "s|libguile.la|libguile18.la|g" ${destroot}${prefix}/lib/libguilereadline-v-17.la
98   
99    fs-traverse src_file  ${destroot}${prefix}/include/ {
100        if { [ file isfile ${src_file} ] } {
101            reinplace "s|\\<guile\\/|\\<guile18\\/|g"   $src_file
102            reinplace "s|libguile\\.h|libguile18\\.h|g" $src_file
103            reinplace "s|libguile/|libguile18/|g"       $src_file
104        }
105    }
106}
107
108livecheck.type  regex
109livecheck.url   "http://ftp.gnu.org/pub/gnu/guile/?C=N;O=D"
110livecheck.regex "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"