summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2022-03-27 03:45:39 +0200
committerMaciej Barć <xgqt@gentoo.org>2022-03-27 03:46:25 +0200
commitf7b3da5b1de23c8774708b9c88bbafcab19032da (patch)
treec7236b992518f5d351973ef5c051be732550a39f /dev-scheme
parentsci-mathematics/lean: drop old 3.40.0 (diff)
downloadgentoo-f7b3da5b1de23c8774708b9c88bbafcab19032da.tar.gz
gentoo-f7b3da5b1de23c8774708b9c88bbafcab19032da.tar.bz2
gentoo-f7b3da5b1de23c8774708b9c88bbafcab19032da.zip
dev-scheme/bigloo: fix exe install and Emacs sitefile
Signed-off-by: Maciej Barć <xgqt@gentoo.org>
Diffstat (limited to 'dev-scheme')
-rw-r--r--dev-scheme/bigloo/bigloo-4.4c_p4-r1.ebuild (renamed from dev-scheme/bigloo/bigloo-4.4c_p4.ebuild)25
-rw-r--r--dev-scheme/bigloo/files/50bigloo-gentoo.el1
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
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)