Unverified Commit 2d720355 authored by Aleksana's avatar Aleksana Committed by GitHub
Browse files

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

parents dc3b2f42 c47a37d0
Loading
Loading
Loading
Loading
+46 −38
Original line number Diff line number Diff line
@@ -5,40 +5,45 @@
  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;
  };

  patches = [
    # fix from: https://github.com/Komet/MediaElch/pull/1878
    (fetchpatch {
      url = "https://github.com/Komet/MediaElch/commit/dbea12fbf2c1fe603819392aa2a181cffa168548.patch";
      hash = "sha256-Lv6rvjKbRNr5XrdZhPyw4S4RRCOnfAGhWgcSLo0gqS8=";
    })
  ];

  nativeBuildInputs = [
    cmake
    qttools
    wrapQtAppsHook
    qt'.qttools
    qt'.wrapQtAppsHook
  ];

  buildInputs =
@@ -47,29 +52,22 @@ stdenv.mkDerivation rec {
      ffmpeg
      libmediainfo
      libzen
      qtbase
      qtdeclarative
      qtmultimedia
      qtsvg
      qtwayland
      quazip
      qt'.qtbase
      qt'.qtdeclarative
      qt'.qtmultimedia
      qt'.qtsvg
      qt'.qtwayland
      qt'.quazip
    ]
    ++ lib.optionals (qtVersion == "6") [
      qt5compat
    ];

  patches = [
    # fix from: https://github.com/Komet/MediaElch/pull/1878
    (fetchpatch {
      url = "https://github.com/Komet/MediaElch/commit/dbea12fbf2c1fe603819392aa2a181cffa168548.patch";
      hash = "sha256-Lv6rvjKbRNr5XrdZhPyw4S4RRCOnfAGhWgcSLo0gqS8=";
    })
    ++ 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
Original line number Diff line number Diff line
@@ -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 { };