the Fink project is an effort to port
popular Unix programs to Mac OS X
Package: guile20
Version: 2.0.5
Revision: 0
BuildDepends: <<
readline5 (>= 5.0-1004),
libncurses5 (>= 5.4-20041023-1006),
libtool2,
libunistring0,
gc,
gmp5,
libiconv-dev,
libgettext8-dev,
gettext-tools,
fink-package-precedence,
fink (>= 0.28)
<<
Depends: <<
%N-shlibs (= %v-%r),
%N-libs (= %v-%r),
libtool2-shlibs
<<
# prevent from building against old installed library
# BuildConflicts: guile20-dev
# this package is busted on many platforms
BuildConflicts: libffi
GCC: 4.0
Source: mirror:gnu:guile/guile-%v.tar.gz
# Source: http://hydra.nixos.org/job/gnu/guile-2-0/tarball/latest/download-by-type/file/source-dist
Source-MD5: bcf70d54b44c99cb9acd3f63c5486b4b
# PatchFile: %n.patch
# PatchFile-MD5: 4876e126e4183f61fbf03905d2d39373
PatchScript: <<
#!/bin/sh -ev
# patch -p1 < %{PatchFile}
perl -i -pe 's|(lt_dlinit\s*\(\s*\))|\1; lt_dladdsearchdir("\%p/lib")|' libguile/dynl.c
# When LIBICONV_PLUG is not defined (normal) iconv, iconv_open, iconv_close
# are all #defined to libiconv* in
for f in lib/iconv*.c
do sed -i.orig '/^#undef/d' $f
done
# fix enum decl for ANSI strict C
sed -i.orig '/SCM_ARRAY_ELEMENT_TYPE_LAST/s|,$||' libguile/array-handle.h
# fix typedef for function pointer
sed -i.orig 's|void.*scm_t_subr|void (*scm_t_subr)()|' libguile/__scm.h
# fix framework flag for CoreFoundation (defined in aclocal.m4)
sed -i.orig 's|-Wl,-framework -Wl,CoreFoundation|-Wl,-framework,CoreFoundation|g' configure
{
echo '#!/bin/sh'
echo 'export GUILE=guile-2.0'
echo 'export GUILE_CONFIG=guile-2.0-config'
echo 'export GUILE_TOOLS=guile-2.0-tools'
echo 'export PATH="%p/share/guile/2.0/scripts/binoverride:$PATH"'
echo 'eval "$@"'
} > guile20-build
chmod +x guile20-build
# Don't try to use libffi APIs not present system-ffi (old version)
# (not sure why this isn't a configure test)
perl -pi -e 's/FFI_CLOSURES/FFI_CLOSURES_ONLY_AVAILABLE_IN_NEW_LIBFFI_THAT_IS_BROKEN_ON_DARWIN/g' libguile/foreign.c
<<
# gl_cv_func_svid_putenv=yes
ConfigureParams: <<
--infodir=%p/share/info \
--program-transform-name="s|guile|guile-2.0|g" \
$threads \
LIBFFI_CFLAGS="-I/usr/include/ffi" LIBFFI_LIBS="-lffi" \
-C
<<
NoSetCPPFLAGS: true
NoSetLDFLAGS: true
SetCPPFLAGS: -Dmacosx
# SetCFLAGS: -g -O2 -W -Wall -ansi -pedantic-errors
UseMaxBuildJobs: true
CompileScript: <<
#! /bin/sh -ex
mkdir build
cd build
# darwin8 missing some essential POSIX thread features, so disabled
kernel=`uname -r | cut -d. -f1`
test $kernel -gt 8 || threads="--without-threads"
if test "$kernel" = 9 ; then
export CC=gcc-4.2
export CXX=g++-4.2
test -x `which gcc-4.2` || { echo "gcc-4.2 required, but missing!"; exit 1; }
fi
../configure %c
make
fink-package-precedence --prohibit-bdep=%n-dev .
<<
InfoTest: <<
TestScript: <<
#!/bin/sh -ev
cd build
# make -k check || exit 2
make -k check || { echo "WARNING: Some tests failed in the testsuite." ;}
fink-package-precedence --prohibit-bdep=%n-dev .
<<
TestSuiteSize: small
<<
InstallScript: <<
#!/bin/sh -ev
cd build
make -j1 install DESTDIR=%d
install -m 755 ../guile20-build %i/bin/guile20-build
pkgdatadir=%i/share/guile/2.0
mkdir -p $pkgdatadir/scripts/binoverride
ln -s %p/bin/guile-2.0 $pkgdatadir/scripts/binoverride/guile
ln -s %p/bin/guile-2.0-config $pkgdatadir/scripts/binoverride/guile-config
ln -s %p/bin/guile-2.0-tools $pkgdatadir/scripts/binoverride/guile-tools
ln -s %p/bin/guile-2.0-snarf $pkgdatadir/scripts/binoverride/guile-snarf
<<
SplitOff: <<
Package: %N-shlibs
Depends: <<
gc-shlibs,
gmp5-shlibs,
libncurses5-shlibs (>= 5.4-20041023-1006),
libgettext8-shlibs,
libunistring0-shlibs
<<
Files: <<
lib/libguile-2.0.*.dylib
<<
DocFiles: COPYING.LESSER
Shlibs: <<
%p/lib/libguile-2.0.22.dylib 27.0.0 %n (>= 2.0.5-1)
<<
Description: Shared libraries for guile20
<<
SplitOff2: <<
Package: %N-libs
Files: <<
lib/libguilereadline-v-18.*
share/guile/2.0/[A-Za-rt-z]*
share/guile/2.0/scripts/[A-Zac-z]*
share/guile/2.0/srfi
share/guile/2.0/sxml
lib/guile/2.0/ccache/[A-Za-rt-z]*
lib/guile/2.0/ccache/scripts/[A-Zac-z]*
lib/guile/2.0/ccache/srfi
lib/guile/2.0/ccache/sxml
<<
Shlibs: <<
!%p/lib/libguilereadline-v-18.18.dylib
<<
DocFiles: COPYING.LESSER
Depends: <<
%N-shlibs (= %v-%r),
readline5-shlibs (>= 5.0-1004)
<<
Description: Scheme libraries and modules for guile20
DescPackaging: <<
Split-off everything except the system dir.
Now contains precompiled guile objects for all shipped libraries.
<<
<<
SplitOff3: <<
Package: %N-dev
BuildDependsOnly: True
Depends: %N-shlibs (= %v-%r)
Replaces: guile-dev, guile16-dev, guile18-dev
Conflicts: guile-dev, guile16-dev, guile18-dev
Files: <<
include
share/aclocal
lib/libguile-2.0.a
lib/libguile-2.0.la
lib/libguile-2.0.dylib
lib/pkgconfig
<<
DocFiles: COPYING.LESSER
Description: Development package for guile20
DescPackaging: <<
The only file that conflicts is %p/share/aclocal/guile.m4.
All other files are versioned or in versioned subdirs.
<<
<<
SplitOff4: <<
Package: %N-doc
Conflicts: guile16-doc, guile16 (<= 1.6.7-1011), guile18-doc, guile18
Replaces: guile16-doc, guile16 (<= 1.6.7-1011), guile18-doc, guile18
DocFiles: COPYING.LESSER
Files: share/info
InfoDocs: guile.info r5rs.info
Description: Texinfo files for guile20
<<
DocFiles: README COPYING.LESSER AUTHORS HACKING NEWS THANKS
#
Description: Embedable Scheme interpreter
DescPort: <<
Thread support currently disabled (configure's default).
"borrowed" a patch from darwinports to posix.c makes it
pass make check.
Disabling threads on darwin8 because it lacks thread cancellation.
Made the main packages not conflict with guile-1.4, -1.6, -1.8.
Make sure to declare the darwinish _environ symbol before using it.
<<
DescPackaging: <<
Since 1.9.13-2, bumped gmp to gmp5.
Matthias Neeracher
<<
License: GPL
Homepage: http://www.gnu.org/software/guile/
Maintainer: David Fang