From f21a491d3fe8970283c8a59062accb637583c9e1 Mon Sep 17 00:00:00 2001 From: Dmitry Moskowski Date: Sun, 4 Apr 2021 17:55:30 +0000 Subject: [PATCH 01/32] racket: patch the runtime variant detection Fixes #114993 --- .../interpreters/racket/default.nix | 11 +++++++---- .../interpreters/racket/force-cs-variant.patch | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 pkgs/development/interpreters/racket/force-cs-variant.patch diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix index c49c6b5b7c70..d64a78965008 100644 --- a/pkgs/development/interpreters/racket/default.nix +++ b/pkgs/development/interpreters/racket/default.nix @@ -72,6 +72,13 @@ stdenv.mkDerivation rec { buildInputs = [ fontconfig libffi libtool sqlite gsettings-desktop-schemas gtk3 ] ++ lib.optionals stdenv.isDarwin [ libiconv CoreFoundation ncurses ]; + patches = [ + # Hardcode variant detection because we wrap the Racket binary making it + # fail to detect its variant at runtime. + # See: https://github.com/NixOS/nixpkgs/issues/114993#issuecomment-812951247 + ./force-cs-variant.patch + ]; + preConfigure = '' unset AR for f in src/lt/configure src/cs/c/configure src/bc/src/string.c src/ChezScheme/workarea; do @@ -97,10 +104,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = false; - postFixup = lib.optionalString stdenv.isDarwin '' - wrapProgram $out/bin/drracket --prefix DYLD_LIBRARY_PATH : ${xorg.libX11}/lib - ''; - meta = with lib; { description = "A programmable programming language"; longDescription = '' diff --git a/pkgs/development/interpreters/racket/force-cs-variant.patch b/pkgs/development/interpreters/racket/force-cs-variant.patch new file mode 100644 index 000000000000..6acbe5dc95d3 --- /dev/null +++ b/pkgs/development/interpreters/racket/force-cs-variant.patch @@ -0,0 +1,18 @@ +Hardcode Racket variant to CS + +Hardcode variant detection because nixpkgs wraps the Racket binary making it +fail to detect its variant at runtime. +https://github.com/NixOS/nixpkgs/issues/114993#issuecomment-812951247 + +--- old/collects/setup/variant.rkt ++++ new/collects/setup/variant.rkt +@@ -7,7 +7,8 @@ + (provide variant-suffix + script-variant?) + +-(define plain-variant ++(define plain-variant 'cs) ++#;(define plain-variant + (delay/sync + (cond + [(cross-installation?) From 16c2826c1ad157520f6d110ed33970844021a695 Mon Sep 17 00:00:00 2001 From: Joshua Fern Date: Fri, 8 Oct 2021 16:50:38 -0700 Subject: [PATCH 02/32] dosbox-staging: init @ 0.77.1 --- .../misc/emulators/dosbox-staging/default.nix | 55 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 57 insertions(+) create mode 100644 pkgs/misc/emulators/dosbox-staging/default.nix diff --git a/pkgs/misc/emulators/dosbox-staging/default.nix b/pkgs/misc/emulators/dosbox-staging/default.nix new file mode 100644 index 000000000000..f00ff4f104e8 --- /dev/null +++ b/pkgs/misc/emulators/dosbox-staging/default.nix @@ -0,0 +1,55 @@ +{ stdenv, lib, fetchFromGitHub, writeShellScript +, gtest, meson, ninja, pkgconfig +, alsaLib, fluidsynth, libGL, libGLU, libogg, libpng, munt, opusfile, SDL2, SDL2_net +}: + +let + dosbox_run = writeShellScript "dosbox" '' + $(dirname "$0")/dosbox-staging "$@" + ''; + +in stdenv.mkDerivation rec { + pname = "dosbox-staging"; + version = "0.77.1"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "07jwmmm1bhfxavlhl854cj8l5iy5hqx5hpwkkjbcwqg7yh9jfs2x"; + }; + + nativeBuildInputs = [ gtest meson ninja pkgconfig ]; + buildInputs = [ alsaLib fluidsynth libGL libGLU libogg libpng munt opusfile SDL2 SDL2_net ]; + + enableParallelBuilding = true; + hardeningDisable = [ "format" ]; + + mesonFlags = [ + "--buildtype=release" + "-Ddefault_library=static" + "-Db_asneeded=true" + "-Dtry_static_libs=png" + "-Dfluidsynth:enable-floats=true" + "-Dfluidsynth:try-static-deps=true" + ]; + + postFixup = '' + # Rename binary, add a wrapper, and copy manual to avoid conflict with vanilla dosbox. + # Doing it this way allows us to work with frontends and launchers that expect the + # binary to be named dosbox, but get out of the way of vanilla dosbox if the user + # desires to install that as well. + mv $out/bin/dosbox $out/bin/${pname} + cp -r ${dosbox_run} "$out/bin/dosbox" + cp $out/share/man/man1/dosbox.1.gz $out/share/man/man1/${pname}.1.gz + ''; + + meta = with lib; { + description = "A modernized DOS emulator"; + homepage = "https://dosbox-staging.github.io/"; + license = licenses.gpl2; + maintainers = with maintainers; [ joshuafern ]; + platforms = platforms.unix; + priority = 101; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 20960558ccec..5a0f500e5c34 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31617,6 +31617,8 @@ with pkgs; dosbox = callPackage ../misc/emulators/dosbox { }; + dosbox-staging = callPackage ../misc/emulators/dosbox-staging { }; + emu2 = callPackage ../misc/emulators/emu2 { }; apt = callPackage ../tools/package-management/apt { }; From d9a3ddd2f6b0df72f80def7af95e04e70b9a8ad1 Mon Sep 17 00:00:00 2001 From: Joshua Fern Date: Fri, 8 Oct 2021 17:49:07 -0700 Subject: [PATCH 03/32] dosbox-staging: rename pkgconfig to pkg-config --- pkgs/misc/emulators/dosbox-staging/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/emulators/dosbox-staging/default.nix b/pkgs/misc/emulators/dosbox-staging/default.nix index f00ff4f104e8..6301f4103230 100644 --- a/pkgs/misc/emulators/dosbox-staging/default.nix +++ b/pkgs/misc/emulators/dosbox-staging/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, writeShellScript -, gtest, meson, ninja, pkgconfig +, gtest, meson, ninja, pkg-config , alsaLib, fluidsynth, libGL, libGLU, libogg, libpng, munt, opusfile, SDL2, SDL2_net }: @@ -19,7 +19,7 @@ in stdenv.mkDerivation rec { sha256 = "07jwmmm1bhfxavlhl854cj8l5iy5hqx5hpwkkjbcwqg7yh9jfs2x"; }; - nativeBuildInputs = [ gtest meson ninja pkgconfig ]; + nativeBuildInputs = [ gtest meson ninja pkg-config ]; buildInputs = [ alsaLib fluidsynth libGL libGLU libogg libpng munt opusfile SDL2 SDL2_net ]; enableParallelBuilding = true; From 28efdf72da7128aa8503ed99311a128f41041e14 Mon Sep 17 00:00:00 2001 From: Joshua Fern Date: Fri, 8 Oct 2021 17:53:59 -0700 Subject: [PATCH 04/32] dosbox-staging: rename alsaLib to alsa-lib --- pkgs/misc/emulators/dosbox-staging/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/emulators/dosbox-staging/default.nix b/pkgs/misc/emulators/dosbox-staging/default.nix index 6301f4103230..2fc2c17423e8 100644 --- a/pkgs/misc/emulators/dosbox-staging/default.nix +++ b/pkgs/misc/emulators/dosbox-staging/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchFromGitHub, writeShellScript , gtest, meson, ninja, pkg-config -, alsaLib, fluidsynth, libGL, libGLU, libogg, libpng, munt, opusfile, SDL2, SDL2_net +, alsa-lib, fluidsynth, libGL, libGLU, libogg, libpng, munt, opusfile, SDL2, SDL2_net }: let @@ -20,7 +20,7 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ gtest meson ninja pkg-config ]; - buildInputs = [ alsaLib fluidsynth libGL libGLU libogg libpng munt opusfile SDL2 SDL2_net ]; + buildInputs = [ alsa-lib fluidsynth libGL libGLU libogg libpng munt opusfile SDL2 SDL2_net ]; enableParallelBuilding = true; hardeningDisable = [ "format" ]; From 076ce97202d8544c33e9545cea6503e21cb063c1 Mon Sep 17 00:00:00 2001 From: Joshua Fern Date: Sun, 10 Oct 2021 16:59:42 -0700 Subject: [PATCH 05/32] dosbox-staging: discard redundant option --- pkgs/misc/emulators/dosbox-staging/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/misc/emulators/dosbox-staging/default.nix b/pkgs/misc/emulators/dosbox-staging/default.nix index 2fc2c17423e8..5ee1657acdec 100644 --- a/pkgs/misc/emulators/dosbox-staging/default.nix +++ b/pkgs/misc/emulators/dosbox-staging/default.nix @@ -22,7 +22,6 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ gtest meson ninja pkg-config ]; buildInputs = [ alsa-lib fluidsynth libGL libGLU libogg libpng munt opusfile SDL2 SDL2_net ]; - enableParallelBuilding = true; hardeningDisable = [ "format" ]; mesonFlags = [ From f9b4e32ca88b72a0f0fdd5fd7a491b7853ad845f Mon Sep 17 00:00:00 2001 From: Joshua Fern Date: Sun, 10 Oct 2021 17:06:02 -0700 Subject: [PATCH 06/32] dosbox-staging: writeShellScript into makeWrapper --- pkgs/misc/emulators/dosbox-staging/default.nix | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/pkgs/misc/emulators/dosbox-staging/default.nix b/pkgs/misc/emulators/dosbox-staging/default.nix index 5ee1657acdec..3322c43a0c54 100644 --- a/pkgs/misc/emulators/dosbox-staging/default.nix +++ b/pkgs/misc/emulators/dosbox-staging/default.nix @@ -1,14 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, writeShellScript -, gtest, meson, ninja, pkg-config +{ lib, fetchFromGitHub, stdenv +, gtest, makeWrapper, meson, ninja, pkg-config , alsa-lib, fluidsynth, libGL, libGLU, libogg, libpng, munt, opusfile, SDL2, SDL2_net }: -let - dosbox_run = writeShellScript "dosbox" '' - $(dirname "$0")/dosbox-staging "$@" - ''; - -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "dosbox-staging"; version = "0.77.1"; @@ -19,7 +14,7 @@ in stdenv.mkDerivation rec { sha256 = "07jwmmm1bhfxavlhl854cj8l5iy5hqx5hpwkkjbcwqg7yh9jfs2x"; }; - nativeBuildInputs = [ gtest meson ninja pkg-config ]; + nativeBuildInputs = [ gtest makeWrapper meson ninja pkg-config ]; buildInputs = [ alsa-lib fluidsynth libGL libGLU libogg libpng munt opusfile SDL2 SDL2_net ]; hardeningDisable = [ "format" ]; @@ -39,7 +34,7 @@ in stdenv.mkDerivation rec { # binary to be named dosbox, but get out of the way of vanilla dosbox if the user # desires to install that as well. mv $out/bin/dosbox $out/bin/${pname} - cp -r ${dosbox_run} "$out/bin/dosbox" + makeWrapper $out/bin/dosbox-staging $out/bin/dosbox cp $out/share/man/man1/dosbox.1.gz $out/share/man/man1/${pname}.1.gz ''; From ced47fa5824c0967d7c3cff5577e1cc6f9343d67 Mon Sep 17 00:00:00 2001 From: Ryan Horiguchi Date: Thu, 14 Oct 2021 23:17:25 +0200 Subject: [PATCH 07/32] vscode-extensions.hashicorp.terraform: 2.15.0 -> 2.16.0 --- pkgs/misc/vscode-extensions/terraform/default.nix | 4 ++-- pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/misc/vscode-extensions/terraform/default.nix b/pkgs/misc/vscode-extensions/terraform/default.nix index 3a587efcc5b2..66d23e491161 100644 --- a/pkgs/misc/vscode-extensions/terraform/default.nix +++ b/pkgs/misc/vscode-extensions/terraform/default.nix @@ -3,8 +3,8 @@ vscode-utils.buildVscodeMarketplaceExtension rec { mktplcRef = { name = "terraform"; publisher = "hashicorp"; - version = "2.15.0"; - sha256 = "0bqf9ry0idqw61714dc6y1rh5js35mi14q19yqhiwayyfakwraq9"; + version = "2.16.0"; + sha256 = "0ya0xmmn4rmbvh8mxz466msbb3y2xqi4bg9dgymy2wq8cwzbn81b"; }; patches = [ ./fix-terraform-ls.patch ]; diff --git a/pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch b/pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch index 2f34d09fd115..e20c29a74b56 100644 --- a/pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch +++ b/pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch @@ -1,5 +1,5 @@ diff --git a/out/serverPath.js b/out/serverPath.js -index ffb1b80..990ca2b 100644 +index d25f5d4..289f0dd 100644 --- a/out/serverPath.js +++ b/out/serverPath.js @@ -8,7 +8,13 @@ exports.CUSTOM_BIN_PATH_OPTION_NAME = 'languageServer.pathToBinary'; @@ -16,4 +16,4 @@ index ffb1b80..990ca2b 100644 + } } installPath() { - return this.context.asAbsolutePath(INSTALL_FOLDER_NAME); + return path.join(this.context.globalStorageUri.fsPath, INSTALL_FOLDER_NAME); From 7a4bda8c482350bf40082335d6ae823eed97010b Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Mon, 18 Oct 2021 22:44:47 +0200 Subject: [PATCH 08/32] waypipe: 0.8.0 -> 0.8.1 --- pkgs/applications/networking/remote/waypipe/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/remote/waypipe/default.nix b/pkgs/applications/networking/remote/waypipe/default.nix index 7be719c18037..eb1ec40cc15a 100644 --- a/pkgs/applications/networking/remote/waypipe/default.nix +++ b/pkgs/applications/networking/remote/waypipe/default.nix @@ -5,14 +5,14 @@ stdenv.mkDerivation rec { pname = "waypipe-unstable"; - version = "0.8.0"; + version = "0.8.1"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "mstoeckl"; repo = "waypipe"; rev = "v${version}"; - sha256 = "1qa47ljfvb1vv3h647xwn1j5j8gfmcmdfaz4j8ygnkvj36y87vnz"; + sha256 = "1v08dv3dfz420v51ahz7qgv3429073kmgrf8f66s4c3jlpch2pa1"; }; nativeBuildInputs = [ meson ninja pkg-config scdoc ]; From 747f040edc2e66c187774b25e46c89e20dee8ef7 Mon Sep 17 00:00:00 2001 From: Bruno Bigras Date: Sat, 23 Oct 2021 14:03:22 -0400 Subject: [PATCH 09/32] kopia: 0.9.3 -> 0.9.4 --- pkgs/tools/backup/kopia/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/backup/kopia/default.nix b/pkgs/tools/backup/kopia/default.nix index 9f935c027e67..512ec7b52590 100644 --- a/pkgs/tools/backup/kopia/default.nix +++ b/pkgs/tools/backup/kopia/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "kopia"; - version = "0.9.3"; + version = "0.9.4"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-G7pda+0CsK02OkyVgDmZffMheEm7ZIM4ylyjAIfmhTI="; + sha256 = "sha256-+zfkFusLoYITIStk3ZobeuN3MFeY5T6pbiUEc4IT1UA="; }; vendorSha256 = "sha256-v81YkImg8GdI5locfsU4dg2JyO7XB24mfHRIZ+k8QBA="; From 872080e31c44d8581d96e6260276203b44456e14 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Sun, 24 Oct 2021 00:12:35 -0300 Subject: [PATCH 10/32] kotlin-native: init at 1.5.31 --- pkgs/development/compilers/kotlin/native.nix | 64 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 65 insertions(+) create mode 100644 pkgs/development/compilers/kotlin/native.nix diff --git a/pkgs/development/compilers/kotlin/native.nix b/pkgs/development/compilers/kotlin/native.nix new file mode 100644 index 000000000000..13c7143461d6 --- /dev/null +++ b/pkgs/development/compilers/kotlin/native.nix @@ -0,0 +1,64 @@ +{ lib +, stdenv +, fetchurl +, jre +, makeWrapper +}: + +stdenv.mkDerivation rec { + pname = "kotlin-native"; + version = "1.5.31"; + + src = let + getArch = { + "aarch64-darwin" = "macos-aarch64"; + "x86_64-darwin" = "macos-x86_64"; + "x86_64-linux" = "linux-x86_64"; + }.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported."); + + getUrl = version: arch: + "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-native-${arch}-${version}.tar.gz"; + + getHash = arch: { + "macos-aarch64" = "sha256-+9AF42AlPn1/8c14t8u+NN8FkoEmdt6tpmIKU9Rp2AM="; + "macos-x86_64" = "sha256-/eciSo4Eps2TTsv1XU1Rlm+KBmgQT0MWp2s/OAYtGt4="; + "linux-x86_64" = "sha256-Y2t+nlTu+j+h0oRneo7CJx0PmLAkqKYBJ+8go7rargM="; + }.${arch}; + in + fetchurl { + url = getUrl version getArch; + hash = getHash getArch; + }; + + nativeBuildInputs = [ + jre + makeWrapper + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out + mv * $out + + runHook postInstall + ''; + + postFixup = '' + wrapProgram $out/bin/run_konan --prefix PATH ":" ${lib.makeBinPath [ jre ]} + ''; + + meta = { + homepage = "https://kotlinlang.org/"; + description = "A modern programming language that makes developers happier"; + longDescription = '' + Kotlin/Native is a technology for compiling Kotlin code to native + binaries, which can run without a virtual machine. It is an LLVM based + backend for the Kotlin compiler and native implementation of the Kotlin + standard library. + ''; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ ]; + platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 95d6ce8786fa..da51f5a9a9f4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12273,6 +12273,7 @@ with pkgs; koka = haskell.lib.justStaticExecutables (haskellPackages.callPackage ../development/compilers/koka { }); kotlin = callPackage ../development/compilers/kotlin { }; + kotlin-native = callPackage ../development/compilers/kotlin/native.nix { }; lazarus = callPackage ../development/compilers/fpc/lazarus.nix { fpc = fpc; From b30e56bddfc27846f8338ea7a0748bb8069e19b5 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 20 Oct 2021 15:59:00 +0000 Subject: [PATCH 11/32] =?UTF-8?q?gssdp:=201.2.3=20=E2=86=92=201.4.0.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/libraries/gssdp/default.nix | 31 ++++++++++++-------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/pkgs/development/libraries/gssdp/default.nix b/pkgs/development/libraries/gssdp/default.nix index 6a76c07fec7b..523899fb3bd6 100644 --- a/pkgs/development/libraries/gssdp/default.nix +++ b/pkgs/development/libraries/gssdp/default.nix @@ -1,28 +1,27 @@ -{ lib, stdenv +{ stdenv +, lib , fetchurl , meson , ninja , pkg-config , gobject-introspection , vala -, gtk-doc -, docbook_xsl -, docbook_xml_dtd_412 +, gi-docgen +, python3 , libsoup -, gtk3 , glib , gnome }: stdenv.mkDerivation rec { pname = "gssdp"; - version = "1.2.3"; + version = "1.4.0.1"; - outputs = [ "out" "bin" "dev" "devdoc" ]; + outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/gssdp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1s57i8a8wnnxnsfl27cq4503dkdlzbrhry5zpg23sfqfffvdqqx2"; + sha256 = "hnaEnVf7giuHKIVtut6/OGf4nuR6DsR6IARdAR9DFYI="; }; nativeBuildInputs = [ @@ -31,14 +30,12 @@ stdenv.mkDerivation rec { pkg-config gobject-introspection vala - gtk-doc - docbook_xsl - docbook_xml_dtd_412 + gi-docgen + python3 ]; buildInputs = [ libsoup - gtk3 ]; propagatedBuildInputs = [ @@ -47,10 +44,19 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Dgtk_doc=true" + "-Dsniffer=false" ]; doCheck = true; + postFixup = '' + # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. + find -L "$out/share/doc" -type f -regex '.*\.devhelp2?' -print0 \ + | while IFS= read -r -d ''' file; do + moveToOutput "$(dirname "''${file/"$out/"/}")" "$devdoc" + done + ''; + passthru = { updateScript = gnome.updateScript { packageName = pname; @@ -61,6 +67,7 @@ stdenv.mkDerivation rec { description = "GObject-based API for handling resource discovery and announcement over SSDP"; homepage = "http://www.gupnp.org/"; license = licenses.lgpl2Plus; + maintainers = teams.gnome.members; platforms = platforms.all; }; } From d08875a433b47f8d1360568054f7c751ce88c9b7 Mon Sep 17 00:00:00 2001 From: toastal Date: Sun, 24 Oct 2021 12:37:56 +0700 Subject: [PATCH 12/32] soupault: 3.1.0 -> 3.2.0 https://github.com/dmbaturin/soupault/releases/tag/3.2.0 Currently this appears to be blocked by lambdasoup upgrading to 0.7.3 though --- pkgs/tools/typesetting/soupault/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/typesetting/soupault/default.nix b/pkgs/tools/typesetting/soupault/default.nix index 5b0619468efb..a511456e02eb 100644 --- a/pkgs/tools/typesetting/soupault/default.nix +++ b/pkgs/tools/typesetting/soupault/default.nix @@ -2,7 +2,7 @@ ocamlPackages.buildDunePackage rec { pname = "soupault"; - version = "3.1.0"; + version = "3.2.0"; useDune2 = true; @@ -10,7 +10,7 @@ ocamlPackages.buildDunePackage rec { owner = "dmbaturin"; repo = pname; rev = version; - sha256 = "sha256-SVNC2DbdciunSKTCmmX0SqaEXMe1DkVX4VJTqriI8Y4="; + sha256 = "sha256-T1K/ntCK19LfPmMtaAa9c1JjSL+5dax2SNhM4yUFln4="; }; buildInputs = with ocamlPackages; [ @@ -23,6 +23,7 @@ ocamlPackages.buildDunePackage rec { lambdasoup lua-ml logs + markup odate otoml re From b475247b852aa3cb010443546d9ffd7bef3f46c6 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sun, 24 Oct 2021 10:00:44 +0200 Subject: [PATCH 13/32] =?UTF-8?q?ocamlPackages.lambdasoup:=200.7.2=20?= =?UTF-8?q?=E2=86=92=200.7.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/ocaml-modules/lambdasoup/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/lambdasoup/default.nix b/pkgs/development/ocaml-modules/lambdasoup/default.nix index de5fbf63b383..d7d0028b2c15 100644 --- a/pkgs/development/ocaml-modules/lambdasoup/default.nix +++ b/pkgs/development/ocaml-modules/lambdasoup/default.nix @@ -2,9 +2,9 @@ buildDunePackage rec { pname = "lambdasoup"; - version = "0.7.2"; + version = "0.7.3"; - minimumOCamlVersion = "4.02"; + minimalOCamlVersion = "4.02"; useDune2 = true; @@ -12,7 +12,7 @@ buildDunePackage rec { owner = "aantron"; repo = pname; rev = version; - sha256 = "0php51lyz3ll0psazjd59yw02xb9w84150gkyiwmn3fa0iq8nf7m"; + sha256 = "sha256:1wclkn1pl0d150dw0xswb29jc7y1q9mhipff1pnsc1hli3pyvvb7"; }; propagatedBuildInputs = [ markup ]; From 43df632797318143ac12fa7e7a5892ee382f2a6a Mon Sep 17 00:00:00 2001 From: Mrinal Purohit Date: Sun, 24 Oct 2021 17:56:54 +0530 Subject: [PATCH 14/32] dendrite: 0.4.1 -> 0.5.0 --- pkgs/servers/dendrite/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/dendrite/default.nix b/pkgs/servers/dendrite/default.nix index 1d214b751fcf..60855ba8f36a 100644 --- a/pkgs/servers/dendrite/default.nix +++ b/pkgs/servers/dendrite/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "matrix-dendrite"; - version = "0.4.1"; + version = "0.5.0"; src = fetchFromGitHub { owner = "matrix-org"; repo = "dendrite"; rev = "v${version}"; - sha256 = "sha256-F2e+peM7DBihmos/oPar36UDHkibmlzIknCjMauOph8="; + sha256 = "iCxfsIOZqPQjY0u2Zw3PCe0IJDczqDjcTUA3U5zXbgM="; }; - vendorSha256 = "sha256-M6mnFO+SInZNvtwMa02TvHIg14Ve7swlGcYfsQFioxQ="; + vendorSha256 = "sha256-XS1B6Nl5zGevxE1SohpoTwT/bXn5udYV5ANVFn7eTyA="; passthru.tests = { inherit (nixosTests) dendrite; From 1ed5606d8a65c45f9f24229202be6c60c019c01f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Sat, 23 Oct 2021 18:46:51 +0200 Subject: [PATCH 15/32] nixos/test-runner: Fix thread cleanup --- nixos/lib/test-driver/test-driver.py | 32 ++++++++++++++-------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py index 3ee8b3227c61..e4d93418a22f 100755 --- a/nixos/lib/test-driver/test-driver.py +++ b/nixos/lib/test-driver/test-driver.py @@ -8,7 +8,6 @@ import queue import io import threading import argparse -import atexit import base64 import codecs import os @@ -1128,11 +1127,13 @@ class Driver: for cmd in cmd(start_scripts) ] - @atexit.register - def clean_up() -> None: - with rootlog.nested("clean up"): - for machine in self.machines: - machine.release() + def __enter__(self) -> "Driver": + return self + + def __exit__(self, *_: Any) -> None: + with rootlog.nested("cleanup"): + for machine in self.machines: + machine.release() def subtest(self, name: str) -> Iterator[None]: """Group logs under a given test name""" @@ -1307,14 +1308,13 @@ if __name__ == "__main__": if not args.keep_vm_state: rootlog.info("Machine state will be reset. To keep it, pass --keep-vm-state") - driver = Driver( + with Driver( args.start_scripts, args.vlans, args.testscript.read_text(), args.keep_vm_state - ) - - if args.interactive: - ptpython.repl.embed(driver.test_symbols(), {}) - else: - tic = time.time() - driver.run_tests() - toc = time.time() - rootlog.info(f"test script finished in {(toc-tic):.2f}s") + ) as driver: + if args.interactive: + ptpython.repl.embed(driver.test_symbols(), {}) + else: + tic = time.time() + driver.run_tests() + toc = time.time() + rootlog.info(f"test script finished in {(toc-tic):.2f}s") From 767f2007ffd8babe23c5514aefcfbceca6594e38 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 20 Oct 2021 19:46:57 +0200 Subject: [PATCH 16/32] gssdp-tools: re-add as separate derivation --- pkgs/development/libraries/gssdp/default.nix | 6 +++ .../libraries/gssdp/standalone-tools.patch | 42 ++++++++++++++++ pkgs/development/libraries/gssdp/tools.nix | 50 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 4 files changed, 100 insertions(+) create mode 100644 pkgs/development/libraries/gssdp/standalone-tools.patch create mode 100644 pkgs/development/libraries/gssdp/tools.nix diff --git a/pkgs/development/libraries/gssdp/default.nix b/pkgs/development/libraries/gssdp/default.nix index 523899fb3bd6..9947214bf7fc 100644 --- a/pkgs/development/libraries/gssdp/default.nix +++ b/pkgs/development/libraries/gssdp/default.nix @@ -11,6 +11,7 @@ , libsoup , glib , gnome +, gssdp-tools }: stdenv.mkDerivation rec { @@ -50,6 +51,7 @@ stdenv.mkDerivation rec { doCheck = true; postFixup = '' + # Move developer documentation to devdoc output. # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. find -L "$out/share/doc" -type f -regex '.*\.devhelp2?' -print0 \ | while IFS= read -r -d ''' file; do @@ -61,6 +63,10 @@ stdenv.mkDerivation rec { updateScript = gnome.updateScript { packageName = pname; }; + + tests = { + inherit gssdp-tools; + }; }; meta = with lib; { diff --git a/pkgs/development/libraries/gssdp/standalone-tools.patch b/pkgs/development/libraries/gssdp/standalone-tools.patch new file mode 100644 index 000000000000..f2273a978d67 --- /dev/null +++ b/pkgs/development/libraries/gssdp/standalone-tools.patch @@ -0,0 +1,42 @@ +diff --git a/libgssdp/gssdp-client-private.h b/libgssdp/gssdp-client-private.h +index ac31247..241c054 100644 +--- a/libgssdp/gssdp-client-private.h ++++ b/libgssdp/gssdp-client-private.h +@@ -10,7 +10,11 @@ + #ifndef GSSDP_CLIENT_PRIVATE_H + #define GSSDP_CLIENT_PRIVATE_H + ++#ifdef GSSDP_TOOLS ++#include ++#else + #include "gssdp-client.h" ++#endif + + G_BEGIN_DECLS + +diff --git a/tools/meson.build b/tools/meson.build +index 40eb8e3..5db545b 100644 +--- a/tools/meson.build ++++ b/tools/meson.build +@@ -1,3 +1,10 @@ ++project('gssdp-tools', 'c', version: '@version@') ++gnome = import('gnome') ++ ++gssdp = dependency('gssdp-1.2') ++gtk = dependency('gtk4', version : '>= 4') ++libsoup = dependency('libsoup-2.4', version : '>= 2.26.1') ++ + resource = gnome.compile_resources( + 'org.gupnp.GSSDP.DeviceSniffer', + 'gssdp-device-sniffer.gresource.xml', +@@ -12,7 +19,9 @@ sniffer = executable( + 'main-window.h', + resource + ], +- dependencies : [gssdp, gtk], ++ dependencies : [gssdp, gtk, libsoup], ++ c_args: ['-DGSSDP_TOOLS'], ++ include_directories : [include_directories('..')], + install: true, + export_dynamic : true, + gui_app : true diff --git a/pkgs/development/libraries/gssdp/tools.nix b/pkgs/development/libraries/gssdp/tools.nix new file mode 100644 index 000000000000..36bc56429008 --- /dev/null +++ b/pkgs/development/libraries/gssdp/tools.nix @@ -0,0 +1,50 @@ +{ stdenv +, lib +, substituteAll +, meson +, ninja +, pkg-config +, wrapGAppsHook4 +, gssdp +, gtk4 +, libsoup +}: + +stdenv.mkDerivation rec { + pname = "gssdp-tools"; + inherit (gssdp) version src; + + patches = [ + # Allow building tools separately from the library. + # This is needed to break the depenency cycle. + (substituteAll { + src = ./standalone-tools.patch; + inherit version; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + wrapGAppsHook4 + ]; + + buildInputs = [ + gssdp + gtk4 + libsoup + ]; + + preConfigure = '' + cd tools + ''; + + meta = with lib; { + description = "Device Sniffer tool based on GSSDP framework"; + homepage = "http://www.gupnp.org/"; + license = licenses.lgpl2Plus; + maintainers = gssdp.meta.maintainers; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 87e40fcd02aa..9694503832ab 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5934,6 +5934,8 @@ with pkgs; gssdp = callPackage ../development/libraries/gssdp { }; + gssdp-tools = callPackage ../development/libraries/gssdp/tools.nix { }; + grype = callPackage ../tools/security/grype { }; gt5 = callPackage ../tools/system/gt5 { }; From 529f7dd5da3436a032aad17a9f9ae3297bb1ec38 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 20 Oct 2021 15:59:12 +0000 Subject: [PATCH 17/32] =?UTF-8?q?gupnp-av:=200.12.11=20=E2=86=92=200.14.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../libraries/gupnp-av/default.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/gupnp-av/default.nix b/pkgs/development/libraries/gupnp-av/default.nix index 8d800f979402..52baba6bfa58 100644 --- a/pkgs/development/libraries/gupnp-av/default.nix +++ b/pkgs/development/libraries/gupnp-av/default.nix @@ -1,10 +1,13 @@ -{ lib, stdenv +{ stdenv +, lib , fetchurl +, meson +, ninja , pkg-config , gobject-introspection , vala , gtk-doc -, docbook_xsl +, docbook-xsl-nons , docbook_xml_dtd_412 , glib , libxml2 @@ -13,21 +16,23 @@ stdenv.mkDerivation rec { pname = "gupnp-av"; - version = "0.12.11"; + version = "0.14.0"; outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"; + sha256 = "IK7VRvyILnij8YagyLzlyEHMOkS36lKCmPvcgllvsVY="; }; nativeBuildInputs = [ + meson + ninja pkg-config gobject-introspection vala gtk-doc - docbook_xsl + docbook-xsl-nons docbook_xml_dtd_412 ]; @@ -36,8 +41,8 @@ stdenv.mkDerivation rec { libxml2 ]; - configureFlags = [ - "--enable-gtk-doc" + mesonFlags = [ + "-Dgtk_doc=true" ]; doCheck = true; From df76d9f7a4f0ecec360bacafe68ff872dc8f9ae2 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 20 Oct 2021 15:59:12 +0000 Subject: [PATCH 18/32] =?UTF-8?q?gupnp:=201.2.4=20=E2=86=92=201.4.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...eclare-header-dependencies-as-public.patch | 55 +++++++++++++++++++ pkgs/development/libraries/gupnp/default.nix | 15 ++--- 2 files changed, 61 insertions(+), 9 deletions(-) create mode 100644 pkgs/development/libraries/gupnp/0001-pkg-config-Declare-header-dependencies-as-public.patch diff --git a/pkgs/development/libraries/gupnp/0001-pkg-config-Declare-header-dependencies-as-public.patch b/pkgs/development/libraries/gupnp/0001-pkg-config-Declare-header-dependencies-as-public.patch new file mode 100644 index 000000000000..46a2dae382d2 --- /dev/null +++ b/pkgs/development/libraries/gupnp/0001-pkg-config-Declare-header-dependencies-as-public.patch @@ -0,0 +1,55 @@ +From a3461f69222ef23b2edd411c5fc8daefea556a2c Mon Sep 17 00:00:00 2001 +From: Jan Tojnar +Date: Wed, 20 Oct 2021 20:55:29 +0200 +Subject: [PATCH] pkg-config: Declare header dependencies as public +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The headers include libsoup and libxml2 headers but those libraries are only +listed in Requires.private. This does not matter for upstream pkg-config +because it uses Cflags from libraries in Requires.private as well but as our +pkg-config is patched to only use Requires.private for static linking. + +Let’s add libsoup-2.4 and libxml-2.0 to Requires rather than Requires.private +to make the reverse dependencies correctly find their headers. +--- + libgupnp/meson.build | 2 +- + meson.build | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/libgupnp/meson.build b/libgupnp/meson.build +index cb8a102..5fda9d8 100644 +--- a/libgupnp/meson.build ++++ b/libgupnp/meson.build +@@ -129,7 +129,7 @@ pkg.generate( + libgupnp, + subdirs: 'gupnp-1.2', + name : 'gupnp-1.2', +- requires : ['glib-2.0', 'gio-2.0', 'gssdp-1.2'], ++ requires : ['glib-2.0', 'gio-2.0', 'gssdp-1.2', 'libsoup-2.4 >= ' + libsoup_version, 'libxml-2.0'], + description : 'GObject-based UPnP library', + version : meson.project_version(), + filebase : 'gupnp-1.2' +diff --git a/meson.build b/meson.build +index 3790bcf..c96a983 100644 +--- a/meson.build ++++ b/meson.build +@@ -25,12 +25,13 @@ gssdp_dep = dependency('gssdp-1.2', version : '>= 1.3.0', default_options: ['sni + + gio_unix = dependency('gio-unix-2.0', version: '>= 2.44', required: host_machine.system() != 'windows') + ++libsoup_version = '2.48.0' + dependencies = [ + dependency('glib-2.0', version : '>= ' + glib_version), + dependency('gio-2.0', version : '>= ' + glib_version), + dependency('gmodule-2.0', version : '>= ' + glib_version), + dependency('gobject-2.0', version : '>= ' + glib_version), +- dependency('libsoup-2.4', version : '>= 2.48.0'), ++ dependency('libsoup-2.4', version : '>= ' + libsoup_version), + gssdp_dep, + dependency('libxml-2.0'), + ] +-- +2.33.0 + diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix index c91d25123f61..32f7c201fad4 100644 --- a/pkgs/development/libraries/gupnp/default.nix +++ b/pkgs/development/libraries/gupnp/default.nix @@ -1,6 +1,6 @@ -{ lib, stdenv +{ stdenv +, lib , fetchurl -, fetchpatch , meson , ninja , pkg-config @@ -20,21 +20,18 @@ stdenv.mkDerivation rec { pname = "gupnp"; - version = "1.2.4"; + version = "1.4.0"; outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/gupnp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-96AwfqUfXkTRuDL0k92QRURKOk4hHvhd/Zql3W6up9E="; + sha256 = "sha256-WQ/7ArhNoqGuxo/VNLxArxs33T9iI/nRV3/EirSL428="; }; patches = [ - (fetchpatch { - name = "CVE-2021-33516.patch"; - url = "https://gitlab.gnome.org/GNOME/gupnp/-/commit/ca6ec9dcb26fd7a2a630eb6a68118659b589afac.patch"; - sha256 = "sha256-G7e/xNQB7Kp2fPzqVeD/cH3h1co9hZXh55QOUBnAnvU="; - }) + # Bring .pc file in line with our patched pkg-config. + ./0001-pkg-config-Declare-header-dependencies-as-public.patch ]; nativeBuildInputs = [ From 2e6cb043da269ac041ab3f49ac960003f7b9dd8b Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 20 Oct 2021 15:59:12 +0000 Subject: [PATCH 19/32] =?UTF-8?q?gupnp-dlna:=200.10.5=20=E2=86=92=200.12.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/gupnp-dlna/-/blob/gupnp-dlna-0.12.0/NEWS --- .../libraries/gupnp-dlna/default.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/gupnp-dlna/default.nix b/pkgs/development/libraries/gupnp-dlna/default.nix index f9efe352a84b..bd8e313cde2d 100644 --- a/pkgs/development/libraries/gupnp-dlna/default.nix +++ b/pkgs/development/libraries/gupnp-dlna/default.nix @@ -1,10 +1,13 @@ -{ lib, stdenv +{ stdenv +, lib , fetchurl +, meson +, ninja , pkg-config , gobject-introspection , vala , gtk-doc -, docbook_xsl +, docbook-xsl-nons , docbook_xml_dtd_412 , libxml2 , gst_all_1 @@ -13,21 +16,23 @@ stdenv.mkDerivation rec { pname = "gupnp-dlna"; - version = "0.10.5"; + version = "0.12.0"; outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"; + sha256 = "PVO5b4W8VijTPjZ+yb8q2zjvKzTXrQQ0proM9K2QSOY="; }; nativeBuildInputs = [ + meson + ninja pkg-config gobject-introspection vala gtk-doc - docbook_xsl + docbook-xsl-nons docbook_xml_dtd_412 ]; @@ -36,8 +41,8 @@ stdenv.mkDerivation rec { gst_all_1.gst-plugins-base ]; - configureFlags = [ - "--enable-gtk-doc" + mesonFlags = [ + "-Dgtk_doc=true" ]; doCheck = true; From d7ec4b30f792c6c3acd97c38606a99c04d1827ad Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 20 Oct 2021 15:59:16 +0000 Subject: [PATCH 20/32] =?UTF-8?q?gupnp-tools:=200.10.0=20=E2=86=92=200.10.?= =?UTF-8?q?1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/tools/networking/gupnp-tools/default.nix | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/gupnp-tools/default.nix b/pkgs/tools/networking/gupnp-tools/default.nix index c1861e33c081..cc547cfb7df9 100644 --- a/pkgs/tools/networking/gupnp-tools/default.nix +++ b/pkgs/tools/networking/gupnp-tools/default.nix @@ -1,5 +1,7 @@ -{ lib, stdenv +{ stdenv +, lib , fetchurl +, fetchpatch , meson , ninja , gupnp @@ -16,13 +18,26 @@ stdenv.mkDerivation rec { pname = "gupnp-tools"; - version = "0.10.0"; + version = "0.10.1"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "13d1qr1avz9r76989nvgxhhclmqzr025xjk4rfnja94fpbspznj1"; + sha256 = "TqltFnRis6VI78T8TqCJ/lGNfSm+NJ0czomCuf+1O0o="; }; + patches = [ + # Fix compilation with -Werror=format-security. + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gupnp-tools/commit/d738baae3bffaf6a8dfc12f5fe1ea13168fe2e48.patch"; + sha256 = "wrORH4y9Yb0YGAsjzoeN2MM07y9o+91kx078RH0G76w="; + }) + # Fix missing variable reference caused by the previous patch. + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gupnp-tools/commit/9b852d91175bc7607ad845459ba29d07a16fcbce.patch"; + sha256 = "WjEBN/+snJSIg4SUP5iChdj2auIyzePI0TH3Ilks7fk="; + }) + ]; + nativeBuildInputs = [ meson ninja From 90d5815b1c979683203de47184a4471146d9b105 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 24 Oct 2021 10:10:47 +0200 Subject: [PATCH 21/32] =?UTF-8?q?dleyna-core:=200.6.0=20=E2=86=92=200.7.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Abandoned by Intel, new upstream. https://github.com/phako/dleyna-core/compare/v0.6.0...v0.7.0 --- ...-connectors-in-DLEYNA_CONNECTOR_PATH.patch | 95 ------------------- .../libraries/dleyna-core/default.nix | 33 +++---- 2 files changed, 12 insertions(+), 116 deletions(-) delete mode 100644 pkgs/development/libraries/dleyna-core/0001-Search-connectors-in-DLEYNA_CONNECTOR_PATH.patch diff --git a/pkgs/development/libraries/dleyna-core/0001-Search-connectors-in-DLEYNA_CONNECTOR_PATH.patch b/pkgs/development/libraries/dleyna-core/0001-Search-connectors-in-DLEYNA_CONNECTOR_PATH.patch deleted file mode 100644 index cc50c1598005..000000000000 --- a/pkgs/development/libraries/dleyna-core/0001-Search-connectors-in-DLEYNA_CONNECTOR_PATH.patch +++ /dev/null @@ -1,95 +0,0 @@ -From bf549a028a5da122b7a4206529711b969c2ecd48 Mon Sep 17 00:00:00 2001 -From: Jan Tojnar -Date: Fri, 1 Sep 2017 13:49:06 +0200 -Subject: [PATCH] Search connectors in DLEYNA_CONNECTOR_PATH - -Previously, the connectors would only be looked for in a single -directory, specified during compilation. This patch allows to -traverse a list of directories provided by an environment variable. ---- - libdleyna/core/connector-mgr.c | 63 ++++++++++++++++++++++++++++-------------- - 1 file changed, 42 insertions(+), 21 deletions(-) - -diff --git a/libdleyna/core/connector-mgr.c b/libdleyna/core/connector-mgr.c -index eafb16c..8041c67 100644 ---- a/libdleyna/core/connector-mgr.c -+++ b/libdleyna/core/connector-mgr.c -@@ -34,33 +34,54 @@ const dleyna_connector_t *dleyna_connector_mgr_load(const gchar *name) - const dleyna_connector_t *connector; - dleyna_connector_get_interface_t get_interface; - gchar *path; -+ const gchar *connector_path; -+ gchar **connector_path_list; -+ gsize i; - - DLEYNA_LOG_DEBUG("Enter"); - -- path = g_strdup_printf("%s/%s%s.so", CONNECTOR_DIR, -- DLEYNA_CONNECTOR_LIB_PATTERN, name); -- module = g_module_open(path, G_MODULE_BIND_LAZY); -- g_free(path); -+ connector_path = g_getenv ("DLEYNA_CONNECTOR_PATH"); -+ if (!connector_path) { -+ DLEYNA_LOG_DEBUG ("DLEYNA_CONNECTOR_PATH not set"); -+ connector_path = CONNECTOR_DIR; -+ } else { -+ DLEYNA_LOG_DEBUG ("DLEYNA_CONNECTOR_PATH set to %s", connector_path); -+ } -+ -+ connector_path_list = g_strsplit (connector_path, G_SEARCHPATH_SEPARATOR_S, 0); -+ -+ for (i = 0; connector_path_list[i]; i++) { -+ path = g_strdup_printf("%s/%s%s.so", connector_path_list[i], -+ DLEYNA_CONNECTOR_LIB_PATTERN, name); -+ module = g_module_open(path, G_MODULE_BIND_LAZY); -+ g_free(path); -+ -+ if (module) { -+ if (!g_connectors) -+ g_connectors = g_hash_table_new(g_direct_hash, -+ g_direct_equal); -+ -+ if (g_module_symbol(module, "dleyna_connector_get_interface", -+ (gpointer *)&get_interface)) { -+ connector = get_interface(); -+ g_hash_table_insert(g_connectors, (gpointer)connector, -+ module); -+ -+ break; -+ } else { -+ connector = NULL; -+ g_module_close(module); -+ DLEYNA_LOG_CRITICAL( -+ "Connector '%s' entry point not found", -+ name); -+ } - -- if (module) { -- if (!g_connectors) -- g_connectors = g_hash_table_new(g_direct_hash, -- g_direct_equal); -- -- if (g_module_symbol(module, "dleyna_connector_get_interface", -- (gpointer *)&get_interface)) { -- connector = get_interface(); -- g_hash_table_insert(g_connectors, (gpointer)connector, -- module); -- } else { -- connector = NULL; -- g_module_close(module); -- DLEYNA_LOG_CRITICAL( -- "Connector '%s' entry point not found", -- name); - } -+ } - -- } else { -+ g_strfreev (connector_path_list); -+ -+ if (!module) { - connector = NULL; - DLEYNA_LOG_CRITICAL("Connector '%s' not found", name); - } --- -2.14.1 - diff --git a/pkgs/development/libraries/dleyna-core/default.nix b/pkgs/development/libraries/dleyna-core/default.nix index e8e384ac2a00..abb6178809f2 100644 --- a/pkgs/development/libraries/dleyna-core/default.nix +++ b/pkgs/development/libraries/dleyna-core/default.nix @@ -1,39 +1,30 @@ -{ lib, stdenv +{ stdenv +, lib , fetchFromGitHub -, fetchpatch -, autoreconfHook +, meson +, ninja , pkg-config , gupnp }: stdenv.mkDerivation rec { pname = "dleyna-core"; - version = "0.6.0"; + version = "0.7.0"; outputs = [ "out" "dev" ]; setupHook = ./setup-hook.sh; src = fetchFromGitHub { - owner = "01org"; + owner = "phako"; repo = pname; rev = "v${version}"; - sha256 = "1x5vj5zfk95avyg6g3nf6gar250cfrgla2ixj2ifn8pcick2d9vq"; + sha256 = "i4L9+iyAdBNtgImbD54jkjYL5hvzeZ2OaAyFrcFmuG0="; }; - patches = [ - ./0001-Search-connectors-in-DLEYNA_CONNECTOR_PATH.patch - - # fix build with gupnp 1.2 - # https://github.com/intel/dleyna-core/pull/52 - (fetchpatch { - url = "https://github.com/intel/dleyna-core/commit/41b2e56f67b6fc9c8c256b86957d281644b9b846.patch"; - sha256 = "1h758cp65v7qyfpvyqdri7q0gwx85mhdpkb2y8waq735q5q9ib39"; - }) - ]; - nativeBuildInputs = [ - autoreconfHook + meson + ninja pkg-config ]; @@ -43,9 +34,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Library of utility functions that are used by the higher level dLeyna"; - homepage = "https://01.org/dleyna"; - maintainers = [ maintainers.jtojnar ]; + homepage = "https://github.com/phako/dleyna-core"; + maintainers = with maintainers; [ jtojnar ]; platforms = platforms.linux; - license = licenses.lgpl21; + license = licenses.lgpl21Only; }; } From 1b809034d0f0cf297f220020666ab2659f45e51c Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 24 Oct 2021 10:15:55 +0200 Subject: [PATCH 22/32] =?UTF-8?q?dleyna-connector-dbus:=200.3.0=20?= =?UTF-8?q?=E2=86=92=200.4.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Abandoned by Intel, new upstream. https://github.com/phako/dleyna-connector-dbus/compare/v0.3.0...v0.4.1 --- .../dleyna-connector-dbus/default.nix | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/dleyna-connector-dbus/default.nix b/pkgs/development/libraries/dleyna-connector-dbus/default.nix index a24e0b8d0144..cbe34b871656 100644 --- a/pkgs/development/libraries/dleyna-connector-dbus/default.nix +++ b/pkgs/development/libraries/dleyna-connector-dbus/default.nix @@ -1,24 +1,40 @@ -{ lib, stdenv, autoreconfHook, pkg-config, fetchFromGitHub, dbus, dleyna-core, glib }: +{ stdenv +, lib +, meson +, ninja +, pkg-config +, fetchFromGitHub +, dleyna-core +, glib +}: stdenv.mkDerivation rec { pname = "dleyna-connector-dbus"; - version = "0.3.0"; + version = "0.4.1"; src = fetchFromGitHub { - owner = "01org"; + owner = "phako"; repo = pname; - rev = version; - sha256 = "0vziq5gwjm79yl2swch2mz6ias20nvfddf5cqgk9zbg25cb9m117"; + rev = "v${version}"; + sha256 = "WDmymia9MD3BRU6BOCzCIMrz9V0ACRzmEGqjbbuUmlA="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ dbus dleyna-core glib ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + dleyna-core + glib + ]; meta = with lib; { description = "A D-Bus API for the dLeyna services"; - homepage = "https://01.org/dleyna"; - maintainers = [ maintainers.jtojnar ]; + homepage = "https://github.com/phako/dleyna-connector-dbus"; + maintainers = with maintainers; [ jtojnar ]; platforms = platforms.linux; - license = licenses.lgpl21; + license = licenses.lgpl21Only; }; } From 3eeb9e70d06c2153f467e500bb4f9296c38333fc Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 24 Oct 2021 10:28:21 +0200 Subject: [PATCH 23/32] =?UTF-8?q?dleyna-renderer:=200.6.0=20=E2=86=92=200.?= =?UTF-8?q?7.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Abandoned by Intel, new upstream. https://github.com/phako/dleyna-renderer/compare/v0.6.0...v0.7.1 --- .../libraries/dleyna-renderer/default.nix | 37 ++--- .../libraries/dleyna-renderer/gupnp-1.2.diff | 130 ------------------ 2 files changed, 20 insertions(+), 147 deletions(-) delete mode 100644 pkgs/development/libraries/dleyna-renderer/gupnp-1.2.diff diff --git a/pkgs/development/libraries/dleyna-renderer/default.nix b/pkgs/development/libraries/dleyna-renderer/default.nix index 768af6a671a1..4c2fb00857e4 100644 --- a/pkgs/development/libraries/dleyna-renderer/default.nix +++ b/pkgs/development/libraries/dleyna-renderer/default.nix @@ -1,6 +1,8 @@ -{ lib, stdenv +{ stdenv +, lib , fetchFromGitHub -, autoreconfHook +, meson +, ninja , pkg-config , dleyna-connector-dbus , dleyna-core @@ -10,34 +12,35 @@ , gupnp-dlna , libsoup , makeWrapper +, docbook-xsl-nons +, libxslt }: stdenv.mkDerivation rec { pname = "dleyna-renderer"; - version = "0.6.0"; + version = "0.7.1"; src = fetchFromGitHub { - owner = "01org"; + owner = "phako"; repo = pname; - rev = version; - sha256 = "0jy54aq8hgrvzchrvfzqaj4pcn0cfhafl9bv8a9p6j82yjk4pvpp"; + rev = "v${version}"; + sha256 = "EaTE5teMkVDHoJuTLdqcsIL7OyM+tOz85T5D9V3KDoo="; }; - patches = [ - # fix build with gupnp 1.2 - # comes from arch linux packaging https://git.archlinux.org/svntogit/packages.git/tree/trunk/gupnp-1.2.diff?h=packages/dleyna-renderer - ./gupnp-1.2.diff - ]; - nativeBuildInputs = [ - autoreconfHook + meson + ninja pkg-config makeWrapper + + # manpage + docbook-xsl-nons + libxslt # for xsltproc ]; buildInputs = [ dleyna-core - dleyna-connector-dbus + dleyna-connector-dbus # runtime dependency to be picked up to DLEYNA_CONNECTOR_PATH gssdp gupnp gupnp-av @@ -52,9 +55,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Library to discover and manipulate Digital Media Renderers"; - homepage = "https://01.org/dleyna"; - maintainers = [ maintainers.jtojnar ]; + homepage = "https://github.com/phako/dleyna-renderer"; + maintainers = with maintainers; [ jtojnar ]; platforms = platforms.linux; - license = licenses.lgpl21; + license = licenses.lgpl21Only; }; } diff --git a/pkgs/development/libraries/dleyna-renderer/gupnp-1.2.diff b/pkgs/development/libraries/dleyna-renderer/gupnp-1.2.diff deleted file mode 100644 index 3255695ab23e..000000000000 --- a/pkgs/development/libraries/dleyna-renderer/gupnp-1.2.diff +++ /dev/null @@ -1,130 +0,0 @@ - configure.ac | 4 ++-- - libdleyna/renderer/device.c | 51 +++++++++++++++++++++++++++++++++++++++++++-- - libdleyna/renderer/upnp.c | 4 ++-- - 3 files changed, 53 insertions(+), 6 deletions(-) - -diff --git c/configure.ac i/configure.ac -index 271ee92..364659d 100644 ---- c/configure.ac -+++ i/configure.ac -@@ -38,8 +38,8 @@ LT_LANG([C]) - PKG_PROG_PKG_CONFIG(0.16) - PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.28]) - PKG_CHECK_MODULES([GIO], [gio-2.0 >= 2.28]) --PKG_CHECK_MODULES([GSSDP], [gssdp-1.0 >= 0.13.2]) --PKG_CHECK_MODULES([GUPNP], [gupnp-1.0 >= 0.20.5]) -+PKG_CHECK_MODULES([GSSDP], [gssdp-1.2 >= 1.2.0]) -+PKG_CHECK_MODULES([GUPNP], [gupnp-1.2 >= 1.2.0]) - PKG_CHECK_MODULES([GUPNPAV], [gupnp-av-1.0 >= 0.11.5]) - PKG_CHECK_MODULES([GUPNPDLNA], [gupnp-dlna-2.0 >= 0.9.4]) - PKG_CHECK_MODULES([SOUP], [libsoup-2.4 >= 2.28.2]) -diff --git c/libdleyna/renderer/device.c i/libdleyna/renderer/device.c -index 7acef89..f6d571e 100644 ---- c/libdleyna/renderer/device.c -+++ i/libdleyna/renderer/device.c -@@ -2121,33 +2121,80 @@ exit: - return; - } - -+typedef struct -+{ -+ GMainLoop *loop; -+ GUPnPServiceIntrospection *introspection; -+ GError **error; -+} GetIntrospectionAsyncData; -+ -+static void -+get_introspection_async_cb (GUPnPServiceInfo *info, -+ GUPnPServiceIntrospection *introspection, -+ const GError *error, -+ gpointer user_data) -+{ -+ GetIntrospectionAsyncData *data = user_data; -+ data->introspection = introspection; -+ if (data->error) -+ *data->error = g_error_copy (error); -+ g_main_loop_quit (data->loop); -+} -+ -+static GUPnPServiceIntrospection * -+_gupnp_service_info_get_introspection (GUPnPServiceInfo *info, -+ GError **error) -+{ -+ GetIntrospectionAsyncData data; -+ GMainContext *context; -+ -+ context = g_main_context_new (); -+ data.loop = g_main_loop_new (context, FALSE); -+ data.error = error; -+ -+ g_main_context_push_thread_default (context); -+ -+ gupnp_service_info_get_introspection_async (info, -+ get_introspection_async_cb, -+ &data); -+ -+ g_main_loop_run (data.loop); -+ -+ g_main_context_pop_thread_default (context); -+ -+ g_main_loop_unref (data.loop); -+ g_main_context_unref (context); -+ -+ return data.introspection; -+} -+ - static gboolean prv_get_av_service_states_values(GUPnPServiceProxy *av_proxy, - GVariant **mpris_tp_speeds, - GPtrArray **upnp_tp_speeds, - double *min_rate, - double *max_rate, - gboolean *can_get_byte_pos) - { - const GUPnPServiceStateVariableInfo *svi; - const GUPnPServiceActionInfo *sai; - GUPnPServiceIntrospection *introspection; - GError *error = NULL; - GVariant *speeds = NULL; - GList *allowed_values; - gpointer weak_ref = NULL; - gboolean device_alive = TRUE; - - /* TODO: this weak_ref hack is needed as - gupnp_service_info_get_introspection iterates the main loop. - This can result in our device getting deleted before this - function returns. Ultimately, this code needs to be re-written - to use gupnp_service_info_get_introspection_async but this cannot - really be done until GUPnP provides a way to cancel this function. */ - - weak_ref = av_proxy; - g_object_add_weak_pointer(G_OBJECT(av_proxy), &weak_ref); - -- introspection = gupnp_service_info_get_introspection( -+ introspection = _gupnp_service_info_get_introspection( - GUPNP_SERVICE_INFO(av_proxy), - &error); - -@@ -2215,7 +2262,7 @@ static gboolean prv_get_rc_service_states_values(GUPnPServiceProxy *rc_proxy, - weak_ref = rc_proxy; - g_object_add_weak_pointer(G_OBJECT(rc_proxy), &weak_ref); - -- introspection = gupnp_service_info_get_introspection( -+ introspection = _gupnp_service_info_get_introspection( - GUPNP_SERVICE_INFO(rc_proxy), - &error); - -diff --git c/libdleyna/renderer/upnp.c i/libdleyna/renderer/upnp.c -index 17cbda7..068912b 100644 ---- c/libdleyna/renderer/upnp.c -+++ i/libdleyna/renderer/upnp.c -@@ -243,8 +243,8 @@ static void prv_server_unavailable_cb(GUPnPControlPoint *cp, - - udn = gupnp_device_info_get_udn((GUPnPDeviceInfo *)proxy); - -- ip_address = gupnp_context_get_host_ip( -- gupnp_control_point_get_context(cp)); -+ ip_address = gssdp_client_get_host_ip( -+ GSSDP_CLIENT(gupnp_control_point_get_context(cp))); - - if (!udn || !ip_address) - goto on_error; From 00ba9c33985dd9f426879fc48e68317861c6c898 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 24 Oct 2021 10:31:07 +0200 Subject: [PATCH 24/32] =?UTF-8?q?dleyna-server:=200.6.0=20=E2=86=92=200.7.?= =?UTF-8?q?1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Abandoned by Intel, new upstream. https://github.com/phako/dleyna-server/compare/v0.6.0...v0.7.1 --- .../libraries/dleyna-server/default.nix | 35 ++++++++----------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/pkgs/development/libraries/dleyna-server/default.nix b/pkgs/development/libraries/dleyna-server/default.nix index a0a414abf748..559ac8666024 100644 --- a/pkgs/development/libraries/dleyna-server/default.nix +++ b/pkgs/development/libraries/dleyna-server/default.nix @@ -1,7 +1,8 @@ -{ lib, stdenv +{ stdenv +, lib , fetchFromGitHub -, fetchpatch -, autoreconfHook +, meson +, ninja , makeWrapper , pkg-config , dleyna-core @@ -15,33 +16,25 @@ stdenv.mkDerivation rec { pname = "dleyna-server"; - version = "0.6.0"; + version = "0.7.1"; src = fetchFromGitHub { - owner = "01org"; + owner = "phako"; repo = pname; - rev = version; - sha256 = "13a2i6ms27s46yxdvlh2zm7pim7jmr5cylnygzbliz53g3gxxl3j"; + rev = "v${version}"; + sha256 = "bScgwJGPrCaLrw67WnvSpINgq5Vv9LJ/I0MUP9BeO2E="; }; - patches = [ - # fix build with gupnp 1.2 - # https://github.com/intel/dleyna-server/pull/161 - (fetchpatch { - url = "https://github.com/intel/dleyna-server/commit/96c01c88363d6e5e9b7519bc4e8b5d86cf783e1f.patch"; - sha256 = "0p8fn331x2whvn6skxqvfzilx0m0yx2q5mm2wh2625l396m3fzmm"; - }) - ]; - nativeBuildInputs = [ - autoreconfHook + meson + ninja pkg-config makeWrapper ]; buildInputs = [ dleyna-core - dleyna-connector-dbus + dleyna-connector-dbus # runtime dependency to be picked up to DLEYNA_CONNECTOR_PATH gssdp gupnp gupnp-av @@ -56,9 +49,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Library to discover, browse and manipulate Digital Media Servers"; - homepage = "https://01.org/dleyna"; - maintainers = [ maintainers.jtojnar ]; + homepage = "https://github.com/phako/dleyna-server"; + maintainers = with maintainers; [ jtojnar ]; platforms = platforms.linux; - license = licenses.lgpl21; + license = licenses.lgpl21Only; }; } From a43ed763a640291960314ec73622a85e5cfcd095 Mon Sep 17 00:00:00 2001 From: ElXreno Date: Sun, 24 Oct 2021 17:04:33 +0300 Subject: [PATCH 25/32] bees: 0.6.5 -> 0.7 --- pkgs/tools/filesystems/bees/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/filesystems/bees/default.nix b/pkgs/tools/filesystems/bees/default.nix index c82ea23debd9..0837762fa443 100644 --- a/pkgs/tools/filesystems/bees/default.nix +++ b/pkgs/tools/filesystems/bees/default.nix @@ -14,13 +14,13 @@ let bees = stdenv.mkDerivation rec { pname = "bees"; - version = "0.6.5"; + version = "0.7"; src = fetchFromGitHub { owner = "Zygo"; repo = "bees"; rev = "v${version}"; - sha256 = "11ppbf23b8ngzfy02am0skxlybzmgsp6kna21jimb01x9pp1q7l7"; + sha256 = "sha256-hD6/pMRnQgPqL1M6QOuRka6ESJv9kjeKy+29nRMTY1o="; }; buildInputs = [ From 17547192a49bc12c37f79113f8e0be9a46f1e38f Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 24 Oct 2021 16:23:33 +0200 Subject: [PATCH 26/32] =?UTF-8?q?webkitgtk:=202.34.0=20=E2=86=92=202.34.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://webkitgtk.org/2021/10/21/webkitgtk2.34.1-released.html --- pkgs/development/libraries/webkitgtk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix index 23307b0f36b7..761c97510b76 100644 --- a/pkgs/development/libraries/webkitgtk/default.nix +++ b/pkgs/development/libraries/webkitgtk/default.nix @@ -65,7 +65,7 @@ assert enableGeoLocation -> geoclue2 != null; stdenv.mkDerivation rec { pname = "webkitgtk"; - version = "2.34.0"; + version = "2.34.1"; outputs = [ "out" "dev" ]; @@ -73,7 +73,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz"; - sha256 = "sha256-iAyO5ib2cBn2dVfKCeWaI+zyReYPYXMhXxqII8sJrzQ="; + sha256 = "sha256-RDwTFnBd4CR0F0joX+MjJNKZ2e5o5v6zQLieSgQHPe4="; }; patches = lib.optionals stdenv.isLinux [ From ef9b6b9cd0c63313651b3f905b8abe26967b5006 Mon Sep 17 00:00:00 2001 From: linsui Date: Sun, 24 Oct 2021 22:30:04 +0800 Subject: [PATCH 27/32] ring-daemon: remove --- .../ring-daemon/default.nix | 150 ------------------ .../ring-daemon/notestsapps.patch | 106 ------------- .../ring-daemon/restbed.nix | 38 ----- pkgs/top-level/all-packages.nix | 2 - 4 files changed, 296 deletions(-) delete mode 100644 pkgs/applications/networking/instant-messengers/ring-daemon/default.nix delete mode 100644 pkgs/applications/networking/instant-messengers/ring-daemon/notestsapps.patch delete mode 100644 pkgs/applications/networking/instant-messengers/ring-daemon/restbed.nix diff --git a/pkgs/applications/networking/instant-messengers/ring-daemon/default.nix b/pkgs/applications/networking/instant-messengers/ring-daemon/default.nix deleted file mode 100644 index 94e0dc9c8c2f..000000000000 --- a/pkgs/applications/networking/instant-messengers/ring-daemon/default.nix +++ /dev/null @@ -1,150 +0,0 @@ -{ lib, stdenv -, fetchgit -, which -, autoreconfHook -, pkg-config -, automake -, libtool -, pjsip -, libyamlcpp -, alsa-lib -, libpulseaudio -, libsamplerate -, libsndfile -, dbus -, dbus_cplusplus -, ffmpeg_3 -, udev -, pcre -, gsm -, speex -, boost -, opendht -, msgpack -, gnutls -, zlib -, jsoncpp -, xorg -, libargon2 -, cryptopp -, openssl -, perl -, python3 -, libupnp -, speexdsp -, fetchFromGitHub -, cmake -, asio -}: - -let - myPython = python3.withPackages (ps: with ps; [ - pygobject3 - dbus-python - ]); - - src = fetchgit { - url = "https://gitlab.savoirfairelinux.com/ring/ring-daemon.git"; - rev = "006b8dc7be08fe9beb68709af71004e7bc1ceb5c"; - sha256 = "0ih9g0rismrhx6nqcy3jqfbcs166grg0shnfmrnmykl9h0xy8z47"; - }; - - patchdir = "${src}/contrib/src"; - - restbed = import ./restbed.nix { - inherit stdenv lib fetchFromGitHub cmake asio openssl; - patches = [ - "${patchdir}/restbed/CMakeLists.patch" - "${patchdir}/restbed/strand.patch" - "${patchdir}/restbed/uri_cpp.patch" - "${patchdir}/restbed/dns-resolution-error.patch" - "${patchdir}/restbed/string.patch" - ]; - }; - - pjsip' = lib.overrideDerivation pjsip (old: { - patches = [ - "${patchdir}/pjproject/gnutls.patch" - ./notestsapps.patch # this one had to be modified - "${patchdir}/pjproject/fix_base64.patch" - "${patchdir}/pjproject/ipv6.patch" - "${patchdir}/pjproject/ice_config.patch" - "${patchdir}/pjproject/multiple_listeners.patch" - "${patchdir}/pjproject/pj_ice_sess.patch" - "${patchdir}/pjproject/fix_turn_fallback.patch" - "${patchdir}/pjproject/fix_ioqueue_ipv6_sendto.patch" - "${patchdir}/pjproject/add_dtls_transport.patch" - ]; - CFLAGS = "-g -DPJ_ICE_MAX_CAND=256 -DPJ_ICE_MAX_CHECKS=150 -DPJ_ICE_COMP_BITS=2 -DPJ_ICE_MAX_STUN=3 -DPJSIP_MAX_PKT_LEN=8000"; - }); -in -stdenv.mkDerivation { - pname = "ring-daemon"; - version = "2017-07-11"; - - inherit src; - - nativeBuildInputs = [ - which - autoreconfHook - automake - libtool - pkg-config - ]; - - buildInputs = [ - pjsip' - libyamlcpp - alsa-lib - libpulseaudio - libsamplerate - libsndfile - dbus - dbus_cplusplus - ffmpeg_3 - udev - pcre - gsm - speex - boost - opendht - msgpack - gnutls - zlib - jsoncpp - restbed - xorg.libX11 - libargon2 - cryptopp - openssl - perl - libupnp - speexdsp - ]; - - postInstall = '' - mkdir $out/bin - ln -s $out/lib/ring/dring $out/bin/dring - cp -R ./tools/dringctrl/ $out/ - substitute ./tools/dringctrl/dringctrl.py $out/dringctrl/dringctrl.py \ - --replace '#!/usr/bin/env python3' "#!${myPython}/bin/python3" - chmod +x $out/dringctrl/dringctrl.py - ln -s $out/dringctrl/dringctrl.py $out/bin/dringctrl.py - ''; - - meta = with lib; { - description = "A Voice-over-IP software phone"; - longDescription = '' - As the SIP/audio daemon and the user interface are separate processes, it - is easy to provide different user interfaces. GNU Ring comes with various - graphical user interfaces and even scripts to control the daemon from the - shell. - ''; - homepage = "https://ring.cx"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ taeer olynch ]; - platforms = platforms.linux; - # pjsip' fails to compile with the supplied patch set, see: https://hydra.nixos.org/build/68667921/nixlog/4 - broken = true; - }; -} diff --git a/pkgs/applications/networking/instant-messengers/ring-daemon/notestsapps.patch b/pkgs/applications/networking/instant-messengers/ring-daemon/notestsapps.patch deleted file mode 100644 index 842060935b04..000000000000 --- a/pkgs/applications/networking/instant-messengers/ring-daemon/notestsapps.patch +++ /dev/null @@ -1,106 +0,0 @@ -/* diff --git a/Makefile b/Makefile */ -/* index 33a4e6b..a486eb7 100644 */ -/* --- a/Makefile */ -/* +++ b/Makefile */ -/* @@ -4,7 +4,7 @@ include build/host-$(HOST_NAME).mak */ -/* include version.mak */ - -/* LIB_DIRS = pjlib/build pjlib-util/build pjnath/build third_party/build pjmedia/build pjsip/build */ -/* -DIRS = $(LIB_DIRS) pjsip-apps/build $(EXTRA_DIRS) */ -/* +DIRS = $(LIB_DIRS) $(EXTRA_DIRS) */ - -/* ifdef MINSIZE */ -/* MAKE_FLAGS := MINSIZE=1 */ -diff --git a/pjlib-util/build/Makefile b/pjlib-util/build/Makefile -index cb601cb..862a78a 100644 ---- a/pjlib-util/build/Makefile -+++ b/pjlib-util/build/Makefile -@@ -54,7 +54,6 @@ export UTIL_TEST_OBJS += xml.o encryption.o stun.o resolver_test.o test.o \ - export UTIL_TEST_CFLAGS += $(_CFLAGS) - export UTIL_TEST_CXXFLAGS += $(_CXXFLAGS) - export UTIL_TEST_LDFLAGS += $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS) --export UTIL_TEST_EXE:=pjlib-util-test-$(TARGET_NAME)$(HOST_EXE) - - - export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT -diff --git a/pjlib/build/Makefile b/pjlib/build/Makefile -index 1e64950..a75fa65 100644 ---- a/pjlib/build/Makefile -+++ b/pjlib/build/Makefile -@@ -56,7 +56,6 @@ export TEST_OBJS += activesock.o atomic.o echo_clt.o errno.o exception.o \ - export TEST_CFLAGS += $(_CFLAGS) - export TEST_CXXFLAGS += $(_CXXFLAGS) - export TEST_LDFLAGS += $(PJLIB_LDLIB) $(_LDFLAGS) --export TEST_EXE := pjlib-test-$(TARGET_NAME)$(HOST_EXE) - - - export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT -diff --git a/pjmedia/build/Makefile b/pjmedia/build/Makefile -index 8012cb7..2ca283a 100644 ---- a/pjmedia/build/Makefile -+++ b/pjmedia/build/Makefile -@@ -165,7 +165,6 @@ export PJMEDIA_TEST_LDFLAGS += $(PJMEDIA_CODEC_LDLIB) \ - $(PJLIB_UTIL_LDLIB) \ - $(PJNATH_LDLIB) \ - $(_LDFLAGS) --export PJMEDIA_TEST_EXE:=pjmedia-test-$(TARGET_NAME)$(HOST_EXE) - - - export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT -diff --git a/pjnath/build/Makefile b/pjnath/build/Makefile -index 1bc08b5..109f79b 100644 ---- a/pjnath/build/Makefile -+++ b/pjnath/build/Makefile -@@ -54,7 +54,6 @@ export PJNATH_TEST_OBJS += ice_test.o stun.o sess_auth.o server.o concur_test.o - export PJNATH_TEST_CFLAGS += $(_CFLAGS) - export PJNATH_TEST_CXXFLAGS += $(_CXXFLAGS) - export PJNATH_TEST_LDFLAGS += $(PJNATH_LDLIB) $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS) --export PJNATH_TEST_EXE:=pjnath-test-$(TARGET_NAME)$(HOST_EXE) - - - ############################################################################### -@@ -65,7 +64,6 @@ export PJTURN_CLIENT_OBJS += client_main.o - export PJTURN_CLIENT_CFLAGS += $(_CFLAGS) - export PJTURN_CLIENT_CXXFLAGS += $(_CXXFLAGS) - export PJTURN_CLIENT_LDFLAGS += $(PJNATH_LDLIB) $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS) --export PJTURN_CLIENT_EXE:=pjturn-client-$(TARGET_NAME)$(HOST_EXE) - - ############################################################################### - # Defines for building TURN server application -@@ -76,7 +74,6 @@ export PJTURN_SRV_OBJS += allocation.o auth.o listener_udp.o \ - export PJTURN_SRV_CFLAGS += $(_CFLAGS) - export PJTURN_SRV_CXXFLAGS += $(_CXXFLAGS) - export PJTURN_SRV_LDFLAGS += $(PJNATH_LDLIB) $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS) --export PJTURN_SRV_EXE:=pjturn-srv-$(TARGET_NAME)$(HOST_EXE) - - - -diff --git a/pjsip/build/Makefile b/pjsip/build/Makefile -index d2a5c2a..7e2ec60 100644 ---- a/pjsip/build/Makefile -+++ b/pjsip/build/Makefile -@@ -140,7 +140,7 @@ export PJSUA2_LIB_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ - account.o endpoint.o json.o persistent.o types.o \ - siptypes.o call.o presence.o media.o - export PJSUA2_LIB_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS) --export PJSUA2_LIB_CXXFLAGS = $(PJSUA2_LIB_CFLAGS) -+export PJSUA2_LIB_CXXFLAGS = $(_CXXFLAGS) $(PJ_VIDEO_CFLAGS) - export PJSUA2_LIB_LDFLAGS += $(PJSUA_LIB_LDLIB) \ - $(PJSIP_UA_LDLIB) \ - $(PJSIP_SIMPLE_LDLIB) \ -@@ -165,7 +165,6 @@ export PJSUA2_TEST_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ - export PJSUA2_TEST_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS) - export PJSUA2_TEST_CXXFLAGS = $(PJSUA2_LIB_CFLAGS) - export PJSUA2_TEST_LDFLAGS += $(PJ_LDXXFLAGS) $(PJ_LDXXLIBS) $(LDFLAGS) --export PJSUA2_TEST_EXE := pjsua2-test-$(TARGET_NAME)$(HOST_EXE) - - export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT - -@@ -195,7 +194,6 @@ export TEST_LDFLAGS += $(PJSIP_LDLIB) \ - $(PJLIB_UTIL_LDLIB) \ - $(PJNATH_LDLIB) \ - $(_LDFLAGS) --export TEST_EXE := pjsip-test-$(TARGET_NAME)$(HOST_EXE) - - - export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT diff --git a/pkgs/applications/networking/instant-messengers/ring-daemon/restbed.nix b/pkgs/applications/networking/instant-messengers/ring-daemon/restbed.nix deleted file mode 100644 index e2cdb1f05b0e..000000000000 --- a/pkgs/applications/networking/instant-messengers/ring-daemon/restbed.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, asio -, openssl -, patches -}: - -stdenv.mkDerivation { - pname = "restbed"; - version = "2016-09-15"; - - src = fetchFromGitHub { - owner = "Corvusoft"; - repo = "restbed"; - rev = "34187502642144ab9f749ab40f5cdbd8cb17a54a"; - sha256 = "1jb38331fcicyiisqdprhq6zwfc6g518fm3l4qw9aiv5k9nqim22"; - }; - - inherit patches; - - nativeBuildInputs = [ cmake ]; - buildInputs = [ asio openssl ]; - - meta = with lib; { - description = "HTTP framework for building networked applications"; - longDescription = '' - HTTP framework for building networked applications that require seamless - and secure communication, with the flexability to model a range of - business processes. Targeting mobile, tablet, desktop, and embedded - production environments. - ''; - homepage = "https://corvusoft.co.uk/"; - license = licenses.agpl3; - maintainers = with maintainers; [ taeer ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6bd2c55fc7e3..f8d9d3c12ccd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3477,8 +3477,6 @@ with pkgs; replay-sorcery = callPackage ../tools/video/replay-sorcery { }; - ring-daemon = callPackage ../applications/networking/instant-messengers/ring-daemon { }; - ripasso-cursive = callPackage ../tools/security/ripasso/cursive.nix { inherit (darwin.apple_sdk.frameworks) AppKit Security; }; From 0c2f2c746fdeb0e6168d42cab335231e2d21d0e6 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sun, 24 Oct 2021 20:01:41 +0200 Subject: [PATCH 28/32] intel-gmmlib: 21.3.1 -> 21.3.2 --- pkgs/development/libraries/intel-gmmlib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/intel-gmmlib/default.nix b/pkgs/development/libraries/intel-gmmlib/default.nix index de9bf8d97292..1304607b3175 100644 --- a/pkgs/development/libraries/intel-gmmlib/default.nix +++ b/pkgs/development/libraries/intel-gmmlib/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "intel-gmmlib"; - version = "21.3.1"; + version = "21.3.2"; src = fetchFromGitHub { owner = "intel"; repo = "gmmlib"; rev = "intel-gmmlib-${version}"; - sha256 = "0dzqfgbd0fxl8rxgf5nmj1jd4izzaqfb0s53l96qwz1j57q5ybj5"; + sha256 = "0whi7dmdv36d5l90yhjyv2raj2j165q82h7df9a6wf2abvsaqvdh"; }; nativeBuildInputs = [ cmake ]; From 69b1076982f636c73feabd3deb3bceed8b64a6f0 Mon Sep 17 00:00:00 2001 From: SuperSamus <40663462+SuperSamus@users.noreply.github.com> Date: Sun, 24 Oct 2021 20:17:55 +0200 Subject: [PATCH 29/32] duckstation: 2021-10-01 -> 2021-10-19 (#142741) Co-authored-by: Sandro --- pkgs/misc/emulators/duckstation/default.nix | 22 ++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/pkgs/misc/emulators/duckstation/default.nix b/pkgs/misc/emulators/duckstation/default.nix index e4cf7d89b3b8..eacbc2889019 100644 --- a/pkgs/misc/emulators/duckstation/default.nix +++ b/pkgs/misc/emulators/duckstation/default.nix @@ -15,16 +15,18 @@ , libpulseaudio , sndio , mesa +, vulkan-loader +, wayland }: mkDerivation rec { pname = "duckstation"; - version = "unstable-2021-10-01"; + version = "unstable-2021-10-19"; src = fetchFromGitHub { owner = "stenzek"; repo = pname; - rev = "a7096f033ecca48827fa55825fc0d0221265f1c2"; - sha256 = "sha256-e/Y1TJBuY76q3/0MCAqu9AJzLxIoJ8FJUV5vc/AgcjA="; + rev = "96f4fdf8d88ff3a120f3bc409a6a6487cdcbd55f"; + sha256 = "sha256-WWsi7kmFEYES2BoNKIFF1+lKHJGP3hbTZ9o3eWp+EcE="; }; nativeBuildInputs = [ cmake ninja pkg-config extra-cmake-modules wrapQtAppsHook qttools ]; @@ -38,11 +40,13 @@ mkDerivation rec { mesa curl libpulseaudio + wayland + vulkan-loader ]; cmakeFlags = [ - "-DUSE_DRMKMS=ON" - "-DUSE_EGL=ON" + #"-DUSE_DRMKMS=ON" # Broken in combination with Wayland, https://github.com/stenzek/duckstation/issues/2630 + "-DUSE_WAYLAND=ON" ]; postPatch = '' @@ -76,9 +80,13 @@ mkDerivation rec { runHook postCheck ''; + qtWrapperArgs = [ + "--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib" + ]; + # TODO: - # - vulkan graphics backend (OpenGL works). - # - default sound backend (cubeb) does not work, but SDL does. + # - default sound backend (cubeb) does not work, but SDL does. Strangely, switching to cubeb while a game is running makes it work. + meta = with lib; { description = "PlayStation 1 emulator focusing on playability, speed and long-term maintainability"; homepage = "https://github.com/stenzek/duckstation"; From 6c7a6bf895f86eb2ef263a42b0ef99ff6482098c Mon Sep 17 00:00:00 2001 From: linsui Date: Mon, 25 Oct 2021 00:25:19 +0800 Subject: [PATCH 30/32] jami: init 20211005.2.251ac7d Co-authored-by: doronbehar --- .../instant-messengers/jami/client-gnome.nix | 60 ++++++++ .../instant-messengers/jami/client-qt.nix | 59 ++++++++ .../jami/config/ffmpeg_args_common | 142 ++++++++++++++++++ .../jami/config/ffmpeg_args_linux | 18 +++ .../jami/config/ffmpeg_args_x86 | 10 ++ .../jami/config/ffmpeg_patches | 5 + .../jami/config/pjsip_patches | 20 +++ .../instant-messengers/jami/daemon.nix | 123 +++++++++++++++ .../instant-messengers/jami/default.nix | 41 +++++ .../jami/libclient-include-path.patch | 13 ++ .../instant-messengers/jami/libclient.nix | 48 ++++++ .../instant-messengers/jami/update.sh | 42 ++++++ pkgs/top-level/all-packages.nix | 7 + 13 files changed, 588 insertions(+) create mode 100644 pkgs/applications/networking/instant-messengers/jami/client-gnome.nix create mode 100644 pkgs/applications/networking/instant-messengers/jami/client-qt.nix create mode 100644 pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_common create mode 100644 pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_linux create mode 100644 pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_x86 create mode 100644 pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_patches create mode 100644 pkgs/applications/networking/instant-messengers/jami/config/pjsip_patches create mode 100644 pkgs/applications/networking/instant-messengers/jami/daemon.nix create mode 100644 pkgs/applications/networking/instant-messengers/jami/default.nix create mode 100644 pkgs/applications/networking/instant-messengers/jami/libclient-include-path.patch create mode 100644 pkgs/applications/networking/instant-messengers/jami/libclient.nix create mode 100755 pkgs/applications/networking/instant-messengers/jami/update.sh diff --git a/pkgs/applications/networking/instant-messengers/jami/client-gnome.nix b/pkgs/applications/networking/instant-messengers/jami/client-gnome.nix new file mode 100644 index 000000000000..019ffb468d27 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/jami/client-gnome.nix @@ -0,0 +1,60 @@ +{ version +, src +, jami-meta +, stdenv +, lib +, pkg-config +, cmake +, wrapQtAppsHook +, wrapGAppsHook +, gtk3-x11 +, networkmanager # for libnm +, libayatana-appindicator +, libnotify +, clutter-gtk +, libcanberra-gtk3 +, webkitgtk +, qrencode +, jami-libclient +, qttools +}: + +stdenv.mkDerivation { + pname = "jami-client-gnome"; + inherit version src; + + sourceRoot = "source/client-gnome"; + + preConfigure = '' + echo ${version} > version.txt + ''; + + nativeBuildInputs = [ + pkg-config + cmake + wrapGAppsHook + wrapQtAppsHook + ]; + # To spare double wrapping + dontWrapGApps = true; + preFixup = '' + qtWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + buildInputs = [ + qttools + jami-libclient + gtk3-x11 + networkmanager + libayatana-appindicator + libnotify + clutter-gtk + libcanberra-gtk3 + webkitgtk + qrencode + ]; + + meta = jami-meta // { + description = "The client based on GTK" + jami-meta.description; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/jami/client-qt.nix b/pkgs/applications/networking/instant-messengers/jami/client-qt.nix new file mode 100644 index 000000000000..0c952fd1ecad --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/jami/client-qt.nix @@ -0,0 +1,59 @@ +{ version +, src +, jami-meta +, mkDerivation +, lib +, pkg-config +, cmake +, networkmanager # for libnm +, python3 +, qttools # for translations +, wrapQtAppsHook +, libnotify +, qrencode +, qtwebengine +, qtdeclarative +, qtquickcontrols2 +, qtmultimedia +, qtsvg +, qtwebchannel +, qtgraphicaleffects # no gui without this +, jami-libclient +}: + +mkDerivation { + pname = "jami-client-qt"; + inherit version src; + + sourceRoot = "source/client-qt"; + + preConfigure = '' + python gen-resources.py + echo 'const char VERSION_STRING[] = "${version}";' > src/version.h + ''; + + nativeBuildInputs = [ + pkg-config + cmake + python3 + qttools + ]; + + buildInputs = [ + jami-libclient + networkmanager + libnotify + qrencode + qtwebengine + qtdeclarative + qtquickcontrols2 + qtmultimedia + qtsvg + qtwebchannel + qtgraphicaleffects + ]; + + meta = jami-meta // { + description = "The client based on QT" + jami-meta.description; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_common b/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_common new file mode 100644 index 000000000000..b611885a6117 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_common @@ -0,0 +1,142 @@ +--disable-everything +--enable-zlib +--enable-gpl +--enable-swscale +--enable-bsfs +--disable-filters +--disable-programs +--disable-postproc +--disable-protocols +--enable-protocol=crypto +--enable-protocol=file +--enable-protocol=rtp +--enable-protocol=srtp +--enable-protocol=tcp +--enable-protocol=udp +--enable-protocol=unix +--enable-protocol=pipe +--disable-demuxers +--disable-muxers +--enable-muxer=rtp +--enable-muxer=g722 +--enable-muxer=h263 +--enable-muxer=h264 +--enable-muxer=hevc +--enable-muxer=webm +--enable-muxer=ogg +--enable-muxer=pcm_s16be +--enable-muxer=pcm_s16le +--enable-demuxer=rtp +--enable-demuxer=mjpeg +--enable-demuxer=mjpeg_2000 +--enable-demuxer=mpegvideo +--enable-demuxer=gif +--enable-demuxer=image_jpeg_pipe +--enable-demuxer=image_png_pipe +--enable-demuxer=image_webp_pipe +--enable-demuxer=matroska +--enable-demuxer=m4v +--enable-demuxer=mp3 +--enable-demuxer=ogg +--enable-demuxer=flac +--enable-demuxer=wav +--enable-demuxer=ac3 +--enable-demuxer=g722 +--enable-demuxer=pcm_mulaw +--enable-demuxer=pcm_alaw +--enable-demuxer=pcm_s16be +--enable-demuxer=pcm_s16le +--enable-demuxer=h263 +--enable-demuxer=h264 +--enable-demuxer=hevc +--enable-parser=h263 +--enable-parser=h264 +--enable-parser=hevc +--enable-parser=mpeg4video +--enable-parser=vp8 +--enable-parser=vp9 +--enable-parser=opus +--enable-encoder=adpcm_g722 +--enable-decoder=adpcm_g722 +--enable-encoder=rawvideo +--enable-decoder=rawvideo +--enable-encoder=libx264 +--enable-decoder=h264 +--enable-encoder=pcm_alaw +--enable-decoder=pcm_alaw +--enable-encoder=pcm_mulaw +--enable-decoder=pcm_mulaw +--enable-encoder=mpeg4 +--enable-decoder=mpeg4 +--enable-encoder=libvpx_vp8 +--enable-decoder=vp8 +--enable-decoder=vp9 +--enable-encoder=h263 +--enable-encoder=h263p +--enable-decoder=h263 +--enable-encoder=mjpeg +--enable-decoder=mjpeg +--enable-decoder=mjpegb +--enable-libspeex +--enable-libopus +--enable-libvpx +--enable-libx264 +--enable-encoder=libspeex +--enable-decoder=libspeex +--enable-encoder=libopus +--enable-decoder=libopus +--enable-decoder=flac +--enable-decoder=vorbis +--enable-decoder=aac +--enable-decoder=ac3 +--enable-decoder=eac3 +--enable-decoder=mp3 +--enable-decoder=pcm_u24be +--enable-decoder=pcm_u24le +--enable-decoder=pcm_u32be +--enable-decoder=pcm_u32le +--enable-decoder=pcm_u8 +--enable-decoder=pcm_f16le +--enable-decoder=pcm_f24le +--enable-decoder=pcm_f32be +--enable-decoder=pcm_f32le +--enable-decoder=pcm_f64be +--enable-decoder=pcm_f64le +--enable-decoder=pcm_s16be +--enable-decoder=pcm_s16be_planar +--enable-decoder=pcm_s16le +--enable-decoder=pcm_s16le_planar +--enable-decoder=pcm_s24be +--enable-decoder=pcm_s24le +--enable-decoder=pcm_s24le_planar +--enable-decoder=pcm_s32be +--enable-decoder=pcm_s32le +--enable-decoder=pcm_s32le_planar +--enable-decoder=pcm_s64be +--enable-decoder=pcm_s64le +--enable-decoder=pcm_s8 +--enable-decoder=pcm_s8_planar +--enable-decoder=pcm_u16be +--enable-decoder=pcm_u16le +--enable-encoder=gif +--enable-decoder=gif +--enable-encoder=jpegls +--enable-decoder=jpegls +--enable-encoder=ljpeg +--enable-decoder=jpeg2000 +--enable-encoder=png +--enable-decoder=png +--enable-encoder=bmp +--enable-decoder=bmp +--enable-encoder=tiff +--enable-decoder=tiff +--enable-filter=scale +--enable-filter=overlay +--enable-filter=amix +--enable-filter=amerge +--enable-filter=aresample +--enable-filter=format +--enable-filter=aformat +--enable-filter=fps +--enable-filter=transpose +--enable-filter=pad diff --git a/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_linux b/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_linux new file mode 100644 index 000000000000..6c40e8d2ea99 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_linux @@ -0,0 +1,18 @@ +--enable-pic +--target-os=linux +--enable-indev=v4l2 +--enable-indev=xcbgrab +--enable-vdpau +--enable-hwaccel=h264_vdpau +--enable-hwaccel=mpeg4_vdpau +--enable-vaapi +--enable-hwaccel=h264_vaapi +--enable-hwaccel=mpeg4_vaapi +--enable-hwaccel=h263_vaapi +--enable-hwaccel=vp8_vaapi +--enable-hwaccel=mjpeg_vaapi +--enable-hwaccel=hevc_vaapi +--enable-encoder=h264_vaapi +--enable-encoder=vp8_vaapi +--enable-encoder=mjpeg_vaapi +--enable-encoder=hevc_vaapi diff --git a/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_x86 b/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_x86 new file mode 100644 index 000000000000..2043aa3ee2d3 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_args_x86 @@ -0,0 +1,10 @@ +--enable-cuvid +--enable-ffnvcodec +--enable-nvdec +--enable-nvenc +--enable-hwaccel=h264_nvdec +--enable-hwaccel=hevc_nvdec +--enable-hwaccel=vp8_nvdec +--enable-hwaccel=mjpeg_nvdec +--enable-encoder=h264_nvenc +--enable-encoder=hevc_nvenc diff --git a/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_patches b/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_patches new file mode 100644 index 000000000000..127e5b18f776 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/jami/config/ffmpeg_patches @@ -0,0 +1,5 @@ +remove-mjpeg-log.patch +change-RTCP-ratio.patch +rtp_ext_abs_send_time.patch +libopusdec-enable-FEC.patch +libopusenc-enable-FEC.patch diff --git a/pkgs/applications/networking/instant-messengers/jami/config/pjsip_patches b/pkgs/applications/networking/instant-messengers/jami/config/pjsip_patches new file mode 100644 index 000000000000..2e106289a962 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/jami/config/pjsip_patches @@ -0,0 +1,20 @@ +0001-rfc6544.patch +0002-rfc2466.patch +0003-add-tcp-keep-alive.patch +0004-multiple_listeners.patch +0005-fix_ebusy_turn.patch +0006-ignore_ipv6_on_transport_check.patch +0007-upnp-srflx-nat-assisted-cand.patch +0008-fix_ioqueue_ipv6_sendto.patch +0009-add-config-site.patch +0010-fix-tcp-death-detection.patch +0011-fix-turn-shutdown-crash.patch +0012-ignore-down-interfaces.patch +0013-ignore-addresses-for-RFC7335.patch +0014-fix-socket-leak.patch +0015-fix-socktype-and-duplicate-checking.patch +0016-use-larger-Ta-interval.patch +0017-auto-register-thread.patch +0018-fix-ioqueue-lock-acquire.patch +0019-resort-check-list-after-adding-prflx.patch +0020-avoid-immediate-nominating-triggered-check.patch diff --git a/pkgs/applications/networking/instant-messengers/jami/daemon.nix b/pkgs/applications/networking/instant-messengers/jami/daemon.nix new file mode 100644 index 000000000000..456ca85ed12c --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/jami/daemon.nix @@ -0,0 +1,123 @@ +{ src +, version +, jami-meta +, stdenv +, lib +, autoreconfHook +, pkg-config +, perl # for pod2man +, ffmpeg +, pjsip +, alsa-lib +, asio +, dbus +, dbus_cplusplus +, fmt +, gmp +, libarchive +, libgit2 +, libnatpmp +, secp256k1 +, openssl +, opendht +, speex +, webrtc-audio-processing +, jsoncpp +, gnutls +, zlib +, libyamlcpp +, libpulseaudio +, jack +, udev +, libupnp +, msgpack +, restinio +, http-parser +}: + +let + readLinesToList = with builtins; file: filter (s: isString s && stringLength s > 0) (split "\n" (readFile file)); + + ffmpeg-jami = ffmpeg.overrideAttrs (old: + let + patch-src = src + "/daemon/contrib/src/ffmpeg/"; + in + { + patches = old.patches ++ (map (x: patch-src + x) (readLinesToList ./config/ffmpeg_patches)); + configureFlags = old.configureFlags + ++ (readLinesToList ./config/ffmpeg_args_common) + ++ lib.optionals stdenv.isLinux (readLinesToList ./config/ffmpeg_args_linux) + ++ lib.optionals (stdenv.isx86_32 || stdenv.isx86_64) (readLinesToList ./config/ffmpeg_args_x86); + outputs = [ "out" "doc" ]; + }); + + pjsip-jami = pjsip.overrideAttrs (old: + let + patch-src = src + "/daemon/contrib/src/pjproject/"; + in + { + patches = old.patches ++ (map (x: patch-src + x) (readLinesToList ./config/pjsip_patches)); + }); + + opendht-jami = opendht.override { + enableProxyServerAndClient = true; + enablePushNotifications = true; + }; + +in stdenv.mkDerivation { + pname = "jami-daemon"; + inherit src version; + sourceRoot = "source/daemon"; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + perl + ]; + + buildInputs = [ + alsa-lib + asio + dbus + dbus_cplusplus + fmt + ffmpeg-jami + gmp + gnutls + libarchive + libgit2 + libnatpmp + opendht-jami + pjsip-jami + secp256k1 + openssl + speex + webrtc-audio-processing + zlib + libyamlcpp + jsoncpp + libpulseaudio + jack + opendht + libupnp + udev + msgpack + restinio + http-parser + ]; + + doCheck = false; # The tests fail to compile due to missing headers. + + enableParallelBuilding = true; + + passthru = { + updateScript = ./update.sh; + ffmpeg = ffmpeg-jami; + pjsip = pjsip-jami; + opendht = opendht-jami; + }; + + meta = jami-meta // { + description = "The daemon" + jami-meta.description; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/jami/default.nix b/pkgs/applications/networking/instant-messengers/jami/default.nix new file mode 100644 index 000000000000..ee9762a8f032 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/jami/default.nix @@ -0,0 +1,41 @@ +{ stdenv +, lib +, callPackage +, fetchzip +, jack +, udev +, libsForQt5 +}: + +rec { + version = "20211005.2.251ac7d"; + + src = fetchzip { + url = "https://dl.jami.net/release/tarballs/jami_${version}.tar.gz"; + sha256 = "12ppbwhnk5zajb73szd04sz80bp17q577bkb9j8p45apvq201db3"; + + stripRoot = false; + extraPostFetch = '' + cd $out + mv ring-project/* ./ + rm -r ring-project.rst ring-project client-android client-ios client-macosx client-uwp + rm daemon/contrib/tarballs/* + ''; + }; + + jami-meta = with lib; { + homepage = "https://jami.net/"; + description = " for Jami, the free and universal communication platform that respects the privacy and freedoms of its users"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = [ maintainers.linsui ]; + }; + + jami-daemon = callPackage ./daemon.nix { inherit version src udev jack jami-meta; }; + + jami-libclient = libsForQt5.callPackage ./libclient.nix { inherit version src jami-meta; }; + + jami-client-gnome = libsForQt5.callPackage ./client-gnome.nix { inherit version src jami-meta; }; + + jami-client-qt = libsForQt5.callPackage ./client-qt.nix { inherit version src jami-meta; }; +} diff --git a/pkgs/applications/networking/instant-messengers/jami/libclient-include-path.patch b/pkgs/applications/networking/instant-messengers/jami/libclient-include-path.patch new file mode 100644 index 000000000000..3ae017eb458b --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/jami/libclient-include-path.patch @@ -0,0 +1,13 @@ +diff --git i/CMakeLists.txt w/CMakeLists.txt +index 0ee77dba..767e19df 100644 +--- i/CMakeLists.txt ++++ w/CMakeLists.txt +@@ -635,7 +635,7 @@ if(ENABLE_SHARED) + ) + endif() + +-SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include) ++SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_FULL_INCLUDEDIR}) + + INSTALL( FILES ${libringclient_LIB_HDRS} ${libringclient_extra_LIB_HDRS} + DESTINATION ${INCLUDE_INSTALL_DIR}/libringclient diff --git a/pkgs/applications/networking/instant-messengers/jami/libclient.nix b/pkgs/applications/networking/instant-messengers/jami/libclient.nix new file mode 100644 index 000000000000..b5ea7431b915 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/jami/libclient.nix @@ -0,0 +1,48 @@ +{ version +, src +, jami-meta +, stdenv +, lib +, pkg-config +, cmake +, qtbase +, jami-daemon +}: + +stdenv.mkDerivation { + pname = "jami-libclient"; + inherit version src; + + sourceRoot = "source/lrc"; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + jami-daemon + ]; + + patches = [ + # Fix path to include dir when using split outputs + ./libclient-include-path.patch + ]; + + propagatedBuildInputs = [ + qtbase + ]; + outputs = [ "out" "dev" ]; + + cmakeFlags = [ + "-DRING_BUILD_DIR=${jami-daemon}/include" + "-DRING_XML_INTERFACES_DIR=${jami-daemon}/share/dbus-1/interfaces" + ]; + + dontWrapQtApps = true; + + meta = jami-meta // { + description = "The client library" + jami-meta.description; + license = lib.licenses.lgpl21Plus; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/jami/update.sh b/pkgs/applications/networking/instant-messengers/jami/update.sh new file mode 100755 index 000000000000..22233a81bf8d --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/jami/update.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p coreutils curl gnused common-updater-scripts + +set -e + +jami_dir="$( dirname "${BASH_SOURCE[0]}" )" + +# Update src version and hash +version=$(curl -s 'https://dl.jami.net/release/tarballs/?C=M;O=D' | sed -n -E 's/^.*jami_([0-9.a-f]+)\.tar\.gz.*$/\1/p' | head -n 1) +update-source-version jami-libclient "$version" --file=pkgs/applications/networking/instant-messengers/jami/default.nix + +src=$(nix-build --no-out-link -A jami-libclient.src) + +config_dir="$jami_dir/config" +mkdir -p $config_dir + +ffmpeg_rules="${src}/daemon/contrib/src/ffmpeg/rules.mak" + +# Update FFmpeg patches +ffmpeg_patches=$(sed -n '/.sum-ffmpeg:/,/HAVE_IOS/p' ${ffmpeg_rules} | sed -n -E 's/.*ffmpeg\/(.*patch).*/\1/p') +echo -e "Patches for FFmpeg:\n${ffmpeg_patches}\n" +echo "${ffmpeg_patches}" > "$config_dir/ffmpeg_patches" + +# Update FFmpeg args +ffmpeg_args_common=$(sed -n '/#disable everything/,/#platform specific options/p' ${ffmpeg_rules} | sed -n -E 's/.*(--[0-9a-z=_-]+).*/\1/p') +echo -e "Common args for FFmpeg:\n${ffmpeg_args_common}\n" +echo "${ffmpeg_args_common}" > "$config_dir/ffmpeg_args_common" + +ffmpeg_args_linux1=$(sed -n '/ifdef HAVE_LINUX/,/ifdef HAVE_ANDROID/p' ${ffmpeg_rules} | sed -n -E 's/.*(--[0-9a-z=_-]+).*/\1/p') +ffmpeg_args_linux2=$(sed -n '/# Desktop Linux/,/i386 x86_64/p' ${ffmpeg_rules} | sed -n -E 's/.*(--[0-9a-z=_-]+).*/\1/p') +echo -e "Linux args for FFmpeg:\n${ffmpeg_args_linux1}\n${ffmpeg_args_linux2}\n" +echo "${ffmpeg_args_linux1}" > "$config_dir/ffmpeg_args_linux" +echo "${ffmpeg_args_linux2}" >> "$config_dir/ffmpeg_args_linux" + +ffmpeg_args_x86=$(sed -n '/i386 x86_64/,/# End Desktop Linux:/p' ${ffmpeg_rules} | sed -n -E 's/.*(--[0-9a-z=_-]+).*/\1/p') +echo -e "x86 args for FFmpeg:\n${ffmpeg_args_x86}\n" +echo "${ffmpeg_args_x86}" > "$config_dir/ffmpeg_args_x86" + +# Update pjsip patches +pjsip_patches=$(sed -n '/UNPACK/,/HAVE_ANDROID/p' ${src}/daemon/contrib/src/pjproject/rules.mak | sed -n -E 's/.*pjproject\/(00.*patch).*/\1/p') +echo -e "Patches for pjsip:\n${pjsip_patches}\n" +echo "${pjsip_patches}" > "$config_dir/pjsip_patches" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f8d9d3c12ccd..9752d3aa1bf3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -33173,6 +33173,13 @@ with pkgs; btcdeb = callPackage ../applications/blockchains/btcdeb { }; + inherit (callPackage ../applications/networking/instant-messengers/jami { + # TODO: remove once `udev` is `systemdMinimal` everywhere. + udev = systemdMinimal; + jack = libjack2; + }) + jami-daemon jami-libclient jami-client-gnome jami-client-qt; + jitsi-meet-electron = callPackage ../applications/networking/instant-messengers/jitsi-meet-electron { electron = electron_13; }; From 86d572c86a58b96b70b0f82c49278d6339c7500c Mon Sep 17 00:00:00 2001 From: joachimschmidt557 Date: Sun, 24 Oct 2021 17:01:22 +0200 Subject: [PATCH 31/32] mpd: 0.22.11 -> 0.23.2, activate pipewire --- pkgs/servers/mpd/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix index f4fa1320c944..95ac59cec2ba 100644 --- a/pkgs/servers/mpd/default.nix +++ b/pkgs/servers/mpd/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, glib, systemd, boost +{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, glib, systemd, boost, fmt # Darwin inputs , AudioToolbox, AudioUnit # Inputs @@ -11,7 +11,7 @@ # Filters , libsamplerate # Outputs -, alsa-lib, libjack2, libpulseaudio, libshout +, alsa-lib, libjack2, libpulseaudio, libshout, pipewire # Misc , icu, sqlite, avahi, dbus, pcre, libgcrypt, expat # Services @@ -65,6 +65,7 @@ let # Output plugins alsa = [ alsa-lib ]; jack = [ libjack2 ]; + pipewire = [ pipewire ]; pulse = [ libpulseaudio ]; shout = [ libshout ]; # Commercial services @@ -116,18 +117,19 @@ let in stdenv.mkDerivation rec { pname = "mpd"; - version = "0.22.11"; + version = "0.23.2"; src = fetchFromGitHub { owner = "MusicPlayerDaemon"; repo = "MPD"; rev = "v${version}"; - sha256 = "sha256-X+FnZ5W1p9GuOSIxTSp1Yok+kKsLjNPOKZkJSCYk8kM="; + sha256 = "sha256-gn06t8S0hh5xe5V1vnXVHSb0FwxY40onUV+Bt7oL9ic="; }; buildInputs = [ glib boost + fmt # According to the configurePhase of meson, gtest is considered a # runtime dependency. Quoting: # From 3c3998ee91f35705241f1f4df892a62a3bf92af5 Mon Sep 17 00:00:00 2001 From: inty Date: Fri, 8 Oct 2021 18:58:15 +0000 Subject: [PATCH 32/32] pythonPackages.powerlineMemSegment: kebab-case --- pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python-packages.nix | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index bf85ffe07ffa..f53f4543319a 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -57,6 +57,7 @@ mapAliases ({ MechanicalSoup = mechanicalsoup; # added 2021-06-01 pam = python-pam; # added 2020-09-07. PasteDeploy = pastedeploy; + powerlineMemSegment = powerline-mem-segment; privacyidea = throw "renamed to pkgs.privacyidea"; # added 2021-06-20 prometheus_client = prometheus-client; # added 2021-06-10 prompt_toolkit = prompt-toolkit; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 71ce88d4672f..4d9c1ffc0d4a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5845,7 +5845,7 @@ in { powerline = callPackage ../development/python-modules/powerline { }; - powerlineMemSegment = callPackage ../development/python-modules/powerline-mem-segment { }; + powerline-mem-segment = callPackage ../development/python-modules/powerline-mem-segment { }; pox = callPackage ../development/python-modules/pox { };