Merge remote-tracking branch 'upstream/staging' into wrap-gdb

This commit is contained in:
Tmplt 2019-11-17 23:33:37 +01:00
commit 95692734b0
238 changed files with 2429 additions and 2009 deletions

View file

@ -131,6 +131,13 @@
<link linkend="opt-networking.interfaces">networking.interfaces.&lt;name&gt;.…</link> options.
</para>
</listitem>
<listitem>
<para>
The stdenv now runs all bash with <literal>set -u</literal>, to catch the use of undefined variables.
Before, it itself used <literal>set -u</literal> but was careful to unset it so other packages' code ran as before.
Now, all bash code is held to the same high standard, and the rather complex stateful manipulation of the options can be discarded.
</para>
</listitem>
</itemizedlist>
</section>

View file

@ -63,6 +63,7 @@ let
"systemd-logind.service"
"autovt@.service"
"systemd-user-sessions.service"
"dbus-org.freedesktop.import1.service"
"dbus-org.freedesktop.machine1.service"
"user@.service"
"user-runtime-dir@.service"
@ -145,6 +146,7 @@ let
"user.slice"
"machine.slice"
"machines.target"
"systemd-importd.service"
"systemd-machined.service"
"systemd-nspawn@.service"

View file

@ -263,6 +263,7 @@ in
systemd-confinement = handleTest ./systemd-confinement.nix {};
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
systemd-networkd-wireguard = handleTest ./systemd-networkd-wireguard.nix {};
systemd-nspawn = handleTest ./systemd-nspawn.nix {};
pdns-recursor = handleTest ./pdns-recursor.nix {};
taskserver = handleTest ./taskserver.nix {};
telegraf = handleTest ./telegraf.nix {};

View file

@ -0,0 +1,58 @@
import ./make-test.nix ({pkgs, lib, ...}:
let
gpgKeyring = (pkgs.runCommand "gpg-keyring" { buildInputs = [ pkgs.gnupg ]; } ''
mkdir -p $out
export GNUPGHOME=$out
cat > foo <<EOF
%echo Generating a basic OpenPGP key
%no-protection
Key-Type: DSA
Key-Length: 1024
Subkey-Type: ELG-E
Subkey-Length: 1024
Name-Real: Joe Tester
Name-Email: joe@foo.bar
Expire-Date: 0
# Do a commit here, so that we can later print "done"
%commit
%echo done
EOF
gpg --batch --generate-key foo
rm $out/S.gpg-agent $out/S.gpg-agent.*
gpg --export joe@foo.bar -a > $out/pubkey.gpg
'');
nspawnImages = (pkgs.runCommand "localhost" { buildInputs = [ pkgs.coreutils pkgs.gnupg ]; } ''
mkdir -p $out
cd $out
dd if=/dev/urandom of=$out/testimage.raw bs=$((1024*1024+7)) count=5
sha256sum testimage.raw > SHA256SUMS
export GNUPGHOME="$(mktemp -d)"
cp -R ${gpgKeyring}/* $GNUPGHOME
gpg --batch --sign --detach-sign --output SHA256SUMS.gpg SHA256SUMS
'');
in {
name = "opensmtpd";
nodes = {
server = { pkgs, ... }: {
networking.firewall.allowedTCPPorts = [ 80 ];
services.nginx = {
enable = true;
virtualHosts."server".root = nspawnImages;
};
};
client = { pkgs, ... }: {
environment.etc."systemd/import-pubring.gpg".source = "${gpgKeyring}/pubkey.gpg";
};
};
testScript = ''
startAll;
$server->waitForUnit("nginx.service");
$client->waitForUnit("network-online.target");
$client->succeed("machinectl pull-raw --verify=signature http://server/testimage.raw");
$client->succeed("cmp /var/lib/machines/testimage.raw ${nspawnImages}/testimage.raw");
'';
})

View file

@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
];
preConfigure = ''
export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH:$(echo "${jamomacore}/jamoma/share/cmake/Jamoma")"
export CMAKE_PREFIX_PATH="''${CMAKE_PREFIX_PATH-}:$(echo "${jamomacore}/jamoma/share/cmake/Jamoma")"
'';
postInstall = ''rm $out/bin/i-score.sh'';

View file

@ -3,11 +3,11 @@
}:
stdenv.mkDerivation rec {
name = "mpg123-1.25.12";
name = "mpg123-1.25.13";
src = fetchurl {
url = "mirror://sourceforge/mpg123/${name}.tar.bz2";
sha256 = "1l9iwwgqzw6yg5zk9pqmlbfyq6d8dqysbmj0j3m8dyrxd34wgzhz";
sha256 = "02l915jq0ymndb082g6w89bpf66z04ifa1lr7ga3yycw6m46hc4h";
};
buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, libao, libmad, libid3tag, zlib, alsaLib
{stdenv, fetchurl, fetchpatch, libao, libmad, libid3tag, zlib, alsaLib
# Specify default libao output plugin to use (e.g. "alsa", "pulse" …).
# If null, it will use the libao system default.
, defaultAudio ? null
@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
sha256 = "0ki8mh76bbmdh77qsiw682dvi8y468yhbdabqwg05igmwc1wqvq5";
};
patches = [
(fetchpatch {
name = "CVE-2018-7263.patch";
url = "https://sources.debian.org/data/main/m/mpg321/0.3.2-3/debian/patches/handle_illegal_bitrate_value.patch";
sha256 = "15simp5fjvm9b024ryfh441rkh2d5bcrizqkzlrh07n9sm7fkw6x";
})
];
hardeningDisable = [ "format" ];
configureFlags =

View file

@ -1,12 +1,12 @@
{ lib, fetchFromGitHub }:
rec {
version = "8.1.2188";
version = "8.1.2237";
src = fetchFromGitHub {
owner = "vim";
repo = "vim";
rev = "v${version}";
sha256 = "0ixq96l991b84sj66v63ds61yr75gx5zz411213yn6bz3s2fvlcv";
sha256 = "1qwh3cw5zmjmnk07g0nc8nz8k5nlq9ilvvygnfdjy1fqg69q8p0h";
};
enableParallelBuilding = true;

View file

@ -1,32 +1,34 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig
{ stdenv, fetchFromGitHub, cmake, pkgconfig, mkDerivation
, qtbase, qtx11extras, qtsvg, makeWrapper
, vulkan-loader, xorg
, python3, bison, pcre, automake, autoconf
, vulkan-loader, xorg, python3, python3Packages
, bison, pcre, automake, autoconf, addOpenGLRunpath
}:
let
custom_swig = fetchFromGitHub {
owner = "baldurk";
repo = "swig";
rev = "renderdoc-modified-6";
sha256 = "00ykqlzx1k9iwqjlc54kfch7cnzsj53hxn7ql70dj3rxqzrnadc0";
rev = "renderdoc-modified-7";
sha256 = "15r2m5kcs0id64pa2fsw58qll3jyh71jzc04wy20pgsh2326zis6";
};
pythonPackages = python3Packages;
in
stdenv.mkDerivation rec {
version = "1.4";
mkDerivation rec {
version = "1.5";
pname = "renderdoc";
src = fetchFromGitHub {
owner = "baldurk";
repo = "renderdoc";
rev = "v${version}";
sha256 = "1iann73r4yzkwnm13h4zqipqrp5i5cnkv27yyap0axz6h3npw94r";
sha256 = "0a05f6qfq90wrf4fixchp9knx4nhqhwjxl02n03a7k56xzxxnlci";
};
buildInputs = [
qtbase qtsvg xorg.libpthreadstubs xorg.libXdmcp qtx11extras vulkan-loader python3
];
]; # ++ (with pythonPackages; [pyside2 pyside2-tools shiboken2]);
# TODO: figure out how to make cmake recognise pyside2
nativeBuildInputs = [ cmake makeWrapper pkgconfig bison pcre automake autoconf ];
nativeBuildInputs = [ cmake makeWrapper pkgconfig bison pcre automake autoconf addOpenGLRunpath ];
postUnpack = ''
cp -r ${custom_swig} swig
@ -40,19 +42,23 @@ stdenv.mkDerivation rec {
"-DBUILD_VERSION_DIST_VER=${version}"
"-DBUILD_VERSION_DIST_CONTACT=https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/graphics/renderdoc"
"-DBUILD_VERSION_STABLE=ON"
# TODO: add once pyside2 is in nixpkgs
#"-DPYSIDE2_PACKAGE_DIR=${python36Packages.pyside2}"
];
# Future work: define these in the above array via placeholders
# TODO: define these in the above array via placeholders, once those are widely supported
preConfigure = ''
cmakeFlags+=" -DVULKAN_LAYER_FOLDER=$out/share/vulkan/implicit_layer.d/"
cmakeFlags+=" -DRENDERDOC_SWIG_PACKAGE=$PWD/../swig"
'';
dontWrapQtApps = true;
preFixup = ''
wrapProgram $out/bin/qrenderdoc --suffix LD_LIBRARY_PATH : $out/lib --suffix LD_LIBRARY_PATH : ${vulkan-loader}/lib
wrapProgram $out/bin/renderdoccmd --suffix LD_LIBRARY_PATH : $out/lib --suffix LD_LIBRARY_PATH : ${vulkan-loader}/lib
wrapQtApp $out/bin/qrenderdoc --suffix LD_LIBRARY_PATH : "$out/lib:${vulkan-loader}/lib"
wrapProgram $out/bin/renderdoccmd --suffix LD_LIBRARY_PATH : "$out/lib:${vulkan-loader}/lib"
'';
# The only documentation for this so far is in pkgs/build-support/add-opengl-runpath/setup-hook.sh
postFixup = ''
addOpenGLRunpath $out/lib/librenderdoc.so
'';
enableParallelBuilding = true;

View file

@ -1,14 +1,14 @@
{ stdenv, buildPythonApplication, fetchFromGitHub }:
buildPythonApplication {
pname = "protocol";
version = "20171226";
pname = "protocol-unstable";
version = "2019-03-28";
src = fetchFromGitHub {
owner = "luismartingarcia";
repo = "protocol";
rev = "d450da7d8a58595d8ef82f1d199a80411029fc7d";
sha256 = "1g31s2xx0bw8ak5ag1c6mv0p0b8bj5dp3lkk9mxaf2ndj1m1qdkw";
rev = "4e8326ea6c2d288be5464c3a7d9398df468c0ada";
sha256 = "13l10jhf4vghanmhh3pn91b2jdciispxy0qadz4n08blp85qn9cm";
};
meta = with stdenv.lib; {

View file

@ -34,11 +34,11 @@
stdenv.mkDerivation rec {
pname = "zotero";
version = "5.0.73";
version = "5.0.77";
src = fetchurl {
url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
sha256 = "0m2i3l0gy22h6c7rk39cd17vyksyz5l5py2fn9pza8lcbypkwf3l";
sha256 = "1dgxzprpb8f5wpmvlvkxix0xxckfgjsi3wfcy9mb221a17cv0029";
};
buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme gnome3.dconf ];

View file

@ -93,13 +93,16 @@ stdenv.mkDerivation rec {
# Fix library paths
cd $out/libexec/Mathematica/Executables
for path in mathematica MathKernel Mathematica WolframKernel wolfram math; do
sed -i -e 's#export LD_LIBRARY_PATH$#export LD_LIBRARY_PATH=${zlib}/lib:\''${LD_LIBRARY_PATH}#' $path
sed -i -e "2iexport LD_LIBRARY_PATH=${zlib}/lib:\''${LD_LIBRARY_PATH}\n" $path
done
# Fix xkeyboard config path for Qt
for path in mathematica Mathematica; do
sed -i -e "2iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"\n" $path
done
# Remove some broken libraries
rm $out/libexec/Mathematica/SystemFiles/Libraries/Linux-x86-64/libz.so*
'';
preFixup = ''

View file

@ -21,7 +21,7 @@ assert sendEmailSupport -> perlSupport;
assert svnSupport -> perlSupport;
let
version = "2.23.0";
version = "2.24.0";
svn = subversionClient.override { perlBindings = perlSupport; };
gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
@ -33,7 +33,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
sha256 = "0rv0y45gcd3h191isppn77acih695v4pipdj031jvs9rd1ds0kr3";
sha256 = "06rpakbwzck85ncfsgv4xmq3iwab9d4f5y6dqhl8nvb2fccxcwcz";
};
outputs = [ "out" ];
@ -93,7 +93,7 @@ stdenv.mkDerivation {
++ (if perlSupport then ["PERL_PATH=${perlPackages.perl}/bin/perl"] else ["NO_PERL=1"])
++ (if pythonSupport then ["PYTHON_PATH=${python}/bin/python"] else ["NO_PYTHON=1"])
++ stdenv.lib.optionals stdenv.isSunOS ["INSTALL=install" "NO_INET_NTOP=" "NO_INET_PTON="]
++ (if stdenv.isDarwin then ["NO_APPLE_COMMON_CRYPTO=1"] else ["sysconfdir=/etc/"])
++ (if stdenv.isDarwin then ["NO_APPLE_COMMON_CRYPTO=1"] else ["sysconfdir=/etc"])
++ stdenv.lib.optionals stdenv.hostPlatform.isMusl ["NO_SYS_POLL_H=1" "NO_GETTEXT=YesPlease"]
++ stdenv.lib.optional withpcre2 "USE_LIBPCRE2=1";

View file

@ -8,7 +8,7 @@
, libXt, libXmu, libXext
, libXinerama, libXrandr
, libXtst, libXfixes, systemd
, alsaLib, libGLU_combined, glew, fontconfig, freetype, ftgl
, alsaLib, libGLU, libGL, glew, fontconfig, freetype, ftgl
, libjpeg, jasper, libpng, libtiff
, libmpeg2, libsamplerate, libmad
, libogg, libvorbis, flac, libxslt
@ -156,7 +156,7 @@ in stdenv.mkDerivation {
openssl gperf tinyxml2 taglib libssh swig jre
libX11 xorgproto libXt libXmu libXext
libXinerama libXrandr libXtst libXfixes
alsaLib libGLU_combined glew fontconfig freetype ftgl
alsaLib libGL libGLU glew fontconfig freetype ftgl
libjpeg jasper libpng libtiff
libmpeg2 libsamplerate libmad
libogg libvorbis flac libxslt systemd

View file

@ -111,17 +111,13 @@ stdenv.mkDerivation {
installPhase =
''
set -u
mkdir -p $out/bin $out/nix-support
wrap() {
local dst="$1"
local wrapper="$2"
export prog="$3"
set +u
substituteAll "$wrapper" "$out/bin/$dst"
set -u
chmod +x "$out/bin/$dst"
}
''
@ -163,8 +159,6 @@ stdenv.mkDerivation {
[[ -e "$underlying" ]] || continue
wrap ${targetPrefix}$variant ${./ld-wrapper.sh} $underlying
done
set +u
'';
emulation = let
@ -205,11 +199,7 @@ stdenv.mkDerivation {
];
postFixup =
''
set -u
''
+ optionalString (libc != null) (''
optionalString (libc != null) (''
##
## General libc support
##
@ -307,7 +297,6 @@ stdenv.mkDerivation {
''
+ ''
set +u
substituteAll ${./add-flags.sh} $out/nix-support/add-flags.sh
substituteAll ${./add-hardening.sh} $out/nix-support/add-hardening.sh
substituteAll ${../wrapper-common/utils.bash} $out/nix-support/utils.bash

View file

@ -2,8 +2,6 @@
#
# See comments in cc-wrapper's setup hook. This works exactly the same way.
set -u
# Skip setup hook if we're neither a build-time dep, nor, temporarily, doing a
# native compile.
#
@ -73,4 +71,3 @@ export NIX_HARDENING_ENABLE
# No local scope in sourced file
unset -v role_pre role_post cmd upper_case
set +u

View file

@ -29,9 +29,9 @@ attrsOrig @
configurePhase = ''
runHook preConfigure
[ -z "$dontPlacateNuget" ] && placate-nuget.sh
[ -z "$dontPlacatePaket" ] && placate-paket.sh
[ -z "$dontPatchFSharpTargets" ] && patch-fsharp-targets.sh
[ -z "''${dontPlacateNuget-}" ] && placate-nuget.sh
[ -z "''${dontPlacatePaket-}" ] && placate-paket.sh
[ -z "''${dontPatchFSharpTargets-}" ] && patch-fsharp-targets.sh
runHook postConfigure
'';
@ -69,7 +69,7 @@ attrsOrig @
cp -rv ${arrayToShell outputFiles} "''${outputFilesArray[@]}" "$target"
if [ -z "$dontRemoveDuplicatedDlls" ]
if [ -z "''${dontRemoveDuplicatedDlls-}" ]
then
pushd "$out"
remove-duplicated-dlls.sh

View file

@ -134,8 +134,6 @@ stdenv.mkDerivation {
installPhase =
''
set -u
mkdir -p $out/bin $out/nix-support
wrap() {
@ -224,8 +222,6 @@ stdenv.mkDerivation {
postFixup =
''
set -u
# Backwards compatability for packages expecting this file, e.g. with
# `$NIX_CC/nix-support/dynamic-linker`.
#

View file

@ -54,8 +54,6 @@
# For more details, read the individual files where the mechanisms used to
# accomplish this will be individually documented.
set -u
# Skip setup hook if we're neither a build-time dep, nor, temporarily, doing a
# native compile.
#
@ -120,4 +118,3 @@ export NIX_HARDENING_ENABLE
# No local scope in sourced file
unset -v role_pre role_post
set +u

View file

@ -1,11 +1,11 @@
addEmacsVars () {
if test -d $1/share/emacs/site-lisp; then
export EMACSLOADPATH="$1/share/emacs/site-lisp:$EMACSLOADPATH"
if [[ -d "$1/share/emacs/site-lisp" ]]; then
export EMACSLOADPATH="$1/share/emacs/site-lisp${EMACSLOADPATH:+:}${EMACSLOADPATH-}"
fi
}
# If this is for a wrapper derivation, emacs and the dependencies are all
# run-time dependencies. If this is for precompiling packages into bytecode,
# emacs is a compile-time dependency of the package.
addEnvHooks "$targetOffset" addEmacsVars
addEnvHooks "$hostOffset" addEmacsVars
addEnvHooks "$targetOffset" addEmacsVars

View file

@ -23,7 +23,7 @@ stdenv.mkDerivation (args // {
setupHook = if setupHook == null && hasSharedObjects
then writeText "setupHook.sh" ''
export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
''
else setupHook;

View file

@ -7,7 +7,7 @@
# the moment that would produce too many spurious errors (e.g. debug
# info or assertion messages that refer to $TMPDIR).
fixupOutputHooks+=('if [ -z "$noAuditTmpdir" -a -e "$prefix" ]; then auditTmpdir "$prefix"; fi')
fixupOutputHooks+=('if [[ -z "${noAuditTmpdir-}" && -e "$prefix" ]]; then auditTmpdir "$prefix"; fi')
auditTmpdir() {
local dir="$1"

View file

@ -228,7 +228,7 @@ autoPatchelf() {
# behaviour as fixupOutputHooks because the setup hook for patchelf is run in
# fixupOutput and the postFixup hook runs later.
postFixupHooks+=('
if [ -z "$dontAutoPatchelf" ]; then
if [ -z "${dontAutoPatchelf-}" ]; then
autoPatchelf -- $(for output in $outputs; do
[ -e "${!output}" ] || continue
echo "${!output}"

View file

@ -1,4 +1,4 @@
fixupOutputHooks+=('if [ -z "$dontGzipMan" ]; then compressManPages "$prefix"; fi')
fixupOutputHooks+=('if [ -z "${dontGzipMan-}" ]; then compressManPages "$prefix"; fi')
compressManPages() {
local dir="$1"

View file

@ -11,12 +11,12 @@ addXMLCatalogs () {
done
}
if [ -z "$libxmlHookDone" ]; then
if [ -z "${libxmlHookDone-}" ]; then
libxmlHookDone=1
# Set up XML_CATALOG_FILES. An empty initial value prevents
# xmllint and xsltproc from looking in /etc/xml/catalog.
export XML_CATALOG_FILES
export XML_CATALOG_FILES=''
if [ -z "$XML_CATALOG_FILES" ]; then XML_CATALOG_FILES=" "; fi
addEnvHooks "$hostOffset" addXMLCatalogs
fi

View file

@ -8,7 +8,7 @@
fixupOutputHooks+=(_moveLib64)
_moveLib64() {
if [ "$dontMoveLib64" = 1 ]; then return; fi
if [ "${dontMoveLib64-}" = 1 ]; then return; fi
if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then return; fi
echo "moving $prefix/lib64/* to $prefix/lib"
mkdir -p $prefix/lib

View file

@ -5,7 +5,7 @@
fixupOutputHooks+=(_moveSbin)
_moveSbin() {
if [ "$dontMoveSbin" = 1 ]; then return; fi
if [ "${dontMoveSbin-}" = 1 ]; then return; fi
if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then return; fi
echo "moving $prefix/sbin/* to $prefix/bin"
mkdir -p $prefix/bin

View file

@ -9,8 +9,8 @@ _assignFirst() {
local varName="$1"
local REMOVE=REMOVE # slightly hacky - we allow REMOVE (i.e. not a variable name)
shift
while [ $# -ge 1 ]; do
if [ -n "${!1}" ]; then eval "${varName}"="$1"; return; fi
while (( $# )); do
if [ -n "${!1-}" ]; then eval "${varName}"="$1"; return; fi
shift
done
echo "Error: _assignFirst found no valid variant!"
@ -19,7 +19,7 @@ _assignFirst() {
# Same as _assignFirst, but only if "$1" = ""
_overrideFirst() {
if [ -z "${!1}" ]; then
if [ -z "${!1-}" ]; then
_assignFirst "$@"
fi
}

View file

@ -105,7 +105,7 @@ patchShebangs() {
}
patchShebangsAuto () {
if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then
if [ -z "${dontPatchShebangs-}" -a -e "$prefix" ]; then
# Dev output will end up being run on the build platform. An
# example case of this is sdl2-config. Otherwise, we can just

View file

@ -8,7 +8,7 @@
fixupOutputHooks+=(_pruneLibtoolFiles)
_pruneLibtoolFiles() {
if [ "$dontPruneLibtoolFiles" ] || [ ! -e "$prefix" ]; then
if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then
return
fi

View file

@ -10,7 +10,7 @@ _doStrip() {
local -ra stripCmds=(STRIP TARGET_STRIP)
# Optimization
if [[ "$STRIP" == "$TARGET_STRIP" ]]; then
if [[ "${STRIP-}" == "${TARGET_STRIP-}" ]]; then
dontStripTarget+=1
fi
@ -20,7 +20,7 @@ _doStrip() {
local -n stripCmd="${stripCmds[$i]}"
# `dontStrip` disables them all
if [[ "$dontStrip" || "$flag" ]] || ! type -f "$stripCmd" 2>/dev/null
if [[ "${dontStrip-}" || "${flag-}" ]] || ! type -f "${stripCmd-}" 2>/dev/null
then continue; fi
stripDebugList=${stripDebugList:-lib lib32 lib64 libexec bin sbin}

View file

@ -1,7 +1,7 @@
preConfigurePhases+=" updateAutotoolsGnuConfigScriptsPhase"
updateAutotoolsGnuConfigScriptsPhase() {
if [ -n "$dontUpdateAutotoolsGnuConfigScripts" ]; then return; fi
if [ -n "${dontUpdateAutotoolsGnuConfigScripts-}" ]; then return; fi
for script in config.sub config.guess; do
for f in $(find . -type f -name "$script"); do

View file

@ -15,7 +15,7 @@ wrapGApp() {
wrapProgram "$program" "${gappsWrapperArgs[@]}" "$@"
}
# Note: $gappsWrapperArgs still gets defined even if $dontWrapGApps is set.
# Note: $gappsWrapperArgs still gets defined even if ${dontWrapGApps-} is set.
wrapGAppsHook() {
# guard against running multiple times (e.g. due to propagation)
[ -z "$wrapGAppsHookHasRun" ] || return 0

View file

@ -37,9 +37,7 @@ lib.makeScope pkgs.newScope (self: with self; {
gnome_python_desktop = callPackage ./bindings/gnome-python-desktop { };
gnome_vfs = callPackage ./platform/gnome-vfs {
openssl = pkgs.openssl_1_0_2;
};
gnome_vfs = callPackage ./platform/gnome-vfs { };
libgnome = callPackage ./platform/libgnome { };

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, libxml2, bzip2, openssl, dbus-glib
{ stdenv, fetchurl, fetchpatch, pkgconfig, libxml2, bzip2, openssl, dbus-glib
, glib, gamin, cdparanoia, intltool, GConf, gnome_mime_data, avahi, acl }:
stdenv.mkDerivation rec {
@ -20,6 +20,18 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ GConf glib ];
# struct SSL is opaque in openssl-1.1; and the SSL_free() man page
# says that one should not free members of it manually (in both
# the openssl-1.0 and openssl-1.1 man pages).
# https://bugs.gentoo.org/592540
patches = [ (fetchpatch {
name = "gnome-vfs-2.24.4-openssl-1.1.patch";
url = "https://bugs.gentoo.org/attachment.cgi?id=535944";
sha256 = "1q4icapvmwmd5rjah7rr0bqazzk5cg36znmjlpra20n9y27nz040";
extraPrefix = "";
})
];
postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i ";
doCheck = false; # needs dbus daemon

View file

@ -56,6 +56,8 @@ stdenv.mkDerivation rec {
})
# See patch commit message
./0001-Revert-ClutterActor-Preserve-valid-paint-volumes-til.patch
# Fix build with libglvnd provided headers
./libglvnd-328.patch
];
configureFlags = [

View file

@ -66,6 +66,11 @@ stdenv.mkDerivation rec {
src = ./fix-paths.patch;
inherit zenity;
})
# Fix build with libglvnd provided headers
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/mutter/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90.patch";
sha256 = "0imy2j8af9477jliwdq4jc40yw1cifsjjf196gnmwxr9rkj0hbrd";
})
];
postPatch = ''

View file

@ -0,0 +1,63 @@
diff --git a/cogl/configure.ac b/cogl/configure.ac
index 3be282f..d338cd1 100644
--- a/cogl/configure.ac
+++ b/cogl/configure.ac
@@ -490,6 +490,11 @@ AS_IF([test "x$enable_gles1" = "xyes"],
#include <EGL/eglext.h>"],
[],
[$COGL_EGL_INCLUDES])
+ AC_CHECK_HEADERS([EGL/eglmesaext.h],
+ [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDE
+#include <EGL/eglmesaext.h>"],
+ [],
+ [$COGL_EGL_INCLUDES])
# Check for a GLES 1.x Common Profile library with/without EGL.
#
@@ -759,7 +764,9 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"],
)
COGL_EGL_INCLUDES="#include <EGL/egl.h>
-#include <EGL/eglext.h>"
+#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
+"
AC_SUBST([COGL_EGL_INCLUDES])
])
diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h
index 8705e7d..db0b74f 100644
--- a/src/backends/meta-egl-ext.h
+++ b/src/backends/meta-egl-ext.h
@@ -29,6 +29,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
/*
* This is a little different to the tests shipped with EGL implementations,
diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c
index 755ec49..bd253c9 100644
--- a/src/backends/meta-egl.c
+++ b/src/backends/meta-egl.c
@@ -31,6 +31,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <gio/gio.h>
#include <glib.h>
#include <glib-object.h>
diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h
index 060c7cd..2fef264 100644
--- a/src/backends/meta-egl.h
+++ b/src/backends/meta-egl.h
@@ -27,6 +27,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <glib-object.h>
#define META_EGL_ERROR meta_egl_error_quark ()

View file

@ -37,7 +37,7 @@ let cpuName = stdenv.hostPlatform.parsed.cpu.name;
# Set JAVA_HOME automatically.
cat <<EOF >> $out/nix-support/setup-hook
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'';

View file

@ -54,7 +54,7 @@ let result = stdenv.mkDerivation rec {
# Set JAVA_HOME automatically.
cat <<EOF >> "$out/nix-support/setup-hook"
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'';

View file

@ -270,7 +270,7 @@ in rec {
# Set JAVA_HOME automatically.
mkdir -p $out/nix-support
cat <<EOF > $out/nix-support/setup-hook
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'';
postFixup = openjdk.postFixup or null;

View file

@ -72,7 +72,7 @@ let
# Set JAVA_HOME automatically.
mkdir -p $out/nix-support
cat <<EOF > $out/nix-support/setup-hook
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'';

View file

@ -1,4 +1,5 @@
{ lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version }:
{ lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version
, enableShared ? ! stdenv.hostPlatform.isMusl }:
stdenv.mkDerivation {
pname = "libc++";
@ -31,7 +32,8 @@ stdenv.mkDerivation {
"-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
"-DLIBCXX_LIBCPPABI_VERSION=2"
"-DLIBCXX_CXX_ABI=libcxxabi"
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1";
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1"
++ stdenv.lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF" ;
enableParallelBuilding = true;

View file

@ -1,4 +1,6 @@
{ stdenv, cmake, fetch, libcxx, llvm, version }:
{ stdenv, cmake, fetch, libcxx, llvm, version
# on musl the shared objects don't build
, enableShared ? ! stdenv.hostPlatform.isMusl }:
stdenv.mkDerivation {
pname = "libc++abi";
@ -11,13 +13,15 @@ stdenv.mkDerivation {
postUnpack = ''
unpackFile ${libcxx.src}
unpackFile ${llvm.src}
export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
cmakeFlagsArray=($cmakeFlagsArray -DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*) )
'' + stdenv.lib.optionalString stdenv.isDarwin ''
export TRIPLE=x86_64-apple-darwin
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch}
'';
cmakeFlags = stdenv.lib.optional (!enableShared) "-DLIBCXXABI_ENABLE_SHARED=OFF";
installPhase = if stdenv.isDarwin
then ''
for file in lib/*.dylib; do
@ -34,10 +38,10 @@ stdenv.mkDerivation {
else ''
install -d -m 755 $out/include $out/lib
install -m 644 lib/libc++abi.a $out/lib
install -m 644 lib/libc++abi.so.1.0 $out/lib
${stdenv.lib.optionalString enableShared "install -m 644 lib/libc++abi.so.1.0 $out/lib"}
install -m 644 ../include/cxxabi.h $out/include
ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
${stdenv.lib.optionalString enableShared "ln -s libc++abi.so.1.0 $out/lib/libc++abi.so"}
${stdenv.lib.optionalString enableShared "ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1"}
'';
meta = {

View file

@ -106,7 +106,7 @@ let
# Set JAVA_HOME automatically.
mkdir -p $out/nix-support
cat <<EOF > $out/nix-support/setup-hook
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out/lib/openjdk; fi
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out/lib/openjdk; fi
EOF
'';

View file

@ -231,7 +231,7 @@ let
# Set JAVA_HOME automatically.
mkdir -p $out/nix-support
cat <<EOF > $out/nix-support/setup-hook
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out/lib/openjdk; fi
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out/lib/openjdk; fi
EOF
'';

View file

@ -44,7 +44,7 @@ let
# Set JAVA_HOME automatically.
cat <<EOF >> $out/nix-support/setup-hook
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'';

View file

@ -44,7 +44,7 @@ let
# Set JAVA_HOME automatically.
cat <<EOF >> $out/nix-support/setup-hook
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'';

View file

@ -44,7 +44,7 @@ let
# Set JAVA_HOME automatically.
cat <<EOF >> $out/nix-support/setup-hook
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'';

View file

@ -114,7 +114,7 @@ let
# Set JAVA_HOME automatically.
mkdir -p $out/nix-support
cat <<EOF > $out/nix-support/setup-hook
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out/lib/openjdk; fi
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out/lib/openjdk; fi
EOF
'';

View file

@ -156,7 +156,7 @@ let result = stdenv.mkDerivation rec {
# Set JAVA_HOME automatically.
cat <<EOF >> $out/nix-support/setup-hook
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'';

View file

@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
postInstall = ''
wrapProgram $out/bin/rtop \
--prefix PATH : "${utop}/bin" \
--set CAML_LD_LIBRARY_PATH ${ocaml_lwt}/lib/ocaml/${ocaml.version}/site-lib:$CAML_LD_LIBRARY_PATH \
--set OCAMLPATH $out/lib/ocaml/${ocaml.version}/site-lib:$OCAMLPATH
--prefix CAML_LD_LIBRARY_PATH : "${ocaml_lwt}/lib/ocaml/${ocaml.version}/site-lib" \
--prefix OCAMLPATH : "$out/lib/ocaml/${ocaml.version}/site-lib"
'';
meta = with stdenv.lib; {

View file

@ -1,6 +1,6 @@
{ stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget
, fetchurl, file, python2
, llvm_7, darwin, git, cmake, rustPlatform
, llvm_9, darwin, git, cmake, rustPlatform
, pkgconfig, openssl
, which, libffi
, withBundledLLVM ? false
@ -12,12 +12,12 @@ let
inherit (stdenv.lib) optional optionalString;
inherit (darwin.apple_sdk.frameworks) Security;
llvmSharedForBuild = pkgsBuildBuild.llvm_7.override { enableSharedLibraries = true; };
llvmSharedForHost = pkgsBuildHost.llvm_7.override { enableSharedLibraries = true; };
llvmSharedForTarget = pkgsBuildTarget.llvm_7.override { enableSharedLibraries = true; };
llvmSharedForBuild = pkgsBuildBuild.llvm_9.override { enableSharedLibraries = true; };
llvmSharedForHost = pkgsBuildHost.llvm_9.override { enableSharedLibraries = true; };
llvmSharedForTarget = pkgsBuildTarget.llvm_9.override { enableSharedLibraries = true; };
# For use at runtime
llvmShared = llvm_7.override { enableSharedLibraries = true; };
llvmShared = llvm_9.override { enableSharedLibraries = true; };
in stdenv.mkDerivation rec {
pname = "rustc";
inherit version;

View file

@ -1,4 +1,4 @@
# Fix 'failed to open: /homeless-shelter/.cargo/.package-cache' in rust 1.36.
if [[ -z $IN_NIX_SHELL && -z $CARGO_HOME ]]; then
if [[ -z ${IN_NIX_SHELL-} && -z ${CARGO_HOME-} ]]; then
export CARGO_HOME=$TMPDIR
fi

View file

@ -58,7 +58,7 @@ in stdenv.mkDerivation {
# Set JAVA_HOME automatically.
cat <<EOF >> $out/nix-support/setup-hook
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'';

View file

@ -55,7 +55,7 @@ in stdenv.mkDerivation {
# Set JAVA_HOME automatically.
cat <<EOF >> $out/nix-support/setup-hook
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'';

View file

@ -20,7 +20,7 @@ addToLuaSearchPathWithCustomDelimiter() {
if [[ ! -d "$topDir" ]]; then return; fi
# export only if we haven't already got this dir in the search path
if [[ ${!varName} == *"$absPattern"* ]]; then return; fi
if [[ ${!varName-} == *"$absPattern"* ]]; then return; fi
export "${varName}=${!varName:+${!varName};}${absPattern}"
}

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull
, libsndfile, portaudio, libX11, graphicsmagick, pcre, pkgconfig, libGLU_combined, fltk
, libsndfile, portaudio, libX11, graphicsmagick, pcre, pkgconfig, libGL, libGLU, fltk
, fftw, fftwSinglePrec, zlib, curl, qrupdate, openblas, arpack, libwebp
, qt ? null, qscintilla ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
, suitesparse ? null, gnuplot ? null, jdk ? null, python ? null, overridePlatforms ? null
@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
++ (stdenv.lib.optional (jdk != null) jdk)
++ (stdenv.lib.optional (gnuplot != null) gnuplot)
++ (stdenv.lib.optional (python != null) python)
++ (stdenv.lib.optionals (!stdenv.isDarwin) [ libGLU_combined libX11 ])
++ (stdenv.lib.optionals (!stdenv.isDarwin) [ libGL libGLU libX11 ])
;
# makeinfo is required by Octave at runtime to display help

View file

@ -1,5 +1,5 @@
{ config, lib, stdenv, fetchurl, pkgs, buildPackages, callPackage
, enableThreading ? stdenv ? glibc, makeWrapper
, enableThreading ? stdenv ? glibc, coreutils, makeWrapper
}:
with lib;
@ -35,7 +35,7 @@ let
# TODO: Add a "dev" output containing the header files.
outputs = [ "out" "man" "devdoc" ] ++
stdenv.lib.optional crossCompiling "dev";
optional crossCompiling "dev";
setOutputFlags = false;
disallowedReferences = [ stdenv.cc ];
@ -57,12 +57,20 @@ let
++ optionals stdenv.isDarwin [ ./cpp-precomp.patch ./sw_vers.patch ]
++ optional crossCompiling ./MakeMaker-cross.patch;
postPatch = ''
pwd="$(type -P pwd)"
# This is not done for native builds because pwd may need to come from
# bootstrap tools when building bootstrap perl.
postPatch = (if crossCompiling then ''
substituteInPlace dist/PathTools/Cwd.pm \
--replace "/bin/pwd" "$pwd"
'' + stdenv.lib.optionalString crossCompiling ''
--replace "/bin/pwd" '${coreutils}/bin/pwd'
substituteInPlace cnf/configure_tool.sh --replace "cc -E -P" "cc -E"
'' else ''
substituteInPlace dist/PathTools/Cwd.pm \
--replace "/bin/pwd" "$(type -P pwd)"
'') +
# Perl's build system uses the src variable, and its value may end up in
# the output in some cases (when cross-compiling)
''
unset src
'';
# Build a thread-safe Perl with a dynamic libperls.o. We need the
@ -85,7 +93,7 @@ let
++ optional stdenv.isSunOS "-Dcc=gcc"
++ optional enableThreading "-Dusethreads";
configureScript = stdenv.lib.optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
configureScript = optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
dontAddPrefix = !crossCompiling;
@ -140,7 +148,7 @@ let
}" /no-such-path \
--replace "${stdenv.cc}" /no-such-path \
--replace "$man" /no-such-path
'' + stdenv.lib.optionalString crossCompiling
'' + optionalString crossCompiling
''
mkdir -p $dev/lib/perl5/cross_perl/${version}
for dir in cnf/{stub,cpan}; do
@ -172,7 +180,7 @@ let
platforms = platforms.all;
priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
};
} // stdenv.lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
} // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
crossVersion = "980998f7d11baf97284426ca91f84681d49a08f5"; # Jul 20, 2019
perl-cross-src = fetchurl {

View file

@ -9,7 +9,7 @@ flitBuildPhase () {
echo "Finished executing flitBuildPhase"
}
if [ -z "$dontUseFlitBuild" ] && [ -z "$buildPhase" ]; then
if [ -z "${dontUseFlitBuild-}" ] && [ -z "${buildPhase-}" ]; then
echo "Using flitBuildPhase"
buildPhase=flitBuildPhase
fi

View file

@ -31,7 +31,7 @@ pipShellHook() {
echo "Finished executing pipShellHook"
}
if [ -z "$dontUsePipBuild" ] && [ -z "$buildPhase" ]; then
if [ -z "${dontUsePipBuild-}" ] && [ -z "${buildPhase-}" ]; then
echo "Using pipBuildPhase"
buildPhase=pipBuildPhase
fi

View file

@ -18,7 +18,7 @@ pipInstallPhase() {
echo "Finished executing pipInstallPhase"
}
if [ -z "$dontUsePipInstall" ] && [ -z "$installPhase" ]; then
if [ -z "${dontUsePipInstall-}" ] && [ -z "${installPhase-}" ]; then
echo "Using pipInstallPhase"
installPhase=pipInstallPhase
fi

View file

@ -43,7 +43,7 @@ function pytestCheckPhase() {
echo "Finished executing pytestCheckPhase"
}
if [ -z "$dontUsePytestCheck" ] && [ -z "$installCheckPhase" ]; then
if [ -z "${dontUsePytestCheck-}" ] && [ -z "${installCheckPhase-}" ]; then
echo "Using pytestCheckPhase"
preDistPhases+=" pytestCheckPhase"
fi

View file

@ -5,6 +5,6 @@ pythonCatchConflictsPhase() {
@pythonInterpreter@ @catchConflicts@
}
if [ -z "$dontUsePythonCatchConflicts" ]; then
if [ -z "${dontUsePythonCatchConflicts-}" ]; then
preDistPhases+=" pythonCatchConflictsPhase"
fi

View file

@ -10,7 +10,7 @@ pythonImportsCheckPhase () {
fi
}
if [ -z "$dontUsePythonImportsCheck" ]; then
if [ -z "${dontUsePythonImportsCheck-}" ]; then
echo "Using pythonImportsCheckPhase"
preDistPhases+=" pythonImportsCheckPhase"
fi

View file

@ -12,6 +12,6 @@ pythonRemoveBinBytecodePhase () {
fi
}
if [ -z "$dontUsePythonRemoveBinBytecode" ]; then
if [ -z "${dontUsePythonRemoveBinBytecode-}" ]; then
preDistPhases+=" pythonRemoveBinBytecodePhase"
fi

View file

@ -36,12 +36,12 @@ setuptoolsShellHook() {
echo "Finished executing setuptoolsShellHook"
}
if [ -z "$dontUseSetuptoolsBuild" ] && [ -z "$buildPhase" ]; then
if [ -z "${dontUseSetuptoolsBuild-}" ] && [ -z "${buildPhase-}" ]; then
echo "Using setuptoolsBuildPhase"
buildPhase=setuptoolsBuildPhase
fi
if [ -z "$dontUseSetuptoolsShellHook" ] && [ -z "$shellHook" ]; then
if [ -z "${dontUseSetuptoolsShellHook-}" ] && [ -z "${shellHook-}" ]; then
echo "Using setuptoolsShellHook"
shellHook=setuptoolsShellHook
fi

View file

@ -12,7 +12,7 @@ setuptoolsCheckPhase() {
echo "Finished executing setuptoolsCheckPhase"
}
if [ -z "$dontUseSetuptoolsCheck" ] && [ -z "$installCheckPhase" ]; then
if [ -z "${dontUseSetuptoolsCheck-}" ] && [ -z "${installCheckPhase-}" ]; then
echo "Using setuptoolsCheckPhase"
preDistPhases+=" setuptoolsCheckPhase"
fi

View file

@ -12,7 +12,7 @@ wheelUnpackPhase(){
echo "Finished executing wheelUnpackPhase"
}
if [ -z "$dontUseWheelUnpack" ] && [ -z "$unpackPhase" ]; then
if [ -z "${dontUseWheelUnpack-}" ] && [ -z "${unpackPhase-}" ]; then
echo "Using wheelUnpackPhase"
unpackPhase=wheelUnpackPhase
fi

View file

@ -1,7 +1,9 @@
addSDLPath () {
if [ -e "$1/include/SDL" ]; then
export SDL_PATH="$SDL_PATH $1/include/SDL"
export SDL_LIB_PATH="$SDL_LIB_PATH -L$1/lib"
export SDL_PATH="${SDL_PATH-}${SDL_PATH:+ }$1/include/SDL"
fi
if [ -e "$1/lib" ]; then
export SDL_LIB_PATH="${SDL_LIB_PATH-}${SDL_LIB_PATH:+ }$1/lib"
fi
}

View file

@ -75,9 +75,21 @@ stdenv.mkDerivation rec {
++ optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib"
++ optional stdenv.isDarwin "--disable-sdltest";
# We remove libtool .la files when static libs are requested,
# because they make the builds of downstream libs like `SDL_tff`
# fail with `cannot find -lXext, `-lXcursor` etc. linker errors
# because the `.la` files are not pruned if static libs exist
# (see https://github.com/NixOS/nixpkgs/commit/fd97db43bcb05e37f6bb77f363f1e1e239d9de53)
# and they also don't carry the necessary `-L` paths of their
# X11 dependencies.
# For static linking, it is better to rely on `pkg-config` `.pc`
# files.
postInstall = ''
moveToOutput lib/libSDL2main.a "$dev"
rm $out/lib/*.a
if [ "$dontDisableStatic" -eq "1" ]; then
rm $out/lib/*.la
else
rm $out/lib/*.a
fi
moveToOutput bin/sdl2-config "$dev"
'';

View file

@ -1,6 +1,6 @@
addSDL2Path () {
if [ -e "$1/include/SDL2" ]; then
export SDL2_PATH="$SDL2_PATH $1/include/SDL2"
export SDL2_PATH="${SDL2_PATH-}${SDL2_PATH:+ }$1/include/SDL2"
fi
}

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, libGLU_combined, libX11, libXext, libXfixes
{ stdenv, fetchurl, pkgconfig, libGLU, libGL, libX11, libXext, libXfixes
, libXdamage, libXcomposite, libXi, libxcb, cogl, pango, atk, json-glib
, gobject-introspection, gtk3, gnome3, libinput, libgudev, libxkbcommon
}:
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
buildInputs = [ gtk3 ];
nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs =
[ libX11 libGLU_combined libXext libXfixes libXdamage libXcomposite libXi cogl pango
[ libX11 libGL libGLU libXext libXfixes libXdamage libXcomposite libXi cogl pango
atk json-glib gobject-introspection libxcb libinput libgudev libxkbcommon
];

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, fetchpatch, pkgconfig, libGL, glib, gdk-pixbuf, xorg, libintl
, pangoSupport ? true, pango, cairo, gobject-introspection, wayland, gnome3
, mesa
, mesa, automake, autoconf
, gstreamerSupport ? true, gst_all_1 }:
let
@ -29,11 +29,17 @@ in stdenv.mkDerivation rec {
url = https://bug787443.bugzilla-attachments.gnome.org/attachment.cgi?id=361056;
sha256 = "09fyrdci4727fg6qm5aaapsbv71sf4wgfaqz8jqlyy61dibgg490";
})
# Fix build with libglvnd headers (these headers used to be provided by mesa)
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/cogl/commit/9c4764224aded552fb855b1c2b85b26d2b894adf.patch";
sha256 = "1v9drpzgcd5pq2shhdcw5px7mdiggk6ga13qjbklq8xpd92ac0i1";
})
];
outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkgconfig libintl ];
nativeBuildInputs = [ pkgconfig libintl automake autoconf ];
configureFlags = [
"--enable-introspection"
@ -41,7 +47,7 @@ in stdenv.mkDerivation rec {
"--enable-wayland-egl-platform"
"--enable-wayland-egl-server"
] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst"
++ stdenv.lib.optionals (!stdenv.isDarwin) [ "--enable-gles1" "--enable-gles2" ];
++ stdenv.lib.optionals (!stdenv.isDarwin) [ "--enable-gles1" "--enable-gles2" ];
propagatedBuildInputs = with xorg; [
glib gdk-pixbuf gobject-introspection wayland mesa

View file

@ -1,4 +1,4 @@
{ fetchFromBitbucket, stdenv, boost, cmake, libGLU_combined }:
{ fetchFromBitbucket, stdenv, boost, cmake, libGL, libGLU }:
stdenv.mkDerivation {
pname = "coin";
@ -16,7 +16,7 @@ stdenv.mkDerivation {
'';
nativeBuildInputs = [ cmake ];
buildInputs = [ boost libGLU_combined ];
buildInputs = [ boost libGL libGLU ];
meta = {
homepage = "https://bitbucket.org/Coin3D/coin/wiki/Home";

View file

@ -3,6 +3,8 @@
, libssh, libtheora, libva, libdrm, libvorbis, libvpx, lzma, libpulseaudio, soxr
, x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d
, openglSupport ? false, libGLU_combined ? null
, libmfxSupport ? false, intel-media-sdk ? null
, libaomSupport ? false, libaom ? null
# Build options
, runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime
, multithreadBuild ? true # Multithreading via pthreads/win32 threads
@ -62,6 +64,8 @@ let
in
assert openglSupport -> libGLU_combined != null;
assert libmfxSupport -> intel-media-sdk != null;
assert libaomSupport -> libaom != null;
stdenv.mkDerivation rec {
@ -135,6 +139,8 @@ stdenv.mkDerivation rec {
(ifMinVer "0.6" (enableFeature vpxSupport "libvpx"))
(ifMinVer "2.4" "--enable-lzma")
(ifMinVer "2.2" (enableFeature openglSupport "opengl"))
(ifMinVer "4.2" (enableFeature libmfxSupport "libmfx"))
(ifMinVer "4.2" (enableFeature libaomSupport "libaom"))
(disDarwinOrArmFix (ifMinVer "0.9" "--enable-libpulse") "0.9" "--disable-libpulse")
(ifMinVer "2.5" (if sdlSupport && reqMin "3.2" then "--enable-sdl2" else if sdlSupport then "--enable-sdl" else null)) # autodetected before 2.5, SDL1 support removed in 3.2 for SDL2
(ifMinVer "1.2" "--enable-libsoxr")
@ -163,6 +169,8 @@ stdenv.mkDerivation rec {
bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora
libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus speex nv-codec-headers
] ++ optional openglSupport libGLU_combined
++ optional libmfxSupport intel-media-sdk
++ optional vpxSupport libaom
++ optional vpxSupport libvpx
++ optionals (!isDarwin && !isAarch32) [ libpulseaudio ] # Need to be fixed on Darwin and ARM
++ optional ((isLinux || isFreeBSD) && !isAarch32) libva

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, xlibsWrapper, xorgproto, libXi
, freeglut, libGLU_combined, libjpeg, zlib, libXft, libpng
, freeglut, libGL, libGLU, libjpeg, zlib, libXft, libpng
, libtiff, freetype, Cocoa, AGL, GLUT
}:
@ -19,7 +19,7 @@ stdenv.mkDerivation {
patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libGLU_combined libjpeg zlib libpng libXft ]
buildInputs = [ libGLU libGL libjpeg zlib libpng libXft ]
++ stdenv.lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ];
propagatedBuildInputs = [ xorgproto ]

View file

@ -20,6 +20,14 @@ stdenv.mkDerivation rec {
sha256 = "0pckda4fcn0aw32lpycwdp25r2m7vca8zspq815ppi9gkwgg5das";
};
patches = [
(fetchpatch {
name = "CVE-2019-18397.patch";
url = "https://github.com/fribidi/fribidi/commit/034c6e9a1d296286305f4cfd1e0072b879f52568.patch";
sha256 = "102xrbf1l5gvavkxd6csx8pj3rlgcw10c0y4h4d40yhn84b1p0y8";
})
];
postPatch = ''
patchShebangs test
'';

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, freetype, libGLU_combined, OpenGL }:
{ stdenv, fetchurl, freetype, libGL, libGLU, OpenGL }:
let
name = "ftgl-2.1.3-rc5";
@ -15,7 +15,7 @@ stdenv.mkDerivation {
++ (if stdenv.isDarwin then
[ OpenGL ]
else
[ libGLU_combined ])
[ libGL libGLU ])
;
enableParallelBuilding = true;

View file

@ -1,49 +1,84 @@
{ stdenv, fetchurl, pkgconfig, gettext, gnupg, p11-kit, glib
, libgcrypt, libtasn1, dbus-glib, gtk3, pango, gdk-pixbuf, atk
, gobject-introspection, makeWrapper, libxslt, vala, gnome3
, python3 }:
{ stdenv
, fetchurl
, pkgconfig
, gettext
, gnupg
, p11-kit
, glib
, libgcrypt
, libtasn1
, gtk3
, pango
, gobject-introspection
, makeWrapper
, libxslt
, vala
, gnome3
, python3
}:
stdenv.mkDerivation rec {
pname = "gcr";
version = "3.33.4";
version = "3.34.0";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1hf06p4qfyywnb6334ysnr6aqxik3srb37glclvr4yhb3wzrjqnm";
};
passthru = {
updateScript = gnome3.updateScript { packageName = pname; };
sha256 = "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9";
};
postPatch = ''
patchShebangs .
patchShebangs build/ gcr/fixtures/
'';
outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkgconfig gettext gobject-introspection libxslt makeWrapper vala ];
nativeBuildInputs = [
pkgconfig
gettext
gobject-introspection
libxslt
makeWrapper
vala
];
buildInputs = [ gnupg libgcrypt libtasn1 dbus-glib pango gdk-pixbuf atk ];
buildInputs = [
gnupg
libgcrypt
libtasn1
pango
];
propagatedBuildInputs = [ glib gtk3 p11-kit ];
propagatedBuildInputs = [
glib
gtk3
p11-kit
];
checkInputs = [
python3
];
checkInputs = [ python3 ];
doCheck = false; # fails 21 out of 603 tests, needs dbus daemon
#enableParallelBuilding = true; issues on hydra
enableParallelBuilding = true;
preFixup = ''
wrapProgram "$out/bin/gcr-viewer" \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
'';
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;
};
};
meta = with stdenv.lib; {
platforms = platforms.linux;
maintainers = gnome3.maintainers;
description = "GNOME crypto services (daemon and tools)";
homepage = https://gitlab.gnome.org/GNOME/gcr;
license = licenses.gpl2;
homepage = "https://gitlab.gnome.org/GNOME/gcr";
license = licenses.lgpl2Plus;
longDescription = ''
GCR is a library for displaying certificates, and crypto UI, accessing

View file

@ -2,9 +2,9 @@ findGdkPixbufLoaders() {
# choose the longest loaders.cache
local loadersCache="$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
if [ -f "$loadersCache" ]; then
if [ -f "$GDK_PIXBUF_MODULE_FILE" ]; then
if [ $(cat "$loadersCache"|wc -l) -gt $(cat "$GDK_PIXBUF_MODULE_FILE"|wc -l) ]; then
if [[ -f "$loadersCache" ]]; then
if [[ -f "${GDK_PIXBUF_MODULE_FILE-}" ]]; then
if [[ "$(cat "$loadersCache" | wc -l)" > "$(cat "$GDK_PIXBUF_MODULE_FILE" | wc -l)" ]]; then
export GDK_PIXBUF_MODULE_FILE="$loadersCache"
fi
else

View file

@ -1,323 +0,0 @@
This patch was generated by re-running Bison 3.0.4 on pro-gram-gen.y after
applying CVE-2018-18751.patch. This patch removes the need to add bison to
nativeBuildInputs.
--- a/gettext-tools/src/po-gram-gen.c
+++ b/gettext-tools/src/po-gram-gen.c
@@ -568,9 +568,9 @@ static const yytype_uint8 yytranslate[] =
static const yytype_uint16 yyrline[] =
{
0, 169, 169, 171, 172, 173, 174, 179, 187, 195,
- 216, 240, 249, 258, 269, 278, 292, 301, 315, 321,
- 332, 338, 350, 361, 372, 376, 391, 414, 422, 434,
- 442
+ 216, 237, 246, 255, 266, 275, 289, 298, 312, 318,
+ 329, 335, 347, 358, 369, 373, 388, 411, 419, 431,
+ 439
};
#endif
@@ -1419,14 +1419,11 @@ yyreduce:
check_obsolete ((yyvsp[-3].message_intro), (yyvsp[-1].string));
check_obsolete ((yyvsp[-3].message_intro), (yyvsp[0].rhs));
if (!(yyvsp[-3].message_intro).obsolete || pass_obsolete_entries)
- {
- do_callback_message ((yyvsp[-3].message_intro).ctxt, string2, &(yyvsp[-3].message_intro).pos, (yyvsp[-1].string).string,
- (yyvsp[0].rhs).rhs.msgstr, (yyvsp[0].rhs).rhs.msgstr_len, &(yyvsp[0].rhs).pos,
- (yyvsp[-3].message_intro).prev_ctxt,
- (yyvsp[-3].message_intro).prev_id, (yyvsp[-3].message_intro).prev_id_plural,
- (yyvsp[-3].message_intro).obsolete);
- free ((yyvsp[-1].string).string);
- }
+ do_callback_message ((yyvsp[-3].message_intro).ctxt, string2, &(yyvsp[-3].message_intro).pos, (yyvsp[-1].string).string,
+ (yyvsp[0].rhs).rhs.msgstr, (yyvsp[0].rhs).rhs.msgstr_len, &(yyvsp[0].rhs).pos,
+ (yyvsp[-3].message_intro).prev_ctxt,
+ (yyvsp[-3].message_intro).prev_id, (yyvsp[-3].message_intro).prev_id_plural,
+ (yyvsp[-3].message_intro).obsolete);
else
{
free_message_intro ((yyvsp[-3].message_intro));
@@ -1435,11 +1432,11 @@ yyreduce:
free ((yyvsp[0].rhs).rhs.msgstr);
}
}
-#line 1439 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1436 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 11:
-#line 241 "po-gram-gen.y" /* yacc.c:1646 */
+#line 238 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-2].message_intro), (yyvsp[-1].stringlist));
check_obsolete ((yyvsp[-2].message_intro), (yyvsp[0].string));
@@ -1448,11 +1445,11 @@ yyreduce:
string_list_destroy (&(yyvsp[-1].stringlist).stringlist);
free ((yyvsp[0].string).string);
}
-#line 1452 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1449 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 12:
-#line 250 "po-gram-gen.y" /* yacc.c:1646 */
+#line 247 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-2].message_intro), (yyvsp[-1].stringlist));
check_obsolete ((yyvsp[-2].message_intro), (yyvsp[0].rhs));
@@ -1461,22 +1458,22 @@ yyreduce:
string_list_destroy (&(yyvsp[-1].stringlist).stringlist);
free ((yyvsp[0].rhs).rhs.msgstr);
}
-#line 1465 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1462 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 13:
-#line 259 "po-gram-gen.y" /* yacc.c:1646 */
+#line 256 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].message_intro), (yyvsp[0].stringlist));
po_gram_error_at_line (&(yyvsp[-1].message_intro).pos, _("missing 'msgstr' section"));
free_message_intro ((yyvsp[-1].message_intro));
string_list_destroy (&(yyvsp[0].stringlist).stringlist);
}
-#line 1476 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1473 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 14:
-#line 270 "po-gram-gen.y" /* yacc.c:1646 */
+#line 267 "po-gram-gen.y" /* yacc.c:1646 */
{
(yyval.message_intro).prev_ctxt = NULL;
(yyval.message_intro).prev_id = NULL;
@@ -1485,11 +1482,11 @@ yyreduce:
(yyval.message_intro).pos = (yyvsp[0].string).pos;
(yyval.message_intro).obsolete = (yyvsp[0].string).obsolete;
}
-#line 1489 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1486 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 15:
-#line 279 "po-gram-gen.y" /* yacc.c:1646 */
+#line 276 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].prev), (yyvsp[0].string));
(yyval.message_intro).prev_ctxt = (yyvsp[-1].prev).ctxt;
@@ -1499,11 +1496,11 @@ yyreduce:
(yyval.message_intro).pos = (yyvsp[0].string).pos;
(yyval.message_intro).obsolete = (yyvsp[0].string).obsolete;
}
-#line 1503 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1500 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 16:
-#line 293 "po-gram-gen.y" /* yacc.c:1646 */
+#line 290 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].string), (yyvsp[0].stringlist));
(yyval.prev).ctxt = (yyvsp[-1].string).string;
@@ -1512,11 +1509,11 @@ yyreduce:
(yyval.prev).pos = (yyvsp[-1].string).pos;
(yyval.prev).obsolete = (yyvsp[-1].string).obsolete;
}
-#line 1516 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1513 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 17:
-#line 302 "po-gram-gen.y" /* yacc.c:1646 */
+#line 299 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-2].string), (yyvsp[-1].stringlist));
check_obsolete ((yyvsp[-2].string), (yyvsp[0].string));
@@ -1526,21 +1523,21 @@ yyreduce:
(yyval.prev).pos = (yyvsp[-2].string).pos;
(yyval.prev).obsolete = (yyvsp[-2].string).obsolete;
}
-#line 1530 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1527 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 18:
-#line 316 "po-gram-gen.y" /* yacc.c:1646 */
+#line 313 "po-gram-gen.y" /* yacc.c:1646 */
{
(yyval.string).string = NULL;
(yyval.string).pos = (yyvsp[0].pos).pos;
(yyval.string).obsolete = (yyvsp[0].pos).obsolete;
}
-#line 1540 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1537 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 19:
-#line 322 "po-gram-gen.y" /* yacc.c:1646 */
+#line 319 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-2].pos), (yyvsp[-1].stringlist));
check_obsolete ((yyvsp[-2].pos), (yyvsp[0].pos));
@@ -1548,21 +1545,21 @@ yyreduce:
(yyval.string).pos = (yyvsp[0].pos).pos;
(yyval.string).obsolete = (yyvsp[0].pos).obsolete;
}
-#line 1552 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1549 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 20:
-#line 333 "po-gram-gen.y" /* yacc.c:1646 */
+#line 330 "po-gram-gen.y" /* yacc.c:1646 */
{
(yyval.string).string = NULL;
(yyval.string).pos = (yyvsp[0].pos).pos;
(yyval.string).obsolete = (yyvsp[0].pos).obsolete;
}
-#line 1562 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1559 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 21:
-#line 339 "po-gram-gen.y" /* yacc.c:1646 */
+#line 336 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-2].pos), (yyvsp[-1].stringlist));
check_obsolete ((yyvsp[-2].pos), (yyvsp[0].pos));
@@ -1570,11 +1567,11 @@ yyreduce:
(yyval.string).pos = (yyvsp[0].pos).pos;
(yyval.string).obsolete = (yyvsp[0].pos).obsolete;
}
-#line 1574 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1571 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 22:
-#line 351 "po-gram-gen.y" /* yacc.c:1646 */
+#line 348 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].pos), (yyvsp[0].stringlist));
plural_counter = 0;
@@ -1582,30 +1579,30 @@ yyreduce:
(yyval.string).pos = (yyvsp[-1].pos).pos;
(yyval.string).obsolete = (yyvsp[-1].pos).obsolete;
}
-#line 1586 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1583 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 23:
-#line 362 "po-gram-gen.y" /* yacc.c:1646 */
+#line 359 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].pos), (yyvsp[0].stringlist));
(yyval.string).string = string_list_concat_destroy (&(yyvsp[0].stringlist).stringlist);
(yyval.string).pos = (yyvsp[-1].pos).pos;
(yyval.string).obsolete = (yyvsp[-1].pos).obsolete;
}
-#line 1597 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1594 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 24:
-#line 373 "po-gram-gen.y" /* yacc.c:1646 */
+#line 370 "po-gram-gen.y" /* yacc.c:1646 */
{
(yyval.rhs) = (yyvsp[0].rhs);
}
-#line 1605 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1602 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 25:
-#line 377 "po-gram-gen.y" /* yacc.c:1646 */
+#line 374 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].rhs), (yyvsp[0].rhs));
(yyval.rhs).rhs.msgstr = XNMALLOC ((yyvsp[-1].rhs).rhs.msgstr_len + (yyvsp[0].rhs).rhs.msgstr_len, char);
@@ -1617,11 +1614,11 @@ yyreduce:
(yyval.rhs).pos = (yyvsp[-1].rhs).pos;
(yyval.rhs).obsolete = (yyvsp[-1].rhs).obsolete;
}
-#line 1621 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1618 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 26:
-#line 392 "po-gram-gen.y" /* yacc.c:1646 */
+#line 389 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-4].pos), (yyvsp[-3].pos));
check_obsolete ((yyvsp[-4].pos), (yyvsp[-2].number));
@@ -1640,11 +1637,11 @@ yyreduce:
(yyval.rhs).pos = (yyvsp[-4].pos).pos;
(yyval.rhs).obsolete = (yyvsp[-4].pos).obsolete;
}
-#line 1644 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1641 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 27:
-#line 415 "po-gram-gen.y" /* yacc.c:1646 */
+#line 412 "po-gram-gen.y" /* yacc.c:1646 */
{
string_list_init (&(yyval.stringlist).stringlist);
string_list_append (&(yyval.stringlist).stringlist, (yyvsp[0].string).string);
@@ -1652,11 +1649,11 @@ yyreduce:
(yyval.stringlist).pos = (yyvsp[0].string).pos;
(yyval.stringlist).obsolete = (yyvsp[0].string).obsolete;
}
-#line 1656 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1653 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 28:
-#line 423 "po-gram-gen.y" /* yacc.c:1646 */
+#line 420 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].stringlist), (yyvsp[0].string));
(yyval.stringlist).stringlist = (yyvsp[-1].stringlist).stringlist;
@@ -1665,11 +1662,11 @@ yyreduce:
(yyval.stringlist).pos = (yyvsp[-1].stringlist).pos;
(yyval.stringlist).obsolete = (yyvsp[-1].stringlist).obsolete;
}
-#line 1669 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1666 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 29:
-#line 435 "po-gram-gen.y" /* yacc.c:1646 */
+#line 432 "po-gram-gen.y" /* yacc.c:1646 */
{
string_list_init (&(yyval.stringlist).stringlist);
string_list_append (&(yyval.stringlist).stringlist, (yyvsp[0].string).string);
@@ -1677,11 +1674,11 @@ yyreduce:
(yyval.stringlist).pos = (yyvsp[0].string).pos;
(yyval.stringlist).obsolete = (yyvsp[0].string).obsolete;
}
-#line 1681 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1678 "po-gram-gen.c" /* yacc.c:1646 */
break;
case 30:
-#line 443 "po-gram-gen.y" /* yacc.c:1646 */
+#line 440 "po-gram-gen.y" /* yacc.c:1646 */
{
check_obsolete ((yyvsp[-1].stringlist), (yyvsp[0].string));
(yyval.stringlist).stringlist = (yyvsp[-1].stringlist).stringlist;
@@ -1690,11 +1687,11 @@ yyreduce:
(yyval.stringlist).pos = (yyvsp[-1].stringlist).pos;
(yyval.stringlist).obsolete = (yyvsp[-1].stringlist).obsolete;
}
-#line 1694 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1691 "po-gram-gen.c" /* yacc.c:1646 */
break;
-#line 1698 "po-gram-gen.c" /* yacc.c:1646 */
+#line 1695 "po-gram-gen.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires

View file

@ -1,24 +1,16 @@
{ stdenv, lib, fetchurl, libiconv, xz, bison, automake115x, autoconf }:
{ stdenv, lib, fetchurl, libiconv, xz }:
let allowBisonDependency = !stdenv.isDarwin; in
stdenv.mkDerivation rec {
pname = "gettext";
version = "0.19.8.1";
version = "0.20.1";
src = fetchurl {
url = "mirror://gnu/gettext/${pname}-${version}.tar.gz";
sha256 = "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z";
sha256 = "0p3zwkk27wm2m2ccfqm57nj7vqkmfpn7ja1nf65zmhz8qqs5chb6";
};
patches = [
./absolute-paths.diff
(fetchurl {
name = "CVE-2018-18751.patch";
url = "https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=patch;h=dce3a16e5e9368245735e29bf498dcd5e3e474a4";
sha256 = "1lpjwwcjr1sb879faj0xyzw02kma0ivab6xwn3qciy13qy6fq5xn";
})
] ++ lib.optionals (!allowBisonDependency) [
# Only necessary for CVE-2018-18751.patch:
./CVE-2018-18751-bison.patch
./gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch
];
outputs = [ "out" "man" "doc" "info" ];
@ -54,14 +46,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
xz
xz.bin
]
# Only necessary for CVE-2018-18751.patch (unless CVE-2018-18751-bison.patch
# is also applied):
++ lib.optional allowBisonDependency bison
++ [
# Only necessary for CVE-2018-18751.patch:
automake115x
autoconf
];
# HACK, see #10874 (and 14664)
buildInputs = stdenv.lib.optional (!stdenv.isLinux && !stdenv.hostPlatform.isCygwin) libiconv;

View file

@ -10,7 +10,7 @@ addEnvHooks "$hostOffset" gettextDataDirsHook
# libintl must be listed in load flags on non-Glibc
# it doesn't hurt to have it in Glibc either though
if [ -n "@gettextNeedsLdflags@" -a -z "$dontAddExtraLibs" ]; then
if [ -n "@gettextNeedsLdflags@" -a -z "${dontAddExtraLibs-}" ]; then
# See pkgs/build-support/setup-hooks/role.bash
getHostRole
export NIX_${role_pre}LDFLAGS+=" -lintl"

View file

@ -0,0 +1,82 @@
From 2336451ed68d91ff4b5ae1acbc1eca30e47a86a9 Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Sun, 19 May 2019 13:10:06 +0200
Subject: [PATCH] msgmerge: Fix behaviour of --for-msgfmt on PO files with no
translations.
Reported by Don Lawrence <dlawrence@iecok.com>
in <https://lists.freedesktop.org/archives/p11-glue/2019-May/000700.html>
via Daiki Ueno
in <https://lists.gnu.org/archive/html/bug-gettext/2019-05/msg00124.html>.
* gettext-tools/src/msgmerge.c (main): Treat force_po like true if for_msgfmt
is true.
* gettext-tools/tests/msgmerge-26: Add test of PO file with no translations.
---
gettext-tools/src/msgmerge.c | 4 ++--
gettext-tools/tests/msgmerge-26 | 36 +++++++++++++++++++++++++++++++++---
2 files changed, 35 insertions(+), 5 deletions(-)
diff --git a/gettext-tools/src/msgmerge.c b/gettext-tools/src/msgmerge.c
index cd762c0..92c9b7a 100644
--- a/gettext-tools/src/msgmerge.c
+++ b/gettext-tools/src/msgmerge.c
@@ -520,8 +520,8 @@ There is NO WARRANTY, to the extent permitted by law.\n\
else
{
/* Write the merged message list out. */
- msgdomain_list_print (result, output_file, output_syntax, force_po,
- false);
+ msgdomain_list_print (result, output_file, output_syntax,
+ for_msgfmt || force_po, false);
}
exit (EXIT_SUCCESS);
diff --git a/gettext-tools/tests/msgmerge-26 b/gettext-tools/tests/msgmerge-26
index cd3862e..b86f7a0 100755
--- a/gettext-tools/tests/msgmerge-26
+++ b/gettext-tools/tests/msgmerge-26
@@ -73,7 +73,37 @@ msgstr "Papaya"
EOF
: ${DIFF=diff}
-${DIFF} mm-test26.ok mm-test26.out
-result=$?
+${DIFF} mm-test26.ok mm-test26.out || Exit 1
-exit $result
+# Test with a PO file that has no translated messages.
+
+cat <<\EOF > mm-test26a.in1
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+
+msgid "Hello world"
+msgstr "Hallo Welt"
+EOF
+
+cat <<\EOF > mm-test26a.in2
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=ASCII\n"
+
+msgid "Hello, world!"
+msgstr ""
+EOF
+
+: ${MSGMERGE=msgmerge}
+${MSGMERGE} --for-msgfmt -o mm-test26a.tmp mm-test26a.in1 mm-test26a.in2 \
+ || Exit 1
+LC_ALL=C tr -d '\r' < mm-test26a.tmp > mm-test26a.out || Exit 1
+
+cat <<\EOF > mm-test26a.ok
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8\n"
+EOF
+
+: ${DIFF=diff}
+${DIFF} mm-test26a.ok mm-test26a.out || Exit 1
--
1.9.1

View file

@ -1,7 +1,7 @@
{stdenv, fetchurl, libGLU_combined, freeglut, libX11, libXt, libXmu, libXi, libXext}:
{stdenv, fetchurl, freeglut, libX11, libXt, libXmu, libXi, libXext, libGL, libGLU}:
stdenv.mkDerivation {
name = "gle-3.1.0";
buildInputs = [libGLU_combined freeglut libX11 libXt libXmu libXi libXext];
buildInputs = [libGLU libGL freeglut libX11 libXt libXmu libXi libXext];
src = fetchurl {
urls = [
"mirror://sourceforge/project/gle/gle/gle-3.1.0/gle-3.1.0.tar.gz"

View file

@ -1,9 +1,11 @@
make_glib_find_gsettings_schemas() {
# For packages that need gschemas of other packages (e.g. empathy)
if [ -d "$1"/share/gsettings-schemas/*/glib-2.0/schemas ]; then
addToSearchPath GSETTINGS_SCHEMAS_PATH "$1/share/gsettings-schemas/"*
fi
for maybe_dir in "$1"/share/gsettings-schemas/*/glib-2.0; do
if [[ -d "$maybe_dir/schemas" ]]; then
addToSearchPath GSETTINGS_SCHEMAS_PATH "$maybe_dir"
fi
done
}
addEnvHooks "$hostOffset" make_glib_find_gsettings_schemas

View file

@ -1,4 +1,4 @@
{ stdenv, buildPackages, fetchurl, pciutils }:
{ stdenv, buildPackages, fetchurl, fetchpatch, pciutils }:
with stdenv.lib;
@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
sha256 = "1ffnc4xbzfggs37ymrgfx76j56kk2644c081ivhr2bjkla9ag3gj";
};
patches = [
# Fix build on armv6l
(fetchpatch {
url = "https://sourceforge.net/p/gnu-efi/patches/_discuss/thread/25bb273a18/9c4d/attachment/0001-Fix-ARCH-on-armv6-and-other-32-bit-ARM-platforms.patch";
sha256 = "0pj03h20g2bbz6fr753bj1scry6919h57l1h86z3b6q7hqfj0b4r";
})
];
buildInputs = [ pciutils ];
hardeningDisable = [ "stackprotector" ];

View file

@ -1,16 +1,40 @@
{ stdenv, fetchurl, fetchpatch, meson, ninja, gettext
{ stdenv
, fetchurl
, meson
, ninja
, gettext
, config
, pkgconfig, python3, gst-plugins-base, orc
, pkgconfig
, python3
, gst-plugins-base
, orc
, gobject-introspection
, enableZbar ? true
, faacSupport ? false, faac ? null
, faad2, libass, libkate, libmms, librdf, ladspaH
, libnice, webrtc-audio-processing, lilv, lv2, serd, sord, sratom
, libbs2b, libmodplug, mpeg2dec
, openjpeg, libopus, librsvg
, faacSupport ? false
, faac ? null
, faad2
, libass
, libkate
, libmms
, librdf
, ladspaH
, libnice
, webrtc-audio-processing
, lilv
, lv2
, serd
, sord
, sratom
, libbs2b
, libmodplug
, mpeg2dec
, openjpeg
, libopus
, librsvg
, bluez
, chromaprint
, curl
, darwin
, directfb
, fdk_aac
, flite
@ -27,7 +51,7 @@
, libusb1
, neon
, openal
, opencv3
, opencv4
, openexr
, openh264
, pango
@ -38,10 +62,20 @@
, srtp
, zbar
, wayland-protocols
, wildmidi, fluidsynth, libvdpau, wayland
, libwebp, xvidcore, gnutls, mjpegtools
, libGLU_combined, libintl, libgme
, openssl, x265, libxml2
, wildmidi
, fluidsynth
, libvdpau
, wayland
, libwebp
, xvidcore
, gnutls
, mjpegtools
, libGLU_combined
, libintl
, libgme
, openssl
, x265
, libxml2
, srt
}:
@ -49,113 +83,127 @@ assert faacSupport -> faac != null;
let
inherit (stdenv.lib) optional optionals;
in
stdenv.mkDerivation rec {
in stdenv.mkDerivation rec {
pname = "gst-plugins-bad";
version = "1.16.0";
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";
};
version = "1.16.1";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
sha256 = "1dddqacxgp77f3nl153x5a6139wdphc9phds2fpqb2cv6faiqj2n";
};
patches = [
./fix_pkgconfig_includedir.patch
];
nativeBuildInputs = [
meson ninja pkgconfig python3 gettext gobject-introspection
]
++ optionals stdenv.isLinux [
meson
ninja
pkgconfig
python3
gettext
gobject-introspection
] ++ optionals stdenv.isLinux [
wayland-protocols
];
buildInputs = [
gst-plugins-base orc
faad2 libass libkate libmms
libnice webrtc-audio-processing # webrtc
gst-plugins-base
orc
faad2
libass
libkate
libmms
webrtc-audio-processing # webrtc
libbs2b
ladspaH librdf # ladspa plug-in
lilv lv2 serd sord sratom # lv2 plug-in
libmodplug mpeg2dec
openjpeg libopus librsvg
bluez
chromaprint
libmodplug
mpeg2dec
openjpeg
libopus
librsvg
curl.dev
directfb
fdk_aac
flite
gsm
libaom
libdc1394
libde265
libdrm
libdvdnav
libdvdread
libgudev
libofa
libsndfile
libusb1
mjpegtools
neon
openal
opencv3
opencv4
openexr
openh264
rtmpdump
pango
sbc
soundtouch
spandsp
srtp
fluidsynth libvdpau
libwebp xvidcore gnutls libGLU_combined
libgme openssl x265 libxml2
fluidsynth
libvdpau
libwebp
xvidcore
gnutls
libGLU_combined
libgme
openssl
x265
libxml2
libintl
srt
]
++ optional enableZbar zbar
++ optional faacSupport faac
++ optional stdenv.isLinux wayland
] ++ optionals enableZbar [
zbar
] ++ optionals faacSupport [
faac
] ++ optionals stdenv.isLinux [
bluez
wayland
] ++ optionals (!stdenv.isDarwin) [
# wildmidi requires apple's OpenAL
# 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
++ 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 = [
# 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
"-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
"-Dnvdec=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
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 ];
};
}

View file

@ -1,100 +1,153 @@
{ stdenv, fetchurl, fetchpatch, lib
, pkgconfig, meson, ninja, gettext, gobject-introspection
, python3, gstreamer, orc, pango, libtheora
, libintl, libopus
{ stdenv
, fetchurl
, lib
, pkgconfig
, meson
, ninja
, gettext
, gobject-introspection
, python3
, gstreamer
, orc
, pango
, libtheora
, libintl
, libopus
, isocodes
, libjpeg
, libpng
, libvisual
, tremor # provides 'virbisidec'
, libGL
, gtk-doc, docbook_xsl, docbook_xml_dtd_412
, enableX11 ? stdenv.isLinux, libXv
, enableWayland ? stdenv.isLinux, wayland
, enableAlsa ? stdenv.isLinux, alsaLib
, enableCocoa ? false, darwin
, enableCdparanoia ? (!stdenv.isDarwin), cdparanoia }:
, gtk-doc
, docbook_xsl
, docbook_xml_dtd_43
, enableX11 ? stdenv.isLinux
, libXv
, 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 {
pname = "gst-plugins-base";
version = "1.16.0";
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";
};
version = "1.16.1";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
sha256 = "0aybbwnzm15074smdk2bamj3ssck3hjvmilvgh49f19xjf4w8g2w";
};
patches = [
./fix_pkgconfig_includedir.patch
];
nativeBuildInputs = [
pkgconfig python3 gettext gobject-introspection
meson
ninja
pkgconfig
python3
gettext
gobject-introspection
# docs
gtk-doc
# Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
docbook_xsl docbook_xml_dtd_412
]
# 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 ];
docbook_xsl
docbook_xml_dtd_43
];
# On Darwin, we currently use autoconf, on all other systems Meson
# TODO Switch to Meson on Darwin as well
# TODO How to pass these to Meson?
configureFlags = lib.optionals stdenv.isDarwin [
"--enable-x11=${if enableX11 then "yes" else "no"}"
"--enable-wayland=${if enableWayland then "yes" else "no"}"
"--enable-cocoa=${if enableCocoa then "yes" else "no"}"
]
# Introspection fails on my MacBook currently
++ lib.optional stdenv.isDarwin "--disable-introspection";
mesonFlags = lib.optionals (!stdenv.isDarwin) [
# 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
"-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
buildInputs = [
orc
libtheora
libintl
libopus
isocodes
libpng
libjpeg
tremor
libGL
] ++ lib.optional (!stdenv.isDarwin) [
libvisual
] ++ lib.optionals stdenv.isDarwin [
pango
darwin.apple_sdk.frameworks.OpenGL
] ++ lib.optional enableAlsa alsaLib
++ lib.optionals enableX11 [ libXv pango ]
++ lib.optional enableWayland wayland
++ lib.optional enableCocoa darwin.apple_sdk.frameworks.Cocoa
++ 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 = ''
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
patches = [
./fix_pkgconfig_includedir.patch
];
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 ];
};
}

View file

@ -1,10 +1,23 @@
{ stdenv, fetchurl, fetchpatch, meson, ninja
, pkgconfig, gettext, gobject-introspection
, bison, flex, python3, glib, makeWrapper
, libcap,libunwind, darwin
{ stdenv
, fetchurl
, fetchpatch
, meson
, ninja
, pkgconfig
, gettext
, gobject-introspection
, bison
, flex
, python3
, glib
, makeWrapper
, libcap
, libunwind
, darwin
, elfutils # for libdw
, bash-completion
, docbook_xsl, docbook_xml_dtd_412
, docbook_xsl
, docbook_xml_dtd_43
, gtk-doc
, lib
, CoreServices
@ -12,50 +25,66 @@
stdenv.mkDerivation rec {
pname = "gstreamer";
version = "1.16.0";
version = "1.16.1";
meta = with lib ;{
description = "Open source multimedia framework";
homepage = https://gstreamer.freedesktop.org;
license = licenses.lgpl2Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ ttuegel matthewbauer ];
};
outputs = [ "out" "dev" "devdoc" ];
outputBin = "dev";
src = fetchurl {
url = "${meta.homepage}/src/gstreamer/${pname}-${version}.tar.xz";
sha256 = "003wy1p1in85p9sr5jsyhbnwqaiwz069flwkhyx7qhxy31qjz3hf";
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
sha256 = "0z9pyhf6zm1r0spw6zym80bvbyx6h8xg9h6535csbnn48ws1q882";
};
patches = [
./fix_pkgconfig_includedir.patch
];
outputs = [ "out" "dev" ];
outputBin = "dev";
nativeBuildInputs = [
meson ninja pkgconfig gettext bison flex python3 makeWrapper gobject-introspection
meson
ninja
pkgconfig
gettext
bison
flex
python3
makeWrapper
gobject-introspection
bash-completion
# documentation
gtk-doc
# Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
docbook_xsl docbook_xml_dtd_412
docbook_xsl
docbook_xml_dtd_43
];
buildInputs =
lib.optionals stdenv.isLinux [ libcap libunwind elfutils ]
++ lib.optional stdenv.isDarwin CoreServices;
buildInputs = lib.optionals stdenv.isLinux [
libcap
libunwind
elfutils
] ++ lib.optionals stdenv.isDarwin [
CoreServices
];
propagatedBuildInputs = [ glib ];
propagatedBuildInputs = [
glib
];
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
"-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.
++ 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 = ''
for prog in "$dev/bin/"*; do
@ -64,21 +93,17 @@ stdenv.mkDerivation rec {
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 = ''
moveToOutput "share/bash-completion" "$dev"
'';
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 ];
};
}

View file

@ -1,7 +1,7 @@
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"
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
}

View file

@ -1,39 +1,66 @@
{ stdenv, fetchurl, fetchpatch, meson, ninja
, pkgconfig, python, gst-plugins-base, libxml2
, flex, perl, gettext, gobject-introspection
{ stdenv
, fetchurl
, fetchpatch
, meson
, ninja
, pkgconfig
, python
, gst-plugins-base
, libxml2
, flex
, perl
, gettext
, gobject-introspection
}:
stdenv.mkDerivation rec {
pname = "gstreamer-editing-services";
version = "1.16.0";
meta = with stdenv.lib; {
description = "Library for creation of audio/video non-linear editors";
homepage = "https://gstreamer.freedesktop.org";
license = licenses.lgpl2Plus;
platforms = platforms.unix;
};
src = fetchurl {
url = "${meta.homepage}/src/gstreamer-editing-services/${pname}-${version}.tar.xz";
sha256 = "1las94jkx83sxmzi5w6b0xm89dqqwzpdsb6h9w9ixndhnbpzm8w2";
};
version = "1.16.1";
outputs = [ "out" "dev" ];
nativeBuildInputs = [ meson ninja pkgconfig gettext gobject-introspection python flex perl ];
propagatedBuildInputs = [ gst-plugins-base libxml2 ];
mesonFlags = [
"-Dgtk_doc=disabled"
];
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; {
description = "Library for creation of audio/video non-linear editors";
homepage = "https://gstreamer.freedesktop.org";
license = licenses.lgpl2Plus;
platforms = platforms.unix;
};
}

View file

@ -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
, 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
, 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,7 +39,6 @@
, xorg
, libgudev
, wavpack
, jack2
}:
assert gtkSupport -> gtk3 != null;
@ -26,39 +48,44 @@ let
in
stdenv.mkDerivation rec {
pname = "gst-plugins-good";
version = "1.16.0";
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 ];
};
src = fetchurl {
url = "${meta.homepage}/src/gst-plugins-good/${pname}-${version}.tar.xz";
sha256 = "1zdhif1mhf0ihkjpjyrh65g2iz2cawkjjb3h5w8h9ml06grxwjk5";
};
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 ];
NIX_LDFLAGS = "-lncurses";
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
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) [
] ++ 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 = [
# 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 ];
};
}

View file

@ -1,4 +1,4 @@
{ fetchurl, stdenv, pkgconfig, gstreamer, xorg, alsaLib, cdparanoia
{ fetchurl, fetchpatch, stdenv, pkgconfig, gstreamer, xorg, alsaLib, cdparanoia
, libogg, libtheora, libvorbis, freetype, pango, liboil, glib, cairo, orc
, libintl
, ApplicationServices
@ -20,10 +20,10 @@ stdenv.mkDerivation rec {
patches = [
./gcc-4.9.patch
(fetchurl {
(fetchpatch {
url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/commit/f672277509705c4034bc92a141eefee4524d15aa.patch";
name = "CVE-2019-9928.patch";
sha256 = "0hz3lsq3ppmaf329sbyi05y1qniqfj9vlp2f3z918383pvrcms4i";
sha256 = "1dlamsmyr7chrb6vqqmwikqvvqcx5l7k72p98448qm6k59ndnimc";
})
];

View file

@ -1,7 +1,7 @@
addGstreamerLibPath () {
if test -d "$1/lib/gstreamer-0.10"
then
export GST_PLUGIN_SYSTEM_PATH="${GST_PLUGIN_SYSTEM_PATH}${GST_PLUGIN_SYSTEM_PATH:+:}$1/lib/gstreamer-0.10"
export GST_PLUGIN_SYSTEM_PATH="${GST_PLUGIN_SYSTEM_PATH-}${GST_PLUGIN_SYSTEM_PATH:+:}$1/lib/gstreamer-0.10"
fi
}

View file

@ -1,43 +1,46 @@
{ stdenv, fetchurl, meson, ninja, pkgconfig
, python, yasm, gst-plugins-base, orc, bzip2
, gettext, withSystemLibav ? true, libav ? null
{ stdenv
, lib
, fetchurl
, meson
, ninja
, pkgconfig
, python3
, 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.
assert withSystemLibav -> libav != null;
stdenv.mkDerivation rec {
pname = "gst-libav";
version = "1.16.0";
meta = {
homepage = https://gstreamer.freedesktop.org;
license = stdenv.lib.licenses.lgpl2Plus;
platforms = stdenv.lib.platforms.unix;
};
version = "1.16.1";
src = fetchurl {
url = "${meta.homepage}/src/gst-libav/${pname}-${version}.tar.xz";
sha256 = "16ixqpfrr7plaaz14n3vagr2q5xbfkv7gpmcsyndrkx98f813b6z";
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
sha256 = "1i31ra0l77cfahb6k5xpx45zwvpskzm848aijsbbx9x4x65799g8";
};
outputs = [ "out" "dev" ];
nativeBuildInputs = with stdenv.lib;
[ meson ninja gettext pkgconfig python ]
++ optional (!withSystemLibav) yasm
;
buildInputs = with stdenv.lib;
[ gst-plugins-base orc bzip2 ]
++ optional withSystemLibav libav
;
mesonFlags = [
# Enables all features, so that we know when new dependencies are necessary.
"-Dauto_features=enabled"
nativeBuildInputs = [
meson
ninja
gettext
pkgconfig
python3
];
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;
};
}

View file

@ -1,38 +1,50 @@
{ stdenv, fetchurl, meson, ninja, pkgconfig
, gettext, gobject-introspection
{ stdenv
, fetchurl
, meson
, ninja
, pkgconfig
, gettext
, gobject-introspection
, gst-plugins-base
, gst-plugins-bad
}:
stdenv.mkDerivation rec {
pname = "gst-rtsp-server";
version = "1.16.0";
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 ];
};
version = "1.16.1";
src = fetchurl {
url = "${meta.homepage}/src/gst-rtsp-server/${pname}-${version}.tar.xz";
sha256 = "069zy159izy50blci9fli1i2r8jh91qkmgrz1n0xqciy3bn9x3hr";
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
sha256 = "0i01f1nr0921z6z4nrh8icz76s2n7i228aqxg1ihvxl65ynsraxh";
};
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 = [
# 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
];
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 ];
};
}

View file

@ -1,53 +1,76 @@
{ stdenv, fetchurl, meson, ninja, pkgconfig, python
, gst-plugins-base, orc, gettext
, a52dec, libcdio, libdvdread
, libmad, libmpeg2, x264, libintl, lib
{ stdenv
, fetchurl
, meson
, ninja
, pkgconfig
, python
, gst-plugins-base
, orc
, gettext
, a52dec
, libcdio
, libdvdread
, libmad
, libmpeg2
, x264
, libintl
, lib
, opencore-amr
, darwin
}:
stdenv.mkDerivation rec {
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; {
description = "Gstreamer Ugly Plugins";
homepage = "https://gstreamer.freedesktop.org";
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 = licenses.lgpl2Plus;
platforms = platforms.unix;
license = licenses.lgpl2Plus;
platforms = platforms.unix;
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" ];
}

View file

@ -1,49 +1,70 @@
{ stdenv, fetchurl, meson, ninja, pkgconfig, gst-plugins-base, bzip2, libva, wayland
, libdrm, udev, xorg, libGLU_combined, gstreamer, gst-plugins-bad, nasm
, libvpx, python, fetchpatch
{ stdenv
, fetchurl
, meson
, ninja
, pkgconfig
, gst-plugins-base
, bzip2
, libva
, wayland
, libdrm
, udev
, xorg
, libGLU_combined
, gstreamer
, gst-plugins-bad
, nasm
, libvpx
, python
}:
stdenv.mkDerivation rec {
pname = "gst-vaapi";
version = "1.16.0";
pname = "gstreamer-vaapi";
version = "1.16.1";
src = fetchurl {
url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz";
sha256 = "07qpynamiz0lniqajcaijh3n7ixs4lfk9a5mfk50sng0dricwzsf";
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
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" ];
nativeBuildInputs = [ meson ninja pkgconfig bzip2 ];
buildInputs = [
gstreamer 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
nativeBuildInputs = [
meson
ninja
pkgconfig
bzip2
];
preConfigure = ''
export GST_PLUGIN_PATH_1_0=$out/lib/gstreamer-1.0
mkdir -p $GST_PLUGIN_PATH_1_0
'';
buildInputs = [
gstreamer
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 = [
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
];
meta = {
homepage = https://gstreamer.freedesktop.org;
license = stdenv.lib.licenses.lgpl21Plus;
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ tstrobel ];
meta = with stdenv.lib; {
description = "Set of VAAPI GStreamer Plug-ins";
homepage = "https://gstreamer.freedesktop.org";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ tstrobel ];
platforms = platforms.linux;
};
}

Some files were not shown because too many files have changed in this diff Show more