diff --git a/0001-build-Fix-installation-with-DESTDIR-set.patch b/0001-build-Fix-installation-with-DESTDIR-set.patch new file mode 100644 index 0000000..a7d7722 --- /dev/null +++ b/0001-build-Fix-installation-with-DESTDIR-set.patch @@ -0,0 +1,37 @@ +From 4a7c705a8c181eda6bb4e03a5674aab393331a04 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Fri, 29 Nov 2019 17:50:48 +0100 +Subject: [PATCH] build: Fix installation with DESTDIR set + +os.path.join() doesn't simply concatenate paths as: +If a component is an absolute path, all previous components are +thrown away and joining continues from the absolute path component. + +Strip the leading '/' from the configured prefix if needed to prevent +that. + +Closes: https://gitlab.gnome.org/GNOME/gjs/issues/291 +--- + build/symlink-gjs.py | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/build/symlink-gjs.py b/build/symlink-gjs.py +index 365a3211..2c6f0a57 100644 +--- a/build/symlink-gjs.py ++++ b/build/symlink-gjs.py +@@ -12,7 +12,11 @@ destdir = os.environ.get('DESTDIR') + install_prefix = os.environ.get('MESON_INSTALL_PREFIX') + bindir = sys.argv[1] + if destdir is not None: +- installed_bin_dir = os.path.join(destdir, install_prefix, bindir) ++ # os.path.join() doesn't concat paths if one of them is absolute ++ if install_prefix[0] == '/' and os.name is not 'nt': ++ installed_bin_dir = os.path.join(destdir, install_prefix[1:], bindir) ++ else: ++ installed_bin_dir = os.path.join(destdir, install_prefix, bindir) + else: + installed_bin_dir = os.path.join(install_prefix, bindir) + +-- +2.23.0 + diff --git a/gjs.spec b/gjs.spec index 15c34bd..9634966 100644 --- a/gjs.spec +++ b/gjs.spec @@ -16,11 +16,14 @@ License: MIT and (MPLv1.1 or GPLv2+ or LGPLv2+) URL: https://wiki.gnome.org/Projects/Gjs Source0: https://download.gnome.org/sources/%{name}/1.58/%{name}-%{version}.tar.xz +Patch0: 0001-build-Fix-installation-with-DESTDIR-set.patch + BuildRequires: cairo-gobject-devel BuildRequires: chrpath BuildRequires: dbus-daemon BuildRequires: dbus-glib-devel BuildRequires: gcc-c++ +BuildRequires: meson BuildRequires: gettext BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version} @@ -62,12 +65,11 @@ the functionality of the installed gjs package. %autosetup -p1 %build -%configure --disable-static --enable-installed-tests - -make %{?_smp_mflags} V=1 +%meson +%meson_build %install -%make_install +%meson_install # Remove lib64 rpaths chrpath --delete %{buildroot}%{_bindir}/gjs-console @@ -76,7 +78,7 @@ chrpath --delete %{buildroot}%{_libexecdir}/gjs/installed-tests/minijasmine find %{buildroot} -name '*.la' -exec rm -f {} ';' %check -#make check +#meson_test %files %license COPYING