uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
336
pkgs/development/libraries/gstreamer/bad/default.nix
Normal file
336
pkgs/development/libraries/gstreamer/bad/default.nix
Normal file
|
|
@ -0,0 +1,336 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, gettext
|
||||
, pkg-config
|
||||
, python3
|
||||
, gst-plugins-base
|
||||
, orc
|
||||
, gstreamer
|
||||
, gobject-introspection
|
||||
, enableZbar ? false
|
||||
, faacSupport ? false
|
||||
, faac
|
||||
, faad2
|
||||
, ldacbt
|
||||
, libass
|
||||
, libkate
|
||||
, lrdf
|
||||
, ladspaH
|
||||
, libnice
|
||||
, webrtc-audio-processing
|
||||
, webrtc-audio-processing_1
|
||||
, lilv
|
||||
, lv2
|
||||
, serd
|
||||
, sord
|
||||
, sratom
|
||||
, libbs2b
|
||||
, libmodplug
|
||||
, libmpeg2
|
||||
, libmicrodns
|
||||
, openjpeg
|
||||
, libopus
|
||||
, librsvg
|
||||
, bluez
|
||||
, chromaprint
|
||||
, curl
|
||||
, directfb
|
||||
, fdk_aac
|
||||
, flite
|
||||
, gsm
|
||||
, json-glib
|
||||
, libaom
|
||||
, libdc1394
|
||||
, libde265
|
||||
, libdrm
|
||||
, libdvdnav
|
||||
, libdvdread
|
||||
, libgudev
|
||||
, qrencode
|
||||
, libsndfile
|
||||
, libusb1
|
||||
, neon
|
||||
, openal
|
||||
, opencv4
|
||||
, openexr
|
||||
, openh264
|
||||
, libopenmpt
|
||||
, pango
|
||||
, rtmpdump
|
||||
, sbc
|
||||
, soundtouch
|
||||
, spandsp
|
||||
, srtp
|
||||
, zbar
|
||||
, wayland-protocols
|
||||
, wildmidi
|
||||
, fluidsynth
|
||||
, libva
|
||||
, libvdpau
|
||||
, wayland
|
||||
, libwebp
|
||||
, xvidcore
|
||||
, gnutls
|
||||
, mjpegtools
|
||||
, libGLU
|
||||
, libGL
|
||||
, libintl
|
||||
, libgme
|
||||
, openssl
|
||||
, x265
|
||||
, libxml2
|
||||
, srt
|
||||
, vo-aacenc
|
||||
, libfreeaptx
|
||||
, VideoToolbox
|
||||
, AudioToolbox
|
||||
, AVFoundation
|
||||
, CoreMedia
|
||||
, CoreVideo
|
||||
, Foundation
|
||||
, MediaToolbox
|
||||
, enableGplPlugins ? true
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gst-plugins-bad";
|
||||
version = "1.20.1";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0j1q89dl8369djibc5p27lyj8y8p4maplmdzlryvrw0ib77w5lq9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
orc # for orcc
|
||||
python3
|
||||
gettext
|
||||
gstreamer # for gst-tester-1.0
|
||||
gobject-introspection
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
wayland # for wayland-scanner
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gst-plugins-base
|
||||
orc
|
||||
# gobject-introspection has to be in both nativeBuildInputs and
|
||||
# buildInputs. The build tries to link against libgirepository-1.0.so
|
||||
gobject-introspection
|
||||
json-glib
|
||||
ldacbt
|
||||
libass
|
||||
libkate
|
||||
webrtc-audio-processing # required by webrtcdsp
|
||||
#webrtc-audio-processing_1 # required by isac
|
||||
libbs2b
|
||||
libmodplug
|
||||
libmicrodns
|
||||
openjpeg
|
||||
libopenmpt
|
||||
libopus
|
||||
librsvg
|
||||
curl.dev
|
||||
fdk_aac
|
||||
gsm
|
||||
libaom
|
||||
libdc1394
|
||||
libde265
|
||||
libdvdnav
|
||||
libdvdread
|
||||
qrencode
|
||||
libsndfile
|
||||
libusb1
|
||||
neon
|
||||
openal
|
||||
opencv4
|
||||
openexr
|
||||
openh264
|
||||
rtmpdump
|
||||
pango
|
||||
soundtouch
|
||||
srtp
|
||||
fluidsynth
|
||||
libvdpau
|
||||
libwebp
|
||||
xvidcore
|
||||
gnutls
|
||||
libGL
|
||||
libGLU
|
||||
libgme
|
||||
openssl
|
||||
libxml2
|
||||
libintl
|
||||
srt
|
||||
vo-aacenc
|
||||
libfreeaptx
|
||||
] ++ lib.optionals enableZbar [
|
||||
zbar
|
||||
] ++ lib.optionals faacSupport [
|
||||
faac
|
||||
] ++ lib.optionals enableGplPlugins [
|
||||
libmpeg2
|
||||
mjpegtools
|
||||
faad2
|
||||
x265
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
bluez
|
||||
libva # vaapi requires libva -> libdrm -> libpciaccess, which is Linux-only in nixpkgs
|
||||
wayland
|
||||
wayland-protocols
|
||||
] ++ lib.optionals (!stdenv.isDarwin) [
|
||||
# wildmidi requires apple's OpenAL
|
||||
# TODO: package apple's OpenAL, fix wildmidi, include on Darwin
|
||||
wildmidi
|
||||
# TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin
|
||||
mjpegtools
|
||||
|
||||
chromaprint
|
||||
directfb
|
||||
flite
|
||||
libdrm
|
||||
libgudev
|
||||
libnice
|
||||
sbc
|
||||
spandsp
|
||||
|
||||
# ladspa plug-in
|
||||
ladspaH
|
||||
lrdf # TODO: make build on Darwin
|
||||
|
||||
# lv2 plug-in
|
||||
lilv
|
||||
lv2
|
||||
serd
|
||||
sord
|
||||
sratom
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
# 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 = [
|
||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||
"-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
|
||||
"-Dglib-asserts=disabled" # asserts should be disabled on stable releases
|
||||
|
||||
"-Davtp=disabled"
|
||||
"-Ddts=disabled" # required `libdca` library not packaged in nixpkgs as of writing, and marked as "BIG FAT WARNING: libdca is still in early development"
|
||||
"-Dzbar=${if enableZbar then "enabled" else "disabled"}"
|
||||
"-Dfaac=${if faacSupport then "enabled" else "disabled"}"
|
||||
"-Diqa=disabled" # required `dssim` library not packaging in nixpkgs as of writing, also this is AGPL so update license when adding support
|
||||
"-Dmagicleap=disabled" # required `ml_audio` library not packaged in nixpkgs as of writing
|
||||
"-Dmsdk=disabled" # not packaged in nixpkgs as of writing / no Windows support
|
||||
# As of writing, with `libmpcdec` in `buildInputs` we get
|
||||
# "Could not find libmpcdec header files, but Musepack was enabled via options"
|
||||
# This is likely because nixpkgs has the header in libmpc/mpcdec.h
|
||||
# instead of mpc/mpcdec.h, like Arch does. The situation is not trivial.
|
||||
# There are apparently 2 things called `libmpcdec` from the same author:
|
||||
# * http://svn.musepack.net/libmpcdec/trunk/src/
|
||||
# * http://svn.musepack.net/libmpc/trunk/include/mpc/
|
||||
# Fixing it likely requires to first figure out with upstream which one
|
||||
# is needed, and then patching upstream to find it (though it probably
|
||||
# already works on Arch?).
|
||||
"-Dmusepack=disabled"
|
||||
"-Dopenni2=disabled" # not packaged in nixpkgs as of writing
|
||||
"-Dopensles=disabled" # not packaged in nixpkgs as of writing
|
||||
"-Dsctp=disabled" # required `usrsctp` library not packaged in nixpkgs as of writing
|
||||
"-Dsvthevcenc=disabled" # required `SvtHevcEnc` library not packaged in nixpkgs as of writing
|
||||
"-Dteletext=disabled" # required `zvbi` library not packaged in nixpkgs as of writing
|
||||
"-Dtinyalsa=disabled" # not packaged in nixpkgs as of writing
|
||||
"-Dvoamrwbenc=disabled" # required `vo-amrwbenc` library not packaged in nixpkgs as of writing
|
||||
"-Dvulkan=disabled" # Linux-only, and we haven't figured out yet which of the vulkan nixpkgs it needs
|
||||
"-Dwasapi=disabled" # not packaged in nixpkgs as of writing / no Windows support
|
||||
"-Dwasapi2=disabled" # not packaged in nixpkgs as of writing / no Windows support
|
||||
"-Dwpe=disabled" # required `wpe-webkit` library not packaged in nixpkgs as of writing
|
||||
"-Dzxing=disabled" # required `zxing-cpp` library not packaged in nixpkgs as of writing
|
||||
"-Disac=disabled" # depends on `webrtc-audio-coding-1` not compatible with 0.3
|
||||
"-Dgs=disabled" # depends on `google-cloud-cpp`
|
||||
"-Donnx=disabled" # depends on `libonnxruntime` not packaged in nixpkgs as of writing
|
||||
"-Dopenaptx=enabled" # since gstreamer-1.20.1 `libfreeaptx` is supported for circumventing the dubious license conflict with `libopenaptx`
|
||||
]
|
||||
++ lib.optionals (!stdenv.isLinux) [
|
||||
"-Dva=disabled" # see comment on `libva` in `buildInputs`
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
"-Dbluez=disabled"
|
||||
"-Dchromaprint=disabled"
|
||||
"-Ddirectfb=disabled"
|
||||
"-Dflite=disabled"
|
||||
"-Dkms=disabled" # renders to libdrm output
|
||||
"-Dlv2=disabled"
|
||||
"-Dsbc=disabled"
|
||||
"-Dspandsp=disabled"
|
||||
"-Ddvb=disabled"
|
||||
"-Dfbdev=disabled"
|
||||
"-Duvch264=disabled" # requires gudev
|
||||
"-Dv4l2codecs=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
|
||||
] ++ lib.optionals (!gst-plugins-base.glEnabled) [
|
||||
"-Dgl=disabled"
|
||||
] ++ lib.optionals (!gst-plugins-base.waylandEnabled) [
|
||||
"-Dwayland=disabled"
|
||||
] ++ lib.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"
|
||||
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||
"-Dintrospection=disabled"
|
||||
] ++ (if enableGplPlugins then [
|
||||
"-Dgpl=enabled"
|
||||
] else [
|
||||
"-Ddts=disabled"
|
||||
"-Dfaad=disabled"
|
||||
"-Diqa=disabled"
|
||||
"-Dmpeg2enc=disabled"
|
||||
"-Dmplex=disabled"
|
||||
"-Dresindvd=disabled"
|
||||
"-Dx265=disabled"
|
||||
]);
|
||||
|
||||
# Argument list too long
|
||||
strictDeps = true;
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs \
|
||||
scripts/extract-release-date-from-doap-file.py
|
||||
'';
|
||||
|
||||
# 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
|
||||
|
||||
meta = with 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 = if enableGplPlugins then licenses.gpl2Plus else licenses.lgpl2Plus;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ matthewbauer ];
|
||||
};
|
||||
}
|
||||
158
pkgs/development/libraries/gstreamer/base/default.nix
Normal file
158
pkgs/development/libraries/gstreamer/base/default.nix
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
{ stdenv
|
||||
, fetchurl
|
||||
, lib
|
||||
, pkg-config
|
||||
, meson
|
||||
, ninja
|
||||
, gettext
|
||||
, python3
|
||||
, gstreamer
|
||||
, orc
|
||||
, pango
|
||||
, libtheora
|
||||
, libintl
|
||||
, libopus
|
||||
, isocodes
|
||||
, libjpeg
|
||||
, libpng
|
||||
, libvisual
|
||||
, tremor # provides 'virbisidec'
|
||||
, libGL
|
||||
, enableX11 ? stdenv.isLinux
|
||||
, libXv
|
||||
, libXext
|
||||
, enableWayland ? stdenv.isLinux
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
, enableAlsa ? stdenv.isLinux
|
||||
, alsa-lib
|
||||
# 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
|
||||
, Cocoa
|
||||
, OpenGL
|
||||
, enableGl ? (enableX11 || enableWayland || enableCocoa)
|
||||
, enableCdparanoia ? (!stdenv.isDarwin)
|
||||
, cdparanoia
|
||||
, glib
|
||||
, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform
|
||||
, gobject-introspection
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gst-plugins-base";
|
||||
version = "1.20.1";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0162ly7pscymq6bsf1d5fva2k9s16zvfwyi1q6z4yfd97d0sdn4n";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
gettext
|
||||
orc
|
||||
glib
|
||||
gstreamer
|
||||
# docs
|
||||
# TODO add hotdoc here
|
||||
] ++ lib.optionals withIntrospection [
|
||||
gobject-introspection
|
||||
] ++ lib.optional enableWayland wayland;
|
||||
|
||||
buildInputs = [
|
||||
orc
|
||||
libtheora
|
||||
libintl
|
||||
libopus
|
||||
isocodes
|
||||
libpng
|
||||
libjpeg
|
||||
tremor
|
||||
libGL
|
||||
] ++ lib.optional (!stdenv.isDarwin) [
|
||||
libvisual
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
pango
|
||||
OpenGL
|
||||
] ++ lib.optionals enableAlsa [
|
||||
alsa-lib
|
||||
] ++ lib.optionals enableX11 [
|
||||
libXext
|
||||
libXv
|
||||
pango
|
||||
] ++ lib.optionals enableWayland [
|
||||
wayland
|
||||
wayland-protocols
|
||||
] ++ lib.optionals withIntrospection [
|
||||
gobject-introspection
|
||||
] ++ lib.optional enableCocoa Cocoa
|
||||
++ lib.optional enableCdparanoia cdparanoia;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gstreamer
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||
"-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
|
||||
"-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")}"
|
||||
"-Dintrospection=${if withIntrospection then "enabled" else "disabled"}"
|
||||
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||
"-Dtests=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 = ''
|
||||
patchShebangs \
|
||||
scripts/meson-pkg-config-file-fixup.py \
|
||||
scripts/extract-release-date-from-doap-file.py
|
||||
'';
|
||||
|
||||
# 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
|
||||
|
||||
passthru = {
|
||||
# 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 ];
|
||||
};
|
||||
}
|
||||
118
pkgs/development/libraries/gstreamer/core/default.nix
Normal file
118
pkgs/development/libraries/gstreamer/core/default.nix
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
{ stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, gettext
|
||||
, bison
|
||||
, flex
|
||||
, python3
|
||||
, glib
|
||||
, makeWrapper
|
||||
, libcap
|
||||
, libunwind
|
||||
, darwin
|
||||
, elfutils # for libdw
|
||||
, bash-completion
|
||||
, lib
|
||||
, CoreServices
|
||||
, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform
|
||||
, gobject-introspection
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gstreamer";
|
||||
version = "1.20.1";
|
||||
|
||||
outputs = [
|
||||
"bin"
|
||||
"out"
|
||||
"dev"
|
||||
# "devdoc" # disabled until `hotdoc` is packaged in nixpkgs, see:
|
||||
# - https://github.com/NixOS/nixpkgs/pull/98767
|
||||
# - https://github.com/NixOS/nixpkgs/issues/98769#issuecomment-702296551
|
||||
];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0cghi6n4nhdbajz3wqcgbh5xm94myvnqgsi9g2bz9n1s9904l2fy";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gettext
|
||||
bison
|
||||
flex
|
||||
python3
|
||||
makeWrapper
|
||||
glib
|
||||
bash-completion
|
||||
|
||||
# documentation
|
||||
# TODO add hotdoc here
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
libcap # for setcap binary
|
||||
] ++ lib.optionals withIntrospection [
|
||||
gobject-introspection
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
bash-completion
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
libcap
|
||||
libunwind
|
||||
elfutils
|
||||
] ++ lib.optionals withIntrospection [
|
||||
gobject-introspection
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
CoreServices
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
glib
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-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
|
||||
"-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
|
||||
"-Dintrospection=${if withIntrospection then "enabled" else "disabled"}"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
# darwin.libunwind doesn't have pkg-config definitions so meson doesn't detect it.
|
||||
"-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 \
|
||||
scripts/extract-release-date-from-doap-file.py
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
for prog in "$bin/bin/"*; do
|
||||
# We can't use --suffix here due to quoting so we craft the export command by hand
|
||||
wrapProgram "$prog" --run 'export GST_PLUGIN_SYSTEM_PATH_1_0=$GST_PLUGIN_SYSTEM_PATH_1_0''${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$(unset _tmp; for profile in $NIX_PROFILES; do _tmp="$profile/lib/gstreamer-1.0''${_tmp:+:}$_tmp"; done; printf '%s' "$_tmp")'
|
||||
done
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
moveToOutput "share/bash-completion" "$bin"
|
||||
'';
|
||||
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
9
pkgs/development/libraries/gstreamer/core/setup-hook.sh
Normal file
9
pkgs/development/libraries/gstreamer/core/setup-hook.sh
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
addGstreamer1LibPath () {
|
||||
if test -d "$1/lib/gstreamer-1.0"
|
||||
then
|
||||
export GST_PLUGIN_SYSTEM_PATH_1_0="${GST_PLUGIN_SYSTEM_PATH_1_0-}${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$1/lib/gstreamer-1.0"
|
||||
fi
|
||||
}
|
||||
|
||||
addEnvHooks "$hostOffset" addGstreamer1LibPath
|
||||
|
||||
29
pkgs/development/libraries/gstreamer/default.nix
Normal file
29
pkgs/development/libraries/gstreamer/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ callPackage, AudioToolbox, AVFoundation, Cocoa, CoreFoundation, CoreMedia, CoreServices, CoreVideo, DiskArbitration, Foundation, IOKit, MediaToolbox, OpenGL, VideoToolbox }:
|
||||
|
||||
{
|
||||
gstreamer = callPackage ./core { inherit CoreServices; };
|
||||
|
||||
gstreamermm = callPackage ./gstreamermm { };
|
||||
|
||||
gst-plugins-base = callPackage ./base { inherit Cocoa OpenGL; };
|
||||
|
||||
gst-plugins-good = callPackage ./good { inherit Cocoa; };
|
||||
|
||||
gst-plugins-bad = callPackage ./bad { inherit AudioToolbox AVFoundation CoreMedia CoreVideo Foundation MediaToolbox VideoToolbox; };
|
||||
|
||||
gst-plugins-ugly = callPackage ./ugly { inherit CoreFoundation DiskArbitration IOKit; };
|
||||
|
||||
gst-plugins-viperfx = callPackage ./viperfx { };
|
||||
|
||||
gst-rtsp-server = callPackage ./rtsp-server { };
|
||||
|
||||
gst-libav = callPackage ./libav { };
|
||||
|
||||
gst-devtools = callPackage ./devtools { };
|
||||
|
||||
gst-editing-services = callPackage ./ges { };
|
||||
|
||||
gst-vaapi = callPackage ./vaapi { };
|
||||
|
||||
# note: gst-python is in ./python/default.nix - called under pythonPackages
|
||||
}
|
||||
62
pkgs/development/libraries/gstreamer/devtools/default.nix
Normal file
62
pkgs/development/libraries/gstreamer/devtools/default.nix
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, cairo
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, gstreamer
|
||||
, gst-plugins-base
|
||||
, python3
|
||||
, gobject-introspection
|
||||
, json-glib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gst-devtools";
|
||||
version = "1.20.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0asbapgf485h2gqq0sn9c4qknwi0ccpraf1685ixp2sv23pwgwc1";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
# "devdoc" # disabled until `hotdoc` is packaged in nixpkgs
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gobject-introspection
|
||||
|
||||
# documentation
|
||||
# TODO add hotdoc here
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cairo
|
||||
python3
|
||||
json-glib
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
|
||||
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||
"-Dintrospection=disabled"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Integration testing infrastructure for the GStreamer framework";
|
||||
homepage = "https://gstreamer.freedesktop.org";
|
||||
license = licenses.lgpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
73
pkgs/development/libraries/gstreamer/ges/default.nix
Normal file
73
pkgs/development/libraries/gstreamer/ges/default.nix
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, python3
|
||||
, bash-completion
|
||||
, gst-plugins-base
|
||||
, gst-plugins-bad
|
||||
, gst-devtools
|
||||
, libxml2
|
||||
, flex
|
||||
, gettext
|
||||
, gobject-introspection
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gst-editing-services";
|
||||
version = "1.20.1";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
# "devdoc" # disabled until `hotdoc` is packaged in nixpkgs
|
||||
];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1ps887yyj6jkj8a2613n43b4fbvynxwryinxvavi00cfnlhipkka";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gettext
|
||||
gobject-introspection
|
||||
gst-devtools
|
||||
python3
|
||||
flex
|
||||
|
||||
# documentation
|
||||
# TODO add hotdoc here
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
bash-completion
|
||||
libxml2
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gst-plugins-base
|
||||
gst-plugins-bad
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
|
||||
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||
"-Dintrospection=disabled"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs \
|
||||
scripts/extract-release-date-from-doap-file.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library for creation of audio/video non-linear editors";
|
||||
homepage = "https://gstreamer.freedesktop.org";
|
||||
license = licenses.lgpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
181
pkgs/development/libraries/gstreamer/good/default.nix
Normal file
181
pkgs/development/libraries/gstreamer/good/default.nix
Normal file
|
|
@ -0,0 +1,181 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, nasm
|
||||
, ninja
|
||||
, pkg-config
|
||||
, python3
|
||||
, gst-plugins-base
|
||||
, orc
|
||||
, bzip2
|
||||
, gettext
|
||||
, libv4l
|
||||
, libdv
|
||||
, libavc1394
|
||||
, libiec61883
|
||||
, libvpx
|
||||
, speex
|
||||
, flac
|
||||
, taglib
|
||||
, libshout
|
||||
, cairo
|
||||
, gdk-pixbuf
|
||||
, aalib
|
||||
, libcaca
|
||||
, libsoup
|
||||
, libpulseaudio
|
||||
, libintl
|
||||
, Cocoa
|
||||
, lame
|
||||
, mpg123
|
||||
, twolame
|
||||
, gtkSupport ? false, gtk3
|
||||
, qt5Support ? false, qt5
|
||||
, raspiCameraSupport ? false, libraspberrypi
|
||||
, enableJack ? true, libjack2
|
||||
, libXdamage
|
||||
, libXext
|
||||
, libXfixes
|
||||
, ncurses
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
, xorg
|
||||
, libgudev
|
||||
, wavpack
|
||||
, glib
|
||||
}:
|
||||
|
||||
assert raspiCameraSupport -> (stdenv.isLinux && stdenv.isAarch64);
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gst-plugins-good";
|
||||
version = "1.20.1";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1al4f35mx41cy2h6agvmsqkjfchsyfs0iyxzpv6pnl0xh9pqfriw";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
depsBuildBuild = [ pkg-config ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
python3
|
||||
meson
|
||||
ninja
|
||||
gettext
|
||||
nasm
|
||||
orc
|
||||
libshout
|
||||
glib
|
||||
] ++ lib.optionals qt5Support (with qt5; [
|
||||
qtbase
|
||||
]) ++ lib.optionals stdenv.isLinux [
|
||||
wayland-protocols
|
||||
];
|
||||
|
||||
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
|
||||
] ++ lib.optionals raspiCameraSupport [
|
||||
libraspberrypi
|
||||
] ++ lib.optionals gtkSupport [
|
||||
# for gtksink
|
||||
gtk3
|
||||
] ++ lib.optionals qt5Support (with qt5; [
|
||||
qtbase
|
||||
qtdeclarative
|
||||
qtwayland
|
||||
qtx11extras
|
||||
]) ++ lib.optionals stdenv.isDarwin [
|
||||
Cocoa
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
libv4l
|
||||
libpulseaudio
|
||||
libavc1394
|
||||
libiec61883
|
||||
libgudev
|
||||
wayland
|
||||
] ++ lib.optionals enableJack [
|
||||
libjack2
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||
"-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
|
||||
"-Dglib-asserts=disabled" # asserts should be disabled on stable releases
|
||||
] ++ lib.optionals (!qt5Support) [
|
||||
"-Dqt5=disabled"
|
||||
] ++ lib.optionals (!gtkSupport) [
|
||||
"-Dgtk3=disabled"
|
||||
] ++ lib.optionals (!enableJack) [
|
||||
"-Djack=disabled"
|
||||
] ++ lib.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
|
||||
] ++ lib.optionals (!raspiCameraSupport) [
|
||||
"-Drpicamsrc=disabled"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs \
|
||||
scripts/extract-release-date-from-doap-file.py
|
||||
'';
|
||||
|
||||
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;
|
||||
|
||||
# must be explicitely set since 5590e365
|
||||
dontWrapQtApps = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "GStreamer Good Plugins";
|
||||
homepage = "https://gstreamer.freedesktop.org";
|
||||
longDescription = ''
|
||||
a set of plug-ins that we consider to have good quality code,
|
||||
correct functionality, our preferred license (LGPL for the plug-in
|
||||
code, LGPL or LGPL-compatible for the supporting library).
|
||||
'';
|
||||
license = licenses.lgpl2Plus;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ matthewbauer ];
|
||||
};
|
||||
}
|
||||
35
pkgs/development/libraries/gstreamer/gstreamermm/default.nix
Normal file
35
pkgs/development/libraries/gstreamer/gstreamermm/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, file, glibmm, gst_all_1, gnome }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gstreamermm";
|
||||
version = "1.10.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0q4dx9sncqbwgpzma0zvj6zssc279yl80pn8irb95qypyyggwn5y";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config file ];
|
||||
|
||||
propagatedBuildInputs = [ glibmm gst_all_1.gst-plugins-base ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
attrPath = "gst_all_1.gstreamermm";
|
||||
packageName = "gstreamermm";
|
||||
versionPolicy = "odd-unstable";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "C++ interface for GStreamer";
|
||||
homepage = "https://gstreamer.freedesktop.org/bindings/cplusplus.html";
|
||||
license = licenses.lgpl21Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
|
||||
}
|
||||
57
pkgs/development/libraries/gstreamer/libav/default.nix
Normal file
57
pkgs/development/libraries/gstreamer/libav/default.nix
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, python3
|
||||
, gstreamer
|
||||
, gst-plugins-base
|
||||
, gettext
|
||||
, libav
|
||||
}:
|
||||
|
||||
# Note that since gst-libav-1.6, libav is actually ffmpeg. See
|
||||
# https://gstreamer.freedesktop.org/releases/1.6/ for more info.
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gst-libav";
|
||||
version = "1.20.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1iwz7928yi48xia5kfkj54x5dfmhbj25g9125vainpmp6fv1z9wi";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
gettext
|
||||
pkg-config
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
libav
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs \
|
||||
scripts/extract-release-date-from-doap-file.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "FFmpeg/libav plugin for GStreamer";
|
||||
homepage = "https://gstreamer.freedesktop.org";
|
||||
license = licenses.lgpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
68
pkgs/development/libraries/gstreamer/rtsp-server/default.nix
Normal file
68
pkgs/development/libraries/gstreamer/rtsp-server/default.nix
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, python3
|
||||
, gettext
|
||||
, gobject-introspection
|
||||
, gst-plugins-base
|
||||
, gst-plugins-bad
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gst-rtsp-server";
|
||||
version = "1.20.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "028maajlvfn96v3gqk2ws1k6w9hjfk7dsxnm84d73pnpi99bqia7";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
# "devdoc" # disabled until `hotdoc` is packaged in nixpkgs
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
gettext
|
||||
gobject-introspection
|
||||
pkg-config
|
||||
python3
|
||||
|
||||
# documentation
|
||||
# TODO add hotdoc here
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gst-plugins-base
|
||||
gst-plugins-bad
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||
"-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
|
||||
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||
"-Dintrospection=disabled"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs \
|
||||
scripts/extract-release-date-from-doap-file.py
|
||||
'';
|
||||
|
||||
meta = with 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 ];
|
||||
};
|
||||
}
|
||||
94
pkgs/development/libraries/gstreamer/ugly/default.nix
Normal file
94
pkgs/development/libraries/gstreamer/ugly/default.nix
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
{ stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, python3
|
||||
, gst-plugins-base
|
||||
, orc
|
||||
, gettext
|
||||
, a52dec
|
||||
, libcdio
|
||||
, libdvdread
|
||||
, libmad
|
||||
, libmpeg2
|
||||
, x264
|
||||
, libintl
|
||||
, lib
|
||||
, opencore-amr
|
||||
, IOKit
|
||||
, CoreFoundation
|
||||
, DiskArbitration
|
||||
, enableGplPlugins ? true
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gst-plugins-ugly";
|
||||
version = "1.20.1";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "06fvgyjwcf4paqxgp1xmgd0d0glkxys7n818526k10wrw92m20s2";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
gettext
|
||||
pkg-config
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gst-plugins-base
|
||||
orc
|
||||
libintl
|
||||
opencore-amr
|
||||
] ++ lib.optionals enableGplPlugins [
|
||||
a52dec
|
||||
libcdio
|
||||
libdvdread
|
||||
libmad
|
||||
libmpeg2
|
||||
x264
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
IOKit
|
||||
CoreFoundation
|
||||
DiskArbitration
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
|
||||
"-Dsidplay=disabled" # sidplay / sidplay/player.h isn't packaged in nixpkgs as of writing
|
||||
] ++ (if enableGplPlugins then [
|
||||
"-Dgpl=enabled"
|
||||
] else [
|
||||
"-Da52dec=disabled"
|
||||
"-Dcdio=disabled"
|
||||
"-Ddvdread=disabled"
|
||||
"-Dmpeg2dec=disabled"
|
||||
"-Dsidplay=disabled"
|
||||
"-Dx264=disabled"
|
||||
]);
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs \
|
||||
scripts/extract-release-date-from-doap-file.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Gstreamer Ugly Plugins";
|
||||
homepage = "https://gstreamer.freedesktop.org";
|
||||
longDescription = ''
|
||||
a set of plug-ins that have good quality and correct functionality,
|
||||
but distributing them might pose problems. The license on either
|
||||
the plug-ins or the supporting libraries might not be how we'd
|
||||
like. The code might be widely known to present patent problems.
|
||||
'';
|
||||
license = if enableGplPlugins then licenses.gpl2Plus else licenses.lgpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ matthewbauer ];
|
||||
};
|
||||
}
|
||||
85
pkgs/development/libraries/gstreamer/vaapi/default.nix
Normal file
85
pkgs/development/libraries/gstreamer/vaapi/default.nix
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, gst-plugins-base
|
||||
, bzip2
|
||||
, libva
|
||||
, wayland
|
||||
, libdrm
|
||||
, udev
|
||||
, xorg
|
||||
, libGLU
|
||||
, libGL
|
||||
, gstreamer
|
||||
, gst-plugins-bad
|
||||
, nasm
|
||||
, libvpx
|
||||
, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gstreamer-vaapi";
|
||||
version = "1.20.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0dqiy8mhcpq3yla8dk69pkjid7hiv98ykvwskb4pk45g6z2zdyw7";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
# "devdoc" # disabled until `hotdoc` is packaged in nixpkgs
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
bzip2
|
||||
|
||||
# documentation
|
||||
# TODO add hotdoc here
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
gst-plugins-bad
|
||||
libva
|
||||
wayland
|
||||
libdrm
|
||||
udev
|
||||
xorg.libX11
|
||||
xorg.libXext
|
||||
xorg.libXv
|
||||
xorg.libXrandr
|
||||
xorg.libSM
|
||||
xorg.libICE
|
||||
libGL
|
||||
libGLU
|
||||
nasm
|
||||
libvpx
|
||||
python3
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||
"-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs \
|
||||
scripts/extract-release-date-from-doap-file.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Set of VAAPI GStreamer Plug-ins";
|
||||
homepage = "https://gstreamer.freedesktop.org";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ tstrobel ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
41
pkgs/development/libraries/gstreamer/viperfx/default.nix
Normal file
41
pkgs/development/libraries/gstreamer/viperfx/default.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, wrapGAppsHook
|
||||
, gst_all_1
|
||||
, cmake
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gst-plugins-viperfx";
|
||||
version = "unstable-2020-9-20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Audio4Linux";
|
||||
repo = "gst-plugin-viperfx";
|
||||
rev = "a5c1b03dfe1ab0822b717a5f9392e9f1237fdba0";
|
||||
sha256 = "sha256-0so4jV56nl3tZHuZpvtyMrpOZ4tNJ59Pyj6zbV5bJ5Y=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -D libgstviperfx.so $out/lib/gstreamer-1.0/libgstviperfx.so
|
||||
install -D $src/COPYING $out/share/licenses/gst-plugins-viperfx/LICENSE
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "ViPER FX core wrapper plug-in for GStreamer1";
|
||||
homepage = "https://github.com/Audio4Linux/gst-plugin-viperfx";
|
||||
license = licenses.unfreeRedistributable;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ rewine ];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue