201c1d35f6
* Do not propagate spidermonkey, it is only needed gjs to link against. * Split out dev output, any propagated dependencies should go there. * Drop unnecessary sed, the readline thing is no longer there. * Add passthru.tests to allow running installed tests easily. * Drop pango from buildInputs, we only need it as a transitive dependency of gtk3 for installed tests; gjs actually depends on cairo. * Move libxml2 to nativeBuildInputs, it is called by glib-compile-resources when xml-stripblanks preprocessing is used. * Propagate glib, as it is in Requires in the pc file. It is just 2.5 MB closure reduction but every megabyte counts.
86 lines
1.8 KiB
Nix
86 lines
1.8 KiB
Nix
{ fetchurl
|
|
, stdenv
|
|
, pkgconfig
|
|
, gnome3
|
|
, gtk3
|
|
, atk
|
|
, gobject-introspection
|
|
, spidermonkey_60
|
|
, pango
|
|
, cairo
|
|
, readline
|
|
, glib
|
|
, libxml2
|
|
, dbus
|
|
, gdk-pixbuf
|
|
, makeWrapper
|
|
, nixosTests
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "gjs";
|
|
version = "1.58.1";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://gnome/sources/gjs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
|
sha256 = "1xf68rbagkflb9yi3visfw8cbxqlzd717y8jakgw0y6whzm1dpxl";
|
|
};
|
|
|
|
outputs = [ "out" "dev" "installedTests" ];
|
|
|
|
nativeBuildInputs = [
|
|
pkgconfig
|
|
makeWrapper
|
|
libxml2 # for xml-stripblanks
|
|
];
|
|
|
|
buildInputs = [
|
|
gobject-introspection
|
|
cairo
|
|
readline
|
|
spidermonkey_60
|
|
dbus # for dbus-run-session
|
|
];
|
|
|
|
propagatedBuildInputs = [
|
|
glib
|
|
];
|
|
|
|
configureFlags = [
|
|
"--enable-installed-tests"
|
|
];
|
|
|
|
postPatch = ''
|
|
for f in installed-tests/*.test.in; do
|
|
substituteInPlace "$f" --subst-var-by pkglibexecdir "$installedTests/libexec/gjs"
|
|
done
|
|
'';
|
|
|
|
postInstall = ''
|
|
moveToOutput "share/installed-tests" "$installedTests"
|
|
moveToOutput "libexec/gjs/installed-tests" "$installedTests"
|
|
|
|
wrapProgram "$installedTests/libexec/gjs/installed-tests/minijasmine" \
|
|
--prefix GI_TYPELIB_PATH : "${stdenv.lib.makeSearchPath "lib/girepository-1.0" [ gtk3 atk pango.out gdk-pixbuf ]}:$installedTests/libexec/gjs/installed-tests"
|
|
'';
|
|
|
|
separateDebugInfo = stdenv.isLinux;
|
|
|
|
passthru = {
|
|
tests = {
|
|
installed-tests = nixosTests.installed-tests.gjs;
|
|
};
|
|
|
|
updateScript = gnome3.updateScript {
|
|
packageName = "gjs";
|
|
};
|
|
};
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "JavaScript bindings for GNOME";
|
|
homepage = "https://gitlab.gnome.org/GNOME/gjs/blob/master/doc/Home.md";
|
|
license = licenses.lgpl2Plus;
|
|
maintainers = gnome3.maintainers;
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|