uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
60
pkgs/desktops/gnome/extensions/buildGnomeExtension.nix
Normal file
60
pkgs/desktops/gnome/extensions/buildGnomeExtension.nix
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
{ pkgs, lib, stdenv, fetchzip }:
|
||||
|
||||
let
|
||||
|
||||
buildGnomeExtension = {
|
||||
# Every gnome extension has a UUID. It's the name of the extension folder once unpacked
|
||||
# and can always be found in the metadata.json of every extension.
|
||||
uuid,
|
||||
name,
|
||||
pname,
|
||||
description,
|
||||
# extensions.gnome.org extension URL
|
||||
link,
|
||||
# Extension version numbers are integers
|
||||
version,
|
||||
sha256,
|
||||
# Hex-encoded string of JSON bytes
|
||||
metadata,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "gnome-shell-extension-${pname}";
|
||||
version = builtins.toString version;
|
||||
src = fetchzip {
|
||||
url = "https://extensions.gnome.org/extension-data/${
|
||||
builtins.replaceStrings [ "@" ] [ "" ] uuid
|
||||
}.v${builtins.toString version}.shell-extension.zip";
|
||||
inherit sha256;
|
||||
stripRoot = false;
|
||||
# The download URL may change content over time. This is because the
|
||||
# metadata.json is automatically generated, and parts of it can be changed
|
||||
# without making a new release. We simply substitute the possibly changed fields
|
||||
# with their content from when we last updated, and thus get a deterministic output
|
||||
# hash.
|
||||
postFetch = ''
|
||||
echo "${metadata}" | base64 --decode > $out/metadata.json
|
||||
'';
|
||||
};
|
||||
dontBuild = true;
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/share/gnome-shell/extensions/
|
||||
cp -r -T . $out/share/gnome-shell/extensions/${uuid}
|
||||
runHook postInstall
|
||||
'';
|
||||
meta = {
|
||||
description = builtins.head (lib.splitString "\n" description);
|
||||
longDescription = description;
|
||||
homepage = link;
|
||||
license = lib.licenses.gpl2Plus; # https://wiki.gnome.org/Projects/GnomeShell/Extensions/Review#Licensing
|
||||
maintainers = with lib.maintainers; [ piegames ];
|
||||
};
|
||||
passthru = {
|
||||
extensionPortalSlug = pname;
|
||||
# Store the extension's UUID, because we might need it at some places
|
||||
extensionUuid = uuid;
|
||||
};
|
||||
};
|
||||
in
|
||||
lib.makeOverridable buildGnomeExtension
|
||||
Loading…
Add table
Add a link
Reference in a new issue