Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-04-16 12:06:14 +00:00 committed by GitHub
commit d4f421cad9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 1056 additions and 608 deletions

View file

@ -405,7 +405,7 @@ in
};
} // optionalAttrs (cfg.createMailUser && cfg.mailUser != null) {
${cfg.mailUser} =
{ description = "Virtual Mail User"; } // optionalAttrs (cfg.mailGroup != null)
{ description = "Virtual Mail User"; isSystemUser = true; } // optionalAttrs (cfg.mailGroup != null)
{ group = cfg.mailGroup; };
};

View file

@ -165,7 +165,7 @@ in {
baseUrl = mkOption {
type = types.str;
default = "http://localhost/hyperkitty/";
default = "http://localhost:18507/archives/";
description = ''
Where can Mailman connect to Hyperkitty's internal API, preferably on
localhost?
@ -391,6 +391,7 @@ in {
plugins = ["python3"];
home = pythonEnv;
module = "mailman_web.wsgi";
http = "127.0.0.1:18507";
};
uwsgiConfigFile = pkgs.writeText "uwsgi-mailman.json" (builtins.toJSON uwsgiConfig);
in {

View file

@ -192,8 +192,8 @@ in
# Auto-migrate on first run or if the package has changed
versionFile="${cfg.dataDir}/src-version"
if [[ $(cat "$versionFile" 2>/dev/null) != ${pkgs.etebase-server} ]]; then
${pythonEnv}/bin/etebase-server migrate
${pythonEnv}/bin/etebase-server collectstatic
${pythonEnv}/bin/etebase-server migrate --no-input
${pythonEnv}/bin/etebase-server collectstatic --no-input --clear
echo ${pkgs.etebase-server} > "$versionFile"
fi
'';

View file

@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }:
{ config, lib, ... }:
with lib;
let
@ -150,9 +150,6 @@ in
wantedBy = [ "multi-user.target" ];
aliases = [ "dbus-org.freedesktop.resolve1.service" ];
restartTriggers = [ config.environment.etc."systemd/resolved.conf".source ];
# Upstream bug: https://github.com/systemd/systemd/issues/18078
# systemd-resolved without libidn2 is broken
environment.LD_LIBRARY_PATH = "${lib.getLib pkgs.libidn2}/lib";
};
environment.etc = {

View file

@ -321,5 +321,48 @@ import ./make-test-python.nix ({ pkgs, ... }: {
docker.succeed(
"docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/jane | grep -E ^1000$'"
)
with subtest("Ensure docker load on merged images loads all of the constituent images"):
docker.succeed(
"docker load --input='${examples.mergedBashAndRedis}'"
)
docker.succeed(
"docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.bash.imageName}-${examples.bash.imageTag}'"
)
docker.succeed(
"docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.redis.imageName}-${examples.redis.imageTag}'"
)
docker.succeed("docker run --rm ${examples.bash.imageName} bash --version")
docker.succeed("docker run --rm ${examples.redis.imageName} redis-cli --version")
docker.succeed("docker rmi ${examples.bash.imageName}")
docker.succeed("docker rmi ${examples.redis.imageName}")
with subtest(
"Ensure docker load on merged images loads all of the constituent images (missing tags)"
):
docker.succeed(
"docker load --input='${examples.mergedBashNoTagAndRedis}'"
)
docker.succeed(
"docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.bashNoTag.imageName}-${examples.bashNoTag.imageTag}'"
)
docker.succeed(
"docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.redis.imageName}-${examples.redis.imageTag}'"
)
# we need to explicitly specify the generated tag here
docker.succeed(
"docker run --rm ${examples.bashNoTag.imageName}:${examples.bashNoTag.imageTag} bash --version"
)
docker.succeed("docker run --rm ${examples.redis.imageName} redis-cli --version")
docker.succeed("docker rmi ${examples.bashNoTag.imageName}:${examples.bashNoTag.imageTag}")
docker.succeed("docker rmi ${examples.redis.imageName}")
with subtest("mergeImages preserves owners of the original images"):
docker.succeed(
"docker load --input='${examples.mergedBashFakeRoot}'"
)
docker.succeed(
"docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/jane | grep -E ^1000$'"
)
'';
})

View file

@ -8,6 +8,8 @@ import ./make-test-python.nix {
enable = true;
protocols = [ "imap" "pop3" ];
modules = [ pkgs.dovecot_pigeonhole ];
mailUser = "vmail";
mailGroup = "vmail";
};
environment.systemPackages = let
sendTestMail = pkgs.writeScriptBin "send-testmail" ''

View file

@ -31,9 +31,9 @@
}
},
"dev": {
"version": "91.0.4469.4",
"sha256": "08lffqjfcszniwwshililab553a0dvycaa72h1dklxvxf360nz5f",
"sha256bin64": "14xyzjwzcyp6idscq6i87yh2fibjamkz5xfsb2y0hrf2diaqijw1",
"version": "91.0.4472.10",
"sha256": "168121aznynks5waj3mm2m036mbrlmqmp2kmnn9r4ibq2x01dpxm",
"sha256bin64": "05bk6gmmfsh50jjlb6lmwqhhbs0v0hlijsmxpk9crdx2gw071rlr",
"deps": {
"gn": {
"version": "2021-04-06",

View file

@ -1,5 +1,5 @@
{ lib, fetchpatch, fetchurl, fetchzip, python3
, mkDerivationWith, wrapQtAppsHook, wrapGAppsHook, qtbase, glib-networking
{ lib, fetchurl, fetchzip, fetchpatch, python3
, mkDerivationWith, wrapQtAppsHook, wrapGAppsHook, qtbase, qtwebengine, glib-networking
, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2
, libxslt, gst_all_1 ? null
, withPdfReader ? true
@ -12,12 +12,12 @@ assert withMediaPlayback -> gst_all_1 != null;
let
python3Packages = python3.pkgs;
pdfjs = let
version = "2.6.347";
version = "2.8.335";
in
fetchzip rec {
name = "pdfjs-${version}";
url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip";
sha256 = "0d016fyg81cq464li01xlkf9rxrb3rpsvmk5gh9m4d5yzmcakkfm";
sha256 = "1zschfpxnhdinn9nasl5in4s62ad0h1g369cglamjgxx36x27zly";
stripRoot = false;
};
@ -31,12 +31,12 @@ let
in mkDerivationWith python3Packages.buildPythonApplication rec {
pname = "qutebrowser";
version = "2.1.1";
version = "2.2.0";
# the release tarballs are different from the git checkout!
src = fetchurl {
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
sha256 = "sha256-txsArX1JiRGXjlu9FTpt0EUKxq3j5b85j8luFTKDQs4=";
sha256 = "sha256:0anxhrkxqb35mxr7jr820xcfw0v514s92wffsiqap2a2sqaj0pgs";
};
# Needs tox
@ -70,10 +70,9 @@ in mkDerivationWith python3Packages.buildPythonApplication rec {
patches = [
./fix-restart.patch
(fetchpatch {
name = "fix-version-parsing.patch";
url = "https://github.com/qutebrowser/qutebrowser/commit/c3d1b71c6f08607f47353f406aca0168bb3062a1.patch";
excludes = [ "doc/changelog.asciidoc" ];
sha256 = "1vm2yjvmrw4cyn8mpwfwvvcihn74f60ql3qh1rjj8n0wak8z1ir6";
name = "add-qtwebengine-version-override.patch";
url = "https://github.com/qutebrowser/qutebrowser/commit/febb921040b6670d9b1694a6ce55ae39384d1306.patch";
sha256 = "15p11kk8via7c7m14jiqgzc63qwxxzayr2bkl93jd10l2gx7pk9v";
})
];
@ -123,6 +122,7 @@ in mkDerivationWith python3Packages.buildPythonApplication rec {
"''${gappsWrapperArgs[@]}"
"''${qtWrapperArgs[@]}"
--add-flags '--backend ${backend}'
--set QUTE_QTWEBENGINE_VERSION_OVERRIDE "${lib.getVersion qtwebengine}"
)
'';

View file

@ -16,12 +16,12 @@ with lib;
buildGoPackage rec {
pname = "gitea";
version = "1.14.0";
version = "1.14.1";
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
src = fetchurl {
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
sha256 = "sha256-SE+YqcRNkhRQXDzgv72YrQX9bG/URYj4NAFvTg4bE3Y=";
sha256 = "1hpwc5jmkbnn6qf3li8g38qz2l87vk6jq2zxijq92jyfp54kj03p";
};
unpackPhase = ''

View file

@ -0,0 +1,71 @@
{ lib
, fetchFromGitHub
, mkDerivation
, breeze-icons
, breeze-qt5
, cmake
, extra-cmake-modules
, kcodecs
, kconfig
, kcoreaddons
, kfilemetadata
, ki18n
, kiconthemes
, kio
, kio-extras
, kirigami2
, kxmlgui
, mpv
, pkg-config
, qqc2-desktop-style
, qtbase
, qtquickcontrols2
, qtwayland
, youtube-dl
}:
mkDerivation rec {
pname = "haruna";
version = "0.6.1";
src = fetchFromGitHub {
owner = "g-fb";
repo = "haruna";
rev = version;
sha256 = "sha256-8MauKmvQUwzq4Ssmm6g7/y6ADkye+eg/zyR3v/Wu848=";
};
buildInputs = [
breeze-icons
breeze-qt5
kcodecs
kconfig
kcoreaddons
kfilemetadata
ki18n
kiconthemes
kio
kio-extras
kirigami2
kxmlgui
mpv
qqc2-desktop-style
qtbase
qtquickcontrols2
qtwayland
youtube-dl
];
nativeBuildInputs = [
cmake
extra-cmake-modules
pkg-config
];
meta = with lib; {
homepage = "https://github.com/g-fb/haruna";
description = "Open source video player built with Qt/QML and libmpv";
license = with licenses; [ bsd3 cc-by-40 gpl3Plus wtfpl ];
maintainers = with maintainers; [ jojosch ];
};
}

View file

@ -6,7 +6,7 @@
buildGoPackage rec {
pname = "docker-slim";
version = "1.34.0";
version = "1.35.0";
goPackagePath = "github.com/docker-slim/docker-slim";
@ -14,7 +14,7 @@ buildGoPackage rec {
owner = "docker-slim";
repo = "docker-slim";
rev = version;
sha256 = "1ynpd6yb1xc18y528sshd5k9nkz48h1zifj2w4sjh5n0864lna7b";
sha256 = "0j350rhyav844vhaa1f5idffflgs5h3c5zcazly9s5sf4invm49y";
};
subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ];

View file

@ -686,6 +686,42 @@ rec {
in
result;
# Merge the tarballs of images built with buildImage into a single
# tarball that contains all images. Running `docker load` on the resulting
# tarball will load the images into the docker daemon.
mergeImages = images: runCommand "merge-docker-images"
{
inherit images;
nativeBuildInputs = [ pigz jq ];
} ''
mkdir image inputs
# Extract images
repos=()
manifests=()
for item in $images; do
name=$(basename $item)
mkdir inputs/$name
tar -I pigz -xf $item -C inputs/$name
if [ -f inputs/$name/repositories ]; then
repos+=(inputs/$name/repositories)
fi
if [ -f inputs/$name/manifest.json ]; then
manifests+=(inputs/$name/manifest.json)
fi
done
# Copy all layers from input images to output image directory
cp -R --no-clobber inputs/*/* image/
# Merge repositories objects and manifests
jq -s add "''${repos[@]}" > repositories
jq -s add "''${manifests[@]}" > manifest.json
# Replace output image repositories and manifest with merged versions
mv repositories image/repositories
mv manifest.json image/manifest.json
# Create tarball and gzip
tar -C image --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 --xform s:'^./':: -c . | pigz -nT > $out
'';
# Provide a /etc/passwd and /etc/group that contain root and nobody.
# Useful when packaging binaries that insist on using nss to look up
# username/groups (like nginx).

View file

@ -497,4 +497,23 @@ rec {
chown 1000 ./home/jane
'';
};
# tarball consisting of both bash and redis images
mergedBashAndRedis = pkgs.dockerTools.mergeImages [
bash
redis
];
# tarball consisting of bash (without tag) and redis images
mergedBashNoTagAndRedis = pkgs.dockerTools.mergeImages [
bashNoTag
redis
];
# tarball consisting of bash and layered image with different owner of the
# /home/jane directory
mergedBashFakeRoot = pkgs.dockerTools.mergeImages [
bash
layeredImageWithFakeRootCommands
];
}

View file

@ -34,10 +34,7 @@ stdenv.mkDerivation {
patches = [ ./nix-ssl-cert-file.patch ]
# Disable native add_system_trust.
++ lib.optional (isDarwin && !withSecurity) ./no-security-framework.patch
# fix gnulib tests on 32-bit ARM. Included on gnutls master.
# https://lists.gnu.org/r/bug-gnulib/2020-08/msg00225.html
++ lib.optional stdenv.hostPlatform.isAarch32 ./fix-gnulib-tests-arm.patch;
++ lib.optional (isDarwin && !withSecurity) ./no-security-framework.patch;
# Skip some tests:
# - pkg-config: building against the result won't work before installing (3.5.11)
@ -50,7 +47,7 @@ stdenv.mkDerivation {
sed '/^void doit(void)/,/^{/ s/{/{ exit(77);/' -i tests/{trust-store,psk-file}.c
sed 's:/usr/lib64/pkcs11/ /usr/lib/pkcs11/ /usr/lib/x86_64-linux-gnu/pkcs11/:`pkg-config --variable=p11_module_path p11-kit-1`:' -i tests/p11-kit-trust.sh
'' + lib.optionalString stdenv.hostPlatform.isMusl '' # See https://gitlab.com/gnutls/gnutls/-/issues/945
sed '2iecho "certtool tests skipped in musl build"\nexit 0' -i tests/cert-tests/certtool
sed '2iecho "certtool tests skipped in musl build"\nexit 0' -i tests/cert-tests/certtool.sh
'';
preConfigure = "patchShebangs .";

View file

@ -195,6 +195,7 @@
, "react-tools"
, "readability-cli"
, "redoc-cli"
, "remod-cli"
, "reveal.js"
, "rimraf"
, "rollup"

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, buildDunePackage, ocaml
{ stdenv, lib, fetchurl, buildDunePackage, ocaml, dune-configurator
, pkg-config, cairo
}:
@ -6,13 +6,15 @@ buildDunePackage rec {
pname = "cairo2";
version = "0.6.1";
useDune2 = true;
src = fetchurl {
url = "https://github.com/Chris00/ocaml-cairo/releases/download/${version}/cairo2-${version}.tbz";
sha256 = "1ik4qf4b9443sliq2z7x9acd40rmzvyzjh3bh98wvjklxbb84a9i";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ cairo ];
buildInputs = [ cairo dune-configurator ];
doCheck = !(stdenv.isDarwin
# https://github.com/Chris00/ocaml-cairo/issues/19

View file

@ -1,9 +1,11 @@
{ lib, fetchurl, pkg-config, buildDunePackage, gtk3, cairo2 }:
{ lib, fetchurl, pkg-config, buildDunePackage, dune-configurator, gtk3, cairo2 }:
buildDunePackage rec {
version = "3.1.1";
pname = "lablgtk3";
useDune2 = true;
minimumOCamlVersion = "4.05";
src = fetchurl {
@ -12,6 +14,7 @@ buildDunePackage rec {
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dune-configurator ];
propagatedBuildInputs = [ gtk3 cairo2 ];
meta = {

View file

@ -4,5 +4,5 @@ buildDunePackage {
pname = "lablgtk3-gtkspell3";
buildInputs = [ gtkspell3 ] ++ lablgtk3.buildInputs;
propagatedBuildInputs = [ lablgtk3 ];
inherit (lablgtk3) src version meta nativeBuildInputs;
inherit (lablgtk3) src version useDune2 meta nativeBuildInputs;
}

View file

@ -4,5 +4,5 @@ buildDunePackage {
pname = "lablgtk3-sourceview3";
buildInputs = lablgtk3.buildInputs ++ [ gtksourceview ];
propagatedBuildInputs = [ lablgtk3 ];
inherit (lablgtk3) src version meta nativeBuildInputs;
inherit (lablgtk3) src version useDune2 meta nativeBuildInputs;
}

View file

@ -0,0 +1,38 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "pypinyin";
version = "0.41.0";
src = fetchFromGitHub {
owner = "mozillazg";
repo = "python-pinyin";
rev = "v${version}";
sha256 = "1s01dd5n6cgjg24dmji0abxkyvr1yi18lx4rpm9z54v0q3wkccg9";
};
postPatch = ''
substituteInPlace pytest.ini --replace \
"--cov-report term-missing" ""
'';
checkInputs = [
pytestCheckHook
];
pytestFlagsArray = [
"tests"
];
meta = with lib; {
description = "Chinese Characters to Pinyin - ";
homepage = "https://github.com/mozillazg/python-pinyin";
changelog = "https://github.com/mozillazg/python-pinyin/blob/master/CHANGELOG.rst";
license = licenses.mit;
maintainers = with maintainers; [ hexa mic92 ];
};
}

View file

@ -2,6 +2,7 @@
, python3Packages
, fetchFromGitHub
, python3
, fetchpatch
}:
# USAGE:
@ -9,24 +10,32 @@
# # pick your favorite vocoder/tts model
# $ tts-server --model_name tts_models/en/ljspeech/glow-tts --vocoder_name vocoder_models/universal/libri-tts/fullband-melgan
#
# If you upgrade from an old version you may have to delete old models from ~/.local/share/tts
# Also note that your tts version might not support all available models so check:
# https://github.com/coqui-ai/TTS/releases/tag/v0.0.12
#
# For now, for deployment check the systemd unit in the pull request:
# https://github.com/NixOS/nixpkgs/pull/103851#issue-521121136
#
python3Packages.buildPythonApplication rec {
pname = "tts";
# until https://github.com/mozilla/TTS/issues/424 is resolved
# we treat released models as released versions:
# https://github.com/mozilla/TTS/wiki/Released-Models
version = "0.0.9";
version = "0.0.12";
src = fetchFromGitHub {
owner = "mozilla";
owner = "coqui-ai";
repo = "TTS";
rev = "df5899daf4ba4ec89544edf94f9c2e105c544461";
sha256 = "sha256-lklG8DqG04LKJY93z2axeYhW8gtpbRG41o9ow2gJjuA=";
rev = "v${version}";
sha256 = "sha256-0M9wcdBmuTK+NvEGsXEdoYiVFjw8G2MRUwmi1PJgmzI=";
};
patches = [
# https://github.com/coqui-ai/TTS/pull/435
(fetchpatch {
url = "https://github.com/coqui-ai/TTS/commit/97f98e4c4584ef14ed2f4885aa02c162d9364a00.patch";
sha256 = "sha256-DAZYOOAe+6TYBF5ukFq5HRwm49askEvNEivuwb/oCWM=";
})
];
preBuild = ''
# numba jit tries to write to its cache directory
export HOME=$TMPDIR
@ -37,7 +46,11 @@ python3Packages.buildPythonApplication rec {
sed -i -e 's!unidecode==[^"]*!unidecode!' requirements.txt setup.py
sed -i -e 's!bokeh==[^"]*!bokeh!' requirements.txt setup.py
sed -i -e 's!numba==[^"]*!numba!' requirements.txt setup.py
sed -i -e 's!numpy==[^"]*!numpy!' requirements.txt setup.py
sed -i -e 's!umap-learn==[^"]*!umap-learn!' requirements.txt setup.py
# Not required for building/installation but for their development/ci workflow
sed -i -e '/black/d' requirements.txt
sed -i -e '/isor/d' requirements.txt
sed -i -e '/pylint/d' requirements.txt
sed -i -e '/cardboardlint/d' requirements.txt setup.py
'';
@ -45,24 +58,25 @@ python3Packages.buildPythonApplication rec {
nativeBuildInputs = [ python3Packages.cython ];
propagatedBuildInputs = with python3Packages; [
matplotlib
scipy
pytorch
flask
attrdict
bokeh
soundfile
tqdm
librosa
unidecode
umap-learn
phonemizer
tensorboardx
flask
fuzzywuzzy
inflect
gdown
inflect
jieba
librosa
matplotlib
phonemizer
pypinyin
pysbd
pyworld
pytorch
scipy
soundfile
tensorboardx
tqdm
umap-learn
unidecode
];
postInstall = ''
@ -92,16 +106,17 @@ python3Packages.buildPythonApplication rec {
mv TTS{,.old}
'';
pytestFlagsArray = [
disabledTestPaths = [
# requires tensorflow
"--ignore=tests/test_tacotron2_tf_model.py"
"--ignore=tests/test_vocoder_tf_melgan_generator.py"
"--ignore=tests/test_vocoder_tf_pqmf.py"
"tests/test_tacotron2_tf_model.py"
"tests/test_vocoder_tf_melgan_generator.py"
"tests/test_vocoder_tf_pqmf.py"
];
meta = with lib; {
homepage = "https://github.com/mozilla/TTS";
description = "Deep learning for Text to Speech";
homepage = "https://github.com/coqui-ai/TTS";
changelog = "https://github.com/coqui-ai/TTS/releases/tag/v${version}";
description = "Deep learning toolkit for Text-to-Speech, battle-tested in research and production";
license = licenses.mpl20;
maintainers = with maintainers; [ hexa mic92 ];
};

View file

@ -22661,6 +22661,8 @@ in
gspeech = callPackage ../applications/audio/gspeech { };
haruna = libsForQt5.callPackage ../applications/video/haruna { };
icesl = callPackage ../applications/misc/icesl { };
keepassx = callPackage ../applications/misc/keepassx { };
@ -26825,7 +26827,9 @@ in
kodiPackages = recurseIntoAttrs (kodi.packages);
kodi = callPackage ../applications/video/kodi { };
kodi = callPackage ../applications/video/kodi {
jre_headless = jdk11_headless;
};
kodi-wayland = callPackage ../applications/video/kodi {
waylandSupport = true;

View file

@ -5782,6 +5782,8 @@ in {
pypillowfight = callPackage ../development/python-modules/pypillowfight { };
pypinyin = callPackage ../development/python-modules/pypinyin { };
pyplaato = callPackage ../development/python-modules/pyplaato { };
pyplatec = callPackage ../development/python-modules/pyplatec { };