diff --git a/pkgs/build-support/fetchurl/gnome.nix b/pkgs/build-support/fetchurl/gnome.nix new file mode 100644 index 00000000000..616c8203601 --- /dev/null +++ b/pkgs/build-support/fetchurl/gnome.nix @@ -0,0 +1,17 @@ +{ fetchurl }: + +{ project, major, minor, patchlevel, extension ? "bz2", sha256 }: + +let + baseVersion = "${major}.${minor}"; + version = baseVersion + (if patchlevel != null then ".${patchlevel}" else ""); + name = "${project}-${version}"; +in + +(fetchurl { + url = "mirror://gnome/sources/${project}/${baseVersion}/${name}.tar.${extension}"; + inherit sha256; +}) // { + inherit major minor patchlevel baseVersion version; + pkgname = name; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e9793292d62..d614fe05d36 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -289,6 +289,9 @@ let inherit curl stdenv; }; + # A wrapper around fetchurl that generates miror://gnome URLs automatically + fetchurl_gnome = callPackage ../build-support/fetchurl/gnome.nix { }; + # fetchurlBoot is used for curl and its dependencies in order to # prevent a cyclic dependency (curl depends on curl.tar.bz2, # curl.tar.bz2 depends on fetchurl, fetchurl depends on curl). It