Files
Mohamed Akram 53741335d0 gjs-devel: fix dbus dep
- use python314
2026-04-18 14:11:36 +04:00

129 lines
4.5 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 meson 1.0
PortGroup gobject_introspection 1.0
PortGroup gitlab 1.0
gitlab.instance https://gitlab.gnome.org
gitlab.setup GNOME gjs 1.82.1
revision 0
checksums rmd160 0d227c436a1e1c4033add73966035de9616396f5 \
sha256 c276c6b5a46bf6bebc3a2e9a84db10a1796899efd756a2656fd265051b507a40 \
size 705725
name gjs-devel
conflicts gjs
set my_name gjs
categories gnome
license LGPL-2.1+
maintainers {devans @dbevans} {mascguy @mascguy} openmaintainer
description GNOME JavaScript/Spidermonkey bindings
long_description ${description}
homepage https://gjs-docs.gnome.org/gjs
# Disable unexpected download of subprojects
meson.wrap_mode nodownload
set py_ver 3.14
set py_ver_nodot [string map {. {}} ${py_ver}]
depends_build-append \
path:bin/pkg-config:pkgconfig \
port:python${py_ver_nodot} \
port:dbus
depends_lib-append \
path:lib/pkgconfig/cairo.pc:cairo \
path:lib/pkgconfig/glib-2.0.pc:glib2 \
path:lib/pkgconfig/gtk+-3.0.pc:gtk3 \
path:lib/pkgconfig/gobject-introspection-1.0.pc:gobject-introspection \
port:libffi \
port:readline
configure.python ${prefix}/bin/python${py_ver}
# profiler currently only supported on Linux
configure.args-append \
-Dinstalled_tests=false \
-Dprofiler=disabled \
-Dskip_dbus_tests=true \
-Dskip_gtk_tests=true \
-Dbsymbolic_functions=false
gobject_introspection yes
platform darwin {
if {${os.major} < 16} {
# Fallback version for older systems.
gitlab.setup GNOME gjs 1.63.3
revision 0
checksums rmd160 60cbadb35bad345917b153dc115f2c84fc8e55d3 \
sha256 63e97e3b76062c931fab1e0afa25f2db701e91e92653452df50e3ab3b51dfbbc \
size 435576
# Use rust-free version of mozjs:
depends_lib-append port:mozjs60
# LD_LIBRARY_PATH => DYLD_LIBRARY_PATH
patchfiles-append patch-gjs-test-legacy.diff
# The gobject_introspection PG needs an 'introspection' option
patchfiles-append patch-gjs-meson_options-legacy.diff
# Fix gsize/size_t mismatch on 32-bit systems
patchfiles-append patch-gjs-gsize.diff
# Fix gint64/int64_t mismatch on x86_64
patchfiles-append patch-gjs-gint64.diff
# gatomic.h: error: argument 2 of '__atomic_load' must not be a pointer to a 'volatile' type
patchfiles-append patch-atomic_load.diff
post-patch {
reinplace "s|^#!/usr/bin/env python3|#!${configure.python}|" \
build/compile-gschemas.py \
build/symlink-gjs.py
}
compiler.cxx_standard 2014
} else {
depends_lib-append port:mozjs128
# The gobject_introspection PG needs an 'introspection' option
patchfiles-append patch-gjs-meson_options.diff
# Completely disable tests, as present meson.build doesn't
patchfiles-append patch-gjs-disable-gi-tests.diff
post-patch {
reinplace "s|^#!/usr/bin/env python3|#!${configure.python}|" \
build/symlink-gjs.py \
tools/heapdot.py \
tools/heapgraph.py
}
compiler.cxx_standard 2017
if { [string match *clang* ${configure.compiler}] } {
configure.cxxflags-append \
-Wno-invalid-constexpr \
-Wno-error=unknown-warning-option \
-Wno-unknown-warning-option
}
}
}
# NOTE: Tests need to be fixed as of 1.82.x
variant tests description {Enable tests} {
depends_build-append \
port:git
configure.args-replace \
-Dinstalled_tests=false \
-Dinstalled_tests=true
# Note that a few tests in the "Scripts / CommandLine" category may fail as the
# typelib (gobject-introspection) expects libgjs.0.dylib to be installed at the
# system level during testing
test.run yes
test.target test
}