Guile: new recipe (#2367)

This commit is contained in:
miqlas
2018-03-26 17:48:21 +02:00
committed by fbrosson
parent f92cae670d
commit 0ac7ea21bb
2 changed files with 160 additions and 0 deletions

View File

@@ -0,0 +1,129 @@
SUMMARY="GNU Ubiquitous Intelligent Language for Extensions"
DESCRIPTION="Guile is a library designed to help programmers create flexible \
applications. Using Guile in an application allows programmers to write \
plug-ins, or modules (there are many names, but the concept is essentially \
the same) and users to use them to have an application fit their needs."
HOMEPAGE="https://www.gnu.org/software/guile/"
COPYRIGHT="1993-2018 Aubrey Jaffer, George Carrette, et al."
LICENSE="GNU LGPL v3"
REVISION="1"
SOURCE_URI="https://ftpmirror.gnu.org/guile/guile-$portVersion.tar.gz
https://ftp.gnu.org/gnu/guile/guile-$portVersion.tar.gz"
CHECKSUM_SHA256="87ee07caef33c97ddc74bf3c29ce7628cfac12061f573e4a29a3a1176754610a"
PATCHES="guile-$portVersion.patchset"
ARCHITECTURES="!x86_gcc2 ?x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
libguileVersion="1.3.0"
libguileVersionCompat="$libguileVersion compat >= ${libguileVersion%%.*}"
portVersionCompat="$portVersion compat >= ${portVersion%%.*}"
portVers="${portVersion%.*}"
PROVIDES="
guile$secondaryArchSuffix = $portVersionCompat
cmd:guild$commandSuffix = $portVersion
cmd:guile$commandSuffix = $portVersion
cmd:guile_snarf$commandSuffix = $portVersion
cmd:guile_tools$commandSuffix = $portVersion
lib:libguile_$portVers$secondaryArchSuffix = $libguileVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libffi$secondaryArchSuffix
lib:libgc$secondaryArchSuffix
lib:libgmp$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libltdl$secondaryArchSuffix
lib:libncurses$secondaryArchSuffix
lib:libreadline$secondaryArchSuffix
lib:libunistring$secondaryArchSuffix
"
PROVIDES_devel="
guile${secondaryArchSuffix}_devel = $portVersionCompat
cmd:guile_config$secondaryArchSuffix = $portVersion
devel:libguile_$portVers$secondaryArchSuffix = $libguileVersionCompat
"
REQUIRES_devel="
guile$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libffi$secondaryArchSuffix
devel:libgc$secondaryArchSuffix
devel:libgmp$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libltdl$secondaryArchSuffix
devel:libncurses$secondaryArchSuffix
devel:libreadline$secondaryArchSuffix
devel:libunistring$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:gcc$secondaryArchSuffix
cmd:gperf
cmd:grep
cmd:make
cmd:ld
cmd:pkg_config$secondaryArchSuffix
cmd:sed
"
defineDebugInfoPackage guile$secondaryArchSuffix \
"$libDir"/libguile-$portVers.so.$libguileVersion
BUILD()
{
CPPFLAGS="-D_BSD_SOURCE" LIBS="-lbsd -lnetwork" \
runConfigure --omit-dirs binDir ./configure \
--with-threads
# No MADV_DONTNEED, yet
sed --in-place '/HAVE_SYS_MMAN_H/d' config.h
make $jobArgs
}
INSTALL()
{
make install
rm -f "$libDir"/charset.alias
rm -f "$libDir"/lib*.la
rm -f "$libDir"/guile/$portVers/extensions/*.la
rm -f "$libDir"/guile/$portVers/extensions/*.a
prepareInstalledDevelLib libguile-$portVers
fixPkgconfig
if [ "$commandBinDir" != "$binDir" ]; then
mkdir -p "$binDir"
mv "$commandBinDir"/guile-config "$binDir"
fi
packageEntries devel \
"$binDir"/guile-config \
"$dataDir"/aclocal \
"$developDir"
if [ "$commandBinDir" != "$binDir" ]; then
rmdir "$binDir"
fi
}
TEST()
{
make check
}

View File

@@ -0,0 +1,31 @@
From 4d15874820bbf2369ff0790c6774b3ca12de0c7e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Thu, 22 Mar 2018 21:01:34 +0100
Subject: Build fix
diff --git a/libguile/posix.c b/libguile/posix.c
index 041b8b1..b372327 100644
--- a/libguile/posix.c
+++ b/libguile/posix.c
@@ -424,11 +424,13 @@ SCM_DEFINE (scm_getgrgid, "getgr", 0, 1, 0,
return SCM_BOOL_F;
}
}
- else if (scm_is_integer (name))
- SCM_SYSCALL (entry = getgrgid (scm_to_int (name)));
- else
+ else if (scm_is_integer (name)) {
+ SCM_SYSCALL (entry = getgrgid (scm_to_int (name)));
+ }
+ else {
STRING_SYSCALL (name, c_name,
- entry = getgrnam (c_name));
+ entry = getgrnam (c_name));
+ }
if (!entry)
SCM_SYSERROR;
--
2.16.2