mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
118 lines
4.0 KiB
Tcl
118 lines
4.0 KiB
Tcl
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim: fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
|
|
|
|
PortSystem 1.0
|
|
PortGroup muniversal 1.0
|
|
PortGroup legacysupport 1.1
|
|
|
|
# clock_gettime, TARGET_OS_SIMULATOR
|
|
legacysupport.newest_darwin_requires_legacy 15
|
|
|
|
name mozjs91
|
|
version 91.5.0
|
|
set version_major 91
|
|
categories lang
|
|
platforms darwin
|
|
license {MPL-2 LGPL-2.1+}
|
|
maintainers nomaintainer
|
|
description JavaScript-C Engine
|
|
long_description SpiderMonkey is Mozilla's JavaScript engine written in C/C++. \
|
|
It is used in various Mozilla products, including Firefox, \
|
|
and is available under the MPL2.
|
|
|
|
homepage https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
|
|
# build from GNOME releng tarball
|
|
master_sites https://ftp.gnome.org/pub/GNOME/teams/releng/tarballs-needing-help/mozjs/
|
|
|
|
# For Rust
|
|
supported_archs x86_64 arm64
|
|
|
|
distname mozjs-${version}
|
|
use_xz yes
|
|
|
|
checksums rmd160 2576ab03d1293dde567bce6d5253974484653c4f \
|
|
sha256 2f57cde35246a54a7abd25454ab5adfa076a8e6515509475eb6a37d048b7a156 \
|
|
size 70715356
|
|
|
|
depends_build port:autoconf213 \
|
|
port:cargo \
|
|
port:pkgconfig \
|
|
port:python310 \
|
|
port:yasm
|
|
|
|
depends_lib port:nspr \
|
|
port:xorg-libX11 \
|
|
port:xorg-libXt
|
|
|
|
# requires C++14 compiler to build
|
|
compiler.cxx_standard 2014
|
|
|
|
# Rust components require a MacPorts clang (i.e. one with llvm-config)
|
|
compiler.blacklist *gcc* clang macports-clang-3.*
|
|
|
|
if {[regexp {macports-clang-(.*)} ${configure.compiler} -> llvm_ver]} {
|
|
configure.env-append \
|
|
LLVM_CONFIG=${prefix}/bin/llvm-config-mp-${llvm_ver}
|
|
}
|
|
|
|
if { ${os.platform} eq "darwin" && ${os.major} < 11 } {
|
|
depends_build-append port:cctools
|
|
configure.env-append AR=${prefix}/bin/ar
|
|
}
|
|
|
|
patchfiles-append patch-skip-sdk-check.diff \
|
|
patch-mozglue-clock_gettime.diff \
|
|
patch-mozglue-snow-leopard.diff
|
|
|
|
|
|
# Use absolute path for install_name
|
|
post-patch {
|
|
reinplace "s|@executable_path|${prefix}/lib|g" ${worksrcpath}/config/rules.mk
|
|
}
|
|
|
|
configure.perl /usr/bin/perl
|
|
configure.python ${prefix}/bin/python3.10
|
|
|
|
# The combination of JS_STANDALONE=1 and --disable-jemalloc are needed
|
|
# to ensure that mozglue is statically linked.
|
|
configure.env-append \
|
|
PYTHON3=${configure.python} \
|
|
SHELL=/bin/bash \
|
|
JS_STANDALONE=1
|
|
|
|
configure.dir ${worksrcpath}/js/src/obj
|
|
configure.cmd ../configure
|
|
|
|
configure.args --with-system-nspr \
|
|
--disable-jemalloc \
|
|
--disable-readline
|
|
|
|
if {${configure.sdkroot} eq ""} {
|
|
configure.args-append --with-macos-sdk=/
|
|
} else {
|
|
configure.args-append --with-macos-sdk=${configure.sdkroot}
|
|
}
|
|
|
|
configure.universal_args-delete --disable-dependency-tracking
|
|
|
|
build.env-append SHELL=/bin/bash
|
|
build.dir ${worksrcpath}/js/src/obj
|
|
destroot.dir ${worksrcpath}/js/src/obj
|
|
|
|
post-destroot {
|
|
# make static lib name version specific to avoid conflict with other mozjs versions
|
|
move ${destroot}${prefix}/lib/libjs_static.ajs ${destroot}${prefix}/lib/libjs${version_major}_static.ajs
|
|
}
|
|
|
|
if {${universal_possible} && [variant_isset universal]} {
|
|
set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
|
|
set merger_host(arm64) arm64-apple-${os.platform}${os.major}
|
|
set merger_configure_args(x86_64) "--host=x86_64-apple-${os.platform}${os.major} --target=x86_64-apple-${os.platform}${os.major}"
|
|
set merger_configure_args(arm64) "--host=arm64-apple-${os.platform}${os.major} --target=arm64-apple-${os.platform}${os.major}"
|
|
} else {
|
|
configure.args-append \
|
|
--host=${build_arch}-apple-${os.platform}${os.major} \
|
|
--target=${build_arch}-apple-${os.platform}${os.major}
|
|
}
|
|
|
|
livecheck.type none
|