commit
c846ede763
@ -1,16 +1,40 @@
|
|||||||
{ stdenv, fetchurl, fetchpatch, meson, ninja, gettext
|
{ stdenv
|
||||||
|
, fetchurl
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, gettext
|
||||||
, config
|
, config
|
||||||
, pkgconfig, python3, gst-plugins-base, orc
|
, pkgconfig
|
||||||
|
, python3
|
||||||
|
, gst-plugins-base
|
||||||
|
, orc
|
||||||
, gobject-introspection
|
, gobject-introspection
|
||||||
, enableZbar ? true
|
, enableZbar ? true
|
||||||
, faacSupport ? false, faac ? null
|
, faacSupport ? false
|
||||||
, faad2, libass, libkate, libmms, librdf, ladspaH
|
, faac ? null
|
||||||
, libnice, webrtc-audio-processing, lilv, lv2, serd, sord, sratom
|
, faad2
|
||||||
, libbs2b, libmodplug, mpeg2dec
|
, libass
|
||||||
, openjpeg, libopus, librsvg
|
, libkate
|
||||||
|
, libmms
|
||||||
|
, librdf
|
||||||
|
, ladspaH
|
||||||
|
, libnice
|
||||||
|
, webrtc-audio-processing
|
||||||
|
, lilv
|
||||||
|
, lv2
|
||||||
|
, serd
|
||||||
|
, sord
|
||||||
|
, sratom
|
||||||
|
, libbs2b
|
||||||
|
, libmodplug
|
||||||
|
, mpeg2dec
|
||||||
|
, openjpeg
|
||||||
|
, libopus
|
||||||
|
, librsvg
|
||||||
, bluez
|
, bluez
|
||||||
, chromaprint
|
, chromaprint
|
||||||
, curl
|
, curl
|
||||||
|
, darwin
|
||||||
, directfb
|
, directfb
|
||||||
, fdk_aac
|
, fdk_aac
|
||||||
, flite
|
, flite
|
||||||
@ -27,7 +51,7 @@
|
|||||||
, libusb1
|
, libusb1
|
||||||
, neon
|
, neon
|
||||||
, openal
|
, openal
|
||||||
, opencv3
|
, opencv4
|
||||||
, openexr
|
, openexr
|
||||||
, openh264
|
, openh264
|
||||||
, pango
|
, pango
|
||||||
@ -38,10 +62,20 @@
|
|||||||
, srtp
|
, srtp
|
||||||
, zbar
|
, zbar
|
||||||
, wayland-protocols
|
, wayland-protocols
|
||||||
, wildmidi, fluidsynth, libvdpau, wayland
|
, wildmidi
|
||||||
, libwebp, xvidcore, gnutls, mjpegtools
|
, fluidsynth
|
||||||
, libGLU_combined, libintl, libgme
|
, libvdpau
|
||||||
, openssl, x265, libxml2
|
, wayland
|
||||||
|
, libwebp
|
||||||
|
, xvidcore
|
||||||
|
, gnutls
|
||||||
|
, mjpegtools
|
||||||
|
, libGLU_combined
|
||||||
|
, libintl
|
||||||
|
, libgme
|
||||||
|
, openssl
|
||||||
|
, x265
|
||||||
|
, libxml2
|
||||||
, srt
|
, srt
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -49,113 +83,127 @@ assert faacSupport -> faac != null;
|
|||||||
|
|
||||||
let
|
let
|
||||||
inherit (stdenv.lib) optional optionals;
|
inherit (stdenv.lib) optional optionals;
|
||||||
in
|
in stdenv.mkDerivation rec {
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "gst-plugins-bad";
|
pname = "gst-plugins-bad";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Gstreamer Bad Plugins";
|
|
||||||
homepage = "https://gstreamer.freedesktop.org";
|
|
||||||
longDescription = ''
|
|
||||||
a set of plug-ins that aren't up to par compared to the
|
|
||||||
rest. They might be close to being good quality, but they're missing
|
|
||||||
something - be it a good code review, some documentation, a set of tests,
|
|
||||||
a real live maintainer, or some actual wide use.
|
|
||||||
'';
|
|
||||||
license = licenses.lgpl2Plus;
|
|
||||||
platforms = platforms.linux ++ platforms.darwin;
|
|
||||||
maintainers = with maintainers; [ matthewbauer ];
|
|
||||||
};
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
patchShebangs .
|
|
||||||
'';
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
./fix_pkgconfig_includedir.patch
|
|
||||||
# Remove when https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/312 is merged and available to us
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/99790eaad9083cce5ab2b1646489e1a1c0faad1e.patch";
|
|
||||||
sha256 = "11bqy4sl05qq5mj4bx5s09rq106s3j0vnpjl4np058im32j69lr3";
|
|
||||||
})
|
|
||||||
# Remove when https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/312 is merged and available to us
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/1872da81c48d3a719bd39955fd97deac7d037d74.patch";
|
|
||||||
sha256 = "11zwrr5ggflmvr0qfssj7dmhgd3ybiadmy79b4zh24022zgw3xpz";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "${meta.homepage}/src/gst-plugins-bad/${pname}-${version}.tar.xz";
|
|
||||||
sha256 = "019b0yqjrcg6jmfd4cc336h1bz5p4wxl58yz1c4sdb96avirs4r2";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
|
sha256 = "1dddqacxgp77f3nl153x5a6139wdphc9phds2fpqb2cv6faiqj2n";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./fix_pkgconfig_includedir.patch
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson ninja pkgconfig python3 gettext gobject-introspection
|
meson
|
||||||
]
|
ninja
|
||||||
++ optionals stdenv.isLinux [
|
pkgconfig
|
||||||
|
python3
|
||||||
|
gettext
|
||||||
|
gobject-introspection
|
||||||
|
] ++ optionals stdenv.isLinux [
|
||||||
wayland-protocols
|
wayland-protocols
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gst-plugins-base orc
|
gst-plugins-base
|
||||||
faad2 libass libkate libmms
|
orc
|
||||||
libnice webrtc-audio-processing # webrtc
|
faad2
|
||||||
|
libass
|
||||||
|
libkate
|
||||||
|
libmms
|
||||||
|
webrtc-audio-processing # webrtc
|
||||||
libbs2b
|
libbs2b
|
||||||
ladspaH librdf # ladspa plug-in
|
libmodplug
|
||||||
lilv lv2 serd sord sratom # lv2 plug-in
|
mpeg2dec
|
||||||
libmodplug mpeg2dec
|
openjpeg
|
||||||
openjpeg libopus librsvg
|
libopus
|
||||||
bluez
|
librsvg
|
||||||
chromaprint
|
|
||||||
curl.dev
|
curl.dev
|
||||||
directfb
|
|
||||||
fdk_aac
|
fdk_aac
|
||||||
flite
|
|
||||||
gsm
|
gsm
|
||||||
libaom
|
libaom
|
||||||
libdc1394
|
libdc1394
|
||||||
libde265
|
libde265
|
||||||
libdrm
|
|
||||||
libdvdnav
|
libdvdnav
|
||||||
libdvdread
|
libdvdread
|
||||||
libgudev
|
|
||||||
libofa
|
|
||||||
libsndfile
|
libsndfile
|
||||||
libusb1
|
libusb1
|
||||||
|
mjpegtools
|
||||||
neon
|
neon
|
||||||
openal
|
openal
|
||||||
opencv3
|
opencv4
|
||||||
openexr
|
openexr
|
||||||
openh264
|
openh264
|
||||||
rtmpdump
|
rtmpdump
|
||||||
pango
|
pango
|
||||||
sbc
|
|
||||||
soundtouch
|
soundtouch
|
||||||
spandsp
|
|
||||||
srtp
|
srtp
|
||||||
fluidsynth libvdpau
|
fluidsynth
|
||||||
libwebp xvidcore gnutls libGLU_combined
|
libvdpau
|
||||||
libgme openssl x265 libxml2
|
libwebp
|
||||||
|
xvidcore
|
||||||
|
gnutls
|
||||||
|
libGLU_combined
|
||||||
|
libgme
|
||||||
|
openssl
|
||||||
|
x265
|
||||||
|
libxml2
|
||||||
libintl
|
libintl
|
||||||
srt
|
srt
|
||||||
]
|
] ++ optionals enableZbar [
|
||||||
++ optional enableZbar zbar
|
zbar
|
||||||
++ optional faacSupport faac
|
] ++ optionals faacSupport [
|
||||||
++ optional stdenv.isLinux wayland
|
faac
|
||||||
|
] ++ optionals stdenv.isLinux [
|
||||||
|
bluez
|
||||||
|
wayland
|
||||||
|
] ++ optionals (!stdenv.isDarwin) [
|
||||||
# wildmidi requires apple's OpenAL
|
# wildmidi requires apple's OpenAL
|
||||||
# TODO: package apple's OpenAL, fix wildmidi, include on Darwin
|
# TODO: package apple's OpenAL, fix wildmidi, include on Darwin
|
||||||
++ optional (!stdenv.isDarwin) wildmidi
|
wildmidi
|
||||||
# TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin
|
# TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin
|
||||||
++ optional (!stdenv.isDarwin) mjpegtools;
|
mjpegtools
|
||||||
|
|
||||||
|
chromaprint
|
||||||
|
directfb
|
||||||
|
flite
|
||||||
|
libdrm
|
||||||
|
libgudev
|
||||||
|
libnice
|
||||||
|
libofa
|
||||||
|
librdf
|
||||||
|
sbc
|
||||||
|
spandsp
|
||||||
|
|
||||||
|
# ladspa plug-in
|
||||||
|
ladspaH
|
||||||
|
librdf # TODO: make build on Darwin
|
||||||
|
|
||||||
|
# lv2 plug-in
|
||||||
|
lilv
|
||||||
|
lv2
|
||||||
|
serd
|
||||||
|
sord
|
||||||
|
sratom
|
||||||
|
] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
|
||||||
|
# For unknown reasons the order is important, e.g. if
|
||||||
|
# VideoToolbox is last, we get:
|
||||||
|
# fatal error: 'VideoToolbox/VideoToolbox.h' file not found
|
||||||
|
VideoToolbox
|
||||||
|
AudioToolbox
|
||||||
|
AVFoundation
|
||||||
|
CoreMedia
|
||||||
|
CoreVideo
|
||||||
|
Foundation
|
||||||
|
MediaToolbox
|
||||||
|
]);
|
||||||
|
|
||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
# Enables all features, so that we know when new dependencies are necessary.
|
|
||||||
"-Dauto_features=enabled"
|
|
||||||
|
|
||||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||||
|
|
||||||
"-Ddts=disabled" # required `libdca` library not packaged in nixpkgs as of writing, and marked as "BIG FAT WARNING: libdca is still in early development"
|
"-Ddts=disabled" # required `libdca` library not packaged in nixpkgs as of writing, and marked as "BIG FAT WARNING: libdca is still in early development"
|
||||||
@ -191,10 +239,50 @@ stdenv.mkDerivation rec {
|
|||||||
# see https://github.com/NixOS/nixpkgs/issues/54395
|
# see https://github.com/NixOS/nixpkgs/issues/54395
|
||||||
"-Dnvdec=disabled"
|
"-Dnvdec=disabled"
|
||||||
"-Dnvenc=disabled"
|
"-Dnvenc=disabled"
|
||||||
|
]
|
||||||
|
++ optionals stdenv.isDarwin [
|
||||||
|
"-Dbluez=disabled"
|
||||||
|
"-Dchromaprint=disabled"
|
||||||
|
"-Ddirectfb=disabled"
|
||||||
|
"-Dflite=disabled"
|
||||||
|
"-Dkms=disabled" # renders to libdrm output
|
||||||
|
"-Dofa=disabled"
|
||||||
|
"-Dlv2=disabled"
|
||||||
|
"-Dsbc=disabled"
|
||||||
|
"-Dspandsp=disabled"
|
||||||
|
"-Ddvb=disabled"
|
||||||
|
"-Dfbdev=disabled"
|
||||||
|
"-Duvch264=disabled" # requires gudev
|
||||||
|
"-Dladspa=disabled" # requires lrdf
|
||||||
|
"-Dwebrtc=disabled" # requires libnice, which as of writing doesn't work on Darwin in nixpkgs
|
||||||
|
"-Dwildmidi=disabled" # see dependencies above
|
||||||
|
] ++ optionals (!gst-plugins-base.glEnabled) [
|
||||||
|
"-Dgl=disabled"]
|
||||||
|
++ optionals (!gst-plugins-base.waylandEnabled) [
|
||||||
|
"-Dwayland=disabled"
|
||||||
|
] ++ optionals (!gst-plugins-base.glEnabled) [
|
||||||
|
# `applemedia/videotexturecache.h` requires `gst/gl/gl.h`,
|
||||||
|
# but its meson build system does not declare the dependency.
|
||||||
|
"-Dapplemedia=disabled"
|
||||||
];
|
];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
# This package has some `_("string literal")` string formats
|
||||||
|
# that trip up clang with format security enabled.
|
||||||
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
doCheck = false; # fails 20 out of 58 tests, expensive
|
doCheck = false; # fails 20 out of 58 tests, expensive
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "GStreamer Bad Plugins";
|
||||||
|
homepage = "https://gstreamer.freedesktop.org";
|
||||||
|
longDescription = ''
|
||||||
|
a set of plug-ins that aren't up to par compared to the
|
||||||
|
rest. They might be close to being good quality, but they're missing
|
||||||
|
something - be it a good code review, some documentation, a set of tests,
|
||||||
|
a real live maintainer, or some actual wide use.
|
||||||
|
'';
|
||||||
|
license = licenses.lgpl2Plus;
|
||||||
|
platforms = platforms.linux ++ platforms.darwin;
|
||||||
|
maintainers = with maintainers; [ matthewbauer ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,100 +1,153 @@
|
|||||||
{ stdenv, fetchurl, fetchpatch, lib
|
{ stdenv
|
||||||
, pkgconfig, meson, ninja, gettext, gobject-introspection
|
, fetchurl
|
||||||
, python3, gstreamer, orc, pango, libtheora
|
, lib
|
||||||
, libintl, libopus
|
, pkgconfig
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, gettext
|
||||||
|
, gobject-introspection
|
||||||
|
, python3
|
||||||
|
, gstreamer
|
||||||
|
, orc
|
||||||
|
, pango
|
||||||
|
, libtheora
|
||||||
|
, libintl
|
||||||
|
, libopus
|
||||||
, isocodes
|
, isocodes
|
||||||
, libjpeg
|
, libjpeg
|
||||||
|
, libpng
|
||||||
, libvisual
|
, libvisual
|
||||||
, tremor # provides 'virbisidec'
|
, tremor # provides 'virbisidec'
|
||||||
, libGL
|
, libGL
|
||||||
, gtk-doc, docbook_xsl, docbook_xml_dtd_412
|
, gtk-doc
|
||||||
, enableX11 ? stdenv.isLinux, libXv
|
, docbook_xsl
|
||||||
, enableWayland ? stdenv.isLinux, wayland
|
, docbook_xml_dtd_43
|
||||||
, enableAlsa ? stdenv.isLinux, alsaLib
|
, enableX11 ? stdenv.isLinux
|
||||||
, enableCocoa ? false, darwin
|
, libXv
|
||||||
, enableCdparanoia ? (!stdenv.isDarwin), cdparanoia }:
|
, enableWayland ? stdenv.isLinux
|
||||||
|
, wayland
|
||||||
|
, enableAlsa ? stdenv.isLinux
|
||||||
|
, alsaLib
|
||||||
|
# Enabling Cocoa seems to currently not work, giving compile
|
||||||
|
# errors. Suspected is that a newer version than clang
|
||||||
|
# is needed than 5.0 but it is not clear.
|
||||||
|
, enableCocoa ? false
|
||||||
|
, darwin
|
||||||
|
, enableGl ? (enableX11 || enableWayland || enableCocoa)
|
||||||
|
, enableCdparanoia ? (!stdenv.isDarwin)
|
||||||
|
, cdparanoia
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gst-plugins-base";
|
pname = "gst-plugins-base";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Base plugins and helper libraries";
|
|
||||||
homepage = https://gstreamer.freedesktop.org;
|
|
||||||
license = licenses.lgpl2Plus;
|
|
||||||
platforms = platforms.unix;
|
|
||||||
maintainers = with maintainers; [ matthewbauer ];
|
|
||||||
};
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "${meta.homepage}/src/gst-plugins-base/${pname}-${version}.tar.xz";
|
|
||||||
sha256 = "1bmmdwbyy89ayb85xc48y217f6wdmpz96f30zm6v53z2a5xsm4s0";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
|
sha256 = "0aybbwnzm15074smdk2bamj3ssck3hjvmilvgh49f19xjf4w8g2w";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./fix_pkgconfig_includedir.patch
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkgconfig python3 gettext gobject-introspection
|
meson
|
||||||
|
ninja
|
||||||
|
pkgconfig
|
||||||
|
python3
|
||||||
|
gettext
|
||||||
|
gobject-introspection
|
||||||
|
|
||||||
|
# docs
|
||||||
gtk-doc
|
gtk-doc
|
||||||
# Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
|
docbook_xsl
|
||||||
docbook_xsl docbook_xml_dtd_412
|
docbook_xml_dtd_43
|
||||||
]
|
];
|
||||||
# Broken meson with Darwin. Should hopefully be fixed soon. Tracking
|
|
||||||
# in https://bugzilla.gnome.org/show_bug.cgi?id=781148.
|
|
||||||
++ lib.optionals (!stdenv.isDarwin) [ meson ninja ];
|
|
||||||
|
|
||||||
# On Darwin, we currently use autoconf, on all other systems Meson
|
buildInputs = [
|
||||||
# TODO Switch to Meson on Darwin as well
|
orc
|
||||||
|
libtheora
|
||||||
# TODO How to pass these to Meson?
|
libintl
|
||||||
configureFlags = lib.optionals stdenv.isDarwin [
|
libopus
|
||||||
"--enable-x11=${if enableX11 then "yes" else "no"}"
|
isocodes
|
||||||
"--enable-wayland=${if enableWayland then "yes" else "no"}"
|
libpng
|
||||||
"--enable-cocoa=${if enableCocoa then "yes" else "no"}"
|
libjpeg
|
||||||
]
|
tremor
|
||||||
# Introspection fails on my MacBook currently
|
libGL
|
||||||
++ lib.optional stdenv.isDarwin "--disable-introspection";
|
] ++ lib.optional (!stdenv.isDarwin) [
|
||||||
|
libvisual
|
||||||
mesonFlags = lib.optionals (!stdenv.isDarwin) [
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
# Enables all features, so that we know when new dependencies are necessary.
|
pango
|
||||||
"-Dauto_features=enabled"
|
darwin.apple_sdk.frameworks.OpenGL
|
||||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
] ++ lib.optional enableAlsa alsaLib
|
||||||
"-Dgl-graphene=disabled" # not packaged in nixpkgs as of writing
|
|
||||||
# See https://github.com/GStreamer/gst-plugins-base/blob/d64a4b7a69c3462851ff4dcfa97cc6f94cd64aef/meson_options.txt#L15 for a list of choices
|
|
||||||
"-Dgl_winsys=[${lib.concatStringsSep "," (lib.optional enableX11 "x11" ++ lib.optional enableWayland "wayland" ++ lib.optional enableCocoa "cocoa")}]"
|
|
||||||
# We must currently disable gtk_doc API docs generation,
|
|
||||||
# because it is not compatible with some features being disabled.
|
|
||||||
# See for example
|
|
||||||
# https://gitlab.gnome.org/GNOME/gnome-build-meta/issues/38
|
|
||||||
# for it failing because some Wayland symbols are missing.
|
|
||||||
# This problem appeared between 1.15.1 and 1.16.0.
|
|
||||||
"-Dgtk_doc=disabled"
|
|
||||||
]
|
|
||||||
++ lib.optional (!enableX11) "-Dx11=disabled"
|
|
||||||
# TODO How to disable Wayland?
|
|
||||||
++ lib.optional (!enableAlsa) "-Dalsa=disabled"
|
|
||||||
++ lib.optional (!enableCdparanoia) "-Dcdparanoia=disabled"
|
|
||||||
;
|
|
||||||
|
|
||||||
buildInputs = [ orc libtheora libintl libopus isocodes libjpeg tremor libGL ]
|
|
||||||
++ lib.optional (!stdenv.isDarwin) libvisual
|
|
||||||
++ lib.optional enableAlsa alsaLib
|
|
||||||
++ lib.optionals enableX11 [ libXv pango ]
|
++ lib.optionals enableX11 [ libXv pango ]
|
||||||
++ lib.optional enableWayland wayland
|
++ lib.optional enableWayland wayland
|
||||||
++ lib.optional enableCocoa darwin.apple_sdk.frameworks.Cocoa
|
++ lib.optional enableCocoa darwin.apple_sdk.frameworks.Cocoa
|
||||||
++ lib.optional enableCdparanoia cdparanoia;
|
++ lib.optional enableCdparanoia cdparanoia;
|
||||||
|
|
||||||
propagatedBuildInputs = [ gstreamer ];
|
propagatedBuildInputs = [
|
||||||
|
gstreamer
|
||||||
|
];
|
||||||
|
|
||||||
|
mesonFlags = [
|
||||||
|
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||||
|
"-Dgl-graphene=disabled" # not packaged in nixpkgs as of writing
|
||||||
|
"-Dgl_platform=[${lib.optionalString (enableX11 || enableWayland || enableCocoa) "auto"}]"
|
||||||
|
# See https://github.com/GStreamer/gst-plugins-base/blob/d64a4b7a69c3462851ff4dcfa97cc6f94cd64aef/meson_options.txt#L15 for a list of choices
|
||||||
|
"-Dgl_winsys=[${lib.concatStringsSep "," (lib.optional enableX11 "x11" ++ lib.optional enableWayland "wayland" ++ lib.optional enableCocoa "cocoa")}]"
|
||||||
|
# We must currently disable gtk_doc API docs generation,
|
||||||
|
# because it is not compatible with some features being disabled.
|
||||||
|
# See for example
|
||||||
|
# https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/564
|
||||||
|
# for it failing because some Wayland symbols are missing.
|
||||||
|
# This problem appeared between 1.15.1 and 1.16.0.
|
||||||
|
# In 1.18 they should switch to hotdoc, which should make this issue irrelevant.
|
||||||
|
"-Dgtk_doc=disabled"
|
||||||
|
]
|
||||||
|
++ lib.optional (!enableX11) "-Dx11=disabled"
|
||||||
|
# TODO How to disable Wayland?
|
||||||
|
++ lib.optional (!enableGl) "-Dgl=disabled"
|
||||||
|
++ lib.optional (!enableAlsa) "-Dalsa=disabled"
|
||||||
|
++ lib.optional (!enableCdparanoia) "-Dcdparanoia=disabled"
|
||||||
|
++ lib.optionals stdenv.isDarwin [
|
||||||
|
"-Dlibvisual=disabled"
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs .
|
patchShebangs common/scangobj-merge.py
|
||||||
'';
|
'';
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
# This package has some `_("string literal")` string formats
|
||||||
|
# that trip up clang with format security enabled.
|
||||||
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
doCheck = false; # fails, wants DRI access for OpenGL
|
doCheck = false; # fails, wants DRI access for OpenGL
|
||||||
|
|
||||||
patches = [
|
passthru = {
|
||||||
./fix_pkgconfig_includedir.patch
|
# Downstream `gst-*` packages depending on `gst-plugins-base`
|
||||||
];
|
# have meson build options like 'gl' etc. that depend
|
||||||
|
# on these features being built in `-base`.
|
||||||
|
# If they are not built here, then the downstream builds
|
||||||
|
# will fail, as they, too, use `-Dauto_features=enabled`
|
||||||
|
# which would enable these options unconditionally.
|
||||||
|
# That means we must communicate to these downstream packages
|
||||||
|
# if the `-base` enabled these options or not, so that
|
||||||
|
# the can enable/disable those features accordingly.
|
||||||
|
# The naming `*Enabled` vs `enable*` is intentional to
|
||||||
|
# distinguish inputs from outputs (what is to be built
|
||||||
|
# vs what was built) and to make them easier to search for.
|
||||||
|
glEnabled = enableGl;
|
||||||
|
waylandEnabled = enableWayland;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Base GStreamer plug-ins and helper libraries";
|
||||||
|
homepage = "https://gstreamer.freedesktop.org";
|
||||||
|
license = licenses.lgpl2Plus;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ matthewbauer ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,23 @@
|
|||||||
{ stdenv, fetchurl, fetchpatch, meson, ninja
|
{ stdenv
|
||||||
, pkgconfig, gettext, gobject-introspection
|
, fetchurl
|
||||||
, bison, flex, python3, glib, makeWrapper
|
, fetchpatch
|
||||||
, libcap,libunwind, darwin
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkgconfig
|
||||||
|
, gettext
|
||||||
|
, gobject-introspection
|
||||||
|
, bison
|
||||||
|
, flex
|
||||||
|
, python3
|
||||||
|
, glib
|
||||||
|
, makeWrapper
|
||||||
|
, libcap
|
||||||
|
, libunwind
|
||||||
|
, darwin
|
||||||
, elfutils # for libdw
|
, elfutils # for libdw
|
||||||
, bash-completion
|
, bash-completion
|
||||||
, docbook_xsl, docbook_xml_dtd_412
|
, docbook_xsl
|
||||||
|
, docbook_xml_dtd_43
|
||||||
, gtk-doc
|
, gtk-doc
|
||||||
, lib
|
, lib
|
||||||
, CoreServices
|
, CoreServices
|
||||||
@ -12,50 +25,66 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gstreamer";
|
pname = "gstreamer";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
meta = with lib ;{
|
outputs = [ "out" "dev" "devdoc" ];
|
||||||
description = "Open source multimedia framework";
|
outputBin = "dev";
|
||||||
homepage = https://gstreamer.freedesktop.org;
|
|
||||||
license = licenses.lgpl2Plus;
|
|
||||||
platforms = platforms.unix;
|
|
||||||
maintainers = with maintainers; [ ttuegel matthewbauer ];
|
|
||||||
};
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "${meta.homepage}/src/gstreamer/${pname}-${version}.tar.xz";
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "003wy1p1in85p9sr5jsyhbnwqaiwz069flwkhyx7qhxy31qjz3hf";
|
sha256 = "0z9pyhf6zm1r0spw6zym80bvbyx6h8xg9h6535csbnn48ws1q882";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./fix_pkgconfig_includedir.patch
|
./fix_pkgconfig_includedir.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
|
||||||
outputBin = "dev";
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson ninja pkgconfig gettext bison flex python3 makeWrapper gobject-introspection
|
meson
|
||||||
|
ninja
|
||||||
|
pkgconfig
|
||||||
|
gettext
|
||||||
|
bison
|
||||||
|
flex
|
||||||
|
python3
|
||||||
|
makeWrapper
|
||||||
|
gobject-introspection
|
||||||
bash-completion
|
bash-completion
|
||||||
|
|
||||||
|
# documentation
|
||||||
gtk-doc
|
gtk-doc
|
||||||
# Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
|
docbook_xsl
|
||||||
docbook_xsl docbook_xml_dtd_412
|
docbook_xml_dtd_43
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs = lib.optionals stdenv.isLinux [
|
||||||
lib.optionals stdenv.isLinux [ libcap libunwind elfutils ]
|
libcap
|
||||||
++ lib.optional stdenv.isDarwin CoreServices;
|
libunwind
|
||||||
|
elfutils
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
|
CoreServices
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [ glib ];
|
propagatedBuildInputs = [
|
||||||
|
glib
|
||||||
|
];
|
||||||
|
|
||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
# Enables all features, so that we know when new dependencies are necessary.
|
|
||||||
"-Dauto_features=enabled"
|
|
||||||
"-Ddbghelp=disabled" # not needed as we already provide libunwind and libdw, and dbghelp is a fallback to those
|
"-Ddbghelp=disabled" # not needed as we already provide libunwind and libdw, and dbghelp is a fallback to those
|
||||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||||
]
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
# darwin.libunwind doesn't have pkgconfig definitions so meson doesn't detect it.
|
# darwin.libunwind doesn't have pkgconfig definitions so meson doesn't detect it.
|
||||||
++ stdenv.lib.optionals stdenv.isDarwin [ "-Dlibunwind=disabled" "-Dlibdw=disabled" ];
|
"-Dlibunwind=disabled"
|
||||||
|
"-Dlibdw=disabled"
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
patchShebangs \
|
||||||
|
gst/parse/get_flex_version.py \
|
||||||
|
gst/parse/gen_grammar.py.in \
|
||||||
|
gst/parse/gen_lex.py.in \
|
||||||
|
libs/gst/helpers/ptp_helper_post_install.sh
|
||||||
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
for prog in "$dev/bin/"*; do
|
for prog in "$dev/bin/"*; do
|
||||||
@ -64,21 +93,17 @@ stdenv.mkDerivation rec {
|
|||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preConfigure=
|
|
||||||
# These files are not executable upstream, so we need to
|
|
||||||
# make them executable for `patchShebangs` to pick them up.
|
|
||||||
# Can be removed when this is merged and available:
|
|
||||||
# https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/141
|
|
||||||
''
|
|
||||||
chmod +x gst/parse/get_flex_version.py
|
|
||||||
'' +
|
|
||||||
''
|
|
||||||
patchShebangs .
|
|
||||||
'';
|
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
moveToOutput "share/bash-completion" "$dev"
|
moveToOutput "share/bash-completion" "$dev"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
setupHook = ./setup-hook.sh;
|
setupHook = ./setup-hook.sh;
|
||||||
|
|
||||||
|
meta = with lib ;{
|
||||||
|
description = "Open source multimedia framework";
|
||||||
|
homepage = "https://gstreamer.freedesktop.org";
|
||||||
|
license = licenses.lgpl2Plus;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ ttuegel matthewbauer ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,61 @@
|
|||||||
{ stdenv, fetchurl, fetchpatch, meson, ninja
|
{ stdenv
|
||||||
, pkgconfig, python, gst-plugins-base, libxml2
|
, fetchurl
|
||||||
, flex, perl, gettext, gobject-introspection
|
, fetchpatch
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkgconfig
|
||||||
|
, python
|
||||||
|
, gst-plugins-base
|
||||||
|
, libxml2
|
||||||
|
, flex
|
||||||
|
, perl
|
||||||
|
, gettext
|
||||||
|
, gobject-introspection
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gstreamer-editing-services";
|
pname = "gstreamer-editing-services";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
|
sha256 = "10375z5mc3bwfs07mhmfx943sbp55z8m8ihp9xpcknkdks7qg168";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./fix_pkgconfig_includedir.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
pkgconfig
|
||||||
|
gettext
|
||||||
|
gobject-introspection
|
||||||
|
python
|
||||||
|
flex
|
||||||
|
perl
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
libxml2
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
gst-plugins-base
|
||||||
|
];
|
||||||
|
|
||||||
|
mesonFlags = [
|
||||||
|
"-Dgtk_doc=disabled"
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
# for some reason, gst-plugins-bad cannot be found
|
||||||
|
# fortunately, they are only used by tests, which we do not run
|
||||||
|
sed -i -r -e 's/p(bad|good) = .*/p\1 = pbase/' tests/check/meson.build
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Library for creation of audio/video non-linear editors";
|
description = "Library for creation of audio/video non-linear editors";
|
||||||
@ -13,27 +63,4 @@ stdenv.mkDerivation rec {
|
|||||||
license = licenses.lgpl2Plus;
|
license = licenses.lgpl2Plus;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "${meta.homepage}/src/gstreamer-editing-services/${pname}-${version}.tar.xz";
|
|
||||||
sha256 = "1las94jkx83sxmzi5w6b0xm89dqqwzpdsb6h9w9ixndhnbpzm8w2";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja pkgconfig gettext gobject-introspection python flex perl ];
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ gst-plugins-base libxml2 ];
|
|
||||||
|
|
||||||
mesonFlags = [
|
|
||||||
"-Dgtk_doc=disabled"
|
|
||||||
];
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
./fix_pkgconfig_includedir.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
sed -i -r -e 's/p(bad|good) = .*/p\1 = pbase/' tests/check/meson.build
|
|
||||||
'';
|
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,37 @@
|
|||||||
{ stdenv, fetchurl, meson, ninja, pkgconfig, python
|
{ stdenv
|
||||||
, gst-plugins-base, orc, bzip2, gettext
|
, fetchurl
|
||||||
, libv4l, libdv, libavc1394, libiec61883
|
, meson
|
||||||
, libvpx, speex, flac, taglib, libshout
|
, ninja
|
||||||
, cairo, gdk-pixbuf, aalib, libcaca
|
, pkgconfig
|
||||||
, libsoup, libpulseaudio, libintl
|
, python
|
||||||
, darwin, lame, mpg123, twolame
|
, gst-plugins-base
|
||||||
|
, orc
|
||||||
|
, bzip2
|
||||||
|
, gettext
|
||||||
|
, libv4l
|
||||||
|
, libdv
|
||||||
|
, libavc1394
|
||||||
|
, libiec61883
|
||||||
|
, libvpx
|
||||||
|
, speex
|
||||||
|
, flac
|
||||||
|
, taglib
|
||||||
|
, libshout
|
||||||
|
, cairo
|
||||||
|
, gdk-pixbuf
|
||||||
|
, aalib
|
||||||
|
, libcaca
|
||||||
|
, libsoup
|
||||||
|
, libpulseaudio
|
||||||
|
, libintl
|
||||||
|
, darwin
|
||||||
|
, lame
|
||||||
|
, mpg123
|
||||||
|
, twolame
|
||||||
, gtkSupport ? false, gtk3 ? null
|
, gtkSupport ? false, gtk3 ? null
|
||||||
# As of writing, jack2 incurs a Qt dependency (big!) via `ffado`.
|
# As of writing, jack2 incurs a Qt dependency (big!) via `ffado`.
|
||||||
# In the fuure we should probably split `ffado`.
|
# In the future we should probably split `ffado`.
|
||||||
, enableJack ? false
|
, enableJack ? false, jack2
|
||||||
, libXdamage
|
, libXdamage
|
||||||
, libXext
|
, libXext
|
||||||
, libXfixes
|
, libXfixes
|
||||||
@ -16,7 +39,6 @@
|
|||||||
, xorg
|
, xorg
|
||||||
, libgudev
|
, libgudev
|
||||||
, wavpack
|
, wavpack
|
||||||
, jack2
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert gtkSupport -> gtk3 != null;
|
assert gtkSupport -> gtk3 != null;
|
||||||
@ -26,10 +48,96 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gst-plugins-good";
|
pname = "gst-plugins-good";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
|
sha256 = "07wgz9anf4ram2snp8n1wv6l0q3pd00iaw8bvw3wgklg05lvxflz";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [ ./fix_pkgconfig_includedir.patch ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkgconfig
|
||||||
|
python
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
gettext
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
gst-plugins-base
|
||||||
|
orc
|
||||||
|
bzip2
|
||||||
|
libdv
|
||||||
|
libvpx
|
||||||
|
speex
|
||||||
|
flac
|
||||||
|
taglib
|
||||||
|
cairo
|
||||||
|
gdk-pixbuf
|
||||||
|
aalib
|
||||||
|
libcaca
|
||||||
|
libsoup
|
||||||
|
libshout
|
||||||
|
lame
|
||||||
|
mpg123
|
||||||
|
twolame
|
||||||
|
libintl
|
||||||
|
libXdamage
|
||||||
|
libXext
|
||||||
|
libXfixes
|
||||||
|
ncurses
|
||||||
|
xorg.libXfixes
|
||||||
|
xorg.libXdamage
|
||||||
|
wavpack
|
||||||
|
] ++ optional gtkSupport [
|
||||||
|
# for gtksink
|
||||||
|
gtk3
|
||||||
|
] ++ optionals stdenv.isDarwin [
|
||||||
|
darwin.apple_sdk.frameworks.Cocoa
|
||||||
|
] ++ optionals stdenv.isLinux [
|
||||||
|
libv4l
|
||||||
|
libpulseaudio
|
||||||
|
libavc1394
|
||||||
|
libiec61883
|
||||||
|
libgudev
|
||||||
|
] ++ optionals (stdenv.isLinux && enableJack) [
|
||||||
|
jack2
|
||||||
|
];
|
||||||
|
|
||||||
|
mesonFlags = [
|
||||||
|
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||||
|
"-Dqt5=disabled" # not clear as of writing how to correctly pass in the required qt5 deps
|
||||||
|
] ++ optionals (!gtkSupport) [
|
||||||
|
"-Dgtk3=disabled"
|
||||||
|
] ++ optionals (!stdenv.isLinux || !enableJack) [
|
||||||
|
"-Djack=disabled" # unclear whether Jack works on Darwin
|
||||||
|
] ++ optionals (!stdenv.isLinux) [
|
||||||
|
"-Ddv1394=disabled" # Linux only
|
||||||
|
"-Doss4=disabled" # Linux only
|
||||||
|
"-Doss=disabled" # Linux only
|
||||||
|
"-Dpulse=disabled" # TODO check if we can keep this enabled
|
||||||
|
"-Dv4l2-gudev=disabled" # Linux-only
|
||||||
|
"-Dv4l2=disabled" # Linux-only
|
||||||
|
"-Dximagesrc=disabled" # Linux-only
|
||||||
|
"-Dpulse=disabled" # TODO check if we can keep this enabled
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
NIX_LDFLAGS = [
|
||||||
|
# linking error on Darwin
|
||||||
|
# https://github.com/NixOS/nixpkgs/pull/70690#issuecomment-553694896
|
||||||
|
"-lncurses"
|
||||||
|
];
|
||||||
|
|
||||||
|
# fails 1 tests with "Unexpected critical/warning: g_object_set_is_valid_property: object class 'GstRtpStorage' has no property named ''"
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Gstreamer Good Plugins";
|
description = "GStreamer Good Plugins";
|
||||||
homepage = "https://gstreamer.freedesktop.org";
|
homepage = "https://gstreamer.freedesktop.org";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
a set of plug-ins that we consider to have good quality code,
|
a set of plug-ins that we consider to have good quality code,
|
||||||
@ -40,55 +148,4 @@ stdenv.mkDerivation rec {
|
|||||||
platforms = platforms.linux ++ platforms.darwin;
|
platforms = platforms.linux ++ platforms.darwin;
|
||||||
maintainers = with maintainers; [ matthewbauer ];
|
maintainers = with maintainers; [ matthewbauer ];
|
||||||
};
|
};
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "${meta.homepage}/src/gst-plugins-good/${pname}-${version}.tar.xz";
|
|
||||||
sha256 = "1zdhif1mhf0ihkjpjyrh65g2iz2cawkjjb3h5w8h9ml06grxwjk5";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
|
||||||
|
|
||||||
patches = [ ./fix_pkgconfig_includedir.patch ];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig python meson ninja gettext ];
|
|
||||||
|
|
||||||
NIX_LDFLAGS = "-lncurses";
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
gst-plugins-base orc bzip2
|
|
||||||
libdv libvpx speex flac taglib
|
|
||||||
cairo gdk-pixbuf aalib libcaca
|
|
||||||
libsoup libshout lame mpg123 twolame libintl
|
|
||||||
libXdamage
|
|
||||||
libXext
|
|
||||||
libXfixes
|
|
||||||
ncurses
|
|
||||||
xorg.libXfixes
|
|
||||||
xorg.libXdamage
|
|
||||||
wavpack
|
|
||||||
]
|
|
||||||
++ optional gtkSupport gtk3 # for gtksink
|
|
||||||
++ optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]
|
|
||||||
++ optionals stdenv.isLinux [ libv4l libpulseaudio libavc1394 libiec61883 libgudev ]
|
|
||||||
++ optionals (stdenv.isLinux && enableJack) [
|
|
||||||
jack2
|
|
||||||
];
|
|
||||||
|
|
||||||
mesonFlags = [
|
|
||||||
# Enables all features, so that we know when new dependencies are necessary.
|
|
||||||
"-Dauto_features=enabled"
|
|
||||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
|
||||||
"-Dqt5=disabled" # not clear as of writing how to correctly pass in the required qt5 deps
|
|
||||||
]
|
|
||||||
++ optional (!gtkSupport) "-Dgtk3=disabled"
|
|
||||||
++ optionals (!stdenv.isLinux || !enableJack) [
|
|
||||||
"-Djack=disabled" # unclear whether Jack works on Darwin
|
|
||||||
]
|
|
||||||
++ optionals (!stdenv.isLinux) [
|
|
||||||
"-Dv4l2-gudev=disabled"
|
|
||||||
];
|
|
||||||
|
|
||||||
# fails 1 tests with "Unexpected critical/warning: g_object_set_is_valid_property: object class 'GstRtpStorage' has no property named ''"
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,43 +1,46 @@
|
|||||||
{ stdenv, fetchurl, meson, ninja, pkgconfig
|
{ stdenv
|
||||||
, python, yasm, gst-plugins-base, orc, bzip2
|
, lib
|
||||||
, gettext, withSystemLibav ? true, libav ? null
|
, fetchurl
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkgconfig
|
||||||
|
, python3
|
||||||
|
, gst-plugins-base
|
||||||
|
, gettext
|
||||||
|
, libav
|
||||||
}:
|
}:
|
||||||
|
|
||||||
# Note that since gst-libav-1.6, libav is actually ffmpeg. See
|
# Note that since gst-libav-1.6, libav is actually ffmpeg. See
|
||||||
# https://gstreamer.freedesktop.org/releases/1.6/ for more info.
|
# https://gstreamer.freedesktop.org/releases/1.6/ for more info.
|
||||||
|
|
||||||
assert withSystemLibav -> libav != null;
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gst-libav";
|
pname = "gst-libav";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = https://gstreamer.freedesktop.org;
|
|
||||||
license = stdenv.lib.licenses.lgpl2Plus;
|
|
||||||
platforms = stdenv.lib.platforms.unix;
|
|
||||||
};
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "${meta.homepage}/src/gst-libav/${pname}-${version}.tar.xz";
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "16ixqpfrr7plaaz14n3vagr2q5xbfkv7gpmcsyndrkx98f813b6z";
|
sha256 = "1i31ra0l77cfahb6k5xpx45zwvpskzm848aijsbbx9x4x65799g8";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
nativeBuildInputs = with stdenv.lib;
|
nativeBuildInputs = [
|
||||||
[ meson ninja gettext pkgconfig python ]
|
meson
|
||||||
++ optional (!withSystemLibav) yasm
|
ninja
|
||||||
;
|
gettext
|
||||||
|
pkgconfig
|
||||||
buildInputs = with stdenv.lib;
|
python3
|
||||||
[ gst-plugins-base orc bzip2 ]
|
|
||||||
++ optional withSystemLibav libav
|
|
||||||
;
|
|
||||||
|
|
||||||
mesonFlags = [
|
|
||||||
# Enables all features, so that we know when new dependencies are necessary.
|
|
||||||
"-Dauto_features=enabled"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
gst-plugins-base
|
||||||
|
libav
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "FFmpeg/libav plugin for GStreamer";
|
||||||
|
homepage = "https://gstreamer.freedesktop.org";
|
||||||
|
license = licenses.lgpl2Plus;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,38 +1,50 @@
|
|||||||
{ stdenv, fetchurl, meson, ninja, pkgconfig
|
{ stdenv
|
||||||
, gettext, gobject-introspection
|
, fetchurl
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkgconfig
|
||||||
|
, gettext
|
||||||
|
, gobject-introspection
|
||||||
, gst-plugins-base
|
, gst-plugins-base
|
||||||
, gst-plugins-bad
|
, gst-plugins-bad
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gst-rtsp-server";
|
pname = "gst-rtsp-server";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Gstreamer RTSP server";
|
|
||||||
homepage = "https://gstreamer.freedesktop.org";
|
|
||||||
longDescription = ''
|
|
||||||
a library on top of GStreamer for building an RTSP server.
|
|
||||||
'';
|
|
||||||
license = licenses.lgpl2Plus;
|
|
||||||
platforms = platforms.linux ++ platforms.darwin;
|
|
||||||
maintainers = with maintainers; [ bkchr ];
|
|
||||||
};
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "${meta.homepage}/src/gst-rtsp-server/${pname}-${version}.tar.xz";
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "069zy159izy50blci9fli1i2r8jh91qkmgrz1n0xqciy3bn9x3hr";
|
sha256 = "0i01f1nr0921z6z4nrh8icz76s2n7i228aqxg1ihvxl65ynsraxh";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja gettext gobject-introspection pkgconfig ];
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
gettext
|
||||||
|
gobject-introspection
|
||||||
|
pkgconfig
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [ gst-plugins-base gst-plugins-bad ];
|
buildInputs = [
|
||||||
|
gst-plugins-base
|
||||||
|
gst-plugins-bad
|
||||||
|
];
|
||||||
|
|
||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
# Enables all features, so that we know when new dependencies are necessary.
|
|
||||||
"-Dauto_features=enabled"
|
|
||||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||||
];
|
];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "GStreamer RTSP server";
|
||||||
|
homepage = "https://gstreamer.freedesktop.org";
|
||||||
|
longDescription = ''
|
||||||
|
A library on top of GStreamer for building an RTSP server.
|
||||||
|
'';
|
||||||
|
license = licenses.lgpl2Plus;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ bkchr ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,64 @@
|
|||||||
{ stdenv, fetchurl, meson, ninja, pkgconfig, python
|
{ stdenv
|
||||||
, gst-plugins-base, orc, gettext
|
, fetchurl
|
||||||
, a52dec, libcdio, libdvdread
|
, meson
|
||||||
, libmad, libmpeg2, x264, libintl, lib
|
, ninja
|
||||||
|
, pkgconfig
|
||||||
|
, python
|
||||||
|
, gst-plugins-base
|
||||||
|
, orc
|
||||||
|
, gettext
|
||||||
|
, a52dec
|
||||||
|
, libcdio
|
||||||
|
, libdvdread
|
||||||
|
, libmad
|
||||||
|
, libmpeg2
|
||||||
|
, x264
|
||||||
|
, libintl
|
||||||
|
, lib
|
||||||
, opencore-amr
|
, opencore-amr
|
||||||
, darwin
|
, darwin
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gst-plugins-ugly";
|
pname = "gst-plugins-ugly";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
|
sha256 = "07cajqjs8pqchpf2sm87hljx4ibwvkiavqxmacxsr5airar17yab";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
gettext
|
||||||
|
pkgconfig
|
||||||
|
python
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
gst-plugins-base
|
||||||
|
orc
|
||||||
|
a52dec
|
||||||
|
libcdio
|
||||||
|
libdvdread
|
||||||
|
libmad
|
||||||
|
libmpeg2
|
||||||
|
x264
|
||||||
|
libintl
|
||||||
|
opencore-amr
|
||||||
|
] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
|
||||||
|
IOKit
|
||||||
|
CoreFoundation
|
||||||
|
DiskArbitration
|
||||||
|
]);
|
||||||
|
|
||||||
|
mesonFlags = [
|
||||||
|
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||||
|
"-Dsidplay=disabled" # sidplay / sidplay/player.h isn't packaged in nixpkgs as of writing
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Gstreamer Ugly Plugins";
|
description = "Gstreamer Ugly Plugins";
|
||||||
@ -23,31 +73,4 @@ stdenv.mkDerivation rec {
|
|||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ matthewbauer ];
|
maintainers = with maintainers; [ matthewbauer ];
|
||||||
};
|
};
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "${meta.homepage}/src/gst-plugins-ugly/${pname}-${version}.tar.xz";
|
|
||||||
sha256 = "1hm46c1fy9vl1wfwipsj41zp79cm7in1fpmjw24j5hriy32n82g3";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja gettext pkgconfig python ];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
gst-plugins-base orc
|
|
||||||
a52dec libcdio libdvdread
|
|
||||||
libmad libmpeg2 x264
|
|
||||||
libintl
|
|
||||||
opencore-amr
|
|
||||||
] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks;
|
|
||||||
[ IOKit CoreFoundation DiskArbitration ]);
|
|
||||||
|
|
||||||
mesonFlags = [
|
|
||||||
# Enables all features, so that we know when new dependencies are necessary.
|
|
||||||
"-Dauto_features=enabled"
|
|
||||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
|
||||||
"-Dsidplay=disabled" # sidplay / sidplay/player.h isn't packaged in nixpkgs as of writing
|
|
||||||
];
|
|
||||||
|
|
||||||
NIX_LDFLAGS = [ "-lm" ];
|
|
||||||
}
|
}
|
||||||
|
@ -1,49 +1,70 @@
|
|||||||
{ stdenv, fetchurl, meson, ninja, pkgconfig, gst-plugins-base, bzip2, libva, wayland
|
{ stdenv
|
||||||
, libdrm, udev, xorg, libGLU_combined, gstreamer, gst-plugins-bad, nasm
|
, fetchurl
|
||||||
, libvpx, python, fetchpatch
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkgconfig
|
||||||
|
, gst-plugins-base
|
||||||
|
, bzip2
|
||||||
|
, libva
|
||||||
|
, wayland
|
||||||
|
, libdrm
|
||||||
|
, udev
|
||||||
|
, xorg
|
||||||
|
, libGLU_combined
|
||||||
|
, gstreamer
|
||||||
|
, gst-plugins-bad
|
||||||
|
, nasm
|
||||||
|
, libvpx
|
||||||
|
, python
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gst-vaapi";
|
pname = "gstreamer-vaapi";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz";
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "07qpynamiz0lniqajcaijh3n7ixs4lfk9a5mfk50sng0dricwzsf";
|
sha256 = "0fk0nymvbfc04fv63fj2r6q9vvi431svhkrwpr7kdjvq3rphymyb";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# See: https://mail.gnome.org/archives/distributor-list/2019-September/msg00000.html
|
|
||||||
# Note that the patch has now been actually accepted upstream.
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/commit/a90daabb84f983d2fa05ff3159f7ad59aa648b55.patch";
|
|
||||||
sha256 = "0p2qygq6b5h6nxjdfnlzbsyih43hjq5c94ag8sbyyb8pmnids9rb";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja pkgconfig bzip2 ];
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
buildInputs = [
|
ninja
|
||||||
gstreamer gst-plugins-base gst-plugins-bad libva wayland libdrm udev
|
pkgconfig
|
||||||
xorg.libX11 xorg.libXext xorg.libXv xorg.libXrandr xorg.libSM
|
bzip2
|
||||||
xorg.libICE libGLU_combined nasm libvpx python
|
|
||||||
];
|
];
|
||||||
|
|
||||||
preConfigure = ''
|
buildInputs = [
|
||||||
export GST_PLUGIN_PATH_1_0=$out/lib/gstreamer-1.0
|
gstreamer
|
||||||
mkdir -p $GST_PLUGIN_PATH_1_0
|
gst-plugins-base
|
||||||
'';
|
gst-plugins-bad
|
||||||
|
libva
|
||||||
|
wayland
|
||||||
|
libdrm
|
||||||
|
udev
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libXext
|
||||||
|
xorg.libXv
|
||||||
|
xorg.libXrandr
|
||||||
|
xorg.libSM
|
||||||
|
xorg.libICE
|
||||||
|
libGLU_combined
|
||||||
|
nasm
|
||||||
|
libvpx
|
||||||
|
python
|
||||||
|
];
|
||||||
|
|
||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://gstreamer.freedesktop.org;
|
description = "Set of VAAPI GStreamer Plug-ins";
|
||||||
license = stdenv.lib.licenses.lgpl21Plus;
|
homepage = "https://gstreamer.freedesktop.org";
|
||||||
platforms = stdenv.lib.platforms.linux;
|
license = licenses.lgpl21Plus;
|
||||||
maintainers = with stdenv.lib.maintainers; [ tstrobel ];
|
maintainers = with maintainers; [ tstrobel ];
|
||||||
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,39 +1,43 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, gstreamer, gst-plugins-base
|
{ stdenv
|
||||||
, python, gobject-introspection, json-glib
|
, fetchurl
|
||||||
|
, pkgconfig
|
||||||
|
, gstreamer
|
||||||
|
, gst-plugins-base
|
||||||
|
, python
|
||||||
|
, gobject-introspection
|
||||||
|
, json-glib
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gst-validate";
|
pname = "gst-validate";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Integration testing infrastructure for the GStreamer framework";
|
|
||||||
homepage = https://gstreamer.freedesktop.org;
|
|
||||||
license = stdenv.lib.licenses.lgpl2Plus;
|
|
||||||
platforms = stdenv.lib.platforms.unix;
|
|
||||||
};
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "${meta.homepage}/src/gst-validate/${pname}-${version}.tar.xz";
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "1jfnd0g9hmdbqfxsx96yc9vpf1w6m33hqwrr6lj4i83kl54awcck";
|
sha256 = "1698arvmpb0cvyi8ll1brvs51vs7i3f3fw19iswh8xhj5adrn1vz";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkgconfig gobject-introspection
|
pkgconfig
|
||||||
|
gobject-introspection
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
python json-glib
|
python
|
||||||
|
json-glib
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [ gstreamer gst-plugins-base ];
|
propagatedBuildInputs = [
|
||||||
|
gstreamer
|
||||||
enableParallelBuilding = true;
|
gst-plugins-base
|
||||||
|
|
||||||
mesonFlags = [
|
|
||||||
# Enables all features, so that we know when new dependencies are necessary.
|
|
||||||
"-Dauto_features=enabled"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Integration testing infrastructure for the GStreamer framework";
|
||||||
|
homepage = "https://gstreamer.freedesktop.org";
|
||||||
|
license = licenses.lgpl2Plus;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,19 @@
|
|||||||
{ stdenv, fetchurl, fetchpatch, meson, ninja, pkgconfig, python3, gobject-introspection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, gupnp-igd, gst_all_1, gnutls }:
|
{ stdenv
|
||||||
|
, fetchurl
|
||||||
|
, fetchpatch
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkgconfig
|
||||||
|
, python3
|
||||||
|
, gobject-introspection
|
||||||
|
, gtk-doc
|
||||||
|
, docbook_xsl
|
||||||
|
, docbook_xml_dtd_412
|
||||||
|
, glib
|
||||||
|
, gupnp-igd
|
||||||
|
, gst_all_1
|
||||||
|
, gnutls
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "libnice-0.1.16";
|
name = "libnice-0.1.16";
|
||||||
@ -21,27 +36,40 @@ stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson ninja pkgconfig python3 gobject-introspection
|
meson
|
||||||
|
ninja
|
||||||
|
pkgconfig
|
||||||
|
python3
|
||||||
|
gobject-introspection
|
||||||
|
|
||||||
|
# documentation
|
||||||
gtk-doc
|
gtk-doc
|
||||||
# Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
|
docbook_xsl
|
||||||
docbook_xsl docbook_xml_dtd_412
|
docbook_xml_dtd_412
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
gst_all_1.gstreamer
|
||||||
|
gst_all_1.gst-plugins-base
|
||||||
|
gnutls
|
||||||
|
gupnp-igd
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
glib
|
||||||
];
|
];
|
||||||
buildInputs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gnutls ];
|
|
||||||
propagatedBuildInputs = [ glib gupnp-igd ];
|
|
||||||
|
|
||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
# Enables all features, so that we know when new dependencies are necessary.
|
|
||||||
"-Dauto_features=enabled"
|
|
||||||
"-Dgtk_doc=enabled" # Disabled by default as of libnice-0.1.15
|
"-Dgtk_doc=enabled" # Disabled by default as of libnice-0.1.15
|
||||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||||
];
|
];
|
||||||
|
|
||||||
# TODO; see #53293 etc.
|
# Tests are flaky
|
||||||
#doCheck = true;
|
# see https://github.com/NixOS/nixpkgs/pull/53293#issuecomment-453739295
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://nice.freedesktop.org/wiki/;
|
description = "GLib ICE implementation";
|
||||||
description = "The GLib ICE implementation";
|
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
Libnice is an implementation of the IETF's Interactice Connectivity
|
Libnice is an implementation of the IETF's Interactice Connectivity
|
||||||
Establishment (ICE) standard (RFC 5245) and the Session Traversal
|
Establishment (ICE) standard (RFC 5245) and the Session Traversal
|
||||||
@ -49,6 +77,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
It provides a GLib-based library, libnice and a Glib-free library,
|
It provides a GLib-based library, libnice and a Glib-free library,
|
||||||
libstun as well as GStreamer elements.'';
|
libstun as well as GStreamer elements.'';
|
||||||
|
homepage = "https://nice.freedesktop.org/wiki/";
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
license = with licenses; [ lgpl21 mpl11 ];
|
license = with licenses; [ lgpl21 mpl11 ];
|
||||||
};
|
};
|
||||||
|
@ -1,5 +1,16 @@
|
|||||||
{ stdenv, fetchurl, autoreconfHook, docbook_xsl, docbook_xml_dtd_43, gtk-doc, lzip
|
{ stdenv
|
||||||
, libidn2, libunistring, libxslt, pkgconfig, python3, valgrind
|
, fetchurl
|
||||||
|
, autoreconfHook
|
||||||
|
, docbook_xsl
|
||||||
|
, docbook_xml_dtd_43
|
||||||
|
, gtk-doc
|
||||||
|
, lzip
|
||||||
|
, libidn2
|
||||||
|
, libunistring
|
||||||
|
, libxslt
|
||||||
|
, pkgconfig
|
||||||
|
, python3
|
||||||
|
, valgrind
|
||||||
, publicsuffix-list
|
, publicsuffix-list
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -12,9 +23,26 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "183hadbira0d2zvv8272lspy31dgm9x26z35c61s5axcd5wd9g9i";
|
sha256 = "183hadbira0d2zvv8272lspy31dgm9x26z35c61s5axcd5wd9g9i";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook docbook_xsl docbook_xml_dtd_43 gtk-doc lzip pkgconfig python3 valgrind ];
|
nativeBuildInputs = [
|
||||||
buildInputs = [ libidn2 libunistring libxslt ];
|
autoreconfHook
|
||||||
propagatedBuildInputs = [ publicsuffix-list ];
|
docbook_xsl
|
||||||
|
docbook_xml_dtd_43
|
||||||
|
gtk-doc
|
||||||
|
lzip
|
||||||
|
pkgconfig
|
||||||
|
python3
|
||||||
|
valgrind
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
libidn2
|
||||||
|
libunistring
|
||||||
|
libxslt
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
publicsuffix-list
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs src/psl-make-dafsa
|
patchShebangs src/psl-make-dafsa
|
||||||
@ -25,7 +53,7 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
# "--enable-gtk-doc"
|
# "--enable-gtk-doc"
|
||||||
"--enable-man"
|
"--enable-man"
|
||||||
"--enable-valgrind-tests"
|
"--enable-valgrind-tests"
|
||||||
"--with-psl-distfile=${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat"
|
"--with-psl-distfile=${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat"
|
||||||
@ -35,7 +63,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = !stdenv.isDarwin;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "C library for the Publix Suffix List";
|
description = "C library for the Publix Suffix List";
|
||||||
|
@ -1,4 +1,11 @@
|
|||||||
{ lib, python3Packages, stdenv, writeTextDir, substituteAll, targetPackages }:
|
{ lib
|
||||||
|
, python3Packages
|
||||||
|
, fetchpatch
|
||||||
|
, stdenv
|
||||||
|
, writeTextDir
|
||||||
|
, substituteAll
|
||||||
|
, targetPackages
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
# See https://mesonbuild.com/Reference-tables.html#cpu-families
|
# See https://mesonbuild.com/Reference-tables.html#cpu-families
|
||||||
@ -62,6 +69,15 @@ python3Packages.buildPythonApplication rec {
|
|||||||
# https://github.com/mesonbuild/meson/issues/4784
|
# https://github.com/mesonbuild/meson/issues/4784
|
||||||
# Should be fixed in 0.52
|
# Should be fixed in 0.52
|
||||||
./fix-objc-linking.patch
|
./fix-objc-linking.patch
|
||||||
|
|
||||||
|
# Fixes error finding some frameworks
|
||||||
|
# https://github.com/NixOS/nixpkgs/pull/70690#issuecomment-553704175
|
||||||
|
# https://github.com/mesonbuild/meson/pull/5980
|
||||||
|
# Should be fixed in 0.52
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/mesonbuild/meson/pull/5980.patch";
|
||||||
|
sha256 = "0g95gl662mribnnz5jcyn1jaaw8w7r1vgbg2jbm91dcrr5zji5ng";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
setupHook = ./setup-hook.sh;
|
setupHook = ./setup-hook.sh;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user