Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 stdenv,
4 fetchurl,
5 meson,
6 ninja,
7 pkg-config,
8 python3,
9 bash-completion,
10 gst-plugins-base,
11 gst-plugins-bad,
12 gst-devtools,
13 libxml2,
14 flex,
15 gettext,
16 gobject-introspection,
17 # Checks meson.is_cross_build(), so even canExecute isn't enough.
18 enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform,
19 hotdoc,
20 directoryListingUpdater,
21 apple-sdk_gstreamer,
22}:
23
24stdenv.mkDerivation (finalAttrs: {
25 pname = "gst-editing-services";
26 version = "1.26.0";
27
28 outputs = [
29 "out"
30 "dev"
31 ];
32
33 src = fetchurl {
34 url = "https://gstreamer.freedesktop.org/src/gst-editing-services/gst-editing-services-${finalAttrs.version}.tar.xz";
35 hash = "sha256-r1sn9ck2MCc3IQDKwLrxkFUoBynfHMWN1ORU72mOsf8=";
36 };
37
38 nativeBuildInputs = [
39 meson
40 ninja
41 pkg-config
42 gettext
43 gobject-introspection
44 python3
45 flex
46 ]
47 ++ lib.optionals enableDocumentation [
48 hotdoc
49 ];
50
51 buildInputs = [
52 bash-completion
53 libxml2
54 gst-devtools
55 python3
56 ]
57 ++ lib.optionals stdenv.hostPlatform.isDarwin [
58 apple-sdk_gstreamer
59 ];
60
61 propagatedBuildInputs = [
62 gst-plugins-base
63 gst-plugins-bad
64 ];
65
66 mesonFlags = [
67 (lib.mesonEnable "doc" enableDocumentation)
68 ];
69
70 postPatch = ''
71 patchShebangs \
72 scripts/extract-release-date-from-doap-file.py
73 '';
74
75 passthru = {
76 updateScript = directoryListingUpdater { };
77 };
78
79 meta = with lib; {
80 description = "Library for creation of audio/video non-linear editors";
81 mainProgram = "ges-launch-1.0";
82 homepage = "https://gstreamer.freedesktop.org";
83 license = licenses.lgpl2Plus;
84 platforms = platforms.unix;
85 maintainers = [ ];
86 };
87})