1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 pkg-config,
7 ninja,
8 opencv,
9 SDL2,
10 gtk3,
11 catch2_3,
12 spdlog,
13 exiv2,
14 wrapGAppsHook3,
15}:
16
17stdenv.mkDerivation rec {
18 pname = "xpano";
19 version = "0.19.3";
20
21 src = fetchFromGitHub {
22 owner = "krupkat";
23 repo = "xpano";
24 rev = "v${version}";
25 sha256 = "sha256-f2qoBpZ5lPBocPas8KMsY5bSYL20gO+ZHLz2R66qSig=";
26 fetchSubmodules = true;
27 };
28
29 nativeBuildInputs = [
30 cmake
31 ninja
32 pkg-config
33 wrapGAppsHook3
34 ];
35
36 buildInputs = [
37 opencv
38 SDL2
39 gtk3
40 spdlog
41 exiv2
42 ];
43
44 checkInputs = [
45 catch2_3
46 ];
47
48 doCheck = true;
49
50 cmakeFlags = [
51 "-DBUILD_TESTING=ON"
52 "-DXPANO_INSTALL_DESKTOP_FILES=ON"
53 ];
54
55 meta = {
56 description = "Panorama stitching tool";
57 mainProgram = "Xpano";
58 homepage = "https://krupkat.github.io/xpano/";
59 changelog = "https://github.com/krupkat/xpano/releases/tag/v${version}";
60 license = lib.licenses.gpl3Plus;
61 maintainers = with lib.maintainers; [ krupkat ];
62 platforms = lib.platforms.linux;
63 };
64}