# Template file for 'mozjs78' pkgname=mozjs78 version=78.9.0 revision=3 wrksrc="firefox-${version}" build_wrksrc=js/src build_style=gnu-configure build_helper=rust hostmakedepends="perl python pkg-config automake autoconf213 autoconf-archive cargo rust llvm clang which python3" makedepends="icu-devel libffi-devel nspr-devel python-devel readline-devel zlib-devel python3-devel rust-std" depends="nspr>=4.19" short_desc="Mozilla JavaScript interpreter and library (78.x series)" maintainer="q66 " license="MPL-2.0" homepage="https://www.mozilla.org/firefox/" distfiles="${MOZILLA_SITE}/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz" checksum=8e03ac1dfc5ac804c8b13a529414a9387e0425e545bb2f4462d74c3175e64864 CXXFLAGS="-Wno-class-memaccess" LDFLAGS="-Wl,-z,stack-size=1048576" if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then makedepends+=" libatomic-devel" LDFLAGS+=" -latomic" fi case "$XBPS_TARGET_MACHINE" in mips*) broken="no matching function for call to 'js::jit::MacroAssembler::unboxInt32(const js::jit::BaseObjectElementIndex&, js::jit::Register&)'";; esac do_configure() { local _args # use gcc as assembler to avoid errors unset AS if [ "$CROSS_BUILD" ]; then export HOST_CC=cc export TARGET_CC="${CC}" export HOST_CFLAGS="-Os" export HOST_CXXFLAGS="-Os" _args+=" --target=${XBPS_CROSS_TRIPLET} --enable-linker=bfd" else _args+=" --target=${XBPS_TRIPLET}" fi autoconf-2.13 old-configure.in > old-configure touch ${wrksrc}/js/src/configure touch ${wrksrc}/js/src/old-configure SHELL=/bin/bash PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ --disable-jemalloc --disable-optimize --enable-ctypes \ --enable-readline --enable-shared-js --enable-system-ffi \ --enable-tests --with-intl-api --with-system-icu --with-system-nspr \ --enable-hardening --enable-release --with-system-zlib \ --host=${XBPS_TRIPLET} ${_args} } do_check() { dist/bin/jsapi-tests --format=none --exclude-random basic } post_install() { # Remove unneeded static library rm -f "${DESTDIR}"/usr/lib/*.ajs } mozjs78-devel_package() { depends="nspr-devel ${sourcepkg}>=${version}_${revision}" short_desc+=" - development files" pkg_install() { vmove usr/bin/js78-config vmove usr/include vmove "usr/lib/*.so" vmove usr/lib/pkgconfig } }