Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2019-05-16 08:17:55 +02:00
commit d4464ff8fe
92 changed files with 2133 additions and 1403 deletions

View file

@ -747,7 +747,8 @@ passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ]
latter is convenient from a build script. However, typically one only wants
to <emphasis>add</emphasis> some commands to a phase, e.g. by defining
<literal>postInstall</literal> or <literal>preFixup</literal>, as skipping
some of the default actions may have unexpected consequences.
some of the default actions may have unexpected consequences. The default
script for each phase is defined in the file <filename>pkgs/stdenv/generic/setup.sh</filename>.
</para>
<section xml:id="ssec-controlling-phases">

View file

@ -464,6 +464,21 @@ EOF
}
}
# For lack of a better way to determine it, guess whether we should use a
# bigger font for the console from the display mode on the first
# framebuffer. A way based on the physical size/actual DPI reported by
# the monitor would be nice, but I don't know how to do this without X :)
my $fb_modes_file = "/sys/class/graphics/fb0/modes";
if (-f $fb_modes_file && -r $fb_modes_file) {
my $modes = read_file($fb_modes_file);
$modes =~ m/([0-9]+)x([0-9]+)/;
my $console_width = $1, my $console_height = $2;
if ($console_width > 1920) {
push @attrs, "# High-DPI console";
push @attrs, 'i18n.consoleFont = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";';
}
}
# Generate the hardware configuration file.

View file

@ -35,6 +35,7 @@ let
${optionalString (cfg.class != null) "class = ${cfg.class}"}
memory = ${cfg.memory}
storage_memory = ${cfg.storageMemory}
trace_format = ${cfg.traceFormat}
${optionalString (cfg.tls != null) ''
tls_plugin = ${pkg}/libexec/plugins/FDBLibTLS.so
@ -317,6 +318,12 @@ in
default = "/run/foundationdb.pid";
description = "Path to pidfile for fdbmonitor.";
};
traceFormat = mkOption {
type = types.enum [ "xml" "json" ];
default = "xml";
description = "Trace logging format.";
};
};
config = mkIf cfg.enable {
@ -382,7 +389,7 @@ in
chown -R ${cfg.user}:${cfg.group} ${cfg.pidfile}
for x in "${cfg.logDir}" "${cfg.dataDir}"; do
[ ! -d "$x" ] && mkdir -m 0700 -vp "$x";
[ ! -d "$x" ] && mkdir -m 0770 -vp "$x";
chown -R ${cfg.user}:${cfg.group} "$x";
done
@ -404,7 +411,7 @@ in
postStart = ''
if [ -e "${cfg.dataDir}/.first_startup" ]; then
fdbcli --exec "configure new single memory"
fdbcli --exec "configure new single ssd"
rm -f "${cfg.dataDir}/.first_startup";
fi
'';

View file

@ -153,7 +153,6 @@ in
({
description = "Tinc Daemon - ${network}";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
path = [ data.package ];
restartTriggers = [ config.environment.etc."tinc/${network}/tinc.conf".source ];
serviceConfig = {

View file

@ -47,7 +47,7 @@ in
client1 =
{ pkgs, nodes, ... }:
{ environment.systemPackages = [ pkgs.miniupnpc pkgs.netcat ];
{ environment.systemPackages = [ pkgs.miniupnpc_2 pkgs.netcat ];
virtualisation.vlans = [ 2 ];
networking.defaultGateway = internalRouterAddress;
networking.interfaces.eth1.ipv4.addresses = [
@ -63,7 +63,7 @@ in
client2 =
{ pkgs, ... }:
{ environment.systemPackages = [ pkgs.miniupnpc ];
{ environment.systemPackages = [ pkgs.miniupnpc_2 ];
virtualisation.vlans = [ 1 ];
networking.interfaces.eth1.ipv4.addresses = [
{ address = externalClient2Address; prefixLength = 24; }

View file

@ -21,7 +21,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "lollypop";
version = "1.0.7";
version = "1.0.10";
format = "other";
doCheck = false;
@ -30,7 +30,7 @@ python3.pkgs.buildPythonApplication rec {
url = "https://gitlab.gnome.org/World/lollypop";
rev = "refs/tags/${version}";
fetchSubmodules = true;
sha256 = "0gdds4qssn32axsa5janqny5i4426azj5wyj6bzn026zs3z38svn";
sha256 = "118z1qhvpv7x5n63lpm4mf81pmv7gd450sa55i68mnjvry93h9h5";
};
nativeBuildInputs = [
@ -59,10 +59,8 @@ python3.pkgs.buildPythonApplication rec {
propagatedBuildInputs = with python3.pkgs; [
beautifulsoup4
gst-python
pillow
pycairo
pydbus
pygobject3
]
++ lib.optional lastFMSupport pylast
@ -84,6 +82,7 @@ python3.pkgs.buildPythonApplication rec {
description = "A modern music player for GNOME";
homepage = https://wiki.gnome.org/Apps/Lollypop;
license = licenses.gpl3Plus;
changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}";
maintainers = with maintainers; [ worldofpeace ];
platforms = platforms.linux;
};

View file

@ -7,7 +7,7 @@
stdenv.mkDerivation rec {
name = "dbeaver-ce-${version}";
version = "6.0.3";
version = "6.0.4";
desktopItem = makeDesktopItem {
name = "dbeaver";
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
sha256 = "0pcf8p9nmbj6kf32zrjjrfyxb07x37h56zm3s5gdf1jk2hvrarvl";
sha256 = "1b3yv91bvwrkln63asn6ybkdhzb8pibz55rr99rv0z8rbmwnbjpn";
};
installPhase = ''

View file

@ -1,8 +1,8 @@
{ haskell, lib, haskellPackages, fetchFromGitHub }:
let
version = "1.4.2";
sha256 = "1kpzjsbx2xbp43hd62nq03jcknp0dqvdlxjc9gc3fagaqfbfzny2";
version = "1.4.3";
sha256 = "0i12x7qzfmmdvi09k96x53zzzrva2w3zbl2f6dkxb8kk5scqqa4v";
in (haskellPackages.mkDerivation {
pname = "taskell";
@ -57,5 +57,9 @@ in (haskellPackages.mkDerivation {
tasty-hunit
];
license = lib.licenses.bsd3;
description = "Command-line Kanban board/task manager with support for Trello boards and GitHub projects";
homepage = "https://taskell.app";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ matthiasbeyer ];
platforms = with lib.platforms; unix ++ darwin;
})

View file

@ -1,14 +1,14 @@
{ stdenv, buildGoPackage, fetchurl, fetchFromGitHub, go-bindata }:
let
version = "1.4.13";
version = "1.5.0";
# TODO: must build the extension instead of downloading it. But since it's
# literally an asset that is indifferent regardless of the platform, this
# might be just enough.
webext = fetchurl {
url = "https://github.com/browsh-org/browsh/releases/download/v${version}/browsh-${version}-an.fx.xpi";
sha256 = "11477z7mva8lwfxsrfxckvgqkxrjhc80czra8cqhpakf0fih1a4g";
sha256 = "063m6rcdyf2zcrswkm56k8h3w15124bw5iykklzm60q5jk4ywn3f";
};
in buildGoPackage rec {
@ -18,18 +18,19 @@ in buildGoPackage rec {
goPackagePath = "browsh";
# further go package dependencies are defined in deps.nix, see line below.
src = fetchFromGitHub {
owner = "browsh-org";
repo = "browsh";
rev = "v${version}";
sha256 = "0lvb20zziknlbgy509ccpvlc21sqjc53xar26blmb6sdl6yqkj0w";
sha256 = "14addyb1zdk1b9mizfxdagyzlkd9nf5gawnbrs44j5a3ggnl14ln";
};
buildInputs = [ go-bindata ];
# embed the web extension in a go file and place it where it's supposed to
# be. See
# https://github.com/browsh-org/browsh/blob/9abc3aaa3f575ca6ec9a483408d9fdfcf76300fa/interfacer/contrib/xpi2bin.sh
# https://github.com/browsh-org/browsh/blob/v1.5.0/interfacer/contrib/xpi2bin.sh
preBuild = ''
xpiprefix="$(mktemp -d)"
cp "${webext}" "$xpiprefix/browsh.xpi"

View file

@ -100,11 +100,11 @@ let
flash = stdenv.mkDerivation rec {
name = "flashplayer-ppapi-${version}";
version = "32.0.0.171";
version = "32.0.0.192";
src = fetchzip {
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
sha256 = "1rqf1kidpf2jqf20dw3hscrapdpm2j751742i6xnvj9mp66nczyg";
sha256 = "14nydiqjvr7hc4dmn900p7j7rp6prwyaf6xnki2ssbq6h1ni2lg1";
stripRoot = false;
};

View file

@ -74,7 +74,7 @@ let
in
stdenv.mkDerivation rec {
name = "flashplayer-${version}";
version = "32.0.0.171";
version = "32.0.0.192";
src = fetchurl {
url =
@ -85,14 +85,14 @@ stdenv.mkDerivation rec {
sha256 =
if debug then
if arch == "x86_64" then
"0dl2kxsn4wh3243qkwyq13ikbmz6ljg95a1v02cylz36kpfl51iv"
"0n5m70mz1fa5pgpz1ldqgn6bkr4in5qjn79kb85127wmg8fddbz7"
else
"1v9imcyml55qlvp0cibi5r5kl0rcivzvmnqgw8ph3xjm1yrxw3fr"
"1q6pjmnw2h8k09va5x64ijmq0kmfb569rwcibwl0d8kylxi97b6v"
else
if arch == "x86_64" then
"1f3nl4qkws16q2yw940vvb0zmmwxks1blm4ida65hlda6f9zfq3h"
"1h2ya3szq24dczv2izxy47kr2raiahxx7zvm49jlvlcp5cygxvjk"
else
"0df9nbxyn4wl4ap333mgnnmy994xj7i5hz07sw83pszlz3pjkc0m";
"084bv0m9w1v2s4bf5rgan40l1fajwfam3njvgm47ffyg6s0kg1kh";
};
nativeBuildInputs = [ unzip ];

View file

@ -50,7 +50,7 @@
stdenv.mkDerivation rec {
name = "flashplayer-standalone-${version}";
version = "32.0.0.171";
version = "32.0.0.192";
src = fetchurl {
url =
@ -60,9 +60,9 @@ stdenv.mkDerivation rec {
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz";
sha256 =
if debug then
"0z4fkqbq1s63lpzfkyxllwx2wpizbabr4zim1dn7n59ld75vjxq8"
"0j5rzamyajkiblalqkimx29bwm7yg9m4nj9z7z8hahcywpf81yqg"
else
"0nvgcdmgvgbj6axrh0yzkk437bxwsaxl0mvfkcyyz1hxnq51dvvg";
"0qnz383aggm07hbvyrnqphwhd5wp9xbairf908nk4i6ad8wg1x3r";
};
nativeBuildInputs = [ unzip ];

View file

@ -16,11 +16,11 @@ let
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
in stdenv.mkDerivation rec {
pname = "vivaldi";
version = "2.5.1525.40-1";
version = "2.5.1525.41-1";
src = fetchurl {
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
sha256 = "1samrhavjz21vynv1vz8qnv9bf30mcy0da0qkpa1vhbgkga5flgy";
sha256 = "0hdyk2f0jwp9rgzkqidksrmbri6lgihlgny6hpksfz132m00lv0b";
};
unpackPhase = ''

View file

@ -1,7 +1,7 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p libarchive curl common-updater-scripts
set -xeu -o pipefail
set -eu -o pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
root=../../../../..

View file

@ -3,16 +3,16 @@
stdenv.mkDerivation rec {
pname = "chirp-daily";
version = "20190304";
version = "20190511";
src = fetchurl {
url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${pname}-${version}.tar.gz";
sha256 = "1m18f7j0bdimp0fvs5ms02amd5pzis581hqn38y8qffny4y9f6ij";
sha256 = "1k5smkzkvbr4d8gbl1yczf2i5xrdkgk6i8pmwnlfghzcgy8n4jzj";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [
pyserial pygtk libxml2Python libxslt pyserial
pyserial pygtk libxml2Python libxslt
];
installPhase = ''

View file

@ -8,6 +8,7 @@
{ stdenv, fetchFromGitHub, writeText, pkgconfig
, ocamlPackages, ncurses
, buildIde ? true
, glib, gnome3, wrapGAppsHook
, csdp ? null
, version
}:
@ -26,9 +27,15 @@ let
"8.8.1" = "1hlf58gwazywbmfa48219amid38vqdl94yz21i11b4map6jfwhbk";
"8.8.2" = "1lip3xja924dm6qblisk1bk0x8ai24s5xxqxphbdxj6djglj68fd";
"8.9.0" = "1dkgdjc4n1m15m1p724hhi5cyxpqbjw6rxc5na6fl3v4qjjfnizh";
"8.10+beta1" = "19wf39i0ap2vakglgdlqxpjd3l1h5w7dp460w8y7nc1y06b2153h";
}."${version}";
coq-version = builtins.substring 0 3 version;
ideFlags = if buildIde then "-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
coq-version =
let inherit (builtins) concatStringsSep head map; in
let inherit (stdenv.lib) take splitString; in
concatStringsSep "." (take 2 (map head (map (splitString "pl") (splitString "." version))));
versionAtLeast = stdenv.lib.versionAtLeast coq-version;
ideFlags = stdenv.lib.optionalString (buildIde && !versionAtLeast "8.10")
"-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt";
csdpPatch = if csdp != null then ''
substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp"
substituteInPlace plugins/micromega/coq_micromega.ml --replace "System.is_in_system_path \"csdp\"" "true"
@ -96,7 +103,10 @@ self = stdenv.mkDerivation {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ ncurses ] ++ (with ocamlPackages; [ ocaml findlib camlp5 num ])
++ stdenv.lib.optional buildIde ocamlPackages.lablgtk;
++ stdenv.lib.optionals buildIde
(if versionAtLeast "8.10"
then [ ocamlPackages.lablgtk3-sourceview3 glib gnome3.defaultIconTheme wrapGAppsHook ]
else [ ocamlPackages.lablgtk ]);
postPatch = ''
UNAME=$(type -tp uname)
@ -117,7 +127,9 @@ self = stdenv.mkDerivation {
addEnvHooks "$targetOffset" addCoqPath
'';
preConfigure = ''
preConfigure = if versionAtLeast "8.10" then ''
patchShebangs dev/tools/
'' else ''
configureFlagsArray=(
${ideFlags}
)

View file

@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "nasc";
version = "0.5.2";
version = "0.5.4";
src = fetchFromGitHub {
owner = "parnold-x";
repo = pname;
rev = version;
sha256 = "009xmlsgl7r6wp6sczbdp8sjqqd6k2mychx5b4zn7wnrl7435y5y";
sha256 = "036v3dx8yasp19j88lflibqnpfi5d0nk7qkcnr80zn1lvawf4wgn";
};
nativeBuildInputs = [

View file

@ -1021,22 +1021,22 @@ rec {
};
debian9i386 = {
name = "debian-9.4-stretch-i386";
fullName = "Debian 9.4 Stretch (i386)";
name = "debian-9.8-stretch-i386";
fullName = "Debian 9.8 Stretch (i386)";
packagesList = fetchurl {
url = http://snapshot.debian.org/archive/debian/20180912T154744Z/dists/stretch/main/binary-i386/Packages.xz;
sha256 = "0flvn8zn7vk04p10ndf3aq0mdr8k2ic01g51aq4lsllkv8lmwzyh";
url = http://snapshot.debian.org/archive/debian/20190503T090946Z/dists/stretch/main/binary-i386/Packages.xz;
sha256 = "1dr3skl35iyj85qlc33lq4whippbqf327vnbcyfqqrv6h86k68mw";
};
urlPrefix = mirror://debian;
packages = commonDebianPackages;
};
debian9x86_64 = {
name = "debian-9.4-stretch-amd64";
fullName = "Debian 9.4 Stretch (amd64)";
name = "debian-9.8-stretch-amd64";
fullName = "Debian 9.8 Stretch (amd64)";
packagesList = fetchurl {
url = http://snapshot.debian.org/archive/debian/20180912T154744Z/dists/stretch/main/binary-amd64/Packages.xz;
sha256 = "11vnn9bba2jabixvabfbw9zparl326c88xn99di7pbr5xsnl15jm";
url = http://snapshot.debian.org/archive/debian/20190503T090946Z/dists/stretch/main/binary-amd64/Packages.xz;
sha256 = "01q00nl47p12n7wx0xclx59wf3zlkzrgj3zxpshyvb91xdnw5sh6";
};
urlPrefix = mirror://debian;
packages = commonDebianPackages;

View file

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
name = "gnome-desktop-${version}";
version = "3.32.1";
version = "3.32.2";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/gnome-desktop/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "040s8ia26xyq25zcd9xji9f5jhsddqd7a23jassy429bir34sxkg";
sha256 = "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9";
};
enableParallelBuilding = true;

View file

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "gala";
version = "unstable-2019-02-09"; # Is tracking https://github.com/elementary/gala/commits/stable/juno
version = "unstable-2019-05-14"; # Is tracking https://github.com/elementary/gala/commits/stable/juno
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = "1a96644c6aac405927499dacb308dea13512e919";
sha256 = "1zi7xyzhsypf52zzfwf7dwcxgd0skxbsssv1vsxgmswszg23p7i3";
rev = "3ae100da4bbd9dabe353f468778ef63ef2dcd5d7";
sha256 = "08xcj4z9mq511w8hdpr60nmd6j1cj7rs7rgs4s5ivyg11kg5w17b";
};
passthru = {

View file

@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
passthru = {
compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6";
compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" ];
};
}

View file

@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
passthru = {
compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.5";
compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" ];
};
}

View file

@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
passthru = {
compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6";
compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" ];
};
}

View file

@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
};
passthru = {
compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6";
compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" ];
};
}

View file

@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
};
passthru = {
compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6";
compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" ];
};
}

View file

@ -1,30 +0,0 @@
{ stdenv, fetchFromGitHub, coq, mathcomp-bigenough, mathcomp-finmap }:
stdenv.mkDerivation rec {
version = "0.2.0";
name = "coq${coq.coq-version}-mathcomp-analysis-${version}";
src = fetchFromGitHub {
owner = "math-comp";
repo = "analysis";
rev = version;
sha256 = "1186xjxgns4ns1szyi931964bjm0mp126qzlv10mkqqgfw07nhrd";
};
buildInputs = [ coq ];
propagatedBuildInputs = [ mathcomp-bigenough mathcomp-finmap ];
installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
meta = {
description = "Analysis library compatible with Mathematical Components";
inherit (src.meta) homepage;
inherit (coq.meta) platforms;
license = stdenv.lib.licenses.cecill-c;
maintainers = [ stdenv.lib.maintainers.vbgl ];
};
passthru = {
compatibleCoqVersions = v: builtins.elem v [ "8.8" "8.9" ];
};
}

View file

@ -1,29 +0,0 @@
{ stdenv, fetchFromGitHub, coq, mathcomp }:
stdenv.mkDerivation rec {
version = "1.0.0";
name = "coq${coq.coq-version}-mathcomp-bigenough-${version}";
src = fetchFromGitHub {
owner = "math-comp";
repo = "bigenough";
rev = version;
sha256 = "10g0gp3hk7wri7lijkrqna263346wwf6a3hbd4qr9gn8hmsx70wg";
};
buildInputs = [ coq ];
propagatedBuildInputs = [ mathcomp ];
installFlags = "-f Makefile.coq COQLIB=$(out)/lib/coq/${coq.coq-version}/";
meta = {
description = "A small library to do epsilon - N reasonning";
inherit (src.meta) homepage;
inherit (mathcomp.meta) platforms license;
maintainers = [ stdenv.lib.maintainers.vbgl ];
};
passthru = {
compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" ];
};
}

View file

@ -1,40 +0,0 @@
{ stdenv, fetchFromGitHub, coq, mathcomp }:
let param =
if stdenv.lib.versionAtLeast mathcomp.version "1.8.0"
then {
version = "1.2.0";
sha256 = "0b6wrdr0d7rcnv86s37zm80540jl2wmiyf39ih7mw3dlwli2cyj4";
} else {
version = "1.1.0";
sha256 = "05df59v3na8jhpsfp7hq3niam6asgcaipg2wngnzxzqnl86srp2a";
}
; in
stdenv.mkDerivation rec {
inherit (param) version;
name = "coq${coq.coq-version}-mathcomp-finmap-${version}";
src = fetchFromGitHub {
owner = "math-comp";
repo = "finmap";
rev = version;
inherit (param) sha256;
};
buildInputs = [ coq ];
propagatedBuildInputs = [ mathcomp ];
installFlags = "-f Makefile.coq COQLIB=$(out)/lib/coq/${coq.coq-version}/";
meta = {
description = "A finset and finmap library";
inherit (src.meta) homepage;
inherit (mathcomp.meta) platforms license;
maintainers = [ stdenv.lib.maintainers.vbgl ];
};
passthru = {
compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" ];
};
}

View file

@ -1,70 +1,146 @@
{ stdenv, fetchFromGitHub, coq, ncurses, which
, graphviz, withDoc ? false
{ stdenv, fetchFromGitHub, ncurses, which, graphviz, coq,
recurseIntoAttrs, withDoc ? false
}:
let param =
if stdenv.lib.versionAtLeast coq.coq-version "8.7" then
{
version = "1.8.0";
sha256 = "07l40is389ih8bi525gpqs3qp4yb2kl11r9c8ynk1ifpjzpnabwp";
}
else if stdenv.lib.versionAtLeast coq.coq-version "8.6" then
{
version = "1.7.0";
sha256 = "0wnhj9nqpx2bw6n1l4i8jgrw3pjajvckvj3lr4vzjb3my2lbxdd1";
}
else if stdenv.lib.versionAtLeast coq.coq-version "8.5" then
{
version = "1.6.1";
sha256 = "1ilw6vm4dlsdv9cd7kmf0vfrh2kkzr45wrqr8m37miy0byzr4p9i";
}
else throw "No version of math-comp is available for Coq ${coq.coq-version}";
in
stdenv.mkDerivation rec {
name = "coq${coq.coq-version}-mathcomp-${version}";
# used in ssreflect
inherit (param) version;
src = fetchFromGitHub {
owner = "math-comp";
repo = "math-comp";
rev = "mathcomp-${param.version}";
inherit (param) sha256;
with builtins // stdenv.lib;
let
# sha256 of released mathcomp versions
mathcomp-sha256 = {
"1.8.0" = "07l40is389ih8bi525gpqs3qp4yb2kl11r9c8ynk1ifpjzpnabwp";
"1.7.0" = "0wnhj9nqpx2bw6n1l4i8jgrw3pjajvckvj3lr4vzjb3my2lbxdd1";
"1.6.1" = "1ilw6vm4dlsdv9cd7kmf0vfrh2kkzr45wrqr8m37miy0byzr4p9i";
};
nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ];
buildInputs = [ coq ncurses which ] ++ (with coq.ocamlPackages; [ ocaml findlib camlp5 ]);
enableParallelBuilding = true;
buildFlags = stdenv.lib.optionalString withDoc "doc";
COQBIN = "${coq}/bin/";
preBuild = ''
patchShebangs etc/utils/ssrcoqdep || true
cd mathcomp
'';
installPhase = ''
make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install
'' + stdenv.lib.optionalString withDoc ''
make -f Makefile.coq install-doc DOCDIR=$out/share/coq/${coq.coq-version}/
'';
meta = with stdenv.lib; {
homepage = http://ssr.msr-inria.inria.fr/;
license = licenses.cecill-b;
maintainers = [ maintainers.vbgl maintainers.jwiegley ];
platforms = coq.meta.platforms;
# versions of coq compatible with released mathcomp versions
mathcomp-coq-versions = {
"1.8.0" = flip elem ["8.7" "8.8" "8.9"];
"1.7.0" = flip elem ["8.6" "8.7" "8.8" "8.9"];
"1.6.1" = flip elem ["8.5"];
};
# computes the default version of mathcomp given a version of Coq
min-mathcomp-version = head (naturalSort (attrNames mathcomp-coq-versions));
default-mathcomp-version = last (naturalSort ([min-mathcomp-version]
++ (attrNames (filterAttrs (_: vs: vs coq.coq-version) mathcomp-coq-versions))));
passthru = {
compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.5";
};
# list of core mathcomp packages sorted by dependency order
mathcomp-packages =
[ "ssreflect" "fingroup" "algebra" "solvable" "field" "character" "all" ];
# compute the dependencies of the core package pkg
# (assuming the total ordering above, rewrite if necessary)
mathcomp-deps = pkg: if pkg == "single" then [] else
(split (x: x == pkg) mathcomp-packages).left;
}
# generic split function (TODO: move to lib?)
split = pred: l:
let loop = v: l: if l == [] then {left = v; right = [];}
else let hd = builtins.head l; tl = builtins.tail l; in
if pred hd then {left = v; right = tl;} else loop (v ++ [hd]) tl;
in loop [] l;
# exported, documented at the end.
mathcompGen = mkMathcompGenFrom (_: {}) mathcomp-packages;
# exported, documented at the end.
mathcompGenSingle = mkMathcompGen (_: {}) "single";
# mkMathcompGen: internal mathcomp package generator
# returns {error = ...} if impossible to generate
# returns {${mathcomp-pkg} = <derivation>} otherwise
mkMathcompGenFrom = o: l: mcv: fold (pkg: pkgs: pkgs // mkMathcompGen o pkg mcv) {} l;
mkMathcompGen = overrides: mathcomp-pkg: mathcomp-version:
let
coq-version-check = mathcomp-coq-versions.${mathcomp-version} or (_: false);
pkgpath = {single = "mathcomp";}.${mathcomp-pkg} or "mathcomp/${mathcomp-pkg}";
pkgname = {single = "mathcomp";}.${mathcomp-pkg} or "mathcomp-${mathcomp-pkg}";
pkgallMake = ''
echo "all.v" > Make
echo "-I ." >> Make
echo "-R . mathcomp.all" >> Make
'';
# the base set of attributes for mathcomp
attrs = rec {
name = "coq${coq.coq-version}-${pkgname}-${mathcomp-version}";
# used in ssreflect
version = mathcomp-version;
src = fetchFromGitHub {
owner = "math-comp";
repo = "math-comp";
rev = "mathcomp-${mathcomp-version}";
sha256 = mathcomp-sha256.${mathcomp-version};
};
nativeBuildInputs = optionals withDoc [ graphviz ];
buildInputs = [ ncurses which ] ++ (with coq.ocamlPackages; [ ocaml findlib camlp5 ]);
propagatedBuildInputs = [ coq ] ++
attrValues (mkMathcompGenFrom overrides (mathcomp-deps mathcomp-pkg) mathcomp-version);
enableParallelBuilding = true;
buildFlags = optionalString withDoc "doc";
COQBIN = "${coq}/bin/";
preBuild = ''
patchShebangs etc/utils/ssrcoqdep || true
cd ${pkgpath}
'' + optionalString (mathcomp-pkg == "all") pkgallMake;
installPhase = ''
make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install
'' + optionalString withDoc ''
make -f Makefile.coq install-doc DOCDIR=$out/share/coq/${coq.coq-version}/
'';
meta = with stdenv.lib; {
homepage = http://ssr.msr-inria.inria.fr/;
license = licenses.cecill-b;
maintainers = [ maintainers.vbgl maintainers.jwiegley ];
platforms = coq.meta.platforms;
};
passthru = {
compatibleCoqVersions = coq-version-check;
currentOverrides = overrides;
overrideMathcomp = moreOverrides:
(mkMathcompGen (old: let new = overrides old; in new // moreOverrides new)
mathcomp-pkg mathcomp-version).${mathcomp-pkg};
mathcompGen = moreOverrides:
(mkMathcompGenFrom (old: let new = overrides old; in new // moreOverrides new)
mathcomp-packages mathcomp-version);
};
};
in
{"${mathcomp-pkg}" = stdenv.mkDerivation (attrs // overrides attrs);};
getAttrOr = a: n: a."${n}" or (throw a.error);
mathcompCorePkgs_1_7 = mathcompGen "1.7.0";
mathcompCorePkgs_1_8 = mathcompGen "1.8.0";
mathcompCorePkgs = recurseIntoAttrs
(mapDerivationAttrset dontDistribute (mathcompGen default-mathcomp-version));
in rec {
# mathcompGenSingle: given a version of mathcomp
# generates an attribute set {single = <drv>;} with the single mathcomp derivation
inherit mathcompGenSingle;
mathcomp_1_7_single = getAttrOr (mathcompGenSingle "1.7.0") "single";
mathcomp_1_8_single = getAttrOr (mathcompGenSingle "1.8.0") "single";
mathcomp_single = dontDistribute
(getAttrOr (mathcompGenSingle default-mathcomp-version) "single");
# mathcompGen: given a version of mathcomp
# generates an attribute set {ssreflect = <drv>; ... character = <drv>; all = <drv>;}.
# each of these have a special attribute overrideMathcomp which
# must be used instead of overrideAttrs in order to also fix the dependencies
inherit mathcompGen mathcompCorePkgs_1_7 mathcompCorePkgs_1_8 mathcompCorePkgs;
mathcomp_1_7 = getAttrOr mathcompCorePkgs_1_7 "all";
mathcomp_1_8 = getAttrOr mathcompCorePkgs_1_8 "all";
mathcomp = getAttrOr mathcompCorePkgs "all";
ssreflect = getAttrOr mathcompCorePkgs "ssreflect";
} //
(mapAttrs' (n: pkg: {name = "mathcomp-${n}"; value = pkg;}) mathcompCorePkgs) //
(mapAttrs' (n: pkg: {name = "mathcomp-${n}_1_7"; value = pkg;}) mathcompCorePkgs_1_7) //
(mapAttrs' (n: pkg: {name = "mathcomp-${n}_1_8"; value = pkg;}) mathcompCorePkgs_1_8)

View file

@ -0,0 +1,138 @@
{ stdenv, fetchFromGitHub, coq, mathcomp, coqPackages,
recurseIntoAttrs }:
with builtins // stdenv.lib;
let current-mathcomp = mathcomp; in
let
# configuring packages
param = {
finmap = {
version-sha256 = {
"1.2.0" = "0b6wrdr0d7rcnv86s37zm80540jl2wmiyf39ih7mw3dlwli2cyj4";
"1.1.0" = "05df59v3na8jhpsfp7hq3niam6asgcaipg2wngnzxzqnl86srp2a";
"1.0.0" = "0sah7k9qm8sw17cgd02f0x84hki8vj8kdz7h15i7rmz08rj0whpa";
};
description = "A finset and finmap library";
};
bigenough = {
version-sha256 = {"1.0.0" = "10g0gp3hk7wri7lijkrqna263346wwf6a3hbd4qr9gn8hmsx70wg";};
description = "A small library to do epsilon - N reasonning";
};
multinomials = {
version-sha256 = {
"1.2" = "1mh1w339dslgv4f810xr1b8v2w7rpx6fgk9pz96q0fyq49fw2xcq";
"1.1" = "1q8alsm89wkc0lhcvxlyn0pd8rbl2nnxg81zyrabpz610qqjqc3s";
"1.0" = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m";
};
description = "A Coq/SSReflect Library for Monoidal Rings and Multinomials";
};
analysis = {
version-sha256 = {
"0.2.0" = "1186xjxgns4ns1szyi931964bjm0mp126qzlv10mkqqgfw07nhrd";
"0.1.0" = "0hwkr2wzy710pcyh274fcarzdx8sv8myp16pv0vq5978nmih46al";
};
description = "Analysis library compatible with Mathematical Components";
};
};
versions = {
"1.8.0" = {
finmap.version = "1.2.0";
bigenough.version = "1.0.0";
analysis = {
version = "0.2.0";
core-deps = with coqPackages; [ mathcomp_1_8-field ];
extra-deps = with coqPackages; [ mathcomp_1_8-finmap mathcomp_1_8-bigenough ];
};
multinomials = {
version = "1.2";
core-deps = with coqPackages; [ mathcomp_1_8-algebra ];
extra-deps = with coqPackages; [ mathcomp_1_8-finmap mathcomp_1_8-bigenough ];
};
};
"1.7.0" = {
finmap.version = "1.1.0";
bigenough.version = "1.0.0";
analysis = {
version = "0.1.0";
core-deps = with coqPackages; [ mathcomp_1_7-field ];
extra-deps = with coqPackages; [ mathcomp_1_7-finmap mathcomp_1_7-bigenough ];
};
multinomials = {
version = "1.1";
core-deps = with coqPackages; [ mathcomp_1_7-algebra ];
extra-deps = with coqPackages; [ mathcomp_1_7-finmap_1_0 mathcomp_1_7-bigenough ];
};
};
};
# generic package generator
packageGen = {
# optional arguments
src ? "",
owner ? "math-comp",
core-deps ? [ coqPackages.mathcomp-ssreflect ],
extra-deps ? [],
coq-versions ? ["8.6" "8.7" "8.8" "8.9"],
mathcomp ? current-mathcomp,
license ? mathcomp.meta.license,
# mandatory
package, version, version-sha256, description
}:
if version == "" then {}
else { "${package}" =
let from = src; in
stdenv.mkDerivation rec {
inherit version;
name = "coq${coq.coq-version}-mathcomp-${mathcomp.version}-${package}-${version}";
src = if from == "" then fetchFromGitHub {
owner = owner;
repo = package;
rev = version;
sha256 = version-sha256."${version}";
} else from;
propagatedBuildInputs = [ coq mathcomp ] ++ extra-deps;
installFlags = "-f Makefile.coq COQLIB=$(out)/lib/coq/${coq.coq-version}/";
meta = {
inherit description;
inherit license;
inherit (src.meta) homepage;
inherit (mathcomp.meta) platforms;
maintainers = [ stdenv.lib.maintainers.vbgl ];
};
passthru = {
inherit version-sha256;
compatibleCoqVersions = v: builtins.elem v coq-versions;
};
};};
current-versions = versions."${current-mathcomp.version}"
or (throw "no mathcomp extra packages found for mathcomp ${current-mathcomp.version}");
select = x: mapAttrs (n: pkg: {package = n;} // pkg)
(recursiveUpdate (overrideExisting x param) x);
all = (mapAttrs' (n: pkg:
{name = "mathcomp_1_7-${n}";
value = (packageGen ({mathcomp = coqPackages.mathcomp_1_7;} // pkg))."${n}";})
(select versions."1.7.0")) //
(mapAttrs' (n: pkg:
{name = "mathcomp_1_8-${n}";
value = (packageGen ({mathcomp = coqPackages.mathcomp_1_8;} // pkg))."${n}";})
(select versions."1.8.0")) //
(recurseIntoAttrs (mapDerivationAttrset dontDistribute (
mapAttrs' (n: pkg: {name = "mathcomp-${n}"; value = (packageGen pkg)."${n}";})
(select current-versions))));
in
{
mathcompExtraGen = packageGen;
mathcomp_1_7-finmap_1_0 =
(packageGen (select {finmap = {version = "1.0.0";
mathcomp = coqPackages.mathcomp_1_7;};
}).finmap).finmap;
multinomials = all.mathcomp-multinomials;
} // all

View file

@ -1,28 +0,0 @@
{ stdenv, fetchFromGitHub, coq, mathcomp }:
stdenv.mkDerivation rec {
name = "coq${coq.coq-version}-multinomials-${version}";
version = "1.0";
src = fetchFromGitHub {
owner = "math-comp";
repo = "multinomials";
rev = version;
sha256 = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m";
};
buildInputs = [ coq ];
propagatedBuildInputs = [ mathcomp ];
installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
meta = {
description = "A Coq/SSReflect Library for Monoidal Rings and Multinomials";
inherit (src.meta) homepage;
license = stdenv.lib.licenses.cecill-b;
inherit (coq.meta) platforms;
};
passthru = {
compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" ];
};
}

View file

@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
};
passthru = {
compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.7";
compatibleCoqVersions = v: builtins.elem v [ "8.7" "8.8" "8.9" ];
};
}

View file

@ -765,7 +765,7 @@ self: super: {
};
in overrideCabal super.servant (old: {
postInstall = old.postInstall or "" + ''
ln -s ${docs} $doc/share/doc/servant
ln -s ${docs} ''${!outputDoc}/share/doc/servant
'';
});

View file

@ -2,19 +2,17 @@
stdenv.mkDerivation rec {
pname = "aws-c-common";
version = "0.3.4";
version = "0.3.9";
src = fetchFromGitHub {
owner = "awslabs";
repo = pname;
rev = "v${version}";
sha256 = "1z02ndb9jjn0p5bcc49pq0d8c0q2pq33dlszw77l76jkhrfx0921";
sha256 = "04wrmrw83vypqzsq88b2q8kp5sfbv0qsci3bcxw0c2mfxqk8358n";
};
nativeBuildInputs = [ cmake ];
buildInputs = lib.optional stdenv.hostPlatform.isMusl libexecinfo;
NIX_CFLAGS_COMPILE = lib.optionals stdenv.isDarwin [
"-Wno-nullability-extension"
"-Wno-typedef-redefinition"

View file

@ -0,0 +1,24 @@
{ lib, stdenv, fetchFromGitHub, cmake, eigen, suitesparse }:
stdenv.mkDerivation rec {
pname = "g2o";
version = "unstable-2019-04-07";
src = fetchFromGitHub {
owner = "RainerKuemmerle";
repo = pname;
rev = "9b41a4ea5ade8e1250b9c1b279f3a9c098811b5a";
sha256 = "1rgrz6zxiinrik3lgwgvsmlww1m2fnpjmvcx1mf62xi1s2ma5w2i";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ eigen suitesparse ];
meta = {
description = "A General Framework for Graph Optimization";
homepage = "https://github.com/RainerKuemmerle/g2o";
license = with lib.licenses; [ bsd3 lgpl3 gpl3 ];
maintainers = with lib.maintainers; [ lopsided98 ];
platforms = lib.platforms.all;
};
}

View file

@ -1,45 +1,19 @@
{ stdenv, fetchurl, fetchpatch, pkgconfig, glib, babl, libpng, cairo, libjpeg, which
{ stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which
, librsvg, pango, gtk, bzip2, json-glib, gettext, autoreconfHook, libraw
, gexiv2, libwebp, gnome3, libintl }:
stdenv.mkDerivation rec {
pname = "gegl";
version = "0.4.14";
version = "0.4.16";
outputs = [ "out" "dev" "devdoc" ];
outputBin = "dev";
src = fetchurl {
url = "https://download.gimp.org/pub/gegl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "00crhngwi07f5b9x77kx5p7p4cl6l5g6glpz9rqv7pfqk62xa0ac";
sha256 = "0njydcr6qdmfzh4fxx544681qxdpf7y6b2f47jcypn810dlxy4h1";
};
patches = stdenv.lib.optionals stdenv.isDarwin [
# Make the Darwin patches below apply cleanly
(fetchpatch {
url = https://gitlab.gnome.org/GNOME/gegl/commit/141a7aa76cd36143f624f06b1c43d2483945653c.patch;
sha256 = "0ijv9ra6723jn60krjwzbc6l9qr08h76bsz9xgddvfgsgr1nnpbi";
})
(fetchpatch {
url = https://gitlab.gnome.org/GNOME/gegl/commit/b3ff0df080d133bbdb394c3db40d4f9d2980a8a6.patch;
sha256 = "0im0rqk8mz9vi7qqx06vj4wm5hjwv1544jwdaaywlcrs9g266hl0";
})
(fetchpatch {
url = https://gitlab.gnome.org/GNOME/gegl/commit/fe756be6f0c776a45201a61f67d3e5e42f6398de.patch;
sha256 = "0h3rqwfsph2gisbwvc2v5a9r5b0djcxlm790xpi6yfndj42b0v2b";
})
# Fix build on Darwin
# https://gitlab.gnome.org/GNOME/gegl/merge_requests/28
(fetchpatch {
url = https://gitlab.gnome.org/GNOME/gegl/commit/ac331b5c0e3d940b64bb811b0f54e86c7d312917.patch;
sha256 = "1yj9jh8q9cbr1szrxhdapknk4nfhbkbc1njv50ifrj7vyfislj34";
})
(fetchpatch {
url = https://gitlab.gnome.org/GNOME/gegl/commit/d05eb01170728f45f561ca937708a293e29e02d9.patch;
sha256 = "0gwz12sm8kkmzyxsiq0sl30cabs5q0ckj743yrzimspkhrvc1ya2";
})
];
enableParallelBuilding = true;
doCheck = true;

View file

@ -1,4 +1,9 @@
{ lib, stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, zlib, ilmbase }:
{ lib, stdenv, buildPackages, fetchurl, autoconf, automake, libtool, pkgconfig, zlib, ilmbase, }:
let
# Doesn't really do anything when not crosscompiling
emulator = stdenv.hostPlatform.emulator buildPackages;
in
stdenv.mkDerivation rec {
name = "openexr-${version}";
@ -15,13 +20,28 @@ stdenv.mkDerivation rec {
outputs = [ "bin" "dev" "out" "doc" ];
# Needed because there are some generated sources. Solution: just run them under QEMU.
postPatch = ''
for file in b44ExpLogTable dwaLookups
do
# Ecape for both sh and Automake
emu=${lib.escapeShellArg (lib.replaceStrings ["$"] ["$$"] emulator)}
before="./$file > $file.h"
after="$emu $before"
substituteInPlace IlmImf/Makefile.am \
--replace "$before" "$after"
done
# Make sure the patch succeeded
[[ $(grep "$emu" IlmImf/Makefile.am | wc -l) = 2 ]]
'';
preConfigure = ''
patchShebangs ./bootstrap
./bootstrap
'';
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ autoconf automake libtool ];
nativeBuildInputs = [ pkgconfig autoconf automake libtool ];
propagatedBuildInputs = [ ilmbase zlib ];
enableParallelBuilding = true;

View file

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "vte";
version = "0.56.2";
version = "0.56.3";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0dyj2dqbzap37dvjax6vy2kwfqsw9d1hrc4ji33lha3mk1q3b5bf";
sha256 = "0j166gic5znssdb9r45qazq4kb4v9fial82czand5wa8i2yd988p";
};
passthru = {

View file

@ -1,5 +1,6 @@
{ stdenv, buildPythonPackage, fetchPypi
, unittest2 }:
, isPyPy, isPy3k, unittest2
}:
buildPythonPackage rec {
pname = "funcsigs";
@ -12,6 +13,9 @@ buildPythonPackage rec {
buildInputs = [ unittest2 ];
# https://github.com/testing-cabal/funcsigs/issues/10
patches = stdenv.lib.optional (isPyPy && isPy3k) [ ./fix-pypy3-tests.patch ];
meta = with stdenv.lib; {
description = "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+";
homepage = https://github.com/aliles/funcsigs;

View file

@ -0,0 +1,94 @@
diff --git a/tests/test_inspect.py b/tests/test_inspect.py
index 98d6592..3a2a1f2 100644
--- a/tests/test_inspect.py
+++ b/tests/test_inspect.py
@@ -8,6 +8,7 @@ import unittest2 as unittest
import funcsigs as inspect
+import platform
class TestSignatureObject(unittest.TestCase):
@staticmethod
@@ -409,7 +410,7 @@ def test_signature_on_decorated(self):
Ellipsis))
""")
- if sys.version_info[0] > 2:
+ if sys.version_info[0] > 2 and platform.python_implementation() != "PyPy":
exec("""
def test_signature_on_class(self):
class C:
@@ -493,41 +494,44 @@ def test_signature_on_class(self):
Ellipsis))
""")
- def test_signature_on_callable_objects(self):
- class Foo(object):
- def __call__(self, a):
- pass
+ if platform.python_implementation() != "PyPy":
+ exec("""
+def test_signature_on_callable_objects(self):
+ class Foo(object):
+ def __call__(self, a):
+ pass
- self.assertEqual(self.signature(Foo()),
- ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
- Ellipsis))
+ self.assertEqual(self.signature(Foo()),
+ ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
+ Ellipsis))
- class Spam(object):
- pass
- with self.assertRaisesRegex(TypeError, "is not a callable object"):
- inspect.signature(Spam())
+ class Spam(object):
+ pass
+ with self.assertRaisesRegex(TypeError, "is not a callable object"):
+ inspect.signature(Spam())
- class Bar(Spam, Foo):
- pass
+ class Bar(Spam, Foo):
+ pass
- self.assertEqual(self.signature(Bar()),
- ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
- Ellipsis))
+ self.assertEqual(self.signature(Bar()),
+ ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
+ Ellipsis))
- class ToFail(object):
- __call__ = type
- with self.assertRaisesRegex(ValueError, "not supported by signature"):
- inspect.signature(ToFail())
+ class ToFail(object):
+ __call__ = type
+ with self.assertRaisesRegex(ValueError, "not supported by signature"):
+ inspect.signature(ToFail())
- if sys.version_info[0] < 3:
- return
+ if sys.version_info[0] < 3:
+ return
- class Wrapped(object):
- pass
- Wrapped.__wrapped__ = lambda a: None
- self.assertEqual(self.signature(Wrapped),
- ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
- Ellipsis))
+ class Wrapped(object):
+ pass
+ Wrapped.__wrapped__ = lambda a: None
+ self.assertEqual(self.signature(Wrapped),
+ ((('a', Ellipsis, Ellipsis, "positional_or_keyword"),),
+ Ellipsis))
+""")
def test_signature_on_lambdas(self):
self.assertEqual(self.signature((lambda a=10: a)),

View file

@ -6,6 +6,7 @@
, httplib2
, sure
, nose
, nose-exclude
, coverage
, certifi
, urllib3
@ -24,18 +25,20 @@ buildPythonPackage rec {
sha256 = "01b52d45077e702eda491f4fe75328d3468fd886aed5dcc530003e7b2b5939dc";
};
checkInputs = [ nose sure coverage mock rednose
# Following not declared in setup.py
nose-randomly requests tornado httplib2
];
propagatedBuildInputs = [ six ];
checkInputs = [ nose sure coverage mock rednose
# Following not declared in setup.py
nose-randomly requests tornado httplib2 nose-exclude
];
__darwinAllowLocalNetworking = true;
NOSE_EXCLUDE = stdenv.lib.optionalString (stdenv.isAarch64) "tests.functional.test_httplib2.test_callback_response";
meta = with stdenv.lib; {
homepage = "https://falcao.it/HTTPretty/";
homepage = "https://httpretty.readthedocs.org/";
description = "HTTP client request mocking tool";
license = licenses.mit;
};
}

View file

@ -0,0 +1,26 @@
{ lib
, buildPythonPackage
, fetchPypi
, pythonOlder
, pyusb
, pyserial
}:
buildPythonPackage rec {
pname = "pyftdi";
version = "0.29.4";
disabled = pythonOlder "3.5";
src = fetchPypi {
inherit pname version;
sha256 = "0jy0xbqvmhy0nq9v86759d96raa8p52yq8ik3ji5kjlx7cizq67v";
};
propagatedBuildInputs = [ pyusb pyserial ];
meta = {
description = "User-space driver for modern FTDI devices";
homepage = "http://github.com/eblot/pyftdi";
license = lib.licenses.lgpl2;
};
}

View file

@ -5,11 +5,11 @@
buildPythonPackage rec {
pname = "Pympler";
version = "0.6";
version = "0.7";
src = fetchPypi {
inherit pname version;
sha256 = "c262ceca4dac67b8b523956833c52443420eabc3321a07185990b358b8ba13a7";
sha256 = "0ki7bqp1h9l1xc2k1h4vjyzsgs20i8ingvcdhszyi72s28wyf4bs";
};
postPatch = ''

View file

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "python-axolotl";
version = "0.1.42";
version = "0.2.2";
src = fetchPypi {
inherit pname version;
sha256 = "ef78c2efabcd4c33741669334bdda04710a3ef0e00b653f00127acff6460a7f0";
sha256 = "1had4dq4n26c3hp62rbmhvs1dj3j3z2jhcbddnbsmqmiky8dqs39";
};
propagatedBuildInputs = [ cryptography python-axolotl-curve25519 protobuf ];

View file

@ -7,11 +7,11 @@
buildPythonPackage rec {
pname = "sphinxcontrib-plantuml";
version = "0.14";
version = "0.15";
src = fetchPypi {
inherit pname version;
sha256 = "504229e943e8ac821cd9d708124bde30041ae9d8341f9ea953866404527f4e82";
sha256 = "06yl6aiw8gpq3wmi6wxy5lahfgbbmlw6nchq9h1ssi5lipwaxn7a";
};
# No tests included.

View file

@ -11,11 +11,11 @@
buildPythonPackage rec {
pname = "uncompyle6";
version = "3.2.6";
version = "3.3.2";
src = fetchPypi {
inherit pname version;
sha256 = "3a40f4f4b8b02a8687bd98c598980bed38a4770e3de253847eafed4b7167d07f";
sha256 = "096k1hipxxnsra5k86v6sm7bk1g0kb1f75yb44nvgf566kd6p119";
};
checkInputs = [ nose pytest hypothesis six ];
@ -23,8 +23,9 @@ buildPythonPackage rec {
# six import errors (yet it is supplied...)
checkPhase = ''
pytest ./pytest --ignore=pytest/test_build_const_key_map.py \
--ignore=pytest/test_grammar.py
runHook preCheck
pytest ./pytest --ignore=pytest/test_function_call.py
runHook postCheck
'';
meta = with stdenv.lib; {

View file

@ -7,12 +7,12 @@
}:
buildPythonPackage rec {
version = "0.7.0";
version = "0.8.0";
pname = "xcffib";
src = fetchPypi {
inherit pname version;
sha256 = "12yc2r8967hknk829q1lbsw6b9z7qa25y8dx8kz6c9qnlc215vb8";
sha256 = "1lf5plgfi92ir6bsjyjb9yvqjbxzh2cag33c8jl435iaxmnh76f3";
};
patchPhase = ''

View file

@ -8,11 +8,11 @@
buildPythonPackage rec {
pname = "xdis";
version = "3.8.10";
version = "4.0.1";
src = fetchPypi {
inherit pname version;
sha256 = "b00f37296edf2a4fe7b67b5d861c342426d442666d241674fdfc333936bd59bf";
sha256 = "1ifakxxawyxw4w4p58m4xdc0c955miqyaq3dfbl386ipw0f50kyz";
};
checkInputs = [ pytest ];

View file

@ -6,13 +6,13 @@ with rustPlatform;
buildRustPackage rec {
pname = "chit";
version = "0.1.12";
version = "0.1.13";
src = fetchFromGitHub {
owner = "peterheesterman";
repo = pname;
rev = version;
sha256 = "17g2p07zhf4n4pjmws0ssfy2mrn0v933ih0vnlr1z2cv9mx8srsl";
sha256 = "1qp5ad83lvfz9l4ihz1l500p8bgf7q0z1k4f3i13nd5n7i3ksdjc";
};
cargoSha256 = "1jqnnf4jgjpm1i310hda15423nxfw9frgpmc2kbrs66qcsj7avaw";
@ -23,9 +23,6 @@ buildRustPackage rec {
++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation CoreServices Security ])
;
# Tests require network access
doCheck = false;
meta = with stdenv.lib; {
description = "Crate help in terminal: A tool for looking up details about rust crates without going to crates.io";
longDescription = ''

View file

@ -9,7 +9,7 @@
{ stdenv, fetchurl, unzip, glib, libSM, libICE, gtk2, libXext, libXft
, fontconfig, libXrender, libXfixes, libX11, libXi, libXrandr, libXcursor
, freetype, libXinerama, libxcb, zlib, pciutils
, makeDesktopItem, xkeyboardconfig, runtimeShell
, makeDesktopItem, xkeyboardconfig, dbus, runtimeShell, libGL
}:
let
@ -17,30 +17,23 @@ let
libPath = stdenv.lib.makeLibraryPath [
glib libSM libICE gtk2 libXext libXft fontconfig libXrender libXfixes libX11
libXi libXrandr libXcursor freetype libXinerama libxcb zlib stdenv.cc.cc.lib
dbus libGL
];
in
assert stdenv.hostPlatform.system == "x86_64-linux";
stdenv.mkDerivation rec {
pname = "saleae-logic";
version = "1.2.10";
version = "1.2.28";
name = "${pname}-${version}";
src =
if stdenv.hostPlatform.system == "i686-linux" then
fetchurl {
name = "saleae-logic-${version}-32bit.zip";
url = "http://downloads.saleae.com/logic/${version}/Logic%20${version}%20(32-bit).zip";
sha256 = "1dyrj07cgj2fvwi1sk97vady9ri8f8n7mxy9zyzmw9isngs7bmll";
}
else if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
name = "saleae-logic-${version}-64bit.zip";
url = "http://downloads.saleae.com/logic/${version}/Logic%20${version}%20(64-bit).zip";
sha256 = "1skx2pfnic7pyss7c69qb7kg2xvflpxf112xkf9awk516dw1w4h7";
}
else
throw "Saleae Logic software requires i686-linux or x86_64-linux";
src = fetchurl {
name = "saleae-logic-${version}-64bit.zip";
url = "http://downloads.saleae.com/logic/${version}/Logic%20${version}%20(64-bit).zip";
sha256 = "0apq8hmn39k0ads4xy8iyy9rp8bvia60mh7a944rk1gjpqv227g5";
};
desktopItem = makeDesktopItem {
name = "saleae-logic";
@ -61,7 +54,15 @@ stdenv.mkDerivation rec {
# Patch it
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/Logic"
patchelf --set-rpath "${stdenv.cc.cc.lib}/lib:${stdenv.cc.cc.lib}/lib64:${libPath}:\$ORIGIN/Analyzers:\$ORIGIN" "$out/Logic"
for bin in "$out/Logic" \
"$out/libQt5Widgets.so.5" \
"$out/libQt5Gui.so.5" \
"$out/libQt5Core.so.5" \
"$out/libQt5Network.so.5" ; do
patchelf --set-rpath "${stdenv.cc.cc.lib}/lib:${stdenv.cc.cc.lib}/lib64:${libPath}:\$ORIGIN/Analyzers:\$ORIGIN" "$bin"
done
patchelf --set-rpath "${stdenv.cc.cc.lib}/lib:${stdenv.cc.cc.lib}/lib64:${libPath}:\$ORIGIN/../" "$out/platforms/libqxcb.so"
# Build the LD_PRELOAD library that makes Logic work from a read-only directory
mkdir -p "$out/lib"
@ -91,7 +92,7 @@ stdenv.mkDerivation rec {
description = "Software for Saleae logic analyzers";
homepage = http://www.saleae.com/;
license = licenses.unfree;
platforms = [ "x86_64-linux" "i686-linux" ];
platforms = platforms.linux;
maintainers = [ maintainers.bjornfor ];
};
}

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "nexus-${version}";
version = "3.15.0-01";
version = "3.16.1-02";
src = fetchurl {
url = "https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${version}-unix.tar.gz";
sha256 = "0akizdljcjl1nh25k01wxvp5wp4i2jphsj0hh5rqbd0fk1pjivkv";
sha256 = "0nfcpsb7byykiwrdz01c99a6hr5ww2d4471spzpgs9i64kbjj7ln";
};
sourceRoot = name;

View file

@ -1,15 +1,17 @@
--- nexus-3.5.1-02/bin/nexus 2017-08-18 17:51:08.000000000 +0200
+++ nexus 2017-08-31 12:41:01.271475645 +0200
@@ -72,7 +72,7 @@
diff --git a/bin/nexus b/bin/nexus
index d06cb44..37c606e 100755
--- a/bin/nexus
+++ b/bin/nexus
@@ -88,7 +88,7 @@ create_db_entry() {
fi
db_new_file=${db_file}_new
if [ -f "$db_file" ]; then
- awk '$1 != "'"$test_dir"'" {print $0}' $db_file > $db_new_file
+ awk '$1 != "'"$test_dir"'" {print $scriptname}' $db_file > $db_new_file
- awk '$2 != "'"$test_dir"'" {print $0}' $db_file > $db_new_file
+ awk '$2 != "'"$test_dir"'" {print $scriptname}' $db_file > $db_new_file
rm "$db_file"
mv "$db_new_file" "$db_file"
fi
@@ -236,7 +236,7 @@
@@ -246,7 +246,7 @@ read_vmoptions() {
unpack_file() {
if [ -f "$1" ]; then
@ -18,32 +20,24 @@
bin/unpack200 -r "$1" "$jar_file"
if [ $? -ne 0 ]; then
@@ -360,8 +360,14 @@
@@ -377,9 +377,14 @@ fi
old_pwd=`pwd`
-progname=`basename "$0"`
-linkdir=`dirname "$0"`
+scriptname=$0
+
+if [ ! -z "$ALTERNATIVE_NAME" ]; then
+ scriptname=`dirname "$0"`"/"$ALTERNATIVE_NAME
+fi
+
+progname=`basename "$scriptname"`
+linkdir=`dirname "$scriptname"`
cd "$linkdir"
prg="$progname"
@@ -522,7 +528,6 @@
$INSTALL4J_JAVA_PREFIX nohup "$app_java_home/bin/java" -server -Dinstall4j.jvmDir="$app_java_home" -Dexe4j.moduleName="$prg_dir/$progname" "-XX:+UnlockDiagnosticVMOptions" "-Dinstall4j.launcherId=245" "-Dinstall4j.swt=false" "$vmov_1" "$vmov_2" "$vmov_3" "$vmov_4" "$vmov_5" $INSTALL4J_ADD_VM_PARAMS -classpath "$local_classpath" com.install4j.runtime.launcher.UnixLauncher start 9d17dc87 "" "" org.sonatype.nexus.karaf.NexusMain > /dev/null 2>&1 &
-
;;
start-launchd)
echo "Starting nexus"
@@ -569,7 +574,7 @@
@@ -590,7 +595,7 @@ return_code=$?
;;
*)

View file

@ -1,19 +0,0 @@
diff --git a/Cargo.lock b/Cargo.lock
index 01d38a8..e74e735 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1,3 +1,5 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
[[package]]
name = "adler32"
version = "1.0.3"
@@ -41,7 +43,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "cargo-bloat"
-version = "0.6.2"
+version = "0.6.3"
dependencies = [
"goblin 0.0.22 (registry+https://github.com/rust-lang/crates.io-index)",
"memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",

View file

@ -2,16 +2,15 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-bloat";
version = "0.6.3";
version = "0.6.4";
src = fetchFromGitHub {
owner = "RazrFalcon";
repo = pname;
rev = "v${version}";
sha256 = "0jpwaw8ryfvfw5ypjvli18wwv6l1r6dyz1msipdpy7nvw1qdw54h";
sha256 = "041n4kj8kym9hcjc32m4b7nxfqnmzlyy5gfzjblx4nbg151hy945";
};
cargoPatches = [ ./cargo-lock.patch ];
cargoSha256 = "1275jfzkpkzbwv927hdkv4zplmynwrm7sbirq18dwfss55cm7r7z";
meta = with stdenv.lib; {

View file

@ -0,0 +1,43 @@
{ stdenv, fetchurl, runCommand, fetchFromGitHub, rustPlatform, Security }:
rustPlatform.buildRustPackage rec {
pname = "cargo-make";
version = "0.19.1";
src =
let
source = fetchFromGitHub {
owner = "sagiegurari";
repo = pname;
rev = version;
sha256 = "1bv5gv5zd9h0yw7wb28r0c4z9wqa6n7ac4ipd855apwz1v7sm9n3";
};
cargo-lock = fetchurl {
url = "https://gist.githubusercontent.com/xrelkd/e4c9c7738b21f284d97cb7b1d181317d/raw/8a12a07cafeff4ef4a01983f5243dd8c95d10c48/cargo-make-0.19.1-Cargo.lock";
sha256 = "0v2hygkpsyjcpzrgyzl5mah0y8gmprfbnz7kn4hh6zfhz2lhqqwm";
};
in
runCommand "cargo-make-src" {} ''
cp -R ${source} $out
chmod +w $out
cp ${cargo-lock} $out/Cargo.lock
'';
buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
cargoSha256 = "0j7gyg6l428gypjpfgdz082vz8m86cx1wy2r47az3sc3skl6dhkq";
# Some tests fail because they need network access.
# However, Travis ensures a proper build.
# See also:
# https://travis-ci.org/sagiegurari/cargo-make
doCheck = false;
meta = with stdenv.lib; {
description = "A Rust task runner and build tool";
homepage = https://github.com/sagiegurari/cargo-make;
license = licenses.asl20;
maintainers = with maintainers; [ xrelkd ];
platforms = platforms.all;
};
}

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "vhba-${version}";
version = "20190302";
version = "20190410";
src = fetchurl {
url = "mirror://sourceforge/cdemu/vhba-module-${version}.tar.bz2";
sha256 = "0wvxxc064i8czza91gh0dhmh55x2nbs7szzyh4g30w0c98hmc1n5";
sha256 = "1513hq130raxp9z5grj54cwfjfxj05apipxg425j0zicii59a60c";
};
makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ];

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "ell";
version = "0.19";
version = "0.20";
src = fetchgit {
url = https://git.kernel.org/pub/scm/libs/ell/ell.git;
rev = version;
sha256 = "0qvgn5yxffgmlggixf6kh57gxricf57iyc8mqwn46j615bijvjs8";
sha256 = "1g143dbc7cfks63k9yi2m8hpgfp9jj5b56s3hyxjzxm9dac3yn6c";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];

View file

@ -3,12 +3,12 @@
stdenv.mkDerivation rec {
pname = "iwd";
version = "0.17";
version = "0.18";
src = fetchgit {
url = https://git.kernel.org/pub/scm/network/wireless/iwd.git;
rev = version;
sha256 = "1bqkzl03qvzfq5hqd9nsfc98k0iyz864nzcrnbf3fr0n9wnzqffz";
sha256 = "19scrkdyfj92cycirm22in1jf6rb77sy419gki4m9j8zdyapcqm9";
};
nativeBuildInputs = [

View file

@ -549,7 +549,9 @@ let
TEST_ASYNC_DRIVER_PROBE = option no;
WW_MUTEX_SELFTEST = option no;
XZ_DEC_TEST = option no;
} // optionalAttrs (features.criu or false) ({
};
criu = optionalAttrs (features.criu or false) ({
EXPERT = yes;
CHECKPOINT_RESTORE = yes;
} // optionalAttrs (features.criu_revert_expert or true) {
@ -691,6 +693,9 @@ let
# Enable AMD's ROCm GPU compute stack
HSA_AMD = whenAtLeast "4.20" yes;
PREEMPT = no;
PREEMPT_VOLUNTARY = yes;
} // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") {
# Enable memory hotplug support
# Allows you to dynamically add & remove memory to a VM client running NixOS without requiring a reboot

View file

@ -3,7 +3,7 @@
with stdenv.lib;
buildLinux (args // rec {
version = "4.14.118";
version = "4.14.119";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "05csfas10b3kfj6pn72skxpk211y36bdzk5x63n6dbxrsjmp6zb8";
sha256 = "0z1vmpbjkn9vqf380dgdcdmi2a22cymjs0spm9708x4x709vf5an";
};
} // (args.argsOverride or {}))

View file

@ -3,7 +3,7 @@
with stdenv.lib;
buildLinux (args // rec {
version = "4.19.42";
version = "4.19.43";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "09ns4qskl2drg0p9fajy7nbh55anj0qxl7smca9rfxfm21hdf2gq";
sha256 = "0myzsbajwvskiqdlqsahw87f0ppj9gj7kh05vbs8ndmjzahij5hi";
};
} // (args.argsOverride or {}))

View file

@ -1,11 +1,11 @@
{ stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
buildLinux (args // rec {
version = "4.9.175";
version = "4.9.176";
extraMeta.branch = "4.9";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "032h0zd3rxg34vyp642978pbx66gnx3sfv49qwvbzwlx3zwk916r";
sha256 = "0y5i0picww914ljynqjdpv7cld7380y9lrlgnza02zvkq04d151a";
};
} // (args.argsOverride or {}))

View file

@ -3,7 +3,7 @@
with stdenv.lib;
buildLinux (args // rec {
version = "5.0.15";
version = "5.0.16";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "01zb8lz1lxcff2j8yxzm0ayfazi07c2n7v1i3v8wbq8k9r2vhgjw";
sha256 = "1b7wz577mdn2cdpn8mm8bl5kgxvm3rq7fzy0nc8cxl2j1wwwx9sw";
};
} // (args.argsOverride or {}))

View file

@ -3,7 +3,7 @@
with stdenv.lib;
buildLinux (args // rec {
version = "5.1.1";
version = "5.1.2";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "1pcd0npnrjbc01rzmm58gh135w9nm5mf649asqlw50772qa9jkd0";
sha256 = "0nzgkg4si0378pz6cv3hwj7qmmi5wdz1qvml0198b61n89xdcypc";
};
} // (args.argsOverride or {}))

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "microcode-intel";
version = "20190312";
version = "20190514";
src = fetchFromGitHub {
owner = "intel";
repo = "Intel-Linux-Processor-Microcode-Data-Files";
rev = "microcode-${version}";
sha256 = "0n381dai2mv9indsbbr4nfbmp4y4qhshgflr095fyvq5a8acw94m";
sha256 = "1xdxkmsnic191g7kljmrdcvg8vlwiwcrcxy9fnhpqsbsp6mjylv7";
};
nativeBuildInputs = [ iucode-tool libarchive ];

View file

@ -2,13 +2,13 @@
buildGoPackage rec {
pname = "documize-community";
version = "2.4.1";
version = "2.5.0";
src = fetchFromGitHub {
owner = "documize";
repo = "community";
rev = "v${version}";
sha256 = "1spj8awyv37gmrm49py3wz7590r7rz63qizgifdzjbvacadavm0c";
sha256 = "14v66jwxg6akllbz8lsqplxalr73jff5453nigcnb4vzwwkz2wq3";
};
goPackagePath = "github.com/documize/community";

View file

@ -0,0 +1,129 @@
# This builder is for FoundationDB CMake build system.
{ lib, fetchurl, fetchpatch, fetchFromGitHub
, cmake, ninja, boost, python3, openjdk, mono, libressl
, gccStdenv, llvmPackages
, useClang ? true
, ...
}:
let
stdenv = if useClang then llvmPackages.libcxxStdenv else gccStdenv;
tests = with builtins;
builtins.replaceStrings [ "\n" ] [ " " ] (lib.fileContents ./test-list.txt);
makeFdb =
{ version
, branch
, sha256
, rev ? "refs/tags/${version}"
, officialRelease ? true
, patches ? []
}: stdenv.mkDerivation rec {
name = "foundationdb-${version}";
inherit version;
src = fetchFromGitHub {
owner = "apple";
repo = "foundationdb";
inherit rev sha256;
};
buildInputs = [ libressl boost ];
nativeBuildInputs = [ cmake ninja python3 openjdk mono ]
++ lib.optional useClang [ llvmPackages.lld ];
separateDebugInfo = true;
enableParallelBuilding = true;
dontFixCmake = true;
cmakeFlags =
[ "-DCMAKE_BUILD_TYPE=Release"
"-DLIBRESSL_USE_STATIC_LIBS=FALSE"
# CMake can't find these easily for some reason?
"-DLIBRESSL_INCLUDE_DIR=${libressl.dev}"
"-DLIBRESSL_CRYPTO_LIBRARY=${libressl.out}/lib/libcrypto.so"
"-DLIBRESSL_SSL_LIBRARY=${libressl.out}/lib/libssl.so"
"-DLIBRESSL_TLS_LIBRARY=${libressl.out}/lib/libtls.so"
# LTO brings up overall build time, but results in much smaller
# binaries for all users and the cache.
#
# TODO FIXME: bugs :(
(lib.optionalString (!useClang) "-DUSE_LTO=ON")
# Gold helps alleviate the link time, especially when LTO is
# enabled. But even then, it still takes a majority of the time.
# Same with LLD when Clang is available.
(lib.optionalString useClang "-DUSE_LD=LLD")
(lib.optionalString (!useClang) "-DUSE_LD=GOLD")
]
++ lib.optional officialRelease [ "FDB_RELEASE=1" ];
inherit patches;
postPatch = ''
for x in bindings/c/CMakeLists.txt fdbserver/CMakeLists.txt fdbmonitor/CMakeLists.txt fdbbackup/CMakeLists.txt fdbcli/CMakeLists.txt; do
substituteInPlace $x --replace 'fdb_install' 'install'
done
'';
# the install phase for cmake is pretty wonky right now since it's not designed to
# coherently install packages as most linux distros expect -- it's designed to build
# packaged artifacts that are shipped in RPMs, etc. we need to add some extra code to
# cmake upstream to fix this, and if we do, i think most of this can go away.
postInstall = ''
mv $out/sbin/fdbserver $out/bin/fdbserver
rm -rf \
$out/lib/systemd $out/Library $out/usr $out/sbin \
$out/var $out/log $out/etc
mv $out/fdbmonitor/fdbmonitor $out/bin/fdbmonitor && rm -rf $out/fdbmonitor
rm -rf $out/lib/foundationdb/
mkdir $out/libexec && ln -sfv $out/bin/fdbbackup $out/libexec/backup_agent
mkdir $out/include/foundationdb && \
mv $out/include/*.h $out/include/*.options $out/include/foundationdb
# move results into multi outputs
mkdir -p $dev $lib
mv $out/include $dev/include
mv $out/lib $lib/lib
# python bindings
# NB: use the original setup.py.in, so we can substitute VERSION correctly
cp ../LICENSE ./bindings/python
substitute ../bindings/python/setup.py.in ./bindings/python/setup.py \
--replace 'VERSION' "${version}"
rm -f ./bindings/python/setup.py.* ./bindings/python/CMakeLists.txt
rm -f ./bindings/python/fdb/*.pth # remove useless files
rm -f ./bindings/python/*.rst ./bindings/python/*.mk
cp -R ./bindings/python/ tmp-pythonsrc/
tar -zcf $pythonsrc --transform s/tmp-pythonsrc/python-foundationdb/ ./tmp-pythonsrc/
# java bindings
mkdir -p $lib/share/java
mv lib/fdb-java-*.jar $lib/share/java/fdb-java.jar
# include the tests
mkdir -p $out/share/test
(cd ../tests && for x in ${tests}; do
cp --parents $x $out/share/test
done)
'';
outputs = [ "out" "dev" "lib" "pythonsrc" ];
meta = with stdenv.lib; {
description = "Open source, distributed, transactional key-value store";
homepage = https://www.foundationdb.org;
license = licenses.asl20;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ thoughtpolice ];
};
};
in makeFdb

View file

@ -1,194 +1,84 @@
{ stdenv49
{ stdenv, stdenv49, gcc9Stdenv, llvmPackages_8
, lib, fetchurl, fetchpatch, fetchFromGitHub
, which, findutils, m4, gawk
, python, openjdk, mono, libressl
}:
, cmake, ninja, which, findutils, m4, gawk
, python, python3, openjdk, mono, libressl, boost
}@args:
let
# hysterical raisins dictate a version of boost this old. however,
# we luckily do not need to build anything, we just need the header
# files.
boost152 = stdenv49.mkDerivation rec {
name = "boost-headers-1.52.0";
vsmakeBuild = import ./vsmake.nix args;
cmakeBuild = import ./cmake.nix (args // {
gccStdenv = gcc9Stdenv;
llvmPackages = llvmPackages_8;
});
src = fetchurl {
url = "mirror://sourceforge/boost/boost_1_52_0.tar.bz2";
sha256 = "14mc7gsnnahdjaxbbslzk79rc0d12h1i681cd3srdwr3fzynlar2";
};
configurePhase = ":";
buildPhase = ":";
installPhase = "mkdir -p $out/include && cp -R boost $out/include/";
python3-six-patch = fetchpatch {
name = "update-python-six.patch";
url = "https://github.com/apple/foundationdb/commit/4bd9efc4fc74917bc04b07a84eb065070ea7edb2.patch";
sha256 = "030679lmc86f1wzqqyvxnwjyfrhh54pdql20ab3iifqpp9i5mi85";
};
makeFdb =
{ version
, branch
, sha256
# the revision can be inferred from the fdb tagging policy
, rev ? "refs/tags/${version}"
# in theory newer versions of fdb support newer compilers, but they
# don't :( maybe one day
, stdenv ? stdenv49
# in theory newer versions of fdb support newer boost versions, but they
# don't :( maybe one day
, boost ? boost152
# if an release is unofficial/a prerelease, then make sure this is set
, officialRelease ? true
}: stdenv.mkDerivation rec {
name = "foundationdb-${version}";
inherit version;
src = fetchFromGitHub {
owner = "apple";
repo = "foundationdb";
inherit rev sha256;
};
nativeBuildInputs = [ python openjdk gawk which m4 findutils mono ];
buildInputs = [ libressl boost ];
patches =
[ # For 5.2+, we need a slightly adjusted patch to fix all the ldflags
(if lib.versionAtLeast version "5.2"
then (if lib.versionAtLeast version "6.0"
then ./ldflags-6.0.patch
else ./ldflags-5.2.patch)
else ./ldflags-5.1.patch)
]
# for 6.0+, we do NOT need to apply this version fix, since we can specify
# it ourselves. see configurePhase
++ (lib.optional (!lib.versionAtLeast version "6.0") ./fix-scm-version.patch)
# Versions less than 6.0 have a busted Python 3 build due to an outdated
# use of 'print'. Also apply an update to the six module with many bugfixes,
# which is in 6.0+ as well
++ (lib.optional (!lib.versionAtLeast version "6.0") (fetchpatch {
name = "update-python-six.patch";
url = "https://github.com/apple/foundationdb/commit/4bd9efc4fc74917bc04b07a84eb065070ea7edb2.patch";
sha256 = "030679lmc86f1wzqqyvxnwjyfrhh54pdql20ab3iifqpp9i5mi85";
}))
++ (lib.optional (!lib.versionAtLeast version "6.0") (fetchpatch {
name = "import-for-python-print.patch";
url = "https://github.com/apple/foundationdb/commit/ded17c6cd667f39699cf663c0e87fe01e996c153.patch";
sha256 = "11y434w68cpk7shs2r22hyrpcrqi8vx02cw7v5x79qxvnmdxv2an";
}))
;
postPatch = ''
# note: this does not do anything for 6.0+
substituteInPlace ./build/scver.mk \
--subst-var-by NIXOS_FDB_VERSION_ID "${rev}" \
--subst-var-by NIXOS_FDB_SCBRANCH "${branch}"
substituteInPlace ./Makefile \
--replace 'shell which ccache' 'shell true' \
--replace -Werror ""
substituteInPlace ./Makefile \
--replace libstdc++_pic libstdc++
substituteInPlace ./build/link-validate.sh \
--replace 'exit 1' '#exit 1'
patchShebangs .
'' + lib.optionalString (lib.versionAtLeast version "6.0") ''
substituteInPlace ./Makefile \
--replace 'TLS_LIBS +=' '#TLS_LIBS +=' \
--replace 'LDFLAGS :=' 'LDFLAGS := -ltls -lssl -lcrypto'
'';
separateDebugInfo = true;
enableParallelBuilding = true;
makeFlags = [ "all" "fdb_java" "fdb_python" ]
# Don't compile FDBLibTLS if we don't need it in 6.0 or later;
# it gets statically linked in
++ lib.optional (!lib.versionAtLeast version "6.0") [ "fdb_c" ]
# Needed environment overrides
++ [ "KVRELEASE=1"
"NOSTRIP=1"
] ++ lib.optional officialRelease [ "RELEASE=true" ];
# on 6.0 and later, we can specify all this information manually
configurePhase = lib.optionalString (lib.versionAtLeast version "6.0") ''
export SOURCE_CONTROL=GIT
export SCBRANCH="${branch}"
export VERSION_ID="${rev}"
'';
installPhase = ''
mkdir -vp $out/{bin,libexec/plugins} $lib/{lib,share/java} $dev/include/foundationdb
'' + lib.optionalString (!lib.versionAtLeast version "6.0") ''
# we only copy the TLS library on < 6.0, since it's compiled-in otherwise
cp -v ./lib/libFDBLibTLS.so $out/libexec/plugins/FDBLibTLS.so
'' + ''
# C API
cp -v ./lib/libfdb_c.so $lib/lib
cp -v ./bindings/c/foundationdb/fdb_c.h $dev/include/foundationdb
cp -v ./bindings/c/foundationdb/fdb_c_options.g.h $dev/include/foundationdb
cp -v ./fdbclient/vexillographer/fdb.options $dev/include/foundationdb
# java
cp -v ./bindings/java/foundationdb-client.jar $lib/share/java/fdb-java.jar
# python
cp LICENSE ./bindings/python
substitute ./bindings/python/setup.py.in ./bindings/python/setup.py \
--replace 'VERSION' "${version}"
rm -f ./bindings/python/setup.py.in
rm -f ./bindings/python/fdb/*.pth # remove useless files
rm -f ./bindings/python/*.rst ./bindings/python/*.mk
cp -R ./bindings/python/ tmp-pythonsrc/
tar -zcf $pythonsrc --transform s/tmp-pythonsrc/python-foundationdb/ ./tmp-pythonsrc/
# binaries
for x in fdbbackup fdbcli fdbserver fdbmonitor; do
cp -v "./bin/$x" $out/bin;
done
ln -sfv $out/bin/fdbbackup $out/bin/dr_agent
ln -sfv $out/bin/fdbbackup $out/bin/fdbrestore
ln -sfv $out/bin/fdbbackup $out/bin/fdbdr
ln -sfv $out/bin/fdbbackup $out/libexec/backup_agent
'';
outputs = [ "out" "lib" "dev" "pythonsrc" ];
meta = with stdenv.lib; {
description = "Open source, distributed, transactional key-value store";
homepage = https://www.foundationdb.org;
license = licenses.asl20;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ thoughtpolice ];
};
};
python3-print-patch = fetchpatch {
name = "import-for-python-print.patch";
url = "https://github.com/apple/foundationdb/commit/ded17c6cd667f39699cf663c0e87fe01e996c153.patch";
sha256 = "11y434w68cpk7shs2r22hyrpcrqi8vx02cw7v5x79qxvnmdxv2an";
};
in with builtins; {
foundationdb51 = makeFdb rec {
# Older versions use the bespoke 'vsmake' build system
# ------------------------------------------------------
foundationdb51 = vsmakeBuild rec {
version = "5.1.7";
branch = "release-5.1";
sha256 = "1rc472ih24f9s5g3xmnlp3v62w206ny0pvvw02bzpix2sdrpbp06";
patches = [
./patches/ldflags-5.1.patch
./patches/fix-scm-version.patch
python3-six-patch
python3-print-patch
];
};
foundationdb52 = makeFdb rec {
foundationdb52 = vsmakeBuild rec {
version = "5.2.8";
branch = "release-5.2";
sha256 = "1kbmmhk2m9486r4kyjlc7bb3wd50204i0p6dxcmvl6pbp1bs0wlb";
patches = [
./patches/ldflags-5.2.patch
./patches/fix-scm-version.patch
python3-six-patch
python3-print-patch
];
};
foundationdb60 = makeFdb rec {
foundationdb60 = vsmakeBuild rec {
version = "6.0.18";
branch = "release-6.0";
sha256 = "0q1mscailad0z7zf1nypv4g7gx3damfp45nf8nzyq47nsw5gz69p";
patches = [
./patches/ldflags-6.0.patch
];
};
# 6.1 and later versions should always use CMake
# ------------------------------------------------------
foundationdb61 = cmakeBuild rec {
version = "6.1.6pre4898_${substring 0 7 rev}";
branch = "release-6.1";
rev = "26fbbbf798971b2b9ecb882a8af766fa36734f53";
sha256 = "1q1a1j8h0qlh67khcds0dg416myvjbp6gfm6s4sk8d60zfzny7wb";
officialRelease = false;
patches = [
./patches/clang-libcxx.patch
./patches/suppress-clang-warnings.patch
];
};
}

View file

@ -0,0 +1,52 @@
commit 7ed4745a092a203f92fc37ab5894e92117db0c94
Author: Austin Seipp <aseipp@pobox.com>
Date: Sat May 4 15:23:35 2019 -0500
flow: fix a build failure with Clang/libcxx on Linux
11bd7d7da introduced a hack on Linux to work around a missing symbol in
libstdc++'s _pic library on Ubuntu. Unfortunately, this causes the build
to fail when using Clang, as it doesn't believe this symbol is part of
its headers in c++11 mode.
Unfortunately there's no good way to distinguish libcxx from libstdc++
with the preprocessor, so we merely gate it by only checking for clang,
iff we are on Linux.
With this change, Clang 8.x can build FoundationDB on Linux using libcxx
as the standard C++ library.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
diff --git a/flow/Platform.cpp b/flow/Platform.cpp
index 3d3f1ac0..9f21dfd4 100644
--- a/flow/Platform.cpp
+++ b/flow/Platform.cpp
@@ -2841,13 +2841,26 @@ void setupSlowTaskProfiler() {
#endif
}
-#ifdef __linux__
+#if defined(__linux__) && !defined(__clang__)
// There's no good place to put this, so it's here.
// Ubuntu's packaging of libstdc++_pic offers different symbols than libstdc++. Go figure.
// Notably, it's missing a definition of std::istream::ignore(long), which causes compilation errors
// in the bindings. Thus, we provide weak versions of their definitions, so that if the
// linked-against libstdc++ is missing their definitions, we'll be able to use the provided
// ignore(long, int) version.
+//
+// Note that this hack is DISABLED when we use Clang. It is only needed when we statically link
+// to the _pic libraries, but only official FDB Linux binaries are built this way using GCC. If we
+// don't use the _pic libraries, then this hack is entirely unneeded -- likely the case when using
+// Clang on Linux.
+//
+// Doing this allows us to use LLVM's libc++ with Clang on Linux -- otherwise, providing
+// a weak symbol definition for an internal (non-public) class member fails (due to that member
+// being non-existant on libc++.) See upstream GitHub issue #1533 for more information.
+//
+// TODO FIXME: Obliterate this when the official build environment is upgraded beyond Ubuntu 14.04.
+// (This problem should be fixed in later LTS releases.)
+
#include <istream>
namespace std {
typedef basic_istream<char, std::char_traits<char>> char_basic_istream;

View file

@ -0,0 +1,34 @@
commit 8076537a52bb026941f13f5542395aac69ef0825
Author: Austin Seipp <aseipp@pobox.com>
Date: Sat May 4 17:34:51 2019 -0500
cmake: add workarounds for NixOS-specific deficiencies [NixOS]
The NixOS debug builder hook adds '-Wa,--compress-debug-sections' to the
link flags (it actually adds it to the compiler flags, but the compiler
is used for linking, so...). This makes the compiler angry when -Werror
is passed, because it's unused at link-time (-Wa applies to the
assembler). Suppress this warning with -Wno-unused-command-line-argument
NB: we *could* use -Wno-error=unused-command-line-argument, but that
still results in warnings anyway, just not fatal ones. We'd like to
remove them all for the sake of the build output.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
diff --git a/cmake/ConfigureCompiler.cmake b/cmake/ConfigureCompiler.cmake
index 03af9c10..7d059375 100644
--- a/cmake/ConfigureCompiler.cmake
+++ b/cmake/ConfigureCompiler.cmake
@@ -119,6 +119,11 @@ else()
else()
add_compile_options(-Werror)
endif()
+ if (CLANG)
+ # aseipp: NixOS hack
+ add_compile_options(-Wno-unused-command-line-argument)
+ add_link_options(-Wno-unused-command-line-argument)
+ endif()
add_compile_options($<$<BOOL:${GCC}>:-Wno-pragmas>)
add_compile_options(-Wno-error=format
-Wunused-variable

View file

@ -0,0 +1,80 @@
fast/AtomicBackupCorrectness.txt
fast/AtomicBackupToDBCorrectness.txt
fast/AtomicOps.txt
fast/AtomicOpsApiCorrectness.txt
fast/BackupCorrectness.txt
fast/BackupCorrectnessClean.txt
fast/BackupToDBCorrectness.txt
fast/BackupToDBCorrectnessClean.txt
fast/CloggedSideband.txt
fast/ConstrainedRandomSelector.txt
fast/CycleAndLock.txt
fast/CycleTest.txt
fast/FuzzApiCorrectness.txt
fast/FuzzApiCorrectnessClean.txt
fast/IncrementTest.txt
fast/InventoryTestAlmostReadOnly.txt
fast/InventoryTestSomeWrites.txt
fast/KillRegionCycle.txt
fast/LongStackWriteDuringRead.txt
fast/LowLatency.txt
fast/MemoryLifetime.txt
fast/MoveKeysCycle.txt
fast/RandomSelector.txt
fast/RandomUnitTests.txt
fast/SelectorCorrectness.txt
fast/Sideband.txt
fast/SidebandWithStatus.txt
fast/SwizzledRollbackSideband.txt
fast/SystemRebootTestCycle.txt
fast/TaskBucketCorrectness.txt
fast/TimeKeeperCorrectness.txt
fast/Unreadable.txt
fast/VersionStamp.txt
fast/Watches.txt
fast/WriteDuringRead.txt
fast/WriteDuringReadClean.txt
rare/CheckRelocation.txt
rare/ClogUnclog.txt
rare/CloggedCycleWithKills.txt
rare/ConflictRangeCheck.txt
rare/ConflictRangeRYOWCheck.txt
rare/CycleRollbackClogged.txt
rare/CycleWithKills.txt
rare/FuzzTest.txt
rare/InventoryTestHeavyWrites.txt
rare/LargeApiCorrectness.txt
rare/LargeApiCorrectnessStatus.txt
rare/RYWDisable.txt
rare/RandomReadWriteTest.txt
rare/SwizzledLargeApiCorrectness.txt
slow/ApiCorrectness.txt
slow/ApiCorrectnessAtomicRestore.txt
slow/ApiCorrectnessSwitchover.txt
slow/ClogWithRollbacks.txt
slow/CloggedCycleTest.txt
slow/CloggedStorefront.txt
slow/CommitBug.txt
slow/ConfigureTest.txt
slow/CycleRollbackPlain.txt
slow/DDBalanceAndRemove.txt
slow/DDBalanceAndRemoveStatus.txt
slow/FastTriggeredWatches.txt
slow/LowLatencyWithFailures.txt
slow/MoveKeysClean.txt
slow/MoveKeysSideband.txt
slow/RyowCorrectness.txt
slow/Serializability.txt
slow/SharedBackupCorrectness.txt
slow/SharedBackupToDBCorrectness.txt
slow/StorefrontTest.txt
slow/SwizzledApiCorrectness.txt
slow/SwizzledCycleTest.txt
slow/SwizzledDdBalance.txt
slow/SwizzledRollbackTimeLapse.txt
slow/SwizzledRollbackTimeLapseIncrement.txt
slow/VersionStampBackupToDB.txt
slow/VersionStampSwitchover.txt
slow/WriteDuringReadAtomicRestore.txt
slow/WriteDuringReadSwitchover.txt
slow/ddbalance.txt

View file

@ -0,0 +1,154 @@
# This builder is for FoundationDB's original, somewhat strange visual studio +
# make build system. In FoundationDB 6.1 and later, there's a new CMake system
# (which will eventually become the default version.)
{ stdenv49, lib, fetchurl, fetchFromGitHub
, which, findutils, m4, gawk
, python, openjdk, mono, libressl
, ...
}:
let
# hysterical raisins dictate a version of boost this old. however,
# we luckily do not need to build anything, we just need the header
# files.
boost152 = stdenv49.mkDerivation rec {
name = "boost-headers-1.52.0";
src = fetchurl {
url = "mirror://sourceforge/boost/boost_1_52_0.tar.bz2";
sha256 = "14mc7gsnnahdjaxbbslzk79rc0d12h1i681cd3srdwr3fzynlar2";
};
configurePhase = ":";
buildPhase = ":";
installPhase = "mkdir -p $out/include && cp -R boost $out/include/";
};
makeFdb =
{ version
, branch
, sha256
# the revision can be inferred from the fdb tagging policy
, rev ? "refs/tags/${version}"
# in theory newer versions of fdb support newer compilers, but they
# don't :( maybe one day
, stdenv ? stdenv49
# in theory newer versions of fdb support newer boost versions, but they
# don't :( maybe one day
, boost ? boost152
# if an release is unofficial/a prerelease, then make sure this is set
, officialRelease ? true
, patches ? []
}: stdenv.mkDerivation rec {
name = "foundationdb-${version}";
inherit version;
src = fetchFromGitHub {
owner = "apple";
repo = "foundationdb";
inherit rev sha256;
};
nativeBuildInputs = [ python openjdk gawk which m4 findutils mono ];
buildInputs = [ libressl boost ];
inherit patches;
postPatch = ''
# note: this does not do anything for 6.0+
substituteInPlace ./build/scver.mk \
--subst-var-by NIXOS_FDB_VERSION_ID "${rev}" \
--subst-var-by NIXOS_FDB_SCBRANCH "${branch}"
substituteInPlace ./Makefile \
--replace 'shell which ccache' 'shell true' \
--replace -Werror ""
substituteInPlace ./Makefile \
--replace libstdc++_pic libstdc++
substituteInPlace ./build/link-validate.sh \
--replace 'exit 1' '#exit 1'
patchShebangs .
'' + lib.optionalString (lib.versionAtLeast version "6.0") ''
substituteInPlace ./Makefile \
--replace 'TLS_LIBS +=' '#TLS_LIBS +=' \
--replace 'LDFLAGS :=' 'LDFLAGS := -ltls -lssl -lcrypto'
'';
separateDebugInfo = true;
enableParallelBuilding = true;
makeFlags = [ "all" "fdb_java" "fdb_python" ]
# Don't compile FDBLibTLS if we don't need it in 6.0 or later;
# it gets statically linked in
++ lib.optional (!lib.versionAtLeast version "6.0") [ "fdb_c" ]
# Needed environment overrides
++ [ "KVRELEASE=1"
"NOSTRIP=1"
] ++ lib.optional officialRelease [ "RELEASE=true" ];
# on 6.0 and later, we can specify all this information manually
configurePhase = lib.optionalString (lib.versionAtLeast version "6.0") ''
export SOURCE_CONTROL=GIT
export SCBRANCH="${branch}"
export VERSION_ID="${rev}"
'';
installPhase = ''
mkdir -vp $out/{bin,libexec/plugins} $lib/{lib,share/java} $dev/include/foundationdb
'' + lib.optionalString (!lib.versionAtLeast version "6.0") ''
# we only copy the TLS library on < 6.0, since it's compiled-in otherwise
cp -v ./lib/libFDBLibTLS.so $out/libexec/plugins/FDBLibTLS.so
'' + ''
# C API
cp -v ./lib/libfdb_c.so $lib/lib
cp -v ./bindings/c/foundationdb/fdb_c.h $dev/include/foundationdb
cp -v ./bindings/c/foundationdb/fdb_c_options.g.h $dev/include/foundationdb
cp -v ./fdbclient/vexillographer/fdb.options $dev/include/foundationdb
# java
cp -v ./bindings/java/foundationdb-client.jar $lib/share/java/fdb-java.jar
# python
cp LICENSE ./bindings/python
substitute ./bindings/python/setup.py.in ./bindings/python/setup.py \
--replace 'VERSION' "${version}"
rm -f ./bindings/python/setup.py.in
rm -f ./bindings/python/fdb/*.pth # remove useless files
rm -f ./bindings/python/*.rst ./bindings/python/*.mk
cp -R ./bindings/python/ tmp-pythonsrc/
tar -zcf $pythonsrc --transform s/tmp-pythonsrc/python-foundationdb/ ./tmp-pythonsrc/
# binaries
for x in fdbbackup fdbcli fdbserver fdbmonitor; do
cp -v "./bin/$x" $out/bin;
done
ln -sfv $out/bin/fdbbackup $out/bin/dr_agent
ln -sfv $out/bin/fdbbackup $out/bin/fdbrestore
ln -sfv $out/bin/fdbbackup $out/bin/fdbdr
ln -sfv $out/bin/fdbbackup $out/libexec/backup_agent
'';
outputs = [ "out" "lib" "dev" "pythonsrc" ];
meta = with stdenv.lib; {
description = "Open source, distributed, transactional key-value store";
homepage = https://www.foundationdb.org;
license = licenses.asl20;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ thoughtpolice ];
};
};
in makeFdb

View file

@ -6,8 +6,8 @@ let
src = fetchFromGitHub {
owner = "chobits";
repo = "ngx_http_proxy_connect_module";
rev = "18e2520b361ffebde6c08c8119ecfba113a3b53c";
sha256 = "1nyil5n2a97nqsqarvnp4bazw4vnxifqizzw5aank4vi9xlq90b2";
rev = "002f8f9ef15562dc3691b977134518ad216d7a90";
sha256 = "163wg0xb7w5mwh6wrfarzcgaf6c7gb5qydgpi2wk35k551f7286s";
};
patches = [
@ -96,12 +96,8 @@ in
};
};
http_proxy_connect_module_v15 = http_proxy_connect_module_generic "proxy_connect_rewrite_1015" // {
supports = with lib.versions; version: major version == "1" && minor version == "15";
};
http_proxy_connect_module_v14 = http_proxy_connect_module_generic "proxy_connect_rewrite_1014" // {
supports = with lib.versions; version: major version == "1" && minor version == "14";
http_proxy_connect_module_v16 = http_proxy_connect_module_generic "proxy_connect_rewrite_101504" // {
supports = with lib.versions; version: major version == "1" && minor version == "16";
};
ipscrub = {
@ -136,8 +132,8 @@ in
src = fetchFromGitHub {
owner = "openresty";
repo = "lua-nginx-module";
rev = "v0.10.14";
sha256 = "1vg6pp9n8z42p6f3jqk15gvdyy7mfvs5ssfbiy83bydjx42fq7g0";
rev = "v0.10.15";
sha256 = "1j216isp0546hycklbr5wi8mlga5hq170hk7f2sm16sfavlkh5gz";
};
inputs = [ pkgs.luajit ];
preConfigure = ''

View file

@ -1,5 +1,6 @@
{ stdenv, fetchFromGitHub, autoreconfHook
{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook
, coreutils, gnugrep, gnused, lm_sensors, net_snmp, openssh, openssl, perl
, dnsutils, libdbi, mysql, zlib, openldap, procps
, runtimeShell }:
with stdenv.lib;
@ -8,7 +9,7 @@ let
majorVersion = "2.2";
minorVersion = ".0";
binPath = makeBinPath [ coreutils gnugrep gnused lm_sensors net_snmp ];
binPath = makeBinPath [ coreutils gnugrep gnused lm_sensors net_snmp procps ];
in stdenv.mkDerivation rec {
name = "monitoring-plugins-${majorVersion}${minorVersion}";
@ -20,6 +21,14 @@ in stdenv.mkDerivation rec {
sha256 = "1pw7i6d2cnb5nxi2lbkwps2qzz04j9zd86fzpv9ka896b4aqrwv1";
};
patches = [
# https://github.com/monitoring-plugins/monitoring-plugins/issues/1508
(fetchpatch {
url = "https://github.com/monitoring-plugins/monitoring-plugins/commit/ac0437ff896ba9ce2549b2d2ec3de146a886f08a.patch";
sha256 = "0jf6fqkyzag66rid92m7asnr2dp8rr8kn4zjvhqg0mqvf8imppky";
})
];
# !!! Awful hack. Grrr... this of course only works on NixOS.
# Anyway the check that configure performs to figure out the ping
# syntax is totally impure, because it runs an actual ping to
@ -39,7 +48,7 @@ in stdenv.mkDerivation rec {
'';
# !!! make openssh a runtime dependency only
buildInputs = [ net_snmp openssh openssl perl ];
buildInputs = [ dnsutils libdbi mysql net_snmp openldap openssh openssl perl procps zlib ];
nativeBuildInputs = [ autoreconfHook ];

View file

@ -0,0 +1,33 @@
{ stdenv, fetchFromGitHub, postgresql }:
stdenv.mkDerivation rec {
pname = "pg_partman";
version = "4.1.0";
buildInputs = [ postgresql ];
src = fetchFromGitHub {
owner = "pgpartman";
repo = pname;
rev = "refs/tags/v${version}";
sha256 = "0bzv92x492jcwzhal9x4vc3vszixscdpxc6yq5rrqld26dhmsp06";
};
installPhase = ''
mkdir -p $out/bin # For buildEnv to setup proper symlinks. See #22653
mkdir -p $out/{lib,share/extension}
cp src/*.so $out/lib
cp updates/* $out/share/extension
cp -r sql/* $out/share/extension
cp *.control $out/share/extension
'';
meta = with stdenv.lib; {
description = "Partition management extension for PostgreSQL";
homepage = https://github.com/pgpartman/pg_partman;
maintainers = with maintainers; [ ggpeti ];
platforms = postgresql.meta.platforms;
license = licenses.postgresql;
};
}

View file

@ -38,4 +38,6 @@ self: super: {
tds_fdw = super.callPackage ./ext/tds_fdw.nix { };
pgrouting = super.callPackage ./ext/pgrouting.nix { };
pg_partman = super.callPackage ./ext/pg_partman.nix { };
}

View file

@ -2,14 +2,14 @@
python3Packages.buildPythonApplication rec {
pname = "xonsh";
version = "0.8.12";
version = "0.9.0";
# fetch from github because the pypi package ships incomplete tests
src = fetchFromGitHub {
owner = "scopatz";
repo = "xonsh";
rev = "refs/tags/${version}";
sha256 = "1p8slx8nk15vyyzwc9ic50py0amk9p9nggp1973wfas0fxsg1r4f";
sha256 = "1833xqw5y65cv3c71skqix1xh3qqgv1kps1500cczpyrc8daka23";
};
LC_ALL = "en_US.UTF-8";

View file

@ -0,0 +1,30 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "ctrtool";
version = "0.15";
src = fetchFromGitHub {
owner = "profi200";
repo = "Project_CTR";
rev = version;
sha256 = "1l6z05x18s1crvb283yvynlwsrpa1pdx1nbijp99plw06p88h4va";
};
sourceRoot = "source/ctrtool";
enableParallelBuilding = true;
installPhase = "
mkdir $out/bin -p
cp ctrtool $out/bin/ctrtool
";
meta = with stdenv.lib; {
license = licenses.mit;
description = "A tool to extract data from a 3ds rom";
platforms = platforms.linux;
maintainers = [ maintainers.marius851000 ];
};
}

View file

@ -3,18 +3,18 @@
}:
rustPlatform.buildRustPackage rec {
name = "bat-${version}";
version = "0.10.0";
pname = "bat";
version = "0.11.0";
src = fetchFromGitHub {
owner = "sharkdp";
repo = "bat";
repo = pname;
rev = "v${version}";
sha256 = "1q22lbyrwh58vhznpjpkiaa8v4qv6a3a8lrxzaypd8wg78p9dca6";
sha256 = "0yyvlplskjvxb2cspqsvfsnahd5m0s83psrp777ng0wc0kr1adbw";
fetchSubmodules = true;
};
cargoSha256 = "0npj2rf4vr45gq3qwqq6kqnv9dh58v5lpx0gsmy2qrq44dxb75rq";
cargoSha256 = "078n31c0isvxvna0s1m12xv4bkh15rb2nixfyg4c501mlkalb517";
nativeBuildInputs = [ cmake pkgconfig zlib ];
@ -22,13 +22,14 @@ rustPlatform.buildRustPackage rec {
postInstall = ''
install -m 444 -Dt $out/share/man/man1 doc/bat.1
install -m 444 -Dt $out/share/fish/vendor_completions.d assets/completions/bat.fish
'';
meta = with stdenv.lib; {
description = "A cat(1) clone with syntax highlighting and Git integration";
homepage = https://github.com/sharkdp/bat;
license = with licenses; [ asl20 /* or */ mit ];
maintainers = with maintainers; [ dywedir ];
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ dywedir lilyball ];
platforms = platforms.all;
};
}

View file

@ -28,8 +28,8 @@ let
};
in {
miniupnpc_2 = generic {
version = "2.1";
sha256 = "1ik440yspbp3clr4m01xsl9skwyrzcvzb5nbm3i0g9x53vhbb7z1";
version = "2.1.20190408";
sha256 = "1v0l2m8j7r6jiy871d6v11ls243xqn6s3856iwd3bmk5c37npi50";
};
miniupnpc_1 = generic {
version = "1.9.20160209";

View file

@ -6,11 +6,11 @@ let
scriptBinEnv = lib.makeBinPath [ which iproute iptables gnused coreutils gawk ];
in
stdenv.mkDerivation rec {
name = "miniupnpd-2.1";
name = "miniupnpd-2.1.20190502";
src = fetchurl {
url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
sha256 = "1hg0zzvvzfgpnmngmd3ffnsk9x18lwlxlpw5jgh7y6b1jrvr824m";
sha256 = "1m8d0g9b0bjwsnqccw1yapp6n0jghmgzwixwjflwmvi2fi6hdp4b";
name = "${name}.tar.gz";
};

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "signify-${version}";
version = "24";
version = "25";
src = fetchFromGitHub {
owner = "aperezdc";
repo = "signify";
rev = "v${version}";
sha256 = "0grdlrpxcflzmzzc30r8rvsmamvbsgqyni59flzzk4w5hpjh464w";
sha256 = "0zg0rffxwj2a71s1bllhrn491xsmirg9sshpq8f3vl25lv4c2cnq";
};
doCheck = true;

View file

@ -1,12 +1,14 @@
{ stdenv, fetchurl }:
{ stdenv, fetchurl, fetchFromGitHub }:
stdenv.mkDerivation rec {
version = "2.2.4";
name = "discount-${version}";
version = "2.2.6";
pname = "discount";
src = fetchurl {
url = "http://www.pell.portland.or.us/~orc/Code/discount/discount-${version}.tar.bz2";
sha256 = "199hwajpspqil0a4y3yxsmhdp2dm73gqkzfk4mrwzsmlq8y1xzbl";
src = fetchFromGitHub {
owner = "Orc";
repo = pname;
rev = "v${version}";
sha256 = "1y066jkxfas0vdixbqq66j9p00a102sbfgq5gbrblfczqjrmc38w";
};
patches = ./fix-configure-path.patch;
@ -19,6 +21,8 @@ stdenv.mkDerivation rec {
"--with-fenced-code"
];
doCheck = true;
meta = with stdenv.lib; {
description = "Implementation of Markdown markup language in C";
homepage = http://www.pell.portland.or.us/~orc/Code/discount/;

View file

@ -716,6 +716,8 @@ in
cozy = callPackage ../applications/audio/cozy-audiobooks { };
ctrtool = callPackage ../tools/archivers/ctrtool { };
crumbs = callPackage ../applications/misc/crumbs { };
deskew = callPackage ../applications/graphics/deskew { };
@ -1527,6 +1529,8 @@ in
fzy = callPackage ../tools/misc/fzy { };
g2o = callPackage ../development/libraries/g2o { };
gbsplay = callPackage ../applications/audio/gbsplay { };
gdrivefs = python27Packages.gdrivefs;
@ -3024,7 +3028,9 @@ in
inherit (fdbPackages)
foundationdb51
foundationdb52
foundationdb60;
foundationdb60
foundationdb61
;
foundationdb = foundationdb60;
@ -4883,7 +4889,7 @@ in
ola = callPackage ../applications/misc/ola { };
olive-editor = libsForQt5.callPackage ../applications/video/olive-editor {
olive-editor = libsForQt5.callPackage ../applications/video/olive-editor {
inherit (darwin.apple_sdk.frameworks) CoreFoundation;
};
@ -7937,6 +7943,9 @@ in
cargo-bloat = callPackage ../development/tools/rust/cargo-bloat { };
cargo-expand = callPackage ../development/tools/rust/cargo-expand { };
cargo-fuzz = callPackage ../development/tools/rust/cargo-fuzz { };
cargo-make = callPackage ../development/tools/rust/cargo-make {
inherit (darwin.apple_sdk.frameworks) Security;
};
cargo-sweep = callPackage ../development/tools/rust/cargo-sweep { };
cargo-xbuild = callPackage ../development/tools/rust/cargo-xbuild { };
@ -22455,6 +22464,7 @@ in
coqPackages_8_7 coq_8_7
coqPackages_8_8 coq_8_8
coqPackages_8_9 coq_8_9
coqPackages_8_10 coq_8_10
coqPackages coq
;

View file

@ -34,17 +34,27 @@ let
InfSeqExt = callPackage ../development/coq-modules/InfSeqExt {};
iris = callPackage ../development/coq-modules/iris {};
math-classes = callPackage ../development/coq-modules/math-classes { };
mathcomp = callPackage ../development/coq-modules/mathcomp { };
mathcomp-analysis = callPackage ../development/coq-modules/mathcomp-analysis { };
mathcomp-bigenough = callPackage ../development/coq-modules/mathcomp-bigenough { };
mathcomp-finmap = callPackage ../development/coq-modules/mathcomp-finmap { };
inherit (callPackage ../development/coq-modules/mathcomp { })
mathcompGen mathcompGenSingle mathcompCorePkgs_1_7 mathcompCorePkgs_1_8 mathcompCorePkgs
mathcomp mathcomp_1_7 mathcomp_1_8 ssreflect
mathcomp-ssreflect mathcomp-ssreflect_1_7 mathcomp-ssreflect_1_8
mathcomp-fingroup mathcomp-fingroup_1_7 mathcomp-fingroup_1_8
mathcomp-algebra mathcomp-algebra_1_7 mathcomp-algebra_1_8
mathcomp-solvable mathcomp-solvable_1_7 mathcomp-solvable_1_8
mathcomp-field mathcomp-field_1_7 mathcomp-field_1_8
mathcomp-character mathcomp-character_1_7 mathcomp-character_1_8;
inherit (callPackage ../development/coq-modules/mathcomp/extra.nix { })
mathcompExtraGen
mathcomp-finmap mathcomp-bigenough mathcomp-analysis mathcomp-multinomials
mathcomp_1_7-finmap mathcomp_1_7-bigenough mathcomp_1_7-analysis mathcomp_1_7-multinomials
mathcomp_1_7-finmap_1_0
mathcomp_1_8-finmap mathcomp_1_8-bigenough mathcomp_1_8-analysis mathcomp_1_8-multinomials
multinomials;
metalib = callPackage ../development/coq-modules/metalib { };
multinomials = callPackage ../development/coq-modules/multinomials {};
paco = callPackage ../development/coq-modules/paco {};
paramcoq = callPackage ../development/coq-modules/paramcoq {};
QuickChick = callPackage ../development/coq-modules/QuickChick {};
simple-io = callPackage ../development/coq-modules/simple-io { };
ssreflect = callPackage ../development/coq-modules/ssreflect { };
stdpp = callPackage ../development/coq-modules/stdpp { };
StructTact = callPackage ../development/coq-modules/StructTact {};
tlc = callPackage ../development/coq-modules/tlc {};
@ -97,12 +107,16 @@ in rec {
coq_8_9 = callPackage ../applications/science/logic/coq {
version = "8.9.0";
};
coq_8_10 = callPackage ../applications/science/logic/coq {
version = "8.10+beta1";
};
coqPackages_8_5 = mkCoqPackages coq_8_5;
coqPackages_8_6 = mkCoqPackages coq_8_6;
coqPackages_8_7 = mkCoqPackages coq_8_7;
coqPackages_8_8 = mkCoqPackages coq_8_8;
coqPackages_8_9 = mkCoqPackages coq_8_9;
coqPackages_8_10 = mkCoqPackages coq_8_10;
coqPackages = recurseIntoAttrs (lib.mapDerivationAttrset lib.dontDistribute
coqPackages_8_8
);

View file

@ -679,6 +679,8 @@ in {
pyfttt = callPackage ../development/python-modules/pyfttt { };
pyftdi = callPackage ../development/python-modules/pyftdi { };
pygame = callPackage ../development/python-modules/pygame { };
pygame_sdl2 = callPackage ../development/python-modules/pygame_sdl2 { };
@ -5526,6 +5528,7 @@ in {
foundationdb51 = callPackage ../servers/foundationdb/python.nix { foundationdb = pkgs.foundationdb51; };
foundationdb52 = callPackage ../servers/foundationdb/python.nix { foundationdb = pkgs.foundationdb52; };
foundationdb60 = callPackage ../servers/foundationdb/python.nix { foundationdb = pkgs.foundationdb60; };
foundationdb61 = callPackage ../servers/foundationdb/python.nix { foundationdb = pkgs.foundationdb61; };
libtorrentRasterbar = (toPythonModule (pkgs.libtorrentRasterbar.override {
inherit python;