dev-scheme: drop gerbil

complicated build system, long build time consuming many resources,
weird build failures without any descriptions

Closes: https://bugs.gentoo.org/807106
Signed-off-by: Maciej Barć <xgqt@gentoo.org>
This commit is contained in:
Maciej Barć
2021-11-28 22:37:52 +01:00
parent 1fe1d27a92
commit 943350c7b5
6 changed files with 0 additions and 282 deletions

View File

@@ -1 +0,0 @@
DIST gerbil-0.16.tar.gz 1715765 BLAKE2B 74cd501b19c8f124f9478c73080e92c2ba0bf92e8cb9faa4cba492b2def8a61633897b67def4200e53962ccf22287f58cf7fdd33604104acc80bde12dd58b07c SHA512 46782b4b71a3b437501b825f2f164e53b285d3a4cdba8f04485edaaa589d8500535c06a47a1464fc537ab7546413dde37c8d6a16a5e076a99ccf255905ed105d

View File

@@ -1,6 +0,0 @@
;;; gerbil site-lisp configuration
(add-to-list 'load-path "@SITELISP@")
(autoload 'gerbil-mode "gerbil-mode" nil t)
(add-to-list 'auto-mode-alist '("\\.ss\\'" . gerbil-mode))

View File

@@ -1 +0,0 @@
GERBIL_HOME=/usr/share/gerbil

View File

@@ -1,119 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp-common toolchain-funcs wrapper xdg-utils
DESCRIPTION="Dialect of Scheme designed for Systems Programming"
HOMEPAGE="https://cons.io/ https://github.com/vyzo/gerbil"
if [[ "${PV}" == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/vyzo/${PN}.git"
else
SRC_URI="https://github.com/vyzo/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
LICENSE="Apache-2.0 LGPL-2.1"
SLOT="0"
IUSE="emacs leveldb lmdb mysql +sqlite +xml yaml +zlib"
BDEPEND="dev-scheme/gambit"
RDEPEND="
dev-scheme/gambit
emacs? ( >=app-editors/emacs-23.1:* )
leveldb? ( dev-libs/leveldb )
lmdb? ( dev-db/lmdb )
mysql? ( dev-db/mariadb:* )
sqlite? ( dev-db/sqlite )
xml? ( dev-libs/libxml2 )
yaml? ( dev-libs/libyaml )
zlib? ( sys-libs/zlib )
"
DEPEND="${RDEPEND}"
S="${WORKDIR}/${P}/src"
SITEFILE="70${PN}-gentoo.el"
src_prepare() {
# Just to be safe, because './configure --help' says:
# "Set default GERBIL_HOME (environment variable still overrides)"
unset GERBIL_HOME
unset GERBIL_PATH
xdg_environment_reset
# Verbose build process
GAMBCOMP_VERBOSE="yes"
export GAMBCOMP_VERBOSE
default
sed -i "s|gcc|$(tc-getCC)|g" ./build.sh || die "Failed to fix CC setting"
sed -i "s|-O2|${CFLAGS}|g" ./build.sh || die "Failed to fix CFLAGS setting"
}
src_configure() {
local myconf=(
$(use_enable leveldb)
$(use_enable lmdb)
$(use_enable mysql)
$(use_enable xml libxml)
$(use_enable yaml libyaml)
$(usex sqlite '' '--disable-sqlite')
$(usex zlib '' '--disable-zlib')
--prefix="${D}/usr/share/${PN}"
)
# This is not a standard 'configure' script!
gsi ./configure "${myconf[@]}" ||
die "Failed to configure using the 'configure' script"
}
src_compile() {
# The 'build.sh' script uses environment variables that are exported
# by portage, ie.: CFLAGS, LDFLAGS, ...
sh ./build.sh ||
die "Failed to compile using the 'build.sh' script"
}
src_install() {
mkdir -p "${D}/usr/share/${PN}" ||
die "Failed to make ${D}/usr/share/${PN} directory"
gsi ./install || die "Failed to install using the 'install' script"
sed -i "s|${D}|${EPREFIX}|g" "${D}/usr/share/${PN}/bin/gxc" ||
die "Failed to fix the 'gxc' executable script"
mv "${D}/usr/share/${PN}/share/emacs" "${D}/usr/share/emacs" ||
die "Failed to fix '/usr/share/emacs' install path"
mv "${D}/usr/share/${PN}/share/${PN}/TAGS" "${D}/usr/share/${PN}/TAGS" ||
die "Failed to fix '/usr/share/gerbil/TAGS' install path"
# Compile the 'gerbil-mode.el'
if use emacs; then
elisp-compile "${D}/usr/share/emacs/site-lisp/gerbil"/*.el ||
die "Failed to compile elisp files"
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
fi
# Create wrappers for gerbil executables in GERBIL_HOME (/usr/share/gerbil)
pushd "${D}/usr/share/${PN}/bin" || die
local gx_bin
for gx_bin in *; do
make_wrapper "${gx_bin}" "env GERBIL_HOME=\"${EPREFIX}/usr/share/${PN}\" ${EPREFIX}/usr/share/${PN}/bin/${gx_bin}"
done
popd || die
# Without this the programs compiled with gxc will break!
doenvd "${FILESDIR}/99${PN}"
}
pkg_postinst() {
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}

View File

@@ -1,119 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp-common toolchain-funcs wrapper xdg-utils
DESCRIPTION="Dialect of Scheme designed for Systems Programming"
HOMEPAGE="https://cons.io/ https://github.com/vyzo/gerbil"
if [[ "${PV}" == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/vyzo/${PN}.git"
else
SRC_URI="https://github.com/vyzo/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
LICENSE="Apache-2.0 LGPL-2.1"
SLOT="0"
IUSE="emacs leveldb lmdb mysql +sqlite +xml yaml +zlib"
BDEPEND="dev-scheme/gambit"
RDEPEND="
dev-scheme/gambit
emacs? ( >=app-editors/emacs-23.1:* )
leveldb? ( dev-libs/leveldb )
lmdb? ( dev-db/lmdb )
mysql? ( dev-db/mariadb:* )
sqlite? ( dev-db/sqlite )
xml? ( dev-libs/libxml2 )
yaml? ( dev-libs/libyaml )
zlib? ( sys-libs/zlib )
"
DEPEND="${RDEPEND}"
S="${WORKDIR}/${P}/src"
SITEFILE="70${PN}-gentoo.el"
src_prepare() {
# Just to be safe, because './configure --help' says:
# "Set default GERBIL_HOME (environment variable still overrides)"
unset GERBIL_HOME
unset GERBIL_PATH
xdg_environment_reset
# Verbose build process
GAMBCOMP_VERBOSE="yes"
export GAMBCOMP_VERBOSE
default
sed -i "s|gcc|$(tc-getCC)|g" ./build.sh || die "Failed to fix CC setting"
sed -i "s|-O2|${CFLAGS}|g" ./build.sh || die "Failed to fix CFLAGS setting"
}
src_configure() {
local myconf=(
$(use_enable leveldb)
$(use_enable lmdb)
$(use_enable mysql)
$(use_enable xml libxml)
$(use_enable yaml libyaml)
$(usex sqlite '' '--disable-sqlite')
$(usex zlib '' '--disable-zlib')
--prefix="${D}/usr/share/${PN}"
)
# This is not a standard 'configure' script!
gsi ./configure "${myconf[@]}" ||
die "Failed to configure using the 'configure' script"
}
src_compile() {
# The 'build.sh' script uses environment variables that are exported
# by portage, ie.: CFLAGS, LDFLAGS, ...
sh ./build.sh ||
die "Failed to compile using the 'build.sh' script"
}
src_install() {
mkdir -p "${D}/usr/share/${PN}" ||
die "Failed to make ${D}/usr/share/${PN} directory"
gsi ./install || die "Failed to install using the 'install' script"
sed -i "s|${D}|${EPREFIX}|g" "${D}/usr/share/${PN}/bin/gxc" ||
die "Failed to fix the 'gxc' executable script"
mv "${D}/usr/share/${PN}/share/emacs" "${D}/usr/share/emacs" ||
die "Failed to fix '/usr/share/emacs' install path"
mv "${D}/usr/share/${PN}/share/${PN}/TAGS" "${D}/usr/share/${PN}/TAGS" ||
die "Failed to fix '/usr/share/gerbil/TAGS' install path"
# Compile the 'gerbil-mode.el'
if use emacs; then
elisp-compile "${D}/usr/share/emacs/site-lisp/gerbil"/*.el ||
die "Failed to compile elisp files"
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
fi
# Create wrappers for gerbil executables in GERBIL_HOME (/usr/share/gerbil)
pushd "${D}/usr/share/${PN}/bin" || die
local gx_bin
for gx_bin in *; do
make_wrapper "${gx_bin}" "env GERBIL_HOME=\"${EPREFIX}/usr/share/${PN}\" ${EPREFIX}/usr/share/${PN}/bin/${gx_bin}"
done
popd || die
# Without this the programs compiled with gxc will break!
doenvd "${FILESDIR}/99${PN}"
}
pkg_postinst() {
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}

View File

@@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>xgqt@riseup.net</email>
<name>Maciej Barć</name>
</maintainer>
<use>
<flag name="leveldb">
Add support for using dev-libs/leveldb
</flag>
<flag name="lmdb">
Add support for using dev-db/lmdb
</flag>
<flag name="yaml">
Add support for yaml file format
</flag>
</use>
<longdescription lang="en">
Gerbil is an opinionated dialect of Scheme designed
for Systems Programming, with a state of the art macro
and module system on top of the Gambit runtime.
The macro system is based on quote-syntax, and provides
the full meta-syntactic tower with a native implementation
of syntax-case. It also provides a full-blown module system,
similar to PLT Schemes (Racket) modules. The main difference
from Racket is that Gerbil modules are single instantiation,
supporting high performance ahead of time compilation
and compiled macros.
</longdescription>
<upstream>
<remote-id type="github">vyzo/gerbil</remote-id>
<bugs-to>https://github.com/vyzo/gerbil</bugs-to>
</upstream>
</pkgmetadata>