From 0eca8fc28775eb05d6d00220eb332e37a4626647 Mon Sep 17 00:00:00 2001 From: Gautier DI FOLCO Date: Sun, 5 Jan 2025 16:21:31 +0100 Subject: [PATCH] gerbera: 1.12.1 -> 2.3.0 (#343086) --- .../manual/release-notes/rl-2505.section.md | 2 + pkgs/by-name/ge/gerbera/package.nix | 44 ++++++++++--------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2505.section.md b/nixos/doc/manual/release-notes/rl-2505.section.md index 36da1cce2346..7044d6315f89 100644 --- a/nixos/doc/manual/release-notes/rl-2505.section.md +++ b/nixos/doc/manual/release-notes/rl-2505.section.md @@ -358,6 +358,8 @@ - `programs.fzf.keybindings` now supports the fish shell. +- `gerbera` now has wavpack support. + ```{=include=} sections diff --git a/pkgs/by-name/ge/gerbera/package.nix b/pkgs/by-name/ge/gerbera/package.nix index 6f8a3686801b..0df7921246d3 100644 --- a/pkgs/by-name/ge/gerbera/package.nix +++ b/pkgs/by-name/ge/gerbera/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, cmake, pkg-config, nixosTests, @@ -14,6 +13,7 @@ spdlog, sqlite, zlib, + fmt_11, # options enableMysql ? false, libmysqlclient, @@ -38,6 +38,8 @@ ffmpegthumbnailer, enableInotifyTools ? true, inotify-tools, + wavpack, + enableWavPack ? false, }: let @@ -107,37 +109,38 @@ let enable = enableTaglib; packages = [ taglib ]; } + { + name = "WAVPACK"; + enable = enableWavPack; + packages = [ wavpack ]; + } ]; - inherit (lib) flatten optionals; + inherit (lib) flatten; in stdenv.mkDerivation rec { pname = "gerbera"; - version = "1.12.1"; + version = "2.3.0"; src = fetchFromGitHub { repo = "gerbera"; owner = "gerbera"; rev = "v${version}"; - sha256 = "sha256-j5J0u0zIjHY2kP5P8IzN2h+QQSCwsel/iTspad6V48s="; + sha256 = "sha256-SUMXnVCmrxoEbKKuzh+b7uvIanxilvpDDiH5ihjAm38="; }; - patches = [ - # Can be removed on the next bump, see: - # https://github.com/gerbera/gerbera/pull/2840. - (fetchpatch { - name = "gerbera-fmt10.patch"; - url = "https://github.com/gerbera/gerbera/commit/37957aac0aea776e6f843af2358916f81056a405.patch"; - hash = "sha256-U7dyFGEbelVZeHYX/4fLOC0k+9pUKZ8qP/LIVXWCMcU="; - }) - ]; - - postPatch = lib.optionalString enableMysql '' - substituteInPlace cmake/FindMySQL.cmake \ - --replace /usr/include/mysql ${lib.getDev libmysqlclient}/include/mariadb \ - --replace /usr/lib/mysql ${lib.getLib libmysqlclient}/lib/mariadb - ''; + postPatch = + let + mysqlPatch = lib.optionalString enableMysql '' + substituteInPlace cmake/FindMySQL.cmake \ + --replace /usr/include/mysql ${lib.getDev libmysqlclient}/include/mariadb \ + --replace /usr/lib/mysql ${lib.getLib libmysqlclient}/lib/mariadb + ''; + in + '' + ${mysqlPatch} + ''; cmakeFlags = [ # systemd service will be generated alongside the service @@ -157,6 +160,7 @@ stdenv.mkDerivation rec { spdlog sqlite zlib + fmt_11 ] ++ flatten (builtins.catAttrs "packages" (builtins.filter (e: e.enable) options)); passthru.tests = { inherit (nixosTests) mediatomb; }; @@ -164,7 +168,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://docs.gerbera.io/"; changelog = "https://github.com/gerbera/gerbera/releases/tag/v${version}"; - description = "UPnP Media Server for 2020"; + description = "UPnP Media Server for 2024"; longDescription = '' Gerbera is a Mediatomb fork. It allows to stream your digital media through your home network and consume it on all kinds