You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
1.7 KiB

# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic toolchain-funcs
DESCRIPTION="A dynamic Lisp dialect and bytecode vm"
HOMEPAGE="https://janet-lang.org https://github.com/janet-lang/janet/"
SRC_URI="https://github.com/janet-lang/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="static-libs"
MY_RELEASE="${PV::-2}"
src_configure() {
tc-export CC
append-ldflags -Wl,-soname,libjanet.so.1.${MY_RELEASE}
append-cflags -fPIC
}
src_compile() {
# janet_build is the git hash of the commit related to the
# current release - it defines a constant which is then shown
# when starting janet
local janet_build='\"'${PV}'\"'
local target
for target in '' build/janet.pc docs ; do
einfo "Building: ${target:-main}"
emake \
LIBDIR="/usr/$(get_libdir)" \
PREFIX="/usr" \
JANET_BUILD="${janet_build}" \
CFLAGS="${CFLAGS}" \
LDFLAGS="${LDFLAGS}" \
${target}
done
}
src_install() {
dobin build/janet
insinto /usr/include/janet
doheader src/include/janet.h
doheader src/conf/janetconf.h
dolib.so build/libjanet.so
dosym libjanet.so /usr/$(get_libdir)/libjanet.so.${MY_RELEASE}
dosym libjanet.so.${MY_RELEASE} /usr/$(get_libdir)/libjanet.so.${PV}
if use static-libs; then
dolib.a build/libjanet.a
fi
doman janet.1
insinto /usr/$(get_libdir)/pkgconfig/
doins build/janet.pc
dodoc -r examples
dodoc build/doc.html
}
pkg_postinst() {
elog "Note: jpm has been extracted to its own repository upstream."
elog "Follow the upstream instructions on how to install it."
elog "Enable use flag \"static-libs\" for building stand-alone executables with jpm"
}