diff --git a/pkgs/desktops/gnome-3/apps/cheese/default.nix b/pkgs/desktops/gnome-3/apps/cheese/default.nix index 7a4cd0e949568..e94a89c7f27cd 100644 --- a/pkgs/desktops/gnome-3/apps/cheese/default.nix +++ b/pkgs/desktops/gnome-3/apps/cheese/default.nix @@ -1,18 +1,41 @@ { stdenv, intltool, fetchurl, wrapGAppsHook, gnome-video-effects, libcanberra_gtk3 , pkgconfig, gtk3, glib, clutter_gtk, clutter-gst, udev, gst_all_1, itstool -, libgudev -, adwaita-icon-theme, librsvg, gdk_pixbuf, gnome3, gnome_desktop, libxml2 }: +, libgudev, autoreconfHook, vala, docbook_xml_dtd_43, docbook_xsl, appstream-glib +, libxslt, yelp_tools, gnome_common, gtk_doc +, adwaita-icon-theme, librsvg, totem, gdk_pixbuf, gnome3, gnome_desktop, libxml2 }: stdenv.mkDerivation rec { inherit (import ./src.nix fetchurl) name src; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk3 glib intltool wrapGAppsHook gnome-video-effects itstool - gdk_pixbuf adwaita-icon-theme librsvg udev gst_all_1.gstreamer libxml2 + nativeBuildInputs = [ + pkgconfig intltool itstool vala wrapGAppsHook libxml2 appstream-glib + libxslt docbook_xml_dtd_43 docbook_xsl + autoreconfHook gtk_doc yelp_tools gnome_common + ]; + buildInputs = [ gtk3 glib gnome-video-effects + gdk_pixbuf adwaita-icon-theme librsvg udev gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gnome_desktop gst_all_1.gst-plugins-bad clutter_gtk clutter-gst libcanberra_gtk3 libgudev ]; + outputs = [ "out" "man" "devdoc" ]; + + patches = [ + gtk_doc.respect_xml_catalog_files_var_patch + ]; + + preFixup = '' + gappsWrapperArgs+=( + # Effects + --prefix XDG_DATA_DIRS : "${gnome-video-effects}/share" + # vp8enc preset + --prefix GST_PRESET_PATH : "${gst_all_1.gst-plugins-good}/share/gstreamer-1.0/presets" + # Thumbnailers + --prefix XDG_DATA_DIRS : "${gdk_pixbuf}/share" + --prefix XDG_DATA_DIRS : "${totem}/share" + ) + ''; + enableParallelBuilding = true; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch b/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch new file mode 100644 index 0000000000000..ee9b012b6e45f --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch @@ -0,0 +1,19 @@ +--- a/libgnome-desktop/gnome-desktop-thumbnail-script.c ++++ b/libgnome-desktop/gnome-desktop-thumbnail-script.c +@@ -504,14 +504,10 @@ + g_return_val_if_fail (script->s_infile != NULL, FALSE); + + add_args (array, +- "bwrap", +- "--ro-bind", "/usr", "/usr", +- "--ro-bind", "/lib", "/lib", +- "--ro-bind", "/lib64", "/lib64", ++ "@BUBBLEWRAP_BIN@", ++ "--ro-bind", "/nix/store", "/nix/store", + "--proc", "/proc", + "--dev", "/dev", +- "--symlink", "usr/bin", "/bin", +- "--symlink", "usr/sbin", "/sbin", + "--chdir", "/", + "--setenv", "GIO_USE_VFS", "local", + "--unshare-all", diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix index e8a7cb8ceb95c..68ec28e93b6e9 100644 --- a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3, gtk3, glib , intltool, gnome_doc_utils, libxkbfile, xkeyboard_config, isocodes, itstool, wayland -, libseccomp, gobjectIntrospection }: +, libseccomp, bubblewrap, gobjectIntrospection }: stdenv.mkDerivation rec { inherit (import ./src.nix fetchurl) name src; @@ -10,14 +10,24 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ python libxml2Python libxslt which libX11 - xkeyboard_config isocodes itstool wayland - gtk3 glib intltool gnome_doc_utils libxkbfile - libseccomp gobjectIntrospection ]; + nativeBuildInputs = [ + pkgconfig which itstool intltool libxslt gnome_doc_utils gobjectIntrospection + ]; + buildInputs = [ python libxml2Python libX11 bubblewrap + xkeyboard_config isocodes wayland + gtk3 glib libxkbfile libseccomp ]; propagatedBuildInputs = [ gnome3.gsettings_desktop_schemas ]; + patches = [ + ./bubblewrap-paths.patch + ]; + + postPatch = '' + substituteInPlace libgnome-desktop/gnome-desktop-thumbnail-script.c --subst-var-by \ + BUBBLEWRAP_BIN "${bubblewrap}/bin/bwrap" + ''; + meta = with stdenv.lib; { platforms = platforms.linux; maintainers = gnome3.maintainers; diff --git a/pkgs/desktops/gnome-3/misc/gnome-video-effects/default.nix b/pkgs/desktops/gnome-3/misc/gnome-video-effects/default.nix index dfeefe0def86b..486898a4e1f2d 100644 --- a/pkgs/desktops/gnome-3/misc/gnome-video-effects/default.nix +++ b/pkgs/desktops/gnome-3/misc/gnome-video-effects/default.nix @@ -2,15 +2,14 @@ stdenv.mkDerivation rec { name = "gnome-video-effects-${version}"; - version = "0.4.1"; + version = "0.4.3"; src = fetchurl { url = "mirror://gnome/sources/gnome-video-effects/0.4/${name}.tar.xz"; - sha256 = "0jl4iny2dqpcgi3sgxzpgnbw0752i8ay3rscp2cgdjlp79ql5gil"; + sha256 = "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ intltool ]; + nativeBuildInputs = [ pkgconfig intltool ]; meta = with stdenv.lib; { homepage = https://wiki.gnome.org/Projects/GnomeVideoEffects; diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix index 5f31a2dfb7c63..b88b8e3c82a97 100644 --- a/pkgs/development/tools/documentation/gtk-doc/default.nix +++ b/pkgs/development/tools/documentation/gtk-doc/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; patches = [ - ./respect-xml-catalog-files-var.patch + passthru.respect_xml_catalog_files_var_patch ]; outputDevdoc = "out"; @@ -24,6 +24,11 @@ stdenv.mkDerivation rec { configureFlags = "--disable-scrollkeeper"; + passthru = { + # Consumers are expected to copy the m4 files to their source tree, let them reuse the patch + respect_xml_catalog_files_var_patch = ./respect-xml-catalog-files-var.patch; + }; + meta = with stdenv.lib; { homepage = https://www.gtk.org/gtk-doc; description = "Tools to extract documentation embedded in GTK+ and GNOME source code";