mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-01 05:45:45 +00:00
Mk/Uses: Add guile.mk
This patch adds USES=guile[:options], a framework to permit the concurrent installation of different guile versions, allowing ports to specify which guile they need. lang/guile is now a meta-port, installing the default guile version; guile 3 is now shipped in lang/guile3. A new port lang/guile-aclocal holds the guile.m4 file from guile3 to permit ports written against guile1 or guile2 to avoid conflicts. PR: 260960 Reported by: Martin Neubauer <m.ne@gmx.net> Approved by: bofh Differential Revision: https://reviews.freebsd.org/D40194
This commit is contained in:
parent
08691f29f5
commit
94218d3a91
9
CHANGES
9
CHANGES
@ -10,6 +10,15 @@ in the release notes and/or placed into UPDATING.
|
||||
|
||||
All ports committers are allowed to commit to this file.
|
||||
|
||||
20230728:
|
||||
AUTHOR: andrew@tao11.riddles.org.uk, fuz@FreeBSD.org
|
||||
|
||||
A new uses 'guile' has been added to transparently depend on the
|
||||
proper variant of guile depending on the default version set by the
|
||||
user and the demands of the port.
|
||||
|
||||
See Mk/Uses/guile.mk for in-depth documentation.
|
||||
|
||||
20230722:
|
||||
AUTHOR: tcberner@FreeBSD.org
|
||||
|
||||
|
1
MOVED
1
MOVED
@ -7775,3 +7775,4 @@ games/naev-data||2023-07-15|Remove obsoleted port. Now games/naev installs data
|
||||
graphics/pecl-imagick-im7|graphics/pecl-imagick|2023-07-19|Merged into master port
|
||||
x11-toolkits/fox14||2023-07-27|Has expired: Obsolete leaf port, use x11-toolkits/fox(16,17) instead
|
||||
x11-wm/cage-devel|x11-wm/cage|2023-07-27|Out of date: use x11-wm/cage for now
|
||||
lang/guile|lang/guile3|2023-07-28|lang/guile is now meta-port for default guile version
|
||||
|
263
Mk/Uses/guile.mk
Normal file
263
Mk/Uses/guile.mk
Normal file
@ -0,0 +1,263 @@
|
||||
# Provide support for guile
|
||||
#
|
||||
# MAINTAINER: ports@FreeBSD.org
|
||||
# Usage:
|
||||
#
|
||||
# USES+= guile[:options,...]
|
||||
#
|
||||
# Options:
|
||||
#
|
||||
# X.Y specify a Guile version, e.g. 2.2 or 3.0
|
||||
#
|
||||
# flavors define FLAVOR / FLAVORS as guileX from the allowed versions
|
||||
#
|
||||
# build add dependency to BUILD_DEPENDS instead of LIB_DEPENDS
|
||||
# run add dependency to RUN_DEPENDS instead of LIB_DEPENDS
|
||||
#
|
||||
# env define only the GUIL[DE]_* vars and add them to PLIST_SUB,
|
||||
# do not add dependencies or other global state
|
||||
#
|
||||
# alias add BINARY_ALIAS for guile tools
|
||||
#
|
||||
# conflicts add GUILE_NEWER_PKGS to CONFLICTS_BUILD, this tries to
|
||||
# ensure that non-clean builds of programs that insist on
|
||||
# using the latest available version (there are a surprising
|
||||
# number of these) will fail if the selected version is wrong.
|
||||
#
|
||||
# noextra don't add _GUILE_EXTRA_LIB_DEPENDS
|
||||
#
|
||||
# nopkgconf don't add to PKGCONFIG_PATHS
|
||||
#
|
||||
# nocmds don't add GUILE_*CMD* to CONFIGURE_ENV and MAKE_ENV
|
||||
# (but still define them)
|
||||
#
|
||||
# Variables defined for use by the port:
|
||||
#
|
||||
# GUILE_VER e.g. 2.2
|
||||
# GUILE_SFX e.g. 2 (be careful, consider the possibility of 3.1)
|
||||
# GUILE_FLAVOR e.g. guile22
|
||||
# GUILE_PORT e.g. lang/guile2
|
||||
# GUILE_CMD name of guile binary, e.g. guile-2.2
|
||||
# GUILE_*_CMD name of guile-* binary (legacy)
|
||||
# GUILD_CMD name of guild binary, e.g. guild-2.2
|
||||
# GUIL*_CMDPATH full paths of commands
|
||||
# GUILE_PKGCONFIG_DIR directory for version-specific .pc files
|
||||
# (relative to PREFIX or LOCALBASE)
|
||||
# GUILE_PREFIX
|
||||
# GUILE_GLOBAL_SITE_DIR
|
||||
# GUILE_SITE_DIR
|
||||
# GUILE_SITE_CCACHE_DIR
|
||||
# GUILE_DOCS_DIR where to put version-specific docs
|
||||
# GUILE_EXAMPLES_DIR where to put version-specific examples
|
||||
# GUILE_INFO_PATH a suitable value for INFO_PATH
|
||||
#
|
||||
# (the _DIR vars are relativized and added to PLIST_SUB without the
|
||||
# _DIR suffix)
|
||||
#
|
||||
.if !defined(_INCLUDE_USES_GUILE_MK)
|
||||
_INCLUDE_USES_GUILE_MK= yes
|
||||
|
||||
# When adding a version, please keep the comment in
|
||||
# Mk/bsd.default-versions.mk in sync.
|
||||
_GUILE_VALID_VERSIONS:= 1.8 2.2 3.0
|
||||
. if defined(_GUILE_EXTRA_VER)
|
||||
_GUILE_VALID_VERSIONS+= ${_GUILE_EXTRA_VER}
|
||||
. endif
|
||||
|
||||
_GUILE_DEFAULT_VERSION:= ${GUILE_DEFAULT}
|
||||
|
||||
. if ! ${_GUILE_VALID_VERSIONS:M${_GUILE_DEFAULT_VERSION}}
|
||||
IGNORE= Invalid default Guile version ${GUILE_DEFAULT}
|
||||
. endif
|
||||
|
||||
# args. Allow a list of numeric versions
|
||||
_GUILE_ARG_VERSIONS:= ${guile_ARGS:M[1-9].[0-9]}
|
||||
|
||||
# We anticipate which args will be almost universally required
|
||||
# and define them negatively. In practice "alias" is needed a lot
|
||||
# thanks to makefile assumptions, but it's intrusive enough that
|
||||
# we require it to be stated explicitly.
|
||||
_GUILE_ARG_NAMES:= flavors build run env alias conflicts \
|
||||
noextra nopkgconf nocmds
|
||||
|
||||
# Define an 0/1 flag for each arg
|
||||
. for _v in ${_GUILE_ARG_NAMES}
|
||||
. if ${_v:Mno*}
|
||||
_GUILE_ARG_${_v:tu:S/^NO//}:=${"${guile_ARGS:M${_v}}":?0:1}
|
||||
. else
|
||||
_GUILE_ARG_${_v:tu}:=${"${guile_ARGS:M${_v}}":?1:0}
|
||||
. endif
|
||||
. endfor
|
||||
|
||||
#
|
||||
# Parse ver arguments
|
||||
#
|
||||
# If multiple versions are specified, we are either doing flavors (in
|
||||
# which case we build them all) or we are supposed to pick just one, in
|
||||
# which case we pick the default version if it was specified, otherwise
|
||||
# the highest.
|
||||
#
|
||||
_GUILE_CHOSEN_VER:=
|
||||
_GUILE_REQUESTED_VERS:=
|
||||
|
||||
# check args for validity first
|
||||
. for _v in ${_GUILE_ARG_VERSIONS}
|
||||
. if ! ${_GUILE_VALID_VERSIONS:M${_v}}
|
||||
IGNORE= Invalid Guile version ${_v}
|
||||
. else
|
||||
_GUILE_REQUESTED_VERS+= ${_v}
|
||||
. endif
|
||||
. endfor
|
||||
|
||||
. if ${_GUILE_ARG_FLAVORS}
|
||||
|
||||
# default to all versions (unlikely in practice)
|
||||
. if empty(_GUILE_REQUESTED_VERS)
|
||||
_GUILE_REQUESTED_VERS:= ${_GUILE_VALID_VERSIONS}
|
||||
. endif
|
||||
|
||||
# Note that we organize the FLAVORS list so that the
|
||||
# first (default) one corresponds to the default version.
|
||||
. if empty(FLAVORS)
|
||||
FLAVORS=${_GUILE_DEFAULT_VERSION:S/.//:S/^/guile/} \
|
||||
${_GUILE_REQUESTED_VERS:N${_GUILE_DEFAULT_VERSION}:S/.//:S/^/guile/}
|
||||
. endif
|
||||
# User may have specified this; we must respect that.
|
||||
. if empty(FLAVOR)
|
||||
FLAVOR= ${FLAVORS:[1]}
|
||||
. endif
|
||||
# Translate the selected (possibly by the user) flavor back to the
|
||||
# corresponding Guile version.
|
||||
_GUILE_CHOSEN_VER:= ${FLAVOR:S/^guile//:C/./&./}
|
||||
|
||||
. else # !${_GUILE_ARG_FLAVORS}
|
||||
|
||||
# default to default version
|
||||
. if empty(_GUILE_REQUESTED_VERS)
|
||||
_GUILE_REQUESTED_VERS:= ${_GUILE_DEFAULT_VERSION}
|
||||
. endif
|
||||
|
||||
# Find default version, or highest. (We abuse alphabetic sort here.)
|
||||
_GUILE_CHOSEN_VER:= ${_GUILE_REQUESTED_VERS:M${_GUILE_DEFAULT_VERSION}}
|
||||
. if empty(_GUILE_CHOSEN_VER)
|
||||
_GUILE_CHOSEN_VER:= ${_GUILE_REQUESTED_VERS:O:[-1]}
|
||||
. endif
|
||||
|
||||
. endif # ${_GUILE_ARG_FLAVORS}
|
||||
|
||||
# _GUILE_CHOSEN_VER is now the desired version in all cases.
|
||||
#
|
||||
# The GUILE_VER / GUILE_SFX here is the existing usage, but if a
|
||||
# version 3.1 comes along, that'll all need to be revisited. (So
|
||||
# we discourage the use of GUILE_SFX for anything important.)
|
||||
#
|
||||
# GUILE_VER= 3.0 (for example)
|
||||
# GUILE_SFX= 3
|
||||
# GUILE_FLAVOR= guile30
|
||||
#
|
||||
# GUILE_OTHER/NEWER_PKGS is defined such that it can be placed in
|
||||
# CONFLICTS_BUILD for ports that use non-overridable version searches.
|
||||
# This gives a proper diagnostic for non-clean builds.
|
||||
|
||||
GUILE_VER= ${_GUILE_CHOSEN_VER}
|
||||
GUILE_SFX= ${_GUILE_CHOSEN_VER:R}
|
||||
|
||||
GUILE_OTHER_PKGS:=${_GUILE_VALID_VERSIONS:@_v@${${_v} != ${_GUILE_CHOSEN_VER}:?guile${_v:R}:}@}
|
||||
GUILE_NEWER_PKGS:=${_GUILE_VALID_VERSIONS:@_v@${${_v} > ${_GUILE_CHOSEN_VER}:?guile${_v:R}:}@}
|
||||
|
||||
. if ${_GUILE_ARG_CONFLICTS}
|
||||
CONFLICTS_BUILD+=${GUILE_NEWER_PKGS}
|
||||
. endif
|
||||
|
||||
GUILE_PORT= lang/guile${GUILE_SFX}
|
||||
GUILE_FLAVOR= guile${GUILE_VER:S/.//}
|
||||
|
||||
GUILE_PREFIX= ${PREFIX}
|
||||
|
||||
GUILE_GLOBAL_SITE_DIR= ${GUILE_PREFIX}/share/guile/site
|
||||
GUILE_SITE_DIR= ${GUILE_GLOBAL_SITE_DIR}/${GUILE_VER}
|
||||
GUILE_SITE_CCACHE_DIR= ${GUILE_PREFIX}/lib/guile/${GUILE_VER}/site-ccache
|
||||
GUILE_DOCS_DIR= ${GUILE_PREFIX}/share/doc/${GUILE_FLAVOR}
|
||||
GUILE_EXAMPLES_DIR= ${GUILE_PREFIX}/share/examples/${GUILE_FLAVOR}
|
||||
GUILE_INFO_PATH= share/info/guile${GUILE_SFX}
|
||||
|
||||
_GUILE_CMDNAMES:= guile guile-snarf guile-config guile-tools
|
||||
. if ${GUILE_SFX} > 1
|
||||
_GUILE_CMDNAMES+= guild
|
||||
. endif
|
||||
|
||||
. for _c in ${_GUILE_CMDNAMES}
|
||||
${_c:S/-/_/:tu}_CMD:= ${_c}-${GUILE_VER}
|
||||
${_c:S/-/_/:tu}_CMDPATH:= ${LOCALBASE}/bin/${_c}-${GUILE_VER}
|
||||
. endfor
|
||||
|
||||
PLIST_SUB+= GUILE_VER=${GUILE_VER} GUILE_SFX=${GUILE_SFX} \
|
||||
GUILE_SITE=${GUILE_SITE_DIR:S,^${GUILE_PREFIX}/,,} \
|
||||
GUILE_GLOBAL_SITE=${GUILE_GLOBAL_SITE_DIR:S,^${GUILE_PREFIX}/,,} \
|
||||
GUILE_SITE_CCACHE=${GUILE_SITE_CCACHE_DIR:S,^${GUILE_PREFIX}/,,} \
|
||||
GUILE_DOCS=${GUILE_DOCS_DIR:S,^${GUILE_PREFIX}/,,} \
|
||||
GUILE_EXAMPLES=${GUILE_EXAMPLES_DIR:S,^${GUILE_PREFIX}/,,}
|
||||
|
||||
# This may reduce the need for BINARY_ALIAS
|
||||
GUILE_ENV= ${_GUILE_CMDNAMES:tu:S/-/_/:@t@${t}=${${t}_CMDPATH}@}
|
||||
|
||||
# XXX XXX XXX
|
||||
#
|
||||
# This all assumes that the underlying Guile >= 2 is built with the
|
||||
# threading option, which is on by default.
|
||||
|
||||
_GUILE_1.8_EXTRA_LIB_DEPENDS= \
|
||||
libgmp.so:math/gmp \
|
||||
libltdl.so:devel/libltdl
|
||||
_GUILE_2.2_EXTRA_LIB_DEPENDS= \
|
||||
libgc-threaded.so:devel/boehm-gc-threaded
|
||||
_GUILE_3.0_EXTRA_LIB_DEPENDS= \
|
||||
libgc-threaded.so:devel/boehm-gc-threaded
|
||||
|
||||
. if ${_GUILE_ARG_EXTRA}
|
||||
_GUILE_EXTRA_LIB_DEPENDS= ${_GUILE_${GUILE_VER}_EXTRA_LIB_DEPENDS}
|
||||
. else
|
||||
_GUILE_EXTRA_LIB_DEPENDS?=
|
||||
. endif
|
||||
|
||||
. if !${_GUILE_ARG_ENV}
|
||||
. if ${_GUILE_ARG_BUILD}
|
||||
BUILD_DEPENDS+= ${GUILE_CMD}:${GUILE_PORT}
|
||||
. endif
|
||||
. if ${_GUILE_ARG_RUN}
|
||||
RUN_DEPENDS+= ${GUILE_CMD}:${GUILE_PORT}
|
||||
. endif
|
||||
. if !${_GUILE_ARG_BUILD} && !${_GUILE_ARG_RUN}
|
||||
. if ${GUILE_SFX} > 1
|
||||
LIB_DEPENDS+= libguile-${GUILE_VER}.so:${GUILE_PORT} ${_GUILE_EXTRA_LIB_DEPENDS}
|
||||
. else
|
||||
LIB_DEPENDS+= libguile.so:${GUILE_PORT} ${_GUILE_EXTRA_LIB_DEPENDS}
|
||||
. endif
|
||||
. endif
|
||||
. if ${_GUILE_ARG_CMDS}
|
||||
. if ${_GUILE_ARG_ALIAS}
|
||||
# If we're doing binary-alias, then only add GUILE itself to the
|
||||
# environment, not the build-only tools. This helps when dealing with
|
||||
# broken configure scripts that respect e.g. GUILE_CONFIG but then
|
||||
# barf on the output if the program name has a suffix.
|
||||
CONFIGURE_ENV+= GUILE=${GUILE_CMDPATH}
|
||||
MAKE_ENV+= GUILE=${GUILE_CMDPATH}
|
||||
. else
|
||||
CONFIGURE_ENV+= ${GUILE_ENV}
|
||||
MAKE_ENV+= ${GUILE_ENV}
|
||||
. endif
|
||||
. endif # ${_GUILE_ARG_CMDS}
|
||||
CONFIGURE_ENV+= GUILE_EFFECTIVE_VERSION=${GUILE_VER}
|
||||
. endif # !${_GUILE_ARG_ENV}
|
||||
|
||||
. if ${_GUILE_ARG_ALIAS}
|
||||
BINARY_ALIAS+= ${_GUILE_CMDNAMES:@t@${t}=${${t:tu:S/-/_/}_CMD}@}
|
||||
. endif
|
||||
|
||||
. if ${_GUILE_ARG_PKGCONF}
|
||||
GUILE_PKGCONFIG_DIR:= libdata/pkgconfig/guile/${GUILE_VER}
|
||||
PKGCONFIG_PATHS+= ${LOCALBASE}/${GUILE_PKGCONFIG_DIR}
|
||||
PLIST_SUB+= GUILE_PKGCONFIG_DIR=${GUILE_PKGCONFIG_DIR}
|
||||
. endif
|
||||
|
||||
.endif
|
@ -18,7 +18,7 @@ _INCLUDE_BSD_DEFAULT_VERSIONS_MK= yes
|
||||
LOCALBASE?= /usr/local
|
||||
|
||||
. for lang in APACHE BDB COROSYNC EMACS FIREBIRD FORTRAN FPC GCC \
|
||||
GHOSTSCRIPT GL GO IMAGEMAGICK JAVA LAZARUS LIBRSVG2 LINUX LLVM \
|
||||
GHOSTSCRIPT GL GO GUILE IMAGEMAGICK JAVA LAZARUS LIBRSVG2 LINUX LLVM \
|
||||
LUA LUAJIT MONO MYSQL NINJA NODEJS OPENLDAP PERL5 PGSQL PHP PYTHON \
|
||||
PYTHON2 PYTHON3 PYCRYPTOGRAPHY RUBY RUST SAMBA SSL TCLTK VARNISH
|
||||
. if defined(${lang}_DEFAULT)
|
||||
@ -59,6 +59,8 @@ GHOSTSCRIPT_DEFAULT?= agpl
|
||||
GL_DEFAULT?= mesa-libs
|
||||
# Possible values: 1.18, 1.19, 1.20, 1.21-devel
|
||||
GO_DEFAULT?= 1.20
|
||||
# Possible values: 1.8, 2.2, 3.0
|
||||
GUILE_DEFAULT?= 2.2
|
||||
# Possible versions: 6, 7
|
||||
# Possible flavors: x11, nox11
|
||||
# (defaults to x11 when not specified)
|
||||
|
@ -129,9 +129,11 @@
|
||||
SUBDIR += gravity
|
||||
SUBDIR += groovy
|
||||
SUBDIR += gscheme
|
||||
SUBDIR += guile
|
||||
SUBDIR += guile-aclocal
|
||||
SUBDIR += guile-meta
|
||||
SUBDIR += guile1
|
||||
SUBDIR += guile2
|
||||
SUBDIR += guile3
|
||||
SUBDIR += halide
|
||||
SUBDIR += harec
|
||||
SUBDIR += haskell-mode.el
|
||||
|
18
lang/guile-aclocal/Makefile
Normal file
18
lang/guile-aclocal/Makefile
Normal file
@ -0,0 +1,18 @@
|
||||
PORTNAME= guile-aclocal
|
||||
CATEGORIES= lang scheme
|
||||
PKGNAMESUFFIX=
|
||||
DISTNAME= guile-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
|
||||
|
||||
MASTERDIR= ${.CURDIR}/../guile3
|
||||
|
||||
NO_ARCH= yes
|
||||
NO_BUILD= yes
|
||||
|
||||
PLIST= # disable MASTERDIR's plist
|
||||
PLIST_FILES= ${PREFIX}/share/aclocal/guile.m4
|
||||
|
||||
do-install:
|
||||
${MKDIR} ${STAGEDIR}${PREFIX}/share/aclocal/
|
||||
${INSTALL_DATA} ${WRKSRC}/meta/guile.m4 ${STAGEDIR}${PREFIX}/share/aclocal/
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
@ -1,70 +1,36 @@
|
||||
PORTNAME= guile
|
||||
PORTVERSION= 3.0.9
|
||||
PORTREVISION= 2
|
||||
PORTNAME= guile-meta
|
||||
PORTVERSION= 4
|
||||
CATEGORIES= lang scheme
|
||||
MASTER_SITES= GNU
|
||||
MASTER_SITES= # empty
|
||||
DISTFILES= # empty
|
||||
EXTRACT_ONLY= # empty
|
||||
|
||||
MAINTAINER= bofh@FreeBSD.org
|
||||
COMMENT= GNU Ubiquitous Intelligent Language for Extension
|
||||
WWW= https://www.gnu.org/software/guile/
|
||||
MAINTAINER= andrew@tao11.riddles.org.uk
|
||||
COMMENT= Meta-port for the Guile interpreter
|
||||
WWW= http://www.gnu.org/software/guile/
|
||||
|
||||
LICENSE= GPLv3 LGPL3
|
||||
LICENSE_COMB= multi
|
||||
LICENSE= NA
|
||||
LICENSE_COMB= single
|
||||
LICENSE_NAME= Non applicable
|
||||
LICENSE_TEXT= No licenses are applicable to metaports
|
||||
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
|
||||
|
||||
# Currently has linker error in i386. Feel free to add other ARCHS in
|
||||
# case of failure
|
||||
NOT_FOR_ARCHS= i386
|
||||
# no flavors and no version specified, so that we get the default
|
||||
# version as specified in DEFAULT_VERSIONS.
|
||||
USES= guile:run
|
||||
|
||||
LIB_DEPENDS= libffi.so:devel/libffi \
|
||||
libgmp.so:math/gmp \
|
||||
libltdl.so:devel/libltdl \
|
||||
libunistring.so:devel/libunistring
|
||||
NO_ARCH= yes
|
||||
NO_BUILD= yes
|
||||
|
||||
USES= charsetfix compiler:c11 cpe gmake iconv libtool \
|
||||
makeinfo pathfix pkgconfig readline tar:lz
|
||||
CPE_VENDOR= gnu
|
||||
USE_LDCONFIG= yes
|
||||
# We don't provide a pkgconf or similar - this is purely a user
|
||||
# convenience, and building should always be done against a specific
|
||||
# version.
|
||||
PLIST_FILES= bin/guile bin/guild
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
CONFIGURE_ARGS= --enable-lto=${WITHOUT_LTO:Dno:U${WITH_LTO:Dyes:Uno}}
|
||||
|
||||
#MAKE_JOBS_UNSAFE= yes
|
||||
INSTALL_TARGET= install-strip
|
||||
|
||||
CONFLICTS_INSTALL= guile1 guile2
|
||||
|
||||
INFO= guile r5rs
|
||||
|
||||
PLIST_SUB= GUILE_VER=${PORTVERSION:R}
|
||||
|
||||
OPTIONS_DEFINE= NLS THREADS
|
||||
OPTIONS_DEFAULT= NLS THREADS
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
NLS_USES= gettext
|
||||
NLS_CONFIGURE_ENABLE= nls
|
||||
|
||||
THREADS_LIB_DEPENDS= libgc-threaded.so:devel/boehm-gc-threaded
|
||||
THREADS_LIB_DEPENDS_OFF= libgc.so:devel/boehm-gc
|
||||
THREADS_CONFIGURE_WITH= threads
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
.if ${ARCH} == powerpc
|
||||
EXTRA_PATCHES= ${FILESDIR}/extra-patch-bootstrap_Makefile.in
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|-i -e|-i.bak -e|' \
|
||||
${WRKSRC}/libguile/Makefile.in
|
||||
@${RM} -r ${WRKSRC}/prebuilt/32-bit-big-endian
|
||||
|
||||
post-patch-THREADS-on:
|
||||
@${REINPLACE_CMD} -e 's|bdw-gc|bdw-gc-threaded|g' ${WRKSRC}/configure
|
||||
|
||||
# Currently guile fails to run if libs are stripped. Will need to debug
|
||||
# the case.
|
||||
#post-install:
|
||||
# @${FIND} ${STAGEDIR}${PREFIX}/lib -name "*.go" | ${XARGS} ${STRIP_CMD}
|
||||
do-install:
|
||||
for prog in guile guild; do \
|
||||
${LN} -sf $${prog}-${GUILE_VER} \
|
||||
${STAGEDIR}${PREFIX}/bin/$${prog}; \
|
||||
done
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- bootstrap/Makefile.in.orig 2022-02-02 15:41:58 UTC
|
||||
+++ bootstrap/Makefile.in
|
||||
@@ -1751,7 +1751,7 @@ top_builddir_absolute = @top_builddir_absolute@
|
||||
top_srcdir = @top_srcdir@
|
||||
top_srcdir_absolute = @top_srcdir_absolute@
|
||||
GUILE_WARNINGS = -W0
|
||||
-GUILE_OPTIMIZATIONS = -O1
|
||||
+GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps
|
||||
GOBJECTS = $(SOURCES:%.scm=%.go)
|
||||
nobase_noinst_DATA = $(GOBJECTS)
|
||||
CLEANFILES = $(GOBJECTS)
|
@ -1,10 +0,0 @@
|
||||
--- doc/ref/guile.texi.orig 2020-05-30 20:06:44 UTC
|
||||
+++ doc/ref/guile.texi
|
||||
@@ -1,6 +1,7 @@
|
||||
\input texinfo
|
||||
@c -*-texinfo-*-
|
||||
@c %**start of header
|
||||
+@documentencoding ISO-8859-1
|
||||
@setfilename guile.info
|
||||
@documentencoding UTF-8
|
||||
@settitle Guile Reference Manual
|
@ -1,6 +1,7 @@
|
||||
GUILE, GNU's Ubiquitous Intelligent Language for Extension,
|
||||
is a library that implements the Scheme language plus various
|
||||
convenient facilities. It's designed so that you can link it
|
||||
into an application or utility to make it extensible. Our
|
||||
plan is to link this library into all GNU programs that call for
|
||||
extensibility.
|
||||
convenient facilities. See the lang/guile3 port for more detail.
|
||||
|
||||
This is a meta port to the Guile interpreter and provides symbolic
|
||||
links to bin/guile and bin/guild as a convenience to users. Do not
|
||||
depend on this port.
|
||||
|
@ -1,5 +1,6 @@
|
||||
PORTNAME= guile
|
||||
PORTVERSION= 1.8.8
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= lang scheme
|
||||
MASTER_SITES= GNU
|
||||
PKGNAMESUFFIX= 1
|
||||
@ -14,41 +15,69 @@ LICENSE_FILE= ${WRKSRC}/COPYING.LESSER
|
||||
LIB_DEPENDS= libltdl.so:devel/libltdl \
|
||||
libgmp.so:math/gmp
|
||||
|
||||
USES= autoreconf cpe gmake libtool makeinfo ncurses pathfix
|
||||
# We need to pull the aclocal/guile.m4 from guile3 rather than using
|
||||
# our own version, in order to avoid conflicts.
|
||||
RUN_DEPENDS= guile-aclocal>=3:lang/guile-aclocal
|
||||
|
||||
USES= guile:${PORTVERSION:R},env \
|
||||
autoreconf cpe gmake libtool makeinfo ncurses pathfix \
|
||||
readline
|
||||
CPE_VENDOR= gnu
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
CONFLICTS_INSTALL= guile2 guile
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
CONFIGURE_ARGS+=--program-suffix=-${GUILE_VER} \
|
||||
--includedir='$${prefix}/include/guile/${GUILE_VER}/'
|
||||
|
||||
INSTALL_TARGET= install-strip
|
||||
|
||||
CFLAGS+= -fwrapv
|
||||
CPPFLAGS+= -I${LOCALBASE}/include
|
||||
LIBS+= -L${LOCALBASE}/lib
|
||||
INSTALL_TARGET= install-strip
|
||||
PORTSCOUT= limit:^1\.
|
||||
|
||||
PLIST_SUB= GUILE_VER=${PORTVERSION:R}
|
||||
|
||||
REINPLACE_FILES= libguile/smob.c libguile/filesys.c libguile/gc.c \
|
||||
libguile/mallocs.c libguile/eval.c libguile/gc-malloc.c \
|
||||
libguile/ports.c libguile/gc-mark.c libguile/gc_os_dep.c
|
||||
|
||||
INFO= goops guile-tut guile r5rs
|
||||
INFO_PATH= ${GUILE_INFO_PATH}
|
||||
|
||||
OPTIONS_DEFINE= NLS
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
NLS_CONFIGURE_ENABLE= nls
|
||||
NLS_USES= gettext
|
||||
NLS_USES_OFF= gettext-tools
|
||||
NLS_CONFIGURE_ENABLE= nls
|
||||
|
||||
post-extract:
|
||||
@${FIND} ${WRKSRC}/doc -name "*.info*" -delete
|
||||
|
||||
REINPLACE_FILES_1= libguile/smob.c libguile/filesys.c libguile/gc.c \
|
||||
libguile/mallocs.c libguile/eval.c libguile/gc-malloc.c \
|
||||
libguile/ports.c libguile/gc-mark.c libguile/gc_os_dep.c
|
||||
|
||||
REINPLACE_FILES_2= guile-config/guile-config.in
|
||||
|
||||
REINPLACE_FILES_3= PROGRAM frisk read-text-outline generate-autoload \
|
||||
scan-api api-diff lint snarf-check-and-output-texi \
|
||||
autofrisk punify snarf-guile-m4-docs display-commentary \
|
||||
read-rfc822 summarize-guile-TODO doc-snarf \
|
||||
read-scheme-source use2dot
|
||||
|
||||
post-patch:
|
||||
@cd ${WRKSRC} ; \
|
||||
${REINPLACE_CMD} -e 's|<malloc\.h>|<stdlib.h>|g' ${REINPLACE_FILES}
|
||||
${REINPLACE_CMD} -e 's|<malloc\.h>|<stdlib.h>|g' ${REINPLACE_FILES_1}
|
||||
@${REINPLACE_CMD} -e 's|$$(libdir)|$$(libdir)data|g' ${WRKSRC}/Makefile.am
|
||||
@${TOUCH} ${WRKSRC}/Makefile.in
|
||||
@cd ${WRKSRC} ; \
|
||||
${REINPLACE_CMD} -e '1s/guile/guile-${GUILE_VER}/' ${REINPLACE_FILES_2}
|
||||
@cd ${WRKSRC}/scripts ; \
|
||||
${REINPLACE_CMD} -e '1,/!#/s/GUILE-guile/GUILE-guile-${GUILE_VER}/' \
|
||||
${REINPLACE_FILES_3}
|
||||
|
||||
post-install:
|
||||
${RM} ${STAGEDIR}${PREFIX}/share/aclocal/guile.m4
|
||||
for p in guile guile-tools guile-config guile-snarf; do \
|
||||
${LN} -s $${p}-${GUILE_VER} ${STAGEDIR}${PREFIX}/bin/$${p}${GUILE_SFX}; \
|
||||
done
|
||||
${MV} ${STAGEDIR}${PREFIX}/man/man1/guile-${GUILE_VER}.1 \
|
||||
${STAGEDIR}${PREFIX}/man/man1/guile${GUILE_SFX}.1
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
12
lang/guile1/files/patch-scripts_Makefile.am
Normal file
12
lang/guile1/files/patch-scripts_Makefile.am
Normal file
@ -0,0 +1,12 @@
|
||||
--- scripts/Makefile.am.orig 2023-05-22 16:38:21 UTC
|
||||
+++ scripts/Makefile.am
|
||||
@@ -21,6 +21,9 @@
|
||||
|
||||
AUTOMAKE_OPTIONS = gnu
|
||||
|
||||
+# prevent program-suffix being used in this dir
|
||||
+transform=
|
||||
+
|
||||
# These should be installed and distributed.
|
||||
scripts_sources = \
|
||||
PROGRAM \
|
@ -1,115 +1,119 @@
|
||||
bin/guile
|
||||
bin/guile-config
|
||||
bin/guile-snarf
|
||||
bin/guile-tools
|
||||
include/guile/gh.h
|
||||
include/guile/readline.h
|
||||
include/guile/srfi/srfi-1.h
|
||||
include/guile/srfi/srfi-13.h
|
||||
include/guile/srfi/srfi-14.h
|
||||
include/guile/srfi/srfi-4.h
|
||||
include/guile/srfi/srfi-60.h
|
||||
include/libguile.h
|
||||
include/libguile/__scm.h
|
||||
include/libguile/alist.h
|
||||
include/libguile/arbiters.h
|
||||
include/libguile/async.h
|
||||
include/libguile/backtrace.h
|
||||
include/libguile/boolean.h
|
||||
include/libguile/chars.h
|
||||
include/libguile/continuations.h
|
||||
include/libguile/convert.h
|
||||
include/libguile/debug-malloc.h
|
||||
include/libguile/debug.h
|
||||
include/libguile/deprecated.h
|
||||
include/libguile/deprecation.h
|
||||
include/libguile/discouraged.h
|
||||
include/libguile/dynl.h
|
||||
include/libguile/dynwind.h
|
||||
include/libguile/environments.h
|
||||
include/libguile/eq.h
|
||||
include/libguile/error.h
|
||||
include/libguile/eval.h
|
||||
include/libguile/evalext.h
|
||||
include/libguile/extensions.h
|
||||
include/libguile/feature.h
|
||||
include/libguile/filesys.h
|
||||
include/libguile/fluids.h
|
||||
include/libguile/fports.h
|
||||
include/libguile/futures.h
|
||||
include/libguile/gc.h
|
||||
include/libguile/gdb_interface.h
|
||||
include/libguile/gdbint.h
|
||||
include/libguile/goops.h
|
||||
include/libguile/gsubr.h
|
||||
include/libguile/guardians.h
|
||||
include/libguile/hash.h
|
||||
include/libguile/hashtab.h
|
||||
include/libguile/hooks.h
|
||||
include/libguile/i18n.h
|
||||
include/libguile/init.h
|
||||
include/libguile/inline.h
|
||||
include/libguile/ioext.h
|
||||
include/libguile/iselect.h
|
||||
include/libguile/keywords.h
|
||||
include/libguile/lang.h
|
||||
include/libguile/list.h
|
||||
include/libguile/load.h
|
||||
include/libguile/macros.h
|
||||
include/libguile/mallocs.h
|
||||
include/libguile/modules.h
|
||||
include/libguile/net_db.h
|
||||
include/libguile/null-threads.h
|
||||
include/libguile/numbers.h
|
||||
include/libguile/objects.h
|
||||
include/libguile/objprop.h
|
||||
include/libguile/options.h
|
||||
include/libguile/pairs.h
|
||||
include/libguile/ports.h
|
||||
include/libguile/posix.h
|
||||
include/libguile/print.h
|
||||
include/libguile/procprop.h
|
||||
include/libguile/procs.h
|
||||
include/libguile/properties.h
|
||||
include/libguile/pthread-threads.h
|
||||
include/libguile/ramap.h
|
||||
include/libguile/random.h
|
||||
include/libguile/rdelim.h
|
||||
include/libguile/read.h
|
||||
include/libguile/regex-posix.h
|
||||
include/libguile/root.h
|
||||
include/libguile/rw.h
|
||||
include/libguile/scmconfig.h
|
||||
include/libguile/scmsigs.h
|
||||
include/libguile/script.h
|
||||
include/libguile/simpos.h
|
||||
include/libguile/smob.h
|
||||
include/libguile/snarf.h
|
||||
include/libguile/socket.h
|
||||
include/libguile/sort.h
|
||||
include/libguile/srcprop.h
|
||||
include/libguile/srfi-13.h
|
||||
include/libguile/srfi-14.h
|
||||
include/libguile/srfi-4.h
|
||||
include/libguile/stackchk.h
|
||||
include/libguile/stacks.h
|
||||
include/libguile/stime.h
|
||||
include/libguile/strings.h
|
||||
include/libguile/strorder.h
|
||||
include/libguile/strports.h
|
||||
include/libguile/struct.h
|
||||
include/libguile/symbols.h
|
||||
include/libguile/tags.h
|
||||
include/libguile/threads.h
|
||||
include/libguile/throw.h
|
||||
include/libguile/unif.h
|
||||
include/libguile/validate.h
|
||||
include/libguile/values.h
|
||||
include/libguile/variable.h
|
||||
include/libguile/vectors.h
|
||||
include/libguile/version.h
|
||||
include/libguile/vports.h
|
||||
include/libguile/weaks.h
|
||||
bin/guile-%%GUILE_VER%%
|
||||
bin/guile-config-%%GUILE_VER%%
|
||||
bin/guile-snarf-%%GUILE_VER%%
|
||||
bin/guile-tools-%%GUILE_VER%%
|
||||
bin/guile%%GUILE_SFX%%
|
||||
bin/guile-config%%GUILE_SFX%%
|
||||
bin/guile-snarf%%GUILE_SFX%%
|
||||
bin/guile-tools%%GUILE_SFX%%
|
||||
include/guile/%%GUILE_VER%%/guile/gh.h
|
||||
include/guile/%%GUILE_VER%%/guile/readline.h
|
||||
include/guile/%%GUILE_VER%%/guile/srfi/srfi-1.h
|
||||
include/guile/%%GUILE_VER%%/guile/srfi/srfi-13.h
|
||||
include/guile/%%GUILE_VER%%/guile/srfi/srfi-14.h
|
||||
include/guile/%%GUILE_VER%%/guile/srfi/srfi-4.h
|
||||
include/guile/%%GUILE_VER%%/guile/srfi/srfi-60.h
|
||||
include/guile/%%GUILE_VER%%/libguile.h
|
||||
include/guile/%%GUILE_VER%%/libguile/__scm.h
|
||||
include/guile/%%GUILE_VER%%/libguile/alist.h
|
||||
include/guile/%%GUILE_VER%%/libguile/arbiters.h
|
||||
include/guile/%%GUILE_VER%%/libguile/async.h
|
||||
include/guile/%%GUILE_VER%%/libguile/backtrace.h
|
||||
include/guile/%%GUILE_VER%%/libguile/boolean.h
|
||||
include/guile/%%GUILE_VER%%/libguile/chars.h
|
||||
include/guile/%%GUILE_VER%%/libguile/continuations.h
|
||||
include/guile/%%GUILE_VER%%/libguile/convert.h
|
||||
include/guile/%%GUILE_VER%%/libguile/debug-malloc.h
|
||||
include/guile/%%GUILE_VER%%/libguile/debug.h
|
||||
include/guile/%%GUILE_VER%%/libguile/deprecated.h
|
||||
include/guile/%%GUILE_VER%%/libguile/deprecation.h
|
||||
include/guile/%%GUILE_VER%%/libguile/discouraged.h
|
||||
include/guile/%%GUILE_VER%%/libguile/dynl.h
|
||||
include/guile/%%GUILE_VER%%/libguile/dynwind.h
|
||||
include/guile/%%GUILE_VER%%/libguile/environments.h
|
||||
include/guile/%%GUILE_VER%%/libguile/eq.h
|
||||
include/guile/%%GUILE_VER%%/libguile/error.h
|
||||
include/guile/%%GUILE_VER%%/libguile/eval.h
|
||||
include/guile/%%GUILE_VER%%/libguile/evalext.h
|
||||
include/guile/%%GUILE_VER%%/libguile/extensions.h
|
||||
include/guile/%%GUILE_VER%%/libguile/feature.h
|
||||
include/guile/%%GUILE_VER%%/libguile/filesys.h
|
||||
include/guile/%%GUILE_VER%%/libguile/fluids.h
|
||||
include/guile/%%GUILE_VER%%/libguile/fports.h
|
||||
include/guile/%%GUILE_VER%%/libguile/futures.h
|
||||
include/guile/%%GUILE_VER%%/libguile/gc.h
|
||||
include/guile/%%GUILE_VER%%/libguile/gdb_interface.h
|
||||
include/guile/%%GUILE_VER%%/libguile/gdbint.h
|
||||
include/guile/%%GUILE_VER%%/libguile/goops.h
|
||||
include/guile/%%GUILE_VER%%/libguile/gsubr.h
|
||||
include/guile/%%GUILE_VER%%/libguile/guardians.h
|
||||
include/guile/%%GUILE_VER%%/libguile/hash.h
|
||||
include/guile/%%GUILE_VER%%/libguile/hashtab.h
|
||||
include/guile/%%GUILE_VER%%/libguile/hooks.h
|
||||
include/guile/%%GUILE_VER%%/libguile/i18n.h
|
||||
include/guile/%%GUILE_VER%%/libguile/init.h
|
||||
include/guile/%%GUILE_VER%%/libguile/inline.h
|
||||
include/guile/%%GUILE_VER%%/libguile/ioext.h
|
||||
include/guile/%%GUILE_VER%%/libguile/iselect.h
|
||||
include/guile/%%GUILE_VER%%/libguile/keywords.h
|
||||
include/guile/%%GUILE_VER%%/libguile/lang.h
|
||||
include/guile/%%GUILE_VER%%/libguile/list.h
|
||||
include/guile/%%GUILE_VER%%/libguile/load.h
|
||||
include/guile/%%GUILE_VER%%/libguile/macros.h
|
||||
include/guile/%%GUILE_VER%%/libguile/mallocs.h
|
||||
include/guile/%%GUILE_VER%%/libguile/modules.h
|
||||
include/guile/%%GUILE_VER%%/libguile/net_db.h
|
||||
include/guile/%%GUILE_VER%%/libguile/null-threads.h
|
||||
include/guile/%%GUILE_VER%%/libguile/numbers.h
|
||||
include/guile/%%GUILE_VER%%/libguile/objects.h
|
||||
include/guile/%%GUILE_VER%%/libguile/objprop.h
|
||||
include/guile/%%GUILE_VER%%/libguile/options.h
|
||||
include/guile/%%GUILE_VER%%/libguile/pairs.h
|
||||
include/guile/%%GUILE_VER%%/libguile/ports.h
|
||||
include/guile/%%GUILE_VER%%/libguile/posix.h
|
||||
include/guile/%%GUILE_VER%%/libguile/print.h
|
||||
include/guile/%%GUILE_VER%%/libguile/procprop.h
|
||||
include/guile/%%GUILE_VER%%/libguile/procs.h
|
||||
include/guile/%%GUILE_VER%%/libguile/properties.h
|
||||
include/guile/%%GUILE_VER%%/libguile/pthread-threads.h
|
||||
include/guile/%%GUILE_VER%%/libguile/ramap.h
|
||||
include/guile/%%GUILE_VER%%/libguile/random.h
|
||||
include/guile/%%GUILE_VER%%/libguile/rdelim.h
|
||||
include/guile/%%GUILE_VER%%/libguile/read.h
|
||||
include/guile/%%GUILE_VER%%/libguile/regex-posix.h
|
||||
include/guile/%%GUILE_VER%%/libguile/root.h
|
||||
include/guile/%%GUILE_VER%%/libguile/rw.h
|
||||
include/guile/%%GUILE_VER%%/libguile/scmconfig.h
|
||||
include/guile/%%GUILE_VER%%/libguile/scmsigs.h
|
||||
include/guile/%%GUILE_VER%%/libguile/script.h
|
||||
include/guile/%%GUILE_VER%%/libguile/simpos.h
|
||||
include/guile/%%GUILE_VER%%/libguile/smob.h
|
||||
include/guile/%%GUILE_VER%%/libguile/snarf.h
|
||||
include/guile/%%GUILE_VER%%/libguile/socket.h
|
||||
include/guile/%%GUILE_VER%%/libguile/sort.h
|
||||
include/guile/%%GUILE_VER%%/libguile/srcprop.h
|
||||
include/guile/%%GUILE_VER%%/libguile/srfi-13.h
|
||||
include/guile/%%GUILE_VER%%/libguile/srfi-14.h
|
||||
include/guile/%%GUILE_VER%%/libguile/srfi-4.h
|
||||
include/guile/%%GUILE_VER%%/libguile/stackchk.h
|
||||
include/guile/%%GUILE_VER%%/libguile/stacks.h
|
||||
include/guile/%%GUILE_VER%%/libguile/stime.h
|
||||
include/guile/%%GUILE_VER%%/libguile/strings.h
|
||||
include/guile/%%GUILE_VER%%/libguile/strorder.h
|
||||
include/guile/%%GUILE_VER%%/libguile/strports.h
|
||||
include/guile/%%GUILE_VER%%/libguile/struct.h
|
||||
include/guile/%%GUILE_VER%%/libguile/symbols.h
|
||||
include/guile/%%GUILE_VER%%/libguile/tags.h
|
||||
include/guile/%%GUILE_VER%%/libguile/threads.h
|
||||
include/guile/%%GUILE_VER%%/libguile/throw.h
|
||||
include/guile/%%GUILE_VER%%/libguile/unif.h
|
||||
include/guile/%%GUILE_VER%%/libguile/validate.h
|
||||
include/guile/%%GUILE_VER%%/libguile/values.h
|
||||
include/guile/%%GUILE_VER%%/libguile/variable.h
|
||||
include/guile/%%GUILE_VER%%/libguile/vectors.h
|
||||
include/guile/%%GUILE_VER%%/libguile/version.h
|
||||
include/guile/%%GUILE_VER%%/libguile/vports.h
|
||||
include/guile/%%GUILE_VER%%/libguile/weaks.h
|
||||
lib/libguile-srfi-srfi-1-v-3.a
|
||||
lib/libguile-srfi-srfi-1-v-3.so
|
||||
lib/libguile-srfi-srfi-1-v-3.so.3
|
||||
@ -135,8 +139,7 @@ lib/libguilereadline-v-17.so
|
||||
lib/libguilereadline-v-17.so.17
|
||||
lib/libguilereadline-v-17.so.17.0.3
|
||||
libdata/pkgconfig/guile-1.8.pc
|
||||
man/man1/guile.1.gz
|
||||
share/aclocal/guile.m4
|
||||
man/man1/guile%%GUILE_SFX%%.1.gz
|
||||
%%DATADIR%%/%%GUILE_VER%%/guile-procedures.txt
|
||||
%%DATADIR%%/%%GUILE_VER%%/ice-9/and-let-star.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/ice-9/boot-9.scm
|
||||
|
@ -1,6 +1,6 @@
|
||||
PORTNAME= guile
|
||||
PORTVERSION= 2.2.7
|
||||
PORTREVISION= 3
|
||||
DISTVERSION= 2.2.7
|
||||
PORTREVISION= 4
|
||||
CATEGORIES= lang scheme
|
||||
MASTER_SITES= GNU
|
||||
PKGNAMESUFFIX= 2
|
||||
@ -16,51 +16,52 @@ LIB_DEPENDS= libgmp.so:math/gmp \
|
||||
libltdl.so:devel/libltdl \
|
||||
libunistring.so:devel/libunistring \
|
||||
libffi.so:devel/libffi
|
||||
RUN_DEPENDS= guile-aclocal>=3:lang/guile-aclocal
|
||||
|
||||
USES= charsetfix compiler:c11 cpe gmake iconv libtool makeinfo ncurses pathfix \
|
||||
pkgconfig readline tar:lz
|
||||
USES= guile:${PORTVERSION:R},env \
|
||||
charsetfix compiler:c11 cpe gmake iconv libtool localbase \
|
||||
makeinfo ncurses pathfix pkgconfig readline tar:lz
|
||||
CPE_VENDOR= gnu
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
CPE_VENDOR= gnu
|
||||
|
||||
CONFLICTS_INSTALL= guile guile1 # bin/guild bin/guile bin/guile-config bin/guile-snarf bin/guile-tools
|
||||
GNU_CONFIGURE= yes
|
||||
CONFIGURE_ARGS= --program-suffix=-${GUILE_VER}
|
||||
# eliminate some pointless configure warnings/errors
|
||||
CONFIGURE_ENV+= gl_cv_func_working_mktime=yes \
|
||||
ac_cv_header_sys_timeb_h=0
|
||||
|
||||
MAKE_JOBS_UNSAFE= yes
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
CPPFLAGS+= -I${LOCALBASE}/include
|
||||
LIBS+= -L${LOCALBASE}/lib
|
||||
INSTALL_TARGET= install-strip
|
||||
|
||||
INFO= guile r5rs
|
||||
|
||||
PLIST_SUB= GUILE_VER=${PORTVERSION:R}
|
||||
INFO_PATH= ${GUILE_INFO_PATH}
|
||||
|
||||
OPTIONS_DEFINE= NLS THREADS
|
||||
OPTIONS_DEFAULT=THREADS
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
NLS_CONFIGURE_ENABLE= nls
|
||||
NLS_USES= gettext
|
||||
NLS_CONFIGURE_ENABLE= nls
|
||||
|
||||
THREADS_CONFIGURE_WITH= threads
|
||||
THREADS_LIB_DEPENDS= libgc-threaded.so:devel/boehm-gc-threaded
|
||||
THREADS_LIB_DEPENDS_OFF= libgc.so:devel/boehm-gc
|
||||
|
||||
REINPLACE_FILES= libguile/smob.c libguile/filesys.c libguile/gc.c \
|
||||
libguile/mallocs.c libguile/eval.c \
|
||||
libguile/gc-malloc.c libguile/ports.c
|
||||
THREADS_LIB_DEPENDS_OFF=libgc.so:devel/boehm-gc
|
||||
THREADS_CONFIGURE_ON= --with-bdw-gc=bdw-gc-threaded
|
||||
THREADS_CONFIGURE_OFF= --with-bdw-gc=bdw-gc
|
||||
THREADS_CONFIGURE_WITH= threads
|
||||
|
||||
post-patch:
|
||||
@cd ${WRKSRC} ; \
|
||||
${REINPLACE_CMD} -e 's|<malloc\.h>|<stdlib.h>|g' ${REINPLACE_FILES}
|
||||
@${REINPLACE_CMD} -e 's|sys/time.h sys/timeb.h|sys/time.h |g' \
|
||||
${WRKSRC}/configure
|
||||
@${REINPLACE_CMD} -e 's|-i -e|-i.bak -e|' \
|
||||
${WRKSRC}/libguile/Makefile.in
|
||||
@${RM} -r ${WRKSRC}/prebuilt/32-bit-big-endian
|
||||
|
||||
post-patch-THREADS-on:
|
||||
@${REINPLACE_CMD} -e 's|bdw-gc|bdw-gc-threaded|g' ${WRKSRC}/configure
|
||||
# DO NOT try and add rules here to strip .go files, no matter how loudly
|
||||
# testport / stage-qa shouts at you about it, because .go files (which are
|
||||
# compiled bytecode) are not intended to be stripped and doing so causes
|
||||
# breakage at run time.
|
||||
|
||||
post-install:
|
||||
for p in guile guild guile-tools guile-config guile-snarf; do \
|
||||
${LN} -s $${p}-${GUILE_VER} ${STAGEDIR}${PREFIX}/bin/$${p}${GUILE_SFX}; \
|
||||
done
|
||||
${MV} ${STAGEDIR}${PREFIX}/man/man1/guile-${GUILE_VER}.1 \
|
||||
${STAGEDIR}${PREFIX}/man/man1/guile${GUILE_SFX}.1
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
20
lang/guile2/files/patch-libguile_Makefile.in
Normal file
20
lang/guile2/files/patch-libguile_Makefile.in
Normal file
@ -0,0 +1,20 @@
|
||||
--- libguile/Makefile.in.orig 2023-05-19 23:42:28 UTC
|
||||
+++ libguile/Makefile.in
|
||||
@@ -2239,7 +2239,7 @@ EXTRA_libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES =
|
||||
locale-categories.h
|
||||
|
||||
INSTANTIATE = \
|
||||
- $(SED) -i -e 's,[@]pkgdatadir[@],$(pkgdatadir),g' \
|
||||
+ $(SED) -i.bak -e 's,[@]pkgdatadir[@],$(pkgdatadir),g' \
|
||||
-e 's,[@]pkglibdir[@],$(pkglibdir),g' \
|
||||
-e 's,[@]GUILE_EFFECTIVE_VERSION[@],$(GUILE_EFFECTIVE_VERSION),g'
|
||||
|
||||
@@ -4256,7 +4256,7 @@ libpath.h: $(srcdir)/Makefile.in $(top_builddir)/conf
|
||||
@echo ' { "LIBS", "@GUILE_LIBS@" }, \' >> libpath.tmp
|
||||
@echo ' { "CFLAGS", "@GUILE_CFLAGS@" }, \' >> libpath.tmp
|
||||
@BUILD_DATE="$${SOURCE_DATE_EPOCH:-`date '+%s'`}" ; \
|
||||
- echo ' { "buildstamp", "'`date -u +'%Y-%m-%d %T' -d @$$BUILD_DATE`'" }, \' >> libpath.tmp
|
||||
+ echo ' { "buildstamp", "'`date -j -u -f %s $$BUILD_DATE +'%Y-%m-%d %T'`'" }, \' >> libpath.tmp
|
||||
@echo '}' >> libpath.tmp
|
||||
$(AM_V_GEN)mv libpath.tmp libpath.h
|
||||
|
@ -1,4 +1,4 @@
|
||||
--- libguile/gen-scmconfig.c.orig 2014-03-16 22:43:13 UTC
|
||||
--- libguile/gen-scmconfig.c.orig 2016-06-17 09:37:10 UTC
|
||||
+++ libguile/gen-scmconfig.c
|
||||
@@ -138,6 +138,7 @@
|
||||
|
||||
@ -8,3 +8,14 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
@@ -382,6 +383,10 @@ main (int argc, char *argv[])
|
||||
pf ("typedef int scm_t_off;\n");
|
||||
pf ("#define SCM_T_OFF_MAX INT_MAX\n");
|
||||
pf ("#define SCM_T_OFF_MIN INT_MIN\n");
|
||||
+#elif SIZEOF_OFF_T == SIZEOF_LONG_LONG
|
||||
+ pf ("typedef long long int scm_t_off;\n");
|
||||
+ pf ("#define SCM_T_OFF_MAX LLONG_MAX\n");
|
||||
+ pf ("#define SCM_T_OFF_MIN LLONG_MIN\n");
|
||||
#else
|
||||
pf ("typedef long int scm_t_off;\n");
|
||||
pf ("#define SCM_T_OFF_MAX LONG_MAX\n");
|
||||
|
@ -1,4 +1,4 @@
|
||||
--- libguile/pthread-threads.h.orig 2012-07-02 09:28:13 UTC
|
||||
--- libguile/pthread-threads.h.orig 2011-11-22 10:55:14 UTC
|
||||
+++ libguile/pthread-threads.h
|
||||
@@ -27,6 +27,9 @@
|
||||
*/
|
||||
@ -9,4 +9,4 @@
|
||||
+#endif
|
||||
#include <sched.h>
|
||||
|
||||
/* `libgc' defines wrapper procedures for pthread calls. */
|
||||
/* Threads
|
||||
|
@ -1,8 +1,13 @@
|
||||
bin/guild
|
||||
bin/guile
|
||||
bin/guile-config
|
||||
bin/guile-snarf
|
||||
bin/guile-tools
|
||||
bin/guild%%GUILE_SFX%%
|
||||
bin/guile%%GUILE_SFX%%
|
||||
bin/guile-config%%GUILE_SFX%%
|
||||
bin/guile-snarf%%GUILE_SFX%%
|
||||
bin/guile-tools%%GUILE_SFX%%
|
||||
bin/guild-%%GUILE_VER%%
|
||||
bin/guile-%%GUILE_VER%%
|
||||
bin/guile-config-%%GUILE_VER%%
|
||||
bin/guile-snarf-%%GUILE_VER%%
|
||||
bin/guile-tools-%%GUILE_VER%%
|
||||
include/guile/%%GUILE_VER%%/libguile.h
|
||||
include/guile/%%GUILE_VER%%/libguile/__scm.h
|
||||
include/guile/%%GUILE_VER%%/libguile/alist.h
|
||||
@ -442,8 +447,8 @@ lib/libguile-%%GUILE_VER%%.so.1
|
||||
lib/libguile-%%GUILE_VER%%.so.1.4.2
|
||||
lib/libguile-%%GUILE_VER%%.so.1.4.2-gdb.scm
|
||||
libdata/pkgconfig/guile-%%GUILE_VER%%.pc
|
||||
man/man1/guile.1.gz
|
||||
share/aclocal/guile.m4
|
||||
man/man1/guile%%GUILE_SFX%%.1.gz
|
||||
@comment share/aclocal/guile.m4
|
||||
%%DATADIR%%/%%GUILE_VER%%/guile-procedures.txt
|
||||
%%DATADIR%%/%%GUILE_VER%%/ice-9/and-let-star.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/ice-9/arrays.scm
|
||||
|
100
lang/guile3/Makefile
Normal file
100
lang/guile3/Makefile
Normal file
@ -0,0 +1,100 @@
|
||||
PORTNAME?= guile
|
||||
PORTVERSION= 3.0.9
|
||||
CATEGORIES= lang scheme
|
||||
MASTER_SITES= GNU
|
||||
PKGNAMESUFFIX?= 3
|
||||
|
||||
MAINTAINER= bofh@FreeBSD.org
|
||||
COMMENT= GNU Ubiquitous Intelligent Language for Extension
|
||||
WWW= https://www.gnu.org/software/guile/
|
||||
|
||||
LICENSE= GPLv3 LGPL3
|
||||
LICENSE_COMB= multi
|
||||
|
||||
USES= tar:lz
|
||||
|
||||
# The -aclocal slave port includes this file to get the version,
|
||||
# distinfo, etc., but needs none of the definitions. So almost all
|
||||
# of the file is inside this .if
|
||||
|
||||
.if empty(NO_BUILD)
|
||||
|
||||
LIB_DEPENDS= libunistring.so:devel/libunistring \
|
||||
libffi.so:devel/libffi
|
||||
|
||||
# the aclocal/guile.m4 from this version is shared with guile2,
|
||||
# so it's hived off into a separate port to avoid a conflict.
|
||||
RUN_DEPENDS= guile-aclocal>=3:lang/guile-aclocal
|
||||
|
||||
USES+= guile:${PORTVERSION:R},env \
|
||||
charsetfix compiler:c11 cpe gmake iconv libtool \
|
||||
makeinfo pathfix pkgconfig readline localbase
|
||||
CPE_VENDOR= gnu
|
||||
USE_LDCONFIG= yes
|
||||
GNU_CONFIGURE= yes
|
||||
CONFIGURE_ARGS= --program-suffix=-${GUILE_VER} \
|
||||
--enable-lto=no
|
||||
# LTO is unconditionally off here because it fails to build with llvm,
|
||||
# fails to build even with gcc on some arches (reported for armv7 in
|
||||
# particular), and making it conditional on gcc/arch is trickier than
|
||||
# is strictly necessary. LTO_UNSAFE stops the framework from trying to
|
||||
# enable it for us if the user asks. Don't re-enable it unless you
|
||||
# tested build+run on more than just amd64/arm46.
|
||||
LTO_UNSAFE= yes
|
||||
|
||||
# eliminate some pointless configure warnings/errors
|
||||
CONFIGURE_ENV+= gl_cv_func_working_mktime=yes \
|
||||
ac_cv_header_sys_timeb_h=0
|
||||
|
||||
MAKE_JOBS_UNSAFE= yes
|
||||
|
||||
INSTALL_TARGET= install-strip
|
||||
|
||||
INFO= guile r5rs
|
||||
|
||||
INFO_PATH= ${GUILE_INFO_PATH}
|
||||
|
||||
OPTIONS_DEFINE= NLS THREADS MINIGMP
|
||||
OPTIONS_DEFAULT=THREADS
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
MINIGMP_DESC= Use embedded mini-gmp rather than external libgmp
|
||||
|
||||
MINIGMP_LIB_DEPENDS_OFF= libgmp.so:math/gmp
|
||||
MINIGMP_CONFIGURE_ENABLE= mini-gmp
|
||||
|
||||
NLS_USES= gettext
|
||||
NLS_CONFIGURE_ENABLE= nls
|
||||
|
||||
THREADS_LIB_DEPENDS= libgc-threaded.so:devel/boehm-gc-threaded
|
||||
THREADS_LIB_DEPENDS_OFF=libgc.so:devel/boehm-gc
|
||||
THREADS_CONFIGURE_ON= --with-bdw-gc=bdw-gc-threaded
|
||||
THREADS_CONFIGURE_OFF= --with-bdw-gc=bdw-gc
|
||||
THREADS_CONFIGURE_WITH= threads
|
||||
|
||||
# Upstream bugfixes: these aren't optional because the release version
|
||||
# has a broken (spawn*) function, which breaks guile-config, which
|
||||
# breaks builds of some dependent ports.
|
||||
|
||||
EXTRA_PATCHES= ${PATCHDIR}/extra-patch-upstream-fixes.patch
|
||||
|
||||
# The prebuilt bytecode files are reported not to work on powerpc.
|
||||
|
||||
post-patch:
|
||||
@${RM} -r ${WRKSRC}/prebuilt/32-bit-big-endian
|
||||
|
||||
# DO NOT try and add rules here to strip .go files, no matter how loudly
|
||||
# testport / stage-qa shouts at you about it, because .go files (which are
|
||||
# compiled bytecode) are not intended to be stripped and doing so causes
|
||||
# breakage at run time.
|
||||
|
||||
post-install:
|
||||
for p in guile guild guile-tools guile-config guile-snarf; do \
|
||||
${LN} -s $${p}-${GUILE_VER} ${STAGEDIR}${PREFIX}/bin/$${p}${GUILE_SFX}; \
|
||||
done
|
||||
${MV} ${STAGEDIR}${PREFIX}/man/man1/guile-${GUILE_VER}.1 \
|
||||
${STAGEDIR}${PREFIX}/man/man1/guile${GUILE_SFX}.1
|
||||
|
||||
.endif # empty(NO_BUILD)
|
||||
|
||||
.include <bsd.port.mk>
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1675263283
|
||||
TIMESTAMP = 1684250510
|
||||
SHA256 (guile-3.0.9.tar.lz) = bc0ee0a360fb13919c14eb6e2453319adf1ec998288c993829bcf178fb48cc9a
|
||||
SIZE (guile-3.0.9.tar.lz) = 5435196
|
789
lang/guile3/files/extra-patch-upstream-fixes.patch
Normal file
789
lang/guile3/files/extra-patch-upstream-fixes.patch
Normal file
@ -0,0 +1,789 @@
|
||||
diff --git libguile/hash.c libguile/hash.c
|
||||
index c192ac2e5..5abdfe397 100644
|
||||
--- libguile/hash.c
|
||||
+++ libguile/hash.c
|
||||
@@ -185,7 +185,7 @@ scm_i_utf8_string_hash (const char *str, size_t len)
|
||||
/* Invalid UTF-8; punt. */
|
||||
return scm_i_string_hash (scm_from_utf8_stringn (str, len));
|
||||
|
||||
- length = u8_strnlen (ustr, len);
|
||||
+ length = u8_mbsnlen (ustr, len);
|
||||
|
||||
/* Set up the internal state. */
|
||||
a = b = c = 0xdeadbeef + ((uint32_t)(length<<2)) + 47;
|
||||
diff --git libguile/posix.c libguile/posix.c
|
||||
index 0b1fe2637..4cf4ef383 100644
|
||||
--- libguile/posix.c
|
||||
+++ libguile/posix.c
|
||||
@@ -1322,41 +1322,38 @@ SCM_DEFINE (scm_fork, "primitive-fork", 0, 0, 0,
|
||||
#undef FUNC_NAME
|
||||
#endif /* HAVE_FORK */
|
||||
|
||||
-static void
|
||||
-close_inherited_fds_slow (posix_spawn_file_actions_t *actions, int max_fd)
|
||||
-{
|
||||
- while (--max_fd > 2)
|
||||
- posix_spawn_file_actions_addclose (actions, max_fd);
|
||||
-}
|
||||
+#ifdef HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSEFROM_NP
|
||||
+# define HAVE_ADDCLOSEFROM 1
|
||||
+#endif
|
||||
+
|
||||
+#ifndef HAVE_ADDCLOSEFROM
|
||||
|
||||
static void
|
||||
close_inherited_fds (posix_spawn_file_actions_t *actions, int max_fd)
|
||||
{
|
||||
- DIR *dirp;
|
||||
- struct dirent *d;
|
||||
- int fd;
|
||||
-
|
||||
- /* Try to use the platform-specific list of open file descriptors, so
|
||||
- we don't need to use the brute force approach. */
|
||||
- dirp = opendir ("/proc/self/fd");
|
||||
-
|
||||
- if (dirp == NULL)
|
||||
- return close_inherited_fds_slow (actions, max_fd);
|
||||
-
|
||||
- while ((d = readdir (dirp)) != NULL)
|
||||
+ while (--max_fd > 2)
|
||||
{
|
||||
- fd = atoi (d->d_name);
|
||||
-
|
||||
- /* Skip "." and "..", garbage entries, stdin/stdout/stderr. */
|
||||
- if (fd <= 2)
|
||||
- continue;
|
||||
-
|
||||
- posix_spawn_file_actions_addclose (actions, fd);
|
||||
+ /* Adding a 'close' action for a file descriptor that is not open
|
||||
+ causes 'posix_spawn' to fail on GNU/Hurd and on OpenBSD, but
|
||||
+ not on GNU/Linux: <https://bugs.gnu.org/61095>. Hence this
|
||||
+ strategy:
|
||||
+
|
||||
+ - On GNU/Linux, close every FD, since that's the only
|
||||
+ race-free way to make sure the child doesn't inherit one.
|
||||
+ - On other systems, only close FDs currently open in the
|
||||
+ parent; it works, but it's racy (XXX).
|
||||
+
|
||||
+ The only reliable option is 'addclosefrom'. */
|
||||
+#if ! (defined __GLIBC__ && defined __linux__)
|
||||
+ int flags = fcntl (max_fd, F_GETFD, NULL);
|
||||
+ if (flags >= 0)
|
||||
+#endif
|
||||
+ posix_spawn_file_actions_addclose (actions, max_fd);
|
||||
}
|
||||
-
|
||||
- closedir (dirp);
|
||||
}
|
||||
|
||||
+#endif
|
||||
+
|
||||
static pid_t
|
||||
do_spawn (char *exec_file, char **exec_argv, char **exec_env,
|
||||
int in, int out, int err, int spawnp)
|
||||
@@ -1393,14 +1390,27 @@ do_spawn (char *exec_file, char **exec_argv, char **exec_env,
|
||||
/* Move the fds out of the way, so that duplicate fds or fds equal
|
||||
to 0, 1, 2 don't trample each other */
|
||||
|
||||
- posix_spawn_file_actions_adddup2 (&actions, in, fd_slot[0]);
|
||||
- posix_spawn_file_actions_adddup2 (&actions, out, fd_slot[1]);
|
||||
- posix_spawn_file_actions_adddup2 (&actions, err, fd_slot[2]);
|
||||
- posix_spawn_file_actions_adddup2 (&actions, fd_slot[0], 0);
|
||||
- posix_spawn_file_actions_adddup2 (&actions, fd_slot[1], 1);
|
||||
- posix_spawn_file_actions_adddup2 (&actions, fd_slot[2], 2);
|
||||
+ int dup2_action_from[] = {in, out, err,
|
||||
+ fd_slot[0], fd_slot[1], fd_slot[2]};
|
||||
+ int dup2_action_to [] = {fd_slot[0], fd_slot[1], fd_slot[2],
|
||||
+ 0, 1, 2};
|
||||
|
||||
+ errno = 0;
|
||||
+ for (int i = 0; i < sizeof (dup2_action_from) / sizeof (int); i++)
|
||||
+ {
|
||||
+ errno = posix_spawn_file_actions_adddup2 (&actions, dup2_action_from[i],
|
||||
+ dup2_action_to[i]);
|
||||
+ if (errno != 0)
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+#ifdef HAVE_ADDCLOSEFROM
|
||||
+ /* This function appears in glibc 2.34. It's both free from race
|
||||
+ conditions and more efficient than the alternative. */
|
||||
+ posix_spawn_file_actions_addclosefrom_np (&actions, 3);
|
||||
+#else
|
||||
close_inherited_fds (&actions, max_fd);
|
||||
+#endif
|
||||
|
||||
int res = -1;
|
||||
if (spawnp)
|
||||
@@ -1486,12 +1496,20 @@ SCM_DEFINE (scm_spawn_process, "spawn", 2, 0, 1,
|
||||
if (SCM_UNBNDP (err_scm))
|
||||
err_scm = scm_current_error_port ();
|
||||
|
||||
-#define FDES_FROM_PORT_OR_INTEGER(obj) \
|
||||
- (scm_is_integer (obj) ? scm_to_int (obj) : SCM_FPORT_FDES (obj))
|
||||
+#define FDES_FROM_PORT_OR_INTEGER(fd, obj, pos) \
|
||||
+ { \
|
||||
+ if (scm_is_integer (obj)) \
|
||||
+ fd = scm_to_int (obj); \
|
||||
+ else \
|
||||
+ { \
|
||||
+ SCM_VALIDATE_OPFPORT (pos, obj); \
|
||||
+ fd = SCM_FPORT_FDES (obj); \
|
||||
+ } \
|
||||
+ }
|
||||
|
||||
- in = FDES_FROM_PORT_OR_INTEGER (in_scm);
|
||||
- out = FDES_FROM_PORT_OR_INTEGER (out_scm);
|
||||
- err = FDES_FROM_PORT_OR_INTEGER (err_scm);
|
||||
+ FDES_FROM_PORT_OR_INTEGER (in, in_scm, 3);
|
||||
+ FDES_FROM_PORT_OR_INTEGER (out, out_scm, 4);
|
||||
+ FDES_FROM_PORT_OR_INTEGER (err, err_scm, 5);
|
||||
|
||||
#undef FDES_FROM_PORT_OR_INTEGER
|
||||
|
||||
@@ -1544,10 +1562,22 @@ piped_process (pid_t *pid, SCM prog, SCM args, SCM from, SCM to)
|
||||
|
||||
if (SCM_OPOUTFPORTP ((port = scm_current_error_port ())))
|
||||
err = SCM_FPORT_FDES (port);
|
||||
- if (out == -1 && SCM_OPOUTFPORTP ((port = scm_current_output_port ())))
|
||||
- out = SCM_FPORT_FDES (port);
|
||||
- if (in == -1 && SCM_OPINFPORTP ((port = scm_current_input_port ())))
|
||||
- in = SCM_FPORT_FDES (port);
|
||||
+ else
|
||||
+ err = open ("/dev/null", O_WRONLY | O_CLOEXEC);
|
||||
+ if (out == -1)
|
||||
+ {
|
||||
+ if (SCM_OPOUTFPORTP ((port = scm_current_output_port ())))
|
||||
+ out = SCM_FPORT_FDES (port);
|
||||
+ else
|
||||
+ out = open ("/dev/null", O_WRONLY | O_CLOEXEC);
|
||||
+ }
|
||||
+ if (in == -1)
|
||||
+ {
|
||||
+ if (SCM_OPINFPORTP ((port = scm_current_input_port ())))
|
||||
+ in = SCM_FPORT_FDES (port);
|
||||
+ else
|
||||
+ in = open ("/dev/null", O_RDONLY | O_CLOEXEC);
|
||||
+ }
|
||||
}
|
||||
|
||||
*pid = do_spawn (exec_file, exec_argv, exec_env, in, out, err, 1);
|
||||
diff --git libguile/symbols.c libguile/symbols.c
|
||||
index 02be7c1c4..086abf585 100644
|
||||
--- libguile/symbols.c
|
||||
+++ libguile/symbols.c
|
||||
@@ -239,7 +239,7 @@ static SCM
|
||||
scm_i_str2symbol (SCM str)
|
||||
{
|
||||
SCM symbol;
|
||||
- size_t raw_hash = scm_i_string_hash (str);
|
||||
+ unsigned long raw_hash = scm_i_string_hash (str);
|
||||
|
||||
symbol = lookup_interned_symbol (str, raw_hash);
|
||||
if (scm_is_true (symbol))
|
||||
@@ -261,7 +261,7 @@ scm_i_str2symbol (SCM str)
|
||||
static SCM
|
||||
scm_i_str2uninterned_symbol (SCM str)
|
||||
{
|
||||
- size_t raw_hash = scm_i_string_hash (str);
|
||||
+ unsigned long raw_hash = scm_i_string_hash (str);
|
||||
|
||||
return scm_i_make_symbol (str, SCM_I_F_SYMBOL_UNINTERNED, raw_hash);
|
||||
}
|
||||
diff --git libguile/vm.c libguile/vm.c
|
||||
index b565db970..36138f0d5 100644
|
||||
--- libguile/vm.c
|
||||
+++ libguile/vm.c
|
||||
@@ -1,4 +1,4 @@
|
||||
-/* Copyright 2001,2009-2015,2017-2020,2022
|
||||
+/* Copyright 2001,2009-2015,2017-2020,2022-2023
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
@@ -451,11 +451,12 @@ define_vm_builtins (void)
|
||||
|
||||
const uint32_t call_with_values_code[] = {
|
||||
SCM_PACK_OP_24 (assert_nargs_ee, 3),
|
||||
- SCM_PACK_OP_24 (alloc_frame, 8),
|
||||
- SCM_PACK_OP_12_12 (mov, 0, 6),
|
||||
- SCM_PACK_OP_24 (call, 7), SCM_PACK_OP_ARG_8_24 (0, 1),
|
||||
- SCM_PACK_OP_24 (long_fmov, 0), SCM_PACK_OP_ARG_8_24 (0, 2),
|
||||
- SCM_PACK_OP_12_12 (shuffle_down, 7, 1),
|
||||
+ SCM_PACK_OP_24 (alloc_frame, 6),
|
||||
+ SCM_PACK_OP_12_12 (mov, 0, 4),
|
||||
+ SCM_PACK_OP_12_12 (mov, 4, 3),
|
||||
+ SCM_PACK_OP_24 (call, 5), SCM_PACK_OP_ARG_8_24 (0, 1),
|
||||
+ SCM_PACK_OP_24 (long_fmov, 0), SCM_PACK_OP_ARG_8_24 (0, 1),
|
||||
+ SCM_PACK_OP_12_12 (shuffle_down, 5, 1),
|
||||
SCM_PACK_OP_24 (tail_call, 0)
|
||||
};
|
||||
|
||||
diff --git module/ice-9/copy-tree.scm module/ice-9/copy-tree.scm
|
||||
index e1d91ad9e..004167821 100644
|
||||
--- module/ice-9/copy-tree.scm
|
||||
+++ module/ice-9/copy-tree.scm
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
|
||||
(define-module (ice-9 copy-tree)
|
||||
- #:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-11)
|
||||
#:replace (copy-tree))
|
||||
|
||||
diff --git module/ice-9/eval-string.scm module/ice-9/eval-string.scm
|
||||
index 789980938..ea0f17777 100644
|
||||
--- module/ice-9/eval-string.scm
|
||||
+++ module/ice-9/eval-string.scm
|
||||
@@ -21,7 +21,6 @@
|
||||
(define-module (ice-9 eval-string)
|
||||
#:use-module (system base compile)
|
||||
#:use-module (system base language)
|
||||
- #:use-module (system vm program)
|
||||
#:use-module (system vm loader)
|
||||
#:replace (eval-string))
|
||||
|
||||
diff --git module/ice-9/getopt-long.scm module/ice-9/getopt-long.scm
|
||||
index 14eaf8e23..18b235390 100644
|
||||
--- module/ice-9/getopt-long.scm
|
||||
+++ module/ice-9/getopt-long.scm
|
||||
@@ -161,7 +161,6 @@
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 regex)
|
||||
- #:use-module (ice-9 optargs)
|
||||
#:export (getopt-long option-ref))
|
||||
|
||||
(define %program-name (make-fluid "guile"))
|
||||
diff --git module/ice-9/poll.scm module/ice-9/poll.scm
|
||||
index 57b5047ab..2688270ac 100644
|
||||
--- module/ice-9/poll.scm
|
||||
+++ module/ice-9/poll.scm
|
||||
@@ -19,7 +19,6 @@
|
||||
|
||||
(define-module (ice-9 poll)
|
||||
#:use-module (srfi srfi-9)
|
||||
- #:use-module (srfi srfi-9 gnu)
|
||||
#:use-module (rnrs bytevectors)
|
||||
#:export (make-empty-poll-set
|
||||
poll-set?
|
||||
diff --git module/ice-9/popen.scm module/ice-9/popen.scm
|
||||
index e638726a4..957cde0aa 100644
|
||||
--- module/ice-9/popen.scm
|
||||
+++ module/ice-9/popen.scm
|
||||
@@ -19,7 +19,6 @@
|
||||
;;;;
|
||||
|
||||
(define-module (ice-9 popen)
|
||||
- #:use-module (rnrs bytevectors)
|
||||
#:use-module (ice-9 binary-ports)
|
||||
#:use-module (ice-9 threads)
|
||||
#:use-module (srfi srfi-1)
|
||||
diff --git module/ice-9/sandbox.scm module/ice-9/sandbox.scm
|
||||
index fcfc57365..601485cce 100644
|
||||
--- module/ice-9/sandbox.scm
|
||||
+++ module/ice-9/sandbox.scm
|
||||
@@ -21,7 +21,6 @@
|
||||
;;; Code:
|
||||
|
||||
(define-module (ice-9 sandbox)
|
||||
- #:use-module (ice-9 control)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module ((ice-9 threads) #:select (current-thread))
|
||||
#:use-module (system vm vm)
|
||||
diff --git module/ice-9/suspendable-ports.scm module/ice-9/suspendable-ports.scm
|
||||
index a823f1d37..9fac1df62 100644
|
||||
--- module/ice-9/suspendable-ports.scm
|
||||
+++ module/ice-9/suspendable-ports.scm
|
||||
@@ -419,7 +419,7 @@
|
||||
(= (logand u8_2 #xc0) #x80)
|
||||
(case u8_0
|
||||
((#xe0) (>= u8_1 #xa0))
|
||||
- ((#xed) (>= u8_1 #x9f))
|
||||
+ ((#xed) (<= u8_1 #x9f))
|
||||
(else #t)))
|
||||
(kt (integer->char
|
||||
(logior (ash (logand u8_0 #x0f) 12)
|
||||
@@ -436,7 +436,7 @@
|
||||
(= (logand u8_3 #xc0) #x80)
|
||||
(case u8_0
|
||||
((#xf0) (>= u8_1 #x90))
|
||||
- ((#xf4) (>= u8_1 #x8f))
|
||||
+ ((#xf4) (<= u8_1 #x8f))
|
||||
(else #t)))
|
||||
(kt (integer->char
|
||||
(logior (ash (logand u8_0 #x07) 18)
|
||||
@@ -462,7 +462,7 @@
|
||||
((< buffering 2) 1)
|
||||
((not (= (logand (ref 1) #xc0) #x80)) 1)
|
||||
((and (eq? first-byte #xe0) (< (ref 1) #xa0)) 1)
|
||||
- ((and (eq? first-byte #xed) (< (ref 1) #x9f)) 1)
|
||||
+ ((and (eq? first-byte #xed) (> (ref 1) #x9f)) 1)
|
||||
((< buffering 3) 2)
|
||||
((not (= (logand (ref 2) #xc0) #x80)) 2)
|
||||
(else 0)))
|
||||
@@ -471,7 +471,7 @@
|
||||
((< buffering 2) 1)
|
||||
((not (= (logand (ref 1) #xc0) #x80)) 1)
|
||||
((and (eq? first-byte #xf0) (< (ref 1) #x90)) 1)
|
||||
- ((and (eq? first-byte #xf4) (< (ref 1) #x8f)) 1)
|
||||
+ ((and (eq? first-byte #xf4) (> (ref 1) #x8f)) 1)
|
||||
((< buffering 3) 2)
|
||||
((not (= (logand (ref 2) #xc0) #x80)) 2)
|
||||
((< buffering 4) 3)
|
||||
diff --git module/ice-9/threads.scm module/ice-9/threads.scm
|
||||
index c42bd266f..5a13cec1d 100644
|
||||
--- module/ice-9/threads.scm
|
||||
+++ module/ice-9/threads.scm
|
||||
@@ -31,7 +31,6 @@
|
||||
|
||||
(define-module (ice-9 threads)
|
||||
#:use-module (ice-9 match)
|
||||
- #:use-module (ice-9 control)
|
||||
;; These bindings are marked as #:replace because when deprecated code
|
||||
;; is enabled, (ice-9 deprecated) also exports these names.
|
||||
;; (Referencing one of the deprecated names prints a warning directing
|
||||
diff --git module/sxml/apply-templates.scm module/sxml/apply-templates.scm
|
||||
index 0ee27477c..dd2742397 100644
|
||||
--- module/sxml/apply-templates.scm
|
||||
+++ module/sxml/apply-templates.scm
|
||||
@@ -49,9 +49,7 @@
|
||||
;;; Code:
|
||||
|
||||
(define-module (sxml apply-templates)
|
||||
- #:use-module (sxml ssax)
|
||||
#:use-module ((sxml xpath) :hide (filter))
|
||||
-
|
||||
#:export (apply-templates))
|
||||
|
||||
(define (apply-templates tree templates)
|
||||
diff --git module/sxml/simple.scm module/sxml/simple.scm
|
||||
index 703ad9137..57fccbc9c 100644
|
||||
--- module/sxml/simple.scm
|
||||
+++ module/sxml/simple.scm
|
||||
@@ -30,7 +30,6 @@
|
||||
#:use-module (sxml ssax)
|
||||
#:use-module (sxml transform)
|
||||
#:use-module (ice-9 match)
|
||||
- #:use-module (srfi srfi-13)
|
||||
#:export (xml->sxml sxml->xml sxml->string))
|
||||
|
||||
;; Helpers from upstream/SSAX.scm.
|
||||
diff --git module/system/base/types.scm module/system/base/types.scm
|
||||
index b63febff8..7ed038d3a 100644
|
||||
--- module/system/base/types.scm
|
||||
+++ module/system/base/types.scm
|
||||
@@ -20,7 +20,6 @@
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-9 gnu)
|
||||
- #:use-module (srfi srfi-11)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-60)
|
||||
#:use-module (ice-9 match)
|
||||
diff --git module/system/repl/command.scm module/system/repl/command.scm
|
||||
index 0024fd165..74187270a 100644
|
||||
--- module/system/repl/command.scm
|
||||
+++ module/system/repl/command.scm
|
||||
@@ -20,7 +20,6 @@
|
||||
;;; Code:
|
||||
|
||||
(define-module (system repl command)
|
||||
- #:use-module (system base syntax)
|
||||
#:use-module (system base pmatch)
|
||||
#:autoload (system base compile) (compile-file)
|
||||
#:use-module (system repl common)
|
||||
@@ -31,14 +30,12 @@
|
||||
#:use-module (system vm loader)
|
||||
#:use-module (system vm program)
|
||||
#:use-module (system vm trap-state)
|
||||
- #:use-module (system vm vm)
|
||||
#:autoload (system base language) (lookup-language language-reader
|
||||
language-title language-name)
|
||||
#:autoload (system vm trace) (call-with-trace)
|
||||
#:use-module (ice-9 format)
|
||||
#:use-module (ice-9 session)
|
||||
#:use-module (ice-9 documentation)
|
||||
- #:use-module (ice-9 and-let-star)
|
||||
#:use-module (ice-9 rdelim)
|
||||
#:use-module (ice-9 control)
|
||||
#:use-module ((ice-9 pretty-print) #:select ((pretty-print . pp)))
|
||||
diff --git module/system/repl/common.scm module/system/repl/common.scm
|
||||
index 8c5426d37..59b5c494a 100644
|
||||
--- module/system/repl/common.scm
|
||||
+++ module/system/repl/common.scm
|
||||
@@ -22,8 +22,6 @@
|
||||
#:use-module (system base syntax)
|
||||
#:use-module (system base compile)
|
||||
#:use-module (system base language)
|
||||
- #:use-module (system base message)
|
||||
- #:use-module (system vm program)
|
||||
#:use-module (system vm loader)
|
||||
#:use-module (ice-9 control)
|
||||
#:use-module (ice-9 copy-tree)
|
||||
diff --git module/system/repl/coop-server.scm module/system/repl/coop-server.scm
|
||||
index c29bbd645..aaab44f6e 100644
|
||||
--- module/system/repl/coop-server.scm
|
||||
+++ module/system/repl/coop-server.scm
|
||||
@@ -21,7 +21,6 @@
|
||||
|
||||
(define-module (system repl coop-server)
|
||||
#:use-module (ice-9 match)
|
||||
- #:use-module (ice-9 receive)
|
||||
#:use-module (ice-9 threads)
|
||||
#:use-module (ice-9 q)
|
||||
#:use-module (srfi srfi-9)
|
||||
diff --git module/system/repl/debug.scm module/system/repl/debug.scm
|
||||
index 383d37921..c83241340 100644
|
||||
--- module/system/repl/debug.scm
|
||||
+++ module/system/repl/debug.scm
|
||||
@@ -19,17 +19,11 @@
|
||||
;;; Code:
|
||||
|
||||
(define-module (system repl debug)
|
||||
- #:use-module (system base pmatch)
|
||||
#:use-module (system base syntax)
|
||||
- #:use-module (system base language)
|
||||
- #:use-module (system vm vm)
|
||||
#:use-module (system vm frame)
|
||||
#:use-module (system vm debug)
|
||||
#:use-module (ice-9 format)
|
||||
#:use-module (ice-9 match)
|
||||
- #:use-module (ice-9 rdelim)
|
||||
- #:use-module (ice-9 pretty-print)
|
||||
- #:use-module ((system vm inspect) #:select ((inspect . %inspect)))
|
||||
#:use-module (system vm program)
|
||||
#:export (<debug>
|
||||
make-debug debug?
|
||||
diff --git module/system/repl/error-handling.scm module/system/repl/error-handling.scm
|
||||
index 8d5a8a5f0..c12ca6f4a 100644
|
||||
--- module/system/repl/error-handling.scm
|
||||
+++ module/system/repl/error-handling.scm
|
||||
@@ -20,7 +20,6 @@
|
||||
;;; Code:
|
||||
|
||||
(define-module (system repl error-handling)
|
||||
- #:use-module (system base pmatch)
|
||||
#:use-module (system vm trap-state)
|
||||
#:use-module (system repl debug)
|
||||
#:use-module (ice-9 format)
|
||||
diff --git module/system/repl/repl.scm module/system/repl/repl.scm
|
||||
index 5b27125f1..d83d28759 100644
|
||||
--- module/system/repl/repl.scm
|
||||
+++ module/system/repl/repl.scm
|
||||
@@ -21,11 +21,7 @@
|
||||
;;; Code:
|
||||
|
||||
(define-module (system repl repl)
|
||||
- #:use-module (system base syntax)
|
||||
- #:use-module (system base pmatch)
|
||||
- #:use-module (system base compile)
|
||||
#:use-module (system base language)
|
||||
- #:use-module (system vm vm)
|
||||
#:use-module (system repl error-handling)
|
||||
#:use-module (system repl common)
|
||||
#:use-module (system repl command)
|
||||
diff --git module/system/repl/server.scm module/system/repl/server.scm
|
||||
index 7a04affe9..9a8f51c5b 100644
|
||||
--- module/system/repl/server.scm
|
||||
+++ module/system/repl/server.scm
|
||||
@@ -27,7 +27,6 @@
|
||||
#:use-module (ice-9 iconv)
|
||||
#:use-module (rnrs bytevectors)
|
||||
#:use-module (ice-9 binary-ports)
|
||||
- #:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26) ; cut
|
||||
#:export (make-tcp-server-socket
|
||||
make-unix-domain-server-socket
|
||||
diff --git module/system/vm/assembler.scm module/system/vm/assembler.scm
|
||||
index 165976363..33f3018f6 100644
|
||||
--- module/system/vm/assembler.scm
|
||||
+++ module/system/vm/assembler.scm
|
||||
@@ -51,12 +51,10 @@
|
||||
#:use-module (system syntax internal)
|
||||
#:use-module (language bytecode)
|
||||
#:use-module (rnrs bytevectors)
|
||||
- #:use-module (rnrs bytevectors gnu)
|
||||
#:use-module (ice-9 binary-ports)
|
||||
#:use-module (ice-9 vlist)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-1)
|
||||
- #:use-module (srfi srfi-4)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-11)
|
||||
#:export (make-assembler
|
||||
diff --git module/system/vm/disassembler.scm module/system/vm/disassembler.scm
|
||||
index 2c9755ab9..ac1d21639 100644
|
||||
--- module/system/vm/disassembler.scm
|
||||
+++ module/system/vm/disassembler.scm
|
||||
@@ -29,9 +29,7 @@
|
||||
#:use-module (rnrs bytevectors)
|
||||
#:use-module (ice-9 format)
|
||||
#:use-module (ice-9 match)
|
||||
- #:use-module (ice-9 vlist)
|
||||
#:use-module (srfi srfi-1)
|
||||
- #:use-module (srfi srfi-4)
|
||||
#:export (disassemble-program
|
||||
fold-program-code
|
||||
disassemble-image
|
||||
diff --git module/system/vm/dwarf.scm module/system/vm/dwarf.scm
|
||||
index f3e45c758..587906c9e 100644
|
||||
--- module/system/vm/dwarf.scm
|
||||
+++ module/system/vm/dwarf.scm
|
||||
@@ -71,8 +71,6 @@
|
||||
|
||||
(define-module (system vm dwarf)
|
||||
#:use-module (rnrs bytevectors)
|
||||
- #:use-module (system foreign)
|
||||
- #:use-module (system base target)
|
||||
#:use-module (system vm elf)
|
||||
#:use-module ((srfi srfi-1) #:select (fold))
|
||||
#:use-module (srfi srfi-9)
|
||||
diff --git module/system/vm/elf.scm module/system/vm/elf.scm
|
||||
index 6ee62f129..8cd142bbe 100644
|
||||
--- module/system/vm/elf.scm
|
||||
+++ module/system/vm/elf.scm
|
||||
@@ -36,8 +36,6 @@
|
||||
#:use-module (system foreign)
|
||||
#:use-module (system base target)
|
||||
#:use-module (srfi srfi-9)
|
||||
- #:use-module (ice-9 receive)
|
||||
- #:use-module (ice-9 vlist)
|
||||
#:export (has-elf-header?
|
||||
|
||||
(make-elf* . make-elf)
|
||||
diff --git module/system/vm/frame.scm module/system/vm/frame.scm
|
||||
index 6b14fc62a..9218bf3b2 100644
|
||||
--- module/system/vm/frame.scm
|
||||
+++ module/system/vm/frame.scm
|
||||
@@ -19,8 +19,6 @@
|
||||
;;; Code:
|
||||
|
||||
(define-module (system vm frame)
|
||||
- #:use-module (system base pmatch)
|
||||
- #:use-module (system foreign)
|
||||
#:use-module (system vm program)
|
||||
#:use-module (system vm debug)
|
||||
#:use-module (system vm disassembler)
|
||||
diff --git module/system/vm/inspect.scm module/system/vm/inspect.scm
|
||||
index 1f6d99d19..4825fa234 100644
|
||||
--- module/system/vm/inspect.scm
|
||||
+++ module/system/vm/inspect.scm
|
||||
@@ -19,12 +19,7 @@
|
||||
;;; Code:
|
||||
|
||||
(define-module (system vm inspect)
|
||||
- #:use-module (system base pmatch)
|
||||
- #:use-module (system base syntax)
|
||||
- #:use-module (system vm vm)
|
||||
- #:use-module (system vm frame)
|
||||
#:use-module (system vm disassembler)
|
||||
- #:use-module (ice-9 rdelim)
|
||||
#:use-module (ice-9 pretty-print)
|
||||
#:use-module (ice-9 format)
|
||||
#:use-module (system vm program)
|
||||
diff --git module/system/vm/linker.scm module/system/vm/linker.scm
|
||||
index e126cfb0d..cf213323e 100644
|
||||
--- module/system/vm/linker.scm
|
||||
+++ module/system/vm/linker.scm
|
||||
@@ -67,9 +67,7 @@
|
||||
(define-module (system vm linker)
|
||||
#:use-module (rnrs bytevectors)
|
||||
#:use-module (rnrs bytevectors gnu)
|
||||
- #:use-module (system foreign)
|
||||
#:use-module (system base target)
|
||||
- #:use-module ((srfi srfi-1) #:select (append-map))
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (ice-9 binary-ports)
|
||||
#:use-module (ice-9 receive)
|
||||
diff --git module/system/vm/program.scm module/system/vm/program.scm
|
||||
index e5dbcc089..4858d5158 100644
|
||||
--- module/system/vm/program.scm
|
||||
+++ module/system/vm/program.scm
|
||||
@@ -21,7 +21,6 @@
|
||||
(define-module (system vm program)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (system vm debug)
|
||||
- #:use-module (rnrs bytevectors)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:export (source:addr source:line source:column source:file
|
||||
diff --git module/system/vm/trace.scm module/system/vm/trace.scm
|
||||
index 54840d8fd..c1eaffa9c 100644
|
||||
--- module/system/vm/trace.scm
|
||||
+++ module/system/vm/trace.scm
|
||||
@@ -19,12 +19,9 @@
|
||||
;;; Code:
|
||||
|
||||
(define-module (system vm trace)
|
||||
- #:use-module (system base syntax)
|
||||
#:use-module (system vm vm)
|
||||
#:use-module (system vm frame)
|
||||
- #:use-module (system vm program)
|
||||
#:use-module (system vm traps)
|
||||
- #:use-module (rnrs bytevectors)
|
||||
#:use-module (ice-9 format)
|
||||
#:export (trace-calls-in-procedure
|
||||
trace-calls-to-procedure
|
||||
diff --git module/system/vm/trap-state.scm module/system/vm/trap-state.scm
|
||||
index 464740bcd..ba4cc6b31 100644
|
||||
--- module/system/vm/trap-state.scm
|
||||
+++ module/system/vm/trap-state.scm
|
||||
@@ -26,7 +26,6 @@
|
||||
#:use-module (system vm vm)
|
||||
#:use-module (system vm traps)
|
||||
#:use-module (system vm trace)
|
||||
- #:use-module (system vm frame)
|
||||
#:use-module (system vm program)
|
||||
#:export (add-trap!
|
||||
list-traps
|
||||
diff --git module/system/vm/traps.scm module/system/vm/traps.scm
|
||||
index 76be8d7d3..cd0e13cc9 100644
|
||||
--- module/system/vm/traps.scm
|
||||
+++ module/system/vm/traps.scm
|
||||
@@ -58,10 +58,8 @@
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (system vm vm)
|
||||
#:use-module (system vm debug)
|
||||
- #:use-module (system vm frame)
|
||||
#:use-module (system vm program)
|
||||
#:use-module (system xref)
|
||||
- #:use-module (rnrs bytevectors)
|
||||
#:export (trap-at-procedure-call
|
||||
trap-in-procedure
|
||||
trap-instructions-in-procedure
|
||||
diff --git module/system/xref.scm module/system/xref.scm
|
||||
index e335f9481..104bf3edf 100644
|
||||
--- module/system/xref.scm
|
||||
+++ module/system/xref.scm
|
||||
@@ -17,7 +17,6 @@
|
||||
|
||||
|
||||
(define-module (system xref)
|
||||
- #:use-module (system base compile)
|
||||
#:use-module (system vm program)
|
||||
#:use-module (system vm disassembler)
|
||||
#:use-module (ice-9 match)
|
||||
diff --git module/texinfo/indexing.scm module/texinfo/indexing.scm
|
||||
index d7d10cd69..c77013d7d 100644
|
||||
--- module/texinfo/indexing.scm
|
||||
+++ module/texinfo/indexing.scm
|
||||
@@ -29,7 +29,6 @@
|
||||
|
||||
(define-module (texinfo indexing)
|
||||
#:use-module (sxml simple)
|
||||
- #:use-module (srfi srfi-13)
|
||||
#:export (stexi-extract-index))
|
||||
|
||||
(define defines
|
||||
diff --git module/texinfo/plain-text.scm module/texinfo/plain-text.scm
|
||||
index 5ea99c86b..666df74f5 100644
|
||||
--- module/texinfo/plain-text.scm
|
||||
+++ module/texinfo/plain-text.scm
|
||||
@@ -26,11 +26,8 @@
|
||||
;;; Code:
|
||||
|
||||
(define-module (texinfo plain-text)
|
||||
- #:use-module (texinfo)
|
||||
#:use-module (texinfo string-utils)
|
||||
- #:use-module (sxml transform)
|
||||
#:use-module (srfi srfi-1)
|
||||
- #:use-module (srfi srfi-13)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (stexi->plain-text
|
||||
*line-width*))
|
||||
diff --git module/texinfo/reflection.scm module/texinfo/reflection.scm
|
||||
index 50cb2ab05..4ff11995c 100644
|
||||
--- module/texinfo/reflection.scm
|
||||
+++ module/texinfo/reflection.scm
|
||||
@@ -33,10 +33,8 @@
|
||||
#:use-module (oop goops)
|
||||
#:use-module (texinfo)
|
||||
#:use-module (texinfo plain-text)
|
||||
- #:use-module (srfi srfi-13)
|
||||
#:use-module (ice-9 session)
|
||||
#:use-module (ice-9 documentation)
|
||||
- #:use-module (ice-9 optargs)
|
||||
#:use-module ((sxml transform) #:select (pre-post-order))
|
||||
#:export (module-stexi-documentation
|
||||
script-stexi-documentation
|
||||
diff --git module/texinfo/string-utils.scm module/texinfo/string-utils.scm
|
||||
index 42074d334..0d2c994d7 100644
|
||||
--- module/texinfo/string-utils.scm
|
||||
+++ module/texinfo/string-utils.scm
|
||||
@@ -24,8 +24,6 @@
|
||||
;;; Code:
|
||||
|
||||
(define-module (texinfo string-utils)
|
||||
- #:use-module (srfi srfi-13)
|
||||
- #:use-module (srfi srfi-14)
|
||||
#:export (escape-special-chars
|
||||
transform-string
|
||||
expand-tabs
|
||||
diff --git module/web/client.scm module/web/client.scm
|
||||
index a08c4203c..6c54c5021 100644
|
||||
--- module/web/client.scm
|
||||
+++ module/web/client.scm
|
||||
@@ -36,7 +36,6 @@
|
||||
#:use-module (ice-9 binary-ports)
|
||||
#:use-module (ice-9 copy-tree)
|
||||
#:use-module (ice-9 iconv)
|
||||
- #:use-module (ice-9 rdelim)
|
||||
#:use-module (web request)
|
||||
#:use-module (web response)
|
||||
#:use-module (web uri)
|
||||
@@ -45,8 +44,6 @@
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-9 gnu)
|
||||
#:use-module (srfi srfi-26)
|
||||
- #:use-module ((rnrs io ports)
|
||||
- #:prefix rnrs-ports:)
|
||||
#:use-module (ice-9 match)
|
||||
#:autoload (ice-9 ftw) (scandir)
|
||||
#:export (current-http-proxy
|
||||
diff --git module/web/http.scm module/web/http.scm
|
||||
index 29736f2eb..94f9c7ea8 100644
|
||||
--- module/web/http.scm
|
||||
+++ module/web/http.scm
|
||||
@@ -30,7 +30,6 @@
|
||||
;;; Code:
|
||||
|
||||
(define-module (web http)
|
||||
- #:use-module ((srfi srfi-1) #:select (append-map! map!))
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-19)
|
||||
#:use-module (ice-9 rdelim)
|
||||
@@ -39,7 +38,6 @@
|
||||
#:use-module (ice-9 binary-ports)
|
||||
#:use-module (ice-9 textual-ports)
|
||||
#:use-module (ice-9 exceptions)
|
||||
- #:use-module (rnrs bytevectors)
|
||||
#:use-module (web uri)
|
||||
#:export (string->header
|
||||
header->string
|
||||
diff --git module/web/request.scm module/web/request.scm
|
||||
index eea32e9ce..ff4b94485 100644
|
||||
--- module/web/request.scm
|
||||
+++ module/web/request.scm
|
||||
@@ -23,7 +23,6 @@
|
||||
#:use-module (rnrs bytevectors)
|
||||
#:use-module (ice-9 binary-ports)
|
||||
#:use-module (ice-9 textual-ports)
|
||||
- #:use-module (ice-9 rdelim)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (web uri)
|
||||
#:use-module (web http)
|
||||
diff --git module/web/response.scm module/web/response.scm
|
||||
index 06e1c6dc1..4ac4d74ca 100644
|
||||
--- module/web/response.scm
|
||||
+++ module/web/response.scm
|
||||
@@ -20,10 +20,8 @@
|
||||
;;; Code:
|
||||
|
||||
(define-module (web response)
|
||||
- #:use-module (rnrs bytevectors)
|
||||
#:use-module (ice-9 binary-ports)
|
||||
#:use-module (ice-9 textual-ports)
|
||||
- #:use-module (ice-9 rdelim)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (web http)
|
18
lang/guile3/files/patch-configure
Normal file
18
lang/guile3/files/patch-configure
Normal file
@ -0,0 +1,18 @@
|
||||
--- configure.orig 2023-05-25 12:23:46 UTC
|
||||
+++ configure
|
||||
@@ -60073,6 +60073,15 @@ then :
|
||||
|
||||
fi
|
||||
|
||||
+ac_fn_c_check_func "$LINENO" "posix_spawn_file_actions_addclosefrom_np" "ac_cv_func_posix_spawn_file_actions_addclosefrom_np"
|
||||
+if test "x$ac_cv_func_posix_spawn_file_actions_addclosefrom_np" = xyes
|
||||
+then :
|
||||
+ printf "%s\n" "#define HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSEFROM_NP 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+
|
||||
|
||||
# The newlib C library uses _NL_ prefixed locale langinfo constants.
|
||||
ac_fn_check_decl "$LINENO" "_NL_NUMERIC_GROUPING" "ac_cv_have_decl__NL_NUMERIC_GROUPING" "#include <langinfo.h>
|
20
lang/guile3/files/patch-libguile_Makefile.in
Normal file
20
lang/guile3/files/patch-libguile_Makefile.in
Normal file
@ -0,0 +1,20 @@
|
||||
--- libguile/Makefile.in.orig 2023-05-16 18:13:33 UTC
|
||||
+++ libguile/Makefile.in
|
||||
@@ -2535,7 +2535,7 @@ EXTRA_libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES =
|
||||
mini-gmp.h
|
||||
|
||||
INSTANTIATE = \
|
||||
- $(SED) -i -e 's,[@]pkgdatadir[@],$(pkgdatadir),g' \
|
||||
+ $(SED) -i '' -e 's,[@]pkgdatadir[@],$(pkgdatadir),g' \
|
||||
-e 's,[@]pkglibdir[@],$(pkglibdir),g' \
|
||||
-e 's,[@]GUILE_EFFECTIVE_VERSION[@],$(GUILE_EFFECTIVE_VERSION),g'
|
||||
|
||||
@@ -4633,7 +4633,7 @@ uninstall-hook:
|
||||
@MINGW_LIBPATH_FALSE@ @echo ' { "LIBS", "@GUILE_LIBS@" }, \' >> libpath.tmp
|
||||
@MINGW_LIBPATH_FALSE@ @echo ' { "CFLAGS", "@GUILE_CFLAGS@" }, \' >> libpath.tmp
|
||||
@MINGW_LIBPATH_FALSE@ @BUILD_DATE="$${SOURCE_DATE_EPOCH:-`date '+%s'`}" ; \
|
||||
-@MINGW_LIBPATH_FALSE@ echo ' { "buildstamp", "'`date -u +'%Y-%m-%d %T' -d @$$BUILD_DATE`'" }, \' >> libpath.tmp
|
||||
+@MINGW_LIBPATH_FALSE@ echo ' { "buildstamp", "'`date -j -u -f %s $$BUILD_DATE +'%Y-%m-%d %T'`'" }, \' >> libpath.tmp
|
||||
@MINGW_LIBPATH_FALSE@ @echo '}' >> libpath.tmp
|
||||
@MINGW_LIBPATH_FALSE@ $(AM_V_GEN)mv libpath.tmp libpath.h
|
||||
|
13
lang/guile3/files/patch-libguile_gen-scmconfig.c
Normal file
13
lang/guile3/files/patch-libguile_gen-scmconfig.c
Normal file
@ -0,0 +1,13 @@
|
||||
--- libguile/gen-scmconfig.c.orig 2021-03-09 19:24:59 UTC
|
||||
+++ libguile/gen-scmconfig.c
|
||||
@@ -343,6 +343,10 @@ main (int argc, char *argv[])
|
||||
pf ("typedef int scm_t_off;\n");
|
||||
pf ("#define SCM_T_OFF_MAX INT_MAX\n");
|
||||
pf ("#define SCM_T_OFF_MIN INT_MIN\n");
|
||||
+#elif SIZEOF_OFF_T == SIZEOF_LONG_LONG
|
||||
+ pf ("typedef long long int scm_t_off;\n");
|
||||
+ pf ("#define SCM_T_OFF_MAX LLONG_MAX\n");
|
||||
+ pf ("#define SCM_T_OFF_MIN LLONG_MIN\n");
|
||||
#else
|
||||
pf ("typedef long int scm_t_off;\n");
|
||||
pf ("#define SCM_T_OFF_MAX LONG_MAX\n");
|
6
lang/guile3/pkg-descr
Normal file
6
lang/guile3/pkg-descr
Normal file
@ -0,0 +1,6 @@
|
||||
GUILE, GNU's Ubiquitous Intelligent Language for Extension,
|
||||
is a library that implements the Scheme language plus various
|
||||
convenient facilities. It's designed so that you can link it
|
||||
into an application or utility to make it extensible. Our
|
||||
plan is to link this library into all GNU programs that call for
|
||||
extensibility.
|
@ -1,8 +1,13 @@
|
||||
bin/guild
|
||||
bin/guile
|
||||
bin/guile-config
|
||||
bin/guile-snarf
|
||||
bin/guile-tools
|
||||
bin/guild%%GUILE_SFX%%
|
||||
bin/guile-config%%GUILE_SFX%%
|
||||
bin/guile-snarf%%GUILE_SFX%%
|
||||
bin/guile-tools%%GUILE_SFX%%
|
||||
bin/guile%%GUILE_SFX%%
|
||||
bin/guild-%%GUILE_VER%%
|
||||
bin/guile-config-%%GUILE_VER%%
|
||||
bin/guile-snarf-%%GUILE_VER%%
|
||||
bin/guile-tools-%%GUILE_VER%%
|
||||
bin/guile-%%GUILE_VER%%
|
||||
include/guile/%%GUILE_VER%%/libguile.h
|
||||
include/guile/%%GUILE_VER%%/libguile/__scm.h
|
||||
include/guile/%%GUILE_VER%%/libguile/alist.h
|
||||
@ -130,7 +135,6 @@ include/guile/%%GUILE_VER%%/libguile/weak-set.h
|
||||
include/guile/%%GUILE_VER%%/libguile/weak-table.h
|
||||
include/guile/%%GUILE_VER%%/libguile/weak-vector.h
|
||||
include/guile/%%GUILE_VER%%/readline.h
|
||||
@comment lib/charset.alias
|
||||
lib/guile/%%GUILE_VER%%/ccache/ice-9/and-let-star.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/ice-9/arrays.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/ice-9/atomic.go
|
||||
@ -341,15 +345,12 @@ lib/guile/%%GUILE_VER%%/ccache/scheme/read.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/scheme/repl.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/scheme/time.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/scheme/write.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/base/optimize.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/base/types/internal.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/scripts/api-diff.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/scripts/autofrisk.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/scripts/compile.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/scripts/disassemble.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/scripts/display-commentary.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/scripts/doc-snarf.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/foreign-library.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/scripts/frisk.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/scripts/generate-autoload.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/scripts/help.go
|
||||
@ -418,10 +419,13 @@ lib/guile/%%GUILE_VER%%/ccache/system/base/compile.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/base/lalr.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/base/language.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/base/message.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/base/optimize.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/base/pmatch.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/base/syntax.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/base/target.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/base/types.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/base/types/internal.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/foreign-library.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/foreign-object.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/foreign.go
|
||||
lib/guile/%%GUILE_VER%%/ccache/system/repl/command.go
|
||||
@ -473,8 +477,8 @@ lib/libguile-%%GUILE_VER%%.so.1
|
||||
lib/libguile-%%GUILE_VER%%.so.1.6.0
|
||||
lib/libguile-%%GUILE_VER%%.so.1.6.0-gdb.scm
|
||||
libdata/pkgconfig/guile-%%GUILE_VER%%.pc
|
||||
man/man1/guile.1.gz
|
||||
share/aclocal/guile.m4
|
||||
man/man1/guile%%GUILE_SFX%%.1.gz
|
||||
@comment share/aclocal/guile.m4
|
||||
%%DATADIR%%/%%GUILE_VER%%/guile-procedures.txt
|
||||
%%DATADIR%%/%%GUILE_VER%%/ice-9/and-let-star.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/ice-9/arrays.scm
|
||||
@ -692,8 +696,6 @@ share/aclocal/guile.m4
|
||||
%%DATADIR%%/%%GUILE_VER%%/scheme/repl.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/scheme/time.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/scheme/write.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/system/base/optimize.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/system/base/types/internal.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/scripts/api-diff.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/scripts/autofrisk.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/scripts/compile.scm
|
||||
@ -778,10 +780,12 @@ share/aclocal/guile.m4
|
||||
%%DATADIR%%/%%GUILE_VER%%/system/base/lalr.upstream.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/system/base/language.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/system/base/message.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/system/base/optimize.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/system/base/pmatch.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/system/base/syntax.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/system/base/target.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/system/base/types.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/system/base/types/internal.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/system/foreign-library.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/system/foreign-object.scm
|
||||
%%DATADIR%%/%%GUILE_VER%%/system/foreign.scm
|
Loading…
Reference in New Issue
Block a user