parabolic: 2024.5.0 -> 2025.1.4 (#378350)
[NixPkgs.git] / pkgs / applications / video / qstopmotion / default.nix
blob6d28bc8417a279b590bcdc8153ccc6a0406486d5
2   lib,
3   stdenv,
4   mkDerivation,
5   fetchurl,
6   qtbase,
7   qtmultimedia,
8   qtquickcontrols,
9   qtimageformats,
10   qtxmlpatterns,
11   ffmpeg,
12   guvcview,
13   cmake,
14   ninja,
15   libxml2,
16   gettext,
17   pkg-config,
18   libgphoto2,
19   gphoto2,
20   v4l-utils,
21   libv4l,
22   pcre,
23   qwt,
24   extra-cmake-modules,
27 mkDerivation rec {
28   pname = "qstopmotion";
29   version = "2.5.2";
31   src = fetchurl {
32     url = "mirror://sourceforge/project/${pname}/Version_${
33       builtins.replaceStrings [ "." ] [ "_" ] version
34     }/${pname}-${version}-Source.tar.gz";
35     sha256 = "sha256-jyBUyadkSuQKXOrr5XZ1jy6of1Qw8S2HPxuOrPc7RnE=";
36   };
38   buildInputs = [
39     qtbase
40     qtmultimedia
41     qtquickcontrols
42     qtimageformats
43     qtxmlpatterns
44     v4l-utils
45     libv4l
46     pcre
47     guvcview
48     qwt
49   ];
51   nativeBuildInputs = [
52     pkg-config
53     cmake
54     extra-cmake-modules
55     ninja
56     gettext
57     libgphoto2
58     gphoto2
59     libxml2
60     libv4l
61   ];
63   patchPhase = ''
64     substituteInPlace CMakeLists.txt \
65       --replace "find_package(Qt5 REQUIRED COMPONENTS Core Widgets Xml" \
66                 "find_package(Qt5 REQUIRED COMPONENTS Core Widgets Xml Multimedia"
67     grep -rl 'qwt' . | xargs sed -i 's@<qwt/qwt_slider.h>@<qwt_slider.h>@g'
68   '';
70   qtWrapperArgs = [
71     "--prefix"
72     "PATH"
73     ":"
74     (lib.makeBinPath [ ffmpeg ])
75   ];
77   meta = with lib; {
78     homepage = "http://www.qstopmotion.org";
79     description = "Create stopmotion animation with a (web)camera";
80     longDescription = ''
81       Qstopmotion is a tool to create stopmotion
82       animation. Its users are able to create stop-motions from pictures
83       imported from a camera or from the harddrive and export the
84       animation to different video formats such as mpeg or avi.
85     '';
87     license = lib.licenses.gpl2Plus;
88     maintainers = [ maintainers.leenaars ];
89     broken = stdenv.hostPlatform.isAarch64;
90     platforms = lib.platforms.gnu ++ lib.platforms.linux;
91     mainProgram = "qstopmotion";
92   };