Merge master into staging-next
This commit is contained in:
commit
d4f421cad9
24 changed files with 1056 additions and 608 deletions
|
@ -405,7 +405,7 @@ in
|
||||||
};
|
};
|
||||||
} // optionalAttrs (cfg.createMailUser && cfg.mailUser != null) {
|
} // optionalAttrs (cfg.createMailUser && cfg.mailUser != null) {
|
||||||
${cfg.mailUser} =
|
${cfg.mailUser} =
|
||||||
{ description = "Virtual Mail User"; } // optionalAttrs (cfg.mailGroup != null)
|
{ description = "Virtual Mail User"; isSystemUser = true; } // optionalAttrs (cfg.mailGroup != null)
|
||||||
{ group = cfg.mailGroup; };
|
{ group = cfg.mailGroup; };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -165,7 +165,7 @@ in {
|
||||||
|
|
||||||
baseUrl = mkOption {
|
baseUrl = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "http://localhost/hyperkitty/";
|
default = "http://localhost:18507/archives/";
|
||||||
description = ''
|
description = ''
|
||||||
Where can Mailman connect to Hyperkitty's internal API, preferably on
|
Where can Mailman connect to Hyperkitty's internal API, preferably on
|
||||||
localhost?
|
localhost?
|
||||||
|
@ -391,6 +391,7 @@ in {
|
||||||
plugins = ["python3"];
|
plugins = ["python3"];
|
||||||
home = pythonEnv;
|
home = pythonEnv;
|
||||||
module = "mailman_web.wsgi";
|
module = "mailman_web.wsgi";
|
||||||
|
http = "127.0.0.1:18507";
|
||||||
};
|
};
|
||||||
uwsgiConfigFile = pkgs.writeText "uwsgi-mailman.json" (builtins.toJSON uwsgiConfig);
|
uwsgiConfigFile = pkgs.writeText "uwsgi-mailman.json" (builtins.toJSON uwsgiConfig);
|
||||||
in {
|
in {
|
||||||
|
|
|
@ -192,8 +192,8 @@ in
|
||||||
# Auto-migrate on first run or if the package has changed
|
# Auto-migrate on first run or if the package has changed
|
||||||
versionFile="${cfg.dataDir}/src-version"
|
versionFile="${cfg.dataDir}/src-version"
|
||||||
if [[ $(cat "$versionFile" 2>/dev/null) != ${pkgs.etebase-server} ]]; then
|
if [[ $(cat "$versionFile" 2>/dev/null) != ${pkgs.etebase-server} ]]; then
|
||||||
${pythonEnv}/bin/etebase-server migrate
|
${pythonEnv}/bin/etebase-server migrate --no-input
|
||||||
${pythonEnv}/bin/etebase-server collectstatic
|
${pythonEnv}/bin/etebase-server collectstatic --no-input --clear
|
||||||
echo ${pkgs.etebase-server} > "$versionFile"
|
echo ${pkgs.etebase-server} > "$versionFile"
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
|
@ -150,9 +150,6 @@ in
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
aliases = [ "dbus-org.freedesktop.resolve1.service" ];
|
aliases = [ "dbus-org.freedesktop.resolve1.service" ];
|
||||||
restartTriggers = [ config.environment.etc."systemd/resolved.conf".source ];
|
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 = {
|
environment.etc = {
|
||||||
|
|
|
@ -321,5 +321,48 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
docker.succeed(
|
docker.succeed(
|
||||||
"docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/jane | grep -E ^1000$'"
|
"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$'"
|
||||||
|
)
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
|
@ -8,6 +8,8 @@ import ./make-test-python.nix {
|
||||||
enable = true;
|
enable = true;
|
||||||
protocols = [ "imap" "pop3" ];
|
protocols = [ "imap" "pop3" ];
|
||||||
modules = [ pkgs.dovecot_pigeonhole ];
|
modules = [ pkgs.dovecot_pigeonhole ];
|
||||||
|
mailUser = "vmail";
|
||||||
|
mailGroup = "vmail";
|
||||||
};
|
};
|
||||||
environment.systemPackages = let
|
environment.systemPackages = let
|
||||||
sendTestMail = pkgs.writeScriptBin "send-testmail" ''
|
sendTestMail = pkgs.writeScriptBin "send-testmail" ''
|
||||||
|
|
|
@ -31,9 +31,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dev": {
|
"dev": {
|
||||||
"version": "91.0.4469.4",
|
"version": "91.0.4472.10",
|
||||||
"sha256": "08lffqjfcszniwwshililab553a0dvycaa72h1dklxvxf360nz5f",
|
"sha256": "168121aznynks5waj3mm2m036mbrlmqmp2kmnn9r4ibq2x01dpxm",
|
||||||
"sha256bin64": "14xyzjwzcyp6idscq6i87yh2fibjamkz5xfsb2y0hrf2diaqijw1",
|
"sha256bin64": "05bk6gmmfsh50jjlb6lmwqhhbs0v0hlijsmxpk9crdx2gw071rlr",
|
||||||
"deps": {
|
"deps": {
|
||||||
"gn": {
|
"gn": {
|
||||||
"version": "2021-04-06",
|
"version": "2021-04-06",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, fetchpatch, fetchurl, fetchzip, python3
|
{ lib, fetchurl, fetchzip, fetchpatch, python3
|
||||||
, mkDerivationWith, wrapQtAppsHook, wrapGAppsHook, qtbase, glib-networking
|
, mkDerivationWith, wrapQtAppsHook, wrapGAppsHook, qtbase, qtwebengine, glib-networking
|
||||||
, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2
|
, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2
|
||||||
, libxslt, gst_all_1 ? null
|
, libxslt, gst_all_1 ? null
|
||||||
, withPdfReader ? true
|
, withPdfReader ? true
|
||||||
|
@ -12,12 +12,12 @@ assert withMediaPlayback -> gst_all_1 != null;
|
||||||
let
|
let
|
||||||
python3Packages = python3.pkgs;
|
python3Packages = python3.pkgs;
|
||||||
pdfjs = let
|
pdfjs = let
|
||||||
version = "2.6.347";
|
version = "2.8.335";
|
||||||
in
|
in
|
||||||
fetchzip rec {
|
fetchzip rec {
|
||||||
name = "pdfjs-${version}";
|
name = "pdfjs-${version}";
|
||||||
url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip";
|
url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip";
|
||||||
sha256 = "0d016fyg81cq464li01xlkf9rxrb3rpsvmk5gh9m4d5yzmcakkfm";
|
sha256 = "1zschfpxnhdinn9nasl5in4s62ad0h1g369cglamjgxx36x27zly";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -31,12 +31,12 @@ let
|
||||||
|
|
||||||
in mkDerivationWith python3Packages.buildPythonApplication rec {
|
in mkDerivationWith python3Packages.buildPythonApplication rec {
|
||||||
pname = "qutebrowser";
|
pname = "qutebrowser";
|
||||||
version = "2.1.1";
|
version = "2.2.0";
|
||||||
|
|
||||||
# the release tarballs are different from the git checkout!
|
# the release tarballs are different from the git checkout!
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
|
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "sha256-txsArX1JiRGXjlu9FTpt0EUKxq3j5b85j8luFTKDQs4=";
|
sha256 = "sha256:0anxhrkxqb35mxr7jr820xcfw0v514s92wffsiqap2a2sqaj0pgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Needs tox
|
# Needs tox
|
||||||
|
@ -70,10 +70,9 @@ in mkDerivationWith python3Packages.buildPythonApplication rec {
|
||||||
patches = [
|
patches = [
|
||||||
./fix-restart.patch
|
./fix-restart.patch
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
name = "fix-version-parsing.patch";
|
name = "add-qtwebengine-version-override.patch";
|
||||||
url = "https://github.com/qutebrowser/qutebrowser/commit/c3d1b71c6f08607f47353f406aca0168bb3062a1.patch";
|
url = "https://github.com/qutebrowser/qutebrowser/commit/febb921040b6670d9b1694a6ce55ae39384d1306.patch";
|
||||||
excludes = [ "doc/changelog.asciidoc" ];
|
sha256 = "15p11kk8via7c7m14jiqgzc63qwxxzayr2bkl93jd10l2gx7pk9v";
|
||||||
sha256 = "1vm2yjvmrw4cyn8mpwfwvvcihn74f60ql3qh1rjj8n0wak8z1ir6";
|
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -123,6 +122,7 @@ in mkDerivationWith python3Packages.buildPythonApplication rec {
|
||||||
"''${gappsWrapperArgs[@]}"
|
"''${gappsWrapperArgs[@]}"
|
||||||
"''${qtWrapperArgs[@]}"
|
"''${qtWrapperArgs[@]}"
|
||||||
--add-flags '--backend ${backend}'
|
--add-flags '--backend ${backend}'
|
||||||
|
--set QUTE_QTWEBENGINE_VERSION_OVERRIDE "${lib.getVersion qtwebengine}"
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -16,12 +16,12 @@ with lib;
|
||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
pname = "gitea";
|
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
|
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
|
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
|
||||||
sha256 = "sha256-SE+YqcRNkhRQXDzgv72YrQX9bG/URYj4NAFvTg4bE3Y=";
|
sha256 = "1hpwc5jmkbnn6qf3li8g38qz2l87vk6jq2zxijq92jyfp54kj03p";
|
||||||
};
|
};
|
||||||
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
|
|
71
pkgs/applications/video/haruna/default.nix
Normal file
71
pkgs/applications/video/haruna/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
pname = "docker-slim";
|
pname = "docker-slim";
|
||||||
version = "1.34.0";
|
version = "1.35.0";
|
||||||
|
|
||||||
goPackagePath = "github.com/docker-slim/docker-slim";
|
goPackagePath = "github.com/docker-slim/docker-slim";
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ buildGoPackage rec {
|
||||||
owner = "docker-slim";
|
owner = "docker-slim";
|
||||||
repo = "docker-slim";
|
repo = "docker-slim";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1ynpd6yb1xc18y528sshd5k9nkz48h1zifj2w4sjh5n0864lna7b";
|
sha256 = "0j350rhyav844vhaa1f5idffflgs5h3c5zcazly9s5sf4invm49y";
|
||||||
};
|
};
|
||||||
|
|
||||||
subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ];
|
subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ];
|
||||||
|
|
|
@ -686,6 +686,42 @@ rec {
|
||||||
in
|
in
|
||||||
result;
|
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.
|
# Provide a /etc/passwd and /etc/group that contain root and nobody.
|
||||||
# Useful when packaging binaries that insist on using nss to look up
|
# Useful when packaging binaries that insist on using nss to look up
|
||||||
# username/groups (like nginx).
|
# username/groups (like nginx).
|
||||||
|
|
|
@ -497,4 +497,23 @@ rec {
|
||||||
chown 1000 ./home/jane
|
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
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,10 +34,7 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
patches = [ ./nix-ssl-cert-file.patch ]
|
patches = [ ./nix-ssl-cert-file.patch ]
|
||||||
# Disable native add_system_trust.
|
# Disable native add_system_trust.
|
||||||
++ lib.optional (isDarwin && !withSecurity) ./no-security-framework.patch
|
++ 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;
|
|
||||||
|
|
||||||
# Skip some tests:
|
# Skip some tests:
|
||||||
# - pkg-config: building against the result won't work before installing (3.5.11)
|
# - 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 '/^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
|
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
|
'' + 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 .";
|
preConfigure = "patchShebangs .";
|
||||||
|
|
|
@ -195,6 +195,7 @@
|
||||||
, "react-tools"
|
, "react-tools"
|
||||||
, "readability-cli"
|
, "readability-cli"
|
||||||
, "redoc-cli"
|
, "redoc-cli"
|
||||||
|
, "remod-cli"
|
||||||
, "reveal.js"
|
, "reveal.js"
|
||||||
, "rimraf"
|
, "rimraf"
|
||||||
, "rollup"
|
, "rollup"
|
||||||
|
|
1307
pkgs/development/node-packages/node-packages.nix
generated
1307
pkgs/development/node-packages/node-packages.nix
generated
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, lib, fetchurl, buildDunePackage, ocaml
|
{ stdenv, lib, fetchurl, buildDunePackage, ocaml, dune-configurator
|
||||||
, pkg-config, cairo
|
, pkg-config, cairo
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -6,13 +6,15 @@ buildDunePackage rec {
|
||||||
pname = "cairo2";
|
pname = "cairo2";
|
||||||
version = "0.6.1";
|
version = "0.6.1";
|
||||||
|
|
||||||
|
useDune2 = true;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/Chris00/ocaml-cairo/releases/download/${version}/cairo2-${version}.tbz";
|
url = "https://github.com/Chris00/ocaml-cairo/releases/download/${version}/cairo2-${version}.tbz";
|
||||||
sha256 = "1ik4qf4b9443sliq2z7x9acd40rmzvyzjh3bh98wvjklxbb84a9i";
|
sha256 = "1ik4qf4b9443sliq2z7x9acd40rmzvyzjh3bh98wvjklxbb84a9i";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
buildInputs = [ cairo ];
|
buildInputs = [ cairo dune-configurator ];
|
||||||
|
|
||||||
doCheck = !(stdenv.isDarwin
|
doCheck = !(stdenv.isDarwin
|
||||||
# https://github.com/Chris00/ocaml-cairo/issues/19
|
# https://github.com/Chris00/ocaml-cairo/issues/19
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
{ lib, fetchurl, pkg-config, buildDunePackage, gtk3, cairo2 }:
|
{ lib, fetchurl, pkg-config, buildDunePackage, dune-configurator, gtk3, cairo2 }:
|
||||||
|
|
||||||
buildDunePackage rec {
|
buildDunePackage rec {
|
||||||
version = "3.1.1";
|
version = "3.1.1";
|
||||||
pname = "lablgtk3";
|
pname = "lablgtk3";
|
||||||
|
|
||||||
|
useDune2 = true;
|
||||||
|
|
||||||
minimumOCamlVersion = "4.05";
|
minimumOCamlVersion = "4.05";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
|
@ -12,6 +14,7 @@ buildDunePackage rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
buildInputs = [ dune-configurator ];
|
||||||
propagatedBuildInputs = [ gtk3 cairo2 ];
|
propagatedBuildInputs = [ gtk3 cairo2 ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -4,5 +4,5 @@ buildDunePackage {
|
||||||
pname = "lablgtk3-gtkspell3";
|
pname = "lablgtk3-gtkspell3";
|
||||||
buildInputs = [ gtkspell3 ] ++ lablgtk3.buildInputs;
|
buildInputs = [ gtkspell3 ] ++ lablgtk3.buildInputs;
|
||||||
propagatedBuildInputs = [ lablgtk3 ];
|
propagatedBuildInputs = [ lablgtk3 ];
|
||||||
inherit (lablgtk3) src version meta nativeBuildInputs;
|
inherit (lablgtk3) src version useDune2 meta nativeBuildInputs;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,5 +4,5 @@ buildDunePackage {
|
||||||
pname = "lablgtk3-sourceview3";
|
pname = "lablgtk3-sourceview3";
|
||||||
buildInputs = lablgtk3.buildInputs ++ [ gtksourceview ];
|
buildInputs = lablgtk3.buildInputs ++ [ gtksourceview ];
|
||||||
propagatedBuildInputs = [ lablgtk3 ];
|
propagatedBuildInputs = [ lablgtk3 ];
|
||||||
inherit (lablgtk3) src version meta nativeBuildInputs;
|
inherit (lablgtk3) src version useDune2 meta nativeBuildInputs;
|
||||||
}
|
}
|
||||||
|
|
38
pkgs/development/python-modules/pypinyin/default.nix
Normal file
38
pkgs/development/python-modules/pypinyin/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,6 +2,7 @@
|
||||||
, python3Packages
|
, python3Packages
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, python3
|
, python3
|
||||||
|
, fetchpatch
|
||||||
}:
|
}:
|
||||||
|
|
||||||
# USAGE:
|
# USAGE:
|
||||||
|
@ -9,24 +10,32 @@
|
||||||
# # pick your favorite vocoder/tts model
|
# # 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
|
# $ 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:
|
# For now, for deployment check the systemd unit in the pull request:
|
||||||
# https://github.com/NixOS/nixpkgs/pull/103851#issue-521121136
|
# https://github.com/NixOS/nixpkgs/pull/103851#issue-521121136
|
||||||
#
|
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "tts";
|
pname = "tts";
|
||||||
# until https://github.com/mozilla/TTS/issues/424 is resolved
|
version = "0.0.12";
|
||||||
# we treat released models as released versions:
|
|
||||||
# https://github.com/mozilla/TTS/wiki/Released-Models
|
|
||||||
version = "0.0.9";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mozilla";
|
owner = "coqui-ai";
|
||||||
repo = "TTS";
|
repo = "TTS";
|
||||||
rev = "df5899daf4ba4ec89544edf94f9c2e105c544461";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-lklG8DqG04LKJY93z2axeYhW8gtpbRG41o9ow2gJjuA=";
|
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 = ''
|
preBuild = ''
|
||||||
# numba jit tries to write to its cache directory
|
# numba jit tries to write to its cache directory
|
||||||
export HOME=$TMPDIR
|
export HOME=$TMPDIR
|
||||||
|
@ -37,7 +46,11 @@ python3Packages.buildPythonApplication rec {
|
||||||
sed -i -e 's!unidecode==[^"]*!unidecode!' requirements.txt setup.py
|
sed -i -e 's!unidecode==[^"]*!unidecode!' requirements.txt setup.py
|
||||||
sed -i -e 's!bokeh==[^"]*!bokeh!' 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!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
|
# 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 '/pylint/d' requirements.txt
|
||||||
sed -i -e '/cardboardlint/d' requirements.txt setup.py
|
sed -i -e '/cardboardlint/d' requirements.txt setup.py
|
||||||
'';
|
'';
|
||||||
|
@ -45,24 +58,25 @@ python3Packages.buildPythonApplication rec {
|
||||||
nativeBuildInputs = [ python3Packages.cython ];
|
nativeBuildInputs = [ python3Packages.cython ];
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
propagatedBuildInputs = with python3Packages; [
|
||||||
matplotlib
|
|
||||||
scipy
|
|
||||||
pytorch
|
|
||||||
flask
|
|
||||||
attrdict
|
attrdict
|
||||||
bokeh
|
bokeh
|
||||||
soundfile
|
flask
|
||||||
tqdm
|
|
||||||
librosa
|
|
||||||
unidecode
|
|
||||||
umap-learn
|
|
||||||
phonemizer
|
|
||||||
tensorboardx
|
|
||||||
fuzzywuzzy
|
fuzzywuzzy
|
||||||
inflect
|
|
||||||
gdown
|
gdown
|
||||||
|
inflect
|
||||||
|
jieba
|
||||||
|
librosa
|
||||||
|
matplotlib
|
||||||
|
phonemizer
|
||||||
|
pypinyin
|
||||||
pysbd
|
pysbd
|
||||||
pyworld
|
pytorch
|
||||||
|
scipy
|
||||||
|
soundfile
|
||||||
|
tensorboardx
|
||||||
|
tqdm
|
||||||
|
umap-learn
|
||||||
|
unidecode
|
||||||
];
|
];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
@ -92,16 +106,17 @@ python3Packages.buildPythonApplication rec {
|
||||||
mv TTS{,.old}
|
mv TTS{,.old}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
pytestFlagsArray = [
|
disabledTestPaths = [
|
||||||
# requires tensorflow
|
# requires tensorflow
|
||||||
"--ignore=tests/test_tacotron2_tf_model.py"
|
"tests/test_tacotron2_tf_model.py"
|
||||||
"--ignore=tests/test_vocoder_tf_melgan_generator.py"
|
"tests/test_vocoder_tf_melgan_generator.py"
|
||||||
"--ignore=tests/test_vocoder_tf_pqmf.py"
|
"tests/test_vocoder_tf_pqmf.py"
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/mozilla/TTS";
|
homepage = "https://github.com/coqui-ai/TTS";
|
||||||
description = "Deep learning for Text to Speech";
|
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;
|
license = licenses.mpl20;
|
||||||
maintainers = with maintainers; [ hexa mic92 ];
|
maintainers = with maintainers; [ hexa mic92 ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -22661,6 +22661,8 @@ in
|
||||||
|
|
||||||
gspeech = callPackage ../applications/audio/gspeech { };
|
gspeech = callPackage ../applications/audio/gspeech { };
|
||||||
|
|
||||||
|
haruna = libsForQt5.callPackage ../applications/video/haruna { };
|
||||||
|
|
||||||
icesl = callPackage ../applications/misc/icesl { };
|
icesl = callPackage ../applications/misc/icesl { };
|
||||||
|
|
||||||
keepassx = callPackage ../applications/misc/keepassx { };
|
keepassx = callPackage ../applications/misc/keepassx { };
|
||||||
|
@ -26825,7 +26827,9 @@ in
|
||||||
|
|
||||||
kodiPackages = recurseIntoAttrs (kodi.packages);
|
kodiPackages = recurseIntoAttrs (kodi.packages);
|
||||||
|
|
||||||
kodi = callPackage ../applications/video/kodi { };
|
kodi = callPackage ../applications/video/kodi {
|
||||||
|
jre_headless = jdk11_headless;
|
||||||
|
};
|
||||||
|
|
||||||
kodi-wayland = callPackage ../applications/video/kodi {
|
kodi-wayland = callPackage ../applications/video/kodi {
|
||||||
waylandSupport = true;
|
waylandSupport = true;
|
||||||
|
|
|
@ -5782,6 +5782,8 @@ in {
|
||||||
|
|
||||||
pypillowfight = callPackage ../development/python-modules/pypillowfight { };
|
pypillowfight = callPackage ../development/python-modules/pypillowfight { };
|
||||||
|
|
||||||
|
pypinyin = callPackage ../development/python-modules/pypinyin { };
|
||||||
|
|
||||||
pyplaato = callPackage ../development/python-modules/pyplaato { };
|
pyplaato = callPackage ../development/python-modules/pyplaato { };
|
||||||
|
|
||||||
pyplatec = callPackage ../development/python-modules/pyplatec { };
|
pyplatec = callPackage ../development/python-modules/pyplatec { };
|
||||||
|
|
Loading…
Reference in a new issue