summaryrefslogtreecommitdiff
path: root/dev-lang/mujs/mujs-1.2.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/mujs/mujs-1.2.0.ebuild')
-rw-r--r--dev-lang/mujs/mujs-1.2.0.ebuild68
1 files changed, 68 insertions, 0 deletions
diff --git a/dev-lang/mujs/mujs-1.2.0.ebuild b/dev-lang/mujs/mujs-1.2.0.ebuild
new file mode 100644
index 000000000000..e25bff9dec49
--- /dev/null
+++ b/dev-lang/mujs/mujs-1.2.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="An embeddable JavaScript interpreter written in C"
+HOMEPAGE="https://mujs.com/ https://github.com/ccxvii/mujs"
+SRC_URI="https://mujs.com/downloads/${P}.tar.xz"
+
+LICENSE="ISC"
+# The subslot matches the SONAME
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+
+RDEPEND="sys-libs/readline:="
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.1.1-flags.patch
+)
+
+src_prepare() {
+ default
+
+ tc-export AR CC
+
+ append-cflags -fPIC
+
+ # The library's ABI (and API) might change in new releases
+ # Diff 'usr/include/mujs.h' across releases to validate
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ append-cflags -Wl,-install_name,"${EPREFIX}"/usr/$(get_libdir)/lib${PN}.${PV}.dylib
+ else
+ append-cflags -Wl,-soname=lib${PN}.so.${PV}
+ fi
+}
+
+src_compile() {
+ # We need to use ${PV} for the pkgconfig file, see: #784461
+ emake \
+ VERSION=${PV} \
+ XCFLAGS="${CFLAGS}" \
+ XCPPFLAGS="${CPPFLAGS}" \
+ prefix=/usr \
+ shell shared
+}
+
+src_install() {
+ emake \
+ DESTDIR="${ED}" \
+ VERSION=${PV} \
+ libdir="/usr/$(get_libdir)" \
+ prefix=/usr \
+ install-shared
+
+ # TODO: Tidy up this logic, improve readability
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ mv -v "${ED}"/usr/$(get_libdir)/lib${PN}.so "${ED}"/usr/$(get_libdir)/lib${PN}.${PV}.dylib || die
+ dosym lib${PN}.${PV}.dylib /usr/$(get_libdir)/lib${PN}.dylib
+ dosym lib${PN}.${PV}.dylib /usr/$(get_libdir)/lib${PN}.${PV:0:1}.dylib
+ else
+ mv -v "${ED}"/usr/$(get_libdir)/lib${PN}.so{,.${PV}} || die
+ dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so
+ dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so.${PV:0:1}
+ fi
+}