mediaelch: move to by-name and clean up (#414670)

This commit is contained in:
Aleksana
2025-07-05 19:11:13 +08:00
committed by GitHub
2 changed files with 53 additions and 46 deletions
@@ -5,59 +5,33 @@
fetchpatch,
cmake,
qttools,
wrapQtAppsHook,
curl,
ffmpeg,
libmediainfo,
libzen,
qt5compat ? null, # qt6 only
qtbase,
qtdeclarative,
qtmultimedia,
qtsvg,
qtwayland,
quazip,
libsForQt5,
qt6Packages,
qtVersion ? 6,
}:
let
qtVersion = lib.versions.major qtbase.version;
qt' = if qtVersion == 5 then libsForQt5 else qt6Packages;
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "mediaelch";
version = "2.12.0";
src = fetchFromGitHub {
owner = "Komet";
repo = "MediaElch";
rev = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-m2d4lnyD8HhhqovMdeG36dMK+4kJA7rlPHE2tlhfevo=";
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
qttools
wrapQtAppsHook
];
buildInputs =
[
curl
ffmpeg
libmediainfo
libzen
qtbase
qtdeclarative
qtmultimedia
qtsvg
qtwayland
quazip
]
++ lib.optionals (qtVersion == "6") [
qt5compat
];
patches = [
# fix from: https://github.com/Komet/MediaElch/pull/1878
(fetchpatch {
@@ -66,10 +40,34 @@ stdenv.mkDerivation rec {
})
];
nativeBuildInputs = [
cmake
qt'.qttools
qt'.wrapQtAppsHook
];
buildInputs =
[
curl
ffmpeg
libmediainfo
libzen
qt'.qtbase
qt'.qtdeclarative
qt'.qtmultimedia
qt'.qtsvg
qt'.qtwayland
qt'.quazip
]
++ lib.optionals (qtVersion == 6) [
qt'.qt5compat
];
cmakeFlags = [
"-DDISABLE_UPDATER=ON"
"-DUSE_EXTERN_QUAZIP=ON"
"-DMEDIAELCH_FORCE_QT${qtVersion}=ON"
(lib.cmakeBool "DISABLE_UPDATER" true)
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck or false)
(lib.cmakeBool "MEDIAELCH_FORCE_QT${toString qtVersion}" true)
(lib.cmakeBool "USE_EXTERN_QUAZIP" true)
];
# libmediainfo.so.0 is loaded dynamically
@@ -77,12 +75,22 @@ stdenv.mkDerivation rec {
"--prefix LD_LIBRARY_PATH : ${libmediainfo}/lib"
];
meta = with lib; {
env = {
HOME = "/tmp"; # for the font cache
LANG = "C.UTF-8";
QT_QPA_PLATFORM = "offscreen"; # the tests require a UI
};
doCheck = true;
checkTarget = "unit_test"; # the other tests require network connectivity
meta = {
homepage = "https://mediaelch.de/mediaelch/";
description = "Media Manager for Kodi";
mainProgram = "MediaElch";
license = licenses.lgpl3Only;
maintainers = with maintainers; [ stunkymonkey ];
platforms = platforms.linux;
license = lib.licenses.lgpl3Only;
maintainers = with lib.maintainers; [ stunkymonkey ];
platforms = lib.platforms.linux;
};
}
})
+2 -3
View File
@@ -13063,9 +13063,8 @@ with pkgs;
mbrola-voices = callPackage ../applications/audio/mbrola/voices.nix { };
mediaelch = mediaelch-qt5;
mediaelch-qt5 = libsForQt5.callPackage ../applications/misc/mediaelch { };
mediaelch-qt6 = qt6Packages.callPackage ../applications/misc/mediaelch { };
mediaelch-qt5 = callPackage ../by-name/me/mediaelch/package.nix { qtVersion = 5; };
mediaelch-qt6 = mediaelch;
melmatcheq.lv2 = callPackage ../applications/audio/melmatcheq.lv2 { };