diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-04-06 22:33:41 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-04-06 22:33:41 +0100 |
commit | e68d405c5d712af4387159df07e226217bdda049 (patch) | |
tree | 009ab0f3d427f0813e62930d71802cb054c07e30 /dev-scheme/bigloo | |
parent | 401101f9c8077911929d3f2b60a37098460a5d89 (diff) |
gentoo resync : 06.04.2022
Diffstat (limited to 'dev-scheme/bigloo')
-rw-r--r-- | dev-scheme/bigloo/Manifest | 4 | ||||
-rw-r--r-- | dev-scheme/bigloo/bigloo-4.4c_p4-r1.ebuild | 192 | ||||
-rw-r--r-- | dev-scheme/bigloo/files/50bigloo-gentoo.el | 2 | ||||
-rw-r--r-- | dev-scheme/bigloo/metadata.xml | 27 |
4 files changed, 225 insertions, 0 deletions
diff --git a/dev-scheme/bigloo/Manifest b/dev-scheme/bigloo/Manifest new file mode 100644 index 000000000000..d07fc2144a09 --- /dev/null +++ b/dev-scheme/bigloo/Manifest @@ -0,0 +1,4 @@ +AUX 50bigloo-gentoo.el 110 BLAKE2B 520b6b4d89452d3c9479c92b3f2f31e46e7761bc2c03fd62236e277ff1f9613cd237ba799d7349cf8bc8311125d3548956dc1947bd8d79cb72349dee723a9190 SHA512 73fda359d7c09c291eb1c3d38d3352b57acab0e800e2d89ee815a1c58202e8a5603abe847409e58bd69ea0ed7245abbb4a60de4fa8285287523caff47f19d6e2 +DIST bigloo-4.4c-4.tar.gz 47714106 BLAKE2B f30775cfa3e29f781f31dc5ec80087712504ffab528a911e2a29746562b6179b03cbfc63a45ddf337b2424fbfa476005ffed67674a75b4629ab70459c47147a6 SHA512 b1a7f7f610303dbbd7339ac4f80679b07d1bf5304865fe61f28bd5af8205f1a5c2b5b3edb1c47a0409a6392a2242d2adde1f5129b026b6a7ee022b8f5faec157 +EBUILD bigloo-4.4c_p4-r1.ebuild 4650 BLAKE2B 92a91be2d325fc547eed8677e6b524a7cd10f1836f12c9f9fa1cb64aac24f2d120a20cc539ae5fd5d8ff47b9c87b14d7958196ef39b8d18e72859565641b4a32 SHA512 2517b82dab8392fc57734c8d64486592fbf488531a27eae1b7b49144b32ed0e7256d146b8b39979cd5804418f47b9e4a2dcd2098d50f6674e954e34f1a28615a +MISC metadata.xml 1113 BLAKE2B 20eec442cc5ba556fb5e30dc225bfeb45851be9ee1bbf111662ba3eec8573275754101d863145874cf778e27715792e1757189c2e4cec8ae6d320800e22dc0a6 SHA512 fb58869479a3310d1eac93ecd8127f2759fb93c45a73d1d2835802d201c6fb0a95592238521b7c385bea1d27d83da650000685978067dab272615f81e6ca5c4a diff --git a/dev-scheme/bigloo/bigloo-4.4c_p4-r1.ebuild b/dev-scheme/bigloo/bigloo-4.4c_p4-r1.ebuild new file mode 100644 index 000000000000..0d56b78e294e --- /dev/null +++ b/dev-scheme/bigloo/bigloo-4.4c_p4-r1.ebuild @@ -0,0 +1,192 @@ +# 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_prepare() { + default + + sed -e "/^ar=/s|=|=\"$(tc-getAR)\"|" \ + -e "/^ranlib=/s|=|=\"$(tc-getRANLIB)\"|" \ + -i ./configure || die + + sed "s|^ar |$(tc-getAR) |" -i ./autoconf/ranlib || die +} + +src_configure() { + tc-export AR AS CC CPP CXX LD + export CFLAGS + export LDFLAGS + + local myconf=( + # Compilation + --as="$(tc-getAS)" + --cc="$(tc-getCC)" + --cflags="${CFLAGS}" + --cpicflags="-fPIC" + --cwarningflags="" + --ldflags="${LDFLAGS}" + # Installation directories + --prefix=/usr + --bindir=/usr/share/${PN}/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 + + # The ".sh" scripts set proper environment and library order for Bigloo, + # but programs (and the Bigloo Emacs library, "bee-mode") want "bigloo", + # not "bigloo.sh". To make programs work we install all executable files + # into "/usr/share/bigloo/bin", and then pick one by one for non-scripts: + # if a script with ".sh" extensions exists, then we link the script, + # not the picked executable to a binary name, otherwise link the binary. + mkdir -p "${D}"/usr/bin || die + pushd "${D}" >/dev/null || die + local bin bin_link + for bin in usr/share/${PN}/bin/* ; do + if [[ ${bin} != *.sh ]] ; then + bin_link=usr/bin/$(basename ${bin}) + if [[ -f ${bin}.sh ]] ; then + ln -s ../../${bin}.sh ${bin_link} || die + else + ln -s ../../${bin} ${bin_link} || die + fi + fi + done + popd >/dev/null || die + + if use emacs ; then + emake DESTDIR="${D}" install-bee + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi + + einstalldocs +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-scheme/bigloo/files/50bigloo-gentoo.el b/dev-scheme/bigloo/files/50bigloo-gentoo.el new file mode 100644 index 000000000000..9cac9f0f7d0f --- /dev/null +++ b/dev-scheme/bigloo/files/50bigloo-gentoo.el @@ -0,0 +1,2 @@ +(add-to-list 'load-path "@SITELISP@") +(autoload 'bee-mode "bee-mode" "Major mode for editing Bigloo code." t) diff --git a/dev-scheme/bigloo/metadata.xml b/dev-scheme/bigloo/metadata.xml new file mode 100644 index 000000000000..a179bb3d4094 --- /dev/null +++ b/dev-scheme/bigloo/metadata.xml @@ -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> |