Merge branch 'staging-next' into staging

This commit is contained in:
Jan Tojnar 2021-04-29 02:35:54 +02:00
commit 76c3a6aafd
No known key found for this signature in database
GPG Key ID: 7FAB2A15F7A607A4
34 changed files with 172 additions and 318 deletions

View File

@ -66,8 +66,9 @@ let
stringLength sub substring tail trace; stringLength sub substring tail trace;
inherit (self.trivial) id const pipe concat or and bitAnd bitOr bitXor inherit (self.trivial) id const pipe concat or and bitAnd bitOr bitXor
bitNot boolToString mergeAttrs flip mapNullable inNixShell isFloat min max bitNot boolToString mergeAttrs flip mapNullable inNixShell isFloat min max
importJSON importTOML warn info showWarnings nixpkgsVersion version mod compare importJSON importTOML warn warnIf info showWarnings nixpkgsVersion version
splitByAndCompare functionArgs setFunctionArgs isFunction toHexString toBaseDigits; mod compare splitByAndCompare functionArgs setFunctionArgs isFunction
toHexString toBaseDigits;
inherit (self.fixedPoints) fix fix' converge extends composeExtensions inherit (self.fixedPoints) fix fix' converge extends composeExtensions
composeManyExtensions makeExtensible makeExtensibleWithCustomName; composeManyExtensions makeExtensible makeExtensibleWithCustomName;
inherit (self.attrsets) attrByPath hasAttrByPath setAttrByPath inherit (self.attrsets) attrByPath hasAttrByPath setAttrByPath

View File

@ -37,7 +37,7 @@ let
setAttrByPath setAttrByPath
toList toList
types types
warn warnIf
; ;
inherit (lib.options) inherit (lib.options)
isOption isOption
@ -516,8 +516,8 @@ rec {
value = if opt ? apply then opt.apply res.mergedValue else res.mergedValue; value = if opt ? apply then opt.apply res.mergedValue else res.mergedValue;
warnDeprecation = warnDeprecation =
if opt.type.deprecationMessage == null then id warnIf (opt.type.deprecationMessage != null)
else warn "The type `types.${opt.type.name}' of option `${showOption loc}' defined in ${showFiles opt.declarations} is deprecated. ${opt.type.deprecationMessage}"; "The type `types.${opt.type.name}' of option `${showOption loc}' defined in ${showFiles opt.declarations} is deprecated. ${opt.type.deprecationMessage}";
in warnDeprecation opt // in warnDeprecation opt //
{ value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value; { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;

View File

@ -644,8 +644,8 @@ rec {
floatToString = float: let floatToString = float: let
result = toString float; result = toString float;
precise = float == fromJSON result; precise = float == fromJSON result;
in if precise then result in lib.warnIf (!precise) "Imprecise conversion from float to string ${result}"
else lib.warn "Imprecise conversion from float to string ${result}" result; result;
/* Check whether a value can be coerced to a string */ /* Check whether a value can be coerced to a string */
isCoercibleToString = x: isCoercibleToString = x:

View File

@ -297,12 +297,15 @@ rec {
# Usage: # Usage:
# { # {
# foo = lib.warn "foo is deprecated" oldFoo; # foo = lib.warn "foo is deprecated" oldFoo;
# bar = lib.warnIf (bar == "") "Empty bar is deprecated" bar;
# } # }
# #
# TODO: figure out a clever way to integrate location information from # TODO: figure out a clever way to integrate location information from
# something like __unsafeGetAttrPos. # something like __unsafeGetAttrPos.
warn = msg: builtins.trace "warning: ${msg}"; warn = msg: builtins.trace "warning: ${msg}";
warnIf = cond: msg: if cond then warn msg else id;
info = msg: builtins.trace "INFO: ${msg}"; info = msg: builtins.trace "INFO: ${msg}";
showWarnings = warnings: res: lib.fold (w: x: warn w x) res warnings; showWarnings = warnings: res: lib.fold (w: x: warn w x) res warnings;

View File

@ -10305,6 +10305,12 @@
githubId = 2212422; githubId = 2212422;
name = "uwap"; name = "uwap";
}; };
V = {
name = "V";
email = "v@anomalous.eu";
github = "deviant";
githubId = 68829907;
};
va1entin = { va1entin = {
email = "github@valentinsblog.com"; email = "github@valentinsblog.com";
github = "va1entin"; github = "va1entin";

View File

@ -131,10 +131,8 @@ rec {
"it's currently ${toString testNameLen} characters long.") "it's currently ${toString testNameLen} characters long.")
else else
"nixos-test-driver-${name}"; "nixos-test-driver-${name}";
warn = if skipLint then lib.warn "Linting is disabled!" else lib.id;
in in
warn (runCommand testDriverName lib.warnIf skipLint "Linting is disabled" (runCommand testDriverName
{ {
buildInputs = [ makeWrapper ]; buildInputs = [ makeWrapper ];
testScript = testScript'; testScript = testScript';

View File

@ -40,6 +40,7 @@ in {
serviceConfig = { serviceConfig = {
Restart = "on-failure"; Restart = "on-failure";
TimeoutStopSec = 10;
ExecStart = "${pkgs.grafana-loki}/bin/promtail -config.file=${prettyJSON cfg.configuration} ${escapeShellArgs cfg.extraFlags}"; ExecStart = "${pkgs.grafana-loki}/bin/promtail -config.file=${prettyJSON cfg.configuration} ${escapeShellArgs cfg.extraFlags}";

View File

@ -37,7 +37,7 @@ let
generateHost = { pkgs, cephConfig, networkConfig, ... }: { generateHost = { pkgs, cephConfig, networkConfig, ... }: {
virtualisation = { virtualisation = {
memorySize = 512; memorySize = 1024;
emptyDiskImages = [ 20480 ]; emptyDiskImages = [ 20480 ];
vlans = [ 1 ]; vlans = [ 1 ];
}; };
@ -120,6 +120,7 @@ let
) )
monA.wait_for_unit("ceph-mon-${cfg.monA.name}") monA.wait_for_unit("ceph-mon-${cfg.monA.name}")
monA.succeed("ceph mon enable-msgr2") monA.succeed("ceph mon enable-msgr2")
monA.succeed("ceph config set mon auth_allow_insecure_global_id_reclaim false")
# Can't check ceph status until a mon is up # Can't check ceph status until a mon is up
monA.succeed("ceph -s | grep 'mon: 1 daemons'") monA.succeed("ceph -s | grep 'mon: 1 daemons'")

View File

@ -34,7 +34,7 @@ let
generateHost = { pkgs, cephConfig, networkConfig, ... }: { generateHost = { pkgs, cephConfig, networkConfig, ... }: {
virtualisation = { virtualisation = {
memorySize = 512; memorySize = 1024;
emptyDiskImages = [ 20480 20480 20480 ]; emptyDiskImages = [ 20480 20480 20480 ];
vlans = [ 1 ]; vlans = [ 1 ];
}; };
@ -95,6 +95,7 @@ let
) )
monA.wait_for_unit("ceph-mon-${cfg.monA.name}") monA.wait_for_unit("ceph-mon-${cfg.monA.name}")
monA.succeed("ceph mon enable-msgr2") monA.succeed("ceph mon enable-msgr2")
monA.succeed("ceph config set mon auth_allow_insecure_global_id_reclaim false")
# Can't check ceph status until a mon is up # Can't check ceph status until a mon is up
monA.succeed("ceph -s | grep 'mon: 1 daemons'") monA.succeed("ceph -s | grep 'mon: 1 daemons'")

View File

@ -34,7 +34,7 @@ let
generateHost = { pkgs, cephConfig, networkConfig, ... }: { generateHost = { pkgs, cephConfig, networkConfig, ... }: {
virtualisation = { virtualisation = {
memorySize = 512; memorySize = 1024;
emptyDiskImages = [ 20480 20480 20480 ]; emptyDiskImages = [ 20480 20480 20480 ];
vlans = [ 1 ]; vlans = [ 1 ];
}; };
@ -95,6 +95,7 @@ let
) )
monA.wait_for_unit("ceph-mon-${cfg.monA.name}") monA.wait_for_unit("ceph-mon-${cfg.monA.name}")
monA.succeed("ceph mon enable-msgr2") monA.succeed("ceph mon enable-msgr2")
monA.succeed("ceph config set mon auth_allow_insecure_global_id_reclaim false")
# Can't check ceph status until a mon is up # Can't check ceph status until a mon is up
monA.succeed("ceph -s | grep 'mon: 1 daemons'") monA.succeed("ceph -s | grep 'mon: 1 daemons'")

View File

@ -112,10 +112,8 @@ let
warnObsoleteVersionConditional = min-version: result: warnObsoleteVersionConditional = min-version: result:
let ungoogled-version = (importJSON ./upstream-info.json).ungoogled-chromium.version; let ungoogled-version = (importJSON ./upstream-info.json).ungoogled-chromium.version;
in if versionAtLeast ungoogled-version min-version in warnIf (versionAtLeast ungoogled-version min-version) "chromium: ungoogled version ${ungoogled-version} is newer than a conditional bounded at ${min-version}. You can safely delete it."
then warn "chromium: ungoogled version ${ungoogled-version} is newer than a conditional bounded at ${min-version}. You can safely delete it." result;
result
else result;
chromiumVersionAtLeast = min-version: chromiumVersionAtLeast = min-version:
let result = versionAtLeast upstream-info.version min-version; let result = versionAtLeast upstream-info.version min-version;
in warnObsoleteVersionConditional min-version result; in warnObsoleteVersionConditional min-version result;

View File

@ -0,0 +1,24 @@
{ lib, fetchurl }:
let
version = "13.001";
in fetchurl {
name = "last-resort-${version}";
url = "https://github.com/unicode-org/last-resort-font/releases/download/${version}/LastResortHE-Regular.ttf";
downloadToTemp = true;
postFetch = ''
install -D -m 0644 $downloadedFile $out/share/fonts/truetype/LastResortHE-Regular.ttf
'';
recursiveHash = true;
sha256 = "08mi65j46fv6a3y3pqnglqdjxjnbzg25v25f7c1zyk3c285m14hq";
meta = with lib; {
description = "Fallback font of last resort";
homepage = "https://github.com/unicode-org/last-resort-font";
license = licenses.ofl;
maintainers = with maintainers; [ V ];
};
}

View File

@ -88,13 +88,7 @@ stdenv.mkDerivation rec {
; ;
patches = [ patches = [
# Julia recompiles a precompiled file if the mtime stored *in* the ./patches/1.0/use-system-utf8proc-julia-1.0.patch
# .ji file differs from the mtime of the .ji file. This
# doesn't work in Nix because Nix changes the mtime of files in
# the Nix store to 1. So patch Julia to accept mtimes of 1.
./allow_nix_mtime.patch
./diagonal-test.patch
./use-system-utf8proc-julia-1.0.patch
]; ];
postPatch = '' postPatch = ''
@ -184,6 +178,8 @@ stdenv.mkDerivation rec {
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
''; '';
enableParallelBuilding = true;
postInstall = '' postInstall = ''
# Symlink shared libraries from LD_LIBRARY_PATH into lib/julia, # Symlink shared libraries from LD_LIBRARY_PATH into lib/julia,
# as using a wrapper with LD_LIBRARY_PATH causes segmentation # as using a wrapper with LD_LIBRARY_PATH causes segmentation

View File

@ -1,161 +0,0 @@
{ lib, stdenv, fetchurl, fetchzip, fetchFromGitHub
# build tools
, gfortran, m4, makeWrapper, patchelf, perl, which, python2
, cmake
# libjulia dependencies
, libunwind, readline, utf8proc, zlib
# standard library dependencies
, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
# linear algebra
, blas, lapack, arpack
# Darwin frameworks
, CoreServices, ApplicationServices
}:
assert (!blas.isILP64) && (!lapack.isILP64);
with lib;
let
majorVersion = "1";
minorVersion = "3";
maintenanceVersion = "1";
src_sha256 = "0q9a7yc3b235psrwl5ghyxgwly25lf8n818l8h6bkf2ymdbsv5p6";
version = "${majorVersion}.${minorVersion}.${maintenanceVersion}";
in
stdenv.mkDerivation rec {
pname = "julia";
inherit version;
src = fetchzip {
url = "https://github.com/JuliaLang/julia/releases/download/v${majorVersion}.${minorVersion}.${maintenanceVersion}/julia-${majorVersion}.${minorVersion}.${maintenanceVersion}-full.tar.gz";
sha256 = src_sha256;
};
prePatch = ''
export PATH=$PATH:${cmake}/bin
'';
patches = [
./use-system-utf8proc-julia-1.3.patch
# Julia recompiles a precompiled file if the mtime stored *in* the
# .ji file differs from the mtime of the .ji file. This
# doesn't work in Nix because Nix changes the mtime of files in
# the Nix store to 1. So patch Julia to accept mtimes of 1.
./allow_nix_mtime.patch
];
postPatch = ''
patchShebangs . contrib
for i in backtrace cmdlineargs; do
mv test/$i.jl{,.off}
touch test/$i.jl
done
rm stdlib/Sockets/test/runtests.jl && touch stdlib/Sockets/test/runtests.jl
rm stdlib/Distributed/test/runtests.jl && touch stdlib/Distributed/test/runtests.jl
sed -e 's/Invalid Content-Type:/invalid Content-Type:/g' -i ./stdlib/LibGit2/test/libgit2.jl
sed -e 's/Failed to resolve /failed to resolve /g' -i ./stdlib/LibGit2/test/libgit2.jl
'';
buildInputs = [
arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
pcre2.dev blas lapack openlibm openspecfun readline utf8proc
zlib
]
++ lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
;
nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ];
makeFlags =
let
arch = head (splitString "-" stdenv.system);
march = {
x86_64 = stdenv.hostPlatform.gcc.arch or "x86-64";
i686 = "pentium4";
aarch64 = "armv8-a";
}.${arch}
or (throw "unsupported architecture: ${arch}");
# Julia requires Pentium 4 (SSE2) or better
cpuTarget = { x86_64 = "x86-64"; i686 = "pentium4"; aarch64 = "generic"; }.${arch}
or (throw "unsupported architecture: ${arch}");
in [
"ARCH=${arch}"
"MARCH=${march}"
"JULIA_CPU_TARGET=${cpuTarget}"
"PREFIX=$(out)"
"prefix=$(out)"
"SHELL=${stdenv.shell}"
(lib.optionalString (!stdenv.isDarwin) "USE_SYSTEM_BLAS=1")
"USE_BLAS64=${if blas.isILP64 then "1" else "0"}"
"USE_SYSTEM_LAPACK=1"
"USE_SYSTEM_ARPACK=1"
"USE_SYSTEM_FFTW=1"
"USE_SYSTEM_GMP=1"
"USE_SYSTEM_LIBGIT2=1"
"USE_SYSTEM_LIBUNWIND=1"
"USE_SYSTEM_MPFR=1"
"USE_SYSTEM_OPENLIBM=1"
"USE_SYSTEM_OPENSPECFUN=1"
"USE_SYSTEM_PATCHELF=1"
"USE_SYSTEM_PCRE=1"
"PCRE_CONFIG=${pcre2.dev}/bin/pcre2-config"
"PCRE_INCL_PATH=${pcre2.dev}/include/pcre2.h"
"USE_SYSTEM_READLINE=1"
"USE_SYSTEM_UTF8PROC=1"
"USE_SYSTEM_ZLIB=1"
"USE_BINARYBUILDER=0"
];
LD_LIBRARY_PATH = makeLibraryPath [
arpack fftw fftwSinglePrec gmp libgit2 mpfr blas openlibm
openspecfun pcre2 lapack
];
# Other versions of Julia pass the tests, but we are not sure why these fail.
doCheck = false;
checkTarget = "testall";
# Julia's tests require read/write access to $HOME
preCheck = ''
export HOME="$NIX_BUILD_TOP"
'';
preBuild = ''
sed -e '/^install:/s@[^ ]*/doc/[^ ]*@@' -i Makefile
sed -e '/[$](DESTDIR)[$](docdir)/d' -i Makefile
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
'';
postInstall = ''
# Symlink shared libraries from LD_LIBRARY_PATH into lib/julia,
# as using a wrapper with LD_LIBRARY_PATH causes segmentation
# faults when program returns an error:
# $ julia -e 'throw(Error())'
find $(echo $LD_LIBRARY_PATH | sed 's|:| |g') -maxdepth 1 -name '*.${if stdenv.isDarwin then "dylib" else "so"}*' | while read lib; do
if [[ ! -e $out/lib/julia/$(basename $lib) ]]; then
ln -sv $lib $out/lib/julia/$(basename $lib)
fi
done
'';
passthru = {
inherit majorVersion minorVersion maintenanceVersion;
site = "share/julia/site/v${majorVersion}.${minorVersion}";
};
meta = {
description = "High-level performance-oriented dynamical language for technical computing";
homepage = "https://julialang.org/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ raskin rob garrison ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
broken = stdenv.isi686;
};
}

View File

@ -33,13 +33,7 @@ stdenv.mkDerivation rec {
}; };
patches = [ patches = [
./use-system-utf8proc-julia-1.3.patch ./patches/1.5/use-system-utf8proc-julia-1.3.patch
# Julia recompiles a precompiled file if the mtime stored *in* the
# .ji file differs from the mtime of the .ji file. This
# doesn't work in Nix because Nix changes the mtime of files in
# the Nix store to 1. So patch Julia to accept mtimes of 1.
./allow_nix_mtime.patch
]; ];
postPatch = '' postPatch = ''
@ -129,6 +123,8 @@ stdenv.mkDerivation rec {
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
''; '';
enableParallelBuilding = true;
postInstall = '' postInstall = ''
# Symlink shared libraries from LD_LIBRARY_PATH into lib/julia, # Symlink shared libraries from LD_LIBRARY_PATH into lib/julia,
# as using a wrapper with LD_LIBRARY_PATH causes segmentation # as using a wrapper with LD_LIBRARY_PATH causes segmentation

View File

@ -0,0 +1,24 @@
Julia
=====
[Julia][julia], as a full-fledged programming language with an extensive
standard library that covers numerical computing, can be somewhat challenging to
package. This file aims to provide pointers which could not easily be included
as comments in the expressions themselves.
[julia]: https://julialang.org
For Nixpkgs, the manual is as always your primary reference, and for the Julia
side of things you probably want to familiarise yourself with the [README
][readme], [build instructions][build], and [release process][release_process].
Remember that these can change between Julia releases, especially if the LTS and
release branches have deviated greatly. A lot of the build process is
underdocumented and thus there is no substitute for digging into the code that
controls the build process. You are very likely to need to use the test suite to
locate and address issues and in the end passing it, while only disabling a
minimal set of broken or incompatible tests you think you have a good reason to
disable, is your best bet at arriving at a solid derivation.
[readme]: https://github.com/JuliaLang/julia/blob/master/README.md
[build]: https://github.com/JuliaLang/julia/blob/master/doc/build/build.md
[release_process]: https://julialang.org/blog/2019/08/release-process

View File

@ -1,25 +0,0 @@
From f79775378a9eeec5b99f18cc95735b12d172aba3 Mon Sep 17 00:00:00 2001
From: Tom McLaughlin <pyro777@gmail.com>
Date: Wed, 12 Dec 2018 13:01:32 -0800
Subject: [PATCH] Patch to make work better with nix
---
base/loading.jl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/base/loading.jl b/base/loading.jl
index 51201b98b6..b40c0690f6 100644
--- a/base/loading.jl
+++ b/base/loading.jl
@@ -1384,7 +1384,7 @@ function stale_cachefile(modpath::String, cachefile::String)
# Issue #13606: compensate for Docker images rounding mtimes
# Issue #20837: compensate for GlusterFS truncating mtimes to microseconds
ftime = mtime(f)
- if ftime != ftime_req && ftime != floor(ftime_req) && ftime != trunc(ftime_req, digits=6)
+ if ftime != ftime_req && ftime != floor(ftime_req) && ftime != trunc(ftime_req, digits=6) && ftime != 1.0
@debug "Rejecting stale cache file $cachefile (mtime $ftime_req) because file $f (mtime $ftime) has changed"
return true
end
--
2.17.1

View File

@ -1,27 +0,0 @@
From 9eb180c523b877a53b9e1cf53a4d5e6dad3d7bfe Mon Sep 17 00:00:00 2001
From: Lars Jellema <lars.jellema@gmail.com>
Date: Sat, 19 Sep 2020 13:52:20 +0200
Subject: [PATCH] Use approximate comparisons for diagonal tests
---
stdlib/LinearAlgebra/test/diagonal.jl | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/stdlib/LinearAlgebra/test/diagonal.jl b/stdlib/LinearAlgebra/test/diagonal.jl
index e420d5bc6d..7f1b5d0aec 100644
--- a/stdlib/LinearAlgebra/test/diagonal.jl
+++ b/stdlib/LinearAlgebra/test/diagonal.jl
@@ -450,8 +450,8 @@ end
M = randn(T, 5, 5)
MM = [randn(T, 2, 2) for _ in 1:2, _ in 1:2]
for transform in (identity, adjoint, transpose, Adjoint, Transpose)
- @test lmul!(transform(D), copy(M)) == *(transform(Matrix(D)), M)
- @test rmul!(copy(M), transform(D)) == *(M, transform(Matrix(D)))
+ @test lmul!(transform(D), copy(M)) ≈ *(transform(Matrix(D)), M)
+ @test rmul!(copy(M), transform(D)) ≈ *(M, transform(Matrix(D)))
@test lmul!(transform(DD), copy(MM)) == *(transform(fullDD), MM)
@test rmul!(copy(MM), transform(DD)) == *(MM, transform(fullDD))
end
--
2.28.0

View File

@ -1,22 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i python3 -p python3 python3Packages.requests
import os
import re
import requests
import subprocess
latest = requests.get("https://api.github.com/repos/JuliaLang/julia/releases/latest").json()["tag_name"]
assert latest[0] == "v"
major, minor, patch = latest[1:].split(".")
assert major == "1"
# When a new minor version comes out we'll have to refactor/copy this update script.
assert minor == "5"
sha256 = subprocess.check_output(["nix-prefetch-url", "--unpack", f"https://github.com/JuliaLang/julia/releases/download/v{major}.{minor}.{patch}/julia-{major}.{minor}.{patch}-full.tar.gz"], text=True).strip()
nix_path = os.path.join(os.path.dirname(__file__), "1.5.nix")
nix0 = open(nix_path, "r").read()
nix1 = re.sub("maintenanceVersion = \".*\";", f"maintenanceVersion = \"{patch}\";", nix0)
nix2 = re.sub("src_sha256 = \".*\";", f"src_sha256 = \"{sha256}\";", nix1)
open(nix_path, "w").write(nix2)

View File

@ -5,10 +5,8 @@
assert attrs?pname -> attrs?version; assert attrs?pname -> attrs?version;
assert attrs?pname -> !(attrs?name); assert attrs?pname -> !(attrs?name);
(if attrs ? name then lib.warnIf (attrs ? name) "builtPerlPackage: `name' (\"${attrs.name}\") is deprecated, use `pname' and `version' instead"
lib.trivial.warn "builtPerlPackage: `name' (\"${attrs.name}\") is deprecated, use `pname' and `version' instead"
else
(x: x))
toPerlModule(stdenv.mkDerivation ( toPerlModule(stdenv.mkDerivation (
( (
lib.recursiveUpdate lib.recursiveUpdate

View File

@ -3,36 +3,41 @@
, cryptography , cryptography
, deprecated , deprecated
, fetchFromGitHub , fetchFromGitHub
, httpretty , pynacl
, isPy3k
, parameterized
, pyjwt , pyjwt
, pytestCheckHook , pythonOlder
, requests }: , requests
}:
buildPythonPackage rec { buildPythonPackage rec {
pname = "PyGithub"; pname = "PyGithub";
version = "1.54.1"; version = "1.55";
disabled = !isPy3k; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "PyGithub"; owner = "PyGithub";
repo = "PyGithub"; repo = "PyGithub";
rev = "v${version}"; rev = "v${version}";
sha256 = "1nl74bp5ikdnrc8xq0qr25ryl1mvarf0xi43k8w5jzlrllhq0nkq"; sha256 = "sha256-PuGCBFSbM91NtSzuyf0EQUr3LiuHDq90OwkSf53rSyA=";
}; };
checkInputs = [ httpretty parameterized pytestCheckHook ]; propagatedBuildInputs = [
propagatedBuildInputs = [ cryptography deprecated pyjwt requests ]; cryptography
deprecated
pynacl
pyjwt
requests
];
# Test suite makes REST calls against github.com # Test suite makes REST calls against github.com
doCheck = false; doCheck = false;
pythonImportsCheck = [ "github" ];
meta = with lib; { meta = with lib; {
description = "Python library to access the GitHub API v3";
homepage = "https://github.com/PyGithub/PyGithub"; homepage = "https://github.com/PyGithub/PyGithub";
description = "A Python (2 and 3) library to access the GitHub API v3";
platforms = platforms.all; platforms = platforms.all;
license = licenses.gpl3; license = licenses.lgpl3Plus;
maintainers = with maintainers; [ jhhuh ]; maintainers = with maintainers; [ jhhuh ];
}; };
} }

View File

@ -1,19 +1,36 @@
{ lib, buildPythonPackage, fetchPypi, requests, mock, httmock, pythonOlder, pytest, responses }: { lib
, buildPythonPackage
, pythonOlder
, fetchPypi
, argcomplete
, requests
, requests-toolbelt
, pyyaml
}:
buildPythonPackage rec { buildPythonPackage rec {
pname = "python-gitlab"; pname = "python-gitlab";
version = "2.6.0"; version = "2.7.1";
disabled = pythonOlder "3.6";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "a862c6874524ab585b725a17b2cd2950fc09d6d74205f40a11be2a4e8f2dcaa1"; sha256 = "0z4amj5xhx5zc3h2m0zrkardm3z5ba9qpjx5n6dczyz77r527yg1";
}; };
propagatedBuildInputs = [ requests ]; propagatedBuildInputs = [
argcomplete
pyyaml
requests
requests-toolbelt
];
checkInputs = [ mock httmock pytest responses ]; # tests rely on a gitlab instance on a local docker setup
doCheck = false;
disabled = pythonOlder "3.6"; pythonImportsCheck = [
"gitlab"
];
meta = with lib; { meta = with lib; {
description = "Interact with GitLab API"; description = "Interact with GitLab API";

View File

@ -11,9 +11,8 @@ let
else if isAarch64 then "arm64" else if isAarch64 then "arm64"
else lib.warn "Unsupported architecture, some image processing features might be unavailable" "unknown"; else lib.warn "Unsupported architecture, some image processing features might be unavailable" "unknown";
musl = lib.optionalString stdenv.hostPlatform.isMusl musl = lib.optionalString stdenv.hostPlatform.isMusl
(if (arch != "x64") (lib.warnIf (arch != "x64") "Some image processing features might be unavailable for non x86-64 with Musl"
then lib.warn "Some image processing features might be unavailable for non x86-64 with Musl" "musl-" "musl-");
else "musl-");
runtimeDir = "${os}-${musl}${arch}"; runtimeDir = "${os}-${musl}${arch}";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {

View File

@ -15,7 +15,7 @@ lib.makeScope newScope (self: with self; {
foreign-env = callPackage ./foreign-env { }; foreign-env = callPackage ./foreign-env { };
forgit-fish = callPackage ./forgit.nix { }; forgit = callPackage ./forgit.nix { };
fzf-fish = callPackage ./fzf-fish.nix { }; fzf-fish = callPackage ./fzf-fish.nix { };

View File

@ -4,7 +4,11 @@ buildFishPlugin rec {
pname = "forgit"; pname = "forgit";
version = "unstable-2021-04-09"; version = "unstable-2021-04-09";
buildInputs = [ git fzf ]; preFixup = ''
substituteInPlace $out/share/fish/vendor_conf.d/forgit.plugin.fish \
--replace "fzf " "${fzf}/bin/fzf " \
--replace "git " "${git}/bin/git "
'';
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wfxr"; owner = "wfxr";

View File

@ -1,5 +1,4 @@
{ lib, stdenv, runCommand, fetchurl { lib, stdenv, runCommand, fetchurl
, fetchpatch
, ensureNewerSourcesHook , ensureNewerSourcesHook
, cmake, pkg-config , cmake, pkg-config
, which, git , which, git
@ -14,6 +13,15 @@
, libnl, libcap_ng , libnl, libcap_ng
, rdkafka , rdkafka
, nixosTests , nixosTests
, cryptsetup
, sqlite
, lua
, icu
, bzip2
, doxygen
, graphviz
, fmt
, python3
# Optional Dependencies # Optional Dependencies
, yasm ? null, fcgi ? null, expat ? null , yasm ? null, fcgi ? null, expat ? null
@ -123,10 +131,10 @@ let
]); ]);
sitePackages = ceph-python-env.python.sitePackages; sitePackages = ceph-python-env.python.sitePackages;
version = "15.2.10"; version = "16.2.1";
src = fetchurl { src = fetchurl {
url = "http://download.ceph.com/tarballs/ceph-${version}.tar.gz"; url = "http://download.ceph.com/tarballs/ceph-${version}.tar.gz";
sha256 = "1xfijynfb56gydpwh6h4q781xymwxih6nx26idnkcjqih48nsn01"; sha256 = "1qqvfhnc94vfrq1ddizf6habjlcp77abry4v18zlq6rnhwr99zrh";
}; };
in rec { in rec {
ceph = stdenv.mkDerivation { ceph = stdenv.mkDerivation {
@ -142,12 +150,18 @@ in rec {
pkg-config which git python3Packages.wrapPython makeWrapper pkg-config which git python3Packages.wrapPython makeWrapper
python3Packages.python # for the toPythonPath function python3Packages.python # for the toPythonPath function
(ensureNewerSourcesHook { year = "1980"; }) (ensureNewerSourcesHook { year = "1980"; })
python3
fmt
# for building docs/man-pages presumably
doxygen
graphviz
]; ];
buildInputs = cryptoLibsMap.${cryptoStr} ++ [ buildInputs = cryptoLibsMap.${cryptoStr} ++ [
boost ceph-python-env libxml2 optYasm optLibatomic_ops optLibs3 boost ceph-python-env libxml2 optYasm optLibatomic_ops optLibs3
malloc zlib openldap lttng-ust babeltrace gperf gtest cunit malloc zlib openldap lttng-ust babeltrace gperf gtest cunit
snappy lz4 oathToolkit leveldb libnl libcap_ng rdkafka snappy lz4 oathToolkit leveldb libnl libcap_ng rdkafka
cryptsetup sqlite lua icu bzip2
] ++ lib.optionals stdenv.isLinux [ ] ++ lib.optionals stdenv.isLinux [
linuxHeaders util-linux libuuid udev keyutils optLibaio optLibxfs optZfs linuxHeaders util-linux libuuid udev keyutils optLibaio optLibxfs optZfs
# ceph 14 # ceph 14
@ -172,7 +186,6 @@ in rec {
''; '';
cmakeFlags = [ cmakeFlags = [
"-DWITH_PYTHON3=ON"
"-DWITH_SYSTEM_ROCKSDB=OFF" # breaks Bluestore "-DWITH_SYSTEM_ROCKSDB=OFF" # breaks Bluestore
"-DCMAKE_INSTALL_DATADIR=${placeholder "lib"}/lib" "-DCMAKE_INSTALL_DATADIR=${placeholder "lib"}/lib"
@ -183,6 +196,8 @@ in rec {
"-DWITH_TESTS=OFF" "-DWITH_TESTS=OFF"
# TODO breaks with sandbox, tries to download stuff with npm # TODO breaks with sandbox, tries to download stuff with npm
"-DWITH_MGR_DASHBOARD_FRONTEND=OFF" "-DWITH_MGR_DASHBOARD_FRONTEND=OFF"
# WITH_XFS has been set default ON from Ceph 16, keeping it optional in nixpkgs for now
''-DWITH_XFS=${if optLibxfs != null then "ON" else "OFF"}''
]; ];
postFixup = '' postFixup = ''

View File

@ -11,11 +11,11 @@ assert usePcre -> pcre != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "haproxy"; pname = "haproxy";
version = "2.3.7"; version = "2.3.10";
src = fetchurl { src = fetchurl {
url = "https://www.haproxy.org/download/${lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz"; url = "https://www.haproxy.org/download/${lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz";
sha256 = "sha256-Mbp6zQ14NnxxtW5Kh8nxHNI1/FYCvFuEaQd5Eg4KMFs="; sha256 = "sha256-mUbgz8g/KQcrNDHjckYiHPnUqdKKFYwHVxTTRSZvTzU=";
}; };
buildInputs = [ openssl zlib ] buildInputs = [ openssl zlib ]

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "cargo-outdated"; pname = "cargo-outdated";
version = "0.9.14"; version = "0.9.15";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kbknapp"; owner = "kbknapp";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-80H0yblEcxP6TTil0dJPZhvMivDLuyvoV0Rmcrykgjs="; sha256 = "sha256-Cd0QWFeAAHSkeCVQvb+Fsg5nBoutV1k1kQpMkWpci2E=";
}; };
cargoSha256 = "sha256-RACdzaCWfm5rrIX0wrvKSmhLQt1a+2MQqrjTx+etpGo="; cargoSha256 = "sha256-VngJMDVKIV8+ODHia2U2gKKPKskyKiuKhSnO6NJsJHI=";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ] buildInputs = [ openssl ]

View File

@ -5,13 +5,13 @@
buildGoModule rec { buildGoModule rec {
pname = "ffuf"; pname = "ffuf";
version = "1.3.0"; version = "1.3.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-0ckpEiXxen2E9IzrsmKoEKagoJ5maAbH1tHKgQjoCjo="; sha256 = "sha256-NkRf36wFmzqFv13P0DxpzEOGyBGbSXMLjWE7URzRXGY=";
}; };
vendorSha256 = "sha256-szT08rIozAuliOmge5RFX4NeVrJ2pCVyfotrHuvc0UU="; vendorSha256 = "sha256-szT08rIozAuliOmge5RFX4NeVrJ2pCVyfotrHuvc0UU=";

View File

@ -6,13 +6,13 @@
buildGoModule rec { buildGoModule rec {
pname = "gdu"; pname = "gdu";
version = "4.11.0"; version = "4.11.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dundee"; owner = "dundee";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-E+/Ig6+J7pJ98O+YAntBGERml2ELzkji3gworBdcSVY="; sha256 = "sha256-e9TYArmNWnK8XXcniAQCegrfWAUfTKKuClgdSTQep0U=";
}; };
vendorSha256 = "sha256-QiO5p0x8kmIN6f0uYS0IR2MlWtRYTHeZpW6Nmupjias="; vendorSha256 = "sha256-QiO5p0x8kmIN6f0uYS0IR2MlWtRYTHeZpW6Nmupjias=";

View File

@ -338,8 +338,10 @@ mapAliases ({
kodiPlain = kodi; kodiPlain = kodi;
kodiPlainWayland = kodi-wayland; kodiPlainWayland = kodi-wayland;
jellyfin_10_5 = throw "Jellyfin 10.5 is no longer supported and contains a security vulnerability. Please upgrade to a newer version."; # added 2021-04-26 jellyfin_10_5 = throw "Jellyfin 10.5 is no longer supported and contains a security vulnerability. Please upgrade to a newer version."; # added 2021-04-26
julia_07 = throw "julia_07 is deprecated in favor of julia_10 LTS"; # added 2020-09-15 julia_07 = throw "julia_07 has been deprecated in favor of the latest LTS version"; # added 2020-09-15
julia_11 = throw "julia_11 is deprecated in favor of latest Julia version"; # added 2020-09-15 julia_1 = throw "julia_1 has been deprecated in favor of julia_10 as it was ambiguous"; # added 2021-03-13
julia_11 = throw "julia_11 has been deprecated in favor of the latest stable version"; # added 2020-09-15
julia_13 = throw "julia_13 has been deprecated in favor of the latest stable version"; # added 2021-03-13
kbdKeymaps = throw "kbdKeymaps is not needed anymore since dvp and neo are now part of kbd"; # added 2021-04-11 kbdKeymaps = throw "kbdKeymaps is not needed anymore since dvp and neo are now part of kbd"; # added 2021-04-11
kdeconnect = plasma5Packages.kdeconnect-kde; # added 2020-10-28 kdeconnect = plasma5Packages.kdeconnect-kde; # added 2020-10-28
kdiff3-qt5 = kdiff3; # added 2017-02-18 kdiff3-qt5 = kdiff3; # added 2017-02-18

View File

@ -3362,7 +3362,8 @@ in
libceph = ceph.lib; libceph = ceph.lib;
inherit (callPackages ../tools/filesystems/ceph { inherit (callPackages ../tools/filesystems/ceph {
boost = boost172.override { enablePython = true; python = python38; }; boost = boost17x.override { enablePython = true; python = python3; };
lua = lua5_4;
}) })
ceph ceph
ceph-client; ceph-client;
@ -5966,6 +5967,8 @@ in
lalezar-fonts = callPackage ../data/fonts/lalezar-fonts { }; lalezar-fonts = callPackage ../data/fonts/lalezar-fonts { };
last-resort = callPackage ../data/fonts/last-resort {};
ldc = callPackage ../development/compilers/ldc { }; ldc = callPackage ../development/compilers/ldc { };
ldgallery = callPackage ../tools/graphics/ldgallery { }; ldgallery = callPackage ../tools/graphics/ldgallery { };
@ -10996,21 +10999,17 @@ in
julia_10 = callPackage ../development/compilers/julia/1.0.nix { julia_10 = callPackage ../development/compilers/julia/1.0.nix {
gmp = gmp6; gmp = gmp6;
inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices; inherit (darwin.apple_sdk.frameworks) ApplicationServices CoreServices;
libgit2 = libgit2_0_27; libgit2 = libgit2_0_27;
}; };
julia_13 = callPackage ../development/compilers/julia/1.3.nix {
gmp = gmp6;
inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;
};
julia_15 = callPackage ../development/compilers/julia/1.5.nix { julia_15 = callPackage ../development/compilers/julia/1.5.nix {
inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices; inherit (darwin.apple_sdk.frameworks) ApplicationServices CoreServices;
}; };
julia_1 = julia_10; julia-lts = julia_10;
julia = julia_15; julia-stable = julia_15;
julia = julia-lts;
jwasm = callPackage ../development/compilers/jwasm { }; jwasm = callPackage ../development/compilers/jwasm { };