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:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,32 @@
{ stdenv, lib, callPackage, buildMozillaMach }:
let
librewolf-src = callPackage ./librewolf.nix { };
in
(buildMozillaMach rec {
pname = "librewolf";
applicationName = "LibreWolf";
binaryName = "librewolf";
version = librewolf-src.packageVersion;
src = librewolf-src.firefox;
inherit (librewolf-src) extraConfigureFlags extraPostPatch extraPassthru;
meta = {
description = "A fork of Firefox, focused on privacy, security and freedom";
homepage = "https://librewolf.net/";
maintainers = with lib.maintainers; [ squalus ];
platforms = lib.platforms.unix;
badPlatforms = lib.platforms.darwin;
broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
license = lib.licenses.mpl20;
};
updateScript = callPackage ./update.nix {
attrPath = "librewolf-unwrapped";
};
}).override {
crashreporterSupport = false;
enableOfficialBranding = false;
pgoSupport = false; # Profiling gets stuck and doesn't terminate.
}

View file

@ -0,0 +1,41 @@
{ callPackage }:
let
src = callPackage ./src.nix { };
in
rec {
inherit (src) packageVersion firefox source;
extraPatches = [ ./verify-telemetry-macros.patch ];
extraConfigureFlags = [
"--with-app-name=librewolf"
"--with-app-basename=LibreWolf"
"--with-branding=browser/branding/librewolf"
"--with-distribution-id=io.gitlab.librewolf-community"
"--with-unsigned-addon-scopes=app,system"
"--allow-addon-sideload"
];
extraPostPatch = ''
while read patch_name; do
echo "applying LibreWolf patch: $patch_name"
patch -p1 < ${source}/$patch_name
done <${source}/assets/patches.txt
cp -r ${source}/themes/browser .
cp ${source}/assets/search-config.json services/settings/dumps/main/search-config.json
sed -i '/MOZ_SERVICES_HEALTHREPORT/ s/True/False/' browser/moz.configure
sed -i '/MOZ_NORMANDY/ s/True/False/' browser/moz.configure
'';
extraPrefsFiles = [ "${source}/submodules/settings/librewolf.cfg" ];
extraPoliciesFiles = [ "${source}/submodules/settings/distribution/policies.json" ];
extraPassthru = {
librewolf = { inherit src extraPatches; };
inherit extraPrefsFiles extraPoliciesFiles;
};
}

View file

@ -0,0 +1,11 @@
{
"packageVersion": "100.0.2-1",
"source": {
"rev": "100.0.2-1",
"sha256": "1hss4kvy4n4wxwlbb0pk7f02qra1dk8xgc6v6xqg252i7453vg9d"
},
"firefox": {
"version": "100.0.2",
"sha512": "6d9922e35e496fa63833ba03d1466e075287e40e50854ddc4f4a2036d9c7ca1f35c03bc6f708a3c469e0ec3b389b3346ac754bb84df0fecb86955fc21c05e00f"
}
}

View file

@ -0,0 +1,18 @@
{ fetchurl, fetchFromGitLab }:
let src = builtins.fromJSON (builtins.readFile ./src.json);
in
{
inherit (src) packageVersion;
source = fetchFromGitLab {
owner = "librewolf-community";
repo = "browser/source";
fetchSubmodules = true;
inherit (src.source) rev sha256;
};
firefox = fetchurl {
url =
"mirror://mozilla/firefox/releases/${src.firefox.version}/source/firefox-${src.firefox.version}.source.tar.xz";
inherit (src.firefox) sha512;
};
}

View file

@ -0,0 +1,65 @@
{ writeScript
, lib
, coreutils
, gnused
, gnugrep
, curl
, gnupg
, jq
, nix-prefetch-git
, moreutils
, runtimeShell
, ...
}:
writeScript "update-librewolf" ''
#!${runtimeShell}
PATH=${lib.makeBinPath [ coreutils curl gnugrep gnupg gnused jq moreutils nix-prefetch-git ]}
set -euo pipefail
latestTag=$(curl https://gitlab.com/api/v4/projects/librewolf-community%2Fbrowser%2Fsource/repository/tags?per_page=1 | jq -r .[0].name)
echo "latestTag=$latestTag"
srcJson=pkgs/applications/networking/browsers/librewolf/src.json
localRev=$(jq -r .source.rev < $srcJson)
echo "localRev=$localRev"
if [ "$localRev" == "$latestTag" ]; then
exit 0
fi
prefetchOut=$(mktemp)
repoUrl=https://gitlab.com/librewolf-community/browser/source.git/
nix-prefetch-git $repoUrl --quiet --rev $latestTag --fetch-submodules > $prefetchOut
srcDir=$(jq -r .path < $prefetchOut)
srcHash=$(jq -r .sha256 < $prefetchOut)
ffVersion=$(<$srcDir/version)
lwRelease=$(<$srcDir/release)
lwVersion="$ffVersion-$lwRelease"
echo "lwVersion=$lwVersion"
echo "ffVersion=$ffVersion"
if [ "$lwVersion" != "$latestTag" ]; then
echo "error: Tag name does not match the computed LibreWolf version"
exit 1
fi
HOME=$(mktemp -d)
export GNUPGHOME=$(mktemp -d)
gpg --receive-keys 14F26682D0916CDD81E37B6D61B7B526D98F0353
mozillaUrl=https://archive.mozilla.org/pub/firefox/releases/
curl --silent --show-error -o "$HOME"/shasums "$mozillaUrl$ffVersion/SHA512SUMS"
curl --silent --show-error -o "$HOME"/shasums.asc "$mozillaUrl$ffVersion/SHA512SUMS.asc"
gpgv --keyring="$GNUPGHOME"/pubring.kbx "$HOME"/shasums.asc "$HOME"/shasums
ffHash=$(grep '\.source\.tar\.xz$' "$HOME"/shasums | grep '^[^ ]*' -o)
echo "ffHash=$ffHash"
jq ".source.rev = \"$latestTag\"" $srcJson | sponge $srcJson
jq ".source.sha256 = \"$srcHash\"" $srcJson | sponge $srcJson
jq ".firefox.version = \"$ffVersion\"" $srcJson | sponge $srcJson
jq ".firefox.sha512 = \"$ffHash\"" $srcJson | sponge $srcJson
jq ".packageVersion = \"$lwVersion\"" $srcJson | sponge $srcJson
''