1 |
commit: f7b3da5b1de23c8774708b9c88bbafcab19032da |
2 |
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Mar 27 01:45:39 2022 +0000 |
4 |
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Mar 27 01:46:25 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7b3da5b |
7 |
|
8 |
dev-scheme/bigloo: fix exe install and Emacs sitefile |
9 |
|
10 |
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org> |
11 |
|
12 |
...loo-4.4c_p4.ebuild => bigloo-4.4c_p4-r1.ebuild} | 25 +++++++++++++++++++--- |
13 |
dev-scheme/bigloo/files/50bigloo-gentoo.el | 1 + |
14 |
2 files changed, 23 insertions(+), 3 deletions(-) |
15 |
|
16 |
diff --git a/dev-scheme/bigloo/bigloo-4.4c_p4.ebuild b/dev-scheme/bigloo/bigloo-4.4c_p4-r1.ebuild |
17 |
similarity index 81% |
18 |
rename from dev-scheme/bigloo/bigloo-4.4c_p4.ebuild |
19 |
rename to dev-scheme/bigloo/bigloo-4.4c_p4-r1.ebuild |
20 |
index 967319442401..e0bff03017b4 100644 |
21 |
--- a/dev-scheme/bigloo/bigloo-4.4c_p4.ebuild |
22 |
+++ b/dev-scheme/bigloo/bigloo-4.4c_p4-r1.ebuild |
23 |
@@ -67,7 +67,7 @@ src_configure() { |
24 |
--ldflags="${LDFLAGS}" |
25 |
# Installation directories |
26 |
--prefix=/usr |
27 |
- --bindir=/usr/bin |
28 |
+ --bindir=/usr/share/${PN}/bin |
29 |
--docdir=/usr/share/doc/${PF} |
30 |
--infodir=/usr/share/info |
31 |
--libdir=/usr/"$(get_libdir)" |
32 |
@@ -142,6 +142,27 @@ src_install() { |
33 |
emake DESTDIR="${D}" -C bdb install |
34 |
emake DESTDIR="${D}" -C cigloo install |
35 |
|
36 |
+ # The ".sh" scripts set proper environment and library order for Bigloo, |
37 |
+ # but programs (and the Bigloo Emacs library, "bee-mode") want "bigloo", |
38 |
+ # not "bigloo.sh". To make programs work we install all executable files |
39 |
+ # into "/usr/share/bigloo/bin", and then pick one by one for non-scripts: |
40 |
+ # if a script with ".sh" extensions exists, then we link the script, |
41 |
+ # not the picked executable to a binary name, otherwise link the binary. |
42 |
+ mkdir -p "${D}"/usr/bin || die |
43 |
+ pushd "${D}" >/dev/null || die |
44 |
+ local bin bin_link |
45 |
+ for bin in usr/share/${PN}/bin/* ; do |
46 |
+ if [[ ${bin} != *.sh ]] ; then |
47 |
+ bin_link=usr/bin/$(basename ${bin}) |
48 |
+ if [[ -f ${bin}.sh ]] ; then |
49 |
+ ln -s ../../${bin}.sh ${bin_link} || die |
50 |
+ else |
51 |
+ ln -s ../../${bin} ${bin_link} || die |
52 |
+ fi |
53 |
+ fi |
54 |
+ done |
55 |
+ popd >/dev/null || die |
56 |
+ |
57 |
if use emacs ; then |
58 |
emake DESTDIR="${D}" install-bee |
59 |
elisp-site-file-install "${FILESDIR}/${SITEFILE}" |
60 |
@@ -151,8 +172,6 @@ src_install() { |
61 |
} |
62 |
|
63 |
pkg_postinst() { |
64 |
- einfo "Heads up: Bigloo is launched via \"bigloo.sh\" script, not \"bigloo\" executable!" |
65 |
- |
66 |
use emacs && elisp-site-regen |
67 |
} |
68 |
|
69 |
|
70 |
diff --git a/dev-scheme/bigloo/files/50bigloo-gentoo.el b/dev-scheme/bigloo/files/50bigloo-gentoo.el |
71 |
index 431f7e90ae73..9cac9f0f7d0f 100644 |
72 |
--- a/dev-scheme/bigloo/files/50bigloo-gentoo.el |
73 |
+++ b/dev-scheme/bigloo/files/50bigloo-gentoo.el |
74 |
@@ -1 +1,2 @@ |
75 |
(add-to-list 'load-path "@SITELISP@") |
76 |
+(autoload 'bee-mode "bee-mode" "Major mode for editing Bigloo code." t) |