summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2022-03-13 19:23:46 +0100
committerMaciej Barć <xgqt@gentoo.org>2022-03-13 19:23:46 +0100
commite5d9120b0c37d53d249f89ce60d95a7c868d4fdf (patch)
treea589f7658f8004375937015bbac70333b73f2a74
parentdev-scheme/armpit: drop package (diff)
downloadlisp-e5d9120b0c37d53d249f89ce60d95a7c868d4fdf.tar.gz
lisp-e5d9120b0c37d53d249f89ce60d95a7c868d4fdf.tar.bz2
lisp-e5d9120b0c37d53d249f89ce60d95a7c868d4fdf.zip
dev-scheme/chicken: drop old ebuilds
recent versions available in ::gentoo Bug: https://bugs.gentoo.org/797100 Signed-off-by: Maciej Barć <xgqt@gentoo.org>
-rw-r--r--dev-scheme/chicken/Manifest4
-rw-r--r--dev-scheme/chicken/chicken-4.8.0.4.ebuild86
-rw-r--r--dev-scheme/chicken/chicken-4.8.0.5.ebuild86
-rw-r--r--dev-scheme/chicken/chicken-4.9.0.1.ebuild76
-rw-r--r--dev-scheme/chicken/chicken-4.9.0.ebuild76
-rw-r--r--dev-scheme/chicken/files/4.8.0.4/01_all_CVE-2013-1874.patch25
-rw-r--r--dev-scheme/chicken/files/4.8.0.4/02_all_CVE-2013-2024.patch47
-rw-r--r--dev-scheme/chicken/files/4.8.0.4/03_all_CVE-2013-2075_1.patch161
-rw-r--r--dev-scheme/chicken/files/4.8.0.4/04_all_CVE-2013-2075_2.patch309
-rw-r--r--dev-scheme/chicken/files/4.8.0.5/01_all_CVE-2013-1874.patch25
-rw-r--r--dev-scheme/chicken/files/4.8.0.5/02_all_CVE-2013-2024.patch47
-rw-r--r--dev-scheme/chicken/files/4.8.0.5/03_all_CVE-2013-2075_1.patch161
-rw-r--r--dev-scheme/chicken/files/4.8.0.5/04_all_CVE-2013-2075_2.patch309
-rw-r--r--dev-scheme/chicken/files/50hen-gentoo.el5
-rw-r--r--dev-scheme/chicken/files/parallel-build-4.9.0.patch74
-rw-r--r--dev-scheme/chicken/files/parallel-build.patch74
16 files changed, 0 insertions, 1565 deletions
diff --git a/dev-scheme/chicken/Manifest b/dev-scheme/chicken/Manifest
deleted file mode 100644
index ed0eceb3..00000000
--- a/dev-scheme/chicken/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST chicken-4.8.0.4.tar.gz 3963775 BLAKE2B 6fe910b99025b2141a513b7315eafb0ae3500155283e576a95f11d0a59b7335161530e3d843032016c9e732011b1d29aa4dadea866545a2145f465090a6c9169 SHA512 451570db8282b3aed793b215fafee16b6f88a6ce1539d864bd96a5e62f555dc91871c7f69948e9ee522d934caf562727906f33d0ef5aaef817913a0b7bf006fc
-DIST chicken-4.8.0.5.tar.gz 3970370 BLAKE2B 3bcd9fbb6827ded7811f4b52369ba279c946c892e002d062c17035d4d738f1aaaf4ba3559980b96128d8b470f3194d2f76e22ed4dac51113d1b215c33e07679f SHA512 194da6b448b143bd4c9d4a4e724f93ef68a19df3e3081d85c15b6be3b1e534d7aedf00ba86f469547b610a469990abdc41c94cb9e5453c6001b7a58b67f1adce
-DIST chicken-4.9.0.1.tar.gz 4023371 BLAKE2B 6e93fe16b893e5ba098b65f7911ec6c7afb5a0bee575b88b84bba803f98dfeaf7c8f2fd0c18a53bb181aba0761eb11b43f1f31cc6bfcfe6adfbb92d6a76e1ee0 SHA512 fff4b43833d98bcc76252f7f1d7e491f8f64cfdc7357c94c91df728eb556e2e9019bb4eb9fb944d7592c81ea1c8941114338b704ff690c0f24c5b518c4437f28
-DIST chicken-4.9.0.tar.gz 4022686 BLAKE2B 614afca23a19494778a232d16dab3e74454c14dbe35b8954ed9b5ed4b854b0bab2a26c021b1681d47d7f2777d100c95b357f1770cf8291bbc8b74a99be25c29f SHA512 346c992a852e96a24ef1431a9feff658a8ef1b95e6a96de771cbd8af17ffa4f0fd453f79eac440355dbf259eff07cb351e12c488b27530a1c5c01eb19497b2ab
diff --git a/dev-scheme/chicken/chicken-4.8.0.4.ebuild b/dev-scheme/chicken/chicken-4.8.0.4.ebuild
deleted file mode 100644
index c0511df9..00000000
--- a/dev-scheme/chicken/chicken-4.8.0.4.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-scheme/chicken/chicken-4.8.0.1.ebuild,v 1.1 2013/02/05 23:51:45 pchrist Exp $
-
-EAPI="5"
-
-inherit eutils multilib versionator
-
-MY_PV=$(get_version_component_range 1-3)
-DESCRIPTION="Chicken is a Scheme interpreter and native Scheme to C compiler"
-HOMEPAGE="http://www.call-cc.org/"
-SRC_URI="http://code.call-cc.org/releases/${MY_PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~x86"
-IUSE="emacs parallel-build doc"
-
-DEPEND="sys-apps/texinfo
- emacs? ( virtual/emacs )"
-RDEPEND="emacs? ( virtual/emacs app-emacs/scheme-complete )"
-
-src_prepare() {
- if use "parallel-build"
- then
- epatch "${FILESDIR}"/parallel-build.patch
- fi
-
- #Because chicken's Upstream is in the habit of using variables that
- #portage also uses :( eg. $ARCH and $A
- sed 's,A\(\s?=\|)\),chicken&,' -i Makefile.cross-linux-mingw \
- defaults.make rules.make \
- || die "sed failed"
-
- sed "s,ARCH,zARCH," -i Makefile.bsd Makefile.cross-linux-mingw \
- Makefile.cygwin Makefile.haiku Makefile.linux Makefile.macosx \
- Makefile.mingw Makefile.mingw-msys Makefile.solaris \
- defaults.make rules.make \
- || die "sed failed"
-
- sed "s,\$(PREFIX)/lib,\$(PREFIX)/$(get_libdir)," -i defaults.make || die "sed failed"
- sed "s,\$(DATADIR)/doc,\$(SHAREDIR)/doc/${P}," -i defaults.make || die "sed failed"
-}
-
-src_compile() {
- if use "parallel-build"
- then
- OPTIONS="PLATFORM=linux PREFIX=/usr"
- else
- OPTIONS="-j1 PLATFORM=linux PREFIX=/usr"
- fi
-
- # build a bootstrap Chicken compiler so we may apply patches to the Scheme
- # sources
- emake ${OPTIONS} C_COMPILER_OPTIMIZATION_OPTIONS="${CFLAGS}" \
- LINKER_OPTIONS="${LDFLAGS}" \
- HOSTSYSTEM="${CBUILD}" boot-chicken || die "emake failed"
-
- # apply security patches to .scm files
- EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="patch" epatch
-
- # rebuild chicken from the patched sources using the (unpatched) bootstrap compiler
- emake ${OPTIONS} C_COMPILER_OPTIMIZATION_OPTIONS="${CFLAGS}" \
- LINKER_OPTIONS="${LDFLAGS}" \
- HOSTSYSTEM="${CBUILD}" CHICKEN=./chicken-boot || die "emake failed"
-}
-
-# chicken's testsuite is not runnable before install
-# upstream has been notified of the issue
-RESTRICT=test
-
-src_install() {
- # still can't run make in parallel for the install target
- emake -j1 ${OPTIONS} DESTDIR="${D}" HOSTSYSTEM="${CBUILD}" \
- LINKER_OPTIONS="${LDFLAGS}" \
- install || die
-
- rm "${D}"/usr/share/doc/${P}/LICENSE || die
- dodoc NEWS || die
-
- # remove HTML documentation if the user doesn't USE=doc
- if ! use "doc"
- then
- rm -rf "${D}"/usr/share/doc/${P}/manual || die
- fi
-}
diff --git a/dev-scheme/chicken/chicken-4.8.0.5.ebuild b/dev-scheme/chicken/chicken-4.8.0.5.ebuild
deleted file mode 100644
index c0511df9..00000000
--- a/dev-scheme/chicken/chicken-4.8.0.5.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-scheme/chicken/chicken-4.8.0.1.ebuild,v 1.1 2013/02/05 23:51:45 pchrist Exp $
-
-EAPI="5"
-
-inherit eutils multilib versionator
-
-MY_PV=$(get_version_component_range 1-3)
-DESCRIPTION="Chicken is a Scheme interpreter and native Scheme to C compiler"
-HOMEPAGE="http://www.call-cc.org/"
-SRC_URI="http://code.call-cc.org/releases/${MY_PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~x86"
-IUSE="emacs parallel-build doc"
-
-DEPEND="sys-apps/texinfo
- emacs? ( virtual/emacs )"
-RDEPEND="emacs? ( virtual/emacs app-emacs/scheme-complete )"
-
-src_prepare() {
- if use "parallel-build"
- then
- epatch "${FILESDIR}"/parallel-build.patch
- fi
-
- #Because chicken's Upstream is in the habit of using variables that
- #portage also uses :( eg. $ARCH and $A
- sed 's,A\(\s?=\|)\),chicken&,' -i Makefile.cross-linux-mingw \
- defaults.make rules.make \
- || die "sed failed"
-
- sed "s,ARCH,zARCH," -i Makefile.bsd Makefile.cross-linux-mingw \
- Makefile.cygwin Makefile.haiku Makefile.linux Makefile.macosx \
- Makefile.mingw Makefile.mingw-msys Makefile.solaris \
- defaults.make rules.make \
- || die "sed failed"
-
- sed "s,\$(PREFIX)/lib,\$(PREFIX)/$(get_libdir)," -i defaults.make || die "sed failed"
- sed "s,\$(DATADIR)/doc,\$(SHAREDIR)/doc/${P}," -i defaults.make || die "sed failed"
-}
-
-src_compile() {
- if use "parallel-build"
- then
- OPTIONS="PLATFORM=linux PREFIX=/usr"
- else
- OPTIONS="-j1 PLATFORM=linux PREFIX=/usr"
- fi
-
- # build a bootstrap Chicken compiler so we may apply patches to the Scheme
- # sources
- emake ${OPTIONS} C_COMPILER_OPTIMIZATION_OPTIONS="${CFLAGS}" \
- LINKER_OPTIONS="${LDFLAGS}" \
- HOSTSYSTEM="${CBUILD}" boot-chicken || die "emake failed"
-
- # apply security patches to .scm files
- EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="patch" epatch
-
- # rebuild chicken from the patched sources using the (unpatched) bootstrap compiler
- emake ${OPTIONS} C_COMPILER_OPTIMIZATION_OPTIONS="${CFLAGS}" \
- LINKER_OPTIONS="${LDFLAGS}" \
- HOSTSYSTEM="${CBUILD}" CHICKEN=./chicken-boot || die "emake failed"
-}
-
-# chicken's testsuite is not runnable before install
-# upstream has been notified of the issue
-RESTRICT=test
-
-src_install() {
- # still can't run make in parallel for the install target
- emake -j1 ${OPTIONS} DESTDIR="${D}" HOSTSYSTEM="${CBUILD}" \
- LINKER_OPTIONS="${LDFLAGS}" \
- install || die
-
- rm "${D}"/usr/share/doc/${P}/LICENSE || die
- dodoc NEWS || die
-
- # remove HTML documentation if the user doesn't USE=doc
- if ! use "doc"
- then
- rm -rf "${D}"/usr/share/doc/${P}/manual || die
- fi
-}
diff --git a/dev-scheme/chicken/chicken-4.9.0.1.ebuild b/dev-scheme/chicken/chicken-4.9.0.1.ebuild
deleted file mode 100644
index f40c9b6d..00000000
--- a/dev-scheme/chicken/chicken-4.9.0.1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-scheme/chicken/chicken-4.8.0.1.ebuild,v 1.1 2013/02/05 23:51:45 pchrist Exp $
-
-EAPI="5"
-
-inherit eutils multilib versionator
-
-MY_PV=$(get_version_component_range 1-3)
-DESCRIPTION="Chicken is a Scheme interpreter and native Scheme to C compiler"
-HOMEPAGE="http://www.call-cc.org/"
-SRC_URI="http://code.call-cc.org/releases/${MY_PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~x86"
-IUSE="emacs parallel-build doc"
-
-DEPEND="sys-apps/texinfo
- emacs? ( virtual/emacs )"
-RDEPEND="emacs? ( virtual/emacs app-emacs/scheme-complete )"
-
-src_prepare() {
- if use "parallel-build"
- then
- epatch "${FILESDIR}"/parallel-build-${MY_PV}.patch
- fi
-
- #Because chicken's Upstream is in the habit of using variables that
- #portage also uses :( eg. $ARCH and $A
- sed 's,A\(\s?=\|)\),chicken&,' -i Makefile.cross-linux-mingw \
- defaults.make rules.make \
- || die "sed failed"
-
- sed "s,ARCH,zARCH," -i Makefile.bsd Makefile.cross-linux-mingw \
- Makefile.cygwin Makefile.haiku Makefile.linux Makefile.macosx \
- Makefile.mingw Makefile.mingw-msys Makefile.solaris \
- defaults.make rules.make \
- || die "sed failed"
-
- sed "s,\$(PREFIX)/lib,\$(PREFIX)/$(get_libdir)," -i defaults.make || die "sed failed"
- sed "s,\$(DATADIR)/doc,\$(SHAREDIR)/doc/${P}," -i defaults.make || die "sed failed"
-}
-
-src_compile() {
- if use "parallel-build"
- then
- OPTIONS="PLATFORM=linux PREFIX=/usr"
- else
- OPTIONS="-j1 PLATFORM=linux PREFIX=/usr"
- fi
-
- emake ${OPTIONS} C_COMPILER_OPTIMIZATION_OPTIONS="${CFLAGS}" \
- LINKER_OPTIONS="${LDFLAGS}" \
- HOSTSYSTEM="${CBUILD}" || die "emake failed"
-}
-
-# chicken's testsuite is not runnable before install
-# upstream has been notified of the issue
-RESTRICT=test
-
-src_install() {
- # still can't run make in parallel for the install target
- emake -j1 ${OPTIONS} DESTDIR="${D}" HOSTSYSTEM="${CBUILD}" \
- LINKER_OPTIONS="${LDFLAGS}" \
- install || die
-
- rm "${D}"/usr/share/doc/${P}/LICENSE || die
- dodoc NEWS || die
-
- # remove HTML documentation if the user doesn't USE=doc
- if ! use "doc"
- then
- rm -rf "${D}"/usr/share/doc/${P}/manual || die
- fi
-}
diff --git a/dev-scheme/chicken/chicken-4.9.0.ebuild b/dev-scheme/chicken/chicken-4.9.0.ebuild
deleted file mode 100644
index 1cc97aab..00000000
--- a/dev-scheme/chicken/chicken-4.9.0.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-scheme/chicken/chicken-4.8.0.1.ebuild,v 1.1 2013/02/05 23:51:45 pchrist Exp $
-
-EAPI="5"
-
-inherit eutils multilib versionator
-
-MY_PV=$(get_version_component_range 1-3)
-DESCRIPTION="Chicken is a Scheme interpreter and native Scheme to C compiler"
-HOMEPAGE="http://www.call-cc.org/"
-SRC_URI="http://code.call-cc.org/releases/${MY_PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~x86"
-IUSE="emacs parallel-build doc"
-
-DEPEND="sys-apps/texinfo
- emacs? ( virtual/emacs )"
-RDEPEND="emacs? ( virtual/emacs app-emacs/scheme-complete )"
-
-src_prepare() {
- if use "parallel-build"
- then
- epatch "${FILESDIR}"/parallel-build-${MY_PV}.patch
- fi
-
- #Because chicken's Upstream is in the habit of using variables that
- #portage also uses :( eg. $ARCH and $A
- sed 's,A\(\s?=\|)\),chicken&,' -i Makefile.cross-linux-mingw \
- defaults.make rules.make \
- || die "sed failed"
-
- sed "s,ARCH,zARCH," -i Makefile.bsd Makefile.cross-linux-mingw \
- Makefile.cygwin Makefile.haiku Makefile.linux Makefile.macosx \
- Makefile.mingw Makefile.mingw-msys Makefile.solaris \
- defaults.make rules.make \
- || die "sed failed"
-
- sed "s,\$(PREFIX)/lib,\$(PREFIX)/$(get_libdir)," -i defaults.make || die "sed failed"
- sed "s,\$(DATADIR)/doc,\$(SHAREDIR)/doc/${P}," -i defaults.make || die "sed failed"
-}
-
-src_compile() {
- if use "parallel-build"
- then
- OPTIONS="PLATFORM=linux PREFIX=/usr"
- else
- OPTIONS="-j1 PLATFORM=linux PREFIX=/usr"
- fi
-
- emake ${OPTIONS} C_COMPILER_OPTIMIZATION_OPTIONS="${CFLAGS}" \
- LINKER_OPTIONS="${LDFLAGS}" \
- HOSTSYSTEM="${CBUILD}" || die "emake failed"
-}
-
-# chicken's testsuite is not runnable before install
-# upstream has been notified of the issue
-RESTRICT=test
-
-src_install() {
- # still can't run make in parallel for the install target
- emake -j1 ${OPTIONS} DESTDIR="${D}" HOSTSYSTEM="${CBUILD}" \
- LINKER_OPTIONS="${LDFLAGS}" \
- install || die
-
- rm "${D}"/usr/share/doc/${P}/LICENSE || die
- dodoc NEWS || die
-
- # remove HTML documentation if the user doesn't USE=doc
- if ! use "doc"
- then
- rm -rf "${D}"/usr/share/doc/${P}/manual || die
- fi
-}
diff --git a/dev-scheme/chicken/files/4.8.0.4/01_all_CVE-2013-1874.patch b/dev-scheme/chicken/files/4.8.0.4/01_all_CVE-2013-1874.patch
deleted file mode 100644
index 599ae61d..00000000
--- a/dev-scheme/chicken/files/4.8.0.4/01_all_CVE-2013-1874.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From http://lists.nongnu.org/archive/html/chicken-hackers/2013-03/msg00074.html
---- chicken-4.8.0.3/csi.scm
-+++ chicken-4.8.0.3/csi.scm
-@@ -1019,13 +1019,11 @@ EOF
- (cons (cadr p) (loop (cddr p)))) ) ]
- [else '()] ) ) )
- (define (loadinit)
-- (let ([fn (##sys#string-append "./" init-file)])
-- (if (file-exists? fn)
-- (load fn)
-- (let* ([prefix (chop-separator (or (get-environment-variable "HOME") "."))]
-- [fn (string-append prefix "/" init-file)] )
-- (when (file-exists? fn)
-- (load fn) ) ) ) ) )
-+ (and-let* ((home (get-environment-variable "HOME"))
-+ ((not (string=? home ""))))
-+ (let ((fn (string-append (chop-separator home) "/" init-file)))
-+ (when (file-exists? fn)
-+ (load fn) ) ) ) )
- (define (evalstring str #!optional (rec (lambda _ (void))))
- (let ((in (open-input-string str)))
- (do ([x (read in) (read in)])
---
-1.7.12
-
diff --git a/dev-scheme/chicken/files/4.8.0.4/02_all_CVE-2013-2024.patch b/dev-scheme/chicken/files/4.8.0.4/02_all_CVE-2013-2024.patch
deleted file mode 100644
index d57a4bce..00000000
--- a/dev-scheme/chicken/files/4.8.0.4/02_all_CVE-2013-2024.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From http://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=commit;h=58684f69572453acc6fed7326fa9df39be98760e
---- chicken-4.8.0.3/setup-api.scm
-+++ chicken-4.8.0.3/setup-api.scm
-@@ -239,7 +239,7 @@
- (cond ((string=? prg "csc")
- (string-intersperse
- (cons*
-- (shellpath (find-program "csc"))
-+ (find-program "csc")
- "-feature" "compiling-extension"
- (if (or (deployment-mode)
- (and (feature? #:cross-chicken)
---- chicken-4.8.0.3/utils.scm
-+++ chicken-4.8.0.3/utils.scm
-@@ -59,20 +59,18 @@
- ;;; Quote string for shell
-
- (define (qs str #!optional (platform (build-platform)))
-- (case platform
-- ((mingw32)
-- (string-append "\"" str "\""))
-- (else
-- (if (zero? (string-length str))
-- "''"
-- (string-concatenate
-- (map (lambda (c)
-- (if (or (char-whitespace? c)
-- (memq c '(#\# #\" #\' #\` #\´ #\~ #\& #\% #\$ #\! #\* #\;
-- #\< #\> #\\ #\( #\) #\[ #\] #\{ #\} #\?)))
-- (string #\\ c)
-- (string c)))
-- (string->list str)))))))
-+ (let ((delim (if (eq? platform 'mingw32) #\" #\'))
-+ (escaped (if (eq? platform 'mingw32) "\"\"" "'\\''")))
-+ (string-append
-+ (string delim)
-+ (string-concatenate
-+ (map (lambda (c)
-+ (cond
-+ ((char=? c delim) escaped)
-+ ((char=? c #\nul) (error 'qs "NUL character can not be represented in shell string" str))
-+ (else (string c))))
-+ (string->list str)))
-+ (string delim))))
-
-
- ;;; Compile and load file
diff --git a/dev-scheme/chicken/files/4.8.0.4/03_all_CVE-2013-2075_1.patch b/dev-scheme/chicken/files/4.8.0.4/03_all_CVE-2013-2075_1.patch
deleted file mode 100644
index d3de47bb..00000000
--- a/dev-scheme/chicken/files/4.8.0.4/03_all_CVE-2013-2075_1.patch
+++ /dev/null
@@ -1,161 +0,0 @@
-From 9e2022652258e8a30e5cedbf0abc9cd85a0f6af7 Mon Sep 17 00:00:00 2001
-From: Peter Bex <peter.bex@xs4all.nl>
-Date: Thu, 18 Apr 2013 00:31:08 +0200
-Subject: [PATCH] Implement file-select in terms of POSIX poll() for UNIX
-
-Signed-off-by: felix <felix@call-with-current-continuation.org>
----
- posixunix.scm | 116 ++++++++++++++++++++++++++------------------------------
- 1 files changed, 54 insertions(+), 62 deletions(-)
-
-diff --git a/posixunix.scm b/posixunix.scm
-index 15cb535..90e0176 100644
---- a/posixunix.scm
-+++ b/posixunix.scm
-@@ -67,6 +67,7 @@ static C_TLS int C_wait_status;
- #endif
-
- #include <sys/mman.h>
-+#include <sys/poll.h>
- #include <time.h>
-
- #ifndef O_FSYNC
-@@ -136,7 +137,6 @@ static C_TLS struct {
- static C_TLS int C_pipefds[ 2 ];
- static C_TLS time_t C_secs;
- static C_TLS struct tm C_tm;
--static C_TLS fd_set C_fd_sets[ 2 ];
- static C_TLS struct timeval C_timeval;
- static C_TLS char C_hostbuf[ 256 ];
- static C_TLS struct stat C_statbuf;
-@@ -303,13 +303,6 @@ static C_TLS sigset_t C_sigset;
- #define C_fseek(p, n, w) C_mk_nbool(fseek(C_port_file(p), C_num_to_int(n), C_unfix(w)))
- #define C_lseek(fd, o, w) C_fix(lseek(C_unfix(fd), C_unfix(o), C_unfix(w)))
-
--#define C_zero_fd_set(i) FD_ZERO(&C_fd_sets[ i ])
--#define C_set_fd_set(i, fd) FD_SET(fd, &C_fd_sets[ i ])
--#define C_test_fd_set(i, fd) FD_ISSET(fd, &C_fd_sets[ i ])
--#define C_C_select(m) C_fix(select(C_unfix(m), &C_fd_sets[ 0 ], &C_fd_sets[ 1 ], NULL, NULL))
--#define C_C_select_t(m, t) (C_set_timeval(t, &C_timeval), \
-- C_fix(select(C_unfix(m), &C_fd_sets[ 0 ], &C_fd_sets[ 1 ], NULL, &C_timeval)))
--
- #define C_ctime(n) (C_secs = (n), ctime(&C_secs))
-
- #if defined(__SVR4) || defined(C_MACOSX)
-@@ -656,60 +649,59 @@ EOF
-
- ;;; I/O multiplexing:
-
--(define file-select
-- (let ([fd_zero (foreign-lambda void "C_zero_fd_set" int)]
-- [fd_set (foreign-lambda void "C_set_fd_set" int int)]
-- [fd_test (foreign-lambda bool "C_test_fd_set" int int)] )
-- (lambda (fdsr fdsw . timeout)
-- (let ([fdmax 0]
-- [tm (if (pair? timeout) (car timeout) #f)] )
-- (fd_zero 0)
-- (fd_zero 1)
-- (cond [(not fdsr)]
-- [(fixnum? fdsr)
-- (set! fdmax fdsr)
-- (fd_set 0 fdsr) ]
-- [else
-- (##sys#check-list fdsr 'file-select)
-- (for-each
-- (lambda (fd)
-- (##sys#check-exact fd 'file-select)
-- (set! fdmax (##core#inline "C_i_fixnum_max" fdmax fd))
-- (fd_set 0 fd) )
-- fdsr) ] )
-- (cond [(not fdsw)]
-- [(fixnum? fdsw)
-- (set! fdmax fdsw)
-- (fd_set 1 fdsw) ]
-- [else
-- (##sys#check-list fdsw 'file-select)
-- (for-each
-- (lambda (fd)
-- (##sys#check-exact fd 'file-select)
-- (set! fdmax (##core#inline "C_i_fixnum_max" fdmax fd))
-- (fd_set 1 fd) )
-- fdsw) ] )
-- (let ([n (cond [tm
-- (##sys#check-number tm 'file-select)
-- (##core#inline "C_C_select_t" (fx+ fdmax 1) tm) ]
-- [else (##core#inline "C_C_select" (fx+ fdmax 1))] ) ] )
-- (cond [(fx< n 0)
-- (posix-error #:file-error 'file-select "failed" fdsr fdsw) ]
-- [(fx= n 0) (values (if (pair? fdsr) '() #f) (if (pair? fdsw) '() #f))]
-- [else
-- (values
-- (and fdsr
-- (if (fixnum? fdsr)
-- (fd_test 0 fdsr)
-- (let ([lstr '()])
-- (for-each (lambda (fd) (when (fd_test 0 fd) (set! lstr (cons fd lstr)))) fdsr)
-- lstr) ) )
-- (and fdsw
-- (if (fixnum? fdsw)
-- (fd_test 1 fdsw)
-- (let ([lstw '()])
-- (for-each (lambda (fd) (when (fd_test 1 fd) (set! lstw (cons fd lstw)))) fdsw)
-- lstw) ) ) ) ] ) ) ) ) ) )
-+(define (file-select fdsr fdsw . timeout)
-+ (let* ((tm (if (pair? timeout) (car timeout) #f))
-+ (fdsrl (cond ((not fdsr) '())
-+ ((fixnum? fdsr) (list fdsr))
-+ (else (##sys#check-list fdsr 'file-select)
-+ fdsr)))
-+ (fdswl (cond ((not fdsw) '())
-+ ((fixnum? fdsw) (list fdsw))
-+ (else (##sys#check-list fdsw 'file-select)
-+ fdsw)))
-+ (nfdsr (##sys#length fdsrl))
-+ (nfdsw (##sys#length fdswl))
-+ (nfds (fx+ nfdsr nfdsw))
-+ (fds-blob (##sys#make-blob
-+ (fx* nfds (foreign-value "sizeof(struct pollfd)" int)))))
-+ (when tm (##sys#check-number tm))
-+ (do ((i 0 (fx+ i 1))
-+ (fdsrl fdsrl (cdr fdsrl)))
-+ ((null? fdsrl))
-+ ((foreign-lambda* void ((int i) (int fd) (scheme-pointer p))
-+ "struct pollfd *fds = p;"
-+ "fds[i].fd = fd; fds[i].events = POLLIN;") i (car fdsrl) fds-blob))
-+ (do ((i nfdsr (fx+ i 1))
-+ (fdswl fdswl (cdr fdswl)))
-+ ((null? fdswl))
-+ ((foreign-lambda* void ((int i) (int fd) (scheme-pointer p))
-+ "struct pollfd *fds = p;"
-+ "fds[i].fd = fd; fds[i].events = POLLOUT;") i (car fdswl) fds-blob))
-+ (let ((n ((foreign-lambda int "poll" scheme-pointer int int)
-+ fds-blob nfds (if tm (inexact->exact (* (max 0 tm) 1000)) -1))))
-+ (cond ((fx< n 0)
-+ (posix-error #:file-error 'file-select "failed" fdsr fdsw) )
-+ ((fx= n 0) (values (if (pair? fdsr) '() #f) (if (pair? fdsw) '() #f)))
-+ (else
-+ (let ((rl (let lp ((i 0) (res '()) (fds fdsrl))
-+ (cond ((null? fds) (##sys#fast-reverse res))
-+ (((foreign-lambda* bool ((int i) (scheme-pointer p))
-+ "struct pollfd *fds = p;"
-+ "C_return(fds[i].revents & (POLLIN|POLLERR|POLLHUP|POLLNVAL));")
-+ i fds-blob)
-+ (lp (fx+ i 1) (cons (car fds) res) (cdr fds)))
-+ (else (lp (fx+ i 1) res (cdr fds))))))
-+ (wl (let lp ((i nfdsr) (res '()) (fds fdswl))
-+ (cond ((null? fds) (##sys#fast-reverse res))
-+ (((foreign-lambda* bool ((int i) (scheme-pointer p))
-+ "struct pollfd *fds = p;"
-+ "C_return(fds[i].revents & (POLLOUT|POLLERR|POLLHUP|POLLNVAL));")
-+ i fds-blob)
-+ (lp (fx+ i 1) (cons (car fds) res) (cdr fds)))
-+ (else (lp (fx+ i 1) res (cdr fds)))))))
-+ (values
-+ (and fdsr (if (fixnum? fdsr) (and (memq fdsr rl) fdsr) rl))
-+ (and fdsw (if (fixnum? fdsw) (and (memq fdsw wl) fdsw) wl)))))))))
-
-
- ;;; File attribute access:
---
-1.7.2.1
-
diff --git a/dev-scheme/chicken/files/4.8.0.4/04_all_CVE-2013-2075_2.patch b/dev-scheme/chicken/files/4.8.0.4/04_all_CVE-2013-2075_2.patch
deleted file mode 100644
index b85ea7c8..00000000
--- a/dev-scheme/chicken/files/4.8.0.4/04_all_CVE-2013-2075_2.patch
+++ /dev/null
@@ -1,309 +0,0 @@
-From http://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=commitdiff;h=556108092774086b6c86c2e27daf3f740ffec091
-
---- chicken-4.8.0.3/chicken.h
-+++ chicken-4.8.0.3/chicken.h
-@@ -1668,6 +1668,7 @@
- C_fctexport C_word C_fcall C_read_char(C_word port) C_regparm;
- C_fctexport C_word C_fcall C_peek_char(C_word port) C_regparm;
- C_fctexport C_word C_fcall C_execute_shell_command(C_word string) C_regparm;
-+C_fctexport int C_fcall C_check_fd_ready(int fd) C_regparm;
- C_fctexport C_word C_fcall C_char_ready_p(C_word port) C_regparm;
- C_fctexport C_word C_fcall C_fudge(C_word fudge_factor) C_regparm;
- C_fctexport void C_fcall C_raise_interrupt(int reason) C_regparm;
---- chicken-4.8.0.3/posixunix.scm
-+++ chicken-4.8.0.3/posixunix.scm
-@@ -493,16 +493,7 @@
- "if(val == -1) C_return(0);"
- "C_return(fcntl(fd, F_SETFL, val | O_NONBLOCK) != -1);" ) )
-
--(define ##sys#file-select-one
-- (foreign-lambda* int ([int fd])
-- "fd_set in;"
-- "struct timeval tm;"
-- "FD_ZERO(&in);"
-- "FD_SET(fd, &in);"
-- "tm.tv_sec = tm.tv_usec = 0;"
-- "if(select(fd + 1, &in, NULL, NULL, &tm) == -1) C_return(-1);"
-- "else C_return(FD_ISSET(fd, &in) ? 1 : 0);" ) )
--
-+(define ##sys#file-select-one (foreign-lambda int "C_check_fd_ready" int) )
-
- ;;; Lo-level I/O:
-
---- chicken-4.8.0.3/runtime.c
-+++ chicken-4.8.0.3/runtime.c
-@@ -60,6 +60,11 @@
- # define EOVERFLOW 0
- #endif
-
-+/* TODO: Include sys/select.h? Windows doesn't seem to have it... */
-+#ifdef HAVE_POSIX_POLL
-+# include <poll.h>
-+#endif
-+
- #if !defined(C_NONUNIX)
-
- # include <sys/types.h>
-@@ -4036,20 +4041,39 @@
- return C_fix(n);
- }
-
-+/*
-+ * TODO: Implement something for Windows that supports selecting on
-+ * arbitrary fds (there, select() only works on network sockets and
-+ * poll() is not available at all).
-+ */
-+C_regparm int C_fcall C_check_fd_ready(int fd)
-+{
-+#ifdef HAVE_POSIX_POLL
-+ struct pollfd ps;
-+ ps.fd = fd;
-+ ps.events = POLLIN;
-+ return poll(&ps, 1, 0);
-+#else
-+ fd_set in;
-+ struct timeval tm;
-+ int rv;
-+ FD_ZERO(&in);
-+ FD_SET(fd, &in);
-+ tm.tv_sec = tm.tv_usec = 0;
-+ rv = select(fd + 1, &in, NULL, NULL, &tm);
-+ if(rv > 0) { rv = FD_ISSET(fd, &in) ? 1 : 0; }
-+ return rv;
-+#endif
-+}
-
- C_regparm C_word C_fcall C_char_ready_p(C_word port)
- {
--#if !defined(C_NONUNIX)
-- fd_set fs;
-- struct timeval to;
-- int fd = C_fileno(C_port_file(port));
--
-- FD_ZERO(&fs);
-- FD_SET(fd, &fs);
-- to.tv_sec = to.tv_usec = 0;
-- return C_mk_bool(C_select(fd + 1, &fs, NULL, NULL, &to) == 1);
--#else
-+#if defined(C_NONUNIX)
-+ /* The best we can currently do on Windows... */
- return C_SCHEME_TRUE;
-+#else
-+ int fd = C_fileno(C_port_file(port));
-+ return C_mk_bool(C_check_fd_ready(fd) == 1);
- #endif
- }
-
---- chicken-4.8.0.3/tcp.scm
-+++ chicken-4.8.0.3/tcp.scm
-@@ -46,6 +46,7 @@
- # define fcntl(a, b, c) 0
- # define EWOULDBLOCK 0
- # define EINPROGRESS 0
-+# define EAGAIN 0
- # define typecorrect_getsockopt(socket, level, optname, optval, optlen) \
- getsockopt(socket, level, optname, (char *)optval, optlen)
- #else
-@@ -111,6 +112,7 @@
- (define ##net#recv (foreign-lambda int "recv" int scheme-pointer int int))
- (define ##net#shutdown (foreign-lambda int "shutdown" int int))
- (define ##net#connect (foreign-lambda int "connect" int scheme-pointer int))
-+(define ##net#check-fd-ready (foreign-lambda int "C_check_fd_ready" int))
-
- (define ##net#send
- (foreign-lambda*
-@@ -177,30 +179,6 @@
- if((se = getservbyname(serv, proto)) == NULL) C_return(0);
- else C_return(ntohs(se->s_port));") )
-
--(define ##net#select
-- (foreign-lambda* int ((int fd))
-- "fd_set in;
-- struct timeval tm;
-- int rv;
-- FD_ZERO(&in);
-- FD_SET(fd, &in);
-- tm.tv_sec = tm.tv_usec = 0;
-- rv = select(fd + 1, &in, NULL, NULL, &tm);
-- if(rv > 0) { rv = FD_ISSET(fd, &in) ? 1 : 0; }
-- C_return(rv);") )
--
--(define ##net#select-write
-- (foreign-lambda* int ((int fd))
-- "fd_set out;
-- struct timeval tm;
-- int rv;
-- FD_ZERO(&out);
-- FD_SET(fd, &out);
-- tm.tv_sec = tm.tv_usec = 0;
-- rv = select(fd + 1, NULL, &out, NULL, &tm);
-- if(rv > 0) { rv = FD_ISSET(fd, &out) ? 1 : 0; }
-- C_return(rv);") )
--
- (define ##net#gethostaddr
- (foreign-lambda* bool ((scheme-pointer saddr) (c-string host) (unsigned-short port))
- "struct hostent *he = gethostbyname(host);"
-@@ -212,13 +190,6 @@
- "addr->sin_addr = *((struct in_addr *)he->h_addr);"
- "C_return(1);") )
-
--(define (yield)
-- (##sys#call-with-current-continuation
-- (lambda (return)
-- (let ((ct ##sys#current-thread))
-- (##sys#setslot ct 1 (lambda () (return (##core#undefined))))
-- (##sys#schedule) ) ) ) )
--
- (define ##net#parse-host
- (let ((substring substring))
- (lambda (host proto)
-@@ -343,7 +314,9 @@
- (outbufsize (tbs))
- (outbuf (and outbufsize (fx> outbufsize 0) ""))
- (tmr (tcp-read-timeout))
-+ (dlr (and tmr (+ (current-milliseconds) tmr)))
- (tmw (tcp-write-timeout))
-+ (dlw (and tmw (+ (current-milliseconds) tmw)))
- (read-input
- (lambda ()
- (let loop ()
-@@ -351,12 +324,11 @@
- (cond ((eq? -1 n)
- (cond ((or (eq? errno _ewouldblock)
- (eq? errno _eagain))
-- (when tmr
-- (##sys#thread-block-for-timeout!
-- ##sys#current-thread
-- (+ (current-milliseconds) tmr) ) )
-+ (when dlr
-+ (##sys#thread-block-for-timeout!
-+ ##sys#current-thread dlr) )
- (##sys#thread-block-for-i/o! ##sys#current-thread fd #:input)
-- (yield)
-+ (##sys#thread-yield!)
- (when (##sys#slot ##sys#current-thread 13)
- (##sys#signal-hook
- #:network-timeout-error
-@@ -386,7 +358,7 @@
- c) ) )
- (lambda ()
- (or (fx< bufindex buflen)
-- (let ((f (##net#select fd)))
-+ (let ((f (##net#check-fd-ready fd)))
- (when (eq? f -1)
- (##sys#update-errno)
- (##sys#signal-hook
-@@ -469,12 +441,11 @@
- (cond ((eq? -1 n)
- (cond ((or (eq? errno _ewouldblock)
- (eq? errno _eagain))
-- (when tmw
-+ (when dlw
- (##sys#thread-block-for-timeout!
-- ##sys#current-thread
-- (+ (current-milliseconds) tmw) ) )
-- (##sys#thread-block-for-i/o! ##sys#current-thread fd #:output)
-- (yield)
-+ ##sys#current-thread dlw) )
-+ (##sys#thread-block-for-i/o! ##sys#current-thread fd #:output)
-+ (##sys#thread-yield!)
- (when (##sys#slot ##sys#current-thread 13)
- (##sys#signal-hook
- #:network-timeout-error
-@@ -528,38 +499,29 @@
-
- (define (tcp-accept tcpl)
- (##sys#check-structure tcpl 'tcp-listener)
-- (let ((fd (##sys#slot tcpl 1))
-- (tma (tcp-accept-timeout)))
-+ (let* ((fd (##sys#slot tcpl 1))
-+ (tma (tcp-accept-timeout))
-+ (dla (and tma (+ tma (current-milliseconds)))))
- (let loop ()
-- (if (eq? 1 (##net#select fd))
-- (let ((fd (##net#accept fd #f #f)))
-- (cond ((not (eq? -1 fd)) (##net#io-ports fd))
-- ((eq? errno _eintr)
-- (##sys#dispatch-interrupt loop))
-- (else
-- (##sys#update-errno)
-- (##sys#signal-hook
-- #:network-error
-- 'tcp-accept
-- (##sys#string-append "could not accept from listener - " strerror)
-- tcpl))))
-- (begin
-- (when tma
-- (##sys#thread-block-for-timeout!
-- ##sys#current-thread
-- (+ (current-milliseconds) tma) ) )
-- (##sys#thread-block-for-i/o! ##sys#current-thread fd #:input)
-- (yield)
-- (when (##sys#slot ##sys#current-thread 13)
-- (##sys#signal-hook
-- #:network-timeout-error
-- 'tcp-accept
-- "accept operation timed out" tma fd) )
-- (loop) ) ) ) ) )
-+ (when dla
-+ (##sys#thread-block-for-timeout! ##sys#current-thread dla) )
-+ (##sys#thread-block-for-i/o! ##sys#current-thread fd #:input)
-+ (##sys#thread-yield!)
-+ (if (##sys#slot ##sys#current-thread 13)
-+ (##sys#signal-hook
-+ #:network-timeout-error
-+ 'tcp-accept
-+ "accept operation timed out" tma fd) )
-+ (let ((fd (##net#accept fd #f #f)))
-+ (cond ((not (eq? -1 fd)) (##net#io-ports fd))
-+ ((eq? errno _eintr)
-+ (##sys#dispatch-interrupt loop))
-+ (else
-+ (network-error 'tcp-accept "could not accept from listener" tcpl)))) ) ) )
-
- (define (tcp-accept-ready? tcpl)
- (##sys#check-structure tcpl 'tcp-listener 'tcp-accept-ready?)
-- (let ((f (##net#select (##sys#slot tcpl 1))))
-+ (let ((f (##net#check-fd-ready (##sys#slot tcpl 1))))
- (when (eq? -1 f)
- (##sys#update-errno)
- (##sys#signal-hook
-@@ -578,8 +540,9 @@
- (define general-strerror (foreign-lambda c-string "strerror" int))
-
- (define (tcp-connect host . more)
-- (let ((port (optional more #f))
-- (tmc (tcp-connect-timeout)))
-+ (let* ((port (optional more #f))
-+ (tmc (tcp-connect-timeout))
-+ (dlc (and tmc (+ (current-milliseconds) tmc))))
- (##sys#check-string host)
- (unless port
- (set!-values (host port) (##net#parse-host host "tcp"))
-@@ -606,23 +569,9 @@
- (let loop ()
- (when (eq? -1 (##net#connect s addr _sockaddr_in_size))
- (cond ((eq? errno _einprogress)
-- (let loop2 ()
-- (let ((f (##net#select-write s)))
-- (when (eq? f -1) (fail))
-- (unless (eq? f 1)
-- (when tmc
-- (##sys#thread-block-for-timeout!
-- ##sys#current-thread
-- (+ (current-milliseconds) tmc) ) )
-- (##sys#thread-block-for-i/o! ##sys#current-thread s #:all)
-- (yield)
-- (when (##sys#slot ##sys#current-thread 13)
-- (##net#close s)
-- (##sys#signal-hook
-- #:network-timeout-error
-- 'tcp-connect
-- "connect operation timed out" tmc s) )
-- (loop2) ) ) ))
-+ (when dlc
-+ (##sys#thread-block-for-timeout! ##sys#current-thread dlc))
-+ (##sys#thread-block-for-i/o! ##sys#current-thread s #:all))
- ((eq? errno _eintr)
- (##sys#dispatch-interrupt loop))
- (else (fail) ) )))
diff --git a/dev-scheme/chicken/files/4.8.0.5/01_all_CVE-2013-1874.patch b/dev-scheme/chicken/files/4.8.0.5/01_all_CVE-2013-1874.patch
deleted file mode 100644
index 599ae61d..00000000
--- a/dev-scheme/chicken/files/4.8.0.5/01_all_CVE-2013-1874.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From http://lists.nongnu.org/archive/html/chicken-hackers/2013-03/msg00074.html
---- chicken-4.8.0.3/csi.scm
-+++ chicken-4.8.0.3/csi.scm
-@@ -1019,13 +1019,11 @@ EOF
- (cons (cadr p) (loop (cddr p)))) ) ]
- [else '()] ) ) )
- (define (loadinit)
-- (let ([fn (##sys#string-append "./" init-file)])
-- (if (file-exists? fn)
-- (load fn)
-- (let* ([prefix (chop-separator (or (get-environment-variable "HOME") "."))]
-- [fn (string-append prefix "/" init-file)] )
-- (when (file-exists? fn)
-- (load fn) ) ) ) ) )
-+ (and-let* ((home (get-environment-variable "HOME"))
-+ ((not (string=? home ""))))
-+ (let ((fn (string-append (chop-separator home) "/" init-file)))
-+ (when (file-exists? fn)
-+ (load fn) ) ) ) )
- (define (evalstring str #!optional (rec (lambda _ (void))))
- (let ((in (open-input-string str)))
- (do ([x (read in) (read in)])
---
-1.7.12
-
diff --git a/dev-scheme/chicken/files/4.8.0.5/02_all_CVE-2013-2024.patch b/dev-scheme/chicken/files/4.8.0.5/02_all_CVE-2013-2024.patch
deleted file mode 100644
index d57a4bce..00000000
--- a/dev-scheme/chicken/files/4.8.0.5/02_all_CVE-2013-2024.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From http://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=commit;h=58684f69572453acc6fed7326fa9df39be98760e
---- chicken-4.8.0.3/setup-api.scm
-+++ chicken-4.8.0.3/setup-api.scm
-@@ -239,7 +239,7 @@
- (cond ((string=? prg "csc")
- (string-intersperse
- (cons*
-- (shellpath (find-program "csc"))
-+ (find-program "csc")
- "-feature" "compiling-extension"
- (if (or (deployment-mode)
- (and (feature? #:cross-chicken)
---- chicken-4.8.0.3/utils.scm
-+++ chicken-4.8.0.3/utils.scm
-@@ -59,20 +59,18 @@
- ;;; Quote string for shell
-
- (define (qs str #!optional (platform (build-platform)))
-- (case platform
-- ((mingw32)
-- (string-append "\"" str "\""))
-- (else
-- (if (zero? (string-length str))
-- "''"
-- (string-concatenate
-- (map (lambda (c)
-- (if (or (char-whitespace? c)
-- (memq c '(#\# #\" #\' #\` #\´ #\~ #\& #\% #\$ #\! #\* #\;
-- #\< #\> #\\ #\( #\) #\[ #\] #\{ #\} #\?)))
-- (string #\\ c)
-- (string c)))
-- (string->list str)))))))
-+ (let ((delim (if (eq? platform 'mingw32) #\" #\'))
-+ (escaped (if (eq? platform 'mingw32) "\"\"" "'\\''")))
-+ (string-append
-+ (string delim)
-+ (string-concatenate
-+ (map (lambda (c)
-+ (cond
-+ ((char=? c delim) escaped)
-+ ((char=? c #\nul) (error 'qs "NUL character can not be represented in shell string" str))
-+ (else (string c))))
-+ (string->list str)))
-+ (string delim))))
-
-
- ;;; Compile and load file
diff --git a/dev-scheme/chicken/files/4.8.0.5/03_all_CVE-2013-2075_1.patch b/dev-scheme/chicken/files/4.8.0.5/03_all_CVE-2013-2075_1.patch
deleted file mode 100644
index d3de47bb..00000000
--- a/dev-scheme/chicken/files/4.8.0.5/03_all_CVE-2013-2075_1.patch
+++ /dev/null
@@ -1,161 +0,0 @@
-From 9e2022652258e8a30e5cedbf0abc9cd85a0f6af7 Mon Sep 17 00:00:00 2001
-From: Peter Bex <peter.bex@xs4all.nl>
-Date: Thu, 18 Apr 2013 00:31:08 +0200
-Subject: [PATCH] Implement file-select in terms of POSIX poll() for UNIX
-
-Signed-off-by: felix <felix@call-with-current-continuation.org>
----
- posixunix.scm | 116 ++++++++++++++++++++++++++------------------------------
- 1 files changed, 54 insertions(+), 62 deletions(-)
-
-diff --git a/posixunix.scm b/posixunix.scm
-index 15cb535..90e0176 100644
---- a/posixunix.scm
-+++ b/posixunix.scm
-@@ -67,6 +67,7 @@ static C_TLS int C_wait_status;
- #endif
-
- #include <sys/mman.h>
-+#include <sys/poll.h>
- #include <time.h>
-
- #ifndef O_FSYNC
-@@ -136,7 +137,6 @@ static C_TLS struct {
- static C_TLS int C_pipefds[ 2 ];
- static C_TLS time_t C_secs;
- static C_TLS struct tm C_tm;
--static C_TLS fd_set C_fd_sets[ 2 ];
- static C_TLS struct timeval C_timeval;
- static C_TLS char C_hostbuf[ 256 ];
- static C_TLS struct stat C_statbuf;
-@@ -303,13 +303,6 @@ static C_TLS sigset_t C_sigset;
- #define C_fseek(p, n, w) C_mk_nbool(fseek(C_port_file(p), C_num_to_int(n), C_unfix(w)))
- #define C_lseek(fd, o, w) C_fix(lseek(C_unfix(fd), C_unfix(o), C_unfix(w)))
-
--#define C_zero_fd_set(i) FD_ZERO(&C_fd_sets[ i ])
--#define C_set_fd_set(i, fd) FD_SET(fd, &C_fd_sets[ i ])
--#define C_test_fd_set(i, fd) FD_ISSET(fd, &C_fd_sets[ i ])
--#define C_C_select(m) C_fix(select(C_unfix(m), &C_fd_sets[ 0 ], &C_fd_sets[ 1 ], NULL, NULL))
--#define C_C_select_t(m, t) (C_set_timeval(t, &C_timeval), \
-- C_fix(select(C_unfix(m), &C_fd_sets[ 0 ], &C_fd_sets[ 1 ], NULL, &C_timeval)))
--
- #define C_ctime(n) (C_secs = (n), ctime(&C_secs))
-
- #if defined(__SVR4) || defined(C_MACOSX)
-@@ -656,60 +649,59 @@ EOF
-
- ;;; I/O multiplexing:
-
--(define file-select
-- (let ([fd_zero (foreign-lambda void "C_zero_fd_set" int)]
-- [fd_set (foreign-lambda void "C_set_fd_set" int int)]
-- [fd_test (foreign-lambda bool "C_test_fd_set" int int)] )
-- (lambda (fdsr fdsw . timeout)
-- (let ([fdmax 0]
-- [tm (if (pair? timeout) (car timeout) #f)] )
-- (fd_zero 0)
-- (fd_zero 1)
-- (cond [(not fdsr)]
-- [(fixnum? fdsr)
-- (set! fdmax fdsr)
-- (fd_set 0 fdsr) ]
-- [else
-- (##sys#check-list fdsr 'file-select)
-- (for-each
-- (lambda (fd)
-- (##sys#check-exact fd 'file-select)
-- (set! fdmax (##core#inline "C_i_fixnum_max" fdmax fd))
-- (fd_set 0 fd) )
-- fdsr) ] )
-- (cond [(not fdsw)]
-- [(fixnum? fdsw)
-- (set! fdmax fdsw)
-- (fd_set 1 fdsw) ]
-- [else
-- (##sys#check-list fdsw 'file-select)
-- (for-each
-- (lambda (fd)
-- (##sys#check-exact fd 'file-select)
-- (set! fdmax (##core#inline "C_i_fixnum_max" fdmax fd))
-- (fd_set 1 fd) )
-- fdsw) ] )
-- (let ([n (cond [tm
-- (##sys#check-number tm 'file-select)
-- (##core#inline "C_C_select_t" (fx+ fdmax 1) tm) ]
-- [else (##core#inline "C_C_select" (fx+ fdmax 1))] ) ] )
-- (cond [(fx< n 0)
-- (posix-error #:file-error 'file-select "failed" fdsr fdsw) ]
-- [(fx= n 0) (values (if (pair? fdsr) '() #f) (if (pair? fdsw) '() #f))]
-- [else
-- (values
-- (and fdsr
-- (if (fixnum? fdsr)
-- (fd_test 0 fdsr)
-- (let ([lstr '()])
-- (for-each (lambda (fd) (when (fd_test 0 fd) (set! lstr (cons fd lstr)))) fdsr)
-- lstr) ) )
-- (and fdsw
-- (if (fixnum? fdsw)
-- (fd_test 1 fdsw)
-- (let ([lstw '()])
-- (for-each (lambda (fd) (when (fd_test 1 fd) (set! lstw (cons fd lstw)))) fdsw)
-- lstw) ) ) ) ] ) ) ) ) ) )
-+(define (file-select fdsr fdsw . timeout)
-+ (let* ((tm (if (pair? timeout) (car timeout) #f))
-+ (fdsrl (cond ((not fdsr) '())
-+ ((fixnum? fdsr) (list fdsr))
-+ (else (##sys#check-list fdsr 'file-select)
-+ fdsr)))
-+ (fdswl (cond ((not fdsw) '())
-+ ((fixnum? fdsw) (list fdsw))
-+ (else (##sys#check-list fdsw 'file-select)
-+ fdsw)))
-+ (nfdsr (##sys#length fdsrl))
-+ (nfdsw (##sys#length fdswl))
-+ (nfds (fx+ nfdsr nfdsw))
-+ (fds-blob (##sys#make-blob
-+ (fx* nfds (foreign-value "sizeof(struct pollfd)" int)))))
-+ (when tm (##sys#check-number tm))
-+ (do ((i 0 (fx+ i 1))
-+ (fdsrl fdsrl (cdr fdsrl)))
-+ ((null? fdsrl))
-+ ((foreign-lambda* void ((int i) (int fd) (scheme-pointer p))
-+ "struct pollfd *fds = p;"
-+ "fds[i].fd = fd; fds[i].events = POLLIN;") i (car fdsrl) fds-blob))
-+ (do ((i nfdsr (fx+ i 1))
-+ (fdswl fdswl (cdr fdswl)))
-+ ((null? fdswl))
-+ ((foreign-lambda* void ((int i) (int fd) (scheme-pointer p))
-+ "struct pollfd *fds = p;"
-+ "fds[i].fd = fd; fds[i].events = POLLOUT;") i (car fdswl) fds-blob))
-+ (let ((n ((foreign-lambda int "poll" scheme-pointer int int)
-+ fds-blob nfds (if tm (inexact->exact (* (max 0 tm) 1000)) -1))))
-+ (cond ((fx< n 0)
-+ (posix-error #:file-error 'file-select "failed" fdsr fdsw) )
-+ ((fx= n 0) (values (if (pair? fdsr) '() #f) (if (pair? fdsw) '() #f)))
-+ (else
-+ (let ((rl (let lp ((i 0) (res '()) (fds fdsrl))
-+ (cond ((null? fds) (##sys#fast-reverse res))
-+ (((foreign-lambda* bool ((int i) (scheme-pointer p))
-+ "struct pollfd *fds = p;"
-+ "C_return(fds[i].revents & (POLLIN|POLLERR|POLLHUP|POLLNVAL));")
-+ i fds-blob)
-+ (lp (fx+ i 1) (cons (car fds) res) (cdr fds)))
-+ (else (lp (fx+ i 1) res (cdr fds))))))
-+ (wl (let lp ((i nfdsr) (res '()) (fds fdswl))
-+ (cond ((null? fds) (##sys#fast-reverse res))
-+ (((foreign-lambda* bool ((int i) (scheme-pointer p))
-+ "struct pollfd *fds = p;"
-+ "C_return(fds[i].revents & (POLLOUT|POLLERR|POLLHUP|POLLNVAL));")
-+ i fds-blob)
-+ (lp (fx+ i 1) (cons (car fds) res) (cdr fds)))
-+ (else (lp (fx+ i 1) res (cdr fds)))))))
-+ (values
-+ (and fdsr (if (fixnum? fdsr) (and (memq fdsr rl) fdsr) rl))
-+ (and fdsw (if (fixnum? fdsw) (and (memq fdsw wl) fdsw) wl)))))))))
-
-
- ;;; File attribute access:
---
-1.7.2.1
-
diff --git a/dev-scheme/chicken/files/4.8.0.5/04_all_CVE-2013-2075_2.patch b/dev-scheme/chicken/files/4.8.0.5/04_all_CVE-2013-2075_2.patch
deleted file mode 100644
index b85ea7c8..00000000
--- a/dev-scheme/chicken/files/4.8.0.5/04_all_CVE-2013-2075_2.patch
+++ /dev/null
@@ -1,309 +0,0 @@
-From http://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=commitdiff;h=556108092774086b6c86c2e27daf3f740ffec091
-
---- chicken-4.8.0.3/chicken.h
-+++ chicken-4.8.0.3/chicken.h
-@@ -1668,6 +1668,7 @@
- C_fctexport C_word C_fcall C_read_char(C_word port) C_regparm;
- C_fctexport C_word C_fcall C_peek_char(C_word port) C_regparm;
- C_fctexport C_word C_fcall C_execute_shell_command(C_word string) C_regparm;
-+C_fctexport int C_fcall C_check_fd_ready(int fd) C_regparm;
- C_fctexport C_word C_fcall C_char_ready_p(C_word port) C_regparm;
- C_fctexport C_word C_fcall C_fudge(C_word fudge_factor) C_regparm;
- C_fctexport void C_fcall C_raise_interrupt(int reason) C_regparm;
---- chicken-4.8.0.3/posixunix.scm
-+++ chicken-4.8.0.3/posixunix.scm
-@@ -493,16 +493,7 @@
- "if(val == -1) C_return(0);"
- "C_return(fcntl(fd, F_SETFL, val | O_NONBLOCK) != -1);" ) )
-
--(define ##sys#file-select-one
-- (foreign-lambda* int ([int fd])
-- "fd_set in;"
-- "struct timeval tm;"
-- "FD_ZERO(&in);"
-- "FD_SET(fd, &in);"
-- "tm.tv_sec = tm.tv_usec = 0;"
-- "if(select(fd + 1, &in, NULL, NULL, &tm) == -1) C_return(-1);"
-- "else C_return(FD_ISSET(fd, &in) ? 1 : 0);" ) )
--
-+(define ##sys#file-select-one (foreign-lambda int "C_check_fd_ready" int) )
-
- ;;; Lo-level I/O:
-
---- chicken-4.8.0.3/runtime.c
-+++ chicken-4.8.0.3/runtime.c
-@@ -60,6 +60,11 @@
- # define EOVERFLOW 0
- #endif
-
-+/* TODO: Include sys/select.h? Windows doesn't seem to have it... */
-+#ifdef HAVE_POSIX_POLL
-+# include <poll.h>
-+#endif
-+
- #if !defined(C_NONUNIX)
-
- # include <sys/types.h>
-@@ -4036,20 +4041,39 @@
- return C_fix(n);
- }
-
-+/*
-+ * TODO: Implement something for Windows that supports selecting on
-+ * arbitrary fds (there, select() only works on network sockets and
-+ * poll() is not available at all).
-+ */
-+C_regparm int C_fcall C_check_fd_ready(int fd)
-+{
-+#ifdef HAVE_POSIX_POLL
-+ struct pollfd ps;
-+ ps.fd = fd;
-+ ps.events = POLLIN;
-+ return poll(&ps, 1, 0);
-+#else
-+ fd_set in;
-+ struct timeval tm;
-+ int rv;
-+ FD_ZERO(&in);
-+ FD_SET(fd, &in);
-+ tm.tv_sec = tm.tv_usec = 0;
-+ rv = select(fd + 1, &in, NULL, NULL, &tm);
-+ if(rv > 0) { rv = FD_ISSET(fd, &in) ? 1 : 0; }
-+ return rv;
-+#endif
-+}
-
- C_regparm C_word C_fcall C_char_ready_p(C_word port)
- {
--#if !defined(C_NONUNIX)
-- fd_set fs;
-- struct timeval to;
-- int fd = C_fileno(C_port_file(port));
--
-- FD_ZERO(&fs);
-- FD_SET(fd, &fs);
-- to.tv_sec = to.tv_usec = 0;
-- return C_mk_bool(C_select(fd + 1, &fs, NULL, NULL, &to) == 1);
--#else
-+#if defined(C_NONUNIX)
-+ /* The best we can currently do on Windows... */
- return C_SCHEME_TRUE;
-+#else
-+ int fd = C_fileno(C_port_file(port));
-+ return C_mk_bool(C_check_fd_ready(fd) == 1);
- #endif
- }
-
---- chicken-4.8.0.3/tcp.scm
-+++ chicken-4.8.0.3/tcp.scm
-@@ -46,6 +46,7 @@
- # define fcntl(a, b, c) 0
- # define EWOULDBLOCK 0
- # define EINPROGRESS 0
-+# define EAGAIN 0
- # define typecorrect_getsockopt(socket, level, optname, optval, optlen) \
- getsockopt(socket, level, optname, (char *)optval, optlen)
- #else
-@@ -111,6 +112,7 @@
- (define ##net#recv (foreign-lambda int "recv" int scheme-pointer int int))
- (define ##net#shutdown (foreign-lambda int "shutdown" int int))
- (define ##net#connect (foreign-lambda int "connect" int scheme-pointer int))
-+(define ##net#check-fd-ready (foreign-lambda int "C_check_fd_ready" int))
-
- (define ##net#send
- (foreign-lambda*
-@@ -177,30 +179,6 @@
- if((se = getservbyname(serv, proto)) == NULL) C_return(0);
- else C_return(ntohs(se->s_port));") )
-
--(define ##net#select
-- (foreign-lambda* int ((int fd))
-- "fd_set in;
-- struct timeval tm;
-- int rv;
-- FD_ZERO(&in);
-- FD_SET(fd, &in);
-- tm.tv_sec = tm.tv_usec = 0;
-- rv = select(fd + 1, &in, NULL, NULL, &tm);
-- if(rv > 0) { rv = FD_ISSET(fd, &in) ? 1 : 0; }
-- C_return(rv);") )
--
--(define ##net#select-write
-- (foreign-lambda* int ((int fd))
-- "fd_set out;
-- struct timeval tm;
-- int rv;
-- FD_ZERO(&out);
-- FD_SET(fd, &out);
-- tm.tv_sec = tm.tv_usec = 0;
-- rv = select(fd + 1, NULL, &out, NULL, &tm);
-- if(rv > 0) { rv = FD_ISSET(fd, &out) ? 1 : 0; }
-- C_return(rv);") )
--
- (define ##net#gethostaddr
- (foreign-lambda* bool ((scheme-pointer saddr) (c-string host) (unsigned-short port))
- "struct hostent *he = gethostbyname(host);"
-@@ -212,13 +190,6 @@
- "addr->sin_addr = *((struct in_addr *)he->h_addr);"
- "C_return(1);") )
-
--(define (yield)
-- (##sys#call-with-current-continuation
-- (lambda (return)
-- (let ((ct ##sys#current-thread))
-- (##sys#setslot ct 1 (lambda () (return (##core#undefined))))
-- (##sys#schedule) ) ) ) )
--
- (define ##net#parse-host
- (let ((substring substring))
- (lambda (host proto)
-@@ -343,7 +314,9 @@
- (outbufsize (tbs))
- (outbuf (and outbufsize (fx> outbufsize 0) ""))
- (tmr (tcp-read-timeout))
-+ (dlr (and tmr (+ (current-milliseconds) tmr)))
- (tmw (tcp-write-timeout))
-+ (dlw (and tmw (+ (current-milliseconds) tmw)))
- (read-input
- (lambda ()
- (let loop ()
-@@ -351,12 +324,11 @@
- (cond ((eq? -1 n)
- (cond ((or (eq? errno _ewouldblock)
- (eq? errno _eagain))
-- (when tmr
-- (##sys#thread-block-for-timeout!
-- ##sys#current-thread
-- (+ (current-milliseconds) tmr) ) )
-+ (when dlr
-+ (##sys#thread-block-for-timeout!
-+ ##sys#current-thread dlr) )
- (##sys#thread-block-for-i/o! ##sys#current-thread fd #:input)
-- (yield)
-+ (##sys#thread-yield!)
- (when (##sys#slot ##sys#current-thread 13)
- (##sys#signal-hook
- #:network-timeout-error
-@@ -386,7 +358,7 @@
- c) ) )
- (lambda ()
- (or (fx< bufindex buflen)
-- (let ((f (##net#select fd)))
-+ (let ((f (##net#check-fd-ready fd)))
- (when (eq? f -1)
- (##sys#update-errno)
- (##sys#signal-hook
-@@ -469,12 +441,11 @@
- (cond ((eq? -1 n)
- (cond ((or (eq? errno _ewouldblock)
- (eq? errno _eagain))
-- (when tmw
-+ (when dlw
- (##sys#thread-block-for-timeout!
-- ##sys#current-thread
-- (+ (current-milliseconds) tmw) ) )
-- (##sys#thread-block-for-i/o! ##sys#current-thread fd #:output)
-- (yield)
-+ ##sys#current-thread dlw) )
-+ (##sys#thread-block-for-i/o! ##sys#current-thread fd #:output)
-+ (##sys#thread-yield!)
- (when (##sys#slot ##sys#current-thread 13)
- (##sys#signal-hook
- #:network-timeout-error
-@@ -528,38 +499,29 @@
-
- (define (tcp-accept tcpl)
- (##sys#check-structure tcpl 'tcp-listener)
-- (let ((fd (##sys#slot tcpl 1))
-- (tma (tcp-accept-timeout)))
-+ (let* ((fd (##sys#slot tcpl 1))
-+ (tma (tcp-accept-timeout))
-+ (dla (and tma (+ tma (current-milliseconds)))))
- (let loop ()
-- (if (eq? 1 (##net#select fd))
-- (let ((fd (##net#accept fd #f #f)))
-- (cond ((not (eq? -1 fd)) (##net#io-ports fd))
-- ((eq? errno _eintr)
-- (##sys#dispatch-interrupt loop))
-- (else
-- (##sys#update-errno)
-- (##sys#signal-hook
-- #:network-error
-- 'tcp-accept
-- (##sys#string-append "could not accept from listener - " strerror)
-- tcpl))))
-- (begin
-- (when tma
-- (##sys#thread-block-for-timeout!
-- ##sys#current-thread
-- (+ (current-milliseconds) tma) ) )
-- (##sys#thread-block-for-i/o! ##sys#current-thread fd #:input)
-- (yield)
-- (when (##sys#slot ##sys#current-thread 13)
-- (##sys#signal-hook
-- #:network-timeout-error
-- 'tcp-accept
-- "accept operation timed out" tma fd) )
-- (loop) ) ) ) ) )
-+ (when dla
-+ (##sys#thread-block-for-timeout! ##sys#current-thread dla) )
-+ (##sys#thread-block-for-i/o! ##sys#current-thread fd #:input)
-+ (##sys#thread-yield!)
-+ (if (##sys#slot ##sys#current-thread 13)
-+ (##sys#signal-hook
-+ #:network-timeout-error
-+ 'tcp-accept
-+ "accept operation timed out" tma fd) )
-+ (let ((fd (##net#accept fd #f #f)))
-+ (cond ((not (eq? -1 fd)) (##net#io-ports fd))
-+ ((eq? errno _eintr)
-+ (##sys#dispatch-interrupt loop))
-+ (else
-+ (network-error 'tcp-accept "could not accept from listener" tcpl)))) ) ) )
-
- (define (tcp-accept-ready? tcpl)
- (##sys#check-structure tcpl 'tcp-listener 'tcp-accept-ready?)
-- (let ((f (##net#select (##sys#slot tcpl 1))))
-+ (let ((f (##net#check-fd-ready (##sys#slot tcpl 1))))
- (when (eq? -1 f)
- (##sys#update-errno)
- (##sys#signal-hook
-@@ -578,8 +540,9 @@
- (define general-strerror (foreign-lambda c-string "strerror" int))
-
- (define (tcp-connect host . more)
-- (let ((port (optional more #f))
-- (tmc (tcp-connect-timeout)))
-+ (let* ((port (optional more #f))
-+ (tmc (tcp-connect-timeout))
-+ (dlc (and tmc (+ (current-milliseconds) tmc))))
- (##sys#check-string host)
- (unless port
- (set!-values (host port) (##net#parse-host host "tcp"))
-@@ -606,23 +569,9 @@
- (let loop ()
- (when (eq? -1 (##net#connect s addr _sockaddr_in_size))
- (cond ((eq? errno _einprogress)
-- (let loop2 ()
-- (let ((f (##net#select-write s)))
-- (when (eq? f -1) (fail))
-- (unless (eq? f 1)
-- (when tmc
-- (##sys#thread-block-for-timeout!
-- ##sys#current-thread
-- (+ (current-milliseconds) tmc) ) )
-- (##sys#thread-block-for-i/o! ##sys#current-thread s #:all)
-- (yield)
-- (when (##sys#slot ##sys#current-thread 13)
-- (##net#close s)
-- (##sys#signal-hook
-- #:network-timeout-error
-- 'tcp-connect
-- "connect operation timed out" tmc s) )
-- (loop2) ) ) ))
-+ (when dlc
-+ (##sys#thread-block-for-timeout! ##sys#current-thread dlc))
-+ (##sys#thread-block-for-i/o! ##sys#current-thread s #:all))
- ((eq? errno _eintr)
- (##sys#dispatch-interrupt loop))
- (else (fail) ) )))
diff --git a/dev-scheme/chicken/files/50hen-gentoo.el b/dev-scheme/chicken/files/50hen-gentoo.el
deleted file mode 100644
index 30ca0425..00000000
--- a/dev-scheme/chicken/files/50hen-gentoo.el
+++ /dev/null
@@ -1,5 +0,0 @@
-
-;; site-lisp configuration for hen.el
-
-(add-to-list 'load-path "@SITELISP@")
-(autoload 'hen-mode "hen" "Major mode for Chicken Scheme source." t) \ No newline at end of file
diff --git a/dev-scheme/chicken/files/parallel-build-4.9.0.patch b/dev-scheme/chicken/files/parallel-build-4.9.0.patch
deleted file mode 100644
index 841c034b..00000000
--- a/dev-scheme/chicken/files/parallel-build-4.9.0.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/GNUmakefile b/GNUmakefile
-index 9bc40ca..c697f14 100644
---- a/GNUmakefile
-+++ b/GNUmakefile
-@@ -49,6 +49,9 @@ STANDARD_TARGETS \
- fullcheck libs install-target install-dev bench
-
- .PHONY: $(STANDARD_TARGETS) dist boot-chicken
-+# Build this file's targets sequentially. This avoids executing overlapping
-+# makes if the user specifies multiple targets.
-+.NOTPARALLEL:
-
- $(STANDARD_TARGETS):
- $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) $@
-diff --git a/README b/README
-index 8d0d067..551b716 100644
---- a/README
-+++ b/README
-@@ -72,7 +72,7 @@
- platforms.
-
- Note that parallel builds (using the "-j" make(1) option) are
-- *not* supported.
-+ also supported. Beware that parallel install will not work though.
-
- If you invoke "make" later with different configuration parameters,
- it is advisable to run:
-diff --git a/rules.make b/rules.make
-index 929b0a3..a8cb9b0 100644
---- a/rules.make
-+++ b/rules.make
-@@ -243,8 +243,8 @@ lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A): $(APPLY_HACK_OBJECT) $(LIBCHIC
-
- # import libraries and extensions
-
--%.so: %.o
-- $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_DLOADABLE_OPTIONS) $^ $(LINKER_OUTPUT_OPTION) $@ \
-+%.so: %.o $(PRIMARY_LIBCHICKEN)
-+ $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_DLOADABLE_OPTIONS) $< $(LINKER_OUTPUT_OPTION) $@ \
- $(LINKER_LIBRARY_PREFIX)$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(LINKER_LIBRARY_SUFFIX) \
- $(LIBRARIES)
-
-@@ -582,9 +582,9 @@ chicken-profile.c: $(SRCDIR)chicken-profile.scm
- $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@
- chicken-install.c: $(SRCDIR)chicken-install.scm setup-download.c setup-api.c
- $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@
--chicken-uninstall.c: $(SRCDIR)chicken-uninstall.scm
-+chicken-uninstall.c: $(SRCDIR)chicken-uninstall.scm setup-api.c
- $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@
--chicken-status.c: $(SRCDIR)chicken-status.scm
-+chicken-status.c: $(SRCDIR)chicken-status.scm setup-api.c
- $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@
- csc.c: $(SRCDIR)csc.scm
- $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@
-@@ -675,14 +675,17 @@ bench: $(CHICKEN_SHARED_EXECUTABLE) $(CSI_SHARED_EXECUTABLE) $(CSC_PROGRAM)$(EXE
- .PHONY: boot-chicken
-
- boot-chicken:
-+ "$(MAKE)" -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) CONFIG= confclean
- "$(MAKE)" -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) PREFIX=/nowhere CONFIG= \
- CHICKEN=$(CHICKEN) PROGRAM_SUFFIX=-boot-stage1 STATICBUILD=1 \
- C_COMPILER_OPTIMIZATION_OPTIONS="$(C_COMPILER_OPTIMIZATION_OPTIONS)" C_HACKED_APPLY= BUILDING_CHICKEN_BOOT=1 \
-- confclean chicken-boot-stage1$(EXE)
-+ chicken-boot-stage1$(EXE)
-+ "$(MAKE)" -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) CONFIG= touchfiles
- "$(MAKE)" -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) PREFIX=/nowhere CONFIG= \
- CHICKEN=.$(SEP)chicken-boot-stage1$(EXE) PROGRAM_SUFFIX=-boot \
- STATICBUILD=1 C_COMPILER_OPTIMIZATION_OPTIONS="$(C_COMPILER_OPTIMIZATION_OPTIONS)" \
-- touchfiles chicken-boot$(EXE) confclean
-+ chicken-boot$(EXE)
-+ "$(MAKE)" -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) CONFIG= confclean
-
- .PHONY: touchfiles
-
diff --git a/dev-scheme/chicken/files/parallel-build.patch b/dev-scheme/chicken/files/parallel-build.patch
deleted file mode 100644
index a42dd2ea..00000000
--- a/dev-scheme/chicken/files/parallel-build.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/GNUmakefile b/GNUmakefile
-index 9bc40ca..c697f14 100644
---- a/GNUmakefile
-+++ b/GNUmakefile
-@@ -49,6 +49,9 @@ STANDARD_TARGETS \
- fullcheck libs install-target install-dev bench
-
- .PHONY: $(STANDARD_TARGETS) dist boot-chicken
-+# Build this file's targets sequentially. This avoids executing overlapping
-+# makes if the user specifies multiple targets.
-+.NOTPARALLEL:
-
- $(STANDARD_TARGETS):
- $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) $@
-diff --git a/README b/README
-index 8d0d067..551b716 100644
---- a/README
-+++ b/README
-@@ -72,7 +72,7 @@
- platforms.
-
- Note that parallel builds (using the "-j" make(1) option) are
-- *not* supported.
-+ also supported. Beware that parallel install will not work though.
-
- If you invoke "make" later with different configuration parameters,
- it is advisable to run:
-diff --git a/rules.make b/rules.make
-index 929b0a3..a8cb9b0 100644
---- a/rules.make
-+++ b/rules.make
-@@ -243,8 +243,8 @@ lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A): $(APPLY_HACK_OBJECT) $(LIBCHIC
-
- # import libraries and extensions
-
--%.so: %.o
-- $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_DLOADABLE_OPTIONS) $^ $(LINKER_OUTPUT_OPTION) $@ \
-+%.so: %.o $(PRIMARY_LIBCHICKEN)
-+ $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_DLOADABLE_OPTIONS) $< $(LINKER_OUTPUT_OPTION) $@ \
- $(LINKER_LIBRARY_PREFIX)$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(LINKER_LIBRARY_SUFFIX) \
- $(LIBRARIES)
-
-@@ -582,9 +582,9 @@ chicken-profile.c: $(SRCDIR)chicken-profile.scm
- $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@
- chicken-install.c: $(SRCDIR)chicken-install.scm setup-download.c setup-api.c
- $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@
--chicken-uninstall.c: $(SRCDIR)chicken-uninstall.scm
-+chicken-uninstall.c: $(SRCDIR)chicken-uninstall.scm setup-api.c
- $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@
--chicken-status.c: $(SRCDIR)chicken-status.scm
-+chicken-status.c: $(SRCDIR)chicken-status.scm setup-api.c
- $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@
- csc.c: $(SRCDIR)csc.scm
- $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@
-@@ -675,14 +675,17 @@ bench: $(CHICKEN_SHARED_EXECUTABLE) $(CSI_SHARED_EXECUTABLE) $(CSC_PROGRAM)$(EXE
- .PHONY: boot-chicken
-
- boot-chicken:
-+ $(MAKE) -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) CONFIG= confclean
- $(MAKE) -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) PREFIX=/nowhere CONFIG= \
- CHICKEN=$(CHICKEN) PROGRAM_SUFFIX=-boot-stage1 STATICBUILD=1 \
- C_COMPILER_OPTIMIZATION_OPTIONS= C_HACKED_APPLY= BUILDING_CHICKEN_BOOT=1 \
-- confclean chicken-boot-stage1$(EXE)
-+ chicken-boot-stage1$(EXE)
-+ $(MAKE) -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) CONFIG= touchfiles
- $(MAKE) -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) PREFIX=/nowhere CONFIG= \
- CHICKEN=.$(SEP)chicken-boot-stage1$(EXE) PROGRAM_SUFFIX=-boot \
- STATICBUILD=1 C_COMPILER_OPTIMIZATION_OPTIONS= \
-- touchfiles chicken-boot$(EXE) confclean
-+ chicken-boot$(EXE)
-+ $(MAKE) -f Makefile.$(PLATFORM) PLATFORM=$(PLATFORM) CONFIG= confclean
-
- .PHONY: touchfiles
-