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,25 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, glib }:
stdenv.mkDerivation rec {
pname = "adapta-backgrounds";
version = "0.5.3.1";
src = fetchFromGitHub {
owner = "adapta-project";
repo = "adapta-backgrounds";
rev = version;
sha256 = "04hmbmzf97rsii8gpwy3wkljy5xhxmlsl34d63s6hfy05knclydj";
};
strictDeps = true;
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ glib ];
meta = with lib; {
description = "Wallpaper collection for adapta-project";
homepage = "https://github.com/adapta-project/adapta-backgrounds";
license = with licenses; [ gpl2 cc-by-sa-40 ];
platforms = platforms.all;
maintainers = with maintainers; [ romildo ];
};
}

View file

@ -0,0 +1,42 @@
{ lib, stdenv, fetchFromGitHub, librime }:
stdenv.mkDerivation {
pname = "brise";
version = "unstable-2017-09-16";
src = fetchFromGitHub {
owner = "rime";
repo = "brise";
rev = "1cfb0fe1d3a4190ce5d034f141941156dd271e80";
sha256 = "1l13j3cfwida0ycl874fizz2jwjvlxid589a1iciqa9y25k21ql7";
};
buildInputs = [ librime ];
postPatch = ''
patchShebangs scripts/*
'';
# we need to use fetchFromGitHub to fetch sub-packages before we 'make',
# since nix won't allow networking during 'make'
preBuild = import ./fetchPackages.nix fetchFromGitHub;
makeFlags = [ "BRISE_BUILD_BINARIES=yes" "PREFIX=$(out)" ];
enableParallelBuilding = true;
meta = with lib; {
description = "Rime Schema Repository";
longDescription = ''
This software is a collection of data packages used by Rime
to support various Chinese input methods, including those based on
modern dialects or historical diasystems of the Chinese language.
'';
homepage = "https://rime.im";
# Note that individual packages in this collection
# may be released under different licenses
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.sifmelcara ];
};
}

View file

@ -0,0 +1,130 @@
fetchFromGitHub:
# generated using https://gist.github.com/sifmelcara/895c71f99500b9d56d68e9a866b58821
''
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-array";
rev = "d10f2f8b2aec7c7e736ace01e8a399e5ae5e7c3a";
sha256 = "sha256-4t6+gh2V57SueDp9Tn6vTuxQCZNGzjLdJEhzIEqRjdI=";
}} array
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-bopomofo";
rev = "7046ffe42b46915947117f80d901fb9a6e19c1a7";
sha256 = "09w8jl2dlgp72k49x0l2jiaqb359v576kai4xww6cljgr24ng8pl";
}} bopomofo
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-cangjie";
rev = "64242be99c1e6793c9f40fef296a81d07a84e976";
sha256 = "0v5sk8zrm5p5gg8lszqm0imj9jswjlnfq87nw6m9pg5h5al230ja";
}} cangjie
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-combo-pinyin";
rev = "97a7dc4670e0f90ad28e7d67c1543f4f0adc531d";
sha256 = "0y8iyvq7z6xj3lk2ppk4ggz297wn1r2xxbv53f2710jc7gyzf04q";
}} combo-pinyin
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-double-pinyin";
rev = "1b75af4239897fd1e4c99d625b62093e66baff14";
sha256 = "0p54qx5a6rr55hl997kdcfxjczd9lcddrc5xsy7nhlfyc6108s2v";
}} double-pinyin
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-emoji";
rev = "7e527056fe055237fee59463e0d445f3909aaf0c";
sha256 = "04d35n254viw29yyjf3ml7xljmi63sqgg870swlbi5bikcx7n9jf";
}} emoji
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-essay";
rev = "595e35756d16d57d09405e243302b65b4384b5b4";
sha256 = "10kqhvrz8x17b2pf6x2x2znz5y6cj05c4rgwi1f0xhxiyrgjw9gm";
}} essay
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-ipa";
rev = "9e02f8a02e9febb7b2df25f6906881a1df934811";
sha256 = "1g4v4j1gnv1qspfz88liwj1aa4gaa3aax0x2cif4vxicsm7w372m";
}} ipa
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-jyutping";
rev = "3cc76e6e15cc05f1f94b89e750c21f87ce8fc0e4";
sha256 = "1yggz0yb84z8810s2gmsxkm9lh57fdzddx5v2rb5mqcwnimsd6ap";
}} jyutping
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-luna-pinyin";
rev = "da00c3a6f932f094666e98a09f6ce9c7d74c334c";
sha256 = "0q3g1hj9bay5865h3pz7gv46d7wfka1jdxnddxcbp4zn7gjpsd48";
}} luna-pinyin
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-middle-chinese";
rev = "6f9731bac8f289f77d35f1090159f1937e38c1f7";
sha256 = "0xd9iwk4j5043gfmp7rb57hbarfm6sxr32wiasi6p3c5g355zn89";
}} middle-chinese
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-pinyin-simp";
rev = "38c08403c22845f7e2965c1d7a1514b41755d7dc";
sha256 = "1c0cqljx3d93w27y2flxyqcfd3rd9fvixbw6mxgfjzdb3s42bn8h";
}} pinyin-simp
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-prelude";
rev = "120c2aa73b1b5e1bce904901bf13f506295004a5";
sha256 = "1aah9z58gkqrc18zadsq598ybj8ra22bgka3gma2jmi3rls2znq4";
}} prelude
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-quick";
rev = "638abf270e121bc2bfc6029a14ee85a3f4c2188b";
sha256 = "0l1pma0yxrypnb5cq7jiczy0wa42kdqsc1brqkkccdnp08pa1p1m";
}} quick
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-scj";
rev = "6b74ce14be0464bf076d7adc40aea4b120f233ec";
sha256 = "0lr92knr41mlqd1s0g2lh2h2qr8xka1s46x7iv4d6ghjf0id4gz6";
}} scj
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-soutzoe";
rev = "3ab93d1b9ca9ca7cf17ff32bb4418b7a095afc3c";
sha256 = "1glbvgzx4psasq23511k8ymd7mf1pqvm3z18nzszhs00iif66s3m";
}} soutzoe
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-stenotype";
rev = "766f22565f83f5c63c0ea195c936779ec6ae824d";
sha256 = "0jsvfq7xim99zs5imyk7rpknlaimk6nlxy38fmfxa1r843781mfd";
}} stenotype
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-stroke";
rev = "e048967a4c1b956575828f1a20e565efed4b1137";
sha256 = "10asdz5bj12pnji7afzls6jd9dn2v90l2dgdjf0jfp2kfzd6pxnl";
}} stroke
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-terra-pinyin";
rev = "e303507e728def38739f5761c50722eae1f06dd5";
sha256 = "1krbmx2iq3zw4q1x4aa9c72b9xgrnjrhyxa4h5hnq5l29p9qms4d";
}} terra-pinyin
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-wubi";
rev = "97b7d9f93378e98fd11167bd80d54c40e67076aa";
sha256 = "1cdpbqqkqjbizja0w3f7a826a5bxb39nlf9qf2130x9havmkc89z";
}} wubi
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-wugniu";
rev = "de40b29f8218cc852bf82b315c7070f1d50bda02";
sha256 = "1m7miwsqpy49cgqd1bl7z5lkkirj3lc2bdwd1zqfg5zbgfwn0rp8";
}} wugniu
''

View file

@ -0,0 +1,207 @@
{ lib
, stdenv
, writeText
, fetchurl
, buildcatrust
, blacklist ? []
, extraCertificateFiles ? []
, extraCertificateStrings ? []
# Used by update.sh
, nssOverride ? null
# Used for tests only
, runCommand
, cacert
, openssl
}:
let
blocklist = writeText "cacert-blocklist.txt" (lib.concatStringsSep "\n" blacklist);
extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" (lib.concatStringsSep "\n\n" extraCertificateStrings);
srcVersion = "3.77";
version = if nssOverride != null then nssOverride.version else srcVersion;
meta = with lib; {
homepage = "https://curl.haxx.se/docs/caextract.html";
description = "A bundle of X.509 certificates of public Certificate Authorities (CA)";
platforms = platforms.all;
maintainers = with maintainers; [ fpletz lukegb ];
license = licenses.mpl20;
};
certdata = stdenv.mkDerivation {
pname = "nss-cacert-certdata";
inherit version;
src = if nssOverride != null then nssOverride.src else fetchurl {
url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings ["."] ["_"] version}_RTM/src/nss-${version}.tar.gz";
sha256 = "1pfy33b51914sivqyaxdwfd930hzb77gm07z4f57hnyk5xddypl2";
};
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir $out
cp nss/lib/ckfw/builtins/certdata.txt $out
runHook postInstall
'';
inherit meta;
};
in
stdenv.mkDerivation rec {
pname = "nss-cacert";
inherit version;
src = certdata;
outputs = [ "out" "unbundled" "p11kit" ];
nativeBuildInputs = [ buildcatrust ];
buildPhase = ''
mkdir unbundled
buildcatrust \
--certdata_input certdata.txt \
--ca_bundle_input "${extraCertificatesBundle}" ${lib.escapeShellArgs (map (arg: "${arg}") extraCertificateFiles)} \
--blocklist "${blocklist}" \
--ca_bundle_output ca-bundle.crt \
--ca_unpacked_output unbundled \
--p11kit_output ca-bundle.trust.p11-kit
'';
installPhase = ''
install -D -t "$out/etc/ssl/certs" ca-bundle.crt
# install p11-kit specific output to p11kit output
install -D -t "$p11kit/etc/ssl/trust-source" ca-bundle.trust.p11-kit
# install individual certs in unbundled output
install -D -t "$unbundled/etc/ssl/certs" unbundled/*.crt
'';
setupHook = ./setup-hook.sh;
passthru = {
updateScript = ./update.sh;
tests = let
isTrusted = ''
isTrusted() {
# isTrusted <unbundled-dir> <ca name> <ca sha256 fingerprint>
for f in $1/etc/ssl/certs/*.crt; do
if ! [[ -s "$f" ]]; then continue; fi
fingerprint="$(openssl x509 -in "$f" -noout -fingerprint -sha256 | cut -f2 -d=)"
if [[ "x$fingerprint" == "x$3" ]]; then
# If the certificate is treated as rejected for TLS Web Server, then we consider it untrusted.
if openssl x509 -in "$f" -noout -text | grep -q '^Rejected Uses:'; then
if openssl x509 -in "$f" -noout -text | grep -A1 '^Rejected Uses:' | grep -q 'TLS Web Server'; then
return 1
fi
fi
return 0
fi
done
return 1
}
'';
in {
# Test that building this derivation with a blacklist works, and that UTF-8 is supported.
blacklist-utf8 = let
blacklistCAToFingerprint = {
# "blacklist" uses the CA name from the NSS bundle, but we check for presence using the SHA256 fingerprint.
"CFCA EV ROOT" = "5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD";
"NetLock Arany (Class Gold) Főtanúsítvány" = "6C:61:DA:C3:A2:DE:F0:31:50:6B:E0:36:D2:A6:FE:40:19:94:FB:D1:3D:F9:C8:D4:66:59:92:74:C4:46:EC:98";
};
mapBlacklist = f: lib.concatStringsSep "\n" (lib.mapAttrsToList f blacklistCAToFingerprint);
in runCommand "verify-the-cacert-filter-output" {
cacert = cacert.unbundled;
cacertWithExcludes = (cacert.override {
blacklist = builtins.attrNames blacklistCAToFingerprint;
}).unbundled;
nativeBuildInputs = [ openssl ];
} ''
${isTrusted}
# Ensure that each certificate is in the main "cacert".
${mapBlacklist (caName: caFingerprint: ''
isTrusted "$cacert" "${caName}" "${caFingerprint}" || ({
echo "CA fingerprint ${caFingerprint} (${caName}) is missing from the CA bundle. Consider picking a different CA for the blacklist test." >&2
exit 1
})
'')}
# Ensure that each certificate is NOT in the "cacertWithExcludes".
${mapBlacklist (caName: caFingerprint: ''
isTrusted "$cacertWithExcludes" "${caName}" "${caFingerprint}" && ({
echo "CA fingerprint ${caFingerprint} (${caName}) is present in the cacertWithExcludes bundle." >&2
exit 1
})
'')}
touch "$out"
'';
# Test that we can add additional certificates to the store, and have them be trusted.
extra-certificates = let
extraCertificateStr = ''
-----BEGIN CERTIFICATE-----
MIIB5DCCAWqgAwIBAgIUItvsAYEIdYDkOIo5sdDYMcUaNuIwCgYIKoZIzj0EAwIw
KTEnMCUGA1UEAwweTml4T1MgY2FjZXJ0IGV4dHJhIGNlcnRpZmljYXRlMB4XDTIx
MDYxMjE5MDQzMFoXDTIyMDYxMjE5MDQzMFowKTEnMCUGA1UEAwweTml4T1MgY2Fj
ZXJ0IGV4dHJhIGNlcnRpZmljYXRlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEuP8y
lAm6ZyQt9v/P6gTlV/a9R+D61WjucW04kaegOhg8csiluimYodiSv0Pbgymu+Zxm
A3Bz9QGmytaYTiJ16083rJkwwIhqoYl7kWsLzreSTaLz87KH+rdeol59+H0Oo1Mw
UTAdBgNVHQ4EFgQUCxuHfvqI4YVU5M+A0+aKvd1LrdswHwYDVR0jBBgwFoAUCxuH
fvqI4YVU5M+A0+aKvd1LrdswDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNo
ADBlAjEArgxgjdNmRlSEuai0dzlktmBEDZKy2Iiul+ttSoce9ohfEVYESwO602HW
keVvI56vAjBCro3dc3m2TuktiKO6lQV56PUEyxko4H/sR5pnHlduCGRDlFzQKXf/
pMMmtj7cVb8=
-----END CERTIFICATE-----
'';
extraCertificateFile = ./test-cert-file.crt;
extraCertificatesToFingerprint = {
# String above
"NixOS cacert extra certificate string" = "A3:20:D0:84:96:97:25:FF:98:B8:A9:6D:A3:7C:89:95:6E:7A:77:21:92:F3:33:E9:31:AF:5E:03:CE:A9:E5:EE";
# File
"NixOS cacert extra certificate file" = "88:B8:BE:A7:57:AC:F1:FE:D6:98:8B:50:E0:BD:0A:AE:88:C7:DF:70:26:E1:67:5E:F5:F6:91:27:FF:02:D4:A5";
};
mapExtra = f: lib.concatStringsSep "\n" (lib.mapAttrsToList f extraCertificatesToFingerprint);
in runCommand "verify-the-cacert-extra-output" {
cacert = cacert.unbundled;
cacertWithExtras = (cacert.override {
extraCertificateStrings = [ extraCertificateStr ];
extraCertificateFiles = [ extraCertificateFile ];
}).unbundled;
nativeBuildInputs = [ openssl ];
} ''
${isTrusted}
# Ensure that the extra certificate is not in the main "cacert".
${mapExtra (extraName: extraFingerprint: ''
isTrusted "$cacert" "${extraName}" "${extraFingerprint}" && ({
echo "'extra' CA fingerprint ${extraFingerprint} (${extraName}) is present in the main CA bundle." >&2
exit 1
})
'')}
# Ensure that the extra certificates ARE in the "cacertWithExtras".
${mapExtra (extraName: extraFingerprint: ''
isTrusted "$cacertWithExtras" "${extraName}" "${extraFingerprint}" || ({
echo "CA fingerprint ${extraFingerprint} (${extraName}) is not present in the cacertWithExtras bundle." >&2
exit 1
})
'')}
touch "$out"
'';
};
};
inherit meta;
}

View file

@ -0,0 +1,7 @@
export NIX_SSL_CERT_FILE=@out@/etc/ssl/certs/ca-bundle.crt
# compatibility
# - openssl
export SSL_CERT_FILE=@out@/etc/ssl/certs/ca-bundle.crt
# - Haskell x509-system
export SYSTEM_CERTIFICATE_PATH=@out@/etc/ssl/certs/ca-bundle.crt

View file

@ -0,0 +1,13 @@
-----BEGIN CERTIFICATE-----
MIIB7TCCAXSgAwIBAgIUFJB0STXn22fIEDjpncEt++IdFeMwCgYIKoZIzj0EAwIw
LjEsMCoGA1UEAwwjTml4T1MgY2FjZXJ0IGV4dHJhIGNlcnRpZmljYXRlIGZpbGUw
HhcNMjEwNjEyMTkxODA4WhcNMjIwNjEyMTkxODA4WjAuMSwwKgYDVQQDDCNOaXhP
UyBjYWNlcnQgZXh0cmEgY2VydGlmaWNhdGUgZmlsZTB2MBAGByqGSM49AgEGBSuB
BAAiA2IABMifTLM5K5xd+guGdKE1+NR7wnEJbxw5INzuMrkg/7jgEIQil4+L2YOF
kU1gxcM80Ot8tQAG5OcSvX1DF6CxunpoCT+hnHqyfqoWFvl89i1BUKjyWCQ5WXEe
nSkuJUmYC6NTMFEwHQYDVR0OBBYEFBE2kNis1ri4fweyNVRmvje83gFQMB8GA1Ud
IwQYMBaAFBE2kNis1ri4fweyNVRmvje83gFQMA8GA1UdEwEB/wQFMAMBAf8wCgYI
KoZIzj0EAwIDZwAwZAIwUZf1qaSb4cezulV+4B4FoJHY2B/nRVIi/rFD8634YEDT
vcg6dmCi/AqLEzJn7uFMAjBVTu4EVC/mtQCGESFChMeb04fsuhXgttWSwWliVPEG
jkG7u0UNNGaU8dvrjpqRRmA=
-----END CERTIFICATE-----

39
pkgs/data/misc/cacert/update.sh Executable file
View file

@ -0,0 +1,39 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix common-updater-scripts jq
# Build both the cacert package and an overriden version where we use the source attribute of NSS.
# Cacert and NSS are both from the same upstream sources. They are decoupled as
# the cacert output only cares about a few infrequently changing files in the
# sources while the NSS source code changes frequently.
#
# By having cacert on a older source revision that produces the same
# certificate output as a newer version we can avoid large amounts of
# unnecessary rebuilds.
#
# As of this writing there are a few magnitudes more packages depending on
# cacert than on nss.
#
# We use `nss_latest` instead of `nss_esr`, because that is the newer version
# and we want up-to-date certificates.
# `nss_esr` is used for the ecosystem at large through the `nss` attribute,
# because it is updated less frequently and maintained for longer, whereas `nss_latest`
# is used for software that actually needs a new nss, e.g. Firefox.
set -ex
BASEDIR="$(dirname "$0")/../../../.."
CURRENT_PATH=$(nix-build --no-out-link -A cacert.out)
PATCHED_PATH=$(nix-build --no-out-link -E "with import $BASEDIR {}; (cacert.override { nssOverride = nss_latest; }).out")
# Check the hash of the etc subfolder
# We can't check the entire output as that contains the nix-support folder
# which contains the output path itself.
CURRENT_HASH=$(nix-hash "$CURRENT_PATH/etc")
PATCHED_HASH=$(nix-hash "$PATCHED_PATH/etc")
if [[ "$CURRENT_HASH" != "$PATCHED_HASH" ]]; then
NSS_VERSION=$(nix-instantiate --json --eval -E "with import $BASEDIR {}; nss_latest.version" | jq -r .)
update-source-version --version-key=srcVersion cacert.src "$NSS_VERSION"
fi

View file

@ -0,0 +1,24 @@
{ lib, fetchzip }:
let
version = "41.0";
in fetchzip rec {
name = "cldr-annotations-${version}";
url = "https://unicode.org/Public/cldr/${lib.versions.major version}/cldr-common-${version}.zip";
postFetch = ''
mkdir -p $out/share/unicode/cldr
unzip -d $out/share/unicode/cldr $downloadedFile 'common/annotations/*' 'common/annotationsDerived/*'
'';
sha256 = "sha256-3dHVZGx3FmR97fzhlTSx/xp6YTAV+sMExl6gpLzl1MY=";
meta = with lib; {
description = "Names and keywords for Unicode characters from the Common Locale Data Repository";
homepage = "https://cldr.unicode.org";
license = licenses.unicode-dfs-2016;
platforms = platforms.all;
maintainers = with maintainers; [ DeeUnderscore ];
};
}

View file

@ -0,0 +1,31 @@
{ lib, stdenv
, fetchurl
}:
stdenv.mkDerivation rec {
pname = "combinatorial_designs";
version = "20140630";
src = fetchurl {
url = "mirror://sageupstream/combinatorial_designs/combinatorial_designs-${version}.tar.bz2";
sha256 = "0bj8ngiq59hipa6izi6g5ph5akmy4cbk0vlsb0wa67f7grnnqj69";
};
installPhase = ''
mkdir -p "$out/share/combinatorial_designs"
mv * "$out/share/combinatorial_designs"
'';
meta = with lib; {
description = "Data for Combinatorial Designs";
longDescription = ''
Current content:
- The table of MOLS (10 000 integers) from the Handbook of Combinatorial
Designs, 2ed.
'';
license = licenses.publicDomain;
platforms = platforms.all;
maintainers = teams.sage.members;
};
}

View file

@ -0,0 +1,28 @@
{ stdenv
, fetchurl
, lib
}:
stdenv.mkDerivation rec {
pname = "common-licenses";
version = "11.1";
src = fetchurl {
url = "http://deb.debian.org/debian/pool/main/b/base-files/base-files_${version}.tar.xz";
sha256 = "1i3hgd9vs14k819k441iibcgmi2zavnpqbnppyn2cz70kd830nbm";
};
installPhase = ''
mkdir -p $out/share
cp -r licenses $out/share/common-licenses
cat debian/base-files.links | grep common-licenses | sed -e "s|usr|$out|g" -e "s|^|ln -s |g" | bash -x
'';
meta = with lib; {
description = "common-licenses extracted from debian base-files package";
homepage = "https://tracker.debian.org/pkg/base-files";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.mkg20001 ];
};
}

View file

@ -0,0 +1,41 @@
{ lib, stdenv
, fetchurl
, python3
}:
stdenv.mkDerivation rec {
pname = "conway_polynomials";
version = "0.5";
src = fetchurl {
url = "mirror://sageupstream/conway_polynomials/conway_polynomials-${version}.tar.bz2";
sha256 = "05zb1ly9x2bbscqv0jgc45g48xx77mfs7qdbqhn4ihmihn57iwnq";
};
# Script that creates the "database" (nested python array) and pickles it
spkg-install = fetchurl {
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/conway_polynomials/spkg-install.py?id=9.2";
sha256 = "1bwnqasnyv793hxg29viing4dnliz29grkhldsirq19d509yk1fs";
};
installPhase = ''
# directory layout as spkg-install.py expects
dir="$PWD"
cd ..
ln -s "$dir" "src"
# environment spkg-install.py expects
mkdir -p "$out/share"
export SAGE_SHARE="$out/share"
export PYTHONPATH=$PWD
${python3.interpreter} ${spkg-install}
'';
meta = with lib; {
description = "Contains a small database of Conway polynomials";
license = licenses.gpl2;
platforms = platforms.all;
maintainers = teams.sage.members;
};
}

View file

@ -0,0 +1,38 @@
{ lib, stdenv
, autoconf
, automake
, libtool
, intltool
, fetchFromGitHub
}:
stdenv.mkDerivation rec {
pname = "ddccontrol-db";
version = "20220414";
src = fetchFromGitHub {
owner = "ddccontrol";
repo = "ddccontrol-db";
rev = version;
sha256 = "sha256-HlzwtcrnPnAAa3C1AwfS6P13mfXKXlwdlDDtVLcHPCA=";
};
preConfigure = ''
./autogen.sh
'';
nativeBuildInputs = [ autoconf automake ];
buildInputs =
[
libtool
intltool
];
meta = with lib; {
description = "Monitor database for DDCcontrol";
homepage = "https://github.com/ddccontrol/ddccontrol-db";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ lib.maintainers.pakhfn ];
};
}

View file

@ -0,0 +1,36 @@
{ stdenv, lib, fetchurl }:
let
rootHints = fetchurl {
# Original source https://www.internic.net/domain/named.root
# occasionally suffers from pointless hash changes,
# and having stable sources for older versions has advantages, too.
urls = map (prefix: prefix + "cc5e14a264912/etc/root.hints") [
"https://gitlab.nic.cz/knot/knot-resolver/raw/"
"https://raw.githubusercontent.com/CZ-NIC/knot-resolver/"
];
sha256 = "0vdrff4l8s8grif52dnh091s8qydhh88k25zqd9rj66sf1qwcwxl";
};
rootKey = ./root.key;
rootDs = ./root.ds;
in
stdenv.mkDerivation {
pname = "dns-root-data";
version = "2019-01-11";
buildCommand = ''
mkdir $out
cp ${rootHints} $out/root.hints
cp ${rootKey} $out/root.key
cp ${rootDs} $out/root.ds
'';
meta = with lib; {
description = "DNS root data including root zone and DNSSEC key";
maintainers = with maintainers; [ fpletz vcunat ];
};
}

View file

@ -0,0 +1 @@
. IN DS 20326 8 2 E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D

View file

@ -0,0 +1 @@
. 172800 IN DNSKEY 257 3 8 AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU= ;{id = 20326 (ksk), size = 2048b}

View file

@ -0,0 +1,10 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p busybox unbound
TMP=`mktemp`
unbound-anchor -a "$TMP"
grep -Ev "^($$|;)" "$TMP" | sed -e 's/ ;;.*//' > root.key
unbound-anchor -F -a "$TMP"
sed '/^;/d' < "$TMP" > root.ds
rm $TMP

View file

@ -0,0 +1,50 @@
{ lib, stdenv
, fetchurl
, python3
}:
stdenv.mkDerivation rec {
pname = "elliptic_curves";
version = "0.8.1";
src = fetchurl {
url = "mirror://sageupstream/${pname}/${pname}-${version}.tar.bz2";
sha256 = "0l7xh4abw5sb4d37r0ylr3vwb88fpx2zrvfm5ql0c7yrv5q59fjz";
};
# Script that creates the sqlite database from the allcurves textfile
spkg-install = fetchurl {
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/${pname}/spkg-install.py?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
sha256 = "116g684i6mvs11fvb6fzfsr4fn903axn31vigdyb8bgpf8l4hvc5";
};
installPhase = ''
# directory layout as spkg-install.py expects
dir="$PWD"
cd ..
ln -s "$dir" "src"
# environment spkg-install.py expects
mkdir -p "$out/share"
export SAGE_SHARE="$out/share"
export PYTHONPATH=$PWD
${python3.interpreter} ${spkg-install}
'';
meta = with lib; {
description = "Databases of elliptic curves";
longDescription = ''
Includes two databases:
* A small subset of the data in John Cremona's database of elliptic curves up
to conductor 10000. See http://www.warwick.ac.uk/~masgaj/ftp/data/ or
http://sage.math.washington.edu/cremona/INDEX.html
* William Stein's database of interesting curves
'';
license = licenses.gpl2;
platforms = platforms.all;
maintainers = teams.sage.members;
};
}

View file

@ -0,0 +1,34 @@
{ callPackage, lib, fetchurl }:
let
fedoraBackground = callPackage ./generic.nix { };
in {
f32 = fedoraBackground rec {
version = "32.2.2";
src = fetchurl {
url = "https://github.com/fedoradesign/backgrounds/releases/download/v${version}/f${lib.versions.major version}-backgrounds-${version}.tar.xz";
hash = "sha256-1F75aae7Jj7M2IPn/vWKcUF+O5mZ0Yey7hWuFj/4Fhg=";
};
};
f33 = fedoraBackground rec {
version = "33.0.7";
src = fetchurl {
url = "https://github.com/fedoradesign/backgrounds/releases/download/v${version}/f${lib.versions.major version}-backgrounds-${version}.tar.xz";
hash = "sha256-lAn5diEYebCo2ZJCOn9rD87rOasUU0qnSOr0EnZKW4o=";
};
# Fix broken symlinks in the Xfce background directory.
patches = [ ./f33-fix-xfce-path.patch ];
};
f34 = fedoraBackground rec {
version = "34.0.1";
src = fetchurl {
url = "https://github.com/fedoradesign/backgrounds/releases/download/v${version}/f${lib.versions.major version}-backgrounds-${version}.tar.xz";
hash = "sha256-0gotgQ4N0yE8WZbsu7B3jmUIZrycbqjEMxZl01JcJj4=";
};
# Fix broken symlinks in the Xfce background directory.
patches = [ ./f34-fix-xfce-path.patch ];
};
}

View file

@ -0,0 +1,15 @@
diff --git a/default/Makefile b/default/Makefile
index ec8095a..9391f8f 100644
--- a/default/Makefile
+++ b/default/Makefile
@@ -48,8 +48,8 @@ install:
#~ XFCE background
$(MKDIR) $(XFCE_BG_DIR)
- $(LN_S) ../default/$(WP_NAME)-02-day.png \
+ $(LN_S) ../../backgrounds/$(WP_NAME)/default/$(WP_NAME)-02-day.png \
$(XFCE_BG_DIR)/$(WP_NAME).png
for tod in 01-dawn 03-dusk 04-night; do \
- $(LN_S) ../default/$(WP_NAME)-$${tod}.png $(XFCE_BG_DIR)/$(WP_NAME)-$${tod}.png; \
+ $(LN_S) ../../backgrounds/$(WP_NAME)/default/$(WP_NAME)-$${tod}.png $(XFCE_BG_DIR)/$(WP_NAME)-$${tod}.png; \
done;

View file

@ -0,0 +1,13 @@
diff --git a/default/Makefile b/default/Makefile
index 172d5d9..540a1c0 100644
--- a/default/Makefile
+++ b/default/Makefile
@@ -1,7 +1,7 @@
WP_NAME=f34
WP_BIGNAME=F34
WP_DIR=$(DESTDIR)/usr/share/backgrounds/$(WP_NAME)
-WP_DIR_LN=/usr/share/backgrounds/$(WP_NAME)
+WP_DIR_LN=$(DESTDIR)/usr/share/backgrounds/$(WP_NAME)
GNOME_BG_DIR=$(DESTDIR)/usr/share/gnome-background-properties
KDE_BG_DIR=$(DESTDIR)/usr/share/wallpapers
MATE_BG_DIR=$(DESTDIR)/usr/share/mate-background-properties

View file

@ -0,0 +1,43 @@
{ lib
, stdenvNoCC
, coreutils
}:
{ version
, src
, patches ? [ ]
}:
stdenvNoCC.mkDerivation {
inherit patches src version;
pname = "fedora${lib.versions.major version}-backgrounds";
dontBuild = true;
postPatch = ''
for f in default/Makefile extras/Makefile; do
substituteInPlace $f \
--replace "usr/share" "share" \
--replace "/usr/bin/" "" \
--replace "/bin/" ""
done
for f in $(find . -name '*.xml'); do
substituteInPlace $f \
--replace "/usr/share" "$out/share"
done;
'';
installFlags = [
"DESTDIR=$(out)"
];
meta = with lib; {
homepage = "https://github.com/fedoradesign/backgrounds";
description = "A set of default and supplemental wallpapers for Fedora";
license = licenses.cc-by-sa-40;
platforms = platforms.unix;
maintainers = with maintainers; [ ];
};
}

View file

@ -0,0 +1,25 @@
{ lib, stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = "freepats";
version = "20060219";
src = fetchurl {
url = "https://freepats.zenvoid.org/freepats-${version}.tar.bz2";
sha256 = "12iw36rd94zirll96cd5k0va7p5hxmf2shvjlhzihcmjaw8flq82";
};
installPhase = ''mkdir "$out"; cp -r . "$out"'';
meta = with lib; {
description = "Instrument patches, for MIDI synthesizers";
longDescription = ''
Freepats is a project to create a free and open set of instrument
patches, in any format, that can be used with softsynths.
'';
homepage = "https://freepats.zenvoid.org/";
license = licenses.gpl2;
platforms = platforms.all;
maintainers = [ maintainers.bjornfor ];
};
}

View file

@ -0,0 +1,34 @@
{ lib, stdenv, fetchurl, zstd }:
stdenv.mkDerivation {
pname = "geolite-legacy";
version = "2022-01-25";
# We use Arch Linux package as a snapshot, because upstream database is updated in-place.
geoip = fetchurl {
url = "https://archive.archlinux.org/packages/g/geoip-database/geoip-database-20220125-1-any.pkg.tar.zst";
sha256 = "sha256-ieuLpllJTHYu28UXBGfDWbnr9Ei8pGnos+RPWDsAGcM=";
};
extra = fetchurl {
url = "https://archive.archlinux.org/packages/g/geoip-database-extra/geoip-database-extra-20220125-1-any.pkg.tar.zst";
sha256 = "sha256-xrTnuJvuvtvn+uIARtbuJUlHco3Q+9BXLljt35V3ip0=";
};
nativeBuildInputs = [ zstd ];
buildCommand = ''
tar -xaf "$geoip"
tar -xaf "$extra"
mkdir -p $out/share
mv usr/share/GeoIP $out/share
'';
meta = with lib; {
description = "GeoLite Legacy IP geolocation databases";
homepage = "https://mailfud.org/geoip-legacy/";
license = licenses.cc-by-sa-40;
platforms = platforms.all;
maintainers = with maintainers; [ fpletz ];
};
}

View file

@ -0,0 +1,25 @@
{ lib, stdenv
, fetchurl
}:
stdenv.mkDerivation rec {
pname = "graphs";
version = "20210214";
src = fetchurl {
url = "mirror://sageupstream/${pname}/${pname}-${version}.tar.bz2";
sha256 = "sha256-ByN8DZhTYRUFw4n9e7klAMh0P1YxurtND0Xf2DMvN0E=";
};
installPhase = ''
mkdir -p "$out/share/graphs"
cp * "$out/share/graphs/"
'';
meta = with lib; {
description = "A database of graphs";
license = licenses.gpl2;
platforms = platforms.all;
maintainers = teams.sage.members;
};
}

View file

@ -0,0 +1,11 @@
# Hackage database snapshot, used by maintainers/scripts/regenerate-hackage-packages.sh
# and callHackage
{ lib, fetchurl }:
let
pin = builtins.fromJSON (builtins.readFile ./pin.json);
in
fetchurl {
inherit (pin) url sha256;
name = "all-cabal-hashes-${lib.substring 0 7 pin.commit}.tar.gz";
passthru.updateScript = ../../../../maintainers/scripts/haskell/update-hackage.sh;
}

View file

@ -0,0 +1,6 @@
{
"commit": "a4be9679c308459b390768e6195f3f08ae5366db",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/a4be9679c308459b390768e6195f3f08ae5366db.tar.gz",
"sha256": "09pr3ag0k1wjiih36p902gcpygxg8f7wqpr5g8j7ka851g0gckqa",
"msg": "Update from Hackage at 2022-06-04T09:01:11Z"
}

View file

@ -0,0 +1,26 @@
{ lib, fetchzip, stdenvNoCC, writeText }:
stdenvNoCC.mkDerivation rec {
pname = "iana-etc";
version = "20220520";
src = fetchzip {
url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz";
sha256 = "sha256-LSrfNb4fUJEGSPJ+StlAbTE9LbOPDrRJLKTDSkuyoZQ=";
};
installPhase = ''
install -D -m0644 -t $out/etc services protocols
'';
setupHook = writeText "setup-hook" ''
export NIX_ETC_PROTOCOLS=@out@/etc/protocols
export NIX_ETC_SERVICES=@out@/etc/services
'';
meta = with lib; {
homepage = "https://github.com/Mic92/iana-etc";
description = "IANA protocol and port number assignments (/etc/protocols and /etc/services)";
platforms = platforms.unix;
license = licenses.mit;
};
}

View file

@ -0,0 +1,23 @@
{ lib, stdenv, fetchurl, python2, libkkc }:
stdenv.mkDerivation rec {
pname = "libkkc-data";
version = "0.2.7";
src = fetchurl {
url = "${meta.homepage}/releases/download/v${libkkc.version}/${pname}-${version}.tar.xz";
sha256 = "16avb50jasq2f1n9xyziky39dhlnlad0991pisk3s11hl1aqfrwy";
};
nativeBuildInputs = [ python2.pkgs.marisa ];
strictDeps = true;
meta = with lib; {
description = "Language model data package for libkkc";
homepage = "https://github.com/ueno/libkkc";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ vanzef ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,30 @@
{ lib, fetchzip }:
let
version = "2.1.53";
in fetchzip {
name = "mailcap-${version}";
url = "https://releases.pagure.org/mailcap/mailcap-${version}.tar.xz";
sha256 = "sha256-6JPj2tZgoTEZ8hNEi9ZZhElBNm9SRTSXifMmCicwiLo=";
postFetch = ''
tar -xavf $downloadedFile --strip-components=1
substituteInPlace mailcap --replace "/usr/bin/" ""
gzip mailcap.5
sh generate-nginx-mimetypes.sh < mime.types > nginx-mime.types
install -D -m0644 nginx-mime.types $out/etc/nginx/mime.types
install -D -m0644 -t $out/etc mailcap mime.types
install -D -m0644 -t $out/share/man/man5 mailcap.5.gz
'';
meta = with lib; {
description = "Helper application and MIME type associations for file types";
homepage = "https://pagure.io/mailcap";
license = licenses.mit;
maintainers = with maintainers; [ c0bw3b ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,31 @@
{ lib, stdenv, fetchurl, pkg-config, python3, udev, systemd }:
let
name = "media-player-info-24";
in
stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "https://www.freedesktop.org/software/media-player-info/${name}.tar.gz";
sha256 = "0d0i7av8v369hzvlynwlrbickv1brlzsmiky80lrjgjh1gdldkz6";
};
buildInputs = [ udev systemd ];
nativeBuildInputs = [ pkg-config python3 ];
postPatch = ''
patchShebangs ./tools
'';
configureFlags = [ "--with-udevdir=${placeholder "out"}/lib/udev" ];
meta = with lib; {
description = "A repository of data files describing media player capabilities";
homepage = "https://www.freedesktop.org/wiki/Software/media-player-info/";
license = licenses.bsd3;
maintainers = with maintainers; [ ttuegel ];
platforms = with platforms; linux;
};
}

View file

@ -0,0 +1,19 @@
{lib, stdenv, fetchurl}:
stdenv.mkDerivation rec {
pname = "miscfiles";
version = "1.5";
src = fetchurl {
url = "mirror://gnu/miscfiles/miscfiles-${version}.tar.gz";
sha256 = "005588vfrwx8ghsdv9p7zczj9lbc9a3r4m5aphcaqv8gif4siaka";
};
meta = with lib; {
homepage = "https://www.gnu.org/software/miscfiles/";
license = licenses.gpl2Plus;
description = "Collection of files not of crucial importance for sysadmins";
maintainers = with maintainers; [ pSub ];
platforms = with platforms; unix;
};
}

View file

@ -0,0 +1,30 @@
{ lib, stdenv, fetchurl, gnome, libxslt }:
stdenv.mkDerivation rec {
pname = "mobile-broadband-provider-info";
version = "20220315";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${version}/${pname}-${version}.tar.xz";
sha256 = "sha256-H82sctF52xQnl4Nm9wG+HDx1Nf1aZYvFzIKCR8b2RcY=";
};
nativeBuildInputs = [
# fixes configure: error: xsltproc not found
libxslt
];
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
};
};
meta = with lib; {
description = "Mobile broadband service provider database";
homepage = "https://wiki.gnome.org/Projects/NetworkManager/MobileBroadband/ServiceProviders";
license = licenses.publicDomain;
maintainers = [ ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,5 @@
{ callPackage }:
{
wallpapers = callPackage ./wallpapers.nix { };
}

View file

@ -0,0 +1,5 @@
{fetchzip}:
fetchzip {
url = "https://github.com/NixOS/nixos-artwork/releases/download/bootloader-18.09-pre/grub2-installer.tar.bz2";
sha256 = "0rhh061m1hpgadm7587inw3fxfacnd53xjc53w3vzghlck56djq5";
}

View file

@ -0,0 +1,25 @@
{ stdenv
, fetchFromGitHub
, imagemagick
}:
stdenv.mkDerivation {
pname = "nixos-icons";
version = "2021-02-24";
src = fetchFromGitHub {
owner = "NixOS";
repo = "nixos-artwork";
rev = "488c22aad523c709c44169d3e88d34b4691c20dc";
sha256 = "ZoanCzn4pqGB1fyMzMyGQVT0eIhNdL7ZHJSn1VZWVRs=";
};
nativeBuildInputs = [
imagemagick
];
makeFlags = [
"DESTDIR=${placeholder "out"}"
"prefix="
];
}

View file

@ -0,0 +1,175 @@
{ lib, stdenv, fetchurl }:
let
mkNixBackground = { name, src, description }:
let
pkg = stdenv.mkDerivation {
inherit name src;
dontUnpack = true;
installPhase = ''
# GNOME
mkdir -p $out/share/backgrounds/nixos
ln -s $src $out/share/backgrounds/nixos/${src.name}
mkdir -p $out/share/gnome-background-properties/
cat <<EOF > $out/share/gnome-background-properties/${name}.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
<wallpaper deleted="false">
<name>${name}</name>
<filename>${src}</filename>
<options>zoom</options>
<shade_type>solid</shade_type>
<pcolor>#ffffff</pcolor>
<scolor>#000000</scolor>
</wallpaper>
</wallpapers>
EOF
# TODO: is this path still needed?
mkdir -p $out/share/artwork/gnome
ln -s $src $out/share/artwork/gnome/${src.name}
# KDE
mkdir -p $out/share/wallpapers/${name}/contents/images
ln -s $src $out/share/wallpapers/${name}/contents/images/${src.name}
cat >>$out/share/wallpapers/${name}/metadata.desktop <<_EOF
[Desktop Entry]
Name=${name}
X-KDE-PluginInfo-Name=${name}
_EOF
'';
passthru = {
gnomeFilePath = "${pkg}/share/backgrounds/nixos/${src.name}";
kdeFilePath = "${pkg}/share/wallpapers/${name}/contents/images/${src.name}";
};
meta = with lib; {
inherit description;
homepage = "https://github.com/NixOS/nixos-artwork";
license = licenses.free;
platforms = platforms.all;
};
};
in pkg;
in
rec {
dracula = mkNixBackground {
name = "dracula-2020-07-02";
description = "Nix background based on the Dracula color palette";
src = fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/03c6c20be96c38827037d2238357f2c777ec4aa5/wallpapers/nix-wallpaper-dracula.png";
sha256 = "07ly21bhs6cgfl7pv4xlqzdqm44h22frwfhdqyd4gkn2jla1waab";
};
};
gnome-dark = simple-dark-gray-bottom;
mosaic-blue = mkNixBackground {
name = "mosaic-blue-2016-02-19";
description = "Mosaic blue background for Nix";
src = fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-mosaic-blue.png";
sha256 = "1cbcssa8qi0giza0k240w5yy4yb2bhc1p1r7pw8qmziprcmwv5n5";
};
};
nineish = mkNixBackground {
name = "nineish-2019-12-04";
description = "Nix background inspired by simpler times";
src = fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/da01f68d21ddfdc9f1c6e520c2170871c81f1cf5/wallpapers/nix-wallpaper-nineish.png";
sha256 = "1mwvnmflp0z1biyyhfz7mjn7i1nna94n7jyns3na2shbfkaq7i0h";
};
};
nineish-dark-gray = mkNixBackground {
name = "nineish-dark-gray-2020-07-02";
description = "Dark gray Nix background inspired by simpler times";
src = fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/f07707cecfd89bc1459d5dad76a3a4c5315efba1/wallpapers/nix-wallpaper-nineish-dark-gray.png";
sha256 = "07zl1dlxqh9dav9pibnhr2x1llywwnyphmzcdqaby7dz5js184ly";
};
};
simple-blue = mkNixBackground {
name = "simple-blue-2016-02-19";
description = "Simple blue background for Nix";
src = fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-simple-blue.png";
sha256 = "1llr175m454aqixxwbp3kb5qml2hi1kn7ia6lm7829ny6y7xrnms";
};
};
simple-dark-gray = mkNixBackground {
name = "simple-dark-gray-2016-02-19";
description = "Simple dark gray background for Nix";
src = fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-simple-dark-gray.png";
sha256 = "1282cnqc5qynp0q9gdll7bgpw23yp5bhvaqpar59ibkh3iscg8i5";
};
};
simple-dark-gray-bootloader = mkNixBackground {
name = "simple-dark-gray-bootloader-2018-08-28";
description = "Simple dark gray background for NixOS, specifically bootloaders.";
src = fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/9d1f11f652ed5ffe460b6c602fbfe2e7e9a08dff/bootloader/nix-wallpaper-simple-dark-gray_bootloader.png";
sha256 = "0v26kfydn7alr81f2qpgsqdiq2zk7yrwlgibx2j7k91z9h47dpj9";
};
};
simple-dark-gray-bottom = mkNixBackground {
name = "simple-dark-gray-2018-08-28";
description = "Simple dark gray background for NixOS, specifically bootloaders and graphical login.";
src = fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/783c38b22de09f6ee33aacc817470a4513392d83/wallpapers/nix-wallpaper-simple-dark-gray_bottom.png";
sha256 = "13hi4jwp5ga06dpdw5l03b4znwn58fdjlkqjkg824isqsxzv6k15";
};
};
simple-light-gray = mkNixBackground {
name = "simple-light-gray-2016-02-19";
description = "Simple light gray background for Nix";
src = fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-simple-light-gray.png";
sha256 = "0i6d0xv1nzrv7na9hjrgzl3jrwn81vnprnq2pxyznlxbjcgkjnk2";
};
};
simple-red = mkNixBackground {
name = "simple-red-2016-02-19";
description = "Simple red background for Nix";
src = fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-simple-red.png";
sha256 = "16drprsi3q8xbxx3bxp54yld04c4lq6jankw8ww1irg7z61a6wjs";
};
};
stripes-logo = mkNixBackground {
name = "stripes-logo-2016-02-19";
description = "Stripes logo background for Nix";
src = fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-stripes-logo.png";
sha256 = "0cqjkgp30428c1yy8s4418k4qz0ycr6fzcg4rdi41wkh5g1hzjnl";
};
};
stripes = mkNixBackground {
name = "stripes-2016-02-19";
description = "Stripes background for Nix";
src = fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-stripes.png";
sha256 = "116337wv81xfg0g0bsylzzq2b7nbj6hjyh795jfc9mvzarnalwd3";
};
};
}

View file

@ -0,0 +1,36 @@
{ lib
, stdenv
, fetchurl
, osinfo-db-tools
, gettext
, libxml2
}:
stdenv.mkDerivation rec {
pname = "osinfo-db";
version = "20220214";
src = fetchurl {
url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz";
sha256 = "sha256-E+bJAOuCAPFmD4oe13Xs7NWgH9skv7bu4c5l3XvP06k=";
};
nativeBuildInputs = [
osinfo-db-tools
gettext
libxml2
];
installPhase = ''
osinfo-db-import --dir "$out/share/osinfo" "${src}"
'';
meta = with lib; {
description = "Osinfo database of information about operating systems for virtualization provisioning tools";
homepage = "https://gitlab.com/libosinfo/osinfo-db/";
changelog = "https://gitlab.com/libosinfo/osinfo-db/-/commits/v${version}";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.bjornfor ];
};
}

View file

@ -0,0 +1,26 @@
{ lib, stdenv
, fetchurl
}:
stdenv.mkDerivation {
version = "20080411";
pname = "pari-galdata";
src = fetchurl {
url = "http://pari.math.u-bordeaux.fr/pub/pari/packages/galdata.tgz";
sha256 = "1pch6bk76f1i6cwwgm7hhxi5h71m52lqayp4mnyj0jmjk406bhdp";
};
installPhase = ''
mkdir -p "$out/share/pari"
cp -R * "$out/share/pari/"
'';
meta = with lib; {
description = "PARI database needed to compute Galois group in degrees 8 through 11";
homepage = "http://pari.math.u-bordeaux.fr/";
license = licenses.gpl2Plus;
platforms = platforms.all;
maintainers = teams.sage.members;
};
}

View file

@ -0,0 +1,26 @@
{ lib, stdenv
, fetchurl
}:
stdenv.mkDerivation {
version = "20090618";
pname = "pari-seadata-small";
src = fetchurl {
url = "http://pari.math.u-bordeaux.fr/pub/pari/packages/seadata-small.tgz";
sha256 = "13qafribxwkz8h3haa0cng7arz0kh7398br4y7vqs9ib8w9yjnxz";
};
installPhase = ''
mkdir -p "$out/share/pari"
cp -R * "$out/share/pari/"
'';
meta = with lib; {
description = "PARI database needed by ellap for large primes";
homepage = "http://pari.math.u-bordeaux.fr/";
license = licenses.gpl2Plus;
platforms = platforms.all;
maintainers = teams.sage.members;
};
}

View file

@ -0,0 +1,25 @@
{ lib, stdenv
, fetchurl
}:
stdenv.mkDerivation rec {
pname = "polytopes_db";
version = "20170220";
src = fetchurl {
url = "mirror://sageupstream/${pname}/${pname}-${version}.tar.bz2";
sha256 = "1q0cd811ilhax4dsj9y5p7z8prlalqr7k9mzq178c03frbgqny6b";
};
installPhase = ''
mkdir -p "$out/share/reflexive_polytopes"
cp -R * "$out/share/reflexive_polytopes/"
'';
meta = with lib; {
description = "Reflexive polytopes database";
license = licenses.gpl2;
platforms = platforms.all;
maintainers = teams.sage.members;
};
}

View file

@ -0,0 +1,30 @@
{ fetchurl
, lib
, stdenv
, cmake
, ninja
, poppler
}:
stdenv.mkDerivation rec {
pname = "poppler-data";
version = "0.4.11";
src = fetchurl {
url = "https://poppler.freedesktop.org/${pname}-${version}.tar.gz";
sha256 = "LOwFzRuwOvmKiwah4i9ubhplseLzgWyzBpuwh0gl8Iw=";
};
nativeBuildInputs = [
cmake
ninja
];
meta = with lib; {
homepage = "https://poppler.freedesktop.org/";
description = "Encoding files for Poppler, a PDF rendering library";
platforms = platforms.all;
license = licenses.free; # more free licenses combined
maintainers = poppler.meta.maintainers;
};
}

View file

@ -0,0 +1,25 @@
{ lib, fetchFromGitHub }:
let
pname = "publicsuffix-list";
version = "2021-09-03";
in fetchFromGitHub {
name = "${pname}-${version}";
owner = "publicsuffix";
repo = "list";
rev = "2533d032871e1ef1f410fc0754b848d4587c8021";
sha256 = "sha256-Q8uIXM1CMu8dlWcVoL17M1XRGu3kG7Y7jpx0oHQh+2I=";
postFetch = ''
tar xf $downloadedFile --strip=1
install -Dm0444 public_suffix_list.dat tests/test_psl.txt -t $out/share/publicsuffix
'';
meta = with lib; {
homepage = "https://publicsuffix.org/";
description = "Cross-vendor public domain suffix database";
platforms = platforms.all;
license = licenses.mpl20;
maintainers = [ maintainers.c0bw3b ];
};
}

View file

@ -0,0 +1,66 @@
{ lib, stdenv, fetchFromGitHub, librime }:
stdenv.mkDerivation {
pname = "rime-data";
version = "0.38.20211002";
src = fetchFromGitHub {
owner = "rime";
repo = "plum";
rev = "1730556e1da5a08bb8e0a656c4780a46851a2913";
sha256 = "sha256-D7rPUxcB3QkCtisfBLHPiqfgL5lqmxjSiuEcpE63elw=";
};
buildInputs = [ librime ];
buildFlags = [ "all" ];
makeFlags = [ "PREFIX=$(out)" ];
preBuild = import ./fetchSchema.nix fetchFromGitHub;
postPatch = ''
# Disable git operations.
sed -i /fetch_or_update_package$/d scripts/install-packages.sh
'';
meta = with lib; {
description = "Schema data of Rime Input Method Engine";
longDescription = ''
Rime-data provides schema data for Rime Input Method Engine.
'';
homepage = "https://rime.im";
license = with licenses; [
# rime-array
# rime-combo-pinyin
# rime-double-pinyin
# rime-middle-chinese
# rime-scj
# rime-soutzoe
# rime-stenotype
# rime-wugniu
gpl3Only
# plum
# rime-bopomofo
# rime-cangjie
# rime-emoji
# rime-essay
# rime-ipa
# rime-jyutping
# rime-luna-pinyin
# rime-prelude
# rime-quick
# rime-stroke
# rime-terra-pinyin
# rime-wubi
lgpl3Only
# rime-pinyin-simp
asl20
# rime-cantonese
cc-by-40
];
maintainers = with maintainers; [ pmy ];
};
}

View file

@ -0,0 +1,137 @@
# Generated using generateFetchSchema.sh
fetchFromGitHub:
''
mkdir -p package/rime
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-array";
rev = "d10f2f8b2aec7c7e736ace01e8a399e5ae5e7c3a";
sha256 = "sha256-4t6+gh2V57SueDp9Tn6vTuxQCZNGzjLdJEhzIEqRjdI=";
}} package/rime/array
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-bopomofo";
rev = "c7618f4f5728e1634417e9d02ea50d82b71956ab";
sha256 = "0g77nv0jrwqnbqqna0ib0kqcy6l5zl62kh49ny67d6bjwnwz9186";
}} package/rime/bopomofo
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-cangjie";
rev = "8dfad9e537f18821b71ba28773315d9c670ae245";
sha256 = "029kw9nx6x0acg4f0m8wj1ziqffffhy9yyj51nlx17cnia0qcrby";
}} package/rime/cangjie
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-cantonese";
rev = "b6f800c74eb639816d56d0d5601aaa96c8963178";
sha256 = "1a4ksacbz8l30y3y5c017d0hzwik8knplglb3yswy7l4hsvaanyh";
}} package/rime/cantonese
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-combo-pinyin";
rev = "a84065a86b272c76215215bd6f03c506b6e7097c";
sha256 = "1f0b4kakw0x26gmx7xi4f94nbjlb8lvi9bks4f92jswa045vnd87";
}} package/rime/combo-pinyin
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-double-pinyin";
rev = "69bf85d4dfe8bac139c36abbd68d530b8b6622ea";
sha256 = "093wif5avvvw45fqbwj5wkbxrychy4pagl4mwsmbrayc8jkp69ak";
}} package/rime/double-pinyin
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-emoji";
rev = "4c8c51f4a3bc7298c99376eda9bbd86070fc4fa1";
sha256 = "0175jqh210fncafqckr9zzaw55qpswmqjrykwms1apmc68l43122";
}} package/rime/emoji
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-essay";
rev = "9db2e77305e75798baf3ec8dcf1f82785b5e1be9";
sha256 = "03ypkkaadd5qmyg26n24a66cll90xvcimgbmiyv4d33jradiqg22";
}} package/rime/essay
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-ipa";
rev = "22b71710e029bcb412e9197192a638ab11bc2abf";
sha256 = "0zdk4f9qkfj3q5hmjnairj1lv6f6y27mic12k886n6sxywwbwr2k";
}} package/rime/ipa
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-jyutping";
rev = "1e24baa6998815c716c581effe8ec65ee87c4e8c";
sha256 = "0s2rckpwlrm3n7w1csnqyi5p9mkpp3z87s7mrm2vc9sv06rpv7zl";
}} package/rime/jyutping
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-luna-pinyin";
rev = "623adb022b094d540218b287c2e601509eee3347";
sha256 = "06pcwp09l5wkqv7792gbsl31xnlb3gr9q6bgbp94vvq6m2ycahqz";
}} package/rime/luna-pinyin
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-middle-chinese";
rev = "9fad7a7c0c26167d5e6e85db8df48a15c7f7d4f0";
sha256 = "0a0bqrlzg0k692xblqnh1rh1fwwqqb205xwxlihgji85n8ibcgph";
}} package/rime/middle-chinese
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-pinyin-simp";
rev = "b0e84cda02c613ebdedc127a26131b3800f45a8e";
sha256 = "05v804qr3a9xvjzp9yid7231fi2l2yrl47ybbvql61z9k36ab094";
}} package/rime/pinyin-simp
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-prelude";
rev = "3de303ffaa731dba07b0462ce59f4767e1219ad2";
sha256 = "0g7a0bla58rh1v3md59k6adk185pilb4z8i2i0pqdl4nwqp40n2p";
}} package/rime/prelude
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-quick";
rev = "3fe5911ba608cb2df1b6301b76ad1573bd482a76";
sha256 = "08bh87ym5qvw55lyw20l3m7jd4c2z5rvil8h5q8790r7z6j6ijy9";
}} package/rime/quick
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-scj";
rev = "cab5a0858765eff0553dd685a2d61d5536e9149c";
sha256 = "0ard2bjp4896a8dimmcwyjwgmp9kl4rz92yc92jnd3y4rgwl6fvk";
}} package/rime/scj
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-soutzoe";
rev = "beeaeca72d8e17dfd1e9af58680439e9012987dc";
sha256 = "0jyqx0q9s0qxn168l5n8zav8jcl2g5ppr7pa8jm1vwrllf20slcc";
}} package/rime/soutzoe
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-stenotype";
rev = "f3e9189d5ce33c55d3936cc58e39d0c88b3f0c88";
sha256 = "0dl6px7lrh3xa87knjzwzdcwjj1k1dg4l72q7lb48an4s9f1cy5d";
}} package/rime/stenotype
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-stroke";
rev = "ea8576d1accd6fda339e96b415caadb56e2a07d1";
sha256 = "07h6nq9867hjrd2v3h1pnr940sdrw4mqrzj43siz1rzjxz3s904r";
}} package/rime/stroke
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-terra-pinyin";
rev = "ce7b9249612f575d2f43d51fcacd31d1b4e0ef1b";
sha256 = "0vm303f4lrdmdmif5klrp6w29vn9z2vzw33cw0y83pcnz39wiads";
}} package/rime/terra-pinyin
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-wubi";
rev = "f1876f08f1d4a9696395be0070c0e8e4353c44cb";
sha256 = "1d9y9rqssacria9d0hla96czsqv2wkfm6z926m1x269ryv96zxvk";
}} package/rime/wubi
ln -sv ${fetchFromGitHub {
owner = "rime";
repo = "rime-wugniu";
rev = "abd1ee98efbf170258fcf43875c21a4259e00b61";
sha256 = "0qn54d3cclny106ixdw08r5n6wn52ffs1hgrma3k0j4pv0kr9nlq";
}} package/rime/wugniu
''

View file

@ -0,0 +1,43 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix-prefetch-git -p jq
imlist=(
array
bopomofo
cangjie
cantonese
combo-pinyin
double-pinyin
emoji
essay
ipa
jyutping
luna-pinyin
middle-chinese
pinyin-simp
prelude
quick
scj
soutzoe
stenotype
stroke
terra-pinyin
wubi
wugniu
)
echo "# Generated using generateFetchSchema.sh"
echo "fetchFromGitHub:"
echo \'\'
echo "mkdir -p package/rime"
for im in ${imlist[@]}; do
tempFile=$(mktemp)
echo "ln -sv \${fetchFromGitHub {"
echo " owner = \"rime\";"
echo " repo = \"rime-$im\";"
nix-prefetch-git --quiet https://github.com/rime/rime-$im \
| jq '{ rev: .rev, sha256: .sha256 }' \
| jq -r 'to_entries | map(" \(.key) = \"\(.value)\";") | .[]'
echo "}} package/rime/$im"
done
echo \'\'

View file

@ -0,0 +1,111 @@
{ lib, stdenv, fetchFromGitHub, unzip, zip, libiconv, perl, aspell, dos2unix
, singleWordlist ? null
}:
stdenv.mkDerivation rec {
pname = "scowl";
version = "2020.12.07";
src = fetchFromGitHub {
owner = "en-wl";
repo = "wordlist";
rev = "rel-${version}";
sha256 = "sha256-J61jhpnZcXMnoGlSuSCrKDZnnyp3Snjr+fUpTVKX64g=";
};
postPatch = ''
substituteInPlace scowl/src/Makefile \
--replace g++ c++
'';
nativeBuildInputs = [ unzip zip perl aspell dos2unix ];
buildInputs = lib.optional (!stdenv.isLinux) libiconv;
NIX_CFLAGS_COMPILE = "-Wno-narrowing";
preConfigure = ''
patchShebangs .
export PERL5LIB="$PERL5LIB''${PERL5LIB:+:}$PWD/varcon"
'';
postBuild = lib.optionalString (singleWordlist == null) ''
(
cd scowl/speller
make aspell
make hunspell
)
'';
enableParallelBuilding = false;
installPhase = if singleWordlist == null then ''
eval "$preInstall"
mkdir -p "$out/share/scowl"
mkdir -p "$out/lib" "$out/share/hunspell" "$out/share/myspell"
mkdir -p "$out/share/dict"
cp -r scowl/speller/aspell "$out/lib/aspell"
cp scowl/speller/*.{aff,dic} "$out/share/hunspell"
ln -s "$out/share/hunspell" "$out/share/myspell/dicts"
cp scowl/final/* "$out/share/scowl"
(
cd scowl
for region in american british british_s british_z canadian australian; do
case $region in
american)
regcode=en-us;
;;
british)
regcode=en-gb-ise;
;;
british_s)
regcode=en-gb-ise;
;;
british_z)
regcode=en-gb-ize;
;;
canadian)
regcode=en-ca;
;;
australian)
regcode=en-au;
;;
esac
regcode_var="$regcode"
if test "$region" = british; then
regcode_var="en-gb"
fi
echo $region $regcode $regcode_sz
for s in 10 20 30 35 40 50 55 60 70 80 90 95; do
./mk-list $regcode $s > "$out/share/dict/w$region.$s"
./mk-list --variants=1 $regcode_var $s > "$out/share/dict/w$region.variants.$s"
./mk-list --variants=2 $regcode_var $s > "$out/share/dict/w$region.acceptable.$s"
done
./mk-list $regcode 60 > "$out/share/dict/w$region.txt"
./mk-list --variants=1 $regcode_var 60 > "$out/share/dict/w$region.variants.txt"
./mk-list --variants=2 $regcode_var 80 > "$out/share/dict/w$region.scrabble.txt"
done
./mk-list --variants=1 en-gb 60 > "$out/share/dict/words.variants.txt"
./mk-list --variants=1 en-gb 80 > "$out/share/dict/words.scrabble.txt"
./mk-list en-gb-ise 60 > "$out/share/dict/words.txt"
)
eval "$postInstall"
'' else ''
mkdir -p "$out/share/dict"
cd scowl
./mk-list ${singleWordlist} > "$out/share/dict/words.txt"
'';
meta = {
description = "Spell checker oriented word lists";
license = lib.licenses.mit;
maintainers = [lib.maintainers.raskin];
platforms = lib.platforms.unix;
homepage = "http://wordlist.aspell.net/";
};
}

View file

@ -0,0 +1,26 @@
{ lib, stdenv, fetchurl, cmake }:
stdenv.mkDerivation rec {
pname = "shared-desktop-ontologies";
version = "0.11.0";
src = fetchurl {
url = "mirror://sourceforge/oscaf/shared-desktop-ontologies-${version}.tar.bz2";
sha256 = "1m5vnijg7rnwg41vig2ckg632dlczzdab1gsq51g4x7m9k1fdbw2";
};
nativeBuildInputs = [ cmake ];
meta = with lib; {
homepage = "http://oscaf.sourceforge.net/";
description = "Ontologies necessary for the Nepomuk semantic desktop";
longDescription = ''
The shared-desktop-ontologies package brings the semantic web to the
desktop in terms of vocabulary. It contains the well known core
ontologies such as RDF and RDFS as well as the Nepomuk ontologies which
are used by projects like KDE or Strigi.
'';
platforms = platforms.all;
maintainers = [ maintainers.sander ];
};
}

View file

@ -0,0 +1,56 @@
{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, meson
, ninja
, pkg-config
, gettext
, itstool
, libxml2
, glib
, shared-mime-info
}:
stdenv.mkDerivation rec {
pname = "shared-mime-info-unstable";
version = "2021-12-03";
outputs = [ "out" "dev" ];
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "xdg";
repo = "shared-mime-info";
rev = "5a406b06792e26a83c7346b3c2443c0bd8d4cdb2";
sha256 = "1v7dx7mr0m4lcff1aasg9gxn280zn0ffn6fjg9xc44pnllg01n6s";
};
nativeBuildInputs = [
meson
ninja
pkg-config
gettext
libxml2
] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) shared-mime-info;
buildInputs = [
libxml2
glib
];
strictDeps = true;
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 = teams.freedesktop.members ++ [ maintainers.mimame ];
mainProgram = "update-mime-database";
};
}

View file

@ -0,0 +1,21 @@
{ lib, stdenv, fetchurl, intltool }:
stdenv.mkDerivation rec {
pname = "sound-theme-freedesktop";
version = "0.8";
src = fetchurl {
sha256 = "054abv4gmfk9maw93fis0bf605rc56dah7ys5plc4pphxqh8nlfb";
url = "https://people.freedesktop.org/~mccann/dist/${pname}-${version}.tar.bz2";
};
nativeBuildInputs = [ intltool ];
meta = with lib; {
description = "Freedesktop reference sound theme";
homepage = "http://freedesktop.org/wiki/Specifications/sound-theme-spec";
# See http://cgit.freedesktop.org/sound-theme-freedesktop/tree/CREDITS:
license = with licenses; [ cc-by-30 cc-by-sa-25 gpl2 gpl2Plus ];
platforms = with platforms; unix;
};
}

View file

@ -0,0 +1,46 @@
{ stdenvNoCC, lib, fetchFromGitHub }:
stdenvNoCC.mkDerivation rec {
pname = "spdx-license-list-data";
version = "3.16";
src = fetchFromGitHub {
owner = "spdx";
repo = "license-list-data";
rev = "v${version}";
hash = "sha256-FPN9EIwXtz0b1tUZ/AOWK2zj2nfd5+POGmRC52mSzcA=";
};
# List of file formats to package.
_types = [ "html" "json" "jsonld" "rdfa" "rdfnt" "rdfturtle" "rdfxml" "template" "text" ];
outputs = [ "out" ] ++ _types;
dontPatch = true;
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -pv $out
for t in $_types
do
_outpath=''${!t}
mkdir -pv $_outpath
cp -ar $t $_outpath && echo "$t format installed"
done
runHook postInstall
'';
dontFixup = true;
meta = with lib; {
description = "Various data formats for the SPDX License List";
homepage = "https://github.com/spdx/license-list-data";
license = licenses.cc0;
maintainers = with maintainers; [ oxzi c0bw3b ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,79 @@
{ lib, stdenv, fetchurl, buildPackages }:
stdenv.mkDerivation rec {
pname = "tzdata";
version = "2022a";
srcs =
[ (fetchurl {
url = "https://data.iana.org/time-zones/releases/tzdata${version}.tar.gz";
sha256 = "0r0nhwpk9nyxj5kkvjy58nr5d85568m04dcb69c4y3zmykczyzzg";
})
(fetchurl {
url = "https://data.iana.org/time-zones/releases/tzcode${version}.tar.gz";
sha256 = "1iysv8fdkm79k8wh8jizmjmq075q4qjhk090vxjy57my6dz5wmzq";
})
];
sourceRoot = ".";
outputs = [ "out" "bin" "man" "dev" ];
propagatedBuildOutputs = [];
makeFlags = [
"TOPDIR=$(out)"
"TZDIR=$(out)/share/zoneinfo"
"BINDIR=$(bin)/bin"
"ZICDIR=$(bin)/bin"
"ETCDIR=$(TMPDIR)/etc"
"TZDEFAULT=tzdefault-to-remove"
"LIBDIR=$(dev)/lib"
"MANDIR=$(man)/share/man"
"AWK=awk"
"CFLAGS=-DHAVE_LINK=0"
"CFLAGS+=-DZIC_BLOAT_DEFAULT=\\\"fat\\\""
"cc=${stdenv.cc.targetPrefix}cc"
"AR=${stdenv.cc.targetPrefix}ar"
];
depsBuildBuild = [ buildPackages.stdenv.cc ];
doCheck = false; # needs more tools
installFlags = [ "ZIC=./zic-native" ];
preInstall = ''
mv zic.o zic.o.orig
mv zic zic.orig
make $makeFlags cc=${stdenv.cc.nativePrefix}cc AR=${stdenv.cc.nativePrefix}ar zic
mv zic zic-native
mv zic.o.orig zic.o
mv zic.orig zic
'';
postInstall =
''
rm $out/share/zoneinfo-posix
rm $out/share/zoneinfo/tzdefault-to-remove
mkdir $out/share/zoneinfo/posix
( cd $out/share/zoneinfo/posix; ln -s ../* .; rm posix )
mv $out/share/zoneinfo-leaps $out/share/zoneinfo/right
mkdir -p "$dev/include"
cp tzfile.h "$dev/include/tzfile.h"
'';
setupHook = ./tzdata-setup-hook.sh;
meta = with lib; {
homepage = "http://www.iana.org/time-zones";
description = "Database of current and historical time zones";
changelog = "https://github.com/eggert/tz/blob/${version}/NEWS";
license = with licenses; [
bsd3 # tzcode
publicDomain # tzdata
];
platforms = platforms.all;
maintainers = with maintainers; [ ajs124 fpletz ];
};
}

View file

@ -0,0 +1,5 @@
tzdataHook() {
export TZDIR=@out@/share/zoneinfo
}
addEnvHooks "$targetOffset" tzdataHook

View file

@ -0,0 +1,38 @@
{ lib, stdenv
, fetchurl
, unzip
}:
stdenv.mkDerivation rec {
pname = "unicode-character-database";
version = "14.0.0";
src = fetchurl {
url = "https://www.unicode.org/Public/zipped/${version}/UCD.zip";
sha256 = "sha256-AzpSdrXXr4hEWJ+ONILzl3qDhecdEH03UFVGUXjCNgA=";
};
nativeBuildInputs = [
unzip
];
setSourceRoot = ''
sourceRoot=$PWD
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/unicode
cp -r * $out/share/unicode
runHook postInstall
'';
meta = with lib; {
description = "Unicode Character Database";
homepage = "https://www.unicode.org/";
license = licenses.unicode-dfs-2016;
platforms = platforms.all;
};
}

View file

@ -0,0 +1,50 @@
{ lib
, fetchurl
, symlinkJoin
}:
let
version = "14.0";
fetchData = { file, sha256 }: fetchurl {
url = "https://www.unicode.org/Public/emoji/${version}/${file}";
inherit sha256;
downloadToTemp = true;
recursiveHash = true;
postFetch = ''
installDir="$out/share/unicode/emoji"
mkdir -p "$installDir"
mv "$downloadedFile" "$installDir/${file}"
'';
};
srcs = {
emoji-sequences = fetchData {
file = "emoji-sequences.txt";
sha256 = "sha256-4helD/0oe+UmNIuVxPx/P0R9V10EY/RccewdeemeGxE=";
};
emoji-test = fetchData {
file = "emoji-test.txt";
sha256 = "sha256-DDOVhnFzfvowINzBZ7dGYMZnL4khyRWVzrLL95djsUg=";
};
emoji-zwj-sequences = fetchData {
file = "emoji-zwj-sequences.txt";
sha256 = "sha256-owlGLICFkyEsIHz/DUZucxjBmgVO40A69BCJPbIYDA0=";
};
};
in
symlinkJoin rec {
name = "unicode-emoji-${version}";
paths = lib.attrValues srcs;
passthru = srcs;
meta = with lib; {
description = "Unicode Emoji Data Files";
homepage = "https://home.unicode.org/emoji/";
license = licenses.unicode-dfs-2016;
platforms = platforms.all;
};
}

View file

@ -0,0 +1,38 @@
{ lib, stdenv
, fetchurl
, unzip
}:
stdenv.mkDerivation rec {
pname = "unihan-database";
version = "12.1.0";
src = fetchurl {
url = "https://www.unicode.org/Public/zipped/${version}/Unihan.zip";
sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf";
};
nativeBuildInputs = [
unzip
];
setSourceRoot = ''
sourceRoot=$PWD
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/unicode
cp -r * $out/share/unicode
runHook postInstall
'';
meta = with lib; {
description = "Unicode Han Database";
homepage = "https://www.unicode.org/";
license = licenses.unicode-dfs-2016;
platforms = platforms.all;
};
}

View file

@ -0,0 +1,35 @@
{ stdenv, pkgsBuildBuild, fetchFromGitHub, lib }:
let
generator = pkgsBuildBuild.buildGoModule rec {
pname = "v2ray-domain-list-community";
version = "20220528180904";
src = fetchFromGitHub {
owner = "v2fly";
repo = "domain-list-community";
rev = version;
sha256 = "sha256-j1Q7B/U0OADOcgJRJ269Jx9Z5dmmT4T2eaOHeGmUjmc=";
};
vendorSha256 = "sha256-Igx8yGWWVmVEogvbrosaK13LVs+ZZuYLBNji7iSfzdo=";
meta = with lib; {
description = "community managed domain list";
homepage = "https://github.com/v2fly/domain-list-community";
license = licenses.mit;
maintainers = with maintainers; [ nickcao ];
};
};
in
stdenv.mkDerivation {
inherit (generator) pname version src meta;
buildPhase = ''
runHook preBuild
${generator}/bin/domain-list-community -datapath $src/data --exportlists=category-ads-all,tld-cn,cn,tld-\!cn,geolocation-\!cn,apple,icloud
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dm644 dlc.dat $out/share/v2ray/geosite.dat
runHook postInstall
'';
passthru.generator = generator;
}

View file

@ -0,0 +1,28 @@
{ lib, stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "v2ray-geoip";
version = "202205260055";
src = fetchFromGitHub {
owner = "v2fly";
repo = "geoip";
rev = "96f4639373709f7560ccaf374d1ff008781aa324";
sha256 = "sha256-aFTLeYr+JishhJ2AhGMrD02fKxci2rREkh8HN9HtXLs=";
};
installPhase = ''
runHook preInstall
install -m 0644 geoip.dat -D $out/share/v2ray/geoip.dat
runHook postInstall
'';
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "GeoIP for V2Ray";
homepage = "https://github.com/v2fly/geoip";
license = licenses.cc-by-sa-40;
maintainers = with maintainers; [ nickcao ];
};
}

View file

@ -0,0 +1,6 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p common-updater-scripts curl jq
set -euo pipefail
COMMIT=$(curl "https://api.github.com/repos/v2fly/geoip/commits/release?per_page=1")
update-source-version v2ray-geoip "$(echo $COMMIT | jq -r .commit.message)" --file=pkgs/data/misc/v2ray-geoip/default.nix --rev="$(echo $COMMIT | jq -r .sha)"

View file

@ -0,0 +1,26 @@
{ lib, stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = "wireless-regdb";
version = "2022.02.18";
src = fetchurl {
url = "https://www.kernel.org/pub/software/network/${pname}/${pname}-${version}.tar.xz";
sha256 = "sha256-iCjCWk7iUCAEQAT1c3S7nerIUoCfrXD409AXcL+ayX8=";
};
dontBuild = true;
makeFlags = [
"DESTDIR=${placeholder "out"}"
"PREFIX="
];
meta = with lib; {
description = "Wireless regulatory database for CRDA";
homepage = "http://wireless.kernel.org/en/developers/Regulatory/";
license = licenses.isc;
platforms = platforms.all;
maintainers = with maintainers; [ fpletz ];
};
}

View file

@ -0,0 +1,22 @@
{ lib, stdenv, fetchurl, pkg-config, xorgproto }:
stdenv.mkDerivation rec {
pname = "rgb";
version = "1.0.6";
src = fetchurl {
url = "https://xorg.freedesktop.org/archive/individual/app/rgb-${version}.tar.bz2";
sha256 = "1c76zcjs39ljil6f6jpx1x17c8fnvwazz7zvl3vbjfcrlmm7rjmv";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ xorgproto ];
meta = with lib; {
description = "X11 colorname to RGB mapping database";
license = licenses.mit;
maintainers = [ maintainers.raskin ];
platforms = platforms.linux;
homepage = "https://xorg.freedesktop.org/";
};
}