1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
{
lib,
stdenv,
fetchurl,
dpkg,
makeWrapper,
buildFHSEnv,
gtk3,
gdk-pixbuf,
cairo,
libjpeg_original,
glib,
pango,
libGLU,
libGL,
nvidia_cg_toolkit,
zlib,
openssl,
libuuid,
alsa-lib,
udev,
libjack2,
freetype,
libva,
libvdpau,
twolame,
gmp,
libdrm,
libpulseaudio,
sndio,
}:
let
fullPath = lib.makeLibraryPath [
stdenv.cc.cc
gtk3
gdk-pixbuf
cairo
libjpeg_original
glib
pango
libGL
libGLU
nvidia_cg_toolkit
zlib
openssl
libuuid
alsa-lib
libjack2
udev
freetype
libva
libvdpau
twolame
gmp
libdrm
libpulseaudio
sndio
];
lightworks = stdenv.mkDerivation rec {
version = "2025.2";
rev = "56356";
pname = "lightworks";
src =
if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
url = "https://cdn.lwks.com/releases/${version}/Lightworks-${version}-${rev}.deb";
sha256 = "sha256-MQsXl10I85qHiOosBEpdrLPq3iIiFlzumQv2R2sXNn8=";
}
else
throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}";
nativeBuildInputs = [
dpkg
makeWrapper
];
installPhase = ''
mkdir -p $out/bin
substitute usr/bin/lightworks $out/bin/lightworks \
--replace "/usr/lib/lightworks" "$out/lib/lightworks"
chmod +x $out/bin/lightworks
cp -r usr/lib $out
# /usr/share/fonts is not normally searched
# This adds it to lightworks' search path while keeping the default
# using the FONTCONFIG_FILE env variable
echo "<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'urn:fontconfig:fonts.dtd'>
<fontconfig>
<dir>/usr/share/fonts/truetype</dir>
<include>/etc/fonts/fonts.conf</include>
</fontconfig>" > $out/lib/lightworks/fonts.conf
patchelf \
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$out/lib/lightworks/ntcardvt
wrapProgram $out/lib/lightworks/ntcardvt \
--prefix LD_LIBRARY_PATH : $out/lib/lightworks:${fullPath} \
--set FONTCONFIG_FILE $out/lib/lightworks/fonts.conf
cp -r usr/share $out/share
'';
dontPatchELF = true;
};
in
# Lightworks expects some files in /usr/share/lightworks
buildFHSEnv {
inherit (lightworks) pname version;
targetPkgs = pkgs: [ lightworks ];
runScript = "lightworks";
meta = {
description = "Professional Non-Linear Video Editor";
homepage = "https://www.lwks.com/";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
mainProgram = "lightworks";
maintainers = with lib.maintainers; [
antonxy
vojta001
kashw2
tombert
];
platforms = [ "x86_64-linux" ];
};
}
|