Merge remote-tracking branch 'upstream/master' into staging
This commit is contained in:
commit
c8a6ea5161
6
.github/ISSUE_TEMPLATE/bug_report.md
vendored
6
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@ -25,6 +25,12 @@ If applicable, add screenshots to help explain your problem.
|
|||||||
**Additional context**
|
**Additional context**
|
||||||
Add any other context about the problem here.
|
Add any other context about the problem here.
|
||||||
|
|
||||||
|
**Notify maintainers**
|
||||||
|
<!--
|
||||||
|
Please @ people who are in the `meta.maintainers` list of the offending package or module.
|
||||||
|
If in doubt, check `git blame` for whoever last touched something.
|
||||||
|
-->
|
||||||
|
|
||||||
**Metadata**
|
**Metadata**
|
||||||
Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
|
Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
|
||||||
|
|
||||||
|
@ -193,14 +193,7 @@ rec {
|
|||||||
(showOption ["foo" "bar" "baz"]) == "foo.bar.baz"
|
(showOption ["foo" "bar" "baz"]) == "foo.bar.baz"
|
||||||
(showOption ["foo" "bar.baz" "tux"]) == "foo.\"bar.baz\".tux"
|
(showOption ["foo" "bar.baz" "tux"]) == "foo.\"bar.baz\".tux"
|
||||||
*/
|
*/
|
||||||
showOption = parts: let
|
showOption = parts: concatMapStringsSep "." escapeNixIdentifier parts;
|
||||||
escapeOptionPart = part:
|
|
||||||
let
|
|
||||||
escaped = lib.strings.escapeNixString part;
|
|
||||||
in if escaped == "\"${part}\""
|
|
||||||
then part
|
|
||||||
else escaped;
|
|
||||||
in (concatStringsSep ".") (map escapeOptionPart parts);
|
|
||||||
showFiles = files: concatStringsSep " and " (map (f: "`${f}'") files);
|
showFiles = files: concatStringsSep " and " (map (f: "`${f}'") files);
|
||||||
unknownModule = "<unknown-file>";
|
unknownModule = "<unknown-file>";
|
||||||
|
|
||||||
|
@ -315,6 +315,21 @@ rec {
|
|||||||
*/
|
*/
|
||||||
escapeNixString = s: escape ["$"] (builtins.toJSON s);
|
escapeNixString = s: escape ["$"] (builtins.toJSON s);
|
||||||
|
|
||||||
|
/* Quotes a string if it can't be used as an identifier directly.
|
||||||
|
|
||||||
|
Type: string -> string
|
||||||
|
|
||||||
|
Example:
|
||||||
|
escapeNixIdentifier "hello"
|
||||||
|
=> "hello"
|
||||||
|
escapeNixIdentifier "0abc"
|
||||||
|
=> "\"0abc\""
|
||||||
|
*/
|
||||||
|
escapeNixIdentifier = s:
|
||||||
|
# Regex from https://github.com/NixOS/nix/blob/d048577909e383439c2549e849c5c2f2016c997e/src/libexpr/lexer.l#L91
|
||||||
|
if builtins.match "[a-zA-Z_][a-zA-Z0-9_'-]*" s != null
|
||||||
|
then s else escapeNixString s;
|
||||||
|
|
||||||
# Obsolete - use replaceStrings instead.
|
# Obsolete - use replaceStrings instead.
|
||||||
replaceChars = builtins.replaceStrings or (
|
replaceChars = builtins.replaceStrings or (
|
||||||
del: new: s:
|
del: new: s:
|
||||||
|
75
lib/tests/maintainers.nix
Normal file
75
lib/tests/maintainers.nix
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
# to run these tests:
|
||||||
|
# nix-build nixpkgs/lib/tests/maintainers.nix
|
||||||
|
# If nothing is output, all tests passed
|
||||||
|
{ pkgs ? import ../.. {} }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (pkgs) lib;
|
||||||
|
inherit (lib) types;
|
||||||
|
|
||||||
|
maintainerModule = { config, ... }: {
|
||||||
|
options = {
|
||||||
|
name = lib.mkOption {
|
||||||
|
type = types.str;
|
||||||
|
};
|
||||||
|
email = lib.mkOption {
|
||||||
|
type = types.str;
|
||||||
|
};
|
||||||
|
github = lib.mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
githubId = lib.mkOption {
|
||||||
|
type = types.nullOr types.ints.unsigned;
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
keys = lib.mkOption {
|
||||||
|
type = types.listOf (types.submodule {
|
||||||
|
options.longkeyid = lib.mkOption { type = types.str; };
|
||||||
|
options.fingerprint = lib.mkOption { type = types.str; };
|
||||||
|
});
|
||||||
|
default = [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
checkMaintainer = handle: uncheckedAttrs:
|
||||||
|
let
|
||||||
|
prefix = [ "lib" "maintainers" handle ];
|
||||||
|
checkedAttrs = (lib.modules.evalModules {
|
||||||
|
inherit prefix;
|
||||||
|
modules = [
|
||||||
|
maintainerModule
|
||||||
|
{
|
||||||
|
_file = toString ../../maintainers/maintainer-list.nix;
|
||||||
|
config = uncheckedAttrs;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}).config;
|
||||||
|
|
||||||
|
checkGithubId = lib.optional (checkedAttrs.github != null && checkedAttrs.githubId == null) ''
|
||||||
|
echo ${lib.escapeShellArg (lib.showOption prefix)}': If `github` is specified, `githubId` must be too.'
|
||||||
|
# Calling this too often would hit non-authenticated API limits, but this
|
||||||
|
# shouldn't happen since such errors will get fixed rather quickly
|
||||||
|
info=$(curl -sS https://api.github.com/users/${checkedAttrs.github})
|
||||||
|
id=$(jq -r '.id' <<< "$info")
|
||||||
|
echo "The GitHub ID for GitHub user ${checkedAttrs.github} is $id:"
|
||||||
|
echo -e " githubId = $id;\n"
|
||||||
|
'';
|
||||||
|
in lib.deepSeq checkedAttrs checkGithubId;
|
||||||
|
|
||||||
|
missingGithubIds = lib.concatLists (lib.mapAttrsToList checkMaintainer lib.maintainers);
|
||||||
|
|
||||||
|
success = pkgs.runCommandNoCC "checked-maintainers-success" {} ">$out";
|
||||||
|
|
||||||
|
failure = pkgs.runCommandNoCC "checked-maintainers-failure" {
|
||||||
|
nativeBuildInputs = [ pkgs.curl pkgs.jq ];
|
||||||
|
outputHash = "sha256:${lib.fakeSha256}";
|
||||||
|
outputHAlgo = "sha256";
|
||||||
|
outputHashMode = "flat";
|
||||||
|
SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||||
|
} ''
|
||||||
|
${lib.concatStringsSep "\n" missingGithubIds}
|
||||||
|
exit 1
|
||||||
|
'';
|
||||||
|
in if missingGithubIds == [] then success else failure
|
@ -3,7 +3,10 @@
|
|||||||
# This script is used to test that the module system is working as expected.
|
# This script is used to test that the module system is working as expected.
|
||||||
# By default it test the version of nixpkgs which is defined in the NIX_PATH.
|
# By default it test the version of nixpkgs which is defined in the NIX_PATH.
|
||||||
|
|
||||||
cd ./modules
|
# https://stackoverflow.com/a/246128/6605742
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
|
||||||
|
cd "$DIR"/modules
|
||||||
|
|
||||||
pass=0
|
pass=0
|
||||||
fail=0
|
fail=0
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ pkgs ? import ((import ../.).cleanSource ../..) {} }:
|
{ pkgs ? import ../.. {} }:
|
||||||
|
|
||||||
pkgs.runCommandNoCC "nixpkgs-lib-tests" {
|
pkgs.runCommandNoCC "nixpkgs-lib-tests" {
|
||||||
buildInputs = [ pkgs.nix (import ./check-eval.nix) ];
|
buildInputs = [ pkgs.nix (import ./check-eval.nix) (import ./maintainers.nix { inherit pkgs; }) ];
|
||||||
NIX_PATH = "nixpkgs=${toString pkgs.path}";
|
NIX_PATH = "nixpkgs=${toString pkgs.path}";
|
||||||
} ''
|
} ''
|
||||||
datadir="${pkgs.nix}/share"
|
datadir="${pkgs.nix}/share"
|
||||||
@ -17,8 +17,8 @@ pkgs.runCommandNoCC "nixpkgs-lib-tests" {
|
|||||||
cacheDir=$TEST_ROOT/binary-cache
|
cacheDir=$TEST_ROOT/binary-cache
|
||||||
nix-store --init
|
nix-store --init
|
||||||
|
|
||||||
cd ${pkgs.path}/lib/tests
|
cp -r ${../.} lib
|
||||||
bash ./modules.sh
|
bash lib/tests/modules.sh
|
||||||
|
|
||||||
touch $out
|
touch $out
|
||||||
''
|
''
|
||||||
|
@ -100,6 +100,7 @@
|
|||||||
abbradar = {
|
abbradar = {
|
||||||
email = "ab@fmap.me";
|
email = "ab@fmap.me";
|
||||||
github = "abbradar";
|
github = "abbradar";
|
||||||
|
githubId = 1174810;
|
||||||
name = "Nikolay Amiantov";
|
name = "Nikolay Amiantov";
|
||||||
};
|
};
|
||||||
abhi18av = {
|
abhi18av = {
|
||||||
@ -135,6 +136,7 @@
|
|||||||
acairncross = {
|
acairncross = {
|
||||||
email = "acairncross@gmail.com";
|
email = "acairncross@gmail.com";
|
||||||
github = "acairncross";
|
github = "acairncross";
|
||||||
|
githubId = 1517066;
|
||||||
name = "Aiken Cairncross";
|
name = "Aiken Cairncross";
|
||||||
};
|
};
|
||||||
acowley = {
|
acowley = {
|
||||||
@ -146,6 +148,7 @@
|
|||||||
adamt = {
|
adamt = {
|
||||||
email = "mail@adamtulinius.dk";
|
email = "mail@adamtulinius.dk";
|
||||||
github = "adamtulinius";
|
github = "adamtulinius";
|
||||||
|
githubId = 749381;
|
||||||
name = "Adam Tulinius";
|
name = "Adam Tulinius";
|
||||||
};
|
};
|
||||||
adelbertc = {
|
adelbertc = {
|
||||||
@ -229,6 +232,7 @@
|
|||||||
aforemny = {
|
aforemny = {
|
||||||
email = "alexanderforemny@googlemail.com";
|
email = "alexanderforemny@googlemail.com";
|
||||||
github = "aforemny";
|
github = "aforemny";
|
||||||
|
githubId = 610962;
|
||||||
name = "Alexander Foremny";
|
name = "Alexander Foremny";
|
||||||
};
|
};
|
||||||
afranchuk = {
|
afranchuk = {
|
||||||
@ -276,6 +280,7 @@
|
|||||||
ak = {
|
ak = {
|
||||||
email = "ak@formalprivacy.com";
|
email = "ak@formalprivacy.com";
|
||||||
github = "alexanderkjeldaas";
|
github = "alexanderkjeldaas";
|
||||||
|
githubId = 339369;
|
||||||
name = "Alexander Kjeldaas";
|
name = "Alexander Kjeldaas";
|
||||||
};
|
};
|
||||||
akavel = {
|
akavel = {
|
||||||
@ -383,6 +388,7 @@
|
|||||||
alunduil = {
|
alunduil = {
|
||||||
email = "alunduil@gmail.com";
|
email = "alunduil@gmail.com";
|
||||||
github = "alunduil";
|
github = "alunduil";
|
||||||
|
githubId = 169249;
|
||||||
name = "Alex Brandt";
|
name = "Alex Brandt";
|
||||||
};
|
};
|
||||||
alva = {
|
alva = {
|
||||||
@ -404,6 +410,7 @@
|
|||||||
ambrop72 = {
|
ambrop72 = {
|
||||||
email = "ambrop7@gmail.com";
|
email = "ambrop7@gmail.com";
|
||||||
github = "ambrop72";
|
github = "ambrop72";
|
||||||
|
githubId = 2626481;
|
||||||
name = "Ambroz Bizjak";
|
name = "Ambroz Bizjak";
|
||||||
};
|
};
|
||||||
amiddelk = {
|
amiddelk = {
|
||||||
@ -473,11 +480,13 @@
|
|||||||
andreabedini = {
|
andreabedini = {
|
||||||
email = "andrea@kzn.io";
|
email = "andrea@kzn.io";
|
||||||
github = "andreabedini";
|
github = "andreabedini";
|
||||||
|
githubId = 69135;
|
||||||
name = "Andrea Bedini";
|
name = "Andrea Bedini";
|
||||||
};
|
};
|
||||||
andres = {
|
andres = {
|
||||||
email = "ksnixos@andres-loeh.de";
|
email = "ksnixos@andres-loeh.de";
|
||||||
github = "kosmikus";
|
github = "kosmikus";
|
||||||
|
githubId = 293191;
|
||||||
name = "Andres Loeh";
|
name = "Andres Loeh";
|
||||||
};
|
};
|
||||||
andrestylianos = {
|
andrestylianos = {
|
||||||
@ -507,6 +516,7 @@
|
|||||||
andsild = {
|
andsild = {
|
||||||
email = "andsild@gmail.com";
|
email = "andsild@gmail.com";
|
||||||
github = "andsild";
|
github = "andsild";
|
||||||
|
githubId = 3808928;
|
||||||
name = "Anders Sildnes";
|
name = "Anders Sildnes";
|
||||||
};
|
};
|
||||||
aneeshusa = {
|
aneeshusa = {
|
||||||
@ -560,6 +570,7 @@
|
|||||||
antono = {
|
antono = {
|
||||||
email = "self@antono.info";
|
email = "self@antono.info";
|
||||||
github = "antono";
|
github = "antono";
|
||||||
|
githubId = 7622;
|
||||||
name = "Antono Vasiljev";
|
name = "Antono Vasiljev";
|
||||||
};
|
};
|
||||||
antonxy = {
|
antonxy = {
|
||||||
@ -742,7 +753,8 @@
|
|||||||
};
|
};
|
||||||
auntie = {
|
auntie = {
|
||||||
email = "auntieNeo@gmail.com";
|
email = "auntieNeo@gmail.com";
|
||||||
github = "auntie";
|
github = "auntieNeo";
|
||||||
|
githubId = 574938;
|
||||||
name = "Jonathan Glines";
|
name = "Jonathan Glines";
|
||||||
};
|
};
|
||||||
avaq = {
|
avaq = {
|
||||||
@ -760,6 +772,7 @@
|
|||||||
averelld = {
|
averelld = {
|
||||||
email = "averell+nixos@rxd4.com";
|
email = "averell+nixos@rxd4.com";
|
||||||
github = "averelld";
|
github = "averelld";
|
||||||
|
githubId = 687218;
|
||||||
name = "averelld";
|
name = "averelld";
|
||||||
};
|
};
|
||||||
avitex = {
|
avitex = {
|
||||||
@ -815,11 +828,13 @@
|
|||||||
backuitist = {
|
backuitist = {
|
||||||
email = "biethb@gmail.com";
|
email = "biethb@gmail.com";
|
||||||
github = "backuitist";
|
github = "backuitist";
|
||||||
|
githubId = 1017537;
|
||||||
name = "Bruno Bieth";
|
name = "Bruno Bieth";
|
||||||
};
|
};
|
||||||
badi = {
|
badi = {
|
||||||
email = "abdulwahidc@gmail.com";
|
email = "abdulwahidc@gmail.com";
|
||||||
github = "badi";
|
github = "badi";
|
||||||
|
githubId = 35324;
|
||||||
name = "Badi' Abdul-Wahid";
|
name = "Badi' Abdul-Wahid";
|
||||||
};
|
};
|
||||||
balajisivaraman = {
|
balajisivaraman = {
|
||||||
@ -943,6 +958,7 @@
|
|||||||
berdario = {
|
berdario = {
|
||||||
email = "berdario@gmail.com";
|
email = "berdario@gmail.com";
|
||||||
github = "berdario";
|
github = "berdario";
|
||||||
|
githubId = 752835;
|
||||||
name = "Dario Bertini";
|
name = "Dario Bertini";
|
||||||
};
|
};
|
||||||
bergey = {
|
bergey = {
|
||||||
@ -1024,6 +1040,7 @@
|
|||||||
bluescreen303 = {
|
bluescreen303 = {
|
||||||
email = "mathijs@bluescreen303.nl";
|
email = "mathijs@bluescreen303.nl";
|
||||||
github = "bluescreen303";
|
github = "bluescreen303";
|
||||||
|
githubId = 16330;
|
||||||
name = "Mathijs Kwik";
|
name = "Mathijs Kwik";
|
||||||
};
|
};
|
||||||
bobakker = {
|
bobakker = {
|
||||||
@ -1053,6 +1070,7 @@
|
|||||||
boothead = {
|
boothead = {
|
||||||
email = "ben@perurbis.com";
|
email = "ben@perurbis.com";
|
||||||
github = "boothead";
|
github = "boothead";
|
||||||
|
githubId = 87764;
|
||||||
name = "Ben Ford";
|
name = "Ben Ford";
|
||||||
};
|
};
|
||||||
borisbabic = {
|
borisbabic = {
|
||||||
@ -1473,6 +1491,7 @@
|
|||||||
coconnor = {
|
coconnor = {
|
||||||
email = "coreyoconnor@gmail.com";
|
email = "coreyoconnor@gmail.com";
|
||||||
github = "coreyoconnor";
|
github = "coreyoconnor";
|
||||||
|
githubId = 34317;
|
||||||
name = "Corey O'Connor";
|
name = "Corey O'Connor";
|
||||||
};
|
};
|
||||||
codsl = {
|
codsl = {
|
||||||
@ -1566,6 +1585,7 @@
|
|||||||
cransom = {
|
cransom = {
|
||||||
email = "cransom@hubns.net";
|
email = "cransom@hubns.net";
|
||||||
github = "cransom";
|
github = "cransom";
|
||||||
|
githubId = 1957293;
|
||||||
name = "Casey Ransom";
|
name = "Casey Ransom";
|
||||||
};
|
};
|
||||||
CrazedProgrammer = {
|
CrazedProgrammer = {
|
||||||
@ -1725,6 +1745,7 @@
|
|||||||
davidrusu = {
|
davidrusu = {
|
||||||
email = "davidrusu.me@gmail.com";
|
email = "davidrusu.me@gmail.com";
|
||||||
github = "davidrusu";
|
github = "davidrusu";
|
||||||
|
githubId = 1832378;
|
||||||
name = "David Rusu";
|
name = "David Rusu";
|
||||||
};
|
};
|
||||||
davidtwco = {
|
davidtwco = {
|
||||||
@ -1818,6 +1839,7 @@
|
|||||||
DerGuteMoritz = {
|
DerGuteMoritz = {
|
||||||
email = "moritz@twoticketsplease.de";
|
email = "moritz@twoticketsplease.de";
|
||||||
github = "DerGuteMoritz";
|
github = "DerGuteMoritz";
|
||||||
|
githubId = 19733;
|
||||||
name = "Moritz Heidkamp";
|
name = "Moritz Heidkamp";
|
||||||
};
|
};
|
||||||
dermetfan = {
|
dermetfan = {
|
||||||
@ -1835,6 +1857,7 @@
|
|||||||
desiderius = {
|
desiderius = {
|
||||||
email = "didier@devroye.name";
|
email = "didier@devroye.name";
|
||||||
github = "desiderius";
|
github = "desiderius";
|
||||||
|
githubId = 1311761;
|
||||||
name = "Didier J. Devroye";
|
name = "Didier J. Devroye";
|
||||||
};
|
};
|
||||||
devhell = {
|
devhell = {
|
||||||
@ -1864,6 +1887,7 @@
|
|||||||
dgonyeo = {
|
dgonyeo = {
|
||||||
email = "derek@gonyeo.com";
|
email = "derek@gonyeo.com";
|
||||||
github = "dgonyeo";
|
github = "dgonyeo";
|
||||||
|
githubId = 2439413;
|
||||||
name = "Derek Gonyeo";
|
name = "Derek Gonyeo";
|
||||||
};
|
};
|
||||||
dhkl = {
|
dhkl = {
|
||||||
@ -1983,6 +2007,7 @@
|
|||||||
doublec = {
|
doublec = {
|
||||||
email = "chris.double@double.co.nz";
|
email = "chris.double@double.co.nz";
|
||||||
github = "doublec";
|
github = "doublec";
|
||||||
|
githubId = 16599;
|
||||||
name = "Chris Double";
|
name = "Chris Double";
|
||||||
};
|
};
|
||||||
dpaetzel = {
|
dpaetzel = {
|
||||||
@ -2048,6 +2073,7 @@
|
|||||||
dxf = {
|
dxf = {
|
||||||
email = "dingxiangfei2009@gmail.com";
|
email = "dingxiangfei2009@gmail.com";
|
||||||
github = "dingxiangfei2009";
|
github = "dingxiangfei2009";
|
||||||
|
githubId = 6884440;
|
||||||
name = "Ding Xiang Fei";
|
name = "Ding Xiang Fei";
|
||||||
};
|
};
|
||||||
dysinger = {
|
dysinger = {
|
||||||
@ -2113,6 +2139,7 @@
|
|||||||
edanaher = {
|
edanaher = {
|
||||||
email = "nixos@edanaher.net";
|
email = "nixos@edanaher.net";
|
||||||
github = "edanaher";
|
github = "edanaher";
|
||||||
|
githubId = 984691;
|
||||||
name = "Evan Danaher";
|
name = "Evan Danaher";
|
||||||
};
|
};
|
||||||
edef = {
|
edef = {
|
||||||
@ -2262,6 +2289,7 @@
|
|||||||
emmanuelrosa = {
|
emmanuelrosa = {
|
||||||
email = "emmanuel_rosa@aol.com";
|
email = "emmanuel_rosa@aol.com";
|
||||||
github = "emmanuelrosa";
|
github = "emmanuelrosa";
|
||||||
|
githubId = 13485450;
|
||||||
name = "Emmanuel Rosa";
|
name = "Emmanuel Rosa";
|
||||||
};
|
};
|
||||||
endgame = {
|
endgame = {
|
||||||
@ -2279,7 +2307,7 @@
|
|||||||
Enteee = {
|
Enteee = {
|
||||||
email = "nix@duckpond.ch";
|
email = "nix@duckpond.ch";
|
||||||
github = "Enteee";
|
github = "Enteee";
|
||||||
githubid = 5493775;
|
githubId = 5493775;
|
||||||
name = "Ente";
|
name = "Ente";
|
||||||
};
|
};
|
||||||
enzime = {
|
enzime = {
|
||||||
@ -2337,6 +2365,7 @@
|
|||||||
ericsagnes = {
|
ericsagnes = {
|
||||||
email = "eric.sagnes@gmail.com";
|
email = "eric.sagnes@gmail.com";
|
||||||
github = "ericsagnes";
|
github = "ericsagnes";
|
||||||
|
githubId = 367880;
|
||||||
name = "Eric Sagnes";
|
name = "Eric Sagnes";
|
||||||
};
|
};
|
||||||
ericson2314 = {
|
ericson2314 = {
|
||||||
@ -2376,6 +2405,7 @@
|
|||||||
ertes = {
|
ertes = {
|
||||||
email = "esz@posteo.de";
|
email = "esz@posteo.de";
|
||||||
github = "ertes";
|
github = "ertes";
|
||||||
|
githubId = 1855930;
|
||||||
name = "Ertugrul Söylemez";
|
name = "Ertugrul Söylemez";
|
||||||
};
|
};
|
||||||
esclear = {
|
esclear = {
|
||||||
@ -2485,6 +2515,7 @@
|
|||||||
fare = {
|
fare = {
|
||||||
email = "fahree@gmail.com";
|
email = "fahree@gmail.com";
|
||||||
github = "fare";
|
github = "fare";
|
||||||
|
githubId = 8073;
|
||||||
name = "Francois-Rene Rideau";
|
name = "Francois-Rene Rideau";
|
||||||
};
|
};
|
||||||
farlion = {
|
farlion = {
|
||||||
@ -2496,6 +2527,7 @@
|
|||||||
fdns = {
|
fdns = {
|
||||||
email = "fdns02@gmail.com";
|
email = "fdns02@gmail.com";
|
||||||
github = "fdns";
|
github = "fdns";
|
||||||
|
githubId = 541748;
|
||||||
name = "Felipe Espinoza";
|
name = "Felipe Espinoza";
|
||||||
};
|
};
|
||||||
ffinkdevs = {
|
ffinkdevs = {
|
||||||
@ -2622,6 +2654,7 @@
|
|||||||
fragamus = {
|
fragamus = {
|
||||||
email = "innovative.engineer@gmail.com";
|
email = "innovative.engineer@gmail.com";
|
||||||
github = "fragamus";
|
github = "fragamus";
|
||||||
|
githubId = 119691;
|
||||||
name = "Michael Gough";
|
name = "Michael Gough";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2640,11 +2673,13 @@
|
|||||||
freezeboy = {
|
freezeboy = {
|
||||||
email = "freezeboy@users.noreply.github.com";
|
email = "freezeboy@users.noreply.github.com";
|
||||||
github = "freezeboy";
|
github = "freezeboy";
|
||||||
|
githubId = 13279982;
|
||||||
name = "freezeboy";
|
name = "freezeboy";
|
||||||
};
|
};
|
||||||
Fresheyeball = {
|
Fresheyeball = {
|
||||||
email = "fresheyeball@gmail.com";
|
email = "fresheyeball@gmail.com";
|
||||||
github = "fresheyeball";
|
github = "Fresheyeball";
|
||||||
|
githubId = 609279;
|
||||||
name = "Isaac Shapira";
|
name = "Isaac Shapira";
|
||||||
};
|
};
|
||||||
fridh = {
|
fridh = {
|
||||||
@ -2748,6 +2783,7 @@
|
|||||||
garbas = {
|
garbas = {
|
||||||
email = "rok@garbas.si";
|
email = "rok@garbas.si";
|
||||||
github = "garbas";
|
github = "garbas";
|
||||||
|
githubId = 20208;
|
||||||
name = "Rok Garbas";
|
name = "Rok Garbas";
|
||||||
};
|
};
|
||||||
garrison = {
|
garrison = {
|
||||||
@ -2759,6 +2795,7 @@
|
|||||||
gavin = {
|
gavin = {
|
||||||
email = "gavin.rogers@holo.host";
|
email = "gavin.rogers@holo.host";
|
||||||
github = "gavinrogers";
|
github = "gavinrogers";
|
||||||
|
githubId = 2430469;
|
||||||
name = "Gavin Rogers";
|
name = "Gavin Rogers";
|
||||||
};
|
};
|
||||||
gazally = {
|
gazally = {
|
||||||
@ -2906,6 +2943,7 @@
|
|||||||
gridaphobe = {
|
gridaphobe = {
|
||||||
email = "eric@seidel.io";
|
email = "eric@seidel.io";
|
||||||
github = "gridaphobe";
|
github = "gridaphobe";
|
||||||
|
githubId = 201997;
|
||||||
name = "Eric Seidel";
|
name = "Eric Seidel";
|
||||||
};
|
};
|
||||||
guibert = {
|
guibert = {
|
||||||
@ -3035,6 +3073,7 @@
|
|||||||
name = "Guanpeng Xu";
|
name = "Guanpeng Xu";
|
||||||
};
|
};
|
||||||
hexa = {
|
hexa = {
|
||||||
|
email = "hexa@darmstadt.ccc.de";
|
||||||
github = "mweinelt";
|
github = "mweinelt";
|
||||||
githubId = 131599;
|
githubId = 131599;
|
||||||
name = "Martin Weinelt";
|
name = "Martin Weinelt";
|
||||||
@ -3053,6 +3092,7 @@
|
|||||||
email = "me@hkjn.me";
|
email = "me@hkjn.me";
|
||||||
name = "Henrik Jonsson";
|
name = "Henrik Jonsson";
|
||||||
github = "hkjn";
|
github = "hkjn";
|
||||||
|
githubId = 287215;
|
||||||
keys = [{
|
keys = [{
|
||||||
longkeyid = "rsa4096/0x03EFBF839A5FDC15";
|
longkeyid = "rsa4096/0x03EFBF839A5FDC15";
|
||||||
fingerprint = "D618 7A03 A40A 3D56 62F5 4B46 03EF BF83 9A5F DC15";
|
fingerprint = "D618 7A03 A40A 3D56 62F5 4B46 03EF BF83 9A5F DC15";
|
||||||
@ -3225,6 +3265,7 @@
|
|||||||
name = "Michele Catalano";
|
name = "Michele Catalano";
|
||||||
};
|
};
|
||||||
isgy = {
|
isgy = {
|
||||||
|
name = "isgy";
|
||||||
email = "isgy@teiyg.com";
|
email = "isgy@teiyg.com";
|
||||||
github = "isgy";
|
github = "isgy";
|
||||||
githubId = 13622947;
|
githubId = 13622947;
|
||||||
@ -3263,7 +3304,7 @@
|
|||||||
email = "ivar.scholten@protonmail.com";
|
email = "ivar.scholten@protonmail.com";
|
||||||
github = "IvarWithoutBones";
|
github = "IvarWithoutBones";
|
||||||
githubId = 41924494;
|
githubId = 41924494;
|
||||||
Name = "Ivar";
|
name = "Ivar";
|
||||||
};
|
};
|
||||||
ivegotasthma = {
|
ivegotasthma = {
|
||||||
email = "ivegotasthma@protonmail.com";
|
email = "ivegotasthma@protonmail.com";
|
||||||
@ -3302,6 +3343,7 @@
|
|||||||
jasoncarr = {
|
jasoncarr = {
|
||||||
email = "jcarr250@gmail.com";
|
email = "jcarr250@gmail.com";
|
||||||
github = "jasoncarr0";
|
github = "jasoncarr0";
|
||||||
|
githubId = 6874204;
|
||||||
name = "Jason Carr";
|
name = "Jason Carr";
|
||||||
};
|
};
|
||||||
j-keck = {
|
j-keck = {
|
||||||
@ -3313,6 +3355,7 @@
|
|||||||
j03 = {
|
j03 = {
|
||||||
email = "github@johannesloetzsch.de";
|
email = "github@johannesloetzsch.de";
|
||||||
github = "johannesloetzsch";
|
github = "johannesloetzsch";
|
||||||
|
githubId = 175537;
|
||||||
name = "Johannes Lötzsch";
|
name = "Johannes Lötzsch";
|
||||||
};
|
};
|
||||||
jagajaga = {
|
jagajaga = {
|
||||||
@ -3439,7 +3482,8 @@
|
|||||||
};
|
};
|
||||||
jeschli = {
|
jeschli = {
|
||||||
email = "jeschli@gmail.com";
|
email = "jeschli@gmail.com";
|
||||||
github = "jeschli";
|
github = "Jeschli";
|
||||||
|
githubId = 10786794;
|
||||||
name = "Markus Hihn";
|
name = "Markus Hihn";
|
||||||
};
|
};
|
||||||
jethro = {
|
jethro = {
|
||||||
@ -3451,6 +3495,7 @@
|
|||||||
jfb = {
|
jfb = {
|
||||||
email = "james@yamtime.com";
|
email = "james@yamtime.com";
|
||||||
github = "tftio";
|
github = "tftio";
|
||||||
|
githubId = 143075;
|
||||||
name = "James Felix Black";
|
name = "James Felix Black";
|
||||||
};
|
};
|
||||||
jflanglois = {
|
jflanglois = {
|
||||||
@ -3510,6 +3555,7 @@
|
|||||||
jitwit = {
|
jitwit = {
|
||||||
email = "jrn@bluefarm.ca";
|
email = "jrn@bluefarm.ca";
|
||||||
github = "jitwit";
|
github = "jitwit";
|
||||||
|
githubId = 51518420;
|
||||||
name = "jitwit";
|
name = "jitwit";
|
||||||
};
|
};
|
||||||
jlesquembre = {
|
jlesquembre = {
|
||||||
@ -3551,6 +3597,7 @@
|
|||||||
joamaki = {
|
joamaki = {
|
||||||
email = "joamaki@gmail.com";
|
email = "joamaki@gmail.com";
|
||||||
github = "joamaki";
|
github = "joamaki";
|
||||||
|
githubId = 1102396;
|
||||||
name = "Jussi Maki";
|
name = "Jussi Maki";
|
||||||
};
|
};
|
||||||
joelburget = {
|
joelburget = {
|
||||||
@ -3573,6 +3620,7 @@
|
|||||||
email = "admin@cryto.net";
|
email = "admin@cryto.net";
|
||||||
name = "Sven Slootweg";
|
name = "Sven Slootweg";
|
||||||
github = "joepie91";
|
github = "joepie91";
|
||||||
|
githubId = 1663259;
|
||||||
};
|
};
|
||||||
joesalisbury = {
|
joesalisbury = {
|
||||||
email = "salisbury.joseph@gmail.com";
|
email = "salisbury.joseph@gmail.com";
|
||||||
@ -3646,6 +3694,7 @@
|
|||||||
jonathanmarler = {
|
jonathanmarler = {
|
||||||
email = "johnnymarler@gmail.com";
|
email = "johnnymarler@gmail.com";
|
||||||
github = "marler8997";
|
github = "marler8997";
|
||||||
|
githubId = 304904;
|
||||||
name = "Jonathan Marler";
|
name = "Jonathan Marler";
|
||||||
};
|
};
|
||||||
jonathanreeve = {
|
jonathanreeve = {
|
||||||
@ -3751,6 +3800,7 @@
|
|||||||
juliendehos = {
|
juliendehos = {
|
||||||
email = "dehos@lisic.univ-littoral.fr";
|
email = "dehos@lisic.univ-littoral.fr";
|
||||||
github = "juliendehos";
|
github = "juliendehos";
|
||||||
|
githubId = 11947756;
|
||||||
name = "Julien Dehos";
|
name = "Julien Dehos";
|
||||||
};
|
};
|
||||||
jumper149 = {
|
jumper149 = {
|
||||||
@ -3784,6 +3834,7 @@
|
|||||||
jyp = {
|
jyp = {
|
||||||
email = "jeanphilippe.bernardy@gmail.com";
|
email = "jeanphilippe.bernardy@gmail.com";
|
||||||
github = "jyp";
|
github = "jyp";
|
||||||
|
githubId = 27747;
|
||||||
name = "Jean-Philippe Bernardy";
|
name = "Jean-Philippe Bernardy";
|
||||||
};
|
};
|
||||||
jzellner = {
|
jzellner = {
|
||||||
@ -3797,7 +3848,7 @@
|
|||||||
email = "KAction@disroot.org";
|
email = "KAction@disroot.org";
|
||||||
github = "kaction";
|
github = "kaction";
|
||||||
githubId = 44864956;
|
githubId = 44864956;
|
||||||
key = [{
|
keys = [{
|
||||||
longkeyid = "ed25519/0x749FD4DFA2E94236";
|
longkeyid = "ed25519/0x749FD4DFA2E94236";
|
||||||
fingerprint = "3F87 0A7C A7B4 3731 2F13 6083 749F D4DF A2E9 4236";
|
fingerprint = "3F87 0A7C A7B4 3731 2F13 6083 749F D4DF A2E9 4236";
|
||||||
}];
|
}];
|
||||||
@ -3833,6 +3884,7 @@
|
|||||||
kampfschlaefer = {
|
kampfschlaefer = {
|
||||||
email = "arnold@arnoldarts.de";
|
email = "arnold@arnoldarts.de";
|
||||||
github = "kampfschlaefer";
|
github = "kampfschlaefer";
|
||||||
|
githubId = 3831860;
|
||||||
name = "Arnold Krille";
|
name = "Arnold Krille";
|
||||||
};
|
};
|
||||||
karantan = {
|
karantan = {
|
||||||
@ -3990,6 +4042,7 @@
|
|||||||
email = "adrian@kummerlaender.eu";
|
email = "adrian@kummerlaender.eu";
|
||||||
name = "Adrian Kummerlaender";
|
name = "Adrian Kummerlaender";
|
||||||
github = "KnairdA";
|
github = "KnairdA";
|
||||||
|
githubId = 498373;
|
||||||
};
|
};
|
||||||
knedlsepp = {
|
knedlsepp = {
|
||||||
email = "josef.kemetmueller@gmail.com";
|
email = "josef.kemetmueller@gmail.com";
|
||||||
@ -4012,6 +4065,7 @@
|
|||||||
kolbycrouch = {
|
kolbycrouch = {
|
||||||
email = "kjc.devel@gmail.com";
|
email = "kjc.devel@gmail.com";
|
||||||
github = "kolbycrouch";
|
github = "kolbycrouch";
|
||||||
|
githubId = 6346418;
|
||||||
name = "Kolby Crouch";
|
name = "Kolby Crouch";
|
||||||
};
|
};
|
||||||
konimex = {
|
konimex = {
|
||||||
@ -4023,6 +4077,7 @@
|
|||||||
koral = {
|
koral = {
|
||||||
email = "koral@mailoo.org";
|
email = "koral@mailoo.org";
|
||||||
github = "k0ral";
|
github = "k0ral";
|
||||||
|
githubId = 524268;
|
||||||
name = "Koral";
|
name = "Koral";
|
||||||
};
|
};
|
||||||
kovirobi = {
|
kovirobi = {
|
||||||
@ -4064,7 +4119,7 @@
|
|||||||
kristian-brucaj = {
|
kristian-brucaj = {
|
||||||
email = "kbrucaj@gmail.com";
|
email = "kbrucaj@gmail.com";
|
||||||
github = "kristian-brucaj";
|
github = "kristian-brucaj";
|
||||||
githubID = "8893110";
|
githubId = 8893110;
|
||||||
name = "Kristian Brucaj";
|
name = "Kristian Brucaj";
|
||||||
};
|
};
|
||||||
kristoff3r = {
|
kristoff3r = {
|
||||||
@ -4124,6 +4179,7 @@
|
|||||||
laikq = {
|
laikq = {
|
||||||
email = "gwen@quasebarth.de";
|
email = "gwen@quasebarth.de";
|
||||||
github = "laikq";
|
github = "laikq";
|
||||||
|
githubId = 55911173;
|
||||||
name = "Gwendolyn Quasebarth";
|
name = "Gwendolyn Quasebarth";
|
||||||
};
|
};
|
||||||
lasandell = {
|
lasandell = {
|
||||||
@ -4141,6 +4197,7 @@
|
|||||||
lassulus = {
|
lassulus = {
|
||||||
email = "lassulus@gmail.com";
|
email = "lassulus@gmail.com";
|
||||||
github = "Lassulus";
|
github = "Lassulus";
|
||||||
|
githubId = 621759;
|
||||||
name = "Lassulus";
|
name = "Lassulus";
|
||||||
};
|
};
|
||||||
lattfein = {
|
lattfein = {
|
||||||
@ -4195,6 +4252,7 @@
|
|||||||
lebastr = {
|
lebastr = {
|
||||||
email = "lebastr@gmail.com";
|
email = "lebastr@gmail.com";
|
||||||
github = "lebastr";
|
github = "lebastr";
|
||||||
|
githubId = 887072;
|
||||||
name = "Alexander Lebedev";
|
name = "Alexander Lebedev";
|
||||||
};
|
};
|
||||||
ledif = {
|
ledif = {
|
||||||
@ -4230,6 +4288,7 @@
|
|||||||
leonardoce = {
|
leonardoce = {
|
||||||
email = "leonardo.cecchi@gmail.com";
|
email = "leonardo.cecchi@gmail.com";
|
||||||
github = "leonardoce";
|
github = "leonardoce";
|
||||||
|
githubId = 1572058;
|
||||||
name = "Leonardo Cecchi";
|
name = "Leonardo Cecchi";
|
||||||
};
|
};
|
||||||
leshainc = {
|
leshainc = {
|
||||||
@ -4393,6 +4452,7 @@
|
|||||||
lovek323 = {
|
lovek323 = {
|
||||||
email = "jason@oconal.id.au";
|
email = "jason@oconal.id.au";
|
||||||
github = "lovek323";
|
github = "lovek323";
|
||||||
|
githubId = 265084;
|
||||||
name = "Jason O'Conal";
|
name = "Jason O'Conal";
|
||||||
};
|
};
|
||||||
lovesegfault = {
|
lovesegfault = {
|
||||||
@ -4432,6 +4492,7 @@
|
|||||||
ltavard = {
|
ltavard = {
|
||||||
email = "laure.tavard@univ-grenoble-alpes.fr";
|
email = "laure.tavard@univ-grenoble-alpes.fr";
|
||||||
github = "ltavard";
|
github = "ltavard";
|
||||||
|
githubId = 8555953;
|
||||||
name = "Laure Tavard";
|
name = "Laure Tavard";
|
||||||
};
|
};
|
||||||
luc65r = {
|
luc65r = {
|
||||||
@ -4495,6 +4556,7 @@
|
|||||||
lumi = {
|
lumi = {
|
||||||
email = "lumi@pew.im";
|
email = "lumi@pew.im";
|
||||||
github = "lumi-me-not";
|
github = "lumi-me-not";
|
||||||
|
githubId = 26020062;
|
||||||
name = "lumi";
|
name = "lumi";
|
||||||
};
|
};
|
||||||
luz = {
|
luz = {
|
||||||
@ -4678,6 +4740,7 @@
|
|||||||
matthewbauer = {
|
matthewbauer = {
|
||||||
email = "mjbauer95@gmail.com";
|
email = "mjbauer95@gmail.com";
|
||||||
github = "matthewbauer";
|
github = "matthewbauer";
|
||||||
|
githubId = 19036;
|
||||||
name = "Matthew Bauer";
|
name = "Matthew Bauer";
|
||||||
};
|
};
|
||||||
matthiasbeyer = {
|
matthiasbeyer = {
|
||||||
@ -4695,6 +4758,7 @@
|
|||||||
matti-kariluoma = {
|
matti-kariluoma = {
|
||||||
email = "matti@kariluo.ma";
|
email = "matti@kariluo.ma";
|
||||||
github = "matti-kariluoma";
|
github = "matti-kariluoma";
|
||||||
|
githubId = 279868;
|
||||||
name = "Matti Kariluoma";
|
name = "Matti Kariluoma";
|
||||||
};
|
};
|
||||||
maurer = {
|
maurer = {
|
||||||
@ -4820,6 +4884,7 @@
|
|||||||
melsigl = {
|
melsigl = {
|
||||||
email = "melanie.bianca.sigl@gmail.com";
|
email = "melanie.bianca.sigl@gmail.com";
|
||||||
github = "melsigl";
|
github = "melsigl";
|
||||||
|
githubId = 15093162;
|
||||||
name = "Melanie B. Sigl";
|
name = "Melanie B. Sigl";
|
||||||
};
|
};
|
||||||
melkor333 = {
|
melkor333 = {
|
||||||
@ -4888,6 +4953,7 @@
|
|||||||
michaelpj = {
|
michaelpj = {
|
||||||
email = "michaelpj@gmail.com";
|
email = "michaelpj@gmail.com";
|
||||||
github = "michaelpj";
|
github = "michaelpj";
|
||||||
|
githubId = 1699466;
|
||||||
name = "Michael Peyton Jones";
|
name = "Michael Peyton Jones";
|
||||||
};
|
};
|
||||||
michalrus = {
|
michalrus = {
|
||||||
@ -4899,6 +4965,7 @@
|
|||||||
michelk = {
|
michelk = {
|
||||||
email = "michel@kuhlmanns.info";
|
email = "michel@kuhlmanns.info";
|
||||||
github = "michelk";
|
github = "michelk";
|
||||||
|
githubId = 1404919;
|
||||||
name = "Michel Kuhlmann";
|
name = "Michel Kuhlmann";
|
||||||
};
|
};
|
||||||
michojel = {
|
michojel = {
|
||||||
@ -4972,6 +5039,7 @@
|
|||||||
mirdhyn = {
|
mirdhyn = {
|
||||||
email = "mirdhyn@gmail.com";
|
email = "mirdhyn@gmail.com";
|
||||||
github = "mirdhyn";
|
github = "mirdhyn";
|
||||||
|
githubId = 149558;
|
||||||
name = "Merlin Gaillard";
|
name = "Merlin Gaillard";
|
||||||
};
|
};
|
||||||
mirrexagon = {
|
mirrexagon = {
|
||||||
@ -5007,6 +5075,7 @@
|
|||||||
mkf = {
|
mkf = {
|
||||||
email = "m@mikf.pl";
|
email = "m@mikf.pl";
|
||||||
github = "mkf";
|
github = "mkf";
|
||||||
|
githubId = 7753506;
|
||||||
name = "Michał Krzysztof Feiler";
|
name = "Michał Krzysztof Feiler";
|
||||||
keys = [{
|
keys = [{
|
||||||
longkeyid = "rsa4096/0xE35C2D7C2C6AC724";
|
longkeyid = "rsa4096/0xE35C2D7C2C6AC724";
|
||||||
@ -5056,6 +5125,7 @@
|
|||||||
mmlb = {
|
mmlb = {
|
||||||
email = "manny@peekaboo.mmlb.icu";
|
email = "manny@peekaboo.mmlb.icu";
|
||||||
github = "mmlb";
|
github = "mmlb";
|
||||||
|
githubId = 708570;
|
||||||
name = "Manuel Mendez";
|
name = "Manuel Mendez";
|
||||||
};
|
};
|
||||||
mnacamura = {
|
mnacamura = {
|
||||||
@ -5085,6 +5155,7 @@
|
|||||||
Mogria = {
|
Mogria = {
|
||||||
email = "m0gr14@gmail.com";
|
email = "m0gr14@gmail.com";
|
||||||
github = "mogria";
|
github = "mogria";
|
||||||
|
githubId = 754512;
|
||||||
name = "Mogria";
|
name = "Mogria";
|
||||||
};
|
};
|
||||||
monsieurp = {
|
monsieurp = {
|
||||||
@ -5142,6 +5213,7 @@
|
|||||||
MP2E = {
|
MP2E = {
|
||||||
email = "MP2E@archlinux.us";
|
email = "MP2E@archlinux.us";
|
||||||
github = "MP2E";
|
github = "MP2E";
|
||||||
|
githubId = 167708;
|
||||||
name = "Cray Elliott";
|
name = "Cray Elliott";
|
||||||
};
|
};
|
||||||
mpcsh = {
|
mpcsh = {
|
||||||
@ -5165,6 +5237,7 @@
|
|||||||
mpscholten = {
|
mpscholten = {
|
||||||
email = "marc@mpscholten.de";
|
email = "marc@mpscholten.de";
|
||||||
github = "mpscholten";
|
github = "mpscholten";
|
||||||
|
githubId = 2072185;
|
||||||
name = "Marc Scholten";
|
name = "Marc Scholten";
|
||||||
};
|
};
|
||||||
mpsyco = {
|
mpsyco = {
|
||||||
@ -5182,6 +5255,7 @@
|
|||||||
mredaelli = {
|
mredaelli = {
|
||||||
email = "massimo@typish.io";
|
email = "massimo@typish.io";
|
||||||
github = "mredaelli";
|
github = "mredaelli";
|
||||||
|
githubId = 3073833;
|
||||||
name = "Massimo Redaelli";
|
name = "Massimo Redaelli";
|
||||||
};
|
};
|
||||||
mrkkrp = {
|
mrkkrp = {
|
||||||
@ -5249,6 +5323,7 @@
|
|||||||
MtP = {
|
MtP = {
|
||||||
email = "marko.nixos@poikonen.de";
|
email = "marko.nixos@poikonen.de";
|
||||||
github = "MtP76";
|
github = "MtP76";
|
||||||
|
githubId = 2176611;
|
||||||
name = "Marko Poikonen";
|
name = "Marko Poikonen";
|
||||||
};
|
};
|
||||||
mtreskin = {
|
mtreskin = {
|
||||||
@ -5314,6 +5389,7 @@
|
|||||||
nand0p = {
|
nand0p = {
|
||||||
email = "nando@hex7.com";
|
email = "nando@hex7.com";
|
||||||
github = "nand0p";
|
github = "nand0p";
|
||||||
|
githubId = 1916245;
|
||||||
name = "Fernando Jose Pando";
|
name = "Fernando Jose Pando";
|
||||||
};
|
};
|
||||||
Nate-Devv = {
|
Nate-Devv = {
|
||||||
@ -5587,6 +5663,7 @@
|
|||||||
olynch = {
|
olynch = {
|
||||||
email = "owen@olynch.me";
|
email = "owen@olynch.me";
|
||||||
github = "olynch";
|
github = "olynch";
|
||||||
|
githubId = 4728903;
|
||||||
name = "Owen Lynch";
|
name = "Owen Lynch";
|
||||||
};
|
};
|
||||||
omnipotententity = {
|
omnipotententity = {
|
||||||
@ -5610,6 +5687,7 @@
|
|||||||
orbitz = {
|
orbitz = {
|
||||||
email = "mmatalka@gmail.com";
|
email = "mmatalka@gmail.com";
|
||||||
github = "orbitz";
|
github = "orbitz";
|
||||||
|
githubId = 75299;
|
||||||
name = "Malcolm Matalka";
|
name = "Malcolm Matalka";
|
||||||
};
|
};
|
||||||
orivej = {
|
orivej = {
|
||||||
@ -5745,6 +5823,7 @@
|
|||||||
pcarrier = {
|
pcarrier = {
|
||||||
email = "pc@rrier.ca";
|
email = "pc@rrier.ca";
|
||||||
github = "pcarrier";
|
github = "pcarrier";
|
||||||
|
githubId = 8641;
|
||||||
name = "Pierre Carrier";
|
name = "Pierre Carrier";
|
||||||
};
|
};
|
||||||
periklis = {
|
periklis = {
|
||||||
@ -5890,6 +5969,7 @@
|
|||||||
plchldr = {
|
plchldr = {
|
||||||
email = "mail@oddco.de";
|
email = "mail@oddco.de";
|
||||||
github = "plchldr";
|
github = "plchldr";
|
||||||
|
githubId = 11639001;
|
||||||
name = "Jonas Beyer";
|
name = "Jonas Beyer";
|
||||||
};
|
};
|
||||||
plcplc = {
|
plcplc = {
|
||||||
@ -5913,6 +5993,7 @@
|
|||||||
pmeunier = {
|
pmeunier = {
|
||||||
email = "pierre-etienne.meunier@inria.fr";
|
email = "pierre-etienne.meunier@inria.fr";
|
||||||
github = "P-E-Meunier";
|
github = "P-E-Meunier";
|
||||||
|
githubId = 17021304;
|
||||||
name = "Pierre-Étienne Meunier";
|
name = "Pierre-Étienne Meunier";
|
||||||
};
|
};
|
||||||
pmiddend = {
|
pmiddend = {
|
||||||
@ -5942,6 +6023,7 @@
|
|||||||
polyrod = {
|
polyrod = {
|
||||||
email = "dc1mdp@gmail.com";
|
email = "dc1mdp@gmail.com";
|
||||||
github = "polyrod";
|
github = "polyrod";
|
||||||
|
githubId = 24878306;
|
||||||
name = "Maurizio Di Pietro";
|
name = "Maurizio Di Pietro";
|
||||||
};
|
};
|
||||||
pombeirp = {
|
pombeirp = {
|
||||||
@ -6121,11 +6203,13 @@
|
|||||||
raboof = {
|
raboof = {
|
||||||
email = "arnout@bzzt.net";
|
email = "arnout@bzzt.net";
|
||||||
github = "raboof";
|
github = "raboof";
|
||||||
|
githubId = 131856;
|
||||||
name = "Arnout Engelen";
|
name = "Arnout Engelen";
|
||||||
};
|
};
|
||||||
rafaelgg = {
|
rafaelgg = {
|
||||||
email = "rafael.garcia.gallego@gmail.com";
|
email = "rafael.garcia.gallego@gmail.com";
|
||||||
github = "rafaelgg";
|
github = "rafaelgg";
|
||||||
|
githubId = 1016742;
|
||||||
name = "Rafael García";
|
name = "Rafael García";
|
||||||
};
|
};
|
||||||
raquelgb = {
|
raquelgb = {
|
||||||
@ -6297,6 +6381,7 @@
|
|||||||
rickynils = {
|
rickynils = {
|
||||||
email = "rickynils@gmail.com";
|
email = "rickynils@gmail.com";
|
||||||
github = "rickynils";
|
github = "rickynils";
|
||||||
|
githubId = 16779;
|
||||||
name = "Rickard Nilsson";
|
name = "Rickard Nilsson";
|
||||||
};
|
};
|
||||||
rika = {
|
rika = {
|
||||||
@ -6380,11 +6465,13 @@
|
|||||||
rob = {
|
rob = {
|
||||||
email = "rob.vermaas@gmail.com";
|
email = "rob.vermaas@gmail.com";
|
||||||
github = "rbvermaa";
|
github = "rbvermaa";
|
||||||
|
githubId = 353885;
|
||||||
name = "Rob Vermaas";
|
name = "Rob Vermaas";
|
||||||
};
|
};
|
||||||
robberer = {
|
robberer = {
|
||||||
email = "robberer@freakmail.de";
|
email = "robberer@freakmail.de";
|
||||||
github = "robberer";
|
github = "robberer";
|
||||||
|
githubId = 6204883;
|
||||||
name = "Longrin Wischnewski";
|
name = "Longrin Wischnewski";
|
||||||
};
|
};
|
||||||
robbinch = {
|
robbinch = {
|
||||||
@ -6504,6 +6591,7 @@
|
|||||||
rvolosatovs = {
|
rvolosatovs = {
|
||||||
email = "rvolosatovs@riseup.net";
|
email = "rvolosatovs@riseup.net";
|
||||||
github = "rvolosatovs";
|
github = "rvolosatovs";
|
||||||
|
githubId = 12877905;
|
||||||
name = "Roman Volosatovs";
|
name = "Roman Volosatovs";
|
||||||
};
|
};
|
||||||
ryanartecona = {
|
ryanartecona = {
|
||||||
@ -6515,6 +6603,7 @@
|
|||||||
ryansydnor = {
|
ryansydnor = {
|
||||||
email = "ryan.t.sydnor@gmail.com";
|
email = "ryan.t.sydnor@gmail.com";
|
||||||
github = "ryansydnor";
|
github = "ryansydnor";
|
||||||
|
githubId = 1832096;
|
||||||
name = "Ryan Sydnor";
|
name = "Ryan Sydnor";
|
||||||
};
|
};
|
||||||
ryantm = {
|
ryantm = {
|
||||||
@ -6606,6 +6695,7 @@
|
|||||||
sander = {
|
sander = {
|
||||||
email = "s.vanderburg@tudelft.nl";
|
email = "s.vanderburg@tudelft.nl";
|
||||||
github = "svanderburg";
|
github = "svanderburg";
|
||||||
|
githubId = 1153271;
|
||||||
name = "Sander van der Burg";
|
name = "Sander van der Burg";
|
||||||
};
|
};
|
||||||
sargon = {
|
sargon = {
|
||||||
@ -6641,6 +6731,7 @@
|
|||||||
scalavision = {
|
scalavision = {
|
||||||
email = "scalavision@gmail.com";
|
email = "scalavision@gmail.com";
|
||||||
github = "scalavision";
|
github = "scalavision";
|
||||||
|
githubId = 3958212;
|
||||||
name = "Tom Sorlie";
|
name = "Tom Sorlie";
|
||||||
};
|
};
|
||||||
schmitthenner = {
|
schmitthenner = {
|
||||||
@ -6650,8 +6741,10 @@
|
|||||||
name = "Fabian Schmitthenner";
|
name = "Fabian Schmitthenner";
|
||||||
};
|
};
|
||||||
schmittlauch = {
|
schmittlauch = {
|
||||||
|
name = "Trolli Schmittlauch";
|
||||||
email = "t.schmittlauch+nixos@orlives.de";
|
email = "t.schmittlauch+nixos@orlives.de";
|
||||||
github = "schmittlauch";
|
github = "schmittlauch";
|
||||||
|
githubId = 1479555;
|
||||||
};
|
};
|
||||||
schneefux = {
|
schneefux = {
|
||||||
email = "schneefux+nixos_pkg@schneefux.xyz";
|
email = "schneefux+nixos_pkg@schneefux.xyz";
|
||||||
@ -6690,6 +6783,7 @@
|
|||||||
scubed2 = {
|
scubed2 = {
|
||||||
email = "scubed2@gmail.com";
|
email = "scubed2@gmail.com";
|
||||||
github = "scubed2";
|
github = "scubed2";
|
||||||
|
githubId = 7401858;
|
||||||
name = "Sterling Stein";
|
name = "Sterling Stein";
|
||||||
};
|
};
|
||||||
sdier = {
|
sdier = {
|
||||||
@ -6749,7 +6843,7 @@
|
|||||||
servalcatty = {
|
servalcatty = {
|
||||||
email = "servalcat@pm.me";
|
email = "servalcat@pm.me";
|
||||||
github = "servalcatty";
|
github = "servalcatty";
|
||||||
githubid = 51969817;
|
githubId = 51969817;
|
||||||
name = "Serval";
|
name = "Serval";
|
||||||
keys = [{
|
keys = [{
|
||||||
longkeyid = "rsa4096/0x4A2AAAA382F8294C";
|
longkeyid = "rsa4096/0x4A2AAAA382F8294C";
|
||||||
@ -6795,6 +6889,7 @@
|
|||||||
shazow = {
|
shazow = {
|
||||||
email = "andrey.petrov@shazow.net";
|
email = "andrey.petrov@shazow.net";
|
||||||
github = "shazow";
|
github = "shazow";
|
||||||
|
githubId = 6292;
|
||||||
name = "Andrey Petrov";
|
name = "Andrey Petrov";
|
||||||
};
|
};
|
||||||
sheenobu = {
|
sheenobu = {
|
||||||
@ -6818,16 +6913,19 @@
|
|||||||
shlevy = {
|
shlevy = {
|
||||||
email = "shea@shealevy.com";
|
email = "shea@shealevy.com";
|
||||||
github = "shlevy";
|
github = "shlevy";
|
||||||
|
githubId = 487050;
|
||||||
name = "Shea Levy";
|
name = "Shea Levy";
|
||||||
};
|
};
|
||||||
shmish111 = {
|
shmish111 = {
|
||||||
email = "shmish111@gmail.com";
|
email = "shmish111@gmail.com";
|
||||||
github = "shmish111";
|
github = "shmish111";
|
||||||
|
githubId = 934267;
|
||||||
name = "David Smith";
|
name = "David Smith";
|
||||||
};
|
};
|
||||||
shnarazk = {
|
shnarazk = {
|
||||||
email = "shujinarazaki@protonmail.com";
|
email = "shujinarazaki@protonmail.com";
|
||||||
github = "shnarazk";
|
github = "shnarazk";
|
||||||
|
githubId = 997855;
|
||||||
name = "Narazaki Shuji";
|
name = "Narazaki Shuji";
|
||||||
};
|
};
|
||||||
shou = {
|
shou = {
|
||||||
@ -6915,6 +7013,7 @@
|
|||||||
sjmackenzie = {
|
sjmackenzie = {
|
||||||
email = "setori88@gmail.com";
|
email = "setori88@gmail.com";
|
||||||
github = "sjmackenzie";
|
github = "sjmackenzie";
|
||||||
|
githubId = 158321;
|
||||||
name = "Stewart Mackenzie";
|
name = "Stewart Mackenzie";
|
||||||
};
|
};
|
||||||
sjourdois = {
|
sjourdois = {
|
||||||
@ -7048,6 +7147,7 @@
|
|||||||
sprock = {
|
sprock = {
|
||||||
email = "rmason@mun.ca";
|
email = "rmason@mun.ca";
|
||||||
github = "sprock";
|
github = "sprock";
|
||||||
|
githubId = 6391601;
|
||||||
name = "Roger Mason";
|
name = "Roger Mason";
|
||||||
};
|
};
|
||||||
spwhitt = {
|
spwhitt = {
|
||||||
@ -7059,6 +7159,7 @@
|
|||||||
srghma = {
|
srghma = {
|
||||||
email = "srghma@gmail.com";
|
email = "srghma@gmail.com";
|
||||||
github = "srghma";
|
github = "srghma";
|
||||||
|
githubId = 7573215;
|
||||||
name = "Sergei Khoma";
|
name = "Sergei Khoma";
|
||||||
};
|
};
|
||||||
srgom = {
|
srgom = {
|
||||||
@ -7276,6 +7377,7 @@
|
|||||||
taha = {
|
taha = {
|
||||||
email = "xrcrod@gmail.com";
|
email = "xrcrod@gmail.com";
|
||||||
github = "tgharib";
|
github = "tgharib";
|
||||||
|
githubId = 6457015;
|
||||||
name = "Taha Gharib";
|
name = "Taha Gharib";
|
||||||
};
|
};
|
||||||
tailhook = {
|
tailhook = {
|
||||||
@ -7359,6 +7461,7 @@
|
|||||||
tckmn = {
|
tckmn = {
|
||||||
email = "andy@tck.mn";
|
email = "andy@tck.mn";
|
||||||
github = "tckmn";
|
github = "tckmn";
|
||||||
|
githubId = 2389333;
|
||||||
name = "Andy Tockman";
|
name = "Andy Tockman";
|
||||||
};
|
};
|
||||||
teh = {
|
teh = {
|
||||||
@ -7388,11 +7491,13 @@
|
|||||||
tesq0 = {
|
tesq0 = {
|
||||||
email = "mikolaj.galkowski@gmail.com";
|
email = "mikolaj.galkowski@gmail.com";
|
||||||
github = "tesq0";
|
github = "tesq0";
|
||||||
|
githubId = 26417242;
|
||||||
name = "Mikolaj Galkowski";
|
name = "Mikolaj Galkowski";
|
||||||
};
|
};
|
||||||
teto = {
|
teto = {
|
||||||
email = "mcoudron@hotmail.com";
|
email = "mcoudron@hotmail.com";
|
||||||
github = "teto";
|
github = "teto";
|
||||||
|
githubId = 886074;
|
||||||
name = "Matthieu Coudron";
|
name = "Matthieu Coudron";
|
||||||
};
|
};
|
||||||
tex = {
|
tex = {
|
||||||
@ -7434,6 +7539,7 @@
|
|||||||
the-kenny = {
|
the-kenny = {
|
||||||
email = "moritz@tarn-vedra.de";
|
email = "moritz@tarn-vedra.de";
|
||||||
github = "the-kenny";
|
github = "the-kenny";
|
||||||
|
githubId = 31167;
|
||||||
name = "Moritz Ulrich";
|
name = "Moritz Ulrich";
|
||||||
};
|
};
|
||||||
thedavidmeister = {
|
thedavidmeister = {
|
||||||
@ -7521,11 +7627,13 @@
|
|||||||
timbertson = {
|
timbertson = {
|
||||||
email = "tim@gfxmonk.net";
|
email = "tim@gfxmonk.net";
|
||||||
github = "timbertson";
|
github = "timbertson";
|
||||||
|
githubId = 14172;
|
||||||
name = "Tim Cuthbertson";
|
name = "Tim Cuthbertson";
|
||||||
};
|
};
|
||||||
timma = {
|
timma = {
|
||||||
email = "kunduru.it.iitb@gmail.com";
|
email = "kunduru.it.iitb@gmail.com";
|
||||||
github = "ktrsoft";
|
github = "ktrsoft";
|
||||||
|
githubId = 12712927;
|
||||||
name = "Timma";
|
name = "Timma";
|
||||||
};
|
};
|
||||||
timokau = {
|
timokau = {
|
||||||
@ -7577,6 +7685,7 @@
|
|||||||
tnias = {
|
tnias = {
|
||||||
email = "phil@grmr.de";
|
email = "phil@grmr.de";
|
||||||
github = "tnias";
|
github = "tnias";
|
||||||
|
githubId = 9853194;
|
||||||
name = "Philipp Bartsch";
|
name = "Philipp Bartsch";
|
||||||
};
|
};
|
||||||
tobim = {
|
tobim = {
|
||||||
@ -7672,6 +7781,7 @@
|
|||||||
tscholak = {
|
tscholak = {
|
||||||
email = "torsten.scholak@googlemail.com";
|
email = "torsten.scholak@googlemail.com";
|
||||||
github = "tscholak";
|
github = "tscholak";
|
||||||
|
githubId = 1568873;
|
||||||
name = "Torsten Scholak";
|
name = "Torsten Scholak";
|
||||||
};
|
};
|
||||||
tstrobel = {
|
tstrobel = {
|
||||||
@ -7693,6 +7803,7 @@
|
|||||||
tvestelind = {
|
tvestelind = {
|
||||||
email = "tomas.vestelind@fripost.org";
|
email = "tomas.vestelind@fripost.org";
|
||||||
github = "tvestelind";
|
github = "tvestelind";
|
||||||
|
githubId = 699403;
|
||||||
name = "Tomas Vestelind";
|
name = "Tomas Vestelind";
|
||||||
};
|
};
|
||||||
tvorog = {
|
tvorog = {
|
||||||
@ -7704,11 +7815,13 @@
|
|||||||
tweber = {
|
tweber = {
|
||||||
email = "tw+nixpkgs@360vier.de";
|
email = "tw+nixpkgs@360vier.de";
|
||||||
github = "thorstenweber83";
|
github = "thorstenweber83";
|
||||||
|
githubId = 9413924;
|
||||||
name = "Thorsten Weber";
|
name = "Thorsten Weber";
|
||||||
};
|
};
|
||||||
twey = {
|
twey = {
|
||||||
email = "twey@twey.co.uk";
|
email = "twey@twey.co.uk";
|
||||||
github = "twey";
|
github = "Twey";
|
||||||
|
githubId = 101639;
|
||||||
name = "James ‘Twey’ Kay";
|
name = "James ‘Twey’ Kay";
|
||||||
};
|
};
|
||||||
twhitehead = {
|
twhitehead = {
|
||||||
@ -7772,6 +7885,7 @@
|
|||||||
uwap = {
|
uwap = {
|
||||||
email = "me@uwap.name";
|
email = "me@uwap.name";
|
||||||
github = "uwap";
|
github = "uwap";
|
||||||
|
githubId = 2212422;
|
||||||
name = "uwap";
|
name = "uwap";
|
||||||
};
|
};
|
||||||
va1entin = {
|
va1entin = {
|
||||||
@ -7789,12 +7903,13 @@
|
|||||||
valebes = {
|
valebes = {
|
||||||
email = "valebes@gmail.com";
|
email = "valebes@gmail.com";
|
||||||
github = "valebes";
|
github = "valebes";
|
||||||
githubid = 10956211;
|
githubId = 10956211;
|
||||||
name = "Valerio Besozzi";
|
name = "Valerio Besozzi";
|
||||||
};
|
};
|
||||||
valeriangalliat = {
|
valeriangalliat = {
|
||||||
email = "val@codejam.info";
|
email = "val@codejam.info";
|
||||||
github = "valeriangalliat";
|
github = "valeriangalliat";
|
||||||
|
githubId = 3929133;
|
||||||
name = "Valérian Galliat";
|
name = "Valérian Galliat";
|
||||||
};
|
};
|
||||||
valodim = {
|
valodim = {
|
||||||
@ -7842,6 +7957,7 @@
|
|||||||
vcanadi = {
|
vcanadi = {
|
||||||
email = "vito.canadi@gmail.com";
|
email = "vito.canadi@gmail.com";
|
||||||
github = "vcanadi";
|
github = "vcanadi";
|
||||||
|
githubId = 8889722;
|
||||||
name = "Vitomir Čanadi";
|
name = "Vitomir Čanadi";
|
||||||
};
|
};
|
||||||
vcunat = {
|
vcunat = {
|
||||||
@ -7904,6 +8020,7 @@
|
|||||||
viric = {
|
viric = {
|
||||||
email = "viric@viric.name";
|
email = "viric@viric.name";
|
||||||
github = "viric";
|
github = "viric";
|
||||||
|
githubId = 66664;
|
||||||
name = "Lluís Batlle i Rossell";
|
name = "Lluís Batlle i Rossell";
|
||||||
};
|
};
|
||||||
virusdave = {
|
virusdave = {
|
||||||
@ -7915,6 +8032,7 @@
|
|||||||
vizanto = {
|
vizanto = {
|
||||||
email = "danny@prime.vc";
|
email = "danny@prime.vc";
|
||||||
github = "vizanto";
|
github = "vizanto";
|
||||||
|
githubId = 326263;
|
||||||
name = "Danny Wilson";
|
name = "Danny Wilson";
|
||||||
};
|
};
|
||||||
vklquevs = {
|
vklquevs = {
|
||||||
@ -7944,6 +8062,7 @@
|
|||||||
vmchale = {
|
vmchale = {
|
||||||
email = "tmchale@wisc.edu";
|
email = "tmchale@wisc.edu";
|
||||||
github = "vmchale";
|
github = "vmchale";
|
||||||
|
githubId = 13259982;
|
||||||
name = "Vanessa McHale";
|
name = "Vanessa McHale";
|
||||||
};
|
};
|
||||||
volhovm = {
|
volhovm = {
|
||||||
@ -8067,6 +8186,7 @@
|
|||||||
wscott = {
|
wscott = {
|
||||||
email = "wsc9tt@gmail.com";
|
email = "wsc9tt@gmail.com";
|
||||||
github = "wscott";
|
github = "wscott";
|
||||||
|
githubId = 31487;
|
||||||
name = "Wayne Scott";
|
name = "Wayne Scott";
|
||||||
};
|
};
|
||||||
wucke13 = {
|
wucke13 = {
|
||||||
@ -8120,6 +8240,7 @@
|
|||||||
xnaveira = {
|
xnaveira = {
|
||||||
email = "xnaveira@gmail.com";
|
email = "xnaveira@gmail.com";
|
||||||
github = "xnaveira";
|
github = "xnaveira";
|
||||||
|
githubId = 2534411;
|
||||||
name = "Xavier Naveira";
|
name = "Xavier Naveira";
|
||||||
};
|
};
|
||||||
xnwdd = {
|
xnwdd = {
|
||||||
@ -8161,6 +8282,7 @@
|
|||||||
y0no = {
|
y0no = {
|
||||||
email = "y0no@y0no.fr";
|
email = "y0no@y0no.fr";
|
||||||
github = "y0no";
|
github = "y0no";
|
||||||
|
githubId = 2242427;
|
||||||
name = "Yoann Ono";
|
name = "Yoann Ono";
|
||||||
};
|
};
|
||||||
yarny = {
|
yarny = {
|
||||||
@ -8242,6 +8364,7 @@
|
|||||||
yvesf = {
|
yvesf = {
|
||||||
email = "yvesf+nix@xapek.org";
|
email = "yvesf+nix@xapek.org";
|
||||||
github = "yvesf";
|
github = "yvesf";
|
||||||
|
githubId = 179548;
|
||||||
name = "Yves Fischer";
|
name = "Yves Fischer";
|
||||||
};
|
};
|
||||||
yvt = {
|
yvt = {
|
||||||
@ -8271,6 +8394,7 @@
|
|||||||
zalakain = {
|
zalakain = {
|
||||||
email = "ping@umazalakain.info";
|
email = "ping@umazalakain.info";
|
||||||
github = "umazalakain";
|
github = "umazalakain";
|
||||||
|
githubId = 1319905;
|
||||||
name = "Uma Zalakain";
|
name = "Uma Zalakain";
|
||||||
};
|
};
|
||||||
zaninime = {
|
zaninime = {
|
||||||
@ -8431,6 +8555,7 @@
|
|||||||
name = "Nicholas Gerstle";
|
name = "Nicholas Gerstle";
|
||||||
email = "ngerstle@gmail.com";
|
email = "ngerstle@gmail.com";
|
||||||
github = "ngerstle";
|
github = "ngerstle";
|
||||||
|
githubId = 1023752;
|
||||||
};
|
};
|
||||||
xavierzwirtz = {
|
xavierzwirtz = {
|
||||||
email = "me@xavierzwirtz.com";
|
email = "me@xavierzwirtz.com";
|
||||||
|
@ -4,56 +4,102 @@ with lib;
|
|||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.services.traefik;
|
cfg = config.services.traefik;
|
||||||
configFile =
|
jsonValue = with types;
|
||||||
if cfg.configFile == null then
|
let
|
||||||
|
valueType = nullOr (oneOf [
|
||||||
|
bool
|
||||||
|
int
|
||||||
|
float
|
||||||
|
str
|
||||||
|
(lazyAttrsOf valueType)
|
||||||
|
(listOf valueType)
|
||||||
|
]) // {
|
||||||
|
description = "JSON value";
|
||||||
|
emptyValue.value = { };
|
||||||
|
};
|
||||||
|
in valueType;
|
||||||
|
dynamicConfigFile = if cfg.dynamicConfigFile == null then
|
||||||
pkgs.runCommand "config.toml" {
|
pkgs.runCommand "config.toml" {
|
||||||
buildInputs = [ pkgs.remarshal ];
|
buildInputs = [ pkgs.remarshal ];
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
} ''
|
} ''
|
||||||
remarshal -if json -of toml \
|
remarshal -if json -of toml \
|
||||||
< ${pkgs.writeText "config.json" (builtins.toJSON cfg.configOptions)} \
|
< ${
|
||||||
|
pkgs.writeText "dynamic_config.json"
|
||||||
|
(builtins.toJSON cfg.dynamicConfigOptions)
|
||||||
|
} \
|
||||||
> $out
|
> $out
|
||||||
''
|
''
|
||||||
else cfg.configFile;
|
else
|
||||||
|
cfg.dynamicConfigFile;
|
||||||
|
staticConfigFile = if cfg.staticConfigFile == null then
|
||||||
|
pkgs.runCommand "config.toml" {
|
||||||
|
buildInputs = [ pkgs.yj ];
|
||||||
|
preferLocalBuild = true;
|
||||||
|
} ''
|
||||||
|
yj -jt -i \
|
||||||
|
< ${
|
||||||
|
pkgs.writeText "static_config.json" (builtins.toJSON
|
||||||
|
(recursiveUpdate cfg.staticConfigOptions {
|
||||||
|
providers.file.filename = "${dynamicConfigFile}";
|
||||||
|
}))
|
||||||
|
} \
|
||||||
|
> $out
|
||||||
|
''
|
||||||
|
else
|
||||||
|
cfg.staticConfigFile;
|
||||||
in {
|
in {
|
||||||
options.services.traefik = {
|
options.services.traefik = {
|
||||||
enable = mkEnableOption "Traefik web server";
|
enable = mkEnableOption "Traefik web server";
|
||||||
|
|
||||||
configFile = mkOption {
|
staticConfigFile = mkOption {
|
||||||
default = null;
|
default = null;
|
||||||
example = literalExample "/path/to/config.toml";
|
example = literalExample "/path/to/static_config.toml";
|
||||||
type = types.nullOr types.path;
|
type = types.nullOr types.path;
|
||||||
description = ''
|
description = ''
|
||||||
Path to verbatim traefik.toml to use.
|
Path to traefik's static configuration to use.
|
||||||
(Using that option has precedence over <literal>configOptions</literal>)
|
(Using that option has precedence over <literal>staticConfigOptions</literal> and <literal>dynamicConfigOptions</literal>)
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
configOptions = mkOption {
|
staticConfigOptions = mkOption {
|
||||||
description = ''
|
description = ''
|
||||||
Config for Traefik.
|
Static configuration for Traefik.
|
||||||
'';
|
'';
|
||||||
type = types.attrs;
|
type = jsonValue;
|
||||||
default = {
|
default = { entryPoints.http.address = ":80"; };
|
||||||
defaultEntryPoints = ["http"];
|
|
||||||
entryPoints.http.address = ":80";
|
|
||||||
};
|
|
||||||
example = {
|
example = {
|
||||||
defaultEntrypoints = [ "http" ];
|
entryPoints.web.address = ":8080";
|
||||||
web.address = ":8080";
|
|
||||||
entryPoints.http.address = ":80";
|
entryPoints.http.address = ":80";
|
||||||
|
|
||||||
file = {};
|
api = { };
|
||||||
frontends = {
|
|
||||||
frontend1 = {
|
|
||||||
backend = "backend1";
|
|
||||||
routes.test_1.rule = "Host:localhost";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
backends.backend1 = {
|
|
||||||
servers.server1.url = "http://localhost:8000";
|
dynamicConfigFile = mkOption {
|
||||||
|
default = null;
|
||||||
|
example = literalExample "/path/to/dynamic_config.toml";
|
||||||
|
type = types.nullOr types.path;
|
||||||
|
description = ''
|
||||||
|
Path to traefik's dynamic configuration to use.
|
||||||
|
(Using that option has precedence over <literal>dynamicConfigOptions</literal>)
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dynamicConfigOptions = mkOption {
|
||||||
|
description = ''
|
||||||
|
Dynamic configuration for Traefik.
|
||||||
|
'';
|
||||||
|
type = jsonValue;
|
||||||
|
default = { };
|
||||||
|
example = {
|
||||||
|
http.routers.router1 = {
|
||||||
|
rule = "Host(`localhost`)";
|
||||||
|
service = "service1";
|
||||||
|
};
|
||||||
|
|
||||||
|
http.services.service1.loadBalancer.servers =
|
||||||
|
[{ url = "http://localhost:8080"; }];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -84,16 +130,15 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules = [ "d '${cfg.dataDir}' 0700 traefik traefik - -" ];
|
||||||
"d '${cfg.dataDir}' 0700 traefik traefik - -"
|
|
||||||
];
|
|
||||||
|
|
||||||
systemd.services.traefik = {
|
systemd.services.traefik = {
|
||||||
description = "Traefik web server";
|
description = "Traefik web server";
|
||||||
after = [ "network-online.target" ];
|
after = [ "network-online.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = ''${cfg.package.bin}/bin/traefik --configfile=${configFile}'';
|
ExecStart =
|
||||||
|
"${cfg.package}/bin/traefik --configfile=${staticConfigFile}";
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
User = "traefik";
|
User = "traefik";
|
||||||
Group = cfg.group;
|
Group = cfg.group;
|
||||||
@ -120,6 +165,6 @@ in {
|
|||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
users.groups.traefik = {};
|
users.groups.traefik = { };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -303,6 +303,8 @@ in
|
|||||||
timezone = handleTest ./timezone.nix {};
|
timezone = handleTest ./timezone.nix {};
|
||||||
tinydns = handleTest ./tinydns.nix {};
|
tinydns = handleTest ./tinydns.nix {};
|
||||||
tor = handleTest ./tor.nix {};
|
tor = handleTest ./tor.nix {};
|
||||||
|
# traefik test relies on docker-containers
|
||||||
|
traefik = handleTestOn ["x86_64-linux"] ./traefik.nix {};
|
||||||
transmission = handleTest ./transmission.nix {};
|
transmission = handleTest ./transmission.nix {};
|
||||||
trac = handleTest ./trac.nix {};
|
trac = handleTest ./trac.nix {};
|
||||||
trilium-server = handleTestOn ["x86_64-linux"] ./trilium-server.nix {};
|
trilium-server = handleTestOn ["x86_64-linux"] ./trilium-server.nix {};
|
||||||
|
87
nixos/tests/traefik.nix
Normal file
87
nixos/tests/traefik.nix
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
# Test Traefik as a reverse proxy of a local web service
|
||||||
|
# and a Docker container.
|
||||||
|
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
|
name = "traefik";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ joko ];
|
||||||
|
};
|
||||||
|
|
||||||
|
nodes = {
|
||||||
|
client = { config, pkgs, ... }: {
|
||||||
|
environment.systemPackages = [ pkgs.curl ];
|
||||||
|
};
|
||||||
|
traefik = { config, pkgs, ... }: {
|
||||||
|
docker-containers.nginx = {
|
||||||
|
extraDockerOptions = [
|
||||||
|
"-l" "traefik.enable=true"
|
||||||
|
"-l" "traefik.http.routers.nginx.entrypoints=web"
|
||||||
|
"-l" "traefik.http.routers.nginx.rule=Host(`nginx.traefik.test`)"
|
||||||
|
];
|
||||||
|
image = "nginx-container";
|
||||||
|
imageFile = pkgs.dockerTools.examples.nginx;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||||
|
|
||||||
|
services.traefik = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
dynamicConfigOptions = {
|
||||||
|
http.routers.simplehttp = {
|
||||||
|
rule = "Host(`simplehttp.traefik.test`)";
|
||||||
|
entryPoints = [ "web" ];
|
||||||
|
service = "simplehttp";
|
||||||
|
};
|
||||||
|
|
||||||
|
http.services.simplehttp = {
|
||||||
|
loadBalancer.servers = [{
|
||||||
|
url = "http://127.0.0.1:8000";
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
staticConfigOptions = {
|
||||||
|
global = {
|
||||||
|
checkNewVersion = false;
|
||||||
|
sendAnonymousUsage = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
entryPoints.web.address = ":80";
|
||||||
|
|
||||||
|
providers.docker.exposedByDefault = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.simplehttp = {
|
||||||
|
script = "${pkgs.python3}/bin/python -m http.server 8000";
|
||||||
|
serviceConfig.Type = "simple";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.traefik.extraGroups = [ "docker" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
start_all()
|
||||||
|
|
||||||
|
traefik.wait_for_unit("docker-nginx.service")
|
||||||
|
traefik.wait_until_succeeds("docker ps | grep nginx-container")
|
||||||
|
traefik.wait_for_unit("simplehttp.service")
|
||||||
|
traefik.wait_for_unit("traefik.service")
|
||||||
|
traefik.wait_for_open_port(80)
|
||||||
|
traefik.wait_for_unit("multi-user.target")
|
||||||
|
|
||||||
|
client.wait_for_unit("multi-user.target")
|
||||||
|
|
||||||
|
with subtest("Check that a container can be reached via Traefik"):
|
||||||
|
assert "Hello from NGINX" in client.succeed(
|
||||||
|
"curl -sSf -H Host:nginx.traefik.test http://traefik/"
|
||||||
|
)
|
||||||
|
|
||||||
|
with subtest("Check that dynamic configuration works"):
|
||||||
|
assert "Directory listing for " in client.succeed(
|
||||||
|
"curl -sSf -H Host:simplehttp.traefik.test http://traefik/"
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
})
|
@ -1,14 +1,51 @@
|
|||||||
{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, doxygen
|
{ stdenv
|
||||||
, fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, libjack2
|
, fetchgit
|
||||||
, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg
|
, alsaLib
|
||||||
, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
|
, aubio
|
||||||
, libusb, libuuid, libxml2, libxslt, lilv, lrdf, lv2, makeWrapper
|
, boost
|
||||||
, perl, pkgconfig, python2, rubberband, serd, sord, sratom
|
, cairomm
|
||||||
, taglib, vamp-plugin-sdk, dbus, fftw, pango, suil, libarchive
|
, curl
|
||||||
, wafHook }:
|
, doxygen
|
||||||
|
, fftwSinglePrec
|
||||||
|
, flac
|
||||||
|
, glibc
|
||||||
|
, glibmm
|
||||||
|
, graphviz
|
||||||
|
, gtkmm2
|
||||||
|
, libjack2
|
||||||
|
, liblo
|
||||||
|
, libogg
|
||||||
|
, libsamplerate
|
||||||
|
, libsigcxx
|
||||||
|
, libsndfile
|
||||||
|
, libusb1
|
||||||
|
, fluidsynth_1
|
||||||
|
, hidapi
|
||||||
|
, libltc
|
||||||
|
, qm-dsp
|
||||||
|
, libxml2
|
||||||
|
, lilv
|
||||||
|
, lrdf
|
||||||
|
, lv2
|
||||||
|
, makeWrapper
|
||||||
|
, perl
|
||||||
|
, pkg-config
|
||||||
|
, itstool
|
||||||
|
, python2
|
||||||
|
, rubberband
|
||||||
|
, serd
|
||||||
|
, sord
|
||||||
|
, sratom
|
||||||
|
, taglib
|
||||||
|
, vamp-plugin-sdk
|
||||||
|
, dbus
|
||||||
|
, fftw
|
||||||
|
, pango
|
||||||
|
, suil
|
||||||
|
, libarchive
|
||||||
|
, wafHook
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
|
|
||||||
# Ardour git repo uses a mix of annotated and lightweight tags. Annotated
|
# Ardour git repo uses a mix of annotated and lightweight tags. Annotated
|
||||||
# tags are used for MAJOR.MINOR versioning, and lightweight tags are used
|
# tags are used for MAJOR.MINOR versioning, and lightweight tags are used
|
||||||
# in-between; MAJOR.MINOR.REV where REV is the number of commits since the
|
# in-between; MAJOR.MINOR.REV where REV is the number of commits since the
|
||||||
@ -18,10 +55,7 @@ let
|
|||||||
|
|
||||||
# Version to build.
|
# Version to build.
|
||||||
tag = "5.12";
|
tag = "5.12";
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "ardour-${tag}";
|
name = "ardour-${tag}";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
@ -30,46 +64,84 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr";
|
sha256 = "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ wafHook ];
|
nativeBuildInputs = [
|
||||||
buildInputs =
|
wafHook
|
||||||
[ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac
|
makeWrapper
|
||||||
glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo
|
pkg-config
|
||||||
libmad libogg librdf_raptor librdf_rasqal libsamplerate
|
itstool
|
||||||
libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lrdf lv2
|
doxygen
|
||||||
makeWrapper pango perl pkgconfig python2 rubberband serd sord
|
graphviz # for dot
|
||||||
sratom suil taglib vamp-plugin-sdk libarchive
|
perl
|
||||||
|
python2
|
||||||
];
|
];
|
||||||
|
|
||||||
# ardour's wscript has a "tarball" target but that required the git revision
|
buildInputs = [
|
||||||
# be available. Since this is an unzipped tarball fetched from github we
|
alsaLib
|
||||||
# have to do that ourself.
|
aubio
|
||||||
patchPhase = ''
|
boost
|
||||||
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-${builtins.substring 0 8 src.rev}\"; }\n' > libs/ardour/revision.cc
|
cairomm
|
||||||
sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript
|
curl
|
||||||
patchShebangs ./tools/
|
dbus
|
||||||
'';
|
fftw
|
||||||
|
fftwSinglePrec
|
||||||
|
flac
|
||||||
|
glibmm
|
||||||
|
gtkmm2
|
||||||
|
libjack2
|
||||||
|
liblo
|
||||||
|
libogg
|
||||||
|
libsamplerate
|
||||||
|
libsigcxx
|
||||||
|
libsndfile
|
||||||
|
libusb1
|
||||||
|
fluidsynth_1
|
||||||
|
hidapi
|
||||||
|
libltc
|
||||||
|
qm-dsp
|
||||||
|
libxml2
|
||||||
|
lilv
|
||||||
|
lrdf
|
||||||
|
lv2
|
||||||
|
pango
|
||||||
|
rubberband
|
||||||
|
serd
|
||||||
|
sord
|
||||||
|
sratom
|
||||||
|
suil
|
||||||
|
taglib
|
||||||
|
vamp-plugin-sdk
|
||||||
|
libarchive
|
||||||
|
];
|
||||||
|
|
||||||
wafConfigureFlags = [
|
wafConfigureFlags = [
|
||||||
"--optimize"
|
"--optimize"
|
||||||
"--docs"
|
"--docs"
|
||||||
|
"--use-external-libs"
|
||||||
|
"--freedesktop"
|
||||||
"--with-backends=jack,alsa,dummy"
|
"--with-backends=jack,alsa,dummy"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
NIX_CFLAGS_COMPILE = "-I${qm-dsp}/include/qm-dsp";
|
||||||
|
|
||||||
|
# ardour's wscript has a "tarball" target but that required the git revision
|
||||||
|
# be available. Since this is an unzipped tarball fetched from github we
|
||||||
|
# have to do that ourself.
|
||||||
|
postPatch = ''
|
||||||
|
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-${builtins.substring 0 8 src.rev}\"; }\n' > libs/ardour/revision.cc
|
||||||
|
patchShebangs ./tools/
|
||||||
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
# Install desktop file
|
# wscript does not install these for some reason
|
||||||
mkdir -p "$out/share/applications"
|
install -vDm 644 "build/gtk2_ardour/ardour.xml" \
|
||||||
cat > "$out/share/applications/ardour.desktop" << EOF
|
-t "$out/share/mime/packages"
|
||||||
[Desktop Entry]
|
install -vDm 644 "build/gtk2_ardour/ardour5.desktop" \
|
||||||
Name=Ardour 5
|
-t "$out/share/applications"
|
||||||
GenericName=Digital Audio Workstation
|
for size in 16 22 32 48 256 512; do
|
||||||
Comment=Multitrack harddisk recorder
|
install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \
|
||||||
Exec=$out/bin/ardour5
|
"$out/share/icons/hicolor/''${size}x''${size}/apps/ardour5.png"
|
||||||
Icon=$out/share/ardour5/resources/Ardour-icon_256px.png
|
done
|
||||||
Terminal=false
|
install -vDm 644 "ardour.1"* -t "$out/share/man/man1"
|
||||||
Type=Application
|
|
||||||
X-MultipleArgs=false
|
|
||||||
Categories=GTK;Audio;AudioVideoEditing;AudioVideo;Video;
|
|
||||||
EOF
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -21,9 +21,9 @@ stdenv.mkDerivation rec {
|
|||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.zip";
|
url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.zip";
|
||||||
sha256 = {
|
sha256 = {
|
||||||
aarch64-linux = "1lcpj1mgkvksq1d08ibh59y0dmdh7zm77wi5ziqhg3p5g9nxyasd";
|
aarch64-linux = "0z2fqlf156348ha3zhv16kvqdx68fbwbzch2gzjm9x1na9n5k1ra";
|
||||||
armv7l-linux = "0sljy06302x567jqw5lagbyhpc3j140jk4wccacxjrbb6hcx3l42";
|
armv7l-linux = "1ppwgrmgl1j2ws9mhrscvvkamd69a6xw7x35df6d30cyj97r0mzy";
|
||||||
x86_64-darwin = "1b058s9kny026q395nj99v8hggxkgv43nnjkmx1a2siajw0db94c";
|
x86_64-darwin = "0f8vn6m3xzsiyxm2ka5wkbp63wvzrix6g1xrbpvcm3v2llmychkl";
|
||||||
x86_64-linux = "035c1nlw0nim057sz3axpkcgkafqbm6gpr8hwr097vlrqll6w3dv";
|
x86_64-linux = "035c1nlw0nim057sz3axpkcgkafqbm6gpr8hwr097vlrqll6w3dv";
|
||||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||||
};
|
};
|
||||||
@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
|
|||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
dontPatchELF = true;
|
dontPatchELF = true;
|
||||||
|
preferLocalBuild = true;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
|
@ -1,6 +1,15 @@
|
|||||||
{ mkDerivation, fetchFromGitHub, lib
|
{ mkDerivation
|
||||||
, pkgconfig, cmake
|
, lib
|
||||||
, exiv2, qtbase, qtimageformats, qtsvg
|
, fetchFromGitHub
|
||||||
|
|
||||||
|
, cmake
|
||||||
|
, pkgconfig
|
||||||
|
|
||||||
|
, exiv2
|
||||||
|
, mpv
|
||||||
|
, qtbase
|
||||||
|
, qtimageformats
|
||||||
|
, qtsvg
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
@ -14,33 +23,32 @@ mkDerivation rec {
|
|||||||
sha256 = "0cmya06j466v0pirhxbzbj1vbz0346y7rbc1gbv4n9xcp6c6bln6";
|
sha256 = "0cmya06j466v0pirhxbzbj1vbz0346y7rbc1gbv4n9xcp6c6bln6";
|
||||||
};
|
};
|
||||||
|
|
||||||
cmakeFlags = [
|
|
||||||
# Video support appears to be broken; the following gets printed upon
|
|
||||||
# attempting to view an mp4, webm, or mkv (and probably all video formats):
|
|
||||||
#
|
|
||||||
# [VideoPlayerInitProxy] Error - could not load player library
|
|
||||||
# "qimgv_player_mpv"
|
|
||||||
#
|
|
||||||
# GIFs are unaffected. If this ever gets addressed, all that is necessary is
|
|
||||||
# to add `mpv` to the arguments list and to `buildInputs`, and to remove
|
|
||||||
# `cmakeFlags`.
|
|
||||||
"-DVIDEO_SUPPORT=OFF"
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkgconfig
|
|
||||||
cmake
|
cmake
|
||||||
|
pkgconfig
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
exiv2
|
exiv2
|
||||||
|
mpv
|
||||||
qtbase
|
qtbase
|
||||||
qtimageformats
|
qtimageformats
|
||||||
qtsvg
|
qtsvg
|
||||||
];
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
sed -i "s@/usr/bin/mpv@${mpv}/bin/mpv@" \
|
||||||
|
qimgv/settings.cpp
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Wrap the library path so it can see `libqimgv_player_mpv.so`, which is used
|
||||||
|
# to play video files within qimgv itself.
|
||||||
|
qtWrapperArgs = [
|
||||||
|
"--prefix LD_LIBRARY_PATH : ${placeholder "out"}/lib"
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Qt5 image viewer with optional video support";
|
description = "A Qt5 image viewer with optional video support";
|
||||||
homepage = "https://github.com/easymodo/qimgv";
|
homepage = "https://github.com/easymodo/qimgv";
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
@ -19,13 +19,13 @@
|
|||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "ulauncher";
|
pname = "ulauncher";
|
||||||
version = "5.6.1";
|
version = "5.7.3";
|
||||||
|
|
||||||
disabled = python3Packages.isPy27;
|
disabled = python3Packages.isPy27;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/Ulauncher/Ulauncher/releases/download/${version}/ulauncher_${version}.tar.gz";
|
url = "https://github.com/Ulauncher/Ulauncher/releases/download/${version}/ulauncher_${version}.tar.gz";
|
||||||
sha256 = "14k68lp58wldldhaq4cf0ffkhi81czv4ps9xa86iw1j5b1gd2vbl";
|
sha256 = "0wq2zsq3496fjfg89q01dsm7sb7kv92sycvqm6ad8z1z2kpisrbh";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = with python3Packages; [
|
nativeBuildInputs = with python3Packages; [
|
||||||
@ -71,7 +71,6 @@ python3Packages.buildPythonApplication rec {
|
|||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./fix-path.patch
|
./fix-path.patch
|
||||||
./fix-permissions.patch # ulauncher PR #523
|
|
||||||
./0001-Adjust-get_data_path-for-NixOS.patch
|
./0001-Adjust-get_data_path-for-NixOS.patch
|
||||||
./fix-extensions.patch
|
./fix-extensions.patch
|
||||||
];
|
];
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
diff --git a/ulauncher/utils/Theme.py b/ulauncher/utils/Theme.py
|
|
||||||
index 9cde624..4e36c4f 100644
|
|
||||||
--- a/ulauncher/utils/Theme.py
|
|
||||||
+++ b/ulauncher/utils/Theme.py
|
|
||||||
@@ -138,6 +138,9 @@ class Theme:
|
|
||||||
rmtree(new_theme_dir)
|
|
||||||
copytree(self.path, new_theme_dir)
|
|
||||||
|
|
||||||
+ # change file permissions (because Nix store is read-only)
|
|
||||||
+ os.chmod(new_theme_dir, 0o755)
|
|
||||||
+
|
|
||||||
return os.path.join(new_theme_dir, 'generated.css')
|
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pname = "deltachat-electron";
|
pname = "deltachat-electron";
|
||||||
version = "1.1.0";
|
version = "1.2.0";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url =
|
url =
|
||||||
"https://download.delta.chat/desktop/r${version}/DeltaChat-${version}.AppImage";
|
"https://download.delta.chat/desktop/v${version}/DeltaChat-${version}.AppImage";
|
||||||
sha256 = "0pbn45cyv0h3fp7s9v9q93v12ah2gj7daaq0r3z140im6zv0rkrc";
|
sha256 = "Cyb34bfQEdwOA6XYZO+1Ri/2e/PRat15aUMn7IElmUI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
appimageContents = appimageTools.extract { inherit name src; };
|
appimageContents = appimageTools.extract { inherit name src; };
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{ stdenv, fetchFromGitHub
|
{ stdenv, fetchFromGitHub
|
||||||
, makeWrapper, makeDesktopItem, mkYarnPackage
|
, makeWrapper, makeDesktopItem, mkYarnPackage
|
||||||
, electron_7, riot-web, gtk3
|
, electron_7, riot-web
|
||||||
, wrapGAppsHook, glib
|
|
||||||
}:
|
}:
|
||||||
# Notes for maintainers:
|
# Notes for maintainers:
|
||||||
# * versions of `riot-web` and `riot-desktop` should be kept in sync.
|
# * versions of `riot-web` and `riot-desktop` should be kept in sync.
|
||||||
@ -27,14 +26,7 @@ in mkYarnPackage rec {
|
|||||||
packageJSON = ./riot-desktop-package.json;
|
packageJSON = ./riot-desktop-package.json;
|
||||||
yarnNix = ./riot-desktop-yarndeps.nix;
|
yarnNix = ./riot-desktop-yarndeps.nix;
|
||||||
|
|
||||||
nativeBuildInputs = [ wrapGAppsHook ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
extraBuildInputs = [
|
|
||||||
glib
|
|
||||||
gtk3
|
|
||||||
];
|
|
||||||
|
|
||||||
dontWrapGApps = true;
|
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
# resources
|
# resources
|
||||||
@ -54,13 +46,10 @@ in mkYarnPackage rec {
|
|||||||
# desktop item
|
# desktop item
|
||||||
mkdir -p "$out/share"
|
mkdir -p "$out/share"
|
||||||
ln -s "${desktopItem}/share/applications" "$out/share/applications"
|
ln -s "${desktopItem}/share/applications" "$out/share/applications"
|
||||||
'';
|
|
||||||
|
|
||||||
postFixup = ''
|
|
||||||
# executable wrapper
|
# executable wrapper
|
||||||
makeWrapper '${electron}/bin/electron' "$out/bin/${executableName}" \
|
makeWrapper '${electron}/bin/electron' "$out/bin/${executableName}" \
|
||||||
--add-flags "$out/share/riot/electron" \
|
--add-flags "$out/share/riot/electron"
|
||||||
"''${gappsWrapperArgs[@]}"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Do not attempt generating a tarball for riot-web again.
|
# Do not attempt generating a tarball for riot-web again.
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
{ stdenv, fetchFromGitHub, pantheon, vala, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk, libgee
|
{ stdenv, fetchFromGitHub, pantheon, vala, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk, libgee
|
||||||
, gobject-introspection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }:
|
, gobject-introspection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook
|
||||||
|
, appstream, desktop-file-utils }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "bookworm";
|
pname = "bookworm";
|
||||||
version = "unstable-2018-11-19";
|
version = "1.1.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "babluboy";
|
owner = "babluboy";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "4c3061784ff42151cac77d12bf2a28bf831fdfc5";
|
rev = version;
|
||||||
sha256 = "0yrqxa60xlvz249kx966z5krx8i7h17ac0hjgq9p8f0irzy5yp0n";
|
sha256 = "0w0rlyahpgx0l6inkbj106agbnr2czil0vdcy1zzv70apnjz488j";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -35,6 +36,8 @@ stdenv.mkDerivation rec {
|
|||||||
python2
|
python2
|
||||||
sqlite
|
sqlite
|
||||||
webkitgtk
|
webkitgtk
|
||||||
|
appstream
|
||||||
|
desktop-file-utils
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -16,6 +16,9 @@
|
|||||||
++ [crateFeatures]
|
++ [crateFeatures]
|
||||||
++ extraRustcOpts
|
++ extraRustcOpts
|
||||||
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--target ${rust.toRustTarget stdenv.hostPlatform} -C linker=${stdenv.hostPlatform.config}-gcc"
|
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--target ${rust.toRustTarget stdenv.hostPlatform} -C linker=${stdenv.hostPlatform.config}-gcc"
|
||||||
|
# since rustc 1.42 the "proc_macro" crate is part of the default crate prelude
|
||||||
|
# https://github.com/rust-lang/cargo/commit/4d64eb99a4#diff-7f98585dbf9d30aa100c8318e2c77e79R1021-R1022
|
||||||
|
++ lib.optional (lib.elem "proc-macro" crateType) "--extern proc_macro"
|
||||||
;
|
;
|
||||||
rustcMeta = "-C metadata=${metadata} -C extra-filename=-${metadata}";
|
rustcMeta = "-C metadata=${metadata} -C extra-filename=-${metadata}";
|
||||||
|
|
||||||
|
@ -457,6 +457,18 @@ let
|
|||||||
"test ignore_main ... ok"
|
"test ignore_main ... ok"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
procMacroInPrelude = {
|
||||||
|
procMacro = true;
|
||||||
|
edition = "2018";
|
||||||
|
src = symlinkJoin {
|
||||||
|
name = "proc-macro-in-prelude";
|
||||||
|
paths = [
|
||||||
|
(mkFile "src/lib.rs" ''
|
||||||
|
use proc_macro::TokenTree;
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
brotliCrates = (callPackage ./brotli-crates.nix {});
|
brotliCrates = (callPackage ./brotli-crates.nix {});
|
||||||
tests = lib.mapAttrs (key: value: mkTest (value // lib.optionalAttrs (!value?crateName) { crateName = key; })) cases;
|
tests = lib.mapAttrs (key: value: mkTest (value // lib.optionalAttrs (!value?crateName) { crateName = key; })) cases;
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
, fetchpatch
|
, fetchpatch
|
||||||
, which
|
, which
|
||||||
, cmake
|
, cmake
|
||||||
, clang
|
|
||||||
, llvmPackages
|
, llvmPackages
|
||||||
, libunwind
|
, libunwind
|
||||||
, gettext
|
, gettext
|
||||||
@ -44,7 +43,7 @@ stdenv.mkDerivation rec {
|
|||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
which
|
which
|
||||||
cmake
|
cmake
|
||||||
clang
|
llvmPackages.clang
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# See pkgs/build-support/setup-hooks/role.bash
|
# See pkgs/build-support/setup-hooks/role.bash
|
||||||
getHostRole
|
getHostRole
|
||||||
|
|
||||||
export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem $(echo -n @gcc@/include/c++/*) -isystem $(echo -n @gcc@/include/c++/*)/$(@gcc@/bin/gcc -dumpmachine)"
|
export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem $(echo -n @gcc@/include/c++/*) -isystem $(echo -n @gcc@/include/c++/*)/@targetConfig@"
|
||||||
|
@ -1,4 +1,13 @@
|
|||||||
{ stdenv, version, fetch, cmake, python3, llvm, libcxxabi }:
|
{ stdenv, version, fetch, cmake, python3, llvm, libcxxabi }:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
useLLVM = stdenv.hostPlatform.useLLVM or false;
|
||||||
|
bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none";
|
||||||
|
inherit (stdenv.hostPlatform) isMusl;
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "compiler-rt";
|
pname = "compiler-rt";
|
||||||
inherit version;
|
inherit version;
|
||||||
@ -11,27 +20,26 @@ stdenv.mkDerivation rec {
|
|||||||
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
|
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
|
||||||
];
|
];
|
||||||
|
|
||||||
cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [
|
cmakeFlags = [
|
||||||
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
|
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
|
||||||
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
||||||
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
||||||
"-DCMAKE_C_FLAGS=-nodefaultlibs"
|
] ++ stdenv.lib.optionals (useLLVM || bareMetal || isMusl) [
|
||||||
"-DCMAKE_CXX_COMPILER_WORKS=ON"
|
|
||||||
"-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
|
"-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
|
||||||
"-DCOMPILER_RT_BUILD_XRAY=OFF"
|
"-DCOMPILER_RT_BUILD_XRAY=OFF"
|
||||||
"-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
|
"-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
|
||||||
"-DCOMPILER_RT_BUILD_PROFILE=OFF"
|
"-DCOMPILER_RT_BUILD_PROFILE=OFF"
|
||||||
|
] ++ stdenv.lib.optionals (useLLVM || bareMetal) [
|
||||||
|
"-DCMAKE_C_COMPILER_WORKS=ON"
|
||||||
|
"-DCMAKE_CXX_COMPILER_WORKS=ON"
|
||||||
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
|
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
|
||||||
|
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
|
||||||
|
] ++ stdenv.lib.optionals (useLLVM) [
|
||||||
|
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
|
||||||
|
"-DCMAKE_C_FLAGS=-nodefaultlibs"
|
||||||
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
|
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
|
||||||
"-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
|
"-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
|
||||||
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
|
] ++ stdenv.lib.optionals (bareMetal) [
|
||||||
] ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
|
|
||||||
"-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
|
|
||||||
"-DCOMPILER_RT_BUILD_XRAY=OFF"
|
|
||||||
"-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
|
|
||||||
"-DCOMPILER_RT_BUILD_PROFILE=OFF"
|
|
||||||
] ++ stdenv.lib.optionals (stdenv.hostPlatform.parsed.kernel.name == "none") [
|
|
||||||
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
|
|
||||||
"-DCOMPILER_RT_OS_DIR=baremetal"
|
"-DCOMPILER_RT_OS_DIR=baremetal"
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -50,7 +58,7 @@ stdenv.mkDerivation rec {
|
|||||||
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
substituteInPlace cmake/config-ix.cmake \
|
substituteInPlace cmake/config-ix.cmake \
|
||||||
--replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
|
--replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
|
||||||
'' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) ''
|
'' + stdenv.lib.optionalString (useLLVM) ''
|
||||||
substituteInPlace lib/builtins/int_util.c \
|
substituteInPlace lib/builtins/int_util.c \
|
||||||
--replace "#include <stdlib.h>" ""
|
--replace "#include <stdlib.h>" ""
|
||||||
substituteInPlace lib/builtins/clear_cache.c \
|
substituteInPlace lib/builtins/clear_cache.c \
|
||||||
@ -62,7 +70,7 @@ stdenv.mkDerivation rec {
|
|||||||
# Hack around weird upsream RPATH bug
|
# Hack around weird upsream RPATH bug
|
||||||
postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
|
postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
|
||||||
ln -s "$out/lib"/*/* "$out/lib"
|
ln -s "$out/lib"/*/* "$out/lib"
|
||||||
'' + stdenv.lib.optionalString (stdenv.hostPlatform.useLLVM or false) ''
|
'' + stdenv.lib.optionalString (useLLVM) ''
|
||||||
ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o
|
ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o
|
||||||
ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
|
ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
|
||||||
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
|
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
|
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook
|
||||||
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
|
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
|
||||||
, buildLlvmTools # tools, but from the previous stage, for cross
|
, buildLlvmTools # tools, but from the previous stage, for cross
|
||||||
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
||||||
@ -7,6 +7,7 @@
|
|||||||
let
|
let
|
||||||
release_version = "10.0.0";
|
release_version = "10.0.0";
|
||||||
version = release_version; # differentiating these (variables) is important for rc's
|
version = release_version; # differentiating these (variables) is important for rc's
|
||||||
|
targetConfig = stdenv.targetPlatform.config;
|
||||||
|
|
||||||
fetch = name: sha256: fetchurl {
|
fetch = name: sha256: fetchurl {
|
||||||
url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}/${name}-${version}.src.tar.xz";
|
url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}/${name}-${version}.src.tar.xz";
|
||||||
@ -60,7 +61,12 @@ let
|
|||||||
libstdcxxHook
|
libstdcxxHook
|
||||||
targetLlvmLibraries.compiler-rt
|
targetLlvmLibraries.compiler-rt
|
||||||
];
|
];
|
||||||
extraBuildCommands = mkExtraBuildCommands cc;
|
extraBuildCommands = ''
|
||||||
|
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
|
||||||
|
echo "-L${gcc.cc.lib}/${targetConfig}/lib" >> $out/nix-support/cc-ldflags
|
||||||
|
'' + mkExtraBuildCommands cc;
|
||||||
};
|
};
|
||||||
|
|
||||||
libcxxClang = wrapCCWith rec {
|
libcxxClang = wrapCCWith rec {
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
{ stdenv, version, fetch, cmake, python3, llvm, libcxxabi }:
|
{ stdenv, version, fetch, cmake, python3, llvm, libcxxabi }:
|
||||||
with stdenv.lib;
|
|
||||||
|
let
|
||||||
|
|
||||||
|
useLLVM = stdenv.hostPlatform.useLLVM or false;
|
||||||
|
bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none";
|
||||||
|
inherit (stdenv.hostPlatform) isMusl;
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "compiler-rt";
|
pname = "compiler-rt";
|
||||||
inherit version;
|
inherit version;
|
||||||
@ -8,16 +16,39 @@ stdenv.mkDerivation {
|
|||||||
nativeBuildInputs = [ cmake python3 llvm ];
|
nativeBuildInputs = [ cmake python3 llvm ];
|
||||||
buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
||||||
|
|
||||||
configureFlags = [
|
NIX_CFLAGS_COMPILE = [
|
||||||
|
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
|
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
|
||||||
|
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
||||||
|
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
||||||
|
] ++ stdenv.lib.optionals (useLLVM || bareMetal || isMusl) [
|
||||||
|
"-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
|
||||||
|
"-DCOMPILER_RT_BUILD_XRAY=OFF"
|
||||||
|
"-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
|
||||||
|
"-DCOMPILER_RT_BUILD_PROFILE=OFF"
|
||||||
|
] ++ stdenv.lib.optionals (useLLVM || bareMetal) [
|
||||||
|
"-DCMAKE_C_COMPILER_WORKS=ON"
|
||||||
|
"-DCMAKE_CXX_COMPILER_WORKS=ON"
|
||||||
|
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
|
||||||
|
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
|
||||||
|
] ++ stdenv.lib.optionals (useLLVM) [
|
||||||
|
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
|
||||||
|
"-DCMAKE_C_FLAGS=-nodefaultlibs"
|
||||||
|
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
|
||||||
|
"-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
|
||||||
|
] ++ stdenv.lib.optionals (bareMetal) [
|
||||||
|
"-DCOMPILER_RT_OS_DIR=baremetal"
|
||||||
];
|
];
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
||||||
] ++ optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
|
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
|
||||||
++ optional (stdenv.hostPlatform.libc == "glibc") ./compiler-rt-sys-ustat.patch;
|
++ stdenv.lib.optional (stdenv.hostPlatform.libc == "glibc") ./compiler-rt-sys-ustat.patch;
|
||||||
|
|
||||||
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
|
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
|
||||||
# to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
|
# to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
|
||||||
@ -27,11 +58,23 @@ stdenv.mkDerivation {
|
|||||||
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
substituteInPlace cmake/config-ix.cmake \
|
substituteInPlace cmake/config-ix.cmake \
|
||||||
--replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
|
--replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
|
||||||
|
'' + stdenv.lib.optionalString (useLLVM) ''
|
||||||
|
substituteInPlace lib/builtins/int_util.c \
|
||||||
|
--replace "#include <stdlib.h>" ""
|
||||||
|
substituteInPlace lib/builtins/clear_cache.c \
|
||||||
|
--replace "#include <assert.h>" ""
|
||||||
|
substituteInPlace lib/builtins/cpu_model.c \
|
||||||
|
--replace "#include <assert.h>" ""
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Hack around weird upsream RPATH bug
|
# Hack around weird upsream RPATH bug
|
||||||
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
|
postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
|
||||||
ln -s "$out/lib"/*/* "$out/lib"
|
ln -s "$out/lib"/*/* "$out/lib"
|
||||||
|
'' + stdenv.lib.optionalString (useLLVM) ''
|
||||||
|
ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o
|
||||||
|
ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/linux/crtend.o
|
||||||
|
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o
|
||||||
|
ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/linux/crtendS.o
|
||||||
'';
|
'';
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
|
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook
|
||||||
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith
|
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith
|
||||||
, buildLlvmTools # tools, but from the previous stage, for cross
|
, buildLlvmTools # tools, but from the previous stage, for cross
|
||||||
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
||||||
@ -7,6 +7,7 @@
|
|||||||
let
|
let
|
||||||
release_version = "5.0.2";
|
release_version = "5.0.2";
|
||||||
version = release_version; # differentiating these is important for rc's
|
version = release_version; # differentiating these is important for rc's
|
||||||
|
targetConfig = stdenv.targetPlatform.config;
|
||||||
|
|
||||||
fetch = name: sha256: fetchurl {
|
fetch = name: sha256: fetchurl {
|
||||||
url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
|
url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
|
||||||
@ -56,7 +57,12 @@ let
|
|||||||
extraPackages = [
|
extraPackages = [
|
||||||
targetLlvmLibraries.compiler-rt
|
targetLlvmLibraries.compiler-rt
|
||||||
];
|
];
|
||||||
extraBuildCommands = mkExtraBuildCommands cc;
|
extraBuildCommands = ''
|
||||||
|
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
|
||||||
|
echo "-L${gcc.cc.lib}/${targetConfig}/lib" >> $out/nix-support/cc-ldflags
|
||||||
|
'' + mkExtraBuildCommands cc;
|
||||||
};
|
};
|
||||||
|
|
||||||
libcxxClang = wrapCCWith rec {
|
libcxxClang = wrapCCWith rec {
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
{ stdenv, version, fetch, cmake, python3, llvm, libcxxabi }:
|
{ stdenv, version, fetch, cmake, python3, llvm, libcxxabi }:
|
||||||
with stdenv.lib;
|
|
||||||
|
let
|
||||||
|
|
||||||
|
useLLVM = stdenv.hostPlatform.useLLVM or false;
|
||||||
|
bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none";
|
||||||
|
inherit (stdenv.hostPlatform) isMusl;
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "compiler-rt";
|
pname = "compiler-rt";
|
||||||
inherit version;
|
inherit version;
|
||||||
@ -8,15 +16,38 @@ stdenv.mkDerivation {
|
|||||||
nativeBuildInputs = [ cmake python3 llvm ];
|
nativeBuildInputs = [ cmake python3 llvm ];
|
||||||
buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
||||||
|
|
||||||
configureFlags = [
|
NIX_CFLAGS_COMPILE = [
|
||||||
|
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
|
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
|
||||||
|
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
||||||
|
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
||||||
|
] ++ stdenv.lib.optionals (useLLVM || bareMetal || isMusl) [
|
||||||
|
"-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
|
||||||
|
"-DCOMPILER_RT_BUILD_XRAY=OFF"
|
||||||
|
"-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
|
||||||
|
"-DCOMPILER_RT_BUILD_PROFILE=OFF"
|
||||||
|
] ++ stdenv.lib.optionals (useLLVM || bareMetal) [
|
||||||
|
"-DCMAKE_C_COMPILER_WORKS=ON"
|
||||||
|
"-DCMAKE_CXX_COMPILER_WORKS=ON"
|
||||||
|
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
|
||||||
|
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
|
||||||
|
] ++ stdenv.lib.optionals (useLLVM) [
|
||||||
|
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
|
||||||
|
"-DCMAKE_C_FLAGS=-nodefaultlibs"
|
||||||
|
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
|
||||||
|
"-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
|
||||||
|
] ++ stdenv.lib.optionals (bareMetal) [
|
||||||
|
"-DCOMPILER_RT_OS_DIR=baremetal"
|
||||||
];
|
];
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
||||||
] ++ optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch;
|
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch;
|
||||||
|
|
||||||
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
|
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
|
||||||
# to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
|
# to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
|
||||||
@ -26,11 +57,23 @@ stdenv.mkDerivation {
|
|||||||
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
substituteInPlace cmake/config-ix.cmake \
|
substituteInPlace cmake/config-ix.cmake \
|
||||||
--replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
|
--replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
|
||||||
|
'' + stdenv.lib.optionalString (useLLVM) ''
|
||||||
|
substituteInPlace lib/builtins/int_util.c \
|
||||||
|
--replace "#include <stdlib.h>" ""
|
||||||
|
substituteInPlace lib/builtins/clear_cache.c \
|
||||||
|
--replace "#include <assert.h>" ""
|
||||||
|
substituteInPlace lib/builtins/cpu_model.c \
|
||||||
|
--replace "#include <assert.h>" ""
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Hack around weird upsream RPATH bug
|
# Hack around weird upsream RPATH bug
|
||||||
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
|
postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
|
||||||
ln -s "$out/lib"/*/* "$out/lib"
|
ln -s "$out/lib"/*/* "$out/lib"
|
||||||
|
'' + stdenv.lib.optionalString (useLLVM) ''
|
||||||
|
ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o
|
||||||
|
ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/linux/crtend.o
|
||||||
|
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o
|
||||||
|
ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/linux/crtendS.o
|
||||||
'';
|
'';
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
|
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook
|
||||||
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith
|
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith
|
||||||
, buildLlvmTools # tools, but from the previous stage, for cross
|
, buildLlvmTools # tools, but from the previous stage, for cross
|
||||||
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
||||||
@ -7,6 +7,7 @@
|
|||||||
let
|
let
|
||||||
release_version = "6.0.1";
|
release_version = "6.0.1";
|
||||||
version = release_version; # differentiating these is important for rc's
|
version = release_version; # differentiating these is important for rc's
|
||||||
|
targetConfig = stdenv.targetPlatform.config;
|
||||||
|
|
||||||
fetch = name: sha256: fetchurl {
|
fetch = name: sha256: fetchurl {
|
||||||
url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
|
url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
|
||||||
@ -56,7 +57,12 @@ let
|
|||||||
extraPackages = [
|
extraPackages = [
|
||||||
targetLlvmLibraries.compiler-rt
|
targetLlvmLibraries.compiler-rt
|
||||||
];
|
];
|
||||||
extraBuildCommands = mkExtraBuildCommands cc;
|
extraBuildCommands = ''
|
||||||
|
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
|
||||||
|
echo "-L${gcc.cc.lib}/${targetConfig}/lib" >> $out/nix-support/cc-ldflags
|
||||||
|
'' + mkExtraBuildCommands cc;
|
||||||
};
|
};
|
||||||
|
|
||||||
libcxxClang = wrapCCWith rec {
|
libcxxClang = wrapCCWith rec {
|
||||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation {
|
|||||||
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
|
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
|
||||||
];
|
];
|
||||||
|
|
||||||
cmakeFlags = stdenv.lib.optionals (useLLVM || stdenv.isDarwin) [
|
cmakeFlags = [
|
||||||
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
|
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
|
||||||
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
||||||
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
||||||
@ -68,7 +68,7 @@ stdenv.mkDerivation {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
# Hack around weird upsream RPATH bug
|
# Hack around weird upsream RPATH bug
|
||||||
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
|
postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
|
||||||
ln -s "$out/lib"/*/* "$out/lib"
|
ln -s "$out/lib"/*/* "$out/lib"
|
||||||
'' + stdenv.lib.optionalString (useLLVM) ''
|
'' + stdenv.lib.optionalString (useLLVM) ''
|
||||||
ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o
|
ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
|
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook
|
||||||
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
|
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
|
||||||
, buildLlvmTools # tools, but from the previous stage, for cross
|
, buildLlvmTools # tools, but from the previous stage, for cross
|
||||||
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
||||||
@ -7,6 +7,7 @@
|
|||||||
let
|
let
|
||||||
release_version = "7.1.0";
|
release_version = "7.1.0";
|
||||||
version = release_version; # differentiating these is important for rc's
|
version = release_version; # differentiating these is important for rc's
|
||||||
|
targetConfig = stdenv.targetPlatform.config;
|
||||||
|
|
||||||
fetch = name: sha256: fetchurl {
|
fetch = name: sha256: fetchurl {
|
||||||
url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
|
url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
|
||||||
@ -63,7 +64,12 @@ let
|
|||||||
extraPackages = [
|
extraPackages = [
|
||||||
targetLlvmLibraries.compiler-rt
|
targetLlvmLibraries.compiler-rt
|
||||||
];
|
];
|
||||||
extraBuildCommands = mkExtraBuildCommands cc;
|
extraBuildCommands = ''
|
||||||
|
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
|
||||||
|
echo "-L${gcc.cc.lib}/${targetConfig}/lib" >> $out/nix-support/cc-ldflags
|
||||||
|
'' + mkExtraBuildCommands cc;
|
||||||
};
|
};
|
||||||
|
|
||||||
libcxxClang = wrapCCWith rec {
|
libcxxClang = wrapCCWith rec {
|
||||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation {
|
|||||||
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
|
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
|
||||||
];
|
];
|
||||||
|
|
||||||
cmakeFlags = stdenv.lib.optionals (useLLVM || stdenv.isDarwin) [
|
cmakeFlags = [
|
||||||
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
|
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
|
||||||
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
||||||
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
|
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook
|
||||||
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
|
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
|
||||||
, buildLlvmTools # tools, but from the previous stage, for cross
|
, buildLlvmTools # tools, but from the previous stage, for cross
|
||||||
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
||||||
@ -7,6 +7,7 @@
|
|||||||
let
|
let
|
||||||
release_version = "8.0.1";
|
release_version = "8.0.1";
|
||||||
version = release_version; # differentiating these is important for rc's
|
version = release_version; # differentiating these is important for rc's
|
||||||
|
targetConfig = stdenv.targetPlatform.config;
|
||||||
|
|
||||||
fetch = name: sha256: fetchurl {
|
fetch = name: sha256: fetchurl {
|
||||||
url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}/${name}-${version}.src.tar.xz";
|
url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}/${name}-${version}.src.tar.xz";
|
||||||
@ -63,7 +64,12 @@ let
|
|||||||
extraPackages = [
|
extraPackages = [
|
||||||
targetLlvmLibraries.compiler-rt
|
targetLlvmLibraries.compiler-rt
|
||||||
];
|
];
|
||||||
extraBuildCommands = mkExtraBuildCommands cc;
|
extraBuildCommands = ''
|
||||||
|
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
|
||||||
|
echo "-L${gcc.cc.lib}/${targetConfig}/lib" >> $out/nix-support/cc-ldflags
|
||||||
|
'' + mkExtraBuildCommands cc;
|
||||||
};
|
};
|
||||||
|
|
||||||
libcxxClang = wrapCCWith rec {
|
libcxxClang = wrapCCWith rec {
|
||||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||||||
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
|
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
|
||||||
];
|
];
|
||||||
|
|
||||||
cmakeFlags = stdenv.lib.optionals (useLLVM || stdenv.isDarwin) [
|
cmakeFlags = [
|
||||||
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
|
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
|
||||||
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
||||||
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
|
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook
|
||||||
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
|
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
|
||||||
, buildLlvmTools # tools, but from the previous stage, for cross
|
, buildLlvmTools # tools, but from the previous stage, for cross
|
||||||
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
||||||
@ -7,6 +7,7 @@
|
|||||||
let
|
let
|
||||||
release_version = "9.0.1";
|
release_version = "9.0.1";
|
||||||
version = release_version; # differentiating these is important for rc's
|
version = release_version; # differentiating these is important for rc's
|
||||||
|
targetConfig = stdenv.targetPlatform.config;
|
||||||
|
|
||||||
fetch = name: sha256: fetchurl {
|
fetch = name: sha256: fetchurl {
|
||||||
url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}/${name}-${version}.src.tar.xz";
|
url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}/${name}-${version}.src.tar.xz";
|
||||||
@ -63,7 +64,12 @@ let
|
|||||||
extraPackages = [
|
extraPackages = [
|
||||||
targetLlvmLibraries.compiler-rt
|
targetLlvmLibraries.compiler-rt
|
||||||
];
|
];
|
||||||
extraBuildCommands = mkExtraBuildCommands cc;
|
extraBuildCommands = ''
|
||||||
|
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
|
||||||
|
echo "-L${gcc.cc.lib}/${targetConfig}/lib" >> $out/nix-support/cc-ldflags
|
||||||
|
'' + mkExtraBuildCommands cc;
|
||||||
};
|
};
|
||||||
|
|
||||||
libcxxClang = wrapCCWith rec {
|
libcxxClang = wrapCCWith rec {
|
||||||
|
53
pkgs/development/libraries/audio/qm-dsp/default.nix
Normal file
53
pkgs/development/libraries/audio/qm-dsp/default.nix
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
|
, kissfft
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "qm-dsp";
|
||||||
|
version = "1.7.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "c4dm";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "e1PtCIzp7zIz+KKRxEGlAXTNqZ35vPgQ4opJKHIPa+4=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Make installable
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://src.fedoraproject.org/rpms/qm-dsp/raw/6eb385e2f970c4150f9c8eba73b558318475ed15/f/qm-dsp-install.patch";
|
||||||
|
sha256 = "7JDg9yOECWG7Ql5lIoC4L++R1gUlKfztvED5Ey4YLxw=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://src.fedoraproject.org/rpms/qm-dsp/raw/6eb385e2f970c4150f9c8eba73b558318475ed15/f/qm-dsp-flags.patch";
|
||||||
|
sha256 = "2HRSbSFxC8DPXOgcflyBYeJI3NwO/1CFmyRdvYo09og=";
|
||||||
|
postFetch = ''
|
||||||
|
sed -i 's~/Makefile~/build/linux/Makefile.linux32~g' "$out"
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
kissfft
|
||||||
|
];
|
||||||
|
|
||||||
|
makefile = "build/linux/Makefile.linux32";
|
||||||
|
|
||||||
|
makeFlags = [
|
||||||
|
"PREFIX=${placeholder "out"}"
|
||||||
|
"LIBDIR=${placeholder "out"}/lib"
|
||||||
|
];
|
||||||
|
|
||||||
|
NIX_CFLAGS_COMPILE = "-I${kissfft}/include/kissfft";
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A C++ library of functions for DSP and Music Informatics purposes";
|
||||||
|
homepage = "https://code.soundsoftware.ac.uk/projects/qm-dsp";
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
maintainers = [ maintainers.goibhniu ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
@ -28,6 +28,9 @@ assert enableShared || enableStatic;
|
|||||||
assert enablePython -> stdenv.hostPlatform == stdenv.buildPlatform;
|
assert enablePython -> stdenv.hostPlatform == stdenv.buildPlatform;
|
||||||
assert enableNumpy -> enablePython;
|
assert enableNumpy -> enablePython;
|
||||||
|
|
||||||
|
# Boost <1.69 can't be build with clang >8, because pth was removed
|
||||||
|
assert with stdenv.lib; ((toolset == "clang" && !(versionOlder stdenv.cc.version "8.0.0")) -> !(versionOlder version "1.69"));
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
let
|
let
|
||||||
|
|
||||||
|
49
pkgs/development/libraries/highfive/default.nix
Normal file
49
pkgs/development/libraries/highfive/default.nix
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
, boost
|
||||||
|
, eigen
|
||||||
|
, hdf5
|
||||||
|
, mpiSupport ? hdf5.mpiSupport
|
||||||
|
, mpi ? hdf5.mpi
|
||||||
|
}:
|
||||||
|
|
||||||
|
assert mpiSupport -> mpi != null;
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "highfive";
|
||||||
|
version = "2.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "BlueBrain";
|
||||||
|
repo = "HighFive";
|
||||||
|
rev = "4c70d818ed18231563fe49ff197d1c41054be592";
|
||||||
|
sha256 = "02xy3c2ix3nw8109aw75ixj651knzc5rjqwqrxximm4hzwx09frk";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
|
buildInputs = [ boost eigen hdf5 ];
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
inherit mpiSupport mpi;
|
||||||
|
};
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DHIGHFIVE_USE_BOOST=ON"
|
||||||
|
"-DHIGHFIVE_USE_EIGEN=ON"
|
||||||
|
"-DHIGHFIVE_EXAMPLES=OFF"
|
||||||
|
"-DHIGHFIVE_UNIT_TESTS=OFF"
|
||||||
|
"-DHIGHFIVE_USE_INSTALL_DEPS=ON"
|
||||||
|
]
|
||||||
|
++ (stdenv.lib.optionals mpiSupport [ "-DHIGHFIVE_PARALLEL_HDF5=ON" ]);
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
inherit version;
|
||||||
|
description = "Header-only C++ HDF5 interface";
|
||||||
|
license = licenses.boost;
|
||||||
|
homepage = "https://bluebrain.github.io/HighFive/";
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ robertodr ];
|
||||||
|
};
|
||||||
|
}
|
45
pkgs/development/libraries/kissfft/default.nix
Normal file
45
pkgs/development/libraries/kissfft/default.nix
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "kissfft";
|
||||||
|
version = "131";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "mborgerding";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "4lmRyBzW4H5wXb0EpgAp/hbaE2SslB6rAJyyLLbCtSs=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Allow installation into our prefix
|
||||||
|
# Fix installation on Darwin
|
||||||
|
# Create necessary directories
|
||||||
|
# Make datatype configurable
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/mborgerding/kissfft/pull/38.patch";
|
||||||
|
sha256 = "Rsrob1M+lxwEag6SV5FqaTeyiJaOpspZxVtkeihX4TI=";
|
||||||
|
})
|
||||||
|
# Install headers as well
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/mborgerding/kissfft/commit/71df949992d2dbbe15ce707cf56c3fa1e43b1080.patch";
|
||||||
|
sha256 = "9ap6ZWyioBiut9UQM3v6W1Uv+iP3Kmt27xWhIfWfBI4=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
makeFlags = [
|
||||||
|
"PREFIX=${placeholder "out"}"
|
||||||
|
"DATATYPE=double"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A mixed-radix Fast Fourier Transform based up on the KISS principle";
|
||||||
|
homepage = "https://github.com/mborgerding/kissfft";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = [ maintainers.goibhniu ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
@ -4,12 +4,12 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "liburing";
|
pname = "liburing";
|
||||||
version = "0.4pre514_${builtins.substring 0 8 src.rev}";
|
version = "0.6pre600_${builtins.substring 0 8 src.rev}";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "http://git.kernel.dk/${pname}";
|
url = "http://git.kernel.dk/${pname}";
|
||||||
rev = "2454d6301d83a714d0775662b512fd46dbf82a0d";
|
rev = "f2e1f3590f7bed3040bd1691676b50839f7d5c39";
|
||||||
sha256 = "0qdycr0w0rymnizc4p5rh2qcnzr05afris4ggaawdg4zr07jms7k";
|
sha256 = "0wg0pgcbilbb2wg08hsvd18q1m8vdk46b3piz7qb1pvgyq01idj2";
|
||||||
};
|
};
|
||||||
|
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
@ -11,12 +11,12 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "gensim";
|
pname = "gensim";
|
||||||
version = "3.8.1";
|
version = "3.8.2";
|
||||||
disabled = !isPy3k;
|
disabled = !isPy3k;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "33277fc0a8d7b0c7ce70fcc74bb82ad39f944c009b334856c6e86bf552b1dfdc";
|
sha256 = "1x9gvz954h10wgq02wybi21llwwjj9r1gal2qr82q7g1h9g0dqs6";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ smart_open numpy six scipy ];
|
propagatedBuildInputs = [ smart_open numpy six scipy ];
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "gphoto2";
|
pname = "gphoto2";
|
||||||
version = "2.2.1";
|
version = "2.2.2";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "118zm25c8mlajfl0pzssnwz4b8lamj9dgymla9rn4nla7l244a0r";
|
sha256 = "0sd3w0gpnb58hg8mv20nfqf4g1plr9rkn51h088xdsd6i97r9x99";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
@ -5,12 +5,12 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
version = "3.3.0";
|
version = "3.3.1";
|
||||||
pname = "gspread";
|
pname = "gspread";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "1nlmg7lnj162nql1acw9z7n1043sk49j11arlfn766i9ykvq6hng";
|
sha256 = "0mpvhndr38hb5x95xk2mqqasvcy6pa7ck8801bvpg5y3lwn5nka0";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ requests ];
|
propagatedBuildInputs = [ requests ];
|
||||||
|
45
pkgs/development/python-modules/hydra-check/default.nix
Normal file
45
pkgs/development/python-modules/hydra-check/default.nix
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, pythonOlder
|
||||||
|
, fetchFromGitHub
|
||||||
|
, docopt
|
||||||
|
, requests
|
||||||
|
, beautifulsoup4
|
||||||
|
, black
|
||||||
|
, mypy
|
||||||
|
, flake8
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "hydra-check";
|
||||||
|
version = "1.1.1";
|
||||||
|
disabled = pythonOlder "3.5";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "nix-community";
|
||||||
|
repo = "hydra-check";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1dmsscsib8ckp496gsfqxmq8d35zs71n99xmziq9iprvy7n5clq2";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
docopt
|
||||||
|
requests
|
||||||
|
beautifulsoup4
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [ mypy ];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
echo -e "\x1b[32m## run mypy\x1b[0m"
|
||||||
|
mypy hydracheck
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib;{
|
||||||
|
description = "check hydra for the build status of a package";
|
||||||
|
homepage = "https://github.com/nix-community/hydra-check";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ makefu ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -22,12 +22,12 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pikepdf";
|
pname = "pikepdf";
|
||||||
version = "1.10.2";
|
version = "1.11.0";
|
||||||
disabled = ! isPy3k;
|
disabled = ! isPy3k;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "1y94ay2jz4m55nlyrg283xsjqsxigmj7vzrzf1mskbpjb20335fb";
|
sha256 = "0v9sraihad0vz8dv3zc5xm5f2ixwbpr2kfpya5s0mgnrn6l19nds";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
49
pkgs/development/python-modules/py-multihash/default.nix
Normal file
49
pkgs/development/python-modules/py-multihash/default.nix
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
{ base58
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, isPy27
|
||||||
|
, lib
|
||||||
|
, morphys
|
||||||
|
, pytest
|
||||||
|
, pytestcov
|
||||||
|
, pytestrunner
|
||||||
|
, six
|
||||||
|
, variants
|
||||||
|
, varint
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "py-multihash";
|
||||||
|
version = "0.2.3";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version ;
|
||||||
|
sha256 = "f0ade4de820afdc4b4aaa40464ec86c9da5cae3a4578cda2daab4b0eb7e5b18d";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pytestrunner
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
base58
|
||||||
|
morphys
|
||||||
|
six
|
||||||
|
variants
|
||||||
|
varint
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytest
|
||||||
|
pytestcov
|
||||||
|
];
|
||||||
|
|
||||||
|
disabled = isPy27;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Self describing hashes - for future proofing";
|
||||||
|
homepage = "https://github.com/multiformats/py-multihash";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ rakesh4g ];
|
||||||
|
};
|
||||||
|
}
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "PyChromecast";
|
pname = "PyChromecast";
|
||||||
version = "4.2.0";
|
version = "4.2.3";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "05h7ncymyh1715v2jkj312qza5qlqrz6yfpgyv4kdf1m07zh7pxh";
|
sha256 = "1nqy9zvzxzncfmmbsj4ccb36gymh4pp1n1l9fdhv8fi0ai9b7dyp";
|
||||||
};
|
};
|
||||||
|
|
||||||
disabled = !isPy3k;
|
disabled = !isPy3k;
|
||||||
|
@ -3,21 +3,21 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pypandoc";
|
pname = "pypandoc";
|
||||||
version = "unstable-2018-06-18";
|
version = "1.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bebraw";
|
owner = "bebraw";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "87912f0f17e0a71c1160008df708c876d32e5819";
|
rev = version;
|
||||||
sha256 = "0l6knkxxhmni4lx8hyvbb71svnhza08ivyklqlk5fw637gznc0hx";
|
sha256 = "1lpslfns6zxx7b0xr13bzg921lwrj5am8za0b2dviywk6iiib0ld";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# set pandoc path statically
|
# set pandoc path statically
|
||||||
sed -i '/^__pandoc_path = None$/c__pandoc_path = "${pandoc}/bin/pandoc"' pypandoc/__init__.py
|
sed -i '/^__pandoc_path = None$/c__pandoc_path = "${pandoc}/bin/pandoc"' pypandoc/__init__.py
|
||||||
|
|
||||||
# Fix tests: requires network access
|
# Skip test that requires network access
|
||||||
substituteInPlace tests.py --replace "pypandoc.convert(url, 'html')" "'GPL2 license'"
|
sed -i '/test_basic_conversion_from_http_url/i\\ @unittest.skip\("no network access during checkPhase"\)' tests.py
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "python-nomad";
|
pname = "python-nomad";
|
||||||
version = "1.1.0";
|
version = "1.2.1";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "1rf6ad35vg3yi1p4l383xwx0ammdvr1k71bxg93bgcvljypx4cyn";
|
sha256 = "0ivkfdrmb4wpyawvwrgm3jvx6hn49vqjpwbkmkmamigghqqwacx3";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ requests ];
|
propagatedBuildInputs = [ requests ];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, libXScrnSaver, makeWrapper, fetchurl, wrapGAppsHook, gtk3, unzip, atomEnv, libuuid, at-spi2-atk, at-spi2-core }@args:
|
{ stdenv, libXScrnSaver, makeWrapper, fetchurl, wrapGAppsHook, glib, gtk3, unzip, atomEnv, libuuid, at-spi2-atk, at-spi2-core }@args:
|
||||||
|
|
||||||
let
|
let
|
||||||
mkElectron = import ./generic.nix args;
|
mkElectron = import ./generic.nix args;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, libXScrnSaver, makeWrapper, fetchurl, wrapGAppsHook, gtk3, unzip, atomEnv, libuuid, at-spi2-atk, at-spi2-core}:
|
{ stdenv, libXScrnSaver, makeWrapper, fetchurl, wrapGAppsHook, glib, gtk3, unzip, atomEnv, libuuid, at-spi2-atk, at-spi2-core}:
|
||||||
|
|
||||||
version: hashes:
|
version: hashes:
|
||||||
let
|
let
|
||||||
@ -34,7 +34,7 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
linux = {
|
linux = {
|
||||||
buildInputs = [ gtk3 ];
|
buildInputs = [ glib gtk3 ];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
unzip
|
unzip
|
||||||
@ -44,13 +44,16 @@ let
|
|||||||
|
|
||||||
dontWrapGApps = true; # electron is in lib, we need to wrap it manually
|
dontWrapGApps = true; # electron is in lib, we need to wrap it manually
|
||||||
|
|
||||||
buildCommand = ''
|
dontUnpack = true;
|
||||||
|
dontBuild = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
mkdir -p $out/lib/electron $out/bin
|
mkdir -p $out/lib/electron $out/bin
|
||||||
unzip -d $out/lib/electron $src
|
unzip -d $out/lib/electron $src
|
||||||
ln -s $out/lib/electron/electron $out/bin
|
ln -s $out/lib/electron/electron $out/bin
|
||||||
|
'';
|
||||||
|
|
||||||
fixupPhase
|
postFixup = ''
|
||||||
|
|
||||||
patchelf \
|
patchelf \
|
||||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||||
--set-rpath "${atomEnv.libPath}:${stdenv.lib.makeLibraryPath [ libuuid at-spi2-atk at-spi2-core ]}:$out/lib/electron" \
|
--set-rpath "${atomEnv.libPath}:${stdenv.lib.makeLibraryPath [ libuuid at-spi2-atk at-spi2-core ]}:$out/lib/electron" \
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec{
|
stdenv.mkDerivation rec{
|
||||||
pname = "cypress";
|
pname = "cypress";
|
||||||
version = "4.2.0";
|
version = "4.3.0";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
|
url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
|
||||||
sha256 = "0ksa7c0bpq13xxgk0qizg3kfyjihcqan5wm6f45v7kgz3wwxc4nz";
|
sha256 = "0lrjha3zrsclpk8bhmv14vy1y5liahjkvcd87zm6cik1rnscaspw";
|
||||||
};
|
};
|
||||||
|
|
||||||
# don't remove runtime deps
|
# don't remove runtime deps
|
||||||
|
@ -9,16 +9,16 @@ stdenv.mkDerivation rec {
|
|||||||
pname = "spring";
|
pname = "spring";
|
||||||
version = "104.0.1-${buildId}-g${shortRev}";
|
version = "104.0.1-${buildId}-g${shortRev}";
|
||||||
# usually the latest in https://github.com/spring/spring/commits/maintenance
|
# usually the latest in https://github.com/spring/spring/commits/maintenance
|
||||||
rev = "176577006b3367a6ca3cafb8e7779af76429d655";
|
rev = "f266c8107b3e5dda5a78061ef00ca0ed8736d6f2";
|
||||||
shortRev = builtins.substring 0 7 rev;
|
shortRev = builtins.substring 0 7 rev;
|
||||||
buildId = "1485";
|
buildId = "1486";
|
||||||
|
|
||||||
# taken from https://github.com/spring/spring/commits/maintenance
|
# taken from https://github.com/spring/spring/commits/maintenance
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "spring";
|
owner = "spring";
|
||||||
repo = "spring";
|
repo = "spring";
|
||||||
inherit rev;
|
inherit rev;
|
||||||
sha256 = "0p2bwbvy0chcd2mmhqwx04szkyjvz1p3aink5g63s3r4ghcqlrbr";
|
sha256 = "1nx68d894yfmqc6df72hmk75ph26fqdvlmmq58cca0vbwpz9hf5v";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ with stdenv;
|
|||||||
|
|
||||||
let
|
let
|
||||||
majorVersion = "0";
|
majorVersion = "0";
|
||||||
minorVersion = "219";
|
minorVersion = "220";
|
||||||
|
|
||||||
desktopItem = makeDesktopItem {
|
desktopItem = makeDesktopItem {
|
||||||
name = "MAME";
|
name = "MAME";
|
||||||
@ -26,7 +26,7 @@ in mkDerivation {
|
|||||||
owner = "mamedev";
|
owner = "mamedev";
|
||||||
repo = "mame";
|
repo = "mame";
|
||||||
rev = "mame${majorVersion}${minorVersion}";
|
rev = "mame${majorVersion}${minorVersion}";
|
||||||
sha256 = "048ar1j2vsrvqqc3spy9qcch2lbxn0ycd9lv4ig5wfnvjkdjdvgr";
|
sha256 = "0ddmq3lagk7f1wkgybckcci4sigcqn1gzafggnnqjzq2q8viww0c";
|
||||||
};
|
};
|
||||||
|
|
||||||
hardeningDisable = [ "fortify" ];
|
hardeningDisable = [ "fortify" ];
|
||||||
|
@ -1,39 +1,37 @@
|
|||||||
{ stdenv, buildGoPackage, fetchFromGitHub, bash, go-bindata}:
|
{ stdenv, buildGoModule, fetchFromGitHub, go-bindata, nixosTests }:
|
||||||
|
|
||||||
buildGoPackage rec {
|
buildGoModule rec {
|
||||||
pname = "traefik";
|
pname = "traefik";
|
||||||
version = "1.7.14";
|
version = "2.2.0";
|
||||||
|
|
||||||
goPackagePath = "github.com/containous/traefik";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "containous";
|
owner = "containous";
|
||||||
repo = "traefik";
|
repo = "traefik";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1j3p09j8rpdkp8v4d4mz224ddakkvhzchvccm9qryrqc2fq4022v";
|
sha256 = "1dcazssabqxr9wv3dds3z7ks3y628qa07vgnn3hpdwxzm2b2ma92";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ go-bindata bash ];
|
modSha256 = "0w3ssxvsmq8i6hbfmn4ig2x13i2nlqy5q1khcblf9pq5vhk202qx";
|
||||||
|
subPackages = [ "cmd/traefik" ];
|
||||||
|
|
||||||
buildPhase = ''
|
nativeBuildInputs = [ go-bindata ];
|
||||||
runHook preBuild
|
|
||||||
(
|
passthru.tests = { inherit (nixosTests) traefik; };
|
||||||
cd go/src/github.com/containous/traefik
|
|
||||||
bash ./script/make.sh generate
|
preBuild = ''
|
||||||
|
go generate
|
||||||
|
|
||||||
CODENAME=$(awk -F "=" '/CODENAME=/ { print $2}' script/binary)
|
CODENAME=$(awk -F "=" '/CODENAME=/ { print $2}' script/binary)
|
||||||
go build -ldflags "\
|
|
||||||
|
makeFlagsArray+=("-ldflags=\
|
||||||
-X github.com/containous/traefik/version.Version=${version} \
|
-X github.com/containous/traefik/version.Version=${version} \
|
||||||
-X github.com/containous/traefik/version.Codename=$CODENAME \
|
-X github.com/containous/traefik/version.Codename=$CODENAME")
|
||||||
" -a -o $bin/bin/traefik ./cmd/traefik
|
|
||||||
)
|
|
||||||
runHook postBuild
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = "https://traefik.io";
|
homepage = "https://traefik.io";
|
||||||
description = "A modern reverse proxy";
|
description = "A modern reverse proxy";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ hamhut1066 vdemeester ];
|
maintainers = with maintainers; [ vdemeester ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "lf";
|
pname = "lf";
|
||||||
version = "13";
|
version = "14";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gokcehan";
|
owner = "gokcehan";
|
||||||
repo = "lf";
|
repo = "lf";
|
||||||
rev = "r${version}";
|
rev = "r${version}";
|
||||||
sha256 = "1ld3q75v8rvp169w5p85z1vznqs9bhck6bm2f6fykxx16hmpb6ga";
|
sha256 = "0kl9yrgph1i0jbxhlg3k0411436w80xw1s8dzd7v7h2raygkb4is";
|
||||||
};
|
};
|
||||||
|
|
||||||
modSha256 = "14fvn8yjm9cnpsmzgxw2dypr3h8h36mxrbk7zma42w8rsp46jpz7";
|
modSha256 = "1c6c6qg8yrhdhqsnqj3jw3x2hi8vrhfm47cp9xlkfnjfrz3nk6jp";
|
||||||
|
|
||||||
# TODO: Setting buildFlags probably isn't working properly. I've tried a few
|
# TODO: Setting buildFlags probably isn't working properly. I've tried a few
|
||||||
# variants, e.g.:
|
# variants, e.g.:
|
||||||
@ -27,6 +27,7 @@ buildGoModule rec {
|
|||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
install -D --mode=444 lf.1 $out/share/man/man1/lf.1
|
install -D --mode=444 lf.1 $out/share/man/man1/lf.1
|
||||||
|
install -D --mode=444 lf.desktop $out/share/applications/lf.desktop
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
@ -38,6 +39,7 @@ buildGoModule rec {
|
|||||||
are handled by external tools.
|
are handled by external tools.
|
||||||
'';
|
'';
|
||||||
homepage = "https://godoc.org/github.com/gokcehan/lf";
|
homepage = "https://godoc.org/github.com/gokcehan/lf";
|
||||||
|
changelog = "https://github.com/gokcehan/lf/releases/tag/r${version}";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ primeos ];
|
maintainers = with maintainers; [ primeos ];
|
||||||
|
@ -681,6 +681,11 @@ mapAliases ({
|
|||||||
clang_35 = llvm_4;
|
clang_35 = llvm_4;
|
||||||
clang_4 = llvm_4;
|
clang_4 = llvm_4;
|
||||||
|
|
||||||
|
# added 2019-04-13
|
||||||
|
# *-polly pointed to llvmPackages_latest
|
||||||
|
llvm-polly = throw "clang is now built with polly-plugin by default";
|
||||||
|
clang-polly = throw "clang is now built with polly-plugin by default";
|
||||||
|
|
||||||
/* Cleanup before 20.09 */
|
/* Cleanup before 20.09 */
|
||||||
oraclejdk8psu = throw ''
|
oraclejdk8psu = throw ''
|
||||||
The *psu versions of oraclejdk aren't provided by upstream anymore and were therefore removed!
|
The *psu versions of oraclejdk aren't provided by upstream anymore and were therefore removed!
|
||||||
|
@ -8003,8 +8003,6 @@ in
|
|||||||
useMacosReexportHack = true;
|
useMacosReexportHack = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
llvm-polly = llvmPackages_latest.llvm-polly;
|
|
||||||
clang-polly = llvmPackages_latest.clang.override { cc = llvmPackages_latest.clang-polly-unwrapped; };
|
|
||||||
|
|
||||||
clang_10 = llvmPackages_10.clang;
|
clang_10 = llvmPackages_10.clang;
|
||||||
clang_9 = llvmPackages_9.clang;
|
clang_9 = llvmPackages_9.clang;
|
||||||
@ -8184,7 +8182,11 @@ in
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
libstdcxxHook = makeSetupHook
|
libstdcxxHook = makeSetupHook
|
||||||
{ substitutions = { gcc = gcc-unwrapped; }; }
|
{ substitutions = {
|
||||||
|
gcc = gcc-unwrapped;
|
||||||
|
targetConfig = stdenv.targetPlatform.config;
|
||||||
|
};
|
||||||
|
}
|
||||||
../development/compilers/gcc/libstdc++-hook.sh;
|
../development/compilers/gcc/libstdc++-hook.sh;
|
||||||
|
|
||||||
crossLibcStdenv = overrideCC stdenv
|
crossLibcStdenv = overrideCC stdenv
|
||||||
@ -8801,7 +8803,7 @@ in
|
|||||||
stdenv = gcc7Stdenv;
|
stdenv = gcc7Stdenv;
|
||||||
});
|
});
|
||||||
|
|
||||||
llvmPackages_latest = llvmPackages_9; # llvmPackages_10: when out of RC
|
llvmPackages_latest = llvmPackages_10;
|
||||||
|
|
||||||
lorri = callPackage ../tools/misc/lorri {
|
lorri = callPackage ../tools/misc/lorri {
|
||||||
inherit (darwin.apple_sdk.frameworks) CoreServices Security;
|
inherit (darwin.apple_sdk.frameworks) CoreServices Security;
|
||||||
@ -12077,6 +12079,12 @@ in
|
|||||||
libusb = libusb1;
|
libusb = libusb1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
highfive = callPackage ../development/libraries/highfive { };
|
||||||
|
|
||||||
|
highfive-mpi = appendToName "mpi" (highfive.override {
|
||||||
|
hdf5 = hdf5-mpi;
|
||||||
|
});
|
||||||
|
|
||||||
hiredis = callPackage ../development/libraries/hiredis { };
|
hiredis = callPackage ../development/libraries/hiredis { };
|
||||||
|
|
||||||
hiredis-vip = callPackage ../development/libraries/hiredis-vip { };
|
hiredis-vip = callPackage ../development/libraries/hiredis-vip { };
|
||||||
@ -12119,6 +12127,8 @@ in
|
|||||||
|
|
||||||
hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { };
|
hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { };
|
||||||
|
|
||||||
|
hydra-check = with python3.pkgs; toPythonApplication hydra-check;
|
||||||
|
|
||||||
hyena = callPackage ../development/libraries/hyena { };
|
hyena = callPackage ../development/libraries/hyena { };
|
||||||
|
|
||||||
hyperscan = callPackage ../development/libraries/hyperscan { };
|
hyperscan = callPackage ../development/libraries/hyperscan { };
|
||||||
@ -14199,6 +14209,8 @@ in
|
|||||||
|
|
||||||
readosm = callPackage ../development/libraries/readosm { };
|
readosm = callPackage ../development/libraries/readosm { };
|
||||||
|
|
||||||
|
kissfft = callPackage ../development/libraries/kissfft { };
|
||||||
|
|
||||||
lambdabot = callPackage ../development/tools/haskell/lambdabot {
|
lambdabot = callPackage ../development/tools/haskell/lambdabot {
|
||||||
haskellLib = haskell.lib;
|
haskellLib = haskell.lib;
|
||||||
};
|
};
|
||||||
@ -14227,6 +14239,8 @@ in
|
|||||||
|
|
||||||
lvtk = callPackage ../development/libraries/audio/lvtk { };
|
lvtk = callPackage ../development/libraries/audio/lvtk { };
|
||||||
|
|
||||||
|
qm-dsp = callPackage ../development/libraries/audio/qm-dsp { };
|
||||||
|
|
||||||
qradiolink = callPackage ../applications/radio/qradiolink { };
|
qradiolink = callPackage ../applications/radio/qradiolink { };
|
||||||
|
|
||||||
qrupdate = callPackage ../development/libraries/qrupdate { };
|
qrupdate = callPackage ../development/libraries/qrupdate { };
|
||||||
@ -18420,9 +18434,7 @@ in
|
|||||||
|
|
||||||
aqemu = libsForQt5.callPackage ../applications/virtualization/aqemu { };
|
aqemu = libsForQt5.callPackage ../applications/virtualization/aqemu { };
|
||||||
|
|
||||||
ardour = callPackage ../applications/audio/ardour {
|
ardour = callPackage ../applications/audio/ardour { };
|
||||||
inherit (gnome2) libgnomecanvas libgnomecanvasmm;
|
|
||||||
};
|
|
||||||
|
|
||||||
arelle = with python3Packages; toPythonApplication arelle;
|
arelle = with python3Packages; toPythonApplication arelle;
|
||||||
|
|
||||||
|
@ -1129,6 +1129,8 @@ in {
|
|||||||
|
|
||||||
py-lru-cache = callPackage ../development/python-modules/py-lru-cache { };
|
py-lru-cache = callPackage ../development/python-modules/py-lru-cache { };
|
||||||
|
|
||||||
|
py-multihash = callPackage ../development/python-modules/py-multihash { };
|
||||||
|
|
||||||
py-radix = callPackage ../development/python-modules/py-radix { };
|
py-radix = callPackage ../development/python-modules/py-radix { };
|
||||||
|
|
||||||
pydbus = callPackage ../development/python-modules/pydbus { };
|
pydbus = callPackage ../development/python-modules/pydbus { };
|
||||||
@ -4008,6 +4010,8 @@ in {
|
|||||||
|
|
||||||
hypothesis = callPackage ../development/python-modules/hypothesis { };
|
hypothesis = callPackage ../development/python-modules/hypothesis { };
|
||||||
|
|
||||||
|
hydra-check = callPackage ../development/python-modules/hydra-check { };
|
||||||
|
|
||||||
colored = callPackage ../development/python-modules/colored { };
|
colored = callPackage ../development/python-modules/colored { };
|
||||||
|
|
||||||
xdg = callPackage ../development/python-modules/xdg { };
|
xdg = callPackage ../development/python-modules/xdg { };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user