public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-scheme/bigloo/files/, dev-scheme/bigloo/
@ 2022-03-27  0:48 Maciej Barć
  0 siblings, 0 replies; 2+ messages in thread
From: Maciej Barć @ 2022-03-27  0:48 UTC (permalink / raw
  To: gentoo-commits

commit:     805a0545081cef2de5f0f52febc842c978a97f8a
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 27 00:47:40 2022 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Sun Mar 27 00:48:12 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=805a0545

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

Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>

 dev-scheme/bigloo/Manifest                 |   1 +
 dev-scheme/bigloo/bigloo-4.4c_p4.ebuild    | 161 +++++++++++++++++++++++++++++
 dev-scheme/bigloo/files/50bigloo-gentoo.el |   1 +
 dev-scheme/bigloo/metadata.xml             |  27 +++++
 4 files changed, 190 insertions(+)

diff --git a/dev-scheme/bigloo/Manifest b/dev-scheme/bigloo/Manifest
new file mode 100644
index 000000000000..6062892e41ae
--- /dev/null
+++ b/dev-scheme/bigloo/Manifest
@@ -0,0 +1 @@
+DIST bigloo-4.4c-4.tar.gz 47714106 BLAKE2B f30775cfa3e29f781f31dc5ec80087712504ffab528a911e2a29746562b6179b03cbfc63a45ddf337b2424fbfa476005ffed67674a75b4629ab70459c47147a6 SHA512 b1a7f7f610303dbbd7339ac4f80679b07d1bf5304865fe61f28bd5af8205f1a5c2b5b3edb1c47a0409a6392a2242d2adde1f5129b026b6a7ee022b8f5faec157

diff --git a/dev-scheme/bigloo/bigloo-4.4c_p4.ebuild b/dev-scheme/bigloo/bigloo-4.4c_p4.ebuild
new file mode 100644
index 000000000000..967319442401
--- /dev/null
+++ b/dev-scheme/bigloo/bigloo-4.4c_p4.ebuild
@@ -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
+}

diff --git a/dev-scheme/bigloo/files/50bigloo-gentoo.el b/dev-scheme/bigloo/files/50bigloo-gentoo.el
new file mode 100644
index 000000000000..431f7e90ae73
--- /dev/null
+++ b/dev-scheme/bigloo/files/50bigloo-gentoo.el
@@ -0,0 +1 @@
+(add-to-list 'load-path "@SITELISP@")

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>


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-scheme/bigloo/files/, dev-scheme/bigloo/
@ 2022-03-27  1:52 Maciej Barć
  0 siblings, 0 replies; 2+ messages in thread
From: Maciej Barć @ 2022-03-27  1:52 UTC (permalink / raw
  To: gentoo-commits

commit:     f7b3da5b1de23c8774708b9c88bbafcab19032da
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 27 01:45:39 2022 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Sun Mar 27 01:46:25 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7b3da5b

dev-scheme/bigloo: fix exe install and Emacs sitefile

Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>

 ...loo-4.4c_p4.ebuild => bigloo-4.4c_p4-r1.ebuild} | 25 +++++++++++++++++++---
 dev-scheme/bigloo/files/50bigloo-gentoo.el         |  1 +
 2 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/dev-scheme/bigloo/bigloo-4.4c_p4.ebuild b/dev-scheme/bigloo/bigloo-4.4c_p4-r1.ebuild
similarity index 81%
rename from dev-scheme/bigloo/bigloo-4.4c_p4.ebuild
rename to dev-scheme/bigloo/bigloo-4.4c_p4-r1.ebuild
index 967319442401..e0bff03017b4 100644
--- a/dev-scheme/bigloo/bigloo-4.4c_p4.ebuild
+++ b/dev-scheme/bigloo/bigloo-4.4c_p4-r1.ebuild
@@ -67,7 +67,7 @@ src_configure() {
 		--ldflags="${LDFLAGS}"
 		# Installation directories
 		--prefix=/usr
-		--bindir=/usr/bin
+		--bindir=/usr/share/${PN}/bin
 		--docdir=/usr/share/doc/${PF}
 		--infodir=/usr/share/info
 		--libdir=/usr/"$(get_libdir)"
@@ -142,6 +142,27 @@ src_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}"
@@ -151,8 +172,6 @@ src_install() {
 }
 
 pkg_postinst() {
-	einfo "Heads up: Bigloo is launched via \"bigloo.sh\" script, not \"bigloo\" executable!"
-
 	use emacs && elisp-site-regen
 }
 

diff --git a/dev-scheme/bigloo/files/50bigloo-gentoo.el b/dev-scheme/bigloo/files/50bigloo-gentoo.el
index 431f7e90ae73..9cac9f0f7d0f 100644
--- a/dev-scheme/bigloo/files/50bigloo-gentoo.el
+++ b/dev-scheme/bigloo/files/50bigloo-gentoo.el
@@ -1 +1,2 @@
 (add-to-list 'load-path "@SITELISP@")
+(autoload 'bee-mode "bee-mode" "Major mode for editing Bigloo code." t)


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-03-27  1:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-27  1:52 [gentoo-commits] repo/gentoo:master commit in: dev-scheme/bigloo/files/, dev-scheme/bigloo/ Maciej Barć
  -- strict thread matches above, loose matches on Subject: below --
2022-03-27  0:48 Maciej Barć

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox