Merge remote-tracking branch 'upstream/staging' into wrap-gdb
This commit is contained in:
commit
95692734b0
|
@ -131,6 +131,13 @@
|
|||
<link linkend="opt-networking.interfaces">networking.interfaces.<name>.…</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>
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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 {};
|
||||
|
|
58
nixos/tests/systemd-nspawn.nix
Normal file
58
nixos/tests/systemd-nspawn.nix
Normal 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");
|
||||
'';
|
||||
})
|
|
@ -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'';
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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; {
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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`.
|
||||
#
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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}"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
fixupOutputHooks+=('if [ -z "$dontGzipMan" ]; then compressManPages "$prefix"; fi')
|
||||
fixupOutputHooks+=('if [ -z "${dontGzipMan-}" ]; then compressManPages "$prefix"; fi')
|
||||
|
||||
compressManPages() {
|
||||
local dir="$1"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
fixupOutputHooks+=(_pruneLibtoolFiles)
|
||||
|
||||
_pruneLibtoolFiles() {
|
||||
if [ "$dontPruneLibtoolFiles" ] || [ ! -e "$prefix" ]; then
|
||||
if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 { };
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
63
pkgs/desktops/gnome-3/core/mutter/libglvnd-328.patch
Normal file
63
pkgs/desktops/gnome-3/core/mutter/libglvnd-328.patch
Normal 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 ()
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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; {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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}"
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -5,6 +5,6 @@ pythonCatchConflictsPhase() {
|
|||
@pythonInterpreter@ @catchConflicts@
|
||||
}
|
||||
|
||||
if [ -z "$dontUsePythonCatchConflicts" ]; then
|
||||
if [ -z "${dontUsePythonCatchConflicts-}" ]; then
|
||||
preDistPhases+=" pythonCatchConflictsPhase"
|
||||
fi
|
||||
|
|
|
@ -10,7 +10,7 @@ pythonImportsCheckPhase () {
|
|||
fi
|
||||
}
|
||||
|
||||
if [ -z "$dontUsePythonImportsCheck" ]; then
|
||||
if [ -z "${dontUsePythonImportsCheck-}" ]; then
|
||||
echo "Using pythonImportsCheckPhase"
|
||||
preDistPhases+=" pythonImportsCheckPhase"
|
||||
fi
|
||||
|
|
|
@ -12,6 +12,6 @@ pythonRemoveBinBytecodePhase () {
|
|||
fi
|
||||
}
|
||||
|
||||
if [ -z "$dontUsePythonRemoveBinBytecode" ]; then
|
||||
if [ -z "${dontUsePythonRemoveBinBytecode-}" ]; then
|
||||
preDistPhases+=" pythonRemoveBinBytecodePhase"
|
||||
fi
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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"
|
||||
'';
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ]
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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" ];
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
})
|
||||
];
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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" ];
|
||||
}
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue