nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 125 lines 2.3 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 replaceVars, 6 pkg-config, 7 meson, 8 ninja, 9 gettext, 10 gnome, 11 wrapGAppsHook4, 12 packagekit, 13 ostree, 14 glib, 15 appstream, 16 libsoup_3, 17 libadwaita, 18 polkit, 19 isocodes, 20 gspell, 21 libxslt, 22 gobject-introspection, 23 itstool, 24 flatpak, 25 fwupd, 26 gtk4, 27 gsettings-desktop-schemas, 28 gnome-desktop, 29 libgudev, 30 libxmlb, 31 malcontent, 32 json-glib, 33 glib-networking, 34 libsecret, 35 valgrind-light, 36 docbook-xsl-nons, 37 docbook_xml_dtd_42, 38 docbook_xml_dtd_43, 39 gtk-doc, 40 desktop-file-utils, 41 libsysprof-capture, 42 gst_all_1, 43}: 44 45let 46 withFwupd = stdenv.hostPlatform.isx86; 47in 48 49stdenv.mkDerivation (finalAttrs: { 50 pname = "gnome-software"; 51 version = "49.3"; 52 53 src = fetchurl { 54 url = "mirror://gnome/sources/gnome-software/${lib.versions.major finalAttrs.version}/gnome-software-${finalAttrs.version}.tar.xz"; 55 hash = "sha256-9kbbLxK89Ag3K2tJrpEJn85S0OrHYs6iMRqMik3/nQA="; 56 }; 57 58 patches = [ 59 (replaceVars ./fix-paths.patch { 60 inherit isocodes; 61 }) 62 ]; 63 64 nativeBuildInputs = [ 65 meson 66 ninja 67 pkg-config 68 gettext 69 wrapGAppsHook4 70 libxslt 71 docbook_xml_dtd_42 72 docbook_xml_dtd_43 73 valgrind-light 74 docbook-xsl-nons 75 gtk-doc 76 desktop-file-utils 77 gobject-introspection 78 itstool 79 ]; 80 81 buildInputs = [ 82 gtk4 83 glib 84 glib-networking 85 packagekit 86 appstream 87 libsoup_3 88 libadwaita 89 gsettings-desktop-schemas 90 gnome-desktop 91 gspell 92 json-glib 93 libsecret 94 ostree 95 polkit 96 flatpak 97 libgudev 98 libxmlb 99 malcontent 100 libsysprof-capture 101 # For video screenshots 102 gst_all_1.gst-plugins-base 103 gst_all_1.gst-plugins-good 104 ] 105 ++ lib.optionals withFwupd [ fwupd ]; 106 107 mesonFlags = [ 108 # Requires /etc/machine-id, D-Bus system bus, etc. 109 "-Dtests=false" 110 ] 111 ++ lib.optionals (!withFwupd) [ "-Dfwupd=false" ]; 112 113 passthru = { 114 updateScript = gnome.updateScript { packageName = "gnome-software"; }; 115 }; 116 117 meta = { 118 description = "Software store that lets you install and update applications and system extensions"; 119 mainProgram = "gnome-software"; 120 homepage = "https://apps.gnome.org/Software/"; 121 license = lib.licenses.gpl2Plus; 122 teams = [ lib.teams.gnome ]; 123 platforms = lib.platforms.linux; 124 }; 125})