diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2020-03-31 21:33:00 +0200 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2020-03-31 21:33:00 +0200 |
commit | dbb4a47de04bb02e8a96c9ac16d53ecca61cab22 (patch) | |
tree | 00818a95ad458fa87af8460181f385154c4fc966 /pkgs/build-support | |
parent | aa304bb398a5a079eeb376dfc084b05cd1769cec (diff) | |
parent | 3e0f4e202f4221d5a05a9664fd46e492de711fa2 (diff) | |
download | nixpkgs-dbb4a47de04bb02e8a96c9ac16d53ecca61cab22.tar nixpkgs-dbb4a47de04bb02e8a96c9ac16d53ecca61cab22.tar.gz nixpkgs-dbb4a47de04bb02e8a96c9ac16d53ecca61cab22.tar.bz2 nixpkgs-dbb4a47de04bb02e8a96c9ac16d53ecca61cab22.tar.lz nixpkgs-dbb4a47de04bb02e8a96c9ac16d53ecca61cab22.tar.xz nixpkgs-dbb4a47de04bb02e8a96c9ac16d53ecca61cab22.tar.zst nixpkgs-dbb4a47de04bb02e8a96c9ac16d53ecca61cab22.zip |
Merge branch 'staging-next' into staging
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/make-desktopitem/default.nix | 17 | ||||
-rw-r--r-- | pkgs/build-support/skaware/build-skaware-package.nix | 33 |
2 files changed, 30 insertions, 20 deletions
diff --git a/pkgs/build-support/make-desktopitem/default.nix b/pkgs/build-support/make-desktopitem/default.nix index 67b82fd66db..8355a5ad29b 100644 --- a/pkgs/build-support/make-desktopitem/default.nix +++ b/pkgs/build-support/make-desktopitem/default.nix @@ -1,4 +1,5 @@ -{ lib, runCommandLocal }: +{ lib, runCommandLocal, desktop-file-utils }: + { name , type ? "Application" , exec @@ -8,9 +9,10 @@ , desktopName , genericName ? null , mimeType ? null -, categories ? "Application;Other;" +, categories ? null , startupNotify ? null , extraEntries ? null +, fileValidation ? true # whether to validate resulting desktop file. }: let @@ -18,6 +20,7 @@ let {k="Comment"; v=comment;} {k="GenericName"; v=genericName;} {k="MimeType"; v=mimeType;} + {k="Categories"; v=categories;} {k="StartupNotify"; v=startupNotify;}]; valueNotNull = {k, v}: v != null; @@ -28,16 +31,20 @@ let in runCommandLocal "${name}.desktop" {} '' - mkdir -p $out/share/applications - cat > $out/share/applications/${name}.desktop <<EOF + mkdir -p "$out/share/applications" + cat > "$out/share/applications/${name}.desktop" <<EOF [Desktop Entry] Type=${type} Exec=${exec} Terminal=${terminal} Name=${desktopName} - Categories=${categories} ${optionalEntriesString} ${if extraEntries == null then ''EOF'' else '' ${extraEntries} EOF''} + + ${lib.optionalString fileValidation '' + echo "Running desktop-file validation" + ${desktop-file-utils}/bin/desktop-file-validate "$out/share/applications/${name}.desktop" + ''} '' diff --git a/pkgs/build-support/skaware/build-skaware-package.nix b/pkgs/build-support/skaware/build-skaware-package.nix index 9e4456a3a15..e6e2e35789b 100644 --- a/pkgs/build-support/skaware/build-skaware-package.nix +++ b/pkgs/build-support/skaware/build-skaware-package.nix @@ -18,15 +18,12 @@ in { , configureFlags # mostly for moving and deleting files from the build directory # : lines -, postInstall ? "" - # : lines -, postFixup ? "" +, postInstall # : list Maintainer , maintainers ? [] - # : attrs -, meta ? {} -, ... -} @ args: + + +}: let @@ -53,17 +50,24 @@ let "README.*" ]; -in stdenv.mkDerivation ({ +in stdenv.mkDerivation { + inherit pname version; + src = fetchurl { url = "https://skarnet.org/software/${pname}/${pname}-${version}.tar.gz"; inherit sha256; }; + inherit outputs; + dontDisableStatic = true; enableParallelBuilding = true; configureFlags = configureFlags ++ [ "--enable-absolute-paths" + # We assume every nix-based cross target has urandom. + # This might not hold for e.g. BSD. + "--with-sysdep-devurandom=yes" (if stdenv.isDarwin then "--disable-shared" else "--enable-shared") @@ -83,11 +87,13 @@ in stdenv.mkDerivation ({ noiseFiles = commonNoiseFiles; docFiles = commonMetaFiles; }} $doc/share/doc/${pname} - '' + postInstall; + + ${postInstall} + ''; postFixup = '' ${cleanPackaging.checkForRemainingFiles} - '' + postFixup; + ''; meta = { homepage = "https://skarnet.org/software/${pname}/"; @@ -95,9 +101,6 @@ in stdenv.mkDerivation ({ license = stdenv.lib.licenses.isc; maintainers = with lib.maintainers; [ pmahoney Profpatsch ] ++ maintainers; - } // meta; + }; -} // builtins.removeAttrs args [ - "sha256" "configureFlags" "postInstall" "postFixup" - "meta" "description" "platforms" "maintainers" -]) +} |