commit:     9a1b7f9bb8c023d66fee5284ae981c17b2d0e54e
Author:     Maciej Barć <xgqt <AT> riseup <DOT> net>
AuthorDate: Thu Sep 30 22:03:41 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Nov  4 10:37:49 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a1b7f9b

dev-scheme/racket: install boot files and static libraries

Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Maciej Barć <xgqt <AT> riseup.net>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 dev-scheme/racket/racket-8.1.ebuild | 24 +++++++++++++++++-------
 dev-scheme/racket/racket-8.2.ebuild | 24 +++++++++++++++++-------
 2 files changed, 34 insertions(+), 14 deletions(-)

diff --git a/dev-scheme/racket/racket-8.1.ebuild 
b/dev-scheme/racket/racket-8.1.ebuild
index b9c6c260196..65244904195 100644
--- a/dev-scheme/racket/racket-8.1.ebuild
+++ b/dev-scheme/racket/racket-8.1.ebuild
@@ -81,18 +81,24 @@ src_prepare() {
 }
 
 src_configure() {
-       # According to vapier, we should use the bundled libtool
+       # Libtool:
+       #   According to vapier, we should use the bundled libtool
        #   such that we don't preclude cross-compile.
        #   Thus don't use --enable-lt=/usr/bin/libtool
-       # --enable-bc builds Racket w/o chez backend
+       # Backend:
+       #   --enable-bc builds Racket w/o chez backend
+       # C Libraries:
+       #   --enable-libs & --disable-shared is the way to build
+       #   .a files that are needed to embed Racket into programs
+       #   https://docs.racket-lang.org/inside/cs-embedding.html
        local myconf=(
-               --disable-libs
+               --disable-shared
                --disable-strip
                --docdir="${EPREFIX}/usr/share/doc/${PF}"
                --enable-float
                --enable-foreign
                --enable-libffi
-               --enable-shared
+               --enable-libs
                $(usex chez "--enable-cs --enable-csonly" "--enable-bc 
--enable-bconly")
                $(use_enable X gracket)
                $(use_enable doc docs)
@@ -107,14 +113,18 @@ src_configure() {
 src_install() {
        default
 
+       # Install Racket boot files
+       if use chez; then
+               pushd "${S}"/cs/c || die
+               emake DESTDIR="${ED}" unix-install-boot-files
+               popd || die
+       fi
+
        # raco needs decompressed files for packages doc installation bug 662424
        if use doc; then
                docompress -x /usr/share/doc/${PF}
        fi
 
-       # Remove unneeded "*.a" and "*.la" files
-       find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
-
        # Create missing desktop files and icon
        if use X && ! use minimal; then
                newicon "${ED}/usr/share/racket/drracket-exe-icon.png" 
"racket.png"

diff --git a/dev-scheme/racket/racket-8.2.ebuild 
b/dev-scheme/racket/racket-8.2.ebuild
index b9c6c260196..65244904195 100644
--- a/dev-scheme/racket/racket-8.2.ebuild
+++ b/dev-scheme/racket/racket-8.2.ebuild
@@ -81,18 +81,24 @@ src_prepare() {
 }
 
 src_configure() {
-       # According to vapier, we should use the bundled libtool
+       # Libtool:
+       #   According to vapier, we should use the bundled libtool
        #   such that we don't preclude cross-compile.
        #   Thus don't use --enable-lt=/usr/bin/libtool
-       # --enable-bc builds Racket w/o chez backend
+       # Backend:
+       #   --enable-bc builds Racket w/o chez backend
+       # C Libraries:
+       #   --enable-libs & --disable-shared is the way to build
+       #   .a files that are needed to embed Racket into programs
+       #   https://docs.racket-lang.org/inside/cs-embedding.html
        local myconf=(
-               --disable-libs
+               --disable-shared
                --disable-strip
                --docdir="${EPREFIX}/usr/share/doc/${PF}"
                --enable-float
                --enable-foreign
                --enable-libffi
-               --enable-shared
+               --enable-libs
                $(usex chez "--enable-cs --enable-csonly" "--enable-bc 
--enable-bconly")
                $(use_enable X gracket)
                $(use_enable doc docs)
@@ -107,14 +113,18 @@ src_configure() {
 src_install() {
        default
 
+       # Install Racket boot files
+       if use chez; then
+               pushd "${S}"/cs/c || die
+               emake DESTDIR="${ED}" unix-install-boot-files
+               popd || die
+       fi
+
        # raco needs decompressed files for packages doc installation bug 662424
        if use doc; then
                docompress -x /usr/share/doc/${PF}
        fi
 
-       # Remove unneeded "*.a" and "*.la" files
-       find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
-
        # Create missing desktop files and icon
        if use X && ! use minimal; then
                newicon "${ED}/usr/share/racket/drracket-exe-icon.png" 
"racket.png"

Reply via email to