2
0
mirror of https://github.com/gentoo-mirror/gentoo.git synced 2026-01-19 00:09:37 +03:00

dev-scheme/bigloo: new package; add version 4.4c_p4

Signed-off-by: Maciej Barć <xgqt@gentoo.org>
This commit is contained in:
Maciej Barć
2022-03-27 01:47:40 +01:00
parent 600d93ba48
commit 805a054508
4 changed files with 190 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST bigloo-4.4c-4.tar.gz 47714106 BLAKE2B f30775cfa3e29f781f31dc5ec80087712504ffab528a911e2a29746562b6179b03cbfc63a45ddf337b2424fbfa476005ffed67674a75b4629ab70459c47147a6 SHA512 b1a7f7f610303dbbd7339ac4f80679b07d1bf5304865fe61f28bd5af8205f1a5c2b5b3edb1c47a0409a6392a2242d2adde1f5129b026b6a7ee022b8f5faec157

View File

@@ -0,0 +1,161 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp-common toolchain-funcs
MY_PV=${PV/_p/-} # e.g.: 4.4c_p4 -> 4.4c-4
MY_P=${PN}-${MY_PV}
DESCRIPTION="Practical Scheme Compiler with many extensions"
HOMEPAGE="http://www-sop.inria.fr/indes/fp/Bigloo/index.html"
SRC_URI="ftp://ftp-sop.inria.fr/indes/fp/Bigloo/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="alsa avahi emacs flac +gmp gpg gstreamer java libuv mp3 pulseaudio +sqlite"
REQUIRED_USE="flac? ( alsa ) mp3? ( alsa )"
EMACS_DEPEND="emacs? ( >=app-editors/emacs-23.1:* )"
DEPEND="
dev-libs/boehm-gc[threads]
dev-libs/libpcre2:=
dev-libs/libunistring:=
dev-libs/openssl:=
alsa? ( media-libs/alsa-lib )
avahi? ( net-dns/avahi )
flac? ( media-libs/flac )
gmp? ( dev-libs/gmp:= )
gpg? ( app-crypt/gnupg )
gstreamer? (
media-libs/gst-plugins-base:1.0=
media-libs/gstreamer:1.0=
)
java? ( virtual/jdk:* )
libuv? ( dev-libs/libuv:= )
mp3? ( media-sound/mpg123 )
pulseaudio? ( media-sound/pulseaudio )
sqlite? ( dev-db/sqlite:3= )
"
RDEPEND="
${DEPEND}
${EMACS_DEPEND}
sys-devel/binutils
sys-devel/gdb
"
BDEPEND="
${EMACS_DEPEND}
sys-apps/texinfo
"
DOCS=( ChangeLog README.md TODO.org )
SITEFILE="50${PN}-gentoo.el"
src_configure() {
tc-export AR AS CC CPP CXX LD
export CFLAGS="${CFLAGS}"
export LDFLAGS="${LDFLAGS}"
myconf=(
# Compilation FLAGS
--cflags="${CFLAGS}"
--cpicflags="-fPIC"
--cwarningflags=""
--ldflags="${LDFLAGS}"
# Installation directories
--prefix=/usr
--bindir=/usr/bin
--docdir=/usr/share/doc/${PF}
--infodir=/usr/share/info
--libdir=/usr/"$(get_libdir)"
--mandir=/usr/share/man
# Custom internal components
--customgc=no
--customgmp=no
--customlibuv=no
--customunistring=no
--jvm=$(usex java)
--native=yes
--sharedbde=yes
--sharedcompiler=yes
--strip=no
# Libraries, Bigloo calls them APIs
--disable-phidget # not important for now, only in ::ros-overlay ?
--enable-calendar # iCalendar parser
--enable-crypto
--enable-csv # parsing CSV files
--enable-mail # IMAP protocol implementation
--enable-multimedia
--enable-packrat # packrat parser
--enable-phone
--enable-pkgcomp
--enable-pthread
--enable-srfi1
--enable-srfi18
--enable-ssl
--enable-text # BibTeX parser
--enable-upnp # Upnp protocol implementation
--enable-web # XML, CGI, and RSS parsers
$(use_enable alsa)
$(use_enable avahi)
$(use_enable flac wav)
$(use_enable flac)
$(use_enable gmp srfi27)
$(use_enable gmp)
$(use_enable gpg openpgp)
$(use_enable gstreamer)
$(use_enable libuv)
$(use_enable mp3 mpg123)
$(use_enable pulseaudio)
$(use_enable sqlite pkglib)
$(use_enable sqlite)
# GNU Emacs libraries
--bee=$(usex emacs full partial)
--emacs=$(usex emacs "${EMACS}" "no")
--lispdir=$(usex emacs "${SITELISP}/${PN}" "")
)
ebegin "Configuring Bigloo with the following options: ${myconf[@]}"
sh ./configure "${myconf[@]}"
eend $? || die "configure script failed"
}
src_compile() {
default
emake -C bdl
emake -C bdb
emake -C cigloo
use emacs && emake -C bmacs
}
src_test() {
emake test
}
src_install() {
emake DESTDIR="${D}" LN_S="ln -rs" install
emake DESTDIR="${D}" -C bdl install
emake DESTDIR="${D}" -C bdb install
emake DESTDIR="${D}" -C cigloo install
if use emacs ; then
emake DESTDIR="${D}" install-bee
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
fi
einstalldocs
}
pkg_postinst() {
einfo "Heads up: Bigloo is launched via \"bigloo.sh\" script, not \"bigloo\" executable!"
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}

View File

@@ -0,0 +1 @@
(add-to-list 'load-path "@SITELISP@")

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>scheme@gentoo.org</email>
<name>Gentoo Scheme Project</name>
</maintainer>
<longdescription>
Bigloo is a Scheme implementation devoted to one goal: enabling Scheme
based programming style where C(++) is usually required.
Bigloo attempts to make Scheme practical by offering features usually
presented by traditional programming languages but not offered by Scheme
and functional programming. Bigloo compiles Scheme modules. It delivers
small and fast stand alone binary executables. Bigloo enables full
connections between Scheme and C programs.
</longdescription>
<upstream>
<bugs-to>https://github.com/manuel-serrano/bigloo/issues/</bugs-to>
<remote-id type="github">manuel-serrano/bigloo</remote-id>
</upstream>
<use>
<flag name="avahi">Enable Avahi support</flag>
<flag name="gpg">Enable GPG support</flag>
<flag name="libuv">Enable libuv support</flag>
</use>
</pkgmetadata>