Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 19 additions & 20 deletions pkgs/by-name/or/orc/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
meson,
ninja,
file,
docbook_xsl,
docbook-xsl-nons,
gtk-doc ? null,
buildDevDoc ? gtk-doc != null,

Expand All @@ -14,42 +14,41 @@
gst_all_1,
qt6,
vips,

}:
let
inherit (lib) optional optionals;
in
stdenv.mkDerivation rec {

stdenv.mkDerivation (finalAttrs: {
pname = "orc";
version = "0.4.40";
version = "0.4.41";

outputs = [
"out"
"dev"
] ++ lib.optional buildDevDoc "devdoc";
outputBin = "dev"; # compilation tools

src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/orc/${pname}-${version}.tar.xz";
hash = "sha256-P8K+5437fEH9lgUGH8aRONt98Afq4vZpofVui6zvdKs=";
url = "https://gstreamer.freedesktop.org/src/orc/orc-${finalAttrs.version}.tar.xz";
hash = "sha256-yxv9T2VSic05vARkLVl76d5UJ2I/CGHB/BnAjZhGf6I=";
};

postPatch = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) ''
# This benchmark times out on Hydra.nixos.org
sed -i '/memcpy_speed/d' testsuite/meson.build
'';

outputs = [
"out"
"dev"
] ++ optional buildDevDoc "devdoc";
outputBin = "dev"; # compilation tools

mesonFlags = optionals (!buildDevDoc) [ "-Dgtk_doc=disabled" ];
mesonFlags = [
(lib.mesonEnable "gtk_doc" buildDevDoc)
];

nativeBuildInputs =
[
meson
ninja
]
++ optionals buildDevDoc [
++ lib.optionals buildDevDoc [
gtk-doc
file
docbook_xsl
docbook-xsl-nons
];

# https://gitlab.freedesktop.org/gstreamer/orc/-/issues/41
Expand All @@ -70,7 +69,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Oil Runtime Compiler";
homepage = "https://gstreamer.freedesktop.org/projects/orc.html";
changelog = "https://cgit.freedesktop.org/gstreamer/orc/plain/RELEASE?h=${version}";
changelog = "https://gitlab.freedesktop.org/gstreamer/orc/-/blob/${finalAttrs.version}/RELEASE";
# The source code implementing the Marsenne Twister algorithm is licensed
# under the 3-clause BSD license. The rest is 2-clause BSD license.
license = with licenses; [
Expand All @@ -80,4 +79,4 @@ stdenv.mkDerivation rec {
platforms = platforms.unix;
maintainers = [ ];
};
}
})
40 changes: 29 additions & 11 deletions pkgs/development/libraries/gstreamer/bad/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
, opencvSupport ? false
, opencv4
, faad2
, lcevcdec
, ldacbt
, liblc3
, libass
Expand Down Expand Up @@ -105,6 +106,7 @@
, CoreVideo
, Foundation
, MediaToolbox
, directoryListingUpdater
, enableGplPlugins ? true
, bluezSupport ? stdenv.hostPlatform.isLinux
# Causes every application using GstDeviceMonitor to send mDNS queries every 2 seconds
Expand All @@ -114,27 +116,32 @@
, guiSupport ? true
}:

stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "gst-plugins-bad";
version = "1.24.10";
version = "1.26.0";

outputs = [ "out" "dev" ];
outputs = [
"out"
"dev"
];

src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-FwfjEDlQybrtNkqK8roEldaxE/zTbhBi3aX1grj4kE0=";
url = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${finalAttrs.version}.tar.xz";
hash = "sha256-+Ch6hMX2Y2ilpQ2l+WmZSgLEfyAiD/4coxVBk+Za8hY=";
};

patches = [
# Add fallback paths for nvidia userspace libraries
(replaceVars ./fix-paths.patch {
inherit (addDriverRunpath) driverLink;
})
# Add support for newer AJA SDK from next GStreamer release

# Fix Requires in gstreamer-analytics-1.0.pc
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8661
(fetchpatch {
url = "https://github.com/GStreamer/gstreamer/commit/d68ac0db571f44cae42b57c876436b3b09df616b.patch";
hash = "sha256-ZXwlHzuPT8kUKt5+HkqFH5tzL9l5NusDXImabj4fBbI=";
relative = "subprojects/${pname}";
url = "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/bc93bbf5c87ec994ea136bb40accc09dfa35ae98.patch";
stripLen = 2;
hash = "sha256-QQDpHe363iPxTuthITRbLUKaAXS2F9s5zfCn/ps14WE=";
})
];

Expand Down Expand Up @@ -172,6 +179,7 @@ stdenv.mkDerivation rec {
curl.dev
fdk_aac
gsm
lcevcdec
libaom
libdc1394
libde265
Expand Down Expand Up @@ -269,16 +277,19 @@ stdenv.mkDerivation rec {

mesonFlags = [
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
"-Dglib-asserts=disabled" # asserts should be disabled on stable releases
"-Dglib_debug=disabled" # cast checks should be disabled on stable releases

"-Damfcodec=disabled" # Windows-only
"-Dandroidmedia=disabled" # Requires Android system.
"-Davtp=disabled"
"-Dcuda-nvmm=disabled"
"-Ddirectshow=disabled" # Windows-only
"-Dqt6d3d11=disabled" # Windows-only
"-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
"-Dlcevcencoder=disabled" # not packaged in nixpkgs as of writing
"-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
Expand All @@ -292,9 +303,12 @@ stdenv.mkDerivation rec {
# is needed, and then patching upstream to find it (though it probably
# already works on Arch?).
"-Dmusepack=disabled"
"-Dnvcomp=disabled"
"-Dnvdswrapper=disabled"
"-Dopenni2=disabled" # not packaged in nixpkgs as of writing
"-Dopensles=disabled" # not packaged in nixpkgs as of writing
"-Dsvthevcenc=disabled" # required `SvtHevcEnc` library not packaged in nixpkgs as of writing
"-Dsvtjpegxs=disabled" # 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
Expand Down Expand Up @@ -369,6 +383,10 @@ stdenv.mkDerivation rec {

doCheck = false; # fails 20 out of 58 tests, expensive

passthru = {
updateScript = directoryListingUpdater { };
};

meta = with lib; {
description = "GStreamer Bad Plugins";
mainProgram = "gst-transcoder-1.0";
Expand All @@ -383,4 +401,4 @@ stdenv.mkDerivation rec {
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ matthewbauer ];
};
}
})
19 changes: 12 additions & 7 deletions pkgs/development/libraries/gstreamer/base/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -44,21 +44,23 @@
# Checks meson.is_cross_build(), so even canExecute isn't enough.
, enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform
, hotdoc
, directoryListingUpdater
}:

stdenv.mkDerivation (finalAttrs: {
pname = "gst-plugins-base";
version = "1.24.10";
version = "1.26.0";

outputs = [ "out" "dev" ];
outputs = [
"out"
"dev"
];

separateDebugInfo = true;

src = let
inherit (finalAttrs) pname version;
in fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-69V7G+kkxuJPMn3VW6udj7quvl4dyPynhBgqsrEtI+s=";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${finalAttrs.version}.tar.xz";
hash = "sha256-4jGJ++0uxIZpA4LRBVwZ7q9arj6V4ldvxMiE2WqQ5p4=";
};

strictDeps = true;
Expand Down Expand Up @@ -117,6 +119,7 @@ stdenv.mkDerivation (finalAttrs: {
];

mesonFlags = [
"-Dglib_debug=disabled" # cast checks should be disabled on stable releases
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
# 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")}"
Expand Down Expand Up @@ -160,6 +163,8 @@ stdenv.mkDerivation (finalAttrs: {
# vs what was built) and to make them easier to search for.
glEnabled = enableGl;
waylandEnabled = enableWayland;

updateScript = directoryListingUpdater { };
};

passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
Expand Down
87 changes: 48 additions & 39 deletions pkgs/development/libraries/gstreamer/core/default.nix
Original file line number Diff line number Diff line change
@@ -1,43 +1,48 @@
{ stdenv
, fetchurl
, meson
, ninja
, pkg-config
, gettext
, bison
, flex
, python3
, glib
, makeWrapper
, libcap
, elfutils # for libdw
, bash-completion
, lib
, Cocoa
, CoreServices
, xpc
, testers
, rustc
, withRust ?
lib.any (lib.meta.platformMatch stdenv.hostPlatform) rustc.targetPlatforms &&
lib.all (p: !lib.meta.platformMatch stdenv.hostPlatform p) rustc.badTargetPlatforms
, gobject-introspection
, buildPackages
, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages
, libunwind
, withLibunwind ?
lib.meta.availableOn stdenv.hostPlatform libunwind &&
lib.elem "libunwind" libunwind.meta.pkgConfigModules or []
# Checks meson.is_cross_build(), so even canExecute isn't enough.
, enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform, hotdoc
{
stdenv,
fetchurl,
meson,
ninja,
pkg-config,
gettext,
bison,
flex,
python3,
glib,
makeWrapper,
libcap,
elfutils, # for libdw
bash-completion,
lib,
Cocoa,
CoreServices,
xpc,
testers,
rustc,
withRust ?
lib.any (lib.meta.platformMatch stdenv.hostPlatform) rustc.targetPlatforms
&& lib.all (p: !lib.meta.platformMatch stdenv.hostPlatform p) rustc.badTargetPlatforms,
gobject-introspection,
buildPackages,
withIntrospection ?
lib.meta.availableOn stdenv.hostPlatform gobject-introspection
&& stdenv.hostPlatform.emulatorAvailable buildPackages,
libunwind,
withLibunwind ?
lib.meta.availableOn stdenv.hostPlatform libunwind
&& lib.elem "libunwind" libunwind.meta.pkgConfigModules or [ ],
# Checks meson.is_cross_build(), so even canExecute isn't enough.
enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform,
hotdoc,
directoryListingUpdater,
}:

let
hasElfutils = lib.meta.availableOn stdenv.hostPlatform elfutils;
in
stdenv.mkDerivation (finalAttrs: {
pname = "gstreamer";
version = "1.24.10";
version = "1.26.0";

outputs = [
"bin"
Expand All @@ -47,11 +52,9 @@ stdenv.mkDerivation (finalAttrs: {

separateDebugInfo = true;

src = let
inherit (finalAttrs) pname version;
in fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-n8RbGjMuj4EvCelcKBzXWWn20WgtBiqBXbDnvAR1GP0=";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${finalAttrs.version}.tar.xz";
hash = "sha256-Gy7kAoAQwlt3bv+nw5bH4+GGG2C5QX5Bb0kUq83/J58=";
};

depsBuildBuild = [
Expand Down Expand Up @@ -99,6 +102,7 @@ stdenv.mkDerivation (finalAttrs: {
];

mesonFlags = [
"-Dglib_debug=disabled" # cast checks should be disabled on stable releases
"-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
(lib.mesonEnable "ptp-helper" withRust)
Expand Down Expand Up @@ -131,7 +135,12 @@ stdenv.mkDerivation (finalAttrs: {

setupHook = ./setup-hook.sh;

passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
passthru = {
tests = {
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
updateScript = directoryListingUpdater { };
};

meta = with lib; {
description = "Open source multimedia framework";
Expand Down
Loading