Unverified Commit 3d4bb1b3 authored by Rick van Schijndel's avatar Rick van Schijndel Committed by GitHub
Browse files

nomacs-qt6: init (master + plugins) (#359160)

parents 75269b26 cf887a6a
Loading
Loading
Loading
Loading
+66 −32
Original line number Diff line number Diff line
{ lib
, cmake
, exiv2
, fetchFromGitHub
, libraw
, libsForQt5
, libtiff
, opencv4
, pkg-config
, stdenv
{
  lib,
  cmake,
  exiv2,
  fetchFromGitHub,
  libraw,
  libsForQt5,
  kdePackages,
  libtiff,
  opencv4,
  pkg-config,
  stdenv,
  qtVersion ? 5,
}:

let
  myQt = if qtVersion == 5 then libsForQt5 else kdePackages;
  inherit (myQt) wrapQtAppsHook;
in
stdenv.mkDerivation (finalAttrs: {
  pname = "nomacs";
  version = "3.19.1";
  hash = "sha256-NRwZ/ShJaLCMFv7QdfRoJY5zQFo18cAVWGRpS3ap3Rw=";

  src = fetchFromGitHub {
    owner = "nomacs";
    repo = "nomacs";
    rev = finalAttrs.version;
    fetchSubmodules = false; # We'll use our own
    hash = "sha256-NRwZ/ShJaLCMFv7QdfRoJY5zQFo18cAVWGRpS3ap3Rw=";
    inherit (finalAttrs) hash;
  };

  plugins = fetchFromGitHub {
    owner = "novomesk";
    repo = "nomacs-plugins";
    rev = "40d0f7089b7f108077dac5dede52e8a303b243b3";
    hash = "sha256-7+JMmHaTvWjVTkLwXGtQHnoaC/3vK7haCzNvVIZ9F/g=";
  };

  outputs = [ "out" ]
  outputs =
    [ "out" ]
    # man pages are not installed on Darwin, see cmake/{Mac,Unix}BuildTarget.cmake
    ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ "man" ];

  sourceRoot = "${finalAttrs.src.name}/ImageLounge";

  postUnpack = ''
    rm -rf $sourceRoot/plugins
    mkdir $sourceRoot/plugins
    cp -r ${finalAttrs.plugins}/* $sourceRoot/plugins/
    chmod -R +w $sourceRoot/plugins
  '';

  nativeBuildInputs = [
    cmake
    libsForQt5.wrapQtAppsHook
    wrapQtAppsHook
    pkg-config
  ];

  buildInputs = [
  buildInputs =
    [
      exiv2
      libraw
      libtiff
@@ -42,7 +65,8 @@ stdenv.mkDerivation (finalAttrs: {
      # note `dev` is selected by `mkDerivation` automatically, so one should omit `getOutput "dev"`;
      # see: https://github.com/NixOS/nixpkgs/pull/314186#issuecomment-2129974277
      (lib.getOutput "cxxdev" opencv4)
  ] ++ (with libsForQt5; [
    ]
    ++ (with myQt; [
      kimageformats
      qtbase
      qtimageformats
@@ -65,6 +89,13 @@ stdenv.mkDerivation (finalAttrs: {
    mv $out/nomacs.app $out/Applications/nomacs.app
    mv $out/libnomacsCore.dylib $out/lib/libnomacsCore.dylib
  '';
  # FIXME:
  # why can't we have nomacs look in the "standard" plugin directory???
  # None of the wrap stuff worked...
  # Let's just instead move the plugin dir brute force
  postFixup = ''
    mv $out/lib/nomacs-plugins $out/bin/plugins
  '';

  meta = {
    homepage = "https://nomacs.org";
@@ -88,7 +119,10 @@ stdenv.mkDerivation (finalAttrs: {
    changelog = "https://github.com/nomacs/nomacs/releases/tag/${finalAttrs.src.rev}";
    license = with lib.licenses; [ gpl3Plus ];
    mainProgram = "nomacs";
    maintainers = with lib.maintainers; [ mindavi ];
    inherit (libsForQt5.qtbase.meta) platforms;
    maintainers = with lib.maintainers; [
      mindavi
      ppenguin
    ];
    inherit (myQt.qtbase.meta) platforms;
  };
})
+2 −0
Original line number Diff line number Diff line
@@ -4419,6 +4419,8 @@ with pkgs;
    nomad_1_9
    ;
  nomacs-qt6 = nomacs.override { qtVersion = 6; };
  nth = with python3Packages; toPythonApplication name-that-hash;
  nvchecker = with python3Packages; toPythonApplication (