1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-09-11 15:08:33 +01:00

Merge remote-tracking branch 'upstream/master' into staging

This commit is contained in:
John Ericson 2020-04-13 22:17:15 -04:00
commit c8a6ea5161
58 changed files with 1094 additions and 271 deletions

View file

@ -25,6 +25,12 @@ If applicable, add screenshots to help explain your problem.
**Additional context**
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**
Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.

View file

@ -193,14 +193,7 @@ rec {
(showOption ["foo" "bar" "baz"]) == "foo.bar.baz"
(showOption ["foo" "bar.baz" "tux"]) == "foo.\"bar.baz\".tux"
*/
showOption = parts: let
escapeOptionPart = part:
let
escaped = lib.strings.escapeNixString part;
in if escaped == "\"${part}\""
then part
else escaped;
in (concatStringsSep ".") (map escapeOptionPart parts);
showOption = parts: concatMapStringsSep "." escapeNixIdentifier parts;
showFiles = files: concatStringsSep " and " (map (f: "`${f}'") files);
unknownModule = "<unknown-file>";

View file

@ -315,6 +315,21 @@ rec {
*/
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.
replaceChars = builtins.replaceStrings or (
del: new: s:

75
lib/tests/maintainers.nix Normal file
View 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

View file

@ -3,7 +3,10 @@
# 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.
cd ./modules
# https://stackoverflow.com/a/246128/6605742
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
cd "$DIR"/modules
pass=0
fail=0

View file

@ -1,7 +1,7 @@
{ pkgs ? import ((import ../.).cleanSource ../..) {} }:
{ pkgs ? import ../.. {} }:
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}";
} ''
datadir="${pkgs.nix}/share"
@ -17,8 +17,8 @@ pkgs.runCommandNoCC "nixpkgs-lib-tests" {
cacheDir=$TEST_ROOT/binary-cache
nix-store --init
cd ${pkgs.path}/lib/tests
bash ./modules.sh
cp -r ${../.} lib
bash lib/tests/modules.sh
touch $out
''

View file

@ -100,6 +100,7 @@
abbradar = {
email = "ab@fmap.me";
github = "abbradar";
githubId = 1174810;
name = "Nikolay Amiantov";
};
abhi18av = {
@ -135,6 +136,7 @@
acairncross = {
email = "acairncross@gmail.com";
github = "acairncross";
githubId = 1517066;
name = "Aiken Cairncross";
};
acowley = {
@ -146,6 +148,7 @@
adamt = {
email = "mail@adamtulinius.dk";
github = "adamtulinius";
githubId = 749381;
name = "Adam Tulinius";
};
adelbertc = {
@ -229,6 +232,7 @@
aforemny = {
email = "alexanderforemny@googlemail.com";
github = "aforemny";
githubId = 610962;
name = "Alexander Foremny";
};
afranchuk = {
@ -276,6 +280,7 @@
ak = {
email = "ak@formalprivacy.com";
github = "alexanderkjeldaas";
githubId = 339369;
name = "Alexander Kjeldaas";
};
akavel = {
@ -383,6 +388,7 @@
alunduil = {
email = "alunduil@gmail.com";
github = "alunduil";
githubId = 169249;
name = "Alex Brandt";
};
alva = {
@ -404,6 +410,7 @@
ambrop72 = {
email = "ambrop7@gmail.com";
github = "ambrop72";
githubId = 2626481;
name = "Ambroz Bizjak";
};
amiddelk = {
@ -473,11 +480,13 @@
andreabedini = {
email = "andrea@kzn.io";
github = "andreabedini";
githubId = 69135;
name = "Andrea Bedini";
};
andres = {
email = "ksnixos@andres-loeh.de";
github = "kosmikus";
githubId = 293191;
name = "Andres Loeh";
};
andrestylianos = {
@ -507,6 +516,7 @@
andsild = {
email = "andsild@gmail.com";
github = "andsild";
githubId = 3808928;
name = "Anders Sildnes";
};
aneeshusa = {
@ -560,6 +570,7 @@
antono = {
email = "self@antono.info";
github = "antono";
githubId = 7622;
name = "Antono Vasiljev";
};
antonxy = {
@ -742,7 +753,8 @@
};
auntie = {
email = "auntieNeo@gmail.com";
github = "auntie";
github = "auntieNeo";
githubId = 574938;
name = "Jonathan Glines";
};
avaq = {
@ -760,6 +772,7 @@
averelld = {
email = "averell+nixos@rxd4.com";
github = "averelld";
githubId = 687218;
name = "averelld";
};
avitex = {
@ -815,11 +828,13 @@
backuitist = {
email = "biethb@gmail.com";
github = "backuitist";
githubId = 1017537;
name = "Bruno Bieth";
};
badi = {
email = "abdulwahidc@gmail.com";
github = "badi";
githubId = 35324;
name = "Badi' Abdul-Wahid";
};
balajisivaraman = {
@ -943,6 +958,7 @@
berdario = {
email = "berdario@gmail.com";
github = "berdario";
githubId = 752835;
name = "Dario Bertini";
};
bergey = {
@ -1024,6 +1040,7 @@
bluescreen303 = {
email = "mathijs@bluescreen303.nl";
github = "bluescreen303";
githubId = 16330;
name = "Mathijs Kwik";
};
bobakker = {
@ -1053,6 +1070,7 @@
boothead = {
email = "ben@perurbis.com";
github = "boothead";
githubId = 87764;
name = "Ben Ford";
};
borisbabic = {
@ -1473,6 +1491,7 @@
coconnor = {
email = "coreyoconnor@gmail.com";
github = "coreyoconnor";
githubId = 34317;
name = "Corey O'Connor";
};
codsl = {
@ -1566,6 +1585,7 @@
cransom = {
email = "cransom@hubns.net";
github = "cransom";
githubId = 1957293;
name = "Casey Ransom";
};
CrazedProgrammer = {
@ -1725,6 +1745,7 @@
davidrusu = {
email = "davidrusu.me@gmail.com";
github = "davidrusu";
githubId = 1832378;
name = "David Rusu";
};
davidtwco = {
@ -1818,6 +1839,7 @@
DerGuteMoritz = {
email = "moritz@twoticketsplease.de";
github = "DerGuteMoritz";
githubId = 19733;
name = "Moritz Heidkamp";
};
dermetfan = {
@ -1835,6 +1857,7 @@
desiderius = {
email = "didier@devroye.name";
github = "desiderius";
githubId = 1311761;
name = "Didier J. Devroye";
};
devhell = {
@ -1864,6 +1887,7 @@
dgonyeo = {
email = "derek@gonyeo.com";
github = "dgonyeo";
githubId = 2439413;
name = "Derek Gonyeo";
};
dhkl = {
@ -1983,6 +2007,7 @@
doublec = {
email = "chris.double@double.co.nz";
github = "doublec";
githubId = 16599;
name = "Chris Double";
};
dpaetzel = {
@ -2048,6 +2073,7 @@
dxf = {
email = "dingxiangfei2009@gmail.com";
github = "dingxiangfei2009";
githubId = 6884440;
name = "Ding Xiang Fei";
};
dysinger = {
@ -2113,6 +2139,7 @@
edanaher = {
email = "nixos@edanaher.net";
github = "edanaher";
githubId = 984691;
name = "Evan Danaher";
};
edef = {
@ -2262,6 +2289,7 @@
emmanuelrosa = {
email = "emmanuel_rosa@aol.com";
github = "emmanuelrosa";
githubId = 13485450;
name = "Emmanuel Rosa";
};
endgame = {
@ -2279,7 +2307,7 @@
Enteee = {
email = "nix@duckpond.ch";
github = "Enteee";
githubid = 5493775;
githubId = 5493775;
name = "Ente";
};
enzime = {
@ -2337,6 +2365,7 @@
ericsagnes = {
email = "eric.sagnes@gmail.com";
github = "ericsagnes";
githubId = 367880;
name = "Eric Sagnes";
};
ericson2314 = {
@ -2376,6 +2405,7 @@
ertes = {
email = "esz@posteo.de";
github = "ertes";
githubId = 1855930;
name = "Ertugrul Söylemez";
};
esclear = {
@ -2485,6 +2515,7 @@
fare = {
email = "fahree@gmail.com";
github = "fare";
githubId = 8073;
name = "Francois-Rene Rideau";
};
farlion = {
@ -2496,6 +2527,7 @@
fdns = {
email = "fdns02@gmail.com";
github = "fdns";
githubId = 541748;
name = "Felipe Espinoza";
};
ffinkdevs = {
@ -2622,6 +2654,7 @@
fragamus = {
email = "innovative.engineer@gmail.com";
github = "fragamus";
githubId = 119691;
name = "Michael Gough";
};
@ -2640,11 +2673,13 @@
freezeboy = {
email = "freezeboy@users.noreply.github.com";
github = "freezeboy";
githubId = 13279982;
name = "freezeboy";
};
Fresheyeball = {
email = "fresheyeball@gmail.com";
github = "fresheyeball";
github = "Fresheyeball";
githubId = 609279;
name = "Isaac Shapira";
};
fridh = {
@ -2748,6 +2783,7 @@
garbas = {
email = "rok@garbas.si";
github = "garbas";
githubId = 20208;
name = "Rok Garbas";
};
garrison = {
@ -2759,6 +2795,7 @@
gavin = {
email = "gavin.rogers@holo.host";
github = "gavinrogers";
githubId = 2430469;
name = "Gavin Rogers";
};
gazally = {
@ -2906,6 +2943,7 @@
gridaphobe = {
email = "eric@seidel.io";
github = "gridaphobe";
githubId = 201997;
name = "Eric Seidel";
};
guibert = {
@ -3035,6 +3073,7 @@
name = "Guanpeng Xu";
};
hexa = {
email = "hexa@darmstadt.ccc.de";
github = "mweinelt";
githubId = 131599;
name = "Martin Weinelt";
@ -3053,6 +3092,7 @@
email = "me@hkjn.me";
name = "Henrik Jonsson";
github = "hkjn";
githubId = 287215;
keys = [{
longkeyid = "rsa4096/0x03EFBF839A5FDC15";
fingerprint = "D618 7A03 A40A 3D56 62F5 4B46 03EF BF83 9A5F DC15";
@ -3225,6 +3265,7 @@
name = "Michele Catalano";
};
isgy = {
name = "isgy";
email = "isgy@teiyg.com";
github = "isgy";
githubId = 13622947;
@ -3263,7 +3304,7 @@
email = "ivar.scholten@protonmail.com";
github = "IvarWithoutBones";
githubId = 41924494;
Name = "Ivar";
name = "Ivar";
};
ivegotasthma = {
email = "ivegotasthma@protonmail.com";
@ -3302,6 +3343,7 @@
jasoncarr = {
email = "jcarr250@gmail.com";
github = "jasoncarr0";
githubId = 6874204;
name = "Jason Carr";
};
j-keck = {
@ -3313,6 +3355,7 @@
j03 = {
email = "github@johannesloetzsch.de";
github = "johannesloetzsch";
githubId = 175537;
name = "Johannes Lötzsch";
};
jagajaga = {
@ -3439,7 +3482,8 @@
};
jeschli = {
email = "jeschli@gmail.com";
github = "jeschli";
github = "Jeschli";
githubId = 10786794;
name = "Markus Hihn";
};
jethro = {
@ -3451,6 +3495,7 @@
jfb = {
email = "james@yamtime.com";
github = "tftio";
githubId = 143075;
name = "James Felix Black";
};
jflanglois = {
@ -3510,6 +3555,7 @@
jitwit = {
email = "jrn@bluefarm.ca";
github = "jitwit";
githubId = 51518420;
name = "jitwit";
};
jlesquembre = {
@ -3551,6 +3597,7 @@
joamaki = {
email = "joamaki@gmail.com";
github = "joamaki";
githubId = 1102396;
name = "Jussi Maki";
};
joelburget = {
@ -3573,6 +3620,7 @@
email = "admin@cryto.net";
name = "Sven Slootweg";
github = "joepie91";
githubId = 1663259;
};
joesalisbury = {
email = "salisbury.joseph@gmail.com";
@ -3646,6 +3694,7 @@
jonathanmarler = {
email = "johnnymarler@gmail.com";
github = "marler8997";
githubId = 304904;
name = "Jonathan Marler";
};
jonathanreeve = {
@ -3751,6 +3800,7 @@
juliendehos = {
email = "dehos@lisic.univ-littoral.fr";
github = "juliendehos";
githubId = 11947756;
name = "Julien Dehos";
};
jumper149 = {
@ -3784,6 +3834,7 @@
jyp = {
email = "jeanphilippe.bernardy@gmail.com";
github = "jyp";
githubId = 27747;
name = "Jean-Philippe Bernardy";
};
jzellner = {
@ -3797,7 +3848,7 @@
email = "KAction@disroot.org";
github = "kaction";
githubId = 44864956;
key = [{
keys = [{
longkeyid = "ed25519/0x749FD4DFA2E94236";
fingerprint = "3F87 0A7C A7B4 3731 2F13 6083 749F D4DF A2E9 4236";
}];
@ -3833,6 +3884,7 @@
kampfschlaefer = {
email = "arnold@arnoldarts.de";
github = "kampfschlaefer";
githubId = 3831860;
name = "Arnold Krille";
};
karantan = {
@ -3990,6 +4042,7 @@
email = "adrian@kummerlaender.eu";
name = "Adrian Kummerlaender";
github = "KnairdA";
githubId = 498373;
};
knedlsepp = {
email = "josef.kemetmueller@gmail.com";
@ -4012,6 +4065,7 @@
kolbycrouch = {
email = "kjc.devel@gmail.com";
github = "kolbycrouch";
githubId = 6346418;
name = "Kolby Crouch";
};
konimex = {
@ -4023,6 +4077,7 @@
koral = {
email = "koral@mailoo.org";
github = "k0ral";
githubId = 524268;
name = "Koral";
};
kovirobi = {
@ -4064,7 +4119,7 @@
kristian-brucaj = {
email = "kbrucaj@gmail.com";
github = "kristian-brucaj";
githubID = "8893110";
githubId = 8893110;
name = "Kristian Brucaj";
};
kristoff3r = {
@ -4124,6 +4179,7 @@
laikq = {
email = "gwen@quasebarth.de";
github = "laikq";
githubId = 55911173;
name = "Gwendolyn Quasebarth";
};
lasandell = {
@ -4141,6 +4197,7 @@
lassulus = {
email = "lassulus@gmail.com";
github = "Lassulus";
githubId = 621759;
name = "Lassulus";
};
lattfein = {
@ -4195,6 +4252,7 @@
lebastr = {
email = "lebastr@gmail.com";
github = "lebastr";
githubId = 887072;
name = "Alexander Lebedev";
};
ledif = {
@ -4230,6 +4288,7 @@
leonardoce = {
email = "leonardo.cecchi@gmail.com";
github = "leonardoce";
githubId = 1572058;
name = "Leonardo Cecchi";
};
leshainc = {
@ -4393,6 +4452,7 @@
lovek323 = {
email = "jason@oconal.id.au";
github = "lovek323";
githubId = 265084;
name = "Jason O'Conal";
};
lovesegfault = {
@ -4432,6 +4492,7 @@
ltavard = {
email = "laure.tavard@univ-grenoble-alpes.fr";
github = "ltavard";
githubId = 8555953;
name = "Laure Tavard";
};
luc65r = {
@ -4495,6 +4556,7 @@
lumi = {
email = "lumi@pew.im";
github = "lumi-me-not";
githubId = 26020062;
name = "lumi";
};
luz = {
@ -4678,6 +4740,7 @@
matthewbauer = {
email = "mjbauer95@gmail.com";
github = "matthewbauer";
githubId = 19036;
name = "Matthew Bauer";
};
matthiasbeyer = {
@ -4695,6 +4758,7 @@
matti-kariluoma = {
email = "matti@kariluo.ma";
github = "matti-kariluoma";
githubId = 279868;
name = "Matti Kariluoma";
};
maurer = {
@ -4820,6 +4884,7 @@
melsigl = {
email = "melanie.bianca.sigl@gmail.com";
github = "melsigl";
githubId = 15093162;
name = "Melanie B. Sigl";
};
melkor333 = {
@ -4888,6 +4953,7 @@
michaelpj = {
email = "michaelpj@gmail.com";
github = "michaelpj";
githubId = 1699466;
name = "Michael Peyton Jones";
};
michalrus = {
@ -4899,6 +4965,7 @@
michelk = {
email = "michel@kuhlmanns.info";
github = "michelk";
githubId = 1404919;
name = "Michel Kuhlmann";
};
michojel = {
@ -4972,6 +5039,7 @@
mirdhyn = {
email = "mirdhyn@gmail.com";
github = "mirdhyn";
githubId = 149558;
name = "Merlin Gaillard";
};
mirrexagon = {
@ -5007,6 +5075,7 @@
mkf = {
email = "m@mikf.pl";
github = "mkf";
githubId = 7753506;
name = "Michał Krzysztof Feiler";
keys = [{
longkeyid = "rsa4096/0xE35C2D7C2C6AC724";
@ -5056,6 +5125,7 @@
mmlb = {
email = "manny@peekaboo.mmlb.icu";
github = "mmlb";
githubId = 708570;
name = "Manuel Mendez";
};
mnacamura = {
@ -5085,6 +5155,7 @@
Mogria = {
email = "m0gr14@gmail.com";
github = "mogria";
githubId = 754512;
name = "Mogria";
};
monsieurp = {
@ -5142,6 +5213,7 @@
MP2E = {
email = "MP2E@archlinux.us";
github = "MP2E";
githubId = 167708;
name = "Cray Elliott";
};
mpcsh = {
@ -5165,6 +5237,7 @@
mpscholten = {
email = "marc@mpscholten.de";
github = "mpscholten";
githubId = 2072185;
name = "Marc Scholten";
};
mpsyco = {
@ -5182,6 +5255,7 @@
mredaelli = {
email = "massimo@typish.io";
github = "mredaelli";
githubId = 3073833;
name = "Massimo Redaelli";
};
mrkkrp = {
@ -5249,6 +5323,7 @@
MtP = {
email = "marko.nixos@poikonen.de";
github = "MtP76";
githubId = 2176611;
name = "Marko Poikonen";
};
mtreskin = {
@ -5314,6 +5389,7 @@
nand0p = {
email = "nando@hex7.com";
github = "nand0p";
githubId = 1916245;
name = "Fernando Jose Pando";
};
Nate-Devv = {
@ -5587,6 +5663,7 @@
olynch = {
email = "owen@olynch.me";
github = "olynch";
githubId = 4728903;
name = "Owen Lynch";
};
omnipotententity = {
@ -5610,6 +5687,7 @@
orbitz = {
email = "mmatalka@gmail.com";
github = "orbitz";
githubId = 75299;
name = "Malcolm Matalka";
};
orivej = {
@ -5745,6 +5823,7 @@
pcarrier = {
email = "pc@rrier.ca";
github = "pcarrier";
githubId = 8641;
name = "Pierre Carrier";
};
periklis = {
@ -5890,6 +5969,7 @@
plchldr = {
email = "mail@oddco.de";
github = "plchldr";
githubId = 11639001;
name = "Jonas Beyer";
};
plcplc = {
@ -5913,6 +5993,7 @@
pmeunier = {
email = "pierre-etienne.meunier@inria.fr";
github = "P-E-Meunier";
githubId = 17021304;
name = "Pierre-Étienne Meunier";
};
pmiddend = {
@ -5942,6 +6023,7 @@
polyrod = {
email = "dc1mdp@gmail.com";
github = "polyrod";
githubId = 24878306;
name = "Maurizio Di Pietro";
};
pombeirp = {
@ -6121,11 +6203,13 @@
raboof = {
email = "arnout@bzzt.net";
github = "raboof";
githubId = 131856;
name = "Arnout Engelen";
};
rafaelgg = {
email = "rafael.garcia.gallego@gmail.com";
github = "rafaelgg";
githubId = 1016742;
name = "Rafael García";
};
raquelgb = {
@ -6297,6 +6381,7 @@
rickynils = {
email = "rickynils@gmail.com";
github = "rickynils";
githubId = 16779;
name = "Rickard Nilsson";
};
rika = {
@ -6380,11 +6465,13 @@
rob = {
email = "rob.vermaas@gmail.com";
github = "rbvermaa";
githubId = 353885;
name = "Rob Vermaas";
};
robberer = {
email = "robberer@freakmail.de";
github = "robberer";
githubId = 6204883;
name = "Longrin Wischnewski";
};
robbinch = {
@ -6504,6 +6591,7 @@
rvolosatovs = {
email = "rvolosatovs@riseup.net";
github = "rvolosatovs";
githubId = 12877905;
name = "Roman Volosatovs";
};
ryanartecona = {
@ -6515,6 +6603,7 @@
ryansydnor = {
email = "ryan.t.sydnor@gmail.com";
github = "ryansydnor";
githubId = 1832096;
name = "Ryan Sydnor";
};
ryantm = {
@ -6606,6 +6695,7 @@
sander = {
email = "s.vanderburg@tudelft.nl";
github = "svanderburg";
githubId = 1153271;
name = "Sander van der Burg";
};
sargon = {
@ -6641,6 +6731,7 @@
scalavision = {
email = "scalavision@gmail.com";
github = "scalavision";
githubId = 3958212;
name = "Tom Sorlie";
};
schmitthenner = {
@ -6650,8 +6741,10 @@
name = "Fabian Schmitthenner";
};
schmittlauch = {
name = "Trolli Schmittlauch";
email = "t.schmittlauch+nixos@orlives.de";
github = "schmittlauch";
githubId = 1479555;
};
schneefux = {
email = "schneefux+nixos_pkg@schneefux.xyz";
@ -6690,6 +6783,7 @@
scubed2 = {
email = "scubed2@gmail.com";
github = "scubed2";
githubId = 7401858;
name = "Sterling Stein";
};
sdier = {
@ -6749,7 +6843,7 @@
servalcatty = {
email = "servalcat@pm.me";
github = "servalcatty";
githubid = 51969817;
githubId = 51969817;
name = "Serval";
keys = [{
longkeyid = "rsa4096/0x4A2AAAA382F8294C";
@ -6795,6 +6889,7 @@
shazow = {
email = "andrey.petrov@shazow.net";
github = "shazow";
githubId = 6292;
name = "Andrey Petrov";
};
sheenobu = {
@ -6818,16 +6913,19 @@
shlevy = {
email = "shea@shealevy.com";
github = "shlevy";
githubId = 487050;
name = "Shea Levy";
};
shmish111 = {
email = "shmish111@gmail.com";
github = "shmish111";
githubId = 934267;
name = "David Smith";
};
shnarazk = {
email = "shujinarazaki@protonmail.com";
github = "shnarazk";
githubId = 997855;
name = "Narazaki Shuji";
};
shou = {
@ -6915,6 +7013,7 @@
sjmackenzie = {
email = "setori88@gmail.com";
github = "sjmackenzie";
githubId = 158321;
name = "Stewart Mackenzie";
};
sjourdois = {
@ -7048,6 +7147,7 @@
sprock = {
email = "rmason@mun.ca";
github = "sprock";
githubId = 6391601;
name = "Roger Mason";
};
spwhitt = {
@ -7059,6 +7159,7 @@
srghma = {
email = "srghma@gmail.com";
github = "srghma";
githubId = 7573215;
name = "Sergei Khoma";
};
srgom = {
@ -7276,6 +7377,7 @@
taha = {
email = "xrcrod@gmail.com";
github = "tgharib";
githubId = 6457015;
name = "Taha Gharib";
};
tailhook = {
@ -7359,6 +7461,7 @@
tckmn = {
email = "andy@tck.mn";
github = "tckmn";
githubId = 2389333;
name = "Andy Tockman";
};
teh = {
@ -7388,11 +7491,13 @@
tesq0 = {
email = "mikolaj.galkowski@gmail.com";
github = "tesq0";
githubId = 26417242;
name = "Mikolaj Galkowski";
};
teto = {
email = "mcoudron@hotmail.com";
github = "teto";
githubId = 886074;
name = "Matthieu Coudron";
};
tex = {
@ -7434,6 +7539,7 @@
the-kenny = {
email = "moritz@tarn-vedra.de";
github = "the-kenny";
githubId = 31167;
name = "Moritz Ulrich";
};
thedavidmeister = {
@ -7521,11 +7627,13 @@
timbertson = {
email = "tim@gfxmonk.net";
github = "timbertson";
githubId = 14172;
name = "Tim Cuthbertson";
};
timma = {
email = "kunduru.it.iitb@gmail.com";
github = "ktrsoft";
githubId = 12712927;
name = "Timma";
};
timokau = {
@ -7577,6 +7685,7 @@
tnias = {
email = "phil@grmr.de";
github = "tnias";
githubId = 9853194;
name = "Philipp Bartsch";
};
tobim = {
@ -7672,6 +7781,7 @@
tscholak = {
email = "torsten.scholak@googlemail.com";
github = "tscholak";
githubId = 1568873;
name = "Torsten Scholak";
};
tstrobel = {
@ -7693,6 +7803,7 @@
tvestelind = {
email = "tomas.vestelind@fripost.org";
github = "tvestelind";
githubId = 699403;
name = "Tomas Vestelind";
};
tvorog = {
@ -7704,11 +7815,13 @@
tweber = {
email = "tw+nixpkgs@360vier.de";
github = "thorstenweber83";
githubId = 9413924;
name = "Thorsten Weber";
};
twey = {
email = "twey@twey.co.uk";
github = "twey";
github = "Twey";
githubId = 101639;
name = "James Twey Kay";
};
twhitehead = {
@ -7772,6 +7885,7 @@
uwap = {
email = "me@uwap.name";
github = "uwap";
githubId = 2212422;
name = "uwap";
};
va1entin = {
@ -7789,12 +7903,13 @@
valebes = {
email = "valebes@gmail.com";
github = "valebes";
githubid = 10956211;
githubId = 10956211;
name = "Valerio Besozzi";
};
valeriangalliat = {
email = "val@codejam.info";
github = "valeriangalliat";
githubId = 3929133;
name = "Valérian Galliat";
};
valodim = {
@ -7842,6 +7957,7 @@
vcanadi = {
email = "vito.canadi@gmail.com";
github = "vcanadi";
githubId = 8889722;
name = "Vitomir Čanadi";
};
vcunat = {
@ -7904,6 +8020,7 @@
viric = {
email = "viric@viric.name";
github = "viric";
githubId = 66664;
name = "Lluís Batlle i Rossell";
};
virusdave = {
@ -7915,6 +8032,7 @@
vizanto = {
email = "danny@prime.vc";
github = "vizanto";
githubId = 326263;
name = "Danny Wilson";
};
vklquevs = {
@ -7944,6 +8062,7 @@
vmchale = {
email = "tmchale@wisc.edu";
github = "vmchale";
githubId = 13259982;
name = "Vanessa McHale";
};
volhovm = {
@ -8067,6 +8186,7 @@
wscott = {
email = "wsc9tt@gmail.com";
github = "wscott";
githubId = 31487;
name = "Wayne Scott";
};
wucke13 = {
@ -8120,6 +8240,7 @@
xnaveira = {
email = "xnaveira@gmail.com";
github = "xnaveira";
githubId = 2534411;
name = "Xavier Naveira";
};
xnwdd = {
@ -8161,6 +8282,7 @@
y0no = {
email = "y0no@y0no.fr";
github = "y0no";
githubId = 2242427;
name = "Yoann Ono";
};
yarny = {
@ -8242,6 +8364,7 @@
yvesf = {
email = "yvesf+nix@xapek.org";
github = "yvesf";
githubId = 179548;
name = "Yves Fischer";
};
yvt = {
@ -8271,6 +8394,7 @@
zalakain = {
email = "ping@umazalakain.info";
github = "umazalakain";
githubId = 1319905;
name = "Uma Zalakain";
};
zaninime = {
@ -8431,6 +8555,7 @@
name = "Nicholas Gerstle";
email = "ngerstle@gmail.com";
github = "ngerstle";
githubId = 1023752;
};
xavierzwirtz = {
email = "me@xavierzwirtz.com";

View file

@ -4,56 +4,102 @@ with lib;
let
cfg = config.services.traefik;
configFile =
if cfg.configFile == null then
pkgs.runCommand "config.toml" {
buildInputs = [ pkgs.remarshal ];
preferLocalBuild = true;
} ''
remarshal -if json -of toml \
< ${pkgs.writeText "config.json" (builtins.toJSON cfg.configOptions)} \
> $out
''
else cfg.configFile;
jsonValue = with types;
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" {
buildInputs = [ pkgs.remarshal ];
preferLocalBuild = true;
} ''
remarshal -if json -of toml \
< ${
pkgs.writeText "dynamic_config.json"
(builtins.toJSON cfg.dynamicConfigOptions)
} \
> $out
''
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 {
options.services.traefik = {
enable = mkEnableOption "Traefik web server";
configFile = mkOption {
staticConfigFile = mkOption {
default = null;
example = literalExample "/path/to/config.toml";
example = literalExample "/path/to/static_config.toml";
type = types.nullOr types.path;
description = ''
Path to verbatim traefik.toml to use.
(Using that option has precedence over <literal>configOptions</literal>)
Path to traefik's static configuration to use.
(Using that option has precedence over <literal>staticConfigOptions</literal> and <literal>dynamicConfigOptions</literal>)
'';
};
configOptions = mkOption {
staticConfigOptions = mkOption {
description = ''
Config for Traefik.
Static configuration for Traefik.
'';
type = types.attrs;
default = {
defaultEntryPoints = ["http"];
entryPoints.http.address = ":80";
};
type = jsonValue;
default = { entryPoints.http.address = ":80"; };
example = {
defaultEntrypoints = [ "http" ];
web.address = ":8080";
entryPoints.web.address = ":8080";
entryPoints.http.address = ":80";
file = {};
frontends = {
frontend1 = {
backend = "backend1";
routes.test_1.rule = "Host:localhost";
};
};
backends.backend1 = {
servers.server1.url = "http://localhost:8000";
api = { };
};
};
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"; }];
};
};
@ -61,7 +107,7 @@ in {
default = "/var/lib/traefik";
type = types.path;
description = ''
Location for any persistent data traefik creates, ie. acme
Location for any persistent data traefik creates, ie. acme
'';
};
@ -84,16 +130,15 @@ in {
};
config = mkIf cfg.enable {
systemd.tmpfiles.rules = [
"d '${cfg.dataDir}' 0700 traefik traefik - -"
];
systemd.tmpfiles.rules = [ "d '${cfg.dataDir}' 0700 traefik traefik - -" ];
systemd.services.traefik = {
description = "Traefik web server";
after = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = ''${cfg.package.bin}/bin/traefik --configfile=${configFile}'';
ExecStart =
"${cfg.package}/bin/traefik --configfile=${staticConfigFile}";
Type = "simple";
User = "traefik";
Group = cfg.group;
@ -120,6 +165,6 @@ in {
isSystemUser = true;
};
users.groups.traefik = {};
users.groups.traefik = { };
};
}

View file

@ -303,6 +303,8 @@ in
timezone = handleTest ./timezone.nix {};
tinydns = handleTest ./tinydns.nix {};
tor = handleTest ./tor.nix {};
# traefik test relies on docker-containers
traefik = handleTestOn ["x86_64-linux"] ./traefik.nix {};
transmission = handleTest ./transmission.nix {};
trac = handleTest ./trac.nix {};
trilium-server = handleTestOn ["x86_64-linux"] ./trilium-server.nix {};

87
nixos/tests/traefik.nix Normal file
View 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/"
)
'';
})

View file

@ -1,14 +1,51 @@
{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, doxygen
, fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, libjack2
, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg
, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
, libusb, libuuid, libxml2, libxslt, lilv, lrdf, lv2, makeWrapper
, perl, pkgconfig, python2, rubberband, serd, sord, sratom
, taglib, vamp-plugin-sdk, dbus, fftw, pango, suil, libarchive
, wafHook }:
{ stdenv
, fetchgit
, alsaLib
, aubio
, boost
, cairomm
, curl
, 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
# Ardour git repo uses a mix of annotated and lightweight tags. Annotated
# 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
@ -18,10 +55,7 @@ let
# Version to build.
tag = "5.12";
in
stdenv.mkDerivation rec {
in stdenv.mkDerivation rec {
name = "ardour-${tag}";
src = fetchgit {
@ -30,46 +64,84 @@ stdenv.mkDerivation rec {
sha256 = "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr";
};
nativeBuildInputs = [ wafHook ];
buildInputs =
[ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac
glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo
libmad libogg librdf_raptor librdf_rasqal libsamplerate
libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lrdf lv2
makeWrapper pango perl pkgconfig python2 rubberband serd sord
sratom suil taglib vamp-plugin-sdk libarchive
];
nativeBuildInputs = [
wafHook
makeWrapper
pkg-config
itstool
doxygen
graphviz # for dot
perl
python2
];
# 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.
patchPhase = ''
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-${builtins.substring 0 8 src.rev}\"; }\n' > libs/ardour/revision.cc
sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript
patchShebangs ./tools/
'';
buildInputs = [
alsaLib
aubio
boost
cairomm
curl
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 = [
"--optimize"
"--docs"
"--use-external-libs"
"--freedesktop"
"--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 = ''
# Install desktop file
mkdir -p "$out/share/applications"
cat > "$out/share/applications/ardour.desktop" << EOF
[Desktop Entry]
Name=Ardour 5
GenericName=Digital Audio Workstation
Comment=Multitrack harddisk recorder
Exec=$out/bin/ardour5
Icon=$out/share/ardour5/resources/Ardour-icon_256px.png
Terminal=false
Type=Application
X-MultipleArgs=false
Categories=GTK;Audio;AudioVideoEditing;AudioVideo;Video;
EOF
# wscript does not install these for some reason
install -vDm 644 "build/gtk2_ardour/ardour.xml" \
-t "$out/share/mime/packages"
install -vDm 644 "build/gtk2_ardour/ardour5.desktop" \
-t "$out/share/applications"
for size in 16 22 32 48 256 512; do
install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \
"$out/share/icons/hicolor/''${size}x''${size}/apps/ardour5.png"
done
install -vDm 644 "ardour.1"* -t "$out/share/man/man1"
'';
meta = with stdenv.lib; {

View file

@ -21,9 +21,9 @@ stdenv.mkDerivation rec {
src = fetchzip {
url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.zip";
sha256 = {
aarch64-linux = "1lcpj1mgkvksq1d08ibh59y0dmdh7zm77wi5ziqhg3p5g9nxyasd";
armv7l-linux = "0sljy06302x567jqw5lagbyhpc3j140jk4wccacxjrbb6hcx3l42";
x86_64-darwin = "1b058s9kny026q395nj99v8hggxkgv43nnjkmx1a2siajw0db94c";
aarch64-linux = "0z2fqlf156348ha3zhv16kvqdx68fbwbzch2gzjm9x1na9n5k1ra";
armv7l-linux = "1ppwgrmgl1j2ws9mhrscvvkamd69a6xw7x35df6d30cyj97r0mzy";
x86_64-darwin = "0f8vn6m3xzsiyxm2ka5wkbp63wvzrix6g1xrbpvcm3v2llmychkl";
x86_64-linux = "035c1nlw0nim057sz3axpkcgkafqbm6gpr8hwr097vlrqll6w3dv";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
dontBuild = true;
dontStrip = true;
dontPatchELF = true;
preferLocalBuild = true;
installPhase = ''
mkdir -p $out/bin

View file

@ -1,6 +1,15 @@
{ mkDerivation, fetchFromGitHub, lib
, pkgconfig, cmake
, exiv2, qtbase, qtimageformats, qtsvg
{ mkDerivation
, lib
, fetchFromGitHub
, cmake
, pkgconfig
, exiv2
, mpv
, qtbase
, qtimageformats
, qtsvg
}:
mkDerivation rec {
@ -14,33 +23,32 @@ mkDerivation rec {
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 = [
pkgconfig
cmake
pkgconfig
];
buildInputs = [
exiv2
mpv
qtbase
qtimageformats
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; {
description = "Qt5 image viewer with optional video support";
description = "A Qt5 image viewer with optional video support";
homepage = "https://github.com/easymodo/qimgv";
license = licenses.gpl3;
platforms = platforms.linux;

View file

@ -17,18 +17,18 @@
, librsvg
}:
python3Packages.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
pname = "ulauncher";
version = "5.6.1";
version = "5.7.3";
disabled = python3Packages.isPy27;
src = fetchurl {
url = "https://github.com/Ulauncher/Ulauncher/releases/download/${version}/ulauncher_${version}.tar.gz";
sha256 = "14k68lp58wldldhaq4cf0ffkhi81czv4ps9xa86iw1j5b1gd2vbl";
sha256 = "0wq2zsq3496fjfg89q01dsm7sb7kv92sycvqm6ad8z1z2kpisrbh";
};
nativeBuildInputs = with python3Packages; [
nativeBuildInputs = with python3Packages; [
distutils_extra
intltool
wrapGAppsHook
@ -71,7 +71,6 @@ python3Packages.buildPythonApplication rec {
patches = [
./fix-path.patch
./fix-permissions.patch # ulauncher PR #523
./0001-Adjust-get_data_path-for-NixOS.patch
./fix-extensions.patch
];

View file

@ -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')

View file

@ -2,13 +2,13 @@
let
pname = "deltachat-electron";
version = "1.1.0";
version = "1.2.0";
name = "${pname}-${version}";
src = fetchurl {
url =
"https://download.delta.chat/desktop/r${version}/DeltaChat-${version}.AppImage";
sha256 = "0pbn45cyv0h3fp7s9v9q93v12ah2gj7daaq0r3z140im6zv0rkrc";
"https://download.delta.chat/desktop/v${version}/DeltaChat-${version}.AppImage";
sha256 = "Cyb34bfQEdwOA6XYZO+1Ri/2e/PRat15aUMn7IElmUI=";
};
appimageContents = appimageTools.extract { inherit name src; };

View file

@ -1,7 +1,6 @@
{ stdenv, fetchFromGitHub
, makeWrapper, makeDesktopItem, mkYarnPackage
, electron_7, riot-web, gtk3
, wrapGAppsHook, glib
, electron_7, riot-web
}:
# Notes for maintainers:
# * versions of `riot-web` and `riot-desktop` should be kept in sync.
@ -27,14 +26,7 @@ in mkYarnPackage rec {
packageJSON = ./riot-desktop-package.json;
yarnNix = ./riot-desktop-yarndeps.nix;
nativeBuildInputs = [ wrapGAppsHook ];
extraBuildInputs = [
glib
gtk3
];
dontWrapGApps = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
# resources
@ -54,13 +46,10 @@ in mkYarnPackage rec {
# desktop item
mkdir -p "$out/share"
ln -s "${desktopItem}/share/applications" "$out/share/applications"
'';
postFixup = ''
# executable wrapper
makeWrapper '${electron}/bin/electron' "$out/bin/${executableName}" \
--add-flags "$out/share/riot/electron" \
"''${gappsWrapperArgs[@]}"
--add-flags "$out/share/riot/electron"
'';
# Do not attempt generating a tarball for riot-web again.

View file

@ -1,15 +1,16 @@
{ 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 {
pname = "bookworm";
version = "unstable-2018-11-19";
version = "1.1.2";
src = fetchFromGitHub {
owner = "babluboy";
repo = pname;
rev = "4c3061784ff42151cac77d12bf2a28bf831fdfc5";
sha256 = "0yrqxa60xlvz249kx966z5krx8i7h17ac0hjgq9p8f0irzy5yp0n";
rev = version;
sha256 = "0w0rlyahpgx0l6inkbj106agbnr2czil0vdcy1zzv70apnjz488j";
};
nativeBuildInputs = [
@ -35,6 +36,8 @@ stdenv.mkDerivation rec {
python2
sqlite
webkitgtk
appstream
desktop-file-utils
];
postPatch = ''

View file

@ -16,6 +16,9 @@
++ [crateFeatures]
++ extraRustcOpts
++ 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}";

View file

@ -457,6 +457,18 @@ let
"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 {});
tests = lib.mapAttrs (key: value: mkTest (value // lib.optionalAttrs (!value?crateName) { crateName = key; })) cases;

View file

@ -3,7 +3,6 @@
, fetchpatch
, which
, cmake
, clang
, llvmPackages
, libunwind
, gettext
@ -44,7 +43,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
which
cmake
clang
llvmPackages.clang
];
buildInputs = [

View file

@ -1,4 +1,4 @@
# See pkgs/build-support/setup-hooks/role.bash
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@"

View file

@ -1,4 +1,13 @@
{ 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 {
pname = "compiler-rt";
inherit version;
@ -11,27 +20,26 @@ stdenv.mkDerivation rec {
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
];
cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [
cmakeFlags = [
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
"-DCMAKE_C_FLAGS=-nodefaultlibs"
"-DCMAKE_CXX_COMPILER_WORKS=ON"
] ++ 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"
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
] ++ 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"
] ++ stdenv.lib.optionals (bareMetal) [
"-DCOMPILER_RT_OS_DIR=baremetal"
];
@ -50,7 +58,7 @@ stdenv.mkDerivation rec {
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
substituteInPlace cmake/config-ix.cmake \
--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 \
--replace "#include <stdlib.h>" ""
substituteInPlace lib/builtins/clear_cache.c \
@ -62,7 +70,7 @@ stdenv.mkDerivation rec {
# Hack around weird upsream RPATH bug
postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
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.crtend-*.o $out/lib/crtend.o
ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o

View file

@ -1,4 +1,4 @@
{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
@ -7,6 +7,7 @@
let
release_version = "10.0.0";
version = release_version; # differentiating these (variables) is important for rc's
targetConfig = stdenv.targetPlatform.config;
fetch = name: sha256: fetchurl {
url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}/${name}-${version}.src.tar.xz";
@ -60,7 +61,12 @@ let
libstdcxxHook
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 {

View file

@ -1,5 +1,13 @@
{ 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 {
pname = "compiler-rt";
inherit version;
@ -8,16 +16,39 @@ stdenv.mkDerivation {
nativeBuildInputs = [ cmake python3 llvm ];
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"
"-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" ];
patches = [
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
] ++ optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
++ optional (stdenv.hostPlatform.libc == "glibc") ./compiler-rt-sys-ustat.patch;
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.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
# 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 ''
substituteInPlace cmake/config-ix.cmake \
--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
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
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;

View file

@ -1,4 +1,4 @@
{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
@ -7,6 +7,7 @@
let
release_version = "5.0.2";
version = release_version; # differentiating these is important for rc's
targetConfig = stdenv.targetPlatform.config;
fetch = name: sha256: fetchurl {
url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
@ -56,7 +57,12 @@ let
extraPackages = [
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 {

View file

@ -1,5 +1,13 @@
{ 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 {
pname = "compiler-rt";
inherit version;
@ -8,15 +16,38 @@ stdenv.mkDerivation {
nativeBuildInputs = [ cmake python3 llvm ];
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"
"-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" ];
patches = [
./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
# 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 ''
substituteInPlace cmake/config-ix.cmake \
--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
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
postInstall = stdenv.lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
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;

View file

@ -1,4 +1,4 @@
{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
@ -7,6 +7,7 @@
let
release_version = "6.0.1";
version = release_version; # differentiating these is important for rc's
targetConfig = stdenv.targetPlatform.config;
fetch = name: sha256: fetchurl {
url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
@ -56,7 +57,12 @@ let
extraPackages = [
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 {

View file

@ -20,7 +20,7 @@ stdenv.mkDerivation {
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
];
cmakeFlags = stdenv.lib.optionals (useLLVM || stdenv.isDarwin) [
cmakeFlags = [
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
@ -68,7 +68,7 @@ stdenv.mkDerivation {
'';
# 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"
'' + stdenv.lib.optionalString (useLLVM) ''
ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o

View file

@ -1,4 +1,4 @@
{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
@ -7,6 +7,7 @@
let
release_version = "7.1.0";
version = release_version; # differentiating these is important for rc's
targetConfig = stdenv.targetPlatform.config;
fetch = name: sha256: fetchurl {
url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
@ -63,7 +64,12 @@ let
extraPackages = [
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 {

View file

@ -20,7 +20,7 @@ stdenv.mkDerivation {
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
];
cmakeFlags = stdenv.lib.optionals (useLLVM || stdenv.isDarwin) [
cmakeFlags = [
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"

View file

@ -1,4 +1,4 @@
{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
@ -7,6 +7,7 @@
let
release_version = "8.0.1";
version = release_version; # differentiating these is important for rc's
targetConfig = stdenv.targetPlatform.config;
fetch = name: sha256: fetchurl {
url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}/${name}-${version}.src.tar.xz";
@ -63,7 +64,12 @@ let
extraPackages = [
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 {

View file

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
];
cmakeFlags = stdenv.lib.optionals (useLLVM || stdenv.isDarwin) [
cmakeFlags = [
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
"-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"

View file

@ -1,4 +1,4 @@
{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
@ -7,6 +7,7 @@
let
release_version = "9.0.1";
version = release_version; # differentiating these is important for rc's
targetConfig = stdenv.targetPlatform.config;
fetch = name: sha256: fetchurl {
url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}/${name}-${version}.src.tar.xz";
@ -63,7 +64,12 @@ let
extraPackages = [
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 {

View 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;
};
}

View file

@ -28,6 +28,9 @@ assert enableShared || enableStatic;
assert enablePython -> stdenv.hostPlatform == stdenv.buildPlatform;
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;
let

View 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 ];
};
}

View 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;
};
}

View file

@ -4,12 +4,12 @@
stdenv.mkDerivation rec {
pname = "liburing";
version = "0.4pre514_${builtins.substring 0 8 src.rev}";
version = "0.6pre600_${builtins.substring 0 8 src.rev}";
src = fetchgit {
url = "http://git.kernel.dk/${pname}";
rev = "2454d6301d83a714d0775662b512fd46dbf82a0d";
sha256 = "0qdycr0w0rymnizc4p5rh2qcnzr05afris4ggaawdg4zr07jms7k";
rev = "f2e1f3590f7bed3040bd1691676b50839f7d5c39";
sha256 = "0wg0pgcbilbb2wg08hsvd18q1m8vdk46b3piz7qb1pvgyq01idj2";
};
separateDebugInfo = true;

View file

@ -11,12 +11,12 @@
buildPythonPackage rec {
pname = "gensim";
version = "3.8.1";
version = "3.8.2";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "33277fc0a8d7b0c7ce70fcc74bb82ad39f944c009b334856c6e86bf552b1dfdc";
sha256 = "1x9gvz954h10wgq02wybi21llwwjj9r1gal2qr82q7g1h9g0dqs6";
};
propagatedBuildInputs = [ smart_open numpy six scipy ];

View file

@ -4,11 +4,11 @@
buildPythonPackage rec {
pname = "gphoto2";
version = "2.2.1";
version = "2.2.2";
src = fetchPypi {
inherit pname version;
sha256 = "118zm25c8mlajfl0pzssnwz4b8lamj9dgymla9rn4nla7l244a0r";
sha256 = "0sd3w0gpnb58hg8mv20nfqf4g1plr9rkn51h088xdsd6i97r9x99";
};
nativeBuildInputs = [ pkgconfig ];

View file

@ -5,12 +5,12 @@
}:
buildPythonPackage rec {
version = "3.3.0";
version = "3.3.1";
pname = "gspread";
src = fetchPypi {
inherit pname version;
sha256 = "1nlmg7lnj162nql1acw9z7n1043sk49j11arlfn766i9ykvq6hng";
sha256 = "0mpvhndr38hb5x95xk2mqqasvcy6pa7ck8801bvpg5y3lwn5nka0";
};
propagatedBuildInputs = [ requests ];

View 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 ];
};
}

View file

@ -22,12 +22,12 @@
buildPythonPackage rec {
pname = "pikepdf";
version = "1.10.2";
version = "1.11.0";
disabled = ! isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "1y94ay2jz4m55nlyrg283xsjqsxigmj7vzrzf1mskbpjb20335fb";
sha256 = "0v9sraihad0vz8dv3zc5xm5f2ixwbpr2kfpya5s0mgnrn6l19nds";
};
buildInputs = [

View 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 ];
};
}

View file

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "PyChromecast";
version = "4.2.0";
version = "4.2.3";
src = fetchPypi {
inherit pname version;
sha256 = "05h7ncymyh1715v2jkj312qza5qlqrz6yfpgyv4kdf1m07zh7pxh";
sha256 = "1nqy9zvzxzncfmmbsj4ccb36gymh4pp1n1l9fdhv8fi0ai9b7dyp";
};
disabled = !isPy3k;

View file

@ -3,21 +3,21 @@
buildPythonPackage rec {
pname = "pypandoc";
version = "unstable-2018-06-18";
version = "1.5";
src = fetchFromGitHub {
owner = "bebraw";
repo = pname;
rev = "87912f0f17e0a71c1160008df708c876d32e5819";
sha256 = "0l6knkxxhmni4lx8hyvbb71svnhza08ivyklqlk5fw637gznc0hx";
rev = version;
sha256 = "1lpslfns6zxx7b0xr13bzg921lwrj5am8za0b2dviywk6iiib0ld";
};
postPatch = ''
# set pandoc path statically
sed -i '/^__pandoc_path = None$/c__pandoc_path = "${pandoc}/bin/pandoc"' pypandoc/__init__.py
# Fix tests: requires network access
substituteInPlace tests.py --replace "pypandoc.convert(url, 'html')" "'GPL2 license'"
# Skip test that requires network access
sed -i '/test_basic_conversion_from_http_url/i\\ @unittest.skip\("no network access during checkPhase"\)' tests.py
'';
preCheck = ''

View file

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "python-nomad";
version = "1.1.0";
version = "1.2.1";
src = fetchPypi {
inherit pname version;
sha256 = "1rf6ad35vg3yi1p4l383xwx0ammdvr1k71bxg93bgcvljypx4cyn";
sha256 = "0ivkfdrmb4wpyawvwrgm3jvx6hn49vqjpwbkmkmamigghqqwacx3";
};
propagatedBuildInputs = [ requests ];

View file

@ -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
mkElectron = import ./generic.nix args;

View file

@ -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:
let
@ -34,7 +34,7 @@ let
};
linux = {
buildInputs = [ gtk3 ];
buildInputs = [ glib gtk3 ];
nativeBuildInputs = [
unzip
@ -44,13 +44,16 @@ let
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
unzip -d $out/lib/electron $src
ln -s $out/lib/electron/electron $out/bin
'';
fixupPhase
postFixup = ''
patchelf \
--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" \

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec{
pname = "cypress";
version = "4.2.0";
version = "4.3.0";
src = fetchzip {
url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
sha256 = "0ksa7c0bpq13xxgk0qizg3kfyjihcqan5wm6f45v7kgz3wwxc4nz";
sha256 = "0lrjha3zrsclpk8bhmv14vy1y5liahjkvcd87zm6cik1rnscaspw";
};
# don't remove runtime deps

View file

@ -9,16 +9,16 @@ stdenv.mkDerivation rec {
pname = "spring";
version = "104.0.1-${buildId}-g${shortRev}";
# usually the latest in https://github.com/spring/spring/commits/maintenance
rev = "176577006b3367a6ca3cafb8e7779af76429d655";
rev = "f266c8107b3e5dda5a78061ef00ca0ed8736d6f2";
shortRev = builtins.substring 0 7 rev;
buildId = "1485";
buildId = "1486";
# taken from https://github.com/spring/spring/commits/maintenance
src = fetchFromGitHub {
owner = "spring";
repo = "spring";
inherit rev;
sha256 = "0p2bwbvy0chcd2mmhqwx04szkyjvz1p3aink5g63s3r4ghcqlrbr";
sha256 = "1nx68d894yfmqc6df72hmk75ph26fqdvlmmq58cca0vbwpz9hf5v";
fetchSubmodules = true;
};

View file

@ -7,7 +7,7 @@ with stdenv;
let
majorVersion = "0";
minorVersion = "219";
minorVersion = "220";
desktopItem = makeDesktopItem {
name = "MAME";
@ -26,7 +26,7 @@ in mkDerivation {
owner = "mamedev";
repo = "mame";
rev = "mame${majorVersion}${minorVersion}";
sha256 = "048ar1j2vsrvqqc3spy9qcch2lbxn0ycd9lv4ig5wfnvjkdjdvgr";
sha256 = "0ddmq3lagk7f1wkgybckcci4sigcqn1gzafggnnqjzq2q8viww0c";
};
hardeningDisable = [ "fortify" ];

View file

@ -1,39 +1,37 @@
{ stdenv, buildGoPackage, fetchFromGitHub, bash, go-bindata}:
{ stdenv, buildGoModule, fetchFromGitHub, go-bindata, nixosTests }:
buildGoPackage rec {
buildGoModule rec {
pname = "traefik";
version = "1.7.14";
goPackagePath = "github.com/containous/traefik";
version = "2.2.0";
src = fetchFromGitHub {
owner = "containous";
repo = "traefik";
rev = "v${version}";
sha256 = "1j3p09j8rpdkp8v4d4mz224ddakkvhzchvccm9qryrqc2fq4022v";
sha256 = "1dcazssabqxr9wv3dds3z7ks3y628qa07vgnn3hpdwxzm2b2ma92";
};
nativeBuildInputs = [ go-bindata bash ];
modSha256 = "0w3ssxvsmq8i6hbfmn4ig2x13i2nlqy5q1khcblf9pq5vhk202qx";
subPackages = [ "cmd/traefik" ];
buildPhase = ''
runHook preBuild
(
cd go/src/github.com/containous/traefik
bash ./script/make.sh generate
nativeBuildInputs = [ go-bindata ];
CODENAME=$(awk -F "=" '/CODENAME=/ { print $2}' script/binary)
go build -ldflags "\
-X github.com/containous/traefik/version.Version=${version} \
-X github.com/containous/traefik/version.Codename=$CODENAME \
" -a -o $bin/bin/traefik ./cmd/traefik
)
runHook postBuild
passthru.tests = { inherit (nixosTests) traefik; };
preBuild = ''
go generate
CODENAME=$(awk -F "=" '/CODENAME=/ { print $2}' script/binary)
makeFlagsArray+=("-ldflags=\
-X github.com/containous/traefik/version.Version=${version} \
-X github.com/containous/traefik/version.Codename=$CODENAME")
'';
meta = with stdenv.lib; {
homepage = "https://traefik.io";
description = "A modern reverse proxy";
license = licenses.mit;
maintainers = with maintainers; [ hamhut1066 vdemeester ];
maintainers = with maintainers; [ vdemeester ];
};
}

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "lf";
version = "13";
version = "14";
src = fetchFromGitHub {
owner = "gokcehan";
repo = "lf";
rev = "r${version}";
sha256 = "1ld3q75v8rvp169w5p85z1vznqs9bhck6bm2f6fykxx16hmpb6ga";
sha256 = "0kl9yrgph1i0jbxhlg3k0411436w80xw1s8dzd7v7h2raygkb4is";
};
modSha256 = "14fvn8yjm9cnpsmzgxw2dypr3h8h36mxrbk7zma42w8rsp46jpz7";
modSha256 = "1c6c6qg8yrhdhqsnqj3jw3x2hi8vrhfm47cp9xlkfnjfrz3nk6jp";
# TODO: Setting buildFlags probably isn't working properly. I've tried a few
# variants, e.g.:
@ -27,6 +27,7 @@ buildGoModule rec {
postInstall = ''
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; {
@ -38,6 +39,7 @@ buildGoModule rec {
are handled by external tools.
'';
homepage = "https://godoc.org/github.com/gokcehan/lf";
changelog = "https://github.com/gokcehan/lf/releases/tag/r${version}";
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ primeos ];

View file

@ -681,6 +681,11 @@ mapAliases ({
clang_35 = 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 */
oraclejdk8psu = throw ''
The *psu versions of oraclejdk aren't provided by upstream anymore and were therefore removed!

View file

@ -8003,8 +8003,6 @@ in
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_9 = llvmPackages_9.clang;
@ -8184,7 +8182,11 @@ in
}));
libstdcxxHook = makeSetupHook
{ substitutions = { gcc = gcc-unwrapped; }; }
{ substitutions = {
gcc = gcc-unwrapped;
targetConfig = stdenv.targetPlatform.config;
};
}
../development/compilers/gcc/libstdc++-hook.sh;
crossLibcStdenv = overrideCC stdenv
@ -8801,7 +8803,7 @@ in
stdenv = gcc7Stdenv;
});
llvmPackages_latest = llvmPackages_9; # llvmPackages_10: when out of RC
llvmPackages_latest = llvmPackages_10;
lorri = callPackage ../tools/misc/lorri {
inherit (darwin.apple_sdk.frameworks) CoreServices Security;
@ -12077,6 +12079,12 @@ in
libusb = libusb1;
};
highfive = callPackage ../development/libraries/highfive { };
highfive-mpi = appendToName "mpi" (highfive.override {
hdf5 = hdf5-mpi;
});
hiredis = callPackage ../development/libraries/hiredis { };
hiredis-vip = callPackage ../development/libraries/hiredis-vip { };
@ -12119,6 +12127,8 @@ in
hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { };
hydra-check = with python3.pkgs; toPythonApplication hydra-check;
hyena = callPackage ../development/libraries/hyena { };
hyperscan = callPackage ../development/libraries/hyperscan { };
@ -14199,6 +14209,8 @@ in
readosm = callPackage ../development/libraries/readosm { };
kissfft = callPackage ../development/libraries/kissfft { };
lambdabot = callPackage ../development/tools/haskell/lambdabot {
haskellLib = haskell.lib;
};
@ -14227,6 +14239,8 @@ in
lvtk = callPackage ../development/libraries/audio/lvtk { };
qm-dsp = callPackage ../development/libraries/audio/qm-dsp { };
qradiolink = callPackage ../applications/radio/qradiolink { };
qrupdate = callPackage ../development/libraries/qrupdate { };
@ -18420,9 +18434,7 @@ in
aqemu = libsForQt5.callPackage ../applications/virtualization/aqemu { };
ardour = callPackage ../applications/audio/ardour {
inherit (gnome2) libgnomecanvas libgnomecanvasmm;
};
ardour = callPackage ../applications/audio/ardour { };
arelle = with python3Packages; toPythonApplication arelle;

View file

@ -1129,6 +1129,8 @@ in {
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 { };
pydbus = callPackage ../development/python-modules/pydbus { };
@ -4008,6 +4010,8 @@ in {
hypothesis = callPackage ../development/python-modules/hypothesis { };
hydra-check = callPackage ../development/python-modules/hydra-check { };
colored = callPackage ../development/python-modules/colored { };
xdg = callPackage ../development/python-modules/xdg { };