Merge master into staging-next
This commit is contained in:
		
						commit
						d4f421cad9
					
				@ -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; };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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 {
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
      '';
 | 
			
		||||
 | 
			
		||||
@ -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 = {
 | 
			
		||||
 | 
			
		||||
@ -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$'"
 | 
			
		||||
        )
 | 
			
		||||
  '';
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@ -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" ''
 | 
			
		||||
 | 
			
		||||
@ -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",
 | 
			
		||||
 | 
			
		||||
@ -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}"
 | 
			
		||||
    )
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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 = ''
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										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 {
 | 
			
		||||
  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" ];
 | 
			
		||||
 | 
			
		||||
@ -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).
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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 .";
 | 
			
		||||
 | 
			
		||||
@ -195,6 +195,7 @@
 | 
			
		||||
, "react-tools"
 | 
			
		||||
, "readability-cli"
 | 
			
		||||
, "redoc-cli"
 | 
			
		||||
, "remod-cli"
 | 
			
		||||
, "reveal.js"
 | 
			
		||||
, "rimraf"
 | 
			
		||||
, "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
 | 
			
		||||
}:
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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 = {
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
, 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 ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
@ -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 { };
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user