nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 mkDerivation,
4 fetchFromGitHub,
5 qmake,
6 pkg-config,
7 udev,
8 qtmultimedia,
9 qtscript,
10 qtserialport,
11 alsa-lib,
12 ola,
13 libftdi1,
14 libusb-compat-0_1,
15 libsndfile,
16 libmad,
17 udevCheckHook,
18}:
19
20mkDerivation rec {
21 pname = "qlcplus";
22 version = "4.13.1";
23
24 src = fetchFromGitHub {
25 owner = "mcallegari";
26 repo = "qlcplus";
27 rev = "QLC+_${version}";
28 sha256 = "sha256-AKmPxHOlMtea3q0NDULp3XfJ0JnYeF/iFUJw0dDOiio=";
29 };
30
31 nativeBuildInputs = [
32 qmake
33 pkg-config
34 udevCheckHook
35 ];
36 buildInputs = [
37 udev
38 qtmultimedia
39 qtscript
40 qtserialport
41 alsa-lib
42 ola
43 libftdi1
44 libusb-compat-0_1
45 libsndfile
46 libmad
47 ];
48
49 qmakeFlags = [ "INSTALLROOT=$(out)" ];
50
51 postPatch = ''
52 patchShebangs .
53 sed -i -e '/unix:!macx:INSTALLROOT += \/usr/d' \
54 -e "s@\$\$LIBSDIR/qt4/plugins@''${qtPluginPrefix}@" \
55 -e "s@/etc/udev/rules.d@''${out}/lib/udev/rules.d@" \
56 variables.pri
57
58 # Fix gcc-13 build failure by removing blanket -Werror.
59 fgrep Werror variables.pri
60 substituteInPlace variables.pri --replace-fail "QMAKE_CXXFLAGS += -Werror" ""
61 '';
62
63 enableParallelBuilding = true;
64
65 doInstallCheck = true;
66
67 postInstall = ''
68 ln -sf $out/lib/*/libqlcplus* $out/lib
69 '';
70
71 meta = with lib; {
72 description = "Free and cross-platform software to control DMX or analog lighting systems like moving heads, dimmers, scanners etc";
73 maintainers = [ ];
74 license = licenses.asl20;
75 platforms = platforms.all;
76 homepage = "https://www.qlcplus.org/";
77 };
78}