Merge branch 'staging-next' into staging

This commit is contained in:
Jan Tojnar 2020-11-20 01:38:58 +01:00
commit 66ef389efa
No known key found for this signature in database
GPG key ID: 7FAB2A15F7A607A4
26 changed files with 373 additions and 58 deletions

View file

@ -11,6 +11,7 @@ with lib;
let let
cfg = config.ec2; cfg = config.ec2;
metadataFetcher = import ./ec2-metadata-fetcher.nix { metadataFetcher = import ./ec2-metadata-fetcher.nix {
inherit (pkgs) curl;
targetRoot = "$targetRoot/"; targetRoot = "$targetRoot/";
wgetExtraOptions = "-q"; wgetExtraOptions = "-q";
}; };

View file

@ -1,23 +1,79 @@
{ targetRoot, wgetExtraOptions }: { curl, targetRoot, wgetExtraOptions }:
# Note: be very cautious about dependencies, each dependency grows
# the closure of the initrd. Ideally we would not even require curl,
# but there is no reasonable way to send an HTTP PUT request without
# it. Note: do not be fooled: the wget referenced in this script
# is busybox's wget, not the fully featured one with --method support.
#
# Make sure that every package you depend on here is already listed as
# a channel blocker for both the full-sized and small channels.
# Otherwise, we risk breaking user deploys in released channels.
'' ''
metaDir=${targetRoot}etc/ec2-metadata metaDir=${targetRoot}etc/ec2-metadata
mkdir -m 0755 -p "$metaDir" mkdir -m 0755 -p "$metaDir"
get_imds_token() {
# retry-delay of 1 selected to give the system a second to get going,
# but not add a lot to the bootup time
${curl}/bin/curl \
-v \
--retry 3 \
--retry-delay 1 \
--fail \
-X PUT \
--connect-timeout 1 \
-H "X-aws-ec2-metadata-token-ttl-seconds: 600" \
http://169.254.169.254/latest/api/token
}
preflight_imds_token() {
# retry-delay of 1 selected to give the system a second to get going,
# but not add a lot to the bootup time
${curl}/bin/curl \
-v \
--retry 3 \
--retry-delay 1 \
--fail \
--connect-timeout 1 \
-H "X-aws-ec2-metadata-token: $IMDS_TOKEN" \
http://169.254.169.254/1.0/meta-data/instance-id
}
try=1
while [ $try -le 3 ]; do
echo "(attempt $try/3) getting an EC2 instance metadata service v2 token..."
IMDS_TOKEN=$(get_imds_token) && break
try=$((try + 1))
sleep 1
done
if [ "x$IMDS_TOKEN" == "x" ]; then
echo "failed to fetch an IMDS2v token."
fi
try=1
while [ $try -le 10 ]; do
echo "(attempt $try/10) validating the EC2 instance metadata service v2 token..."
preflight_imds_token && break
try=$((try + 1))
sleep 1
done
echo "getting EC2 instance metadata..." echo "getting EC2 instance metadata..."
if ! [ -e "$metaDir/ami-manifest-path" ]; then if ! [ -e "$metaDir/ami-manifest-path" ]; then
wget ${wgetExtraOptions} -O "$metaDir/ami-manifest-path" http://169.254.169.254/1.0/meta-data/ami-manifest-path wget ${wgetExtraOptions} --header "X-aws-ec2-metadata-token: $IMDS_TOKEN" -O "$metaDir/ami-manifest-path" http://169.254.169.254/1.0/meta-data/ami-manifest-path
fi fi
if ! [ -e "$metaDir/user-data" ]; then if ! [ -e "$metaDir/user-data" ]; then
wget ${wgetExtraOptions} -O "$metaDir/user-data" http://169.254.169.254/1.0/user-data && chmod 600 "$metaDir/user-data" wget ${wgetExtraOptions} --header "X-aws-ec2-metadata-token: $IMDS_TOKEN" -O "$metaDir/user-data" http://169.254.169.254/1.0/user-data && chmod 600 "$metaDir/user-data"
fi fi
if ! [ -e "$metaDir/hostname" ]; then if ! [ -e "$metaDir/hostname" ]; then
wget ${wgetExtraOptions} -O "$metaDir/hostname" http://169.254.169.254/1.0/meta-data/hostname wget ${wgetExtraOptions} --header "X-aws-ec2-metadata-token: $IMDS_TOKEN" -O "$metaDir/hostname" http://169.254.169.254/1.0/meta-data/hostname
fi fi
if ! [ -e "$metaDir/public-keys-0-openssh-key" ]; then if ! [ -e "$metaDir/public-keys-0-openssh-key" ]; then
wget ${wgetExtraOptions} -O "$metaDir/public-keys-0-openssh-key" http://169.254.169.254/1.0/meta-data/public-keys/0/openssh-key wget ${wgetExtraOptions} --header "X-aws-ec2-metadata-token: $IMDS_TOKEN" -O "$metaDir/public-keys-0-openssh-key" http://169.254.169.254/1.0/meta-data/public-keys/0/openssh-key
fi fi
'' ''

View file

@ -3,7 +3,7 @@
with lib; with lib;
let let
metadataFetcher = import ./ec2-metadata-fetcher.nix { metadataFetcher = import ./openstack-metadata-fetcher.nix {
targetRoot = "/"; targetRoot = "/";
wgetExtraOptions = "--retry-connrefused"; wgetExtraOptions = "--retry-connrefused";
}; };

View file

@ -0,0 +1,23 @@
{ targetRoot, wgetExtraOptions }:
''
metaDir=${targetRoot}etc/ec2-metadata
mkdir -m 0755 -p "$metaDir"
echo "getting EC2 instance metadata..."
if ! [ -e "$metaDir/ami-manifest-path" ]; then
wget ${wgetExtraOptions} -O "$metaDir/ami-manifest-path" http://169.254.169.254/1.0/meta-data/ami-manifest-path
fi
if ! [ -e "$metaDir/user-data" ]; then
wget ${wgetExtraOptions} -O "$metaDir/user-data" http://169.254.169.254/1.0/user-data && chmod 600 "$metaDir/user-data"
fi
if ! [ -e "$metaDir/hostname" ]; then
wget ${wgetExtraOptions} -O "$metaDir/hostname" http://169.254.169.254/1.0/meta-data/hostname
fi
if ! [ -e "$metaDir/public-keys-0-openssh-key" ]; then
wget ${wgetExtraOptions} -O "$metaDir/public-keys-0-openssh-key" http://169.254.169.254/1.0/meta-data/public-keys/0/openssh-key
fi
''

View file

@ -49,6 +49,7 @@ in rec {
[ "nixos.channel" ] [ "nixos.channel" ]
(onFullSupported "nixos.dummy") (onFullSupported "nixos.dummy")
(onAllSupported "nixos.iso_minimal") (onAllSupported "nixos.iso_minimal")
(onAllSupported "nixos.amazonImage")
(onSystems ["x86_64-linux"] "nixos.iso_plasma5") (onSystems ["x86_64-linux"] "nixos.iso_plasma5")
(onSystems ["x86_64-linux"] "nixos.iso_gnome") (onSystems ["x86_64-linux"] "nixos.iso_gnome")
(onFullSupported "nixos.manual") (onFullSupported "nixos.manual")

View file

@ -28,7 +28,7 @@ let
in rec { in rec {
nixos = { nixos = {
inherit (nixos') channel manual options iso_minimal dummy; inherit (nixos') channel manual options iso_minimal amazonImage dummy;
tests = { tests = {
inherit (nixos'.tests) inherit (nixos'.tests)
containers-imperative containers-imperative
@ -92,6 +92,7 @@ in rec {
[ "nixos.channel" [ "nixos.channel"
"nixos.dummy.x86_64-linux" "nixos.dummy.x86_64-linux"
"nixos.iso_minimal.x86_64-linux" "nixos.iso_minimal.x86_64-linux"
"nixos.amazonImage.x86_64-linux"
"nixos.manual.x86_64-linux" "nixos.manual.x86_64-linux"
"nixos.tests.boot.biosCdrom.x86_64-linux" "nixos.tests.boot.biosCdrom.x86_64-linux"
"nixos.tests.containers-imperative.x86_64-linux" "nixos.tests.containers-imperative.x86_64-linux"

View file

@ -234,5 +234,17 @@ import ./make-test-python.nix ({ pkgs, ... }: {
"docker run --rm file-in-store nix-store --verify --check-contents", "docker run --rm file-in-store nix-store --verify --check-contents",
"docker run --rm file-in-store |& grep 'some data'", "docker run --rm file-in-store |& grep 'some data'",
) )
with subtest("Ensure cross compiled image can be loaded and has correct arch."):
docker.succeed(
"docker load --input='${pkgs.dockerTools.examples.cross-aarch64}'",
)
assert (
docker.succeed(
"docker inspect ${pkgs.dockerTools.examples.cross-aarch64.imageName} "
+ "| ${pkgs.jq}/bin/jq -r .[].Architecture"
).strip()
== "arm64v8"
)
''; '';
}) })

View file

@ -1,14 +1,14 @@
{ lib, python3Packages, fetchFromGitHub }: { lib, python3Packages, fetchFromGitHub }:
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "matrix-dl-unstable"; pname = "matrix-dl";
version = "2019-09-22"; version = "unstable-2020-07-14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rubo77"; owner = "rubo77";
repo = "matrix-dl"; repo = pname;
rev = "e91610f45b7b3b0aca34923309fc83ba377f8a69"; rev = "b1a86d1421f39ee327284e1023f09dc165e3c8a5";
sha256 = "036xfdd21pcfjlilknc67z5jqpk0vz07853wwcsiac32iypc6f2q"; sha256 = "1l8nh8z7kz24v0wcy3ll3w6in2yxwa1yz8lyc3x0blz37d8ss4ql";
}; };
propagatedBuildInputs = with python3Packages; [ propagatedBuildInputs = with python3Packages; [

View file

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, pkgconfig, autoconf, makeDesktopItem { stdenv, lib, fetchFromGitHub, pkgconfig, autoconf, makeDesktopItem
, libX11, gdk-pixbuf, cairo, libXft, gtk3, vte , libX11, gdk-pixbuf, cairo, libXft, gtk3, vte
, harfbuzz #substituting glyphs with opentype fonts , harfbuzz #substituting glyphs with opentype fonts
, fribidi, m17n_lib #bidi and encoding , fribidi, m17n_lib #bidi and encoding
@ -12,9 +12,11 @@ stdenv.mkDerivation rec {
pname = "mlterm"; pname = "mlterm";
version = "3.9.1"; version = "3.9.1";
src = fetchurl { src = fetchFromGitHub {
url = "mirror://sourceforge/project/mlterm/01release/${pname}-${version}/${pname}-${version}.tar.gz"; owner = "arakiken";
sha256 = "03fnynwv7d1aicwk2rp31sgncv5m65agvygqvsgn59v9di40gnnb"; repo = pname;
rev = "rel-${lib.replaceStrings [ "." ] [ "_" ] version}"; # 3.9.1 -> rel-3_9_1
sha256 = "1hh196kz2n3asv8r8r2bdk5b2w93zq7rw4880ciiq1554h0ib7fj";
}; };
nativeBuildInputs = [ pkgconfig autoconf wrapGAppsHook ]; nativeBuildInputs = [ pkgconfig autoconf wrapGAppsHook ];

View file

@ -4,26 +4,24 @@
}: }:
let let
inherit (python3Packages) docutils dulwich python; inherit (python3Packages) docutils python;
in python3Packages.buildPythonApplication rec { in python3Packages.buildPythonApplication rec {
pname = "mercurial"; pname = "mercurial";
version = "5.4.2"; version = "5.6";
src = fetchurl { src = fetchurl {
url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz"; url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
sha256 = "0ls8nwx3nz26pibphw54fg8pxqb365zmmqx95lqrxqqyf3d972sw"; sha256 = "1hk2y30zzdnlv8f71kabvh0xi9c7qhp28ksh20vpd0r712sv79yz";
}; };
format = "other"; format = "other";
inherit python; # pass it so that the same version can be used in hg2git passthru = { inherit python; }; # pass it so that the same version can be used in hg2git
buildInputs = [ makeWrapper docutils unzip ] buildInputs = [ makeWrapper docutils unzip ]
++ stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices ]; ++ stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices ];
propagatedBuildInputs = [ dulwich ];
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=$(out)" ];
postInstall = (stdenv.lib.optionalString guiSupport '' postInstall = (stdenv.lib.optionalString guiSupport ''

View file

@ -31,6 +31,7 @@
writeScript, writeScript,
writeText, writeText,
writePython3, writePython3,
system, # Note: This is the cross system we're compiling for
}: }:
# WARNING: this API is unstable and may be subject to backwards-incompatible changes in the future. # WARNING: this API is unstable and may be subject to backwards-incompatible changes in the future.
@ -48,7 +49,7 @@ let
# A user is required by nix # A user is required by nix
# https://github.com/NixOS/nix/blob/9348f9291e5d9e4ba3c4347ea1b235640f54fd79/src/libutil/util.cc#L478 # https://github.com/NixOS/nix/blob/9348f9291e5d9e4ba3c4347ea1b235640f54fd79/src/libutil/util.cc#L478
export USER=nobody export USER=nobody
${nix}/bin/nix-store --load-db < ${closureInfo {rootPaths = contentsList;}}/registration ${buildPackages.nix}/bin/nix-store --load-db < ${closureInfo {rootPaths = contentsList;}}/registration
mkdir -p nix/var/nix/gcroots/docker/ mkdir -p nix/var/nix/gcroots/docker/
for i in ${lib.concatStringsSep " " contentsList}; do for i in ${lib.concatStringsSep " " contentsList}; do
@ -56,6 +57,16 @@ let
done; done;
''; '';
# Map nixpkgs architecture to Docker notation
# Reference: https://github.com/docker-library/official-images#architectures-other-than-amd64
getArch = nixSystem: {
aarch64-linux = "arm64v8";
armv7l-linux = "arm32v7";
x86_64-linux = "amd64";
powerpc64le-linux = "ppc64le";
i686-linux = "i386";
}.${nixSystem} or "Can't map Nix system ${nixSystem} to Docker architecture notation. Please check that your input and your requested build are correct or update the mapping in Nixpkgs.";
in in
rec { rec {
@ -72,7 +83,7 @@ rec {
, imageDigest , imageDigest
, sha256 , sha256
, os ? "linux" , os ? "linux"
, arch ? buildPackages.go.GOARCH , arch ? getArch system
# This is used to set name to the pulled image # This is used to set name to the pulled image
, finalImageName ? imageName , finalImageName ? imageName
@ -443,7 +454,7 @@ rec {
runCommand "${name}.tar.gz" { runCommand "${name}.tar.gz" {
inherit (stream) imageName; inherit (stream) imageName;
passthru = { inherit (stream) imageTag; }; passthru = { inherit (stream) imageTag; };
buildInputs = [ pigz ]; nativeBuildInputs = [ pigz ];
} "${stream} | pigz -nT > $out"; } "${stream} | pigz -nT > $out";
# 1. extract the base image # 1. extract the base image
@ -488,7 +499,7 @@ rec {
baseJson = let baseJson = let
pure = writeText "${baseName}-config.json" (builtins.toJSON { pure = writeText "${baseName}-config.json" (builtins.toJSON {
inherit created config; inherit created config;
architecture = buildPackages.go.GOARCH; architecture = getArch system;
os = "linux"; os = "linux";
}); });
impure = runCommand "${baseName}-config.json" impure = runCommand "${baseName}-config.json"
@ -715,7 +726,7 @@ rec {
streamScript = writePython3 "stream" {} ./stream_layered_image.py; streamScript = writePython3 "stream" {} ./stream_layered_image.py;
baseJson = writeText "${name}-base.json" (builtins.toJSON { baseJson = writeText "${name}-base.json" (builtins.toJSON {
inherit config; inherit config;
architecture = buildPackages.go.GOARCH; architecture = getArch system;
os = "linux"; os = "linux";
}); });
@ -762,7 +773,7 @@ rec {
else else
lib.head (lib.strings.splitString "-" (baseNameOf conf.outPath)); lib.head (lib.strings.splitString "-" (baseNameOf conf.outPath));
paths = referencesByPopularity overallClosure; paths = referencesByPopularity overallClosure;
buildInputs = [ jq ]; nativeBuildInputs = [ jq ];
} '' } ''
${if (tag == null) then '' ${if (tag == null) then ''
outName="$(basename "$out")" outName="$(basename "$out")"
@ -826,7 +837,7 @@ rec {
# take images can know in advance how the image is supposed to be used. # take images can know in advance how the image is supposed to be used.
isExe = true; isExe = true;
}; };
buildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
} '' } ''
makeWrapper ${streamScript} $out --add-flags ${conf} makeWrapper ${streamScript} $out --add-flags ${conf}
''; '';

View file

@ -7,7 +7,7 @@
# $ nix-build '<nixpkgs>' -A dockerTools.examples.redis # $ nix-build '<nixpkgs>' -A dockerTools.examples.redis
# $ docker load < result # $ docker load < result
{ pkgs, buildImage, pullImage, shadowSetup, buildImageWithNixDb }: { pkgs, buildImage, pullImage, shadowSetup, buildImageWithNixDb, pkgsCross }:
rec { rec {
# 1. basic example # 1. basic example
@ -407,4 +407,11 @@ rec {
contents = [ pkgs.bash pkgs.coreutils ] ++ nonRootShadowSetup { uid = 999; user = "somebody"; }; contents = [ pkgs.bash pkgs.coreutils ] ++ nonRootShadowSetup { uid = 999; user = "somebody"; };
}; };
# basic example, with cross compilation
cross-aarch64 = pkgsCross.aarch64-multiplatform.dockerTools.buildImage {
name = "hello-cross";
tag = "latest";
contents = pkgsCross.aarch64-multiplatform.hello;
};
} }

View file

@ -0,0 +1,102 @@
{ stdenv
, python
, libffi
, git
, cmake
, zlib
, fetchgit
, makeWrapper
, runCommand
, runCommandNoCC
, llvmPackages_5
, glibc
}:
let
unwrapped = stdenv.mkDerivation rec {
pname = "cling-unwrapped";
version = "0.7";
src = fetchgit {
url = "http://root.cern/git/clang.git";
# This commit has the tag cling-0.7 so we use it, even though cpt.py
# tries to use refs/tags/cling-patches-rrelease_50
rev = "354b25b5d915ff3b1946479ad07f3f2768ea1621";
branchName = "cling-patches";
sha256 = "0q8q2nnvjx3v59ng0q3qqqhzmzf4pmfqqiy3rz1f3drx5w3lgyjg";
};
clingSrc = fetchgit {
url = "http://root.cern/git/cling.git";
rev = "70163975eee5a76b45a1ca4016bfafebc9b57e07";
sha256 = "1mv2fhk857kp5rq714bq49iv7gy9fgdwibydj5wy1kq2m3sf3ysi";
};
preConfigure = ''
echo "add_llvm_external_project(cling)" >> tools/CMakeLists.txt
cp -r $clingSrc ./tools/cling
chmod -R a+w ./tools/cling
'';
nativeBuildInputs = [ python git cmake ];
buildInputs = [ libffi llvmPackages_5.llvm zlib ];
cmakeFlags = [
"-DLLVM_TARGETS_TO_BUILD=host;NVPTX"
"-DLLVM_ENABLE_RTTI=ON"
# Setting -DCLING_INCLUDE_TESTS=ON causes the cling/tools targets to be built;
# see cling/tools/CMakeLists.txt
"-DCLING_INCLUDE_TESTS=ON"
];
meta = with stdenv.lib; {
description = "The Interactive C++ Interpreter";
homepage = "https://root.cern/cling/";
license = with licenses; [ lgpl21 ncsa ];
maintainers = with maintainers; [ thomasjm ];
platforms = platforms.unix;
};
};
# The flags passed to the wrapped cling should
# a) prevent it from searching for system include files and libs, and
# b) provide it with the include files and libs it needs (C and C++ standard library)
# These are also exposed as cling.flags/cling.compilerIncludeFlags because it's handy to be
# able to pass them to tools that wrap Cling, particularly Jupyter kernels such as xeus-cling
# and the built-in jupyter-cling-kernel. Both of these use Cling as a library by linking against
# libclingJupyter.so, so the makeWrapper approach to wrapping the binary doesn't work.
# Thus, if you're packaging a Jupyter kernel, you either need to pass these flags as extra
# args to xcpp (for xeus-cling) or put them in the environment variable CLING_OPTS
# (for jupyter-cling-kernel)
flags = [
"-nostdinc"
"-nostdinc++"
"-isystem" "${glibc.dev}/include"
"-I" "${unwrapped}/include"
"-I" "${unwrapped}/lib/clang/5.0.2/include"
];
# Autodetect the include paths for the compiler used to build Cling, in the same way Cling does at
# https://github.com/root-project/cling/blob/v0.7/lib/Interpreter/CIFactory.cpp#L107:L111
# Note: it would be nice to just put the compiler in Cling's PATH and let it do this by itself, but
# unfortunately passing -nostdinc/-nostdinc++ disables Cling's autodetection logic.
compilerIncludeFlags = runCommandNoCC "compiler-include-flags.txt" {} ''
export LC_ALL=C
${stdenv.cc}/bin/c++ -xc++ -E -v /dev/null 2>&1 | sed -n -e '/^.include/,''${' -e '/^ \/.*++/p' -e '}' > tmp
sed -e 's/^/-isystem /' -i tmp
tr '\n' ' ' < tmp > $out
'';
in
runCommand "cling-${unwrapped.version}" {
buildInputs = [ makeWrapper ];
inherit unwrapped flags compilerIncludeFlags;
inherit (unwrapped) meta;
} ''
makeWrapper $unwrapped/bin/cling $out/bin/cling \
--add-flags "$(cat "$compilerIncludeFlags")" \
--add-flags "$flags"
''

View file

@ -9,7 +9,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aiokafka"; pname = "aiokafka";
version = "0.6.0"; version = "0.7.0";
disabled = isPy27; disabled = isPy27;
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "aio-libs"; owner = "aio-libs";
repo = "aiokafka"; repo = "aiokafka";
rev = "v${version}"; rev = "v${version}";
sha256 = "1l5nkz9blmfrbsj7m76vm8vcfdgvab33anzpq62384scp9yf8dln"; sha256 = "16pcgv38syqy6sj3w7zx95zgynpd642n3i95dpiw0ivhpqrxxhrf";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -4,11 +4,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "alerta-server"; pname = "alerta-server";
version = "8.0.3"; version = "8.1.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "894d240c51428225264867a80094b9743d71272635a18ddfefa5832b61fed2c6"; sha256 = "32a97eee95aea5527f6efa844c18b727fe4a6d61356ea3c0769a29a163ddcb7e";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -23,7 +23,7 @@ buildPythonPackage rec {
pymongo pymongo
python-dateutil python-dateutil
pytz pytz
pyyaml pyyaml
requests requests
requests-hawk requests-hawk
sentry-sdk sentry-sdk

View file

@ -4,7 +4,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "asana"; pname = "asana";
version = "0.8.2"; version = "0.10.3";
# upstream reportedly doesn't support 3.7 yet, blocked on # upstream reportedly doesn't support 3.7 yet, blocked on
# https://bugs.python.org/issue34226 # https://bugs.python.org/issue34226
@ -14,7 +14,7 @@ buildPythonPackage rec {
owner = "asana"; owner = "asana";
repo = "python-asana"; repo = "python-asana";
rev = "v${version}"; rev = "v${version}";
sha256 = "113zwnrpim1pdw8dzid2wpp5gzr2zk26jjl4wrwhgj0xk1cw94yi"; sha256 = "11nsfygcfpc2qb2gy4npi9w00cqfh88g7k3rsfq7xambz1zjdz1n";
}; };
checkInputs = [ pytest responses ]; checkInputs = [ pytest responses ];

View file

@ -0,0 +1,25 @@
{ buildPythonPackage
, fetchPypi
, lib
}:
buildPythonPackage rec {
pname = "littleutils";
version = "0.2.2";
src = fetchPypi {
inherit pname version;
sha256 = "0vwijrylppmk0nbddqvn527r9cg3zw8d6zk6r58hslry42jf7jp6";
};
# This tiny package has no unit tests at all
doCheck = false;
pythonImportsCheck = [ "littleutils" ];
meta = with lib; {
description = "Small collection of Python utility functions";
homepage = "https://github.com/alexmojaki/littleutils";
license = licenses.mit;
maintainers = with maintainers; [ jluttine ];
};
}

View file

@ -0,0 +1,54 @@
{ asttokens
, buildPythonPackage
, executing
, fetchFromGitHub
, git
, lib
, littleutils
, pure-eval
, pygments
, pytestCheckHook
, setuptools_scm
, toml
, typeguard
}:
buildPythonPackage rec {
pname = "stack_data";
version = "0.0.7";
src = fetchFromGitHub {
owner = "alexmojaki";
repo = pname;
rev = "v${version}";
sha256 = "148lhxihak8jm5dvryhsiykmn3s4mrlba8ki4dy1nbd8jnz06a4w";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
nativeBuildInputs = [
git
setuptools_scm
toml
];
propagatedBuildInputs = [
asttokens
executing
pure-eval
];
checkInputs = [
littleutils
pygments
pytestCheckHook
typeguard
];
meta = with lib; {
description = "Extract data from stack frames and tracebacks";
homepage = "https://github.com/alexmojaki/stack_data/";
license = licenses.mit;
maintainers = with maintainers; [ jluttine ];
};
}

View file

@ -17,11 +17,11 @@ let
}.${lib.versions.majorMinor php.version} or (throw "Unsupported PHP version."); }.${lib.versions.majorMinor php.version} or (throw "Unsupported PHP version.");
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "php-blackfire"; pname = "php-blackfire";
version = "1.43.0"; version = "1.44.0";
src = fetchurl { src = fetchurl {
url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire-php/blackfire-php_${version}_amd64.deb"; url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire-php/blackfire-php_${version}_amd64.deb";
sha256 = "1038qbpqkamd51ip25z6fbbz69faggahhdw75lnsd8prrwjcpli7"; sha256 = "15y1244bbs07i7rg6cy8kynp1may4mbkmmwbxgq8q5zma3ldc8ci";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "microcode-intel"; pname = "microcode-intel";
version = "20201112"; version = "20201118";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "intel"; owner = "intel";
repo = "Intel-Linux-Processor-Microcode-Data-Files"; repo = "Intel-Linux-Processor-Microcode-Data-Files";
rev = "microcode-${version}"; rev = "microcode-${version}";
sha256 = "104l3py5z6405wpa2fscqpc5r9dgrf1ckaf27hrswivi32gvp7f2"; sha256 = "1xs3f2rbfqnpz9qs7a1kl363qdyb8fybmmyd37v573clqf7l4lgg";
}; };
nativeBuildInputs = [ iucode-tool libarchive ]; nativeBuildInputs = [ iucode-tool libarchive ];

View file

@ -98,15 +98,15 @@ in rec {
# Series Type Rel. Date Sec. Fixes EOL # Series Type Rel. Date Sec. Fixes EOL
# 13.x LTS 2014-10-24 2020-10-24 2021-10-24 # 13.x LTS 2014-10-24 2020-10-24 2021-10-24
# 16.x LTS 2018-10-09 2022-10-09 2023-10-09 # 16.x LTS 2018-10-09 2022-10-09 2023-10-09
# 17.x Standard 2019-10-28 2020-10-28 2021-10-28
# 18.x LTS 2020-10-20 2024-10-20 2025-10-20 # 18.x LTS 2020-10-20 2024-10-20 2025-10-20
asterisk-lts = asterisk_18; asterisk-lts = asterisk_18;
# 17.x Standard 2019-10-28 2020-10-28 2021-10-28
asterisk-stable = asterisk_18; asterisk-stable = asterisk_18;
asterisk = asterisk_18; asterisk = asterisk_18;
asterisk_13 = common { asterisk_13 = common {
version = "13.37.1"; version = "13.38.0";
sha256 = "1zc3104zw4y7i8bhhgrgy3snq0zr1904p64ykfc3ldh4xyfy3ld6"; sha256 = "1kxff6pbry8nydkspi0mqllidz2lw3d3g3r127x8jwgx021x0rik";
externals = { externals = {
"externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10; "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
"addons/mp3" = mp3-202; "addons/mp3" = mp3-202;
@ -114,8 +114,8 @@ in rec {
}; };
asterisk_16 = common { asterisk_16 = common {
version = "16.14.1"; version = "16.15.0";
sha256 = "1lhh3npyy8hvy29jwjgapnxfjv1ahp2qdi4iq1d6a61ffhd20vfs"; sha256 = "12nc7ywm6w1xyn720kdc1sqz5wkjjrkxr25wisl02f4v5wz8py7m";
externals = { externals = {
"externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10; "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
"addons/mp3" = mp3-202; "addons/mp3" = mp3-202;
@ -123,8 +123,8 @@ in rec {
}; };
asterisk_17 = common { asterisk_17 = common {
version = "17.8.1"; version = "17.9.0";
sha256 = "0m7gw01kpvsc0f9lb1hiq5b4g1fdh4gdfyxlqxp6m37vgxh2a48p"; sha256 = "1fnm1z7g45m883ivkm36r4kqb7163bzazi70mwf0fc2rc28jd1z4";
externals = { externals = {
"externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10; "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
"addons/mp3" = mp3-202; "addons/mp3" = mp3-202;
@ -132,8 +132,8 @@ in rec {
}; };
asterisk_18 = common { asterisk_18 = common {
version = "18.0.1"; version = "18.1.0";
sha256 = "1kyly10pk7bpfqg3mjbvb8p795fnj9lvd29yp2xsxwgsqi1dn9p8"; sha256 = "1pq2nrf60xnvh2h1rv82bdfbxxxd277g68xas0vbfgr4531gc4nc";
externals = { externals = {
"externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10; "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
"addons/mp3" = mp3-202; "addons/mp3" = mp3-202;

View file

@ -22,6 +22,11 @@ stdenv.mkDerivation rec {
patches = [ patches = [
./dont-keep-configure-flags.patch ./dont-keep-configure-flags.patch
./remove-mkdir-var.patch ./remove-mkdir-var.patch
# Fix cross-compilation (will be included in next release after 9.16.8)
(fetchpatch {
url = "https://gitlab.isc.org/isc-projects/bind9/-/commit/35ca6df07277adff4df7472a0b01ea5438cdf1ff.patch";
sha256 = "1sj0hcd0wgkam7hrbp2vw2yymmni4azr9ixd9shz1l6ja90bdj9h";
})
]; ];
nativeBuildInputs = [ perl pkg-config ]; nativeBuildInputs = [ perl pkg-config ];

View file

@ -26,11 +26,11 @@ in stdenv.mkDerivation rec {
pname = "postfix"; pname = "postfix";
version = "3.5.7"; version = "3.5.8";
src = fetchurl { src = fetchurl {
url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${pname}-${version}.tar.gz"; url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${pname}-${version}.tar.gz";
sha256 = "0q89iwan5yd84yrzdv3sqg1zanmw56bl2f5gyv5wfg8m9vqp995p"; sha256 = "0vs50z5p5xcrdbbkb0dnbx1sk5fx8d2z97sw2p2iip1yrwl2cn12";
}; };
nativeBuildInputs = [ makeWrapper m4 ]; nativeBuildInputs = [ makeWrapper m4 ];

View file

@ -3,13 +3,12 @@
, python3, gss, libmysqlclient, system-sendmail }: , python3, gss, libmysqlclient, system-sendmail }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${project}-${version}"; pname = "mailutils";
project = "mailutils"; version = "3.10";
version = "3.9";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/${project}/${name}.tar.xz"; url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
sha256 = "1g1xf2lal04nsnf1iym9n9n0wxjpqbcr9nysxpm98v4pniinqwsz"; sha256 = "17smrxjdgbbzbzakik30vj46q4iib85ksqhb82jr4vjp57akszh9";
}; };
postPatch = '' postPatch = ''
@ -32,6 +31,18 @@ stdenv.mkDerivation rec {
patches = [ patches = [
./fix-build-mb-len-max.patch ./fix-build-mb-len-max.patch
./path-to-cat.patch ./path-to-cat.patch
# mailquota.c:277: undefined reference to `get_size'
# https://lists.gnu.org/archive/html/bug-mailutils/2020-08/msg00002.html
(fetchpatch {
url = "http://git.savannah.gnu.org/cgit/mailutils.git/patch/?id=37713b42a501892469234b90454731d8d8b7a3e6";
sha256 = "1mwj77nxvf4xvqf26yjs59jyksnizj0lmbymbzg4kmqynzq3zjny";
})
# Fix cross-compilation
# https://lists.gnu.org/archive/html/bug-mailutils/2020-11/msg00038.html
(fetchpatch {
url = "https://lists.gnu.org/archive/html/bug-mailutils/2020-11/txtiNjqcNpqOk.txt";
sha256 = "0ghzqb8qx2q8cffbvqzw19mivv7r5f16whplzhm7hdj0j2i6xf6s";
})
]; ];
enableParallelBuilding = false; enableParallelBuilding = false;

View file

@ -239,7 +239,7 @@ in
grsync = callPackage ../applications/misc/grsync { }; grsync = callPackage ../applications/misc/grsync { };
dockerTools = callPackage ../build-support/docker { dockerTools = callPackage ../build-support/docker {
writePython3 = writers.writePython3; writePython3 = buildPackages.writers.writePython3;
}; };
snapTools = callPackage ../build-support/snap { }; snapTools = callPackage ../build-support/snap { };
@ -10189,6 +10189,8 @@ in
ceptre = callPackage ../development/interpreters/ceptre { }; ceptre = callPackage ../development/interpreters/ceptre { };
cling = callPackage ../development/interpreters/cling { };
clips = callPackage ../development/interpreters/clips { }; clips = callPackage ../development/interpreters/clips { };
clisp = callPackage ../development/interpreters/clisp { }; clisp = callPackage ../development/interpreters/clisp { };

View file

@ -3517,6 +3517,8 @@ in {
lirc = disabledIf isPy27 (toPythonModule (pkgs.lirc.override { python3 = python; })); lirc = disabledIf isPy27 (toPythonModule (pkgs.lirc.override { python3 = python; }));
littleutils = callPackage ../development/python-modules/littleutils { };
livelossplot = callPackage ../development/python-modules/livelossplot { }; livelossplot = callPackage ../development/python-modules/livelossplot { };
livereload = callPackage ../development/python-modules/livereload { }; livereload = callPackage ../development/python-modules/livereload { };
@ -6926,6 +6928,8 @@ in {
sslyze = callPackage ../development/python-modules/sslyze { }; sslyze = callPackage ../development/python-modules/sslyze { };
stack-data = callPackage ../development/python-modules/stack-data { };
starlette = callPackage ../development/python-modules/starlette { }; starlette = callPackage ../development/python-modules/starlette { };
staticjinja = callPackage ../development/python-modules/staticjinja { }; staticjinja = callPackage ../development/python-modules/staticjinja { };