Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-03-11 18:23:54 +00:00 committed by GitHub
commit d6257d451b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
48 changed files with 623 additions and 283 deletions

View File

@ -448,6 +448,17 @@ import ./make-test-python.nix {
<replaceable>Python code…</replaceable> <replaceable>Python code…</replaceable>
''; '';
} }
</programlisting>
This will produce a Nix warning at evaluation time. To fully disable the
linter, wrap the test script in comment directives to disable the Black linter
directly (again, don't commit this within the Nixpkgs repository):
<programlisting>
testScript =
''
# fmt: off
<replaceable>Python code…</replaceable>
# fmt: on
'';
</programlisting> </programlisting>
</para> </para>
</section> </section>

View File

@ -3,7 +3,7 @@
let let
inherit (lib) concatStrings foldl foldl' genAttrs literalExample maintainers inherit (lib) concatStrings foldl foldl' genAttrs literalExample maintainers
mapAttrsToList mkDefault mkEnableOption mkIf mkMerge mkOption mapAttrsToList mkDefault mkEnableOption mkIf mkMerge mkOption
optional types; optional types mkOptionDefault flip attrNames;
cfg = config.services.prometheus.exporters; cfg = config.services.prometheus.exporters;
@ -22,6 +22,7 @@ let
exporterOpts = genAttrs [ exporterOpts = genAttrs [
"apcupsd" "apcupsd"
"artifactory"
"bind" "bind"
"bird" "bird"
"blackbox" "blackbox"
@ -31,6 +32,7 @@ let
"fritzbox" "fritzbox"
"json" "json"
"keylight" "keylight"
"knot"
"lnd" "lnd"
"mail" "mail"
"mikrotik" "mikrotik"
@ -51,6 +53,7 @@ let
"smokeping" "smokeping"
"sql" "sql"
"surfboard" "surfboard"
"systemd"
"tor" "tor"
"unifi" "unifi"
"unifi-poller" "unifi-poller"
@ -64,7 +67,7 @@ let
mkExporterOpts = ({ name, port }: { mkExporterOpts = ({ name, port }: {
enable = mkEnableOption "the prometheus ${name} exporter"; enable = mkEnableOption "the prometheus ${name} exporter";
port = mkOption { port = mkOption {
type = types.int; type = types.port;
default = port; default = port;
description = '' description = ''
Port to listen on. Port to listen on.
@ -92,9 +95,8 @@ let
''; '';
}; };
firewallFilter = mkOption { firewallFilter = mkOption {
type = types.str; type = types.nullOr types.str;
default = "-p tcp -m tcp --dport ${toString cfg.${name}.port}"; default = null;
defaultText = "-p tcp -m tcp --dport ${toString port}";
example = literalExample '' example = literalExample ''
"-i eth0 -p tcp -m tcp --dport ${toString port}" "-i eth0 -p tcp -m tcp --dport ${toString port}"
''; '';
@ -122,12 +124,14 @@ let
mkSubModule = { name, port, extraOpts, imports }: { mkSubModule = { name, port, extraOpts, imports }: {
${name} = mkOption { ${name} = mkOption {
type = types.submodule { type = types.submodule [{
inherit imports; inherit imports;
options = (mkExporterOpts { options = (mkExporterOpts {
inherit name port; inherit name port;
} // extraOpts); } // extraOpts);
}; } ({ config, ... }: mkIf config.openFirewall {
firewallFilter = mkOptionDefault "-p tcp -m tcp --dport ${toString config.port}";
})];
internal = true; internal = true;
default = {}; default = {};
}; };
@ -232,7 +236,13 @@ in
Please specify either 'services.prometheus.exporters.sql.configuration' or Please specify either 'services.prometheus.exporters.sql.configuration' or
'services.prometheus.exporters.sql.configFile' 'services.prometheus.exporters.sql.configFile'
''; '';
} ]; } ] ++ (flip map (attrNames cfg) (exporter: {
assertion = cfg.${exporter}.firewallFilter != null -> cfg.${exporter}.openFirewall;
message = ''
The `firewallFilter'-option of exporter ${exporter} doesn't have any effect unless
`openFirewall' is set to `true'!
'';
}));
}] ++ [(mkIf config.services.minio.enable { }] ++ [(mkIf config.services.minio.enable {
services.prometheus.exporters.minio.minioAddress = mkDefault "http://localhost:9000"; services.prometheus.exporters.minio.minioAddress = mkDefault "http://localhost:9000";
services.prometheus.exporters.minio.minioAccessKey = mkDefault config.services.minio.accessKey; services.prometheus.exporters.minio.minioAccessKey = mkDefault config.services.minio.accessKey;

View File

@ -0,0 +1,59 @@
{ config, lib, pkgs, options }:
with lib;
let
cfg = config.services.prometheus.exporters.artifactory;
in
{
port = 9531;
extraOpts = {
scrapeUri = mkOption {
type = types.str;
default = "http://localhost:8081/artifactory";
description = ''
URI on which to scrape JFrog Artifactory.
'';
};
artiUsername = mkOption {
type = types.str;
description = ''
Username for authentication against JFrog Artifactory API.
'';
};
artiPassword = mkOption {
type = types.str;
default = "";
description = ''
Password for authentication against JFrog Artifactory API.
One of the password or access token needs to be set.
'';
};
artiAccessToken = mkOption {
type = types.str;
default = "";
description = ''
Access token for authentication against JFrog Artifactory API.
One of the password or access token needs to be set.
'';
};
};
serviceOpts = {
serviceConfig = {
ExecStart = ''
${pkgs.prometheus-artifactory-exporter}/bin/artifactory_exporter \
--web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
--artifactory.scrape-uri ${cfg.scrapeUri} \
${concatStringsSep " \\\n " cfg.extraFlags}
'';
Environment = [
"ARTI_USERNAME=${cfg.artiUsername}"
"ARTI_PASSWORD=${cfg.artiPassword}"
"ARTI_ACCESS_TOKEN=${cfg.artiAccessToken}"
];
};
};
}

View File

@ -0,0 +1,50 @@
{ config, lib, pkgs, options }:
with lib;
let
cfg = config.services.prometheus.exporters.knot;
in {
port = 9433;
extraOpts = {
knotLibraryPath = mkOption {
type = types.str;
default = "${pkgs.knot-dns.out}/lib/libknot.so";
defaultText = "\${pkgs.knot-dns}/lib/libknot.so";
description = ''
Path to the library of <package>knot-dns</package>.
'';
};
knotSocketPath = mkOption {
type = types.str;
default = "/run/knot/knot.sock";
description = ''
Socket path of <citerefentry><refentrytitle>knotd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>.
'';
};
knotSocketTimeout = mkOption {
type = types.int;
default = 2000;
description = ''
Timeout in seconds.
'';
};
};
serviceOpts = {
serviceConfig = {
ExecStart = ''
${pkgs.prometheus-knot-exporter}/bin/knot_exporter \
--web-listen-addr ${cfg.listenAddress} \
--web-listen-port ${toString cfg.port} \
--knot-library-path ${cfg.knotLibraryPath} \
--knot-socket-path ${cfg.knotSocketPath} \
--knot-socket-timeout ${toString cfg.knotSocketTimeout} \
${concatStringsSep " \\\n " cfg.extraFlags}
'';
SupplementaryGroups = [ "knot" ];
};
};
}

View File

@ -0,0 +1,18 @@
{ config, pkgs, lib, ... }:
with lib;
let cfg = config.services.prometheus.exporters.systemd;
in {
port = 9558;
serviceOpts = {
serviceConfig = {
ExecStart = ''
${pkgs.prometheus-systemd-exporter}/bin/systemd_exporter \
--web.listen-address ${cfg.listenAddress}:${toString cfg.port}
'';
};
};
}

View File

@ -75,6 +75,21 @@ let
''; '';
}; };
artifactory = {
exporterConfig = {
enable = true;
artiUsername = "artifactory-username";
artiPassword = "artifactory-password";
};
exporterTest = ''
wait_for_unit("prometheus-artifactory-exporter.service")
wait_for_open_port(9531)
succeed(
"curl -sSf http://localhost:9531/metrics | grep -q 'artifactory_up'"
)
'';
};
bind = { bind = {
exporterConfig = { exporterConfig = {
enable = true; enable = true;
@ -248,6 +263,24 @@ let
''; '';
}; };
knot = {
exporterConfig = {
enable = true;
};
metricProvider = {
services.knot = {
enable = true;
extraArgs = [ "-v" ];
};
};
exporterTest = ''
wait_for_unit("knot.service")
wait_for_unit("prometheus-knot-exporter.service")
wait_for_open_port(9433)
succeed("curl -sSf 'localhost:9433' | grep -q 'knot_server_zone_count 0.0'")
'';
};
keylight = { keylight = {
# A hardware device is required to properly test this exporter, so just # A hardware device is required to properly test this exporter, so just
# perform a couple of basic sanity checks that the exporter is running # perform a couple of basic sanity checks that the exporter is running
@ -802,6 +835,22 @@ let
''; '';
}; };
systemd = {
exporterConfig = {
enable = true;
};
metricProvider = { };
exporterTest = ''
wait_for_unit("prometheus-systemd-exporter.service")
wait_for_open_port(9558)
succeed(
"curl -sSf localhost:9558/metrics | grep -q '{}'".format(
'systemd_unit_state{name="basic.target",state="active",type="target"} 1'
)
)
'';
};
tor = { tor = {
exporterConfig = { exporterConfig = {
enable = true; enable = true;

View File

@ -25,11 +25,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "almanah"; pname = "almanah";
version = "0.12.2"; version = "0.12.3";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "IWYOnOu0C9uQ9k1dgWkJ6Kv+o/jY+6Llfsi4PusHE24="; sha256 = "lMpDQOxlGljP66APR49aPbTZnfrGakbQ2ZcFvmiPMFo=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -5,13 +5,13 @@
buildGoModule rec { buildGoModule rec {
pname = "dasel"; pname = "dasel";
version = "1.13.2"; version = "1.13.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "TomWright"; owner = "TomWright";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-++8vTK0OR44Mcdh5g2bJEq7aO+fWySKw0XlSz2KJNio="; sha256 = "sha256-jjQem7ymwjmOZypMxsQyQGYWtQ0YwWvoxZDXJwCBDgs=";
}; };
vendorSha256 = "sha256-BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY="; vendorSha256 = "sha256-BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY=";

View File

@ -11,9 +11,9 @@
buildGoModule rec { buildGoModule rec {
pname = "minikube"; pname = "minikube";
version = "1.18.0"; version = "1.18.1";
vendorSha256 = "0fy9x9zlmwpncyj55scvriv4vr4kjvqss85b0a1zs2srvlnf8gz2"; vendorSha256 = "sha256-rw1tqz+Y5iSXWIxXV4433Hwgyfz8jYMzKWurCi2hmhM=";
doCheck = false; doCheck = false;
@ -21,7 +21,7 @@ buildGoModule rec {
owner = "kubernetes"; owner = "kubernetes";
repo = "minikube"; repo = "minikube";
rev = "v${version}"; rev = "v${version}";
sha256 = "1yjcaq0lg5a7ip2qxjmnzq3pa1gjhdfdq9a4xk2zxyqcam4dh6v2"; sha256 = "sha256-8QI/Kn5LHSD3at7icmEDhjuYP811A4l+2KrRmKTwi8w=";
}; };
nativeBuildInputs = [ go-bindata installShellFiles pkg-config which ]; nativeBuildInputs = [ go-bindata installShellFiles pkg-config which ];

View File

@ -2,32 +2,44 @@
, gmp, mpfr, pari, ntl, gsl, mpfi, ecm, glpk, nauty , gmp, mpfr, pari, ntl, gsl, mpfi, ecm, glpk, nauty
, readline, gettext, libpng, libao, gfortran, perl , readline, gettext, libpng, libao, gfortran, perl
, enableGUI ? false, libGL, libGLU, xorg, fltk , enableGUI ? false, libGL, libGLU, xorg, fltk
, enableMicroPy ? false, python3
}: }:
assert (!blas.isILP64) && (!lapack.isILP64); assert (!blas.isILP64) && (!lapack.isILP64);
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "giac${lib.optionalString enableGUI "-with-xcas"}"; pname = "giac${lib.optionalString enableGUI "-with-xcas"}";
version = "1.5.0-87"; # TODO try to remove preCheck phase on upgrade version = "1.6.0-47"; # TODO try to remove preCheck phase on upgrade
src = fetchurl { src = fetchurl {
url = "https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version}.tar.gz"; url = "https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version}.tar.gz";
sha256 = "1d0h1yb7qvh9x7wwv9yrzmcp712f49w1iljkxp4y6g9pzsmg1mmv"; sha256 = "sha256-c5A9/I6L/o3Y3dxEPoTKpw/fJqYMr6euLldaQ1HWT5c=";
}; };
patches = lib.optionals (!enableGUI) [ patches = [
# when enableGui is false, giac is compiled without fltk. That means some
# outputs differ in the make check. Patch around this:
(fetchpatch { (fetchpatch {
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/giac/patches/nofltk-check.patch?id=7553a3c8dfa7bcec07241a07e6a4e7dcf5bb4f26"; name = "pari_2_11.patch";
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/giac/patches/pari_2_11.patch?id=21ba7540d385a9864b44850d6987893dfa16bfc0";
sha256 = "sha256-vEo/5MNzMdYRPWgLFPsDcMT1W80Qzj4EPBjx/B8j68k=";
})
] ++ lib.optionals (!enableGUI) [
# when enableGui is false, giac is compiled without fltk. That
# means some outputs differ in the make check. Patch around this:
(fetchpatch {
name = "nofltk-check.patch";
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/giac/patches/nofltk-check.patch?id=7553a3c8dfa7bcec07241a07e6a4e7dcf5bb4f26";
sha256 = "0xkmfc028vg5w6va04gp2x2iv31n8v4shd6vbyvk4blzgfmpj2cw"; sha256 = "0xkmfc028vg5w6va04gp2x2iv31n8v4shd6vbyvk4blzgfmpj2cw";
}) })
]; ];
postPatch = '' postPatch = ''
for i in doc/*/Makefile*; do for i in doc/*/Makefile* micropython*/xcas/Makefile*; do
substituteInPlace "$i" --replace "/bin/cp" "cp"; substituteInPlace "$i" --replace "/bin/cp" "cp";
done; done;
'' +
# workaround for 1.6.0-47, should not be necessary in future versions
lib.optionalString (!enableMicroPy) ''
sed -i -e 's/micropython-[0-9.]* //' Makefile*
''; '';
nativeBuildInputs = [ nativeBuildInputs = [
@ -44,7 +56,7 @@ stdenv.mkDerivation rec {
lapack blas lapack blas
] ++ lib.optionals enableGUI [ ] ++ lib.optionals enableGUI [
libGL libGLU fltk xorg.libX11 libGL libGLU fltk xorg.libX11
]; ] ++ lib.optional enableMicroPy python3;
/* fixes: /* fixes:
configure:16211: checking for main in -lntl configure:16211: checking for main in -lntl
@ -58,13 +70,12 @@ stdenv.mkDerivation rec {
outputs = [ "out" ] ++ lib.optional (!enableGUI) "doc"; outputs = [ "out" ] ++ lib.optional (!enableGUI) "doc";
doCheck = true; doCheck = true;
preCheck = '' preCheck = lib.optionalString (!enableGUI) ''
# One test in this file fails. That test just tests a part of the pari # even with the nofltk patch, some changes in src/misc.cc (grep
# interface that isn't actually used in giac. Of course it would be better # for HAVE_LIBFLTK) made it so that giac behaves differently
# to only remove that one test, but that would require a patch. # when fltk is disabled. disable these tests for now.
# Removing the whole test set should be good enough for now. echo > check/chk_fhan2
# Upstream report: https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=4&t=2102#p10326 echo > check/chk_fhan9
echo > check/chk_fhan11
''; '';
enableParallelBuilding = true; enableParallelBuilding = true;
@ -75,7 +86,7 @@ stdenv.mkDerivation rec {
"--enable-ao" "--enable-ecm" "--enable-glpk" "--enable-ao" "--enable-ecm" "--enable-glpk"
] ++ lib.optionals enableGUI [ ] ++ lib.optionals enableGUI [
"--enable-gui" "--with-x" "--enable-gui" "--with-x"
]; ] ++ lib.optional (!enableMicroPy) "--disable-micropy";
postInstall = '' postInstall = ''
# example Makefiles contain the full path to some commands # example Makefiles contain the full path to some commands

View File

@ -10,11 +10,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "palp"; pname = "palp";
version = "2.11"; version = "2.20";
src = fetchurl { src = fetchurl {
url = "http://hep.itp.tuwien.ac.at/~kreuzer/CY/palp/palp-${version}.tar.gz"; url = "http://hep.itp.tuwien.ac.at/~kreuzer/CY/palp/${pname}-${version}.tar.gz";
sha256 = "00jpm73fw9jjq58z6rysr1mwv489j6rpfqqlhm9ab0dln4kyhh05"; sha256 = "1q1cl3vpdir16szy0jcadysydcrjp48hqxyx42kr8g9digkqjgkj";
}; };
hardeningDisable = [ hardeningDisable = [

View File

@ -1,29 +0,0 @@
diff --git a/src/sage/interfaces/singular.py b/src/sage/interfaces/singular.py
index 88a33b0349..b3321f0bec 100644
--- a/src/sage/interfaces/singular.py
+++ b/src/sage/interfaces/singular.py
@@ -495,24 +495,6 @@ class Singular(ExtraTabCompletion, Expect):
"""
Send an interrupt to Singular. If needed, additional
semi-colons are sent until we get back at the prompt.
-
- TESTS:
-
- The following works without restarting Singular::
-
- sage: a = singular(1)
- sage: _ = singular._expect.sendline('1+') # unfinished input
- sage: try:
- ....: alarm(0.5)
- ....: singular._expect_expr('>') # interrupt this
- ....: except KeyboardInterrupt:
- ....: pass
- Control-C pressed. Interrupting Singular. Please wait a few seconds...
-
- We can still access a::
-
- sage: 2*a
- 2
"""
# Work around for Singular bug
# http://www.singular.uni-kl.de:8002/trac/ticket/727

View File

@ -1,39 +0,0 @@
diff --git a/src/sage/repl/image.py b/src/sage/repl/image.py
index d7d00b0..cd1607a 100644
--- a/src/sage/repl/image.py
+++ b/src/sage/repl/image.py
@@ -77,7 +77,7 @@ class Image(SageObject):
- ``size`` -- 2-tuple, containing (width, height) in pixels.
- - ``color`` -- string or tuple of numeric. What colour to use
+ - ``color`` -- string, numeric or tuple of numeric. What colour to use
for the image. Default is black. If given, this should be a
a tuple with one value per band. When creating RGB images,
you can also use colour strings as supported by the
@@ -91,9 +91,15 @@ class Image(SageObject):
EXAMPLES::
sage: from sage.repl.image import Image
- sage: Image('P', (16, 16), (13,))
+ sage: Image('P', (16, 16), 13)
16x16px 8-bit Color image
"""
+ # pillow does not support Sage integers as color
+ from sage.rings.integer import Integer
+ if isinstance(color, Integer):
+ color = int(color)
+ elif isinstance(color, tuple):
+ color = tuple(int(i) if isinstance(i, Integer) else i for i in color)
self._pil = PIL.Image.new(mode, size, color)
@property
@@ -233,7 +239,7 @@ class Image(SageObject):
EXAMPLES::
sage: from sage.repl.image import Image
- sage: img = Image('P', (12, 34), (13,))
+ sage: img = Image('P', (12, 34), 13)
sage: filename = tmp_filename(ext='.png')
sage: img.save(filename)
sage: with open(filename, 'rb') as f:

View File

@ -1,36 +0,0 @@
diff --git a/src/sage/doctest/forker.py b/src/sage/doctest/forker.py
index cb3667659e..867f547d71 100644
--- a/src/sage/doctest/forker.py
+++ b/src/sage/doctest/forker.py
@@ -200,6 +200,15 @@ def init_sage(controller=None):
from sage.cpython._py2_random import Random
sage.misc.randstate.DEFAULT_PYTHON_RANDOM = Random
+ # IPython's pretty printer sorts the repr of dicts by their keys by default
+ # (or their keys' str() if they are not otherwise orderable). However, it
+ # disables this for CPython 3.6+ opting to instead display dicts' "natural"
+ # insertion order, which is preserved in those versions).
+ # However, this order is random in some instances.
+ # Also modifications of code may affect the order.
+ # So here we fore sorted dict printing.
+ IPython.lib.pretty.for_type(dict, _sorted_dict_pprinter_factory('{', '}'))
+
if controller is None:
import sage.repl.ipython_kernel.all_jupyter
else:
@@ -222,15 +231,6 @@ def init_sage(controller=None):
from sage.repl.rich_output.backend_doctest import BackendDoctest
dm.switch_backend(BackendDoctest())
- # IPython's pretty printer sorts the repr of dicts by their keys by default
- # (or their keys' str() if they are not otherwise orderable). However, it
- # disables this for CPython 3.6+ opting to instead display dicts' "natural"
- # insertion order, which is preserved in those versions).
- # However, this order is random in some instances.
- # Also modifications of code may affect the order.
- # So here we fore sorted dict printing.
- IPython.lib.pretty.for_type(dict, _sorted_dict_pprinter_factory('{', '}'))
-
# Switch on extra debugging
from sage.structure.debug_options import debug
debug.refine_category_hash_check = True

View File

@ -1,13 +0,0 @@
diff --git a/src/sage/interfaces/sagespawn.pyx b/src/sage/interfaces/sagespawn.pyx
index 9041238f1d..469befbc66 100644
--- a/src/sage/interfaces/sagespawn.pyx
+++ b/src/sage/interfaces/sagespawn.pyx
@@ -228,7 +228,7 @@ class SagePtyProcess(PtyProcess):
Check that the process eventually dies after calling
``terminate_async``::
- sage: s.ptyproc.terminate_async(interval=0.2)
+ sage: s.ptyproc.terminate_async(interval=float(0.2))
sage: while True:
....: try:
....: os.kill(s.pid, 0)

View File

@ -9,6 +9,20 @@
# This is done because multiple derivations rely on these sources and they should # This is done because multiple derivations rely on these sources and they should
# all get the same sources with the same patches applied. # all get the same sources with the same patches applied.
let
# Fetch a diff between `base` and `rev` on sage's git server.
# Used to fetch trac tickets by setting the `base` to the last release and the
# `rev` to the last commit of the ticket.
fetchSageDiff = { base, name, rev, sha256, ...}@args: (
fetchpatch ({
inherit name sha256;
url = "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}";
# We don't care about sage's own build system (which builds all its dependencies).
# Exclude build system changes to avoid conflicts.
excludes = [ "build/*" ];
} // builtins.removeAttrs args [ "rev" "base" "sha256" ])
);
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "9.2"; version = "9.2";
pname = "sage-src"; pname = "sage-src";
@ -40,17 +54,13 @@ stdenv.mkDerivation rec {
# https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE
./patches/sphinx-docbuild-subprocesses.patch ./patches/sphinx-docbuild-subprocesses.patch
# Sage's workaround to pretty print dicts (in # Register sorted dict pprinter earlier (https://trac.sagemath.org/ticket/31053)
# src/sage/doctest/forker.py:init_sage) runs too late (after (fetchSageDiff {
# controller.load_environment(), which imports sage.all.*) to to base = "9.3.beta4";
# affect sage.sandpiles.Sandpile{Config,Divisor}'s pretty printer. name = "register-pretty-printer-earlier.patch";
# Due to the sandpiles module being lazily loaded, this only rev = "d658230ce06ca19f4a3b3a4576297ee82f2d2151";
# affects the first run (subsequent runs read from an import cache sha256 = "sha256-9mPUV7K5PoLDH2vVaYaOfvDLDpmxU0Aj7m/eaXYotDs=";
# at ~/.sage/cache and are not affected), which is probably why })
# other distributions don't hit this bug. This breaks two sandpile
# tests, so do the workaround a little bit earlier.
# https://trac.sagemath.org/ticket/31053
./patches/register-pretty-printer-earlier.patch
]; ];
# Since sage unfortunately does not release bugfix releases, packagers must # Since sage unfortunately does not release bugfix releases, packagers must
@ -63,17 +73,20 @@ stdenv.mkDerivation rec {
# fix intermittent errors in Sage 9.2's psage.py (this patch is # fix intermittent errors in Sage 9.2's psage.py (this patch is
# already included in Sage 9.3): https://trac.sagemath.org/ticket/30730 # already included in Sage 9.3): https://trac.sagemath.org/ticket/30730
(fetchpatch { (fetchSageDiff {
base = "9.2.rc2";
name = "fix-psage-is-locked.patch"; name = "fix-psage-is-locked.patch";
url = "https://git.sagemath.org/sage.git/patch/?id=75df605f216ddc7b6ca719be942d666b241520e9"; rev = "75df605f216ddc7b6ca719be942d666b241520e9";
sha256 = "0g9pl1wbb3sgs26d3bvv70cpa77sfskylv4kd255y1794f1fgk4q"; sha256 = "0g9pl1wbb3sgs26d3bvv70cpa77sfskylv4kd255y1794f1fgk4q";
}) })
# fix intermittent errors in sagespawn.pyx: https://trac.sagemath.org/ticket/31052 # fix intermittent errors in sagespawn.pyx: https://trac.sagemath.org/ticket/31052
./patches/sagespawn-implicit-casting.patch (fetchSageDiff {
base = "9.2";
# disable pexpect interrupt test (see https://trac.sagemath.org/ticket/30945) name = "sagespawn-implicit-casting.patch";
./patches/disable-pexpect-intermittent-failure.patch rev = "2959ac792ebd6107fe87c9af1541083de5ba02d6";
sha256 = "sha256-bWIpEGir9Kawak5CJegBMNcHm/CqhWmdru+emeSsvO0=";
})
]; ];
# Patches needed because of package updates. We could just pin the versions of # Patches needed because of package updates. We could just pin the versions of
@ -82,20 +95,7 @@ stdenv.mkDerivation rec {
# compatible with never dependency versions when possible. All these changes # compatible with never dependency versions when possible. All these changes
# should come from or be proposed to upstream. This list will probably never # should come from or be proposed to upstream. This list will probably never
# be empty since dependencies update all the time. # be empty since dependencies update all the time.
packageUpgradePatches = let packageUpgradePatches = [
# Fetch a diff between `base` and `rev` on sage's git server.
# Used to fetch trac tickets by setting the `base` to the last release and the
# `rev` to the last commit of the ticket.
fetchSageDiff = { base, rev, name ? "sage-diff-${base}-${rev}.patch", ...}@args: (
fetchpatch ({
inherit name;
url = "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}";
# We don't care about sage's own build system (which builds all its dependencies).
# Exclude build system changes to avoid conflicts.
excludes = [ "build/*" ];
} // builtins.removeAttrs args [ "rev" "base" ])
);
in [
# After updating smypow to (https://trac.sagemath.org/ticket/3360) we can # After updating smypow to (https://trac.sagemath.org/ticket/3360) we can
# now set the cache dir to be withing the .sage directory. This is not # now set the cache dir to be withing the .sage directory. This is not
# strictly necessary, but keeps us from littering in the user's HOME. # strictly necessary, but keeps us from littering in the user's HOME.
@ -105,7 +105,20 @@ stdenv.mkDerivation rec {
./patches/ignore-cmp-deprecation.patch ./patches/ignore-cmp-deprecation.patch
# adapt sage's Image class to pillow 8.0.1 (https://trac.sagemath.org/ticket/30971) # adapt sage's Image class to pillow 8.0.1 (https://trac.sagemath.org/ticket/30971)
./patches/pillow-update.patch (fetchSageDiff {
base = "9.3.beta2";
name = "pillow-8.0.1-update.patch";
rev = "f05f2d0aac9c4b5abe68105cee2cc7f2c8461847";
sha256 = "sha256-uY2UlgSd5hhOUUukB4Xc3Gjy0/e7p/qyq9jdvz10IOs=";
})
# don't use deprecated numpy type aliases (https://trac.sagemath.org/ticket/31364)
(fetchSageDiff {
base = "9.3.beta7";
name = "dont-use-deprecated-numpy-type-aliases.patch";
rev = "dfdef60515d4a4269e82d91280f76a7fdf10bf97";
sha256 = "sha256-77/3LkT5J7DQN8IPlGJKB6ZcJPaF7xwje06JNns+0AE=";
})
# fix test output with sympy 1.7 (https://trac.sagemath.org/ticket/30985) # fix test output with sympy 1.7 (https://trac.sagemath.org/ticket/30985)
./patches/sympy-1.7-update.patch ./patches/sympy-1.7-update.patch
@ -115,6 +128,31 @@ stdenv.mkDerivation rec {
# updated eclib output has punctuation changes and tidier whitespace # updated eclib output has punctuation changes and tidier whitespace
./patches/eclib-20210223-test-formatting.patch ./patches/eclib-20210223-test-formatting.patch
# upgrade arb to 2.18.1 (https://trac.sagemath.org/ticket/28623)
(fetchSageDiff {
base = "9.3.beta3";
name = "arb-2.18.1-update.patch";
rev = "0c9c4ed35c2eaf34ae0d19387c07b7f460e4abce";
sha256 = "sha256-CjOJIsyyVCziAfvE6pWSihPO35IZMcY2/taXAsqhPLY=";
})
# giac 1.6.0-47 update (https://trac.sagemath.org/ticket/30537)
(fetchSageDiff {
base = "9.3.beta7";
name = "giac-1.6.0-47-update.patch";
rev = "f05720bf63dfaf33a4e3b6d3ed2c2c0ec46b5d31";
sha256 = "sha256-gDUq+84eXd5GxLBWUSI61GMJpBF2KX4LBVOt3mS1NF8=";
})
# Make gcd/lcm interact better with pari and gmpy2 (https://trac.sagemath.org/ticket/30849)
# needed for pari 2.13.1 update, which we will do in the future
(fetchSageDiff {
base = "9.3.beta0";
name = "make-gcd-lcm-interact-better-with-pari-and-gmpy2.patch";
rev = "75c1516f0abb9e6f8c335e38e4031f6ef674ed30";
sha256 = "sha256-RukkieIZcXNrju904H2oyGKdtpdE+9vNzvyjN2IBNg0=";
})
]; ];
patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches; patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "droidcam"; pname = "droidcam";
version = "1.7.1"; version = "1.7.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aramg"; owner = "aramg";
repo = "droidcam"; repo = "droidcam";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-f7wLi4ReExkqb+SfOK0juzKbwdcqUVkklIUOIMtmnxM="; sha256 = "sha256-Ny/PJu+ifs9hQRDUv1pONBb6fKJzoiNtjPOFc4veU8c=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "tali"; pname = "tali";
version = "3.38.0"; version = "3.38.3";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/tali/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/tali/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "196f6hiap61sdqr7kvywk74yl0m2j7fvqml37p6cgfm7gfrhrvi9"; sha256 = "AhVCi1DEoIJ/sN4uTmum5WZ4+bp22NJbfuyoUhXyWjk=";
}; };
passthru = { passthru = {

View File

@ -1,14 +1,21 @@
{ lib, stdenv, fetchFromGitHub, mpir, gmp, mpfr, flint }: { lib
, stdenv
, fetchFromGitHub
, mpir
, gmp
, mpfr
, flint
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "arb"; pname = "arb";
version = "2.17.0"; version = "2.19.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "fredrik-johansson"; owner = "fredrik-johansson";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "05lpy3hkl5f8ik19aw40cqydrb932xaf2n8hbq9ib5dnk7f010p1"; sha256 = "sha256-J/LQVZ8gmssazE7ru89EtvW6cVjaLEHgUHuwjW1nuOE=";
}; };
buildInputs = [ mpir gmp mpfr flint ]; buildInputs = [ mpir gmp mpfr flint ];

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "intel-media-driver"; pname = "intel-media-driver";
version = "21.1.1"; version = "21.1.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "intel"; owner = "intel";
repo = "media-driver"; repo = "media-driver";
rev = "intel-media-${version}"; rev = "intel-media-${version}";
sha256 = "1cgmpy2wqhv8zljz73wm4rggpk9w1prpmab5qphfp7ljajfv7k8r"; sha256 = "17g9xilcrpmkn6higgpvd9bly1h61xxyp1kx9zwl6rgzs2pryby2";
}; };
cmakeFlags = [ cmakeFlags = [

View File

@ -4,18 +4,18 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rankwidth"; pname = "rankwidth";
version = "0.7"; version = "0.9";
src = fetchurl { src = fetchurl {
url = "mirror://sageupstream/rw/rw-${version}.tar.gz"; url = "mirror://sageupstream/rw/rw-${version}.tar.gz";
sha256 = "1rv2v42x2506x7f10349m1wpmmfxrv9l032bkminni2gbip9cjg0"; sha256 = "sha256-weA1Bv4lzfy0KMBR/Fay0q/7Wwb7o/LOdWYxRmvvtEE=";
}; };
configureFlags = [ configureFlags = [
"--enable-executable=no" # no igraph dependency "--enable-executable=no" # no igraph dependency
]; ];
# check phase is empty for now (as of version 0.7) # check phase is empty for now (as of version 0.9)
doCheck = true; doCheck = true;
meta = with lib; { meta = with lib; {

View File

@ -0,0 +1,39 @@
commit 433a8b99da9d71e96434bd421c2468cbda29d37c
Author: Mauricio Collares <mauricio@collares.org>
Date: Tue Mar 2 22:07:11 2021 -0300
trim logfile information from pari 2.13 output
Pari (since commit 609fb01faf827d91dfa9136849a647a3bbfe8036) prints
extra logfile information such as
[logfile is "/tmp/nix-shell.2BquN9/home/.sympow/datafiles/P02HM.txt"]
which messes up sympow's parsing. This commit reuses the same trimming
mechanism already in sympow to trim this new message.
diff --git a/Configure b/Configure
index 1ef9756..776bec2 100755
--- a/Configure
+++ b/Configure
@@ -322,7 +322,7 @@ echo "datafiles/param_data: \$(OTHERb)" >> $FILE
echo " \$(MKDIR) -p datafiles" >> $FILE
echo " \$(TOUCH) datafiles/param_data" >> $FILE
echo " \$(SH) armd.sh" >> $FILE
-echo " \$(SED) -i -e '/logfile =/d' datafiles/*.txt" >> $FILE
+echo " \$(SED) -i -e '/logfile /d' datafiles/*.txt" >> $FILE
echo "sympow.1: sympow" >> $FILE
echo " \$(HELP2MAN) \$(H2MFLAGS) -s 1 -n \"SYMPOW program\" -I sympow.h2m -o \$@ ./\$<" >> $FILE
echo "clean:" >> $FILE
diff --git a/generate.c b/generate.c
index dbb811f..783320c 100644
--- a/generate.c
+++ b/generate.c
@@ -148,6 +148,7 @@ static void trimit(char *A)
" -e '"
"/^\?/d" ";"
"/^(/d" ";"
+ "/logfile /d" ";"
"/Warning:/d" ";"
"/^About to find TOO_BIG/d" ";"
"/^Now working backwards/d" ";"

View File

@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
sha256 = "132l0xv00ld1svvv9wh99wfra4zzjv2885h2sq0dsl98wiyvi5zl"; sha256 = "132l0xv00ld1svvv9wh99wfra4zzjv2885h2sq0dsl98wiyvi5zl";
}; };
patches = [ ./clean-extra-logfile-output-from-pari.patch ];
postUnpack = '' postUnpack = ''
patchShebangs . patchShebangs .
''; '';

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "tepl"; pname = "tepl";
version = "5.0.0"; version = "5.0.1";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0x2s0ks575b57jdqnp9r9miz40pm705n2dlj2k8bfj1hyl22kgf6"; sha256 = "sSdJZ2CfUkSEs4d1+p7LKWxtZhaqvQUvKGM5oomRKAQ=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,4 +1,5 @@
{ lib { lib
, fetchpatch
, fetchPypi , fetchPypi
, buildPythonPackage , buildPythonPackage
, cython , cython
@ -16,6 +17,16 @@ buildPythonPackage rec {
sha256 = "1ckxzch3wk5cg80mppky5jib5z4fzslny3001r5zg4ar1ixbc1w1"; sha256 = "1ckxzch3wk5cg80mppky5jib5z4fzslny3001r5zg4ar1ixbc1w1";
}; };
patches = [
# fixes intermittent crashes in Sage tests (including in interfaces/singular.py)
# will be included in cysignals 1.10.3: https://github.com/sagemath/cysignals/pull/127
(fetchpatch {
name = "fix-verify_exc_value.patch";
url = "https://github.com/sagemath/cysignals/commit/49a7eee4bba3ab8f340cf56c371fa4f5ed702dcc.patch";
sha256 = "sha256-Pfc5tL9VDSP6ftDoHoIb+MDi5rjYqr0PRfIajFuuYVs=";
})
];
# explicit check: # explicit check:
# build/src/cysignals/implementation.c:27:2: error: #error "cysignals must be compiled without _FORTIFY_SOURCE" # build/src/cysignals/implementation.c:27:2: error: #error "cysignals must be compiled without _FORTIFY_SOURCE"
hardeningDisable = [ hardeningDisable = [

View File

@ -5,7 +5,7 @@
, docbook_xsl, openssh, gnused, coreutils, findutils, gzip, lzma, gnutar , docbook_xsl, openssh, gnused, coreutils, findutils, gzip, lzma, gnutar
, rpm, dpkg, cdrkit, pixz, lib, boost, autoreconfHook, src ? null, version ? null , rpm, dpkg, cdrkit, pixz, lib, boost, autoreconfHook, src ? null, version ? null
, migration ? false, patches ? [] , migration ? false, patches ? []
, tests ? {} , tests ? {}, mdbook
}: }:
with stdenv; with stdenv;
@ -92,7 +92,7 @@ in stdenv.mkDerivation rec {
gzip bzip2 lzma gnutar unzip git top-git mercurial /*darcs*/ gnused breezy gzip bzip2 lzma gnutar unzip git top-git mercurial /*darcs*/ gnused breezy
] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ] ); ] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ] );
nativeBuildInputs = [ autoreconfHook pkg-config ]; nativeBuildInputs = [ autoreconfHook pkg-config mdbook ];
configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ]; configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ];

View File

@ -2,16 +2,13 @@
{ {
hydra-unstable = callPackage ./common.nix { hydra-unstable = callPackage ./common.nix {
version = "2020-10-20"; version = "2021-03-10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "NixOS"; owner = "NixOS";
repo = "hydra"; repo = "hydra";
rev = "79d34ed7c93af2daf32cf44ee0e3e0768f13f97c"; rev = "930f05c38eeac63ad6c3e3250de2667e2df2e96e";
sha256 = "1lql899430137l6ghnhyz0ivkayy83fdr087ck2wq3gf1jv8pccj"; sha256 = "06s2lg119p96i1j4rdbg3z097n25bgvq8ljdn4vcwcw3yz0lnswm";
}; };
patches = [
./hydra-nix-receiveContents.patch
];
nix = nixFlakes; nix = nixFlakes;
tests = { tests = {

View File

@ -1,18 +0,0 @@
Update for https://github.com/NixOS/nix/commit/faa31f40
--- a/src/hydra-queue-runner/nar-extractor.cc
+++ b/src/hydra-queue-runner/nar-extractor.cc
@@ -48,9 +48,9 @@
- void receiveContents(unsigned char * data, size_t len) override
+ void receiveContents(std::string_view data) override
{
assert(expectedSize);
assert(curMember);
assert(hashSink);
- *curMember->fileSize += len;
- (*hashSink)(data, len);
+ *curMember->fileSize += data.size();
+ (*hashSink)(data);
if (curMember->contents) {
- curMember->contents->append((char *) data, len);
+ curMember->contents->append(data);

View File

@ -0,0 +1,39 @@
{ lib, stdenv, fetchurl, makeDesktopItem, SDL2, SDL2_net }:
stdenv.mkDerivation rec {
pname = "maelstrom";
version = "3.0.7";
src = fetchurl {
url = "http://www.libsdl.org/projects/Maelstrom/src/Maelstrom-${version}.tar.gz";
sha256 = "0dm0m5wd7amrsa8wnrblkv34sq4v4lglc2wfx8klfkdhyhi06s4k";
};
# this fixes a typedef compilation error with gcc-3.x
patches = [ ./fix-compilation.patch ];
buildInputs = [ SDL2 SDL2_net ];
postInstall = ''
mkdir -p $out/bin
ln -s $out/games/Maelstrom/Maelstrom $out/bin/maelstrom
'';
desktopItems = [
(makeDesktopItem {
name = "maelstrom";
exec = "maelstrom";
desktopName = "Maelstrom";
genericName = "Maelstrom";
comment = "An arcade-style game resembling Asteroids";
categories = "Game;";
})
];
meta = with lib; {
description = "An arcade-style game resembling Asteroids";
license = licenses.gpl2Plus;
platforms = platforms.all;
maintainers = with maintainers; [ tmountain ];
};
}

View File

@ -0,0 +1,42 @@
diff -Naur Maelstrom-3.0.7/buttonlist.h Maelstrom-3.0.7-patched/buttonlist.h
--- Maelstrom-3.0.7/buttonlist.h 2000-01-25 11:41:32.000000000 -0500
+++ Maelstrom-3.0.7-patched/buttonlist.h 2021-02-22 08:34:01.000000000 -0500
@@ -16,7 +16,7 @@
void Add_Button(Uint16 x, Uint16 y, Uint16 width, Uint16 height,
void (*callback)(void)) {
- struct button *belem;
+ button *belem;
for ( belem=&button_list; belem->next; belem=belem->next );
belem->next = new button;
@@ -30,7 +30,7 @@
}
void Activate_Button(Uint16 x, Uint16 y) {
- struct button *belem;
+ button *belem;
for ( belem=button_list.next; belem; belem=belem->next ) {
if ( (x >= belem->x1) && (x <= belem->x2) &&
@@ -42,7 +42,7 @@
}
void Delete_Buttons(void) {
- struct button *belem, *btemp;
+ button *belem, *btemp;
for ( belem=button_list.next; belem; ) {
btemp = belem;
diff -Naur Maelstrom-3.0.7/main.cpp Maelstrom-3.0.7-patched/main.cpp
--- Maelstrom-3.0.7/main.cpp 2021-02-04 11:50:27.000000000 -0500
+++ Maelstrom-3.0.7-patched/main.cpp 2021-02-22 08:34:34.000000000 -0500
@@ -153,7 +153,7 @@
error("or\n");
error("Usage: %s <options>\n\n", progname);
error("Where <options> can be any of:\n\n"
-" -fullscreen # Run Maelstrom in full-screen mode\n"
+" -windowed # Run Maelstrom in windowed mode\n"
" -gamma [0-8] # Set the gamma correction\n"
" -volume [0-8] # Set the sound volume\n"
" -netscores # Use the world-wide network score server\n"

View File

@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
license = licenses.mit; license = licenses.mit;
platforms = platforms.darwin; platforms = platforms.darwin;
maintainers = with maintainers; [ yurrriq ]; maintainers = with maintainers; [];
}; };
} }

View File

@ -13,14 +13,14 @@
}, },
"5.10": { "5.10": {
"extra": "-hardened1", "extra": "-hardened1",
"name": "linux-hardened-5.10.21-hardened1.patch", "name": "linux-hardened-5.10.22-hardened1.patch",
"sha256": "1c0sdbw8vwrxq2bdhv1xnmp43x1cc3nwd0l77bw3wiq3x76d8sfp", "sha256": "0ja7pcc999p6vy16gn4syb4vq7rlqckfrf5z2b4a7rzdzxcm6ji8",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.21-hardened1/linux-hardened-5.10.21-hardened1.patch" "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.22-hardened1/linux-hardened-5.10.22-hardened1.patch"
}, },
"5.4": { "5.4": {
"extra": "-hardened1", "extra": "-hardened1",
"name": "linux-hardened-5.4.103-hardened1.patch", "name": "linux-hardened-5.4.104-hardened1.patch",
"sha256": "1ci0zml2g1q1438c7wkq6xn9kk39jsms8pj81chcyxwz67h7xvbc", "sha256": "0dk0s23vr9vdh8aa7g3f6ygvqry4rw057i18sfnfsr18r7xslhna",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.103-hardened1/linux-hardened-5.4.103-hardened1.patch" "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.104-hardened1/linux-hardened-5.4.104-hardened1.patch"
} }
} }

View File

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

View File

@ -3,7 +3,7 @@
with lib; with lib;
buildLinux (args // rec { buildLinux (args // rec {
version = "5.4.103"; version = "5.4.104";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed # modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "12wy2w7yc6fcn61xm6l7a86rfwwcchfq89lpznm2v3dmy5y3mqw4"; sha256 = "1p8459plp3a6xw7cib34p7bddjs0dlv2m34dy4z6bbsvgfg51m74";
}; };
} // (args.argsOverride or {})) } // (args.argsOverride or {}))

View File

@ -6,7 +6,7 @@
, ... } @ args: , ... } @ args:
let let
version = "5.10.17-rt32"; # updated by ./update-rt.sh version = "5.10.21-rt34"; # updated by ./update-rt.sh
branch = lib.versions.majorMinor version; branch = lib.versions.majorMinor version;
kversion = builtins.elemAt (lib.splitString "-" version) 0; kversion = builtins.elemAt (lib.splitString "-" version) 0;
in buildLinux (args // { in buildLinux (args // {
@ -18,14 +18,14 @@ in buildLinux (args // {
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
sha256 = "05289lr531piv1ncisbazfk0lj0q7gxflqkb0bn4c95vx0y64kp8"; sha256 = "1bz2gmyvpl4vsk0r6fsnh451fzvvfbv63rw8ia75gfv52vzyczwy";
}; };
kernelPatches = let rt-patch = { kernelPatches = let rt-patch = {
name = "rt"; name = "rt";
patch = fetchurl { patch = fetchurl {
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
sha256 = "1mffl1pvi7ijc3xws32bk8grs27ka2bd9bwl6h99vjn3dnkmkrfr"; sha256 = "12c2qpifcgij7hilhd7xrnqaz04gqf41m93pmlm8cv4nxz58cy36";
}; };
}; in [ rt-patch ] ++ lib.remove rt-patch kernelPatches; }; in [ rt-patch ] ++ lib.remove rt-patch kernelPatches;

View File

@ -6,7 +6,7 @@
, ... } @ args: , ... } @ args:
let let
version = "5.11.2-rt9"; # updated by ./update-rt.sh version = "5.11.4-rt11"; # updated by ./update-rt.sh
branch = lib.versions.majorMinor version; branch = lib.versions.majorMinor version;
kversion = builtins.elemAt (lib.splitString "-" version) 0; kversion = builtins.elemAt (lib.splitString "-" version) 0;
in buildLinux (args // { in buildLinux (args // {
@ -18,14 +18,14 @@ in buildLinux (args // {
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
sha256 = "186ha9fsk2qvrjkq7yvpmml938byz92m8ykcvbw4w9pmp8y5njlh"; sha256 = "1i8dfw83ndaylwji7lazfckk113plvnz7kh1yppbfg35r6przrc8";
}; };
kernelPatches = let rt-patch = { kernelPatches = let rt-patch = {
name = "rt"; name = "rt";
patch = fetchurl { patch = fetchurl {
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
sha256 = "0707rjai04x12llvs004800pkb0axf0d1sssahf3xhgrbalg94y1"; sha256 = "1az6cn9jj3bnjgwzzrjy1adnrnn06p2vzsnc1iib4xhs0sfr27hc";
}; };
}; in [ rt-patch ] ++ lib.remove rt-patch kernelPatches; }; in [ rt-patch ] ++ lib.remove rt-patch kernelPatches;

View File

@ -0,0 +1,36 @@
{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
buildGoModule rec {
pname = "artifactory_exporter";
version = "1.9.0";
rev = "v${version}";
src = fetchFromGitHub {
owner = "peimanja";
repo = pname;
rev = rev;
sha256 = "1zmkajg48i40jm624p2h03bwg7w28682yfcgk42ig3d50p8xwqc3";
};
vendorSha256 = "1594bpfwhbjgayf4aacs7rfjxm4cnqz8iak8kpm1xzsm1cx1il17";
subPackages = [ "." ];
buildFlagsArray = ''
-ldflags=
-s -w
-X github.com/prometheus/common/version.Version=${version}
-X github.com/prometheus/common/version.Revision=${rev}
-X github.com/prometheus/common/version.Branch=master
-X github.com/prometheus/common/version.BuildDate=19700101-00:00:00
'';
passthru.tests = { inherit (nixosTests.prometheus-exporters) artifactory; };
meta = with lib; {
description = "JFrog Artifactory Prometheus Exporter";
homepage = "https://github.com/peimanja/artifactory_exporter";
license = licenses.asl20;
maintainers = with maintainers; [ lbpdt ];
};
}

View File

@ -0,0 +1,39 @@
{ stdenv, fetchFromGitHub, lib, python3, nixosTests }:
stdenv.mkDerivation rec {
pname = "knot-exporter";
version = "unstable-2020-01-30";
src = fetchFromGitHub {
owner = "ghedo";
repo = "knot_exporter";
rev = "21dd46b401e0c1aea0b173e19462cdf89e1f444e";
sha256 = "sha256-4au4lpaq3jcqC2JXdCcf8h+YN8Nmm4eE0kZwA+1rWlc=";
};
dontBuild = true;
nativeBuildInputs = [ python3.pkgs.wrapPython ];
buildInputs = [ python3 ];
installPhase = ''
runHook preInstall
install -Dm0755 knot_exporter $out/bin/knot_exporter
patchShebangs $out/bin
buildPythonPath ${python3.pkgs.prometheus_client}
patchPythonScript $out/bin/knot_exporter
runHook postInstall
'';
passthru.tests = { inherit (nixosTests.prometheus-exporters) knot; };
meta = with lib; {
homepage = "https://github.com/ghedo/knot_exporter";
description = " Prometheus exporter for Knot DNS";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ma27 ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,25 @@
{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
buildGoModule rec {
pname = "systemd_exporter";
version = "0.4.0";
vendorSha256 = "sha256-bYoB0r+d0j3esi/kK2a7/Duup9cf4M3WJjiBNs2+bj8=";
src = fetchFromGitHub {
owner = "povilasv";
repo = pname;
rev = "v${version}";
sha256 = "sha256-JDfRHczFnTP9sxA7polUE9qzJhSPIiAU58GBNDYkX4c=";
};
passthru.tests = { inherit (nixosTests.prometheus-exporters) systemd; };
meta = with lib; {
description = "Exporter for systemd unit metrics";
homepage = "https://github.com/povilasv/systemd_exporter";
license = licenses.asl20;
maintainers = with maintainers; [ chkno ];
platforms = platforms.unix;
};
}

View File

@ -2,16 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "abcMIDI"; pname = "abcMIDI";
version = "2021.02.21"; version = "2021.03.10";
src = fetchzip { src = fetchzip {
url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip"; url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
sha256 = "10fa2g8vsz0y7kb0wxnz857r2gd9b0b278j0a5ipjaa7cjd0gi1b"; sha256 = "1g4a5b17jbra1c59fpsv1d1jrdsjwg5mw54qilrm12nw7yh9lihf";
}; };
# There is also a file called "makefile" which seems to be preferred by the standard build phase
makefile = "Makefile";
meta = with lib; { meta = with lib; {
homepage = "http://abc.sourceforge.net/abcMIDI/"; homepage = "http://abc.sourceforge.net/abcMIDI/";
downloadPage = "https://ifdo.ca/~seymour/runabc/top.html"; downloadPage = "https://ifdo.ca/~seymour/runabc/top.html";

View File

@ -11,14 +11,17 @@ mkDerivation rec {
sha256 = "X8jeESt+x5PxK3rTNC1h1Tpvue2WH09QRnG2g1eMoEE="; sha256 = "X8jeESt+x5PxK3rTNC1h1Tpvue2WH09QRnG2g1eMoEE=";
}; };
preConfigure = ''
substituteInPlace CMakeLists.txt \
--replace "#find_package(Serialport REQUIRED)" "find_package(Qt5SerialPort REQUIRED)"
'';
buildInputs = [ qtbase qtserialport ]; buildInputs = [ qtbase qtserialport ];
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
postInstall = ''
cd ..
mkdir -p "$out"/share/{applications,icons/hicolor/scalable/apps,man/man1}
cp cutecom.desktop "$out/share/applications"
cp images/cutecom.svg "$out/share/icons/hicolor/scalable/apps"
cp cutecom.1 "$out/share/man/man1"
'';
meta = with lib; { meta = with lib; {
description = "A graphical serial terminal"; description = "A graphical serial terminal";
homepage = "https://gitlab.com/cutecom/cutecom/"; homepage = "https://gitlab.com/cutecom/cutecom/";

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "clash"; pname = "clash";
version = "1.4.1"; version = "1.4.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Dreamacro"; owner = "Dreamacro";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-T6oBdhBX850GXb19MTOFVo9LRfOgCyMW3GIljMMeGmg="; sha256 = "sha256-ObnlcKTuO/yFNMXLwGvRTLnz18bNquq6dye2qpL7+VM=";
}; };
vendorSha256 = "sha256-HqlHUVWwvO15nitpwIh/u0GfF8wqJqkviyxOp7QHYz8="; vendorSha256 = "sha256-6ZQMDXc2NFs6l/DWPPCFJ+c40764hXzFTdi1Pxk1fnU=";
doCheck = false; doCheck = false;

View File

@ -13,7 +13,7 @@ common =
, bash, coreutils, gzip, gnutar , bash, coreutils, gzip, gnutar
, pkg-config, boehmgc, perlPackages, libsodium, brotli, boost, editline, nlohmann_json , pkg-config, boehmgc, perlPackages, libsodium, brotli, boost, editline, nlohmann_json
, autoreconfHook, autoconf-archive, bison, flex , autoreconfHook, autoconf-archive, bison, flex
, jq, libarchive , jq, libarchive, libcpuid
, lowdown, mdbook , lowdown, mdbook
# Used by tests # Used by tests
, gmock , gmock
@ -55,7 +55,7 @@ common =
] ]
++ lib.optionals stdenv.isDarwin [ Security ] ++ lib.optionals stdenv.isDarwin [ Security ]
++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
++ lib.optionals is24 [ libarchive gmock lowdown ] ++ lib.optionals is24 [ libarchive gmock lowdown libcpuid ]
++ lib.optional withLibseccomp libseccomp ++ lib.optional withLibseccomp libseccomp
++ lib.optional withAWS ++ lib.optional withAWS
((aws-sdk-cpp.override { ((aws-sdk-cpp.override {
@ -212,28 +212,15 @@ in rec {
nixUnstable = lib.lowPrio (callPackage common rec { nixUnstable = lib.lowPrio (callPackage common rec {
name = "nix-2.4${suffix}"; name = "nix-2.4${suffix}";
suffix = "pre20201205_a5d85d0"; suffix = "pre20210308_1c0e3e4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "NixOS"; owner = "NixOS";
repo = "nix"; repo = "nix";
rev = "a5d85d07faa94cf3518e98273be4bee3d495f06a"; rev = "1c0e3e453d41b869e4ac7e25dc1c00c349a7c411";
sha256 = "0g9jjhh0vs4hjrff5yx88x6sh7rk87ngvni3gnyxajqia957dipg"; sha256 = "17killwp42d25f17yq2jida64j7d0ipz6zish78iqi450yrd9wrd";
}; };
patches = [
(fetchpatch { # Fix build on gcc10
url = "https://github.com/NixOS/nix/commit/d4870462f8f539adeaa6dca476aff6f1f31e1981.patch";
sha256 = "mTvLvuxb2QVybRDgntKMq+b6da/s3YgM/ll2rWBeY/Y=";
})
# Fix the ETag bug. PR merged. Remove when updating to >= 20210125
# https://github.com/NixOS/nixpkgs/pull/109309#issuecomment-768331750
(fetchpatch {
url = "https://github.com/NixOS/nix/commit/c5b42c5a42138329c6d02da0d8a53cb59c6077f4.patch";
sha256 = "sha256-d4RNOKMxa4NMbFgYcqWRv2ByHt8F/XUWV+6P9qHz7S4=";
})
];
inherit storeDir stateDir confDir boehmgc; inherit storeDir stateDir confDir boehmgc;
}); });

View File

@ -1,10 +1,10 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
bundler-audit (0.7.0.1) bundler-audit (0.8.0)
bundler (>= 1.2.0, < 3) bundler (>= 1.2.0, < 3)
thor (>= 0.18, < 2) thor (~> 1.0)
thor (1.0.1) thor (1.1.0)
PLATFORMS PLATFORMS
ruby ruby

View File

@ -5,19 +5,19 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "04l9rs56rlvihbr2ybkrigjajgd3swa98lxvmdl8iylj1g5m7n0j"; sha256 = "00l8rs7cna0j3yh4s9sza0r88x7kjc7j4gp9yl378422k7i0r73v";
type = "gem"; type = "gem";
}; };
version = "0.7.0.1"; version = "0.8.0";
}; };
thor = { thor = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1xbhkmyhlxwzshaqa7swy2bx6vd64mm0wrr8g3jywvxy7hg0cwkm"; sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna";
type = "gem"; type = "gem";
}; };
version = "1.0.1"; version = "1.1.0";
}; };
} }

View File

@ -5,16 +5,16 @@
buildGoModule rec { buildGoModule rec {
pname = "gitleaks"; pname = "gitleaks";
version = "7.2.2"; version = "7.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zricethezav"; owner = "zricethezav";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-G/7Ezyfp9vkG1QHTG9Xg6mZ3qhQpx952i7rsSr3fFwY="; sha256 = "sha256-IJaumIFuIhrvXZ45uz8RUxAuprnWdv2lNzxNUascvVc=";
}; };
vendorSha256 = "0kk8ci7vprqw4v7cigspshfd13k2wyy4pdkxf11pqc2fz8j07kh9"; vendorSha256 = "sha256-Cc4DJPpOMHxDcH22S7znYo7QHNRXv8jOJhznu09kaE4=";
preBuild = '' preBuild = ''
buildFlagsArray+=("-ldflags" "-s -w -X github.com/zricethezav/gitleaks/v${lib.versions.major version}/version.Version=${version}") buildFlagsArray+=("-ldflags" "-s -w -X github.com/zricethezav/gitleaks/v${lib.versions.major version}/version.Version=${version}")

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bfs"; pname = "bfs";
version = "2.1"; version = "2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = "bfs"; repo = "bfs";
owner = "tavianator"; owner = "tavianator";
rev = version; rev = version;
sha256 = "1iricyigm0rsc8fr91vk3krvyafbnp0y3ww1rjv94l6jbdl7rrlb"; sha256 = "sha256-YxQBKXjYITVy8c6DJ3GwDR0ESgzghqJCcj1GEv8Lp2Q=";
}; };
buildInputs = lib.optionals stdenv.isLinux [ libcap acl ]; buildInputs = lib.optionals stdenv.isLinux [ libcap acl ];

View File

@ -511,6 +511,8 @@ in
madonctl = callPackage ../applications/misc/madonctl { }; madonctl = callPackage ../applications/misc/madonctl { };
maelstrom = callPackage ../games/maelstrom { };
copyDesktopItems = makeSetupHook { } ../build-support/setup-hooks/copy-desktop-items.sh; copyDesktopItems = makeSetupHook { } ../build-support/setup-hooks/copy-desktop-items.sh;
makeDesktopItem = callPackage ../build-support/make-desktopitem { }; makeDesktopItem = callPackage ../build-support/make-desktopitem { };
@ -18586,6 +18588,7 @@ in
}; };
prometheus-alertmanager = callPackage ../servers/monitoring/prometheus/alertmanager.nix { }; prometheus-alertmanager = callPackage ../servers/monitoring/prometheus/alertmanager.nix { };
prometheus-apcupsd-exporter = callPackage ../servers/monitoring/prometheus/apcupsd-exporter.nix { }; prometheus-apcupsd-exporter = callPackage ../servers/monitoring/prometheus/apcupsd-exporter.nix { };
prometheus-artifactory-exporter = callPackage ../servers/monitoring/prometheus/artifactory-exporter.nix { };
prometheus-aws-s3-exporter = callPackage ../servers/monitoring/prometheus/aws-s3-exporter.nix { }; prometheus-aws-s3-exporter = callPackage ../servers/monitoring/prometheus/aws-s3-exporter.nix { };
prometheus-bind-exporter = callPackage ../servers/monitoring/prometheus/bind-exporter.nix { }; prometheus-bind-exporter = callPackage ../servers/monitoring/prometheus/bind-exporter.nix { };
prometheus-bird-exporter = callPackage ../servers/monitoring/prometheus/bird-exporter.nix { }; prometheus-bird-exporter = callPackage ../servers/monitoring/prometheus/bird-exporter.nix { };
@ -18601,6 +18604,7 @@ in
prometheus-haproxy-exporter = callPackage ../servers/monitoring/prometheus/haproxy-exporter.nix { }; prometheus-haproxy-exporter = callPackage ../servers/monitoring/prometheus/haproxy-exporter.nix { };
prometheus-json-exporter = callPackage ../servers/monitoring/prometheus/json-exporter.nix { }; prometheus-json-exporter = callPackage ../servers/monitoring/prometheus/json-exporter.nix { };
prometheus-keylight-exporter = callPackage ../servers/monitoring/prometheus/keylight-exporter.nix { }; prometheus-keylight-exporter = callPackage ../servers/monitoring/prometheus/keylight-exporter.nix { };
prometheus-knot-exporter = callPackage ../servers/monitoring/prometheus/knot-exporter.nix { };
prometheus-lnd-exporter = callPackage ../servers/monitoring/prometheus/lnd-exporter.nix { }; prometheus-lnd-exporter = callPackage ../servers/monitoring/prometheus/lnd-exporter.nix { };
prometheus-mail-exporter = callPackage ../servers/monitoring/prometheus/mail-exporter.nix { }; prometheus-mail-exporter = callPackage ../servers/monitoring/prometheus/mail-exporter.nix { };
prometheus-mesos-exporter = callPackage ../servers/monitoring/prometheus/mesos-exporter.nix { }; prometheus-mesos-exporter = callPackage ../servers/monitoring/prometheus/mesos-exporter.nix { };
@ -18623,6 +18627,7 @@ in
prometheus-smokeping-prober = callPackage ../servers/monitoring/prometheus/smokeping-prober.nix { }; prometheus-smokeping-prober = callPackage ../servers/monitoring/prometheus/smokeping-prober.nix { };
prometheus-snmp-exporter = callPackage ../servers/monitoring/prometheus/snmp-exporter.nix { }; prometheus-snmp-exporter = callPackage ../servers/monitoring/prometheus/snmp-exporter.nix { };
prometheus-sql-exporter = callPackage ../servers/monitoring/prometheus/sql-exporter.nix { }; prometheus-sql-exporter = callPackage ../servers/monitoring/prometheus/sql-exporter.nix { };
prometheus-systemd-exporter = callPackage ../servers/monitoring/prometheus/systemd-exporter.nix { };
prometheus-tor-exporter = callPackage ../servers/monitoring/prometheus/tor-exporter.nix { }; prometheus-tor-exporter = callPackage ../servers/monitoring/prometheus/tor-exporter.nix { };
prometheus-statsd-exporter = callPackage ../servers/monitoring/prometheus/statsd-exporter.nix { }; prometheus-statsd-exporter = callPackage ../servers/monitoring/prometheus/statsd-exporter.nix { };
prometheus-surfboard-exporter = callPackage ../servers/monitoring/prometheus/surfboard-exporter.nix { }; prometheus-surfboard-exporter = callPackage ../servers/monitoring/prometheus/surfboard-exporter.nix { };