diff --git a/pkgs/data/misc/shared-mime-info/default.nix b/pkgs/data/misc/shared-mime-info/default.nix index c69a9802c0c8d..a2e301f40ecb8 100644 --- a/pkgs/data/misc/shared-mime-info/default.nix +++ b/pkgs/data/misc/shared-mime-info/default.nix @@ -1,8 +1,11 @@ -{ lib, stdenv -, fetchurl +{ stdenv +, lib +, fetchFromGitLab +, fetchpatch +, meson +, ninja , pkg-config , gettext -, perlPackages , itstool , libxml2 , glib @@ -10,31 +13,47 @@ stdenv.mkDerivation rec { pname = "shared-mime-info"; - version = "1.13.1"; + version = "2.1"; - src = fetchurl { - url = "https://gitlab.freedesktop.org/xdg/${pname}/uploads/5349e18c86eb96eee258a5c1f19122d0/${pname}-${version}.tar.xz"; - sha256 = "1bic8z5nz08qxv1x6zlxnx2j4cmlzm12kygrn3rrh1djqxdhma3f"; + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "xdg"; + repo = pname; + rev = version; + sha256 = "07bxv44p43pqq4ymfnyy50yli7lwdqymhvclna42rkn1cazq3vb5"; }; + patches = [ + # xmlto is only used for building the docs, which are not installed anyways. + (fetchpatch { + name = "xmlto-optional.patch"; + url = "https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/110.patch"; + sha256 = "0p5gxlcmn8ji5bc7pd105s1halqwa1d28lfx9yj43rn6mav7allx"; + }) + ]; + nativeBuildInputs = [ + meson + ninja pkg-config gettext itstool - ] ++ (with perlPackages; [ - perl XMLParser - ]); + ]; buildInputs = [ libxml2 glib ]; + mesonFlags = [ + "-Dupdate-mimedb=true" + ]; + meta = with lib; { description = "A database of common MIME types"; homepage = "http://freedesktop.org/wiki/Software/shared-mime-info"; license = licenses.gpl2Plus; platforms = platforms.unix; - maintainers = [ maintainers.mimame ]; + maintainers = teams.freedesktop.members ++ [ maintainers.mimame ]; }; }