Skip to content

Commit

Permalink
dev-lang/quickjs: removed unnecessary .la
Browse files Browse the repository at this point in the history
Closes: https://bugs.gentoo.org/928482
Signed-off-by: Denis Reva <[email protected]>
  • Loading branch information
RarogCmex committed Aug 8, 2024
1 parent 6a7b1d1 commit a4997de
Showing 1 changed file with 54 additions and 0 deletions.
54 changes: 54 additions & 0 deletions dev-lang/quickjs/quickjs-2024.01.13-r1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit toolchain-funcs

MY_P="${PN}-${PV//./-}"

DESCRIPTION="Small embeddable Javascript engine"
HOMEPAGE="https://bellard.org/quickjs/"
SRC_URI="https://bellard.org/quickjs/${MY_P}.tar.xz"
S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="lto static-libs"

This comment has been minimized.

Copy link
@antecrescent

antecrescent Aug 8, 2024

Contributor

As far as I can tell, no program in GURU depends on dev-lang/quickjs[static-libs] and this package doesn't depend on its static libraries either. As per PG 0302, quickjs must not install static libraries then. Please patch out the static lib build.


PATCHES=(
"${FILESDIR}/quickjs-2020.11.08_Remove-TTY-check-in-test.patch"
"${FILESDIR}/quickjs-2024-01-13-sharedlib.patch"
"${FILESDIR}/quickjs-2024-01-13-respect-env.patch"
)

src_prepare() {
# Changed in master
sed -i '/^CONFIG_LTO=/s;^;#;' Makefile || die

default

sed -i '/$(STRIP) .*/d' Makefile || die "Failed removing STRIP call"

sed -Ei '/^\s*(CC|AR)=/d' Makefile \
|| die "Failed to remove hard-coded tools."

sed -i 's;$(PREFIX)/lib;$(LIBDIR);' Makefile || die "Failed fixing libdir"

if ! use static-libs; then
sed -i '/install -m644 libquickjs.a "$(DESTDIR)$(LIBDIR)\/quickjs"/d' Makefile || die "Failed fixing static-libs"
fi
}

src_configure() {
export CC="$(tc-getCC)"
export AR="$(tc-getAR)"

This comment has been minimized.

Copy link
@antecrescent

antecrescent Aug 9, 2024

Contributor

It seems that the build also uses $(HOST_CC) to build $(QJSC) which also needs to be set properly.


export PREFIX=/usr
export LIBDIR="/usr/$(get_libdir)"

export CONFIG_LTO=$(use lto)

This comment has been minimized.

Copy link
@antecrescent

antecrescent Aug 9, 2024

Contributor

USE=lto is discouraged for this use case.
See https://devmanual.gentoo.org/general-concepts/use-flags/index.html#when-not-to-use-use-flags bullet point 2.
Instead, you could patch the build system to allow for LTO builds without explicitly setting CONFIG_LTO.

if ! use static-libs; then
export CONFIG_SHARED=y
fi
}

0 comments on commit a4997de

Please sign in to comment.