diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index eb935fbdd41d..b06f3f43f154 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9077,6 +9077,12 @@ githubId = 5759930; name = "Alexis Destrez"; }; + krupkat = { + github = "krupkat"; + githubId = 6817216; + name = "Tomas Krupka"; + matrix = "@krupkat:matrix.org"; + }; ktf = { email = "giulio.eulisse@cern.ch"; github = "ktf"; diff --git a/pkgs/applications/graphics/xpano/default.nix b/pkgs/applications/graphics/xpano/default.nix new file mode 100644 index 000000000000..a2ecaec7c37a --- /dev/null +++ b/pkgs/applications/graphics/xpano/default.nix @@ -0,0 +1,66 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, pkg-config +, ninja +, opencv +, SDL2 +, gtk3 +, catch2_3 +, spdlog +, exiv2 +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "xpano"; + version = "0.16.1"; + + src = fetchFromGitHub { + owner = "krupkat"; + repo = pname; + rev = "v${version}"; + sha256 = "1f95spf7bbbdvbr4gqfyrs161049jj1wnkvf5wgsd0ga3vb15mcj"; + fetchSubmodules = true; + }; + + patches = [ + # force install desktop + icon files + ./skip_prefix_check.patch + ]; + + nativeBuildInputs = [ + cmake + ninja + pkg-config + wrapGAppsHook + ]; + + buildInputs = [ + opencv + SDL2 + gtk3 + spdlog + # exiv2 # TODO: enable when 0.28.0 is available + ]; + + checkInputs = [ + catch2_3 + ]; + + doCheck = true; + + cmakeFlags = [ + "-DBUILD_TESTING=ON" + ]; + + meta = with lib; { + description = "A panorama stitching tool"; + homepage = "https://krupkat.github.io/xpano/"; + changelog = "https://github.com/krupkat/xpano/releases/tag/v${version}"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ krupkat ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/xpano/skip_prefix_check.patch b/pkgs/applications/graphics/xpano/skip_prefix_check.patch new file mode 100644 index 000000000000..496cbc718bef --- /dev/null +++ b/pkgs/applications/graphics/xpano/skip_prefix_check.patch @@ -0,0 +1,18 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -167,7 +167,6 @@ install(FILES + TYPE BIN + ) + +-if(CMAKE_INSTALL_PREFIX MATCHES "^/usr.*|^/app.*") + install(FILES + "misc/build/linux/xpano.desktop" + DESTINATION "${CMAKE_INSTALL_PREFIX}/share/applications" +@@ -184,7 +183,6 @@ if(CMAKE_INSTALL_PREFIX MATCHES "^/usr.*|^/app.*") + "misc/build/linux/cz.krupkat.Xpano.metainfo.xml" + DESTINATION "${CMAKE_INSTALL_PREFIX}/share/metainfo" + ) +-endif() + + install(DIRECTORY + "${CMAKE_SOURCE_DIR}/misc/assets" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0aa30d1e5611..8fd8e05a97ec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -36308,6 +36308,8 @@ with pkgs; xnotify = callPackage ../tools/X11/xnotify { }; + xpano = callPackage ../applications/graphics/xpano { }; + xv = callPackage ../applications/graphics/xv { }; xygrib = libsForQt5.callPackage ../applications/misc/xygrib { };