diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix | 155 |
1 files changed, 106 insertions, 49 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix b/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix index c801684b0659..a7c2bcf838e7 100644 --- a/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix +++ b/nixpkgs/pkgs/development/libraries/gstreamer/good/default.nix @@ -1,14 +1,37 @@ -{ stdenv, fetchurl, meson, ninja, pkgconfig, python -, 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 +{ stdenv +, fetchurl +, meson +, ninja +, pkgconfig +, python3 +, 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 -# As of writing, jack2 incurs a Qt dependency (big!) via `ffado`. -# In the fuure we should probably split `ffado`. -, enableJack ? false + # As of writing, jack2 incurs a Qt dependency (big!) via `ffado`. + # In the future we should probably split `ffado`. +, enableJack ? false, jack2 , libXdamage , libXext , libXfixes @@ -16,49 +39,53 @@ , xorg , libgudev , wavpack -, jack2 }: assert gtkSupport -> gtk3 != null; let - inherit (stdenv.lib) optional optionals; + inherit (stdenv.lib) optionals; in stdenv.mkDerivation rec { pname = "gst-plugins-good"; - version = "1.16.0"; + version = "1.16.2"; - meta = with stdenv.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 ]; - }; + outputs = [ "out" "dev" ]; src = fetchurl { - url = "${meta.homepage}/src/gst-plugins-good/${pname}-${version}.tar.xz"; - sha256 = "1zdhif1mhf0ihkjpjyrh65g2iz2cawkjjb3h5w8h9ml06grxwjk5"; + url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz"; + sha256 = "068k3cbv1yf3gbllfdzqsg263kzwh21y8dpwr0wvgh15vapkpfs0"; }; - outputs = [ "out" "dev" ]; - patches = [ ./fix_pkgconfig_includedir.patch ]; - nativeBuildInputs = [ pkgconfig python meson ninja gettext ]; - - NIX_LDFLAGS = "-lncurses"; + nativeBuildInputs = [ + pkgconfig + python3 + 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 + gst-plugins-base + orc + bzip2 + libdv + libvpx + speex + flac + taglib + cairo + gdk-pixbuf + aalib + libcaca + libsoup + libshout + lame + mpg123 + twolame + libintl libXdamage libXext libXfixes @@ -66,29 +93,59 @@ stdenv.mkDerivation rec { 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) [ + ] ++ optionals 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 = [ - # 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) [ + ] ++ optionals (!gtkSupport) [ + "-Dgtk3=disabled" + ] ++ optionals (!stdenv.isLinux || !enableJack) [ "-Djack=disabled" # unclear whether Jack works on Darwin - ] - ++ optionals (!stdenv.isLinux) [ - "-Dv4l2-gudev=disabled" + ] ++ 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; { + 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 ]; + }; } |