nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchurl,
5 fetchpatch,
6 pkg-config,
7 file,
8 glibmm,
9 gst_all_1,
10 gnome,
11 apple-sdk_gstreamer,
12}:
13
14stdenv.mkDerivation rec {
15 pname = "gstreamermm";
16 version = "1.10.0";
17
18 src = fetchurl {
19 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
20 sha256 = "0q4dx9sncqbwgpzma0zvj6zssc279yl80pn8irb95qypyyggwn5y";
21 };
22
23 patches = [
24 (fetchpatch {
25 name = "${pname}-${version}.fix-build-against-glib-2.68.patch";
26 url = "https://gitlab.gnome.org/GNOME/gstreamermm/-/commit/37116547fb5f9066978e39b4cf9f79f2154ad425.patch";
27 sha256 = "sha256-YHtmOiOl4POwas3eWHsew3IyGK7Aq22MweBm3JPwyBM=";
28 })
29 ];
30
31 outputs = [
32 "out"
33 "dev"
34 ];
35
36 buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
37 apple-sdk_gstreamer
38 ];
39
40 nativeBuildInputs = [
41 pkg-config
42 file
43 ];
44
45 propagatedBuildInputs = [
46 glibmm
47 gst_all_1.gst-plugins-base
48 ];
49
50 enableParallelBuilding = true;
51
52 passthru = {
53 updateScript = gnome.updateScript {
54 attrPath = "gst_all_1.gstreamermm";
55 packageName = "gstreamermm";
56 versionPolicy = "odd-unstable";
57 };
58 };
59
60 meta = {
61 description = "C++ interface for GStreamer";
62 homepage = "https://gstreamer.freedesktop.org/bindings/cplusplus.html";
63 license = lib.licenses.lgpl21Plus;
64 platforms = lib.platforms.linux;
65 maintainers = with lib.maintainers; [ romildo ];
66 };
67
68}