about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorDaniel Schaefer <git@danielschaefer.me>2019-04-25 08:46:07 +0200
committerDaniel Schaefer <git@danielschaefer.me>2019-05-12 22:23:48 +0200
commitb85ccbac54738a9979af11e0582b5d0ed1c50cbd (patch)
treedc215fd637742e214fe52dd3ed152f93641762f9 /pkgs/development
parent5b9bb1b4311d93085ae3e94bf024d88d150b11eb (diff)
downloadnixlib-b85ccbac54738a9979af11e0582b5d0ed1c50cbd.tar
nixlib-b85ccbac54738a9979af11e0582b5d0ed1c50cbd.tar.gz
nixlib-b85ccbac54738a9979af11e0582b5d0ed1c50cbd.tar.bz2
nixlib-b85ccbac54738a9979af11e0582b5d0ed1c50cbd.tar.lz
nixlib-b85ccbac54738a9979af11e0582b5d0ed1c50cbd.tar.xz
nixlib-b85ccbac54738a9979af11e0582b5d0ed1c50cbd.tar.zst
nixlib-b85ccbac54738a9979af11e0582b5d0ed1c50cbd.zip
treewide: Add passthru.updateScript to gnome pkgs
`updateScript` lets us update packages automatically.
For packages that are hosted on the gnome mirror it's very easy to add
that. Inspired by https://github.com/NixOS/nixpkgs/issues/36150
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/vala/default.nix2
-rw-r--r--pkgs/development/libraries/cairomm/default.nix11
-rw-r--r--pkgs/development/libraries/gcab/default.nix14
-rw-r--r--pkgs/development/libraries/gnome-menus/default.nix8
-rw-r--r--pkgs/development/libraries/goocanvas/default.nix15
-rw-r--r--pkgs/development/libraries/gstreamer/gstreamermm/default.nix19
-rw-r--r--pkgs/development/libraries/hyena/default.nix4
-rw-r--r--pkgs/development/libraries/libgnome-keyring/default.nix10
-rw-r--r--pkgs/development/libraries/libunique/default.nix13
-rw-r--r--pkgs/development/libraries/libwnck/default.nix9
-rw-r--r--pkgs/development/libraries/libxmlxx/default.nix15
-rw-r--r--pkgs/development/libraries/opal/default.nix10
-rw-r--r--pkgs/development/libraries/pangox-compat/default.nix6
-rw-r--r--pkgs/development/libraries/ptlib/default.nix10
-rw-r--r--pkgs/development/python-modules/pygtk/default.nix15
-rw-r--r--pkgs/development/tools/documentation/gnome-doc-utils/default.nix23
-rw-r--r--pkgs/development/tools/documentation/gtk-doc/default.nix10
-rw-r--r--pkgs/development/tools/misc/gob2/default.nix15
-rw-r--r--pkgs/development/tools/misc/msitools/default.nix12
19 files changed, 143 insertions, 78 deletions
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 65a3f19102e0..6da9d6d3d02d 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, fetchpatch, pkgconfig, flex, bison, libxslt, autoconf, automake, autoreconfHook
-, graphviz, glib, libiconv, libintl, libtool, expat, substituteAll
+, graphviz, glib, libiconv, libintl, libtool, expat, substituteAll, gnome3
 }:
 
 let
diff --git a/pkgs/development/libraries/cairomm/default.nix b/pkgs/development/libraries/cairomm/default.nix
index a4e4968f562f..2936f48fc8e6 100644
--- a/pkgs/development/libraries/cairomm/default.nix
+++ b/pkgs/development/libraries/cairomm/default.nix
@@ -1,15 +1,12 @@
 { fetchurl, stdenv, pkgconfig, darwin, cairo, fontconfig, freetype, libsigcxx }:
-let
-  ver_maj = "1.12";
-  ver_min = "2";
-in
 stdenv.mkDerivation rec {
-  name = "cairomm-${ver_maj}.${ver_min}";
+  pname = "cairomm";
+  version = "1.12.2";
 
   src = fetchurl {
-    url = "https://www.cairographics.org/releases/${name}.tar.gz";
+    url = "https://www.cairographics.org/releases/${pname}-${version}.tar.gz";
     # gnome doesn't have the latest version ATM; beware: same name but different hash
-    # url = "mirror://gnome/sources/cairomm/${ver_maj}/${name}.tar.xz";
+    #url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "16fmigxsaz85c3lgcls7biwyz8zy8c8h3jndfm54cxxas3a7zi25";
   };
 
diff --git a/pkgs/development/libraries/gcab/default.nix b/pkgs/development/libraries/gcab/default.nix
index 2b9b59e7baf6..397fee3f34c1 100644
--- a/pkgs/development/libraries/gcab/default.nix
+++ b/pkgs/development/libraries/gcab/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, gettext, gobject-introspection, pkgconfig
-, meson, ninja, glibcLocales, git, vala, glib, zlib
+, meson, ninja, glibcLocales, git, vala, glib, zlib, gnome3
 }:
 
 stdenv.mkDerivation rec {
-  name = "gcab-${version}";
+  pname = "gcab";
   version = "1.2";
 
   LC_ALL = "en_US.UTF-8";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gcab/${version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "038h5kk41si2hc9d9169rrlvp8xgsxq27kri7hv2vr39gvz9cbas";
   };
 
@@ -22,10 +22,16 @@ stdenv.mkDerivation rec {
     "-Dtests=false"
   ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      versionPolicy = "none";
+    };
+  };
+
   meta = with stdenv.lib; {
     platforms = platforms.linux;
     license = licenses.lgpl21;
     maintainers = [ maintainers.lethalman ];
   };
-
 }
diff --git a/pkgs/development/libraries/gnome-menus/default.nix b/pkgs/development/libraries/gnome-menus/default.nix
index 9bfc638634ba..5919380dc703 100644
--- a/pkgs/development/libraries/gnome-menus/default.nix
+++ b/pkgs/development/libraries/gnome-menus/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gettext, glib, gobject-introspection }:
+{ stdenv, fetchurl, pkgconfig, gettext, glib, gobject-introspection, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-menus";
@@ -17,6 +17,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig gettext ];
   buildInputs = [ glib gobject-introspection ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
   meta = {
     homepage = https://www.gnome.org;
     description = "Library that implements freedesktops's Desktop Menu Specification in GNOME";
diff --git a/pkgs/development/libraries/goocanvas/default.nix b/pkgs/development/libraries/goocanvas/default.nix
index 0f9b3f85fcd8..52383ebdf5dc 100644
--- a/pkgs/development/libraries/goocanvas/default.nix
+++ b/pkgs/development/libraries/goocanvas/default.nix
@@ -1,18 +1,23 @@
-{ stdenv, fetchurl, gtk2, cairo, glib, pkgconfig }:
+{ stdenv, fetchurl, gtk2, cairo, glib, pkgconfig, gnome3 }:
 
 stdenv.mkDerivation rec {
-  majVersion = "1.0";
-  version = "${majVersion}.0";
-  name = "goocanvas-${version}";
+  pname = "goocanvas";
+  version = "1.0.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/goocanvas/${majVersion}/${name}.tar.bz2";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
     sha256 = "07kicpcacbqm3inp7zq32ldp95mxx4kfxpaazd0x5jk7hpw2w1qw";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gtk2 cairo glib ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
   meta = { 
     description = "Canvas widget for GTK+ based on the the Cairo 2D library";
     homepage = http://goocanvas.sourceforge.net/;
diff --git a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
index 14e27ab6068c..e321edcf6e08 100644
--- a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
+++ b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
@@ -1,14 +1,10 @@
-{ stdenv, fetchurl, pkgconfig, file, glibmm, gst_all_1 }:
-
-let
-  ver_maj = "1.10";
-  ver_min = "0";
-in
+{ stdenv, fetchurl, pkgconfig, file, glibmm, gst_all_1, gnome3 }:
 stdenv.mkDerivation rec {
-  name = "gstreamermm-${ver_maj}.${ver_min}";
+  pname = "gstreamermm";
+  version = "1.10.0";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/gstreamermm/${ver_maj}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0q4dx9sncqbwgpzma0zvj6zssc279yl80pn8irb95qypyyggwn5y";
   };
 
@@ -20,6 +16,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      versionPolicy = "none"; # Unpredictable version stability
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "C++ interface for GStreamer";
     homepage = https://gstreamer.freedesktop.org/bindings/cplusplus.html;
diff --git a/pkgs/development/libraries/hyena/default.nix b/pkgs/development/libraries/hyena/default.nix
index 516e4184623a..3be37bbefced 100644
--- a/pkgs/development/libraries/hyena/default.nix
+++ b/pkgs/development/libraries/hyena/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, mono, gtk-sharp-2_0, monoDLLFixer }:
 
 stdenv.mkDerivation rec {
-  name = "hyena-${version}";
+  pname = "hyena";
   version = "0.5";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/hyena/${version}/hyena-${version}.tar.bz2" ;
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
     sha256 = "eb7154a42b6529bb9746c39272719f3168d6363ed4bad305a916ed7d90bc8de9";
   };
 
diff --git a/pkgs/development/libraries/libgnome-keyring/default.nix b/pkgs/development/libraries/libgnome-keyring/default.nix
index 8dcbab95e976..94c092069463 100644
--- a/pkgs/development/libraries/libgnome-keyring/default.nix
+++ b/pkgs/development/libraries/libgnome-keyring/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, glib, dbus, libgcrypt, pkgconfig,
-intltool }:
+{ stdenv, fetchurl, glib, dbus, libgcrypt, pkgconfig, intltool }:
 
-stdenv.mkDerivation {
-  name = "libgnome-keyring-2.32.0";
+stdenv.mkDerivation rec {
+  pname = "libgnome-keyring";
+  version = "2.32.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libgnome-keyring/2.32/libgnome-keyring-2.32.0.tar.bz2;
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
     sha256 = "030gka96kzqg1r19b4xrmac89hf1xj1kr5p461yvbzfxh46qqf2n";
   };
 
diff --git a/pkgs/development/libraries/libunique/default.nix b/pkgs/development/libraries/libunique/default.nix
index 8559731d707c..d4ef5d99430d 100644
--- a/pkgs/development/libraries/libunique/default.nix
+++ b/pkgs/development/libraries/libunique/default.nix
@@ -1,27 +1,28 @@
 { stdenv, fetchurl, pkgconfig, glib, gtk2, dbus-glib }:
 
 stdenv.mkDerivation rec {
-  name = "libunique-1.1.6";
+  pname = "libunique";
+  version = "1.1.6";
+
   src = fetchurl {
-    url = "mirror://gnome/sources/libunique/1.1/${name}.tar.bz2";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
     sha256 = "1fsgvmncd9caw552lyfg8swmsd6bh4ijjsph69bwacwfxwf09j75";
   };
 
   NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
 
-  # patches from Gentoo portage
+  # Patches from Gentoo portage
   patches = [
     ./1.1.6-compiler-warnings.patch
     ./1.1.6-fix-test.patch
     ./1.1.6-G_CONST_RETURN.patch
     ./1.1.6-include-terminator.patch
-  ]
-    ++ [ ./gcc7-bug.patch ];
+  ] ++ [ ./gcc7-bug.patch ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ glib gtk2 dbus-glib ];
 
-  # don't make deprecated usages hard errors
+  # Don't make deprecated usages hard errors
   preBuild = ''substituteInPlace unique/dbus/Makefile --replace -Werror ""'';
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libwnck/default.nix b/pkgs/development/libraries/libwnck/default.nix
index 254541374104..558fb30584fc 100644
--- a/pkgs/development/libraries/libwnck/default.nix
+++ b/pkgs/development/libraries/libwnck/default.nix
@@ -1,14 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gtk2, intltool, xorg }:
 
-let
-  ver_maj = "2.31";
-  ver_min = "0";
-in
 stdenv.mkDerivation rec {
-  name = "libwnck-${ver_maj}.${ver_min}";
+  pname = "libwnck";
+  version = "2.31.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libwnck/${ver_maj}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "17isfjvrzgj5znld2a7zsk9vd39q9wnsysnw5jr8iz410z935xw3";
   };
 
diff --git a/pkgs/development/libraries/libxmlxx/default.nix b/pkgs/development/libraries/libxmlxx/default.nix
index 07ed1cba8be0..bf154b462ef1 100644
--- a/pkgs/development/libraries/libxmlxx/default.nix
+++ b/pkgs/development/libraries/libxmlxx/default.nix
@@ -1,12 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, glibmm, perl }:
+{ stdenv, fetchurl, pkgconfig, libxml2, glibmm, perl, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "libxml++-${maj_ver}.${min_ver}";
-  maj_ver = "2.40";
-  min_ver = "1";
+  pname = "libxml++";
+  version = "2.40.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libxml++/${maj_ver}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a";
   };
 
@@ -16,6 +15,12 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ libxml2 glibmm ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = http://libxmlplusplus.sourceforge.net/;
     description = "C++ wrapper for the libxml2 XML parser library";
diff --git a/pkgs/development/libraries/opal/default.nix b/pkgs/development/libraries/opal/default.nix
index 1658e831ddd1..3527dc4bfacf 100644
--- a/pkgs/development/libraries/opal/default.nix
+++ b/pkgs/development/libraries/opal/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl, pkgconfig, ptlib, srtp, libtheora, speex
+{ stdenv, fetchurl, pkgconfig, ptlib, srtp, libtheora, speex, gnome3
 , ffmpeg, x264, cyrus_sasl, openldap, openssl, expat, unixODBC }:
 
 stdenv.mkDerivation rec {
-  name = "opal-3.10.10";
+  pname = "opal";
+  version = "3.10.10";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/opal/3.10/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "f208985003461b2743575eccac13ad890b3e5baac35b68ddef17162460aff864";
   };
 
@@ -33,6 +34,9 @@ stdenv.mkDerivation rec {
     updateInfo = {
       downloadPage = "http://ftp.gnome.org/pub/GNOME/sources/opal";
     };
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
   };
 }
 
diff --git a/pkgs/development/libraries/pangox-compat/default.nix b/pkgs/development/libraries/pangox-compat/default.nix
index 2d6b678f6570..8059d20386fd 100644
--- a/pkgs/development/libraries/pangox-compat/default.nix
+++ b/pkgs/development/libraries/pangox-compat/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, pango, libX11 }:
 
 stdenv.mkDerivation rec {
-  name = "pangox-compat-0.0.2";
+  pname = "pangox-compat";
+  version = "0.0.2";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/pangox-compat/0.0/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0ip0ziys6mrqqmz4n71ays0kf5cs1xflj1gfpvs4fgy2nsrr482m";
   };
 
@@ -13,7 +14,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A compatibility library for pango>1.30.*";
-
     homepage = https://www.pango.org/;
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/ptlib/default.nix b/pkgs/development/libraries/ptlib/default.nix
index d425de243f50..4b194a13ef87 100644
--- a/pkgs/development/libraries/ptlib/default.nix
+++ b/pkgs/development/libraries/ptlib/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, unixODBC
+{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, unixODBC, gnome3
 , openssl, openldap, cyrus_sasl, kerberos, expat, SDL, libdv, libv4l, alsaLib }:
 
 stdenv.mkDerivation rec {
-  name = "ptlib-2.10.11";
+  pname = "ptlib";
+  version = "2.10.11";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/ptlib/2.10/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1jf27mjz8vqnclhrhrpn7niz4c177kcjbd1hc7vn65ihcqfz05rs";
   };
 
@@ -45,5 +46,8 @@ stdenv.mkDerivation rec {
     updateInfo = {
       downloadPage = "http://ftp.gnome.org/sources/ptlib/";
     };
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
   };
 }
diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix
index 42127de2f244..c6f939d319ab 100644
--- a/pkgs/development/python-modules/pygtk/default.nix
+++ b/pkgs/development/python-modules/pygtk/default.nix
@@ -4,18 +4,16 @@
 buildPythonPackage rec {
   pname = "pygtk";
   version = "2.24.0";
-  name = pname + "-" + version;
 
   disabled = isPy3k;
 
   src = fetchurl {
-    url = "mirror://gnome/sources/pygtk/2.24/${name}.tar.bz2";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
     sha256 = "04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ ]
-    ++ stdenv.lib.optional (libglade != null) libglade;
+  buildInputs = stdenv.lib.optional (libglade != null) libglade;
 
   propagatedBuildInputs = [ gtk2 pygobject2 pycairo ];
 
@@ -50,6 +48,13 @@ buildPythonPackage rec {
     rm $out/bin/pygtk-codegen-2.0
     ln -s ${pygobject2}/bin/pygobject-codegen-2.0  $out/bin/pygtk-codegen-2.0
     ln -s ${pygobject2}/lib/${python.libPrefix}/site-packages/pygobject-${pygobject2.version}.pth \
-                  $out/lib/${python.libPrefix}/site-packages/${name}.pth
+                  $out/lib/${python.libPrefix}/site-packages/${pname}-${version}.pth
   '';
+
+  meta = with stdenv.lib; {
+    description = "GTK+-2 bindings";
+    homepage = "https://gitlab.gnome.org/Archive/pygtk";
+    platforms = platforms.all;
+    license = with licenses; [ lgpl21Plus ];
+  };
 }
diff --git a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
index 2df390c2f720..0f33500a1940 100644
--- a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
+++ b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
@@ -1,12 +1,14 @@
-{fetchurl, pkgconfig, libxml2Python, libxslt, intltool
+{ stdenv, fetchurl, pkgconfig, libxml2Python, libxslt, intltool, gnome3
 , python2Packages }:
 
-python2Packages.buildPythonApplication {
-  name = "gnome-doc-utils-0.20.10";
+python2Packages.buildPythonApplication rec {
+  pname = "gnome-doc-utils";
+  version = "0.20.10";
+
   format = "other";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-doc-utils/0.20/gnome-doc-utils-0.20.10.tar.xz;
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb";
   };
 
@@ -20,4 +22,17 @@ python2Packages.buildPythonApplication {
   '';
 
   propagatedBuildInputs = [ libxml2Python ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Collection of documentation utilities for the Gnome project";
+    homepage = https://gitlab.gnome.org/GNOME/gnome-doc-utils;
+    license = with licenses; [ gpl2Plus lgpl2Plus ];
+    platforms = platforms.all;
+  };
 }
diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix
index d328aa06c9fe..c4a53e5e3fd4 100644
--- a/pkgs/development/tools/documentation/gtk-doc/default.nix
+++ b/pkgs/development/tools/documentation/gtk-doc/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, perl, python3, libxml2Python, libxslt, which
-, docbook_xml_dtd_43, docbook_xsl, gnome-doc-utils, gettext, itstool
+, docbook_xml_dtd_43, docbook_xsl, gnome-doc-utils, gettext, itstool, gnome3
 , withDblatex ? false, dblatex
 }:
 
 stdenv.mkDerivation rec {
-  name = "gtk-doc-${version}";
+  pname = "gtk-doc";
   version = "1.30";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gtk-doc/${version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "17h6nwhis66z4dxjrc833wvfl6pqjp81yfx3fq6x7k1qp2749xm4";
   };
 
@@ -38,6 +38,10 @@ stdenv.mkDerivation rec {
   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;
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      versionPolicy = "none";
+    };
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/misc/gob2/default.nix b/pkgs/development/tools/misc/gob2/default.nix
index 17aa3214ebcc..4c00d2c10252 100644
--- a/pkgs/development/tools/misc/gob2/default.nix
+++ b/pkgs/development/tools/misc/gob2/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, glib, bison, flex }:
+{ stdenv, fetchurl, pkgconfig, glib, bison, flex, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "gob2-${minVer}.20";
-  minVer = "2.0";
+  pname = "gob2";
+  version = "2.0.20";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gob2/${minVer}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "5fe5d7990fd65b0d4b617ba894408ebaa6df453f2781c15a1cfdf2956c0c5428";
   };
 
@@ -13,6 +13,13 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ glib bison flex ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      versionPolicy = "none";
+    };
+  };
+
   meta = {
     description = "Preprocessor for making GObjects with inline C code";
     homepage = https://www.jirka.org/gob.html;
diff --git a/pkgs/development/tools/misc/msitools/default.nix b/pkgs/development/tools/misc/msitools/default.nix
index 4a5d87fb4f7c..5c2b0ad0ee33 100644
--- a/pkgs/development/tools/misc/msitools/default.nix
+++ b/pkgs/development/tools/misc/msitools/default.nix
@@ -1,17 +1,23 @@
-{ stdenv, fetchurl, intltool, glib, pkgconfig, libgsf, libuuid, gcab, bzip2 }:
+{ stdenv, fetchurl, intltool, glib, pkgconfig, libgsf, libuuid, gcab, bzip2, gnome3 }:
 
 stdenv.mkDerivation rec {
+  pname = "msitools";
   version = "0.98";
-  name = "msitools-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/msitools/${version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "19wb3n3nwkpc6bjr0q3f1znaxsfaqgjbdxxnbx8ic8bb5b49hwac";
   };
 
   nativeBuildInputs = [ intltool pkgconfig ];
   buildInputs = [ glib libgsf libuuid gcab bzip2 ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Set of programs to inspect and build Windows Installer (.MSI) files";
     homepage = https://wiki.gnome.org/msitools;