diff --git a/dev-scheme/guile/guile1-1.8.8.recipe b/dev-scheme/guile/guile1-1.8.8.recipe new file mode 100644 index 000000000..f15c68430 --- /dev/null +++ b/dev-scheme/guile/guile1-1.8.8.recipe @@ -0,0 +1,156 @@ +SUMMARY="Libraries for GNU Ubiquitous Intelligent Language for Extensions" +SUMMARY_tools="Binaries for 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="c3471fed2e72e5b04ad133bbaaf16369e8360283679bcf19800bc1b381024050" +PATCHES="guile1-$portVersion.patchset" +SOURCE_DIR="guile-$portVersion" + +ARCHITECTURES="!x86_gcc2 ?x86 x86_64" +SECONDARY_ARCHITECTURES="x86" + +commandSuffix=$secondaryArchSuffix +commandBinDir=$binDir +if [ "$targetArchitecture" = x86_gcc2 ]; then + commandSuffix= + commandBinDir=$prefix/bin +fi + +libguileVersion="17.4.0" +libguileVers="${libguileVersion%.*}" +libguileVersionCompat="$libguileVersion compat >= ${libguileVersion%%.*}" +portVersionCompat="$portVersion compat >= ${portVersion%%.*}" +portVers="${portVersion%.*}" + +PROVIDES=" + guile1$secondaryArchSuffix = $portVersionCompat + lib:libguile$secondaryArchSuffix = $libguileVersionCompat + lib:libguilereadline_v_17$secondaryArchSuffix = $libguileVersionCompat + lib:libguile_srfi_srfi_1_v_3$secondaryArchSuffix = 3.0.2 + lib:libguile_srfi_srfi_13_14_v_3$secondaryArchSuffix = 3.0.1 + lib:libguile_srfi_srfi_4_v_3$secondaryArchSuffix = 3.0.1 + lib:libguile_srfi_srfi_60_v_2$secondaryArchSuffix = 2.0.2 + " +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_tools=" + guile1${secondaryArchSuffix}_tools = $portVersionCompat + cmd:guile$commandSuffix = $portVersion + cmd:guile_snarf$commandSuffix = $portVersion + cmd:guile_tools$commandSuffix = $portVersion + " +REQUIRES_tools=" + haiku$secondaryArchSuffix + guile1$secondaryArchSuffix == $portVersion base + lib:libgmp$secondaryArchSuffix + lib:libintl$secondaryArchSuffix + lib:libltdl$secondaryArchSuffix + " + +PROVIDES_devel=" + guile1${secondaryArchSuffix}_devel = $portVersionCompat + cmd:guile_config$commandSuffix = $portVersion + devel:libguile$secondaryArchSuffix = $libguileVersionCompat + devel:libguilereadline_v_17$secondaryArchSuffix = $libguileVersionCompat + devel:libguile_srfi_srfi_1_v_3$secondaryArchSuffix = 3.0.2 + devel:libguile_srfi_srfi_13_14_v_3$secondaryArchSuffix = 3.0.1 + devel:libguile_srfi_srfi_4_v_3$secondaryArchSuffix = 3.0.1 + devel:libguile_srfi_srfi_60_v_2$secondaryArchSuffix = 2.0.2 + " +REQUIRES_devel=" + guile1$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$secondaryArchSuffix + cmd:pkg_config$secondaryArchSuffix + cmd:sed + " + +defineDebugInfoPackage guile1$secondaryArchSuffix \ + "$libDir"/libguile.so.$libguileVersion + +BUILD() +{ + CPPFLAGS="-D_BSD_SOURCE" LIBS="-lbsd -lnetwork" \ + runConfigure --omit-dirs binDir ./configure \ + --bindir=$commandBinDir \ + --with-threads \ + --disable-error-on-warning + + # No MADV_DONTNEED, yet + sed --in-place '/HAVE_SYS_MMAN_H/d' config.h + + make $jobArgs +} + +INSTALL() +{ + make install + + rm -f "$libDir"/charset.alias + + # remove libtool files + rm -f "$libDir"/lib*.la + rm -f "$libDir"/guile/$portVers/extensions/*.la + + prepareInstalledDevelLibs libguile \ + libguilereadline-v-17 \ + libguile-srfi-srfi-1-v-3 \ + libguile-srfi-srfi-13-14-v-3 \ + libguile-srfi-srfi-4-v-3 \ + libguile-srfi-srfi-60-v-2 + + fixPkgconfig + + packageEntries tools \ + "$commandBinDir"/guile \ + "$commandBinDir"/guile-snarf \ + "$commandBinDir"/guile-tools + + packageEntries devel \ + "$commandBinDir"/guile-config \ + "$dataDir"/aclocal \ + "$developDir" +} + +TEST() +{ + make check +} diff --git a/dev-scheme/guile/patches/guile1-1.8.8.patchset b/dev-scheme/guile/patches/guile1-1.8.8.patchset new file mode 100644 index 000000000..e66e8d38c --- /dev/null +++ b/dev-scheme/guile/patches/guile1-1.8.8.patchset @@ -0,0 +1,57 @@ +From d81a3ea9a9e7bd49003215004c2b05bb9f902497 Mon Sep 17 00:00:00 2001 +From: Massimiliano Gubinelli +Date: Sat, 21 Mar 2020 19:40:33 +0000 +Subject: fixes + + +diff --git a/libguile/fports.c b/libguile/fports.c +index 007ee3f..179c58d 100644 +--- a/libguile/fports.c ++++ b/libguile/fports.c +@@ -594,7 +594,7 @@ fport_fill_input (SCM port) + scm_t_port *pt = SCM_PTAB_ENTRY (port); + scm_t_fport *fp = SCM_FSTREAM (port); + +-#ifndef __MINGW32__ ++#if !defined(__MINGW32__) && !defined(__HAIKU__) + fport_wait_for_input (port); + #endif /* !__MINGW32__ */ + SCM_SYSCALL (count = read (fp->fdes, pt->read_buf, pt->read_buf_size)); +diff --git a/libguile/posix.c b/libguile/posix.c +index 2ecd8ae..fdaaad9 100644 +--- a/libguile/posix.c ++++ b/libguile/posix.c +@@ -421,9 +421,9 @@ SCM_DEFINE (scm_getgrgid, "getgr", 0, 1, 0, + return SCM_BOOL_F; + } + } +- else if (scm_is_integer (name)) ++ else if (scm_is_integer (name)) { + SCM_SYSCALL (entry = getgrgid (scm_to_int (name))); +- else ++ } else + STRING_SYSCALL (name, c_name, + entry = getgrnam (c_name)); + if (!entry) +@@ -1236,14 +1236,14 @@ SCM_DEFINE (scm_utime, "utime", 1, 2, 0, + int rv; + struct utimbuf utm_tmp; + +- if (SCM_UNBNDP (actime)) ++ if (SCM_UNBNDP (actime)) { + SCM_SYSCALL (time (&utm_tmp.actime)); +- else ++ } else + utm_tmp.actime = SCM_NUM2ULONG (2, actime); + +- if (SCM_UNBNDP (modtime)) ++ if (SCM_UNBNDP (modtime)) { + SCM_SYSCALL (time (&utm_tmp.modtime)); +- else ++ } else + utm_tmp.modtime = SCM_NUM2ULONG (3, modtime); + + STRING_SYSCALL (pathname, c_pathname, +-- +2.24.1 +