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.
|
<link linkend="opt-networking.interfaces">networking.interfaces.<name>.…</link> options.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</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>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,7 @@ let
|
||||||
"systemd-logind.service"
|
"systemd-logind.service"
|
||||||
"autovt@.service"
|
"autovt@.service"
|
||||||
"systemd-user-sessions.service"
|
"systemd-user-sessions.service"
|
||||||
|
"dbus-org.freedesktop.import1.service"
|
||||||
"dbus-org.freedesktop.machine1.service"
|
"dbus-org.freedesktop.machine1.service"
|
||||||
"user@.service"
|
"user@.service"
|
||||||
"user-runtime-dir@.service"
|
"user-runtime-dir@.service"
|
||||||
|
@ -145,6 +146,7 @@ let
|
||||||
"user.slice"
|
"user.slice"
|
||||||
"machine.slice"
|
"machine.slice"
|
||||||
"machines.target"
|
"machines.target"
|
||||||
|
"systemd-importd.service"
|
||||||
"systemd-machined.service"
|
"systemd-machined.service"
|
||||||
"systemd-nspawn@.service"
|
"systemd-nspawn@.service"
|
||||||
|
|
||||||
|
|
|
@ -263,6 +263,7 @@ in
|
||||||
systemd-confinement = handleTest ./systemd-confinement.nix {};
|
systemd-confinement = handleTest ./systemd-confinement.nix {};
|
||||||
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
|
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
|
||||||
systemd-networkd-wireguard = handleTest ./systemd-networkd-wireguard.nix {};
|
systemd-networkd-wireguard = handleTest ./systemd-networkd-wireguard.nix {};
|
||||||
|
systemd-nspawn = handleTest ./systemd-nspawn.nix {};
|
||||||
pdns-recursor = handleTest ./pdns-recursor.nix {};
|
pdns-recursor = handleTest ./pdns-recursor.nix {};
|
||||||
taskserver = handleTest ./taskserver.nix {};
|
taskserver = handleTest ./taskserver.nix {};
|
||||||
telegraf = handleTest ./telegraf.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 = ''
|
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'';
|
postInstall = ''rm $out/bin/i-score.sh'';
|
||||||
|
|
|
@ -3,11 +3,11 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "mpg123-1.25.12";
|
name = "mpg123-1.25.13";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/mpg123/${name}.tar.bz2";
|
url = "mirror://sourceforge/mpg123/${name}.tar.bz2";
|
||||||
sha256 = "1l9iwwgqzw6yg5zk9pqmlbfyq6d8dqysbmj0j3m8dyrxd34wgzhz";
|
sha256 = "02l915jq0ymndb082g6w89bpf66z04ifa1lr7ga3yycw6m46hc4h";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
|
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" …).
|
# Specify default libao output plugin to use (e.g. "alsa", "pulse" …).
|
||||||
# If null, it will use the libao system default.
|
# If null, it will use the libao system default.
|
||||||
, defaultAudio ? null
|
, defaultAudio ? null
|
||||||
|
@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "0ki8mh76bbmdh77qsiw682dvi8y468yhbdabqwg05igmwc1wqvq5";
|
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" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
configureFlags =
|
configureFlags =
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
{ lib, fetchFromGitHub }:
|
{ lib, fetchFromGitHub }:
|
||||||
rec {
|
rec {
|
||||||
version = "8.1.2188";
|
version = "8.1.2237";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "vim";
|
owner = "vim";
|
||||||
repo = "vim";
|
repo = "vim";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0ixq96l991b84sj66v63ds61yr75gx5zz411213yn6bz3s2fvlcv";
|
sha256 = "1qwh3cw5zmjmnk07g0nc8nz8k5nlq9ilvvygnfdjy1fqg69q8p0h";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
|
@ -1,32 +1,34 @@
|
||||||
{ stdenv, fetchFromGitHub, cmake, pkgconfig
|
{ stdenv, fetchFromGitHub, cmake, pkgconfig, mkDerivation
|
||||||
, qtbase, qtx11extras, qtsvg, makeWrapper
|
, qtbase, qtx11extras, qtsvg, makeWrapper
|
||||||
, vulkan-loader, xorg
|
, vulkan-loader, xorg, python3, python3Packages
|
||||||
, python3, bison, pcre, automake, autoconf
|
, bison, pcre, automake, autoconf, addOpenGLRunpath
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
custom_swig = fetchFromGitHub {
|
custom_swig = fetchFromGitHub {
|
||||||
owner = "baldurk";
|
owner = "baldurk";
|
||||||
repo = "swig";
|
repo = "swig";
|
||||||
rev = "renderdoc-modified-6";
|
rev = "renderdoc-modified-7";
|
||||||
sha256 = "00ykqlzx1k9iwqjlc54kfch7cnzsj53hxn7ql70dj3rxqzrnadc0";
|
sha256 = "15r2m5kcs0id64pa2fsw58qll3jyh71jzc04wy20pgsh2326zis6";
|
||||||
};
|
};
|
||||||
|
pythonPackages = python3Packages;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
mkDerivation rec {
|
||||||
version = "1.4";
|
version = "1.5";
|
||||||
pname = "renderdoc";
|
pname = "renderdoc";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "baldurk";
|
owner = "baldurk";
|
||||||
repo = "renderdoc";
|
repo = "renderdoc";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1iann73r4yzkwnm13h4zqipqrp5i5cnkv27yyap0axz6h3npw94r";
|
sha256 = "0a05f6qfq90wrf4fixchp9knx4nhqhwjxl02n03a7k56xzxxnlci";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
qtbase qtsvg xorg.libpthreadstubs xorg.libXdmcp qtx11extras vulkan-loader python3
|
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 = ''
|
postUnpack = ''
|
||||||
cp -r ${custom_swig} swig
|
cp -r ${custom_swig} swig
|
||||||
|
@ -40,19 +42,23 @@ stdenv.mkDerivation rec {
|
||||||
"-DBUILD_VERSION_DIST_VER=${version}"
|
"-DBUILD_VERSION_DIST_VER=${version}"
|
||||||
"-DBUILD_VERSION_DIST_CONTACT=https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/graphics/renderdoc"
|
"-DBUILD_VERSION_DIST_CONTACT=https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/graphics/renderdoc"
|
||||||
"-DBUILD_VERSION_STABLE=ON"
|
"-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 = ''
|
preConfigure = ''
|
||||||
cmakeFlags+=" -DVULKAN_LAYER_FOLDER=$out/share/vulkan/implicit_layer.d/"
|
cmakeFlags+=" -DVULKAN_LAYER_FOLDER=$out/share/vulkan/implicit_layer.d/"
|
||||||
cmakeFlags+=" -DRENDERDOC_SWIG_PACKAGE=$PWD/../swig"
|
cmakeFlags+=" -DRENDERDOC_SWIG_PACKAGE=$PWD/../swig"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
wrapProgram $out/bin/qrenderdoc --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 --suffix LD_LIBRARY_PATH : ${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;
|
enableParallelBuilding = true;
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
{ stdenv, buildPythonApplication, fetchFromGitHub }:
|
{ stdenv, buildPythonApplication, fetchFromGitHub }:
|
||||||
|
|
||||||
buildPythonApplication {
|
buildPythonApplication {
|
||||||
pname = "protocol";
|
pname = "protocol-unstable";
|
||||||
version = "20171226";
|
version = "2019-03-28";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "luismartingarcia";
|
owner = "luismartingarcia";
|
||||||
repo = "protocol";
|
repo = "protocol";
|
||||||
rev = "d450da7d8a58595d8ef82f1d199a80411029fc7d";
|
rev = "4e8326ea6c2d288be5464c3a7d9398df468c0ada";
|
||||||
sha256 = "1g31s2xx0bw8ak5ag1c6mv0p0b8bj5dp3lkk9mxaf2ndj1m1qdkw";
|
sha256 = "13l10jhf4vghanmhh3pn91b2jdciispxy0qadz4n08blp85qn9cm";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
|
|
@ -34,11 +34,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "zotero";
|
pname = "zotero";
|
||||||
version = "5.0.73";
|
version = "5.0.77";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
|
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 ];
|
buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme gnome3.dconf ];
|
||||||
|
|
|
@ -93,13 +93,16 @@ stdenv.mkDerivation rec {
|
||||||
# Fix library paths
|
# Fix library paths
|
||||||
cd $out/libexec/Mathematica/Executables
|
cd $out/libexec/Mathematica/Executables
|
||||||
for path in mathematica MathKernel Mathematica WolframKernel wolfram math; do
|
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
|
done
|
||||||
|
|
||||||
# Fix xkeyboard config path for Qt
|
# Fix xkeyboard config path for Qt
|
||||||
for path in mathematica Mathematica; do
|
for path in mathematica Mathematica; do
|
||||||
sed -i -e "2iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"\n" $path
|
sed -i -e "2iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"\n" $path
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Remove some broken libraries
|
||||||
|
rm $out/libexec/Mathematica/SystemFiles/Libraries/Linux-x86-64/libz.so*
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
|
|
|
@ -21,7 +21,7 @@ assert sendEmailSupport -> perlSupport;
|
||||||
assert svnSupport -> perlSupport;
|
assert svnSupport -> perlSupport;
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "2.23.0";
|
version = "2.24.0";
|
||||||
svn = subversionClient.override { perlBindings = perlSupport; };
|
svn = subversionClient.override { perlBindings = perlSupport; };
|
||||||
|
|
||||||
gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
|
gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
|
||||||
|
@ -33,7 +33,7 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
|
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
|
||||||
sha256 = "0rv0y45gcd3h191isppn77acih695v4pipdj031jvs9rd1ds0kr3";
|
sha256 = "06rpakbwzck85ncfsgv4xmq3iwab9d4f5y6dqhl8nvb2fccxcwcz";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" ];
|
outputs = [ "out" ];
|
||||||
|
@ -93,7 +93,7 @@ stdenv.mkDerivation {
|
||||||
++ (if perlSupport then ["PERL_PATH=${perlPackages.perl}/bin/perl"] else ["NO_PERL=1"])
|
++ (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"])
|
++ (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="]
|
++ 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.optionals stdenv.hostPlatform.isMusl ["NO_SYS_POLL_H=1" "NO_GETTEXT=YesPlease"]
|
||||||
++ stdenv.lib.optional withpcre2 "USE_LIBPCRE2=1";
|
++ stdenv.lib.optional withpcre2 "USE_LIBPCRE2=1";
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
, libXt, libXmu, libXext
|
, libXt, libXmu, libXext
|
||||||
, libXinerama, libXrandr
|
, libXinerama, libXrandr
|
||||||
, libXtst, libXfixes, systemd
|
, libXtst, libXfixes, systemd
|
||||||
, alsaLib, libGLU_combined, glew, fontconfig, freetype, ftgl
|
, alsaLib, libGLU, libGL, glew, fontconfig, freetype, ftgl
|
||||||
, libjpeg, jasper, libpng, libtiff
|
, libjpeg, jasper, libpng, libtiff
|
||||||
, libmpeg2, libsamplerate, libmad
|
, libmpeg2, libsamplerate, libmad
|
||||||
, libogg, libvorbis, flac, libxslt
|
, libogg, libvorbis, flac, libxslt
|
||||||
|
@ -156,7 +156,7 @@ in stdenv.mkDerivation {
|
||||||
openssl gperf tinyxml2 taglib libssh swig jre
|
openssl gperf tinyxml2 taglib libssh swig jre
|
||||||
libX11 xorgproto libXt libXmu libXext
|
libX11 xorgproto libXt libXmu libXext
|
||||||
libXinerama libXrandr libXtst libXfixes
|
libXinerama libXrandr libXtst libXfixes
|
||||||
alsaLib libGLU_combined glew fontconfig freetype ftgl
|
alsaLib libGL libGLU glew fontconfig freetype ftgl
|
||||||
libjpeg jasper libpng libtiff
|
libjpeg jasper libpng libtiff
|
||||||
libmpeg2 libsamplerate libmad
|
libmpeg2 libsamplerate libmad
|
||||||
libogg libvorbis flac libxslt systemd
|
libogg libvorbis flac libxslt systemd
|
||||||
|
|
|
@ -111,17 +111,13 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
installPhase =
|
installPhase =
|
||||||
''
|
''
|
||||||
set -u
|
|
||||||
|
|
||||||
mkdir -p $out/bin $out/nix-support
|
mkdir -p $out/bin $out/nix-support
|
||||||
|
|
||||||
wrap() {
|
wrap() {
|
||||||
local dst="$1"
|
local dst="$1"
|
||||||
local wrapper="$2"
|
local wrapper="$2"
|
||||||
export prog="$3"
|
export prog="$3"
|
||||||
set +u
|
|
||||||
substituteAll "$wrapper" "$out/bin/$dst"
|
substituteAll "$wrapper" "$out/bin/$dst"
|
||||||
set -u
|
|
||||||
chmod +x "$out/bin/$dst"
|
chmod +x "$out/bin/$dst"
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
|
@ -163,8 +159,6 @@ stdenv.mkDerivation {
|
||||||
[[ -e "$underlying" ]] || continue
|
[[ -e "$underlying" ]] || continue
|
||||||
wrap ${targetPrefix}$variant ${./ld-wrapper.sh} $underlying
|
wrap ${targetPrefix}$variant ${./ld-wrapper.sh} $underlying
|
||||||
done
|
done
|
||||||
|
|
||||||
set +u
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
emulation = let
|
emulation = let
|
||||||
|
@ -205,11 +199,7 @@ stdenv.mkDerivation {
|
||||||
];
|
];
|
||||||
|
|
||||||
postFixup =
|
postFixup =
|
||||||
''
|
optionalString (libc != null) (''
|
||||||
set -u
|
|
||||||
''
|
|
||||||
|
|
||||||
+ optionalString (libc != null) (''
|
|
||||||
##
|
##
|
||||||
## General libc support
|
## General libc support
|
||||||
##
|
##
|
||||||
|
@ -307,7 +297,6 @@ stdenv.mkDerivation {
|
||||||
''
|
''
|
||||||
|
|
||||||
+ ''
|
+ ''
|
||||||
set +u
|
|
||||||
substituteAll ${./add-flags.sh} $out/nix-support/add-flags.sh
|
substituteAll ${./add-flags.sh} $out/nix-support/add-flags.sh
|
||||||
substituteAll ${./add-hardening.sh} $out/nix-support/add-hardening.sh
|
substituteAll ${./add-hardening.sh} $out/nix-support/add-hardening.sh
|
||||||
substituteAll ${../wrapper-common/utils.bash} $out/nix-support/utils.bash
|
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.
|
# 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
|
# Skip setup hook if we're neither a build-time dep, nor, temporarily, doing a
|
||||||
# native compile.
|
# native compile.
|
||||||
#
|
#
|
||||||
|
@ -73,4 +71,3 @@ export NIX_HARDENING_ENABLE
|
||||||
|
|
||||||
# No local scope in sourced file
|
# No local scope in sourced file
|
||||||
unset -v role_pre role_post cmd upper_case
|
unset -v role_pre role_post cmd upper_case
|
||||||
set +u
|
|
||||||
|
|
|
@ -29,9 +29,9 @@ attrsOrig @
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
runHook preConfigure
|
runHook preConfigure
|
||||||
|
|
||||||
[ -z "$dontPlacateNuget" ] && placate-nuget.sh
|
[ -z "''${dontPlacateNuget-}" ] && placate-nuget.sh
|
||||||
[ -z "$dontPlacatePaket" ] && placate-paket.sh
|
[ -z "''${dontPlacatePaket-}" ] && placate-paket.sh
|
||||||
[ -z "$dontPatchFSharpTargets" ] && patch-fsharp-targets.sh
|
[ -z "''${dontPatchFSharpTargets-}" ] && patch-fsharp-targets.sh
|
||||||
|
|
||||||
runHook postConfigure
|
runHook postConfigure
|
||||||
'';
|
'';
|
||||||
|
@ -69,7 +69,7 @@ attrsOrig @
|
||||||
|
|
||||||
cp -rv ${arrayToShell outputFiles} "''${outputFilesArray[@]}" "$target"
|
cp -rv ${arrayToShell outputFiles} "''${outputFilesArray[@]}" "$target"
|
||||||
|
|
||||||
if [ -z "$dontRemoveDuplicatedDlls" ]
|
if [ -z "''${dontRemoveDuplicatedDlls-}" ]
|
||||||
then
|
then
|
||||||
pushd "$out"
|
pushd "$out"
|
||||||
remove-duplicated-dlls.sh
|
remove-duplicated-dlls.sh
|
||||||
|
|
|
@ -134,8 +134,6 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
installPhase =
|
installPhase =
|
||||||
''
|
''
|
||||||
set -u
|
|
||||||
|
|
||||||
mkdir -p $out/bin $out/nix-support
|
mkdir -p $out/bin $out/nix-support
|
||||||
|
|
||||||
wrap() {
|
wrap() {
|
||||||
|
@ -224,8 +222,6 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
postFixup =
|
postFixup =
|
||||||
''
|
''
|
||||||
set -u
|
|
||||||
|
|
||||||
# Backwards compatability for packages expecting this file, e.g. with
|
# Backwards compatability for packages expecting this file, e.g. with
|
||||||
# `$NIX_CC/nix-support/dynamic-linker`.
|
# `$NIX_CC/nix-support/dynamic-linker`.
|
||||||
#
|
#
|
||||||
|
|
|
@ -54,8 +54,6 @@
|
||||||
# For more details, read the individual files where the mechanisms used to
|
# For more details, read the individual files where the mechanisms used to
|
||||||
# accomplish this will be individually documented.
|
# accomplish this will be individually documented.
|
||||||
|
|
||||||
set -u
|
|
||||||
|
|
||||||
# Skip setup hook if we're neither a build-time dep, nor, temporarily, doing a
|
# Skip setup hook if we're neither a build-time dep, nor, temporarily, doing a
|
||||||
# native compile.
|
# native compile.
|
||||||
#
|
#
|
||||||
|
@ -120,4 +118,3 @@ export NIX_HARDENING_ENABLE
|
||||||
|
|
||||||
# No local scope in sourced file
|
# No local scope in sourced file
|
||||||
unset -v role_pre role_post
|
unset -v role_pre role_post
|
||||||
set +u
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
addEmacsVars () {
|
addEmacsVars () {
|
||||||
if test -d $1/share/emacs/site-lisp; then
|
if [[ -d "$1/share/emacs/site-lisp" ]]; then
|
||||||
export EMACSLOADPATH="$1/share/emacs/site-lisp:$EMACSLOADPATH"
|
export EMACSLOADPATH="$1/share/emacs/site-lisp${EMACSLOADPATH:+:}${EMACSLOADPATH-}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# If this is for a wrapper derivation, emacs and the dependencies are all
|
# If this is for a wrapper derivation, emacs and the dependencies are all
|
||||||
# run-time dependencies. If this is for precompiling packages into bytecode,
|
# run-time dependencies. If this is for precompiling packages into bytecode,
|
||||||
# emacs is a compile-time dependency of the package.
|
# emacs is a compile-time dependency of the package.
|
||||||
addEnvHooks "$targetOffset" addEmacsVars
|
addEnvHooks "$hostOffset" addEmacsVars
|
||||||
addEnvHooks "$targetOffset" addEmacsVars
|
addEnvHooks "$targetOffset" addEmacsVars
|
||||||
|
|
|
@ -23,7 +23,7 @@ stdenv.mkDerivation (args // {
|
||||||
|
|
||||||
setupHook = if setupHook == null && hasSharedObjects
|
setupHook = if setupHook == null && hasSharedObjects
|
||||||
then writeText "setupHook.sh" ''
|
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;
|
else setupHook;
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
# the moment that would produce too many spurious errors (e.g. debug
|
# the moment that would produce too many spurious errors (e.g. debug
|
||||||
# info or assertion messages that refer to $TMPDIR).
|
# 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() {
|
auditTmpdir() {
|
||||||
local dir="$1"
|
local dir="$1"
|
||||||
|
|
|
@ -228,7 +228,7 @@ autoPatchelf() {
|
||||||
# behaviour as fixupOutputHooks because the setup hook for patchelf is run in
|
# behaviour as fixupOutputHooks because the setup hook for patchelf is run in
|
||||||
# fixupOutput and the postFixup hook runs later.
|
# fixupOutput and the postFixup hook runs later.
|
||||||
postFixupHooks+=('
|
postFixupHooks+=('
|
||||||
if [ -z "$dontAutoPatchelf" ]; then
|
if [ -z "${dontAutoPatchelf-}" ]; then
|
||||||
autoPatchelf -- $(for output in $outputs; do
|
autoPatchelf -- $(for output in $outputs; do
|
||||||
[ -e "${!output}" ] || continue
|
[ -e "${!output}" ] || continue
|
||||||
echo "${!output}"
|
echo "${!output}"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
fixupOutputHooks+=('if [ -z "$dontGzipMan" ]; then compressManPages "$prefix"; fi')
|
fixupOutputHooks+=('if [ -z "${dontGzipMan-}" ]; then compressManPages "$prefix"; fi')
|
||||||
|
|
||||||
compressManPages() {
|
compressManPages() {
|
||||||
local dir="$1"
|
local dir="$1"
|
||||||
|
|
|
@ -11,12 +11,12 @@ addXMLCatalogs () {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ -z "$libxmlHookDone" ]; then
|
if [ -z "${libxmlHookDone-}" ]; then
|
||||||
libxmlHookDone=1
|
libxmlHookDone=1
|
||||||
|
|
||||||
# Set up XML_CATALOG_FILES. An empty initial value prevents
|
# Set up XML_CATALOG_FILES. An empty initial value prevents
|
||||||
# xmllint and xsltproc from looking in /etc/xml/catalog.
|
# 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
|
if [ -z "$XML_CATALOG_FILES" ]; then XML_CATALOG_FILES=" "; fi
|
||||||
addEnvHooks "$hostOffset" addXMLCatalogs
|
addEnvHooks "$hostOffset" addXMLCatalogs
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
fixupOutputHooks+=(_moveLib64)
|
fixupOutputHooks+=(_moveLib64)
|
||||||
|
|
||||||
_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
|
if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then return; fi
|
||||||
echo "moving $prefix/lib64/* to $prefix/lib"
|
echo "moving $prefix/lib64/* to $prefix/lib"
|
||||||
mkdir -p $prefix/lib
|
mkdir -p $prefix/lib
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
fixupOutputHooks+=(_moveSbin)
|
fixupOutputHooks+=(_moveSbin)
|
||||||
|
|
||||||
_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
|
if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then return; fi
|
||||||
echo "moving $prefix/sbin/* to $prefix/bin"
|
echo "moving $prefix/sbin/* to $prefix/bin"
|
||||||
mkdir -p $prefix/bin
|
mkdir -p $prefix/bin
|
||||||
|
|
|
@ -9,8 +9,8 @@ _assignFirst() {
|
||||||
local varName="$1"
|
local varName="$1"
|
||||||
local REMOVE=REMOVE # slightly hacky - we allow REMOVE (i.e. not a variable name)
|
local REMOVE=REMOVE # slightly hacky - we allow REMOVE (i.e. not a variable name)
|
||||||
shift
|
shift
|
||||||
while [ $# -ge 1 ]; do
|
while (( $# )); do
|
||||||
if [ -n "${!1}" ]; then eval "${varName}"="$1"; return; fi
|
if [ -n "${!1-}" ]; then eval "${varName}"="$1"; return; fi
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
echo "Error: _assignFirst found no valid variant!"
|
echo "Error: _assignFirst found no valid variant!"
|
||||||
|
@ -19,7 +19,7 @@ _assignFirst() {
|
||||||
|
|
||||||
# Same as _assignFirst, but only if "$1" = ""
|
# Same as _assignFirst, but only if "$1" = ""
|
||||||
_overrideFirst() {
|
_overrideFirst() {
|
||||||
if [ -z "${!1}" ]; then
|
if [ -z "${!1-}" ]; then
|
||||||
_assignFirst "$@"
|
_assignFirst "$@"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,7 +105,7 @@ patchShebangs() {
|
||||||
}
|
}
|
||||||
|
|
||||||
patchShebangsAuto () {
|
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
|
# Dev output will end up being run on the build platform. An
|
||||||
# example case of this is sdl2-config. Otherwise, we can just
|
# example case of this is sdl2-config. Otherwise, we can just
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
fixupOutputHooks+=(_pruneLibtoolFiles)
|
fixupOutputHooks+=(_pruneLibtoolFiles)
|
||||||
|
|
||||||
_pruneLibtoolFiles() {
|
_pruneLibtoolFiles() {
|
||||||
if [ "$dontPruneLibtoolFiles" ] || [ ! -e "$prefix" ]; then
|
if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ _doStrip() {
|
||||||
local -ra stripCmds=(STRIP TARGET_STRIP)
|
local -ra stripCmds=(STRIP TARGET_STRIP)
|
||||||
|
|
||||||
# Optimization
|
# Optimization
|
||||||
if [[ "$STRIP" == "$TARGET_STRIP" ]]; then
|
if [[ "${STRIP-}" == "${TARGET_STRIP-}" ]]; then
|
||||||
dontStripTarget+=1
|
dontStripTarget+=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ _doStrip() {
|
||||||
local -n stripCmd="${stripCmds[$i]}"
|
local -n stripCmd="${stripCmds[$i]}"
|
||||||
|
|
||||||
# `dontStrip` disables them all
|
# `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
|
then continue; fi
|
||||||
|
|
||||||
stripDebugList=${stripDebugList:-lib lib32 lib64 libexec bin sbin}
|
stripDebugList=${stripDebugList:-lib lib32 lib64 libexec bin sbin}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
preConfigurePhases+=" updateAutotoolsGnuConfigScriptsPhase"
|
preConfigurePhases+=" updateAutotoolsGnuConfigScriptsPhase"
|
||||||
|
|
||||||
updateAutotoolsGnuConfigScriptsPhase() {
|
updateAutotoolsGnuConfigScriptsPhase() {
|
||||||
if [ -n "$dontUpdateAutotoolsGnuConfigScripts" ]; then return; fi
|
if [ -n "${dontUpdateAutotoolsGnuConfigScripts-}" ]; then return; fi
|
||||||
|
|
||||||
for script in config.sub config.guess; do
|
for script in config.sub config.guess; do
|
||||||
for f in $(find . -type f -name "$script"); do
|
for f in $(find . -type f -name "$script"); do
|
||||||
|
|
|
@ -15,7 +15,7 @@ wrapGApp() {
|
||||||
wrapProgram "$program" "${gappsWrapperArgs[@]}" "$@"
|
wrapProgram "$program" "${gappsWrapperArgs[@]}" "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Note: $gappsWrapperArgs still gets defined even if $dontWrapGApps is set.
|
# Note: $gappsWrapperArgs still gets defined even if ${dontWrapGApps-} is set.
|
||||||
wrapGAppsHook() {
|
wrapGAppsHook() {
|
||||||
# guard against running multiple times (e.g. due to propagation)
|
# guard against running multiple times (e.g. due to propagation)
|
||||||
[ -z "$wrapGAppsHookHasRun" ] || return 0
|
[ -z "$wrapGAppsHookHasRun" ] || return 0
|
||||||
|
|
|
@ -37,9 +37,7 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||||
|
|
||||||
gnome_python_desktop = callPackage ./bindings/gnome-python-desktop { };
|
gnome_python_desktop = callPackage ./bindings/gnome-python-desktop { };
|
||||||
|
|
||||||
gnome_vfs = callPackage ./platform/gnome-vfs {
|
gnome_vfs = callPackage ./platform/gnome-vfs { };
|
||||||
openssl = pkgs.openssl_1_0_2;
|
|
||||||
};
|
|
||||||
|
|
||||||
libgnome = callPackage ./platform/libgnome { };
|
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 }:
|
, glib, gamin, cdparanoia, intltool, GConf, gnome_mime_data, avahi, acl }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -20,6 +20,18 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
propagatedBuildInputs = [ GConf glib ];
|
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 ";
|
postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i ";
|
||||||
|
|
||||||
doCheck = false; # needs dbus daemon
|
doCheck = false; # needs dbus daemon
|
||||||
|
|
|
@ -56,6 +56,8 @@ stdenv.mkDerivation rec {
|
||||||
})
|
})
|
||||||
# See patch commit message
|
# See patch commit message
|
||||||
./0001-Revert-ClutterActor-Preserve-valid-paint-volumes-til.patch
|
./0001-Revert-ClutterActor-Preserve-valid-paint-volumes-til.patch
|
||||||
|
# Fix build with libglvnd provided headers
|
||||||
|
./libglvnd-328.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
|
|
|
@ -66,6 +66,11 @@ stdenv.mkDerivation rec {
|
||||||
src = ./fix-paths.patch;
|
src = ./fix-paths.patch;
|
||||||
inherit zenity;
|
inherit zenity;
|
||||||
})
|
})
|
||||||
|
# Fix build with libglvnd provided headers
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://gitlab.gnome.org/GNOME/mutter/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90.patch";
|
||||||
|
sha256 = "0imy2j8af9477jliwdq4jc40yw1cifsjjf196gnmwxr9rkj0hbrd";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
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.
|
# Set JAVA_HOME automatically.
|
||||||
cat <<EOF >> $out/nix-support/setup-hook
|
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
|
EOF
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ let result = stdenv.mkDerivation rec {
|
||||||
|
|
||||||
# Set JAVA_HOME automatically.
|
# Set JAVA_HOME automatically.
|
||||||
cat <<EOF >> "$out/nix-support/setup-hook"
|
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
|
EOF
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -270,7 +270,7 @@ in rec {
|
||||||
# Set JAVA_HOME automatically.
|
# Set JAVA_HOME automatically.
|
||||||
mkdir -p $out/nix-support
|
mkdir -p $out/nix-support
|
||||||
cat <<EOF > $out/nix-support/setup-hook
|
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
|
EOF
|
||||||
'';
|
'';
|
||||||
postFixup = openjdk.postFixup or null;
|
postFixup = openjdk.postFixup or null;
|
||||||
|
|
|
@ -72,7 +72,7 @@ let
|
||||||
# Set JAVA_HOME automatically.
|
# Set JAVA_HOME automatically.
|
||||||
mkdir -p $out/nix-support
|
mkdir -p $out/nix-support
|
||||||
cat <<EOF > $out/nix-support/setup-hook
|
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
|
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 {
|
stdenv.mkDerivation {
|
||||||
pname = "libc++";
|
pname = "libc++";
|
||||||
|
@ -31,7 +32,8 @@ stdenv.mkDerivation {
|
||||||
"-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
|
"-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
|
||||||
"-DLIBCXX_LIBCPPABI_VERSION=2"
|
"-DLIBCXX_LIBCPPABI_VERSION=2"
|
||||||
"-DLIBCXX_CXX_ABI=libcxxabi"
|
"-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;
|
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 {
|
stdenv.mkDerivation {
|
||||||
pname = "libc++abi";
|
pname = "libc++abi";
|
||||||
|
@ -11,13 +13,15 @@ stdenv.mkDerivation {
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
unpackFile ${libcxx.src}
|
unpackFile ${libcxx.src}
|
||||||
unpackFile ${llvm.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 ''
|
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
export TRIPLE=x86_64-apple-darwin
|
export TRIPLE=x86_64-apple-darwin
|
||||||
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
|
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||||
patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch}
|
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
|
installPhase = if stdenv.isDarwin
|
||||||
then ''
|
then ''
|
||||||
for file in lib/*.dylib; do
|
for file in lib/*.dylib; do
|
||||||
|
@ -34,10 +38,10 @@ stdenv.mkDerivation {
|
||||||
else ''
|
else ''
|
||||||
install -d -m 755 $out/include $out/lib
|
install -d -m 755 $out/include $out/lib
|
||||||
install -m 644 lib/libc++abi.a $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
|
install -m 644 ../include/cxxabi.h $out/include
|
||||||
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"}
|
||||||
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.1"}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -106,7 +106,7 @@ let
|
||||||
# Set JAVA_HOME automatically.
|
# Set JAVA_HOME automatically.
|
||||||
mkdir -p $out/nix-support
|
mkdir -p $out/nix-support
|
||||||
cat <<EOF > $out/nix-support/setup-hook
|
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
|
EOF
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -231,7 +231,7 @@ let
|
||||||
# Set JAVA_HOME automatically.
|
# Set JAVA_HOME automatically.
|
||||||
mkdir -p $out/nix-support
|
mkdir -p $out/nix-support
|
||||||
cat <<EOF > $out/nix-support/setup-hook
|
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
|
EOF
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ let
|
||||||
|
|
||||||
# Set JAVA_HOME automatically.
|
# Set JAVA_HOME automatically.
|
||||||
cat <<EOF >> $out/nix-support/setup-hook
|
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
|
EOF
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ let
|
||||||
|
|
||||||
# Set JAVA_HOME automatically.
|
# Set JAVA_HOME automatically.
|
||||||
cat <<EOF >> $out/nix-support/setup-hook
|
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
|
EOF
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ let
|
||||||
|
|
||||||
# Set JAVA_HOME automatically.
|
# Set JAVA_HOME automatically.
|
||||||
cat <<EOF >> $out/nix-support/setup-hook
|
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
|
EOF
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -114,7 +114,7 @@ let
|
||||||
# Set JAVA_HOME automatically.
|
# Set JAVA_HOME automatically.
|
||||||
mkdir -p $out/nix-support
|
mkdir -p $out/nix-support
|
||||||
cat <<EOF > $out/nix-support/setup-hook
|
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
|
EOF
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -156,7 +156,7 @@ let result = stdenv.mkDerivation rec {
|
||||||
|
|
||||||
# Set JAVA_HOME automatically.
|
# Set JAVA_HOME automatically.
|
||||||
cat <<EOF >> $out/nix-support/setup-hook
|
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
|
EOF
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
wrapProgram $out/bin/rtop \
|
wrapProgram $out/bin/rtop \
|
||||||
--prefix PATH : "${utop}/bin" \
|
--prefix PATH : "${utop}/bin" \
|
||||||
--set CAML_LD_LIBRARY_PATH ${ocaml_lwt}/lib/ocaml/${ocaml.version}/site-lib:$CAML_LD_LIBRARY_PATH \
|
--prefix CAML_LD_LIBRARY_PATH : "${ocaml_lwt}/lib/ocaml/${ocaml.version}/site-lib" \
|
||||||
--set OCAMLPATH $out/lib/ocaml/${ocaml.version}/site-lib:$OCAMLPATH
|
--prefix OCAMLPATH : "$out/lib/ocaml/${ocaml.version}/site-lib"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget
|
{ stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget
|
||||||
, fetchurl, file, python2
|
, fetchurl, file, python2
|
||||||
, llvm_7, darwin, git, cmake, rustPlatform
|
, llvm_9, darwin, git, cmake, rustPlatform
|
||||||
, pkgconfig, openssl
|
, pkgconfig, openssl
|
||||||
, which, libffi
|
, which, libffi
|
||||||
, withBundledLLVM ? false
|
, withBundledLLVM ? false
|
||||||
|
@ -12,12 +12,12 @@ let
|
||||||
inherit (stdenv.lib) optional optionalString;
|
inherit (stdenv.lib) optional optionalString;
|
||||||
inherit (darwin.apple_sdk.frameworks) Security;
|
inherit (darwin.apple_sdk.frameworks) Security;
|
||||||
|
|
||||||
llvmSharedForBuild = pkgsBuildBuild.llvm_7.override { enableSharedLibraries = true; };
|
llvmSharedForBuild = pkgsBuildBuild.llvm_9.override { enableSharedLibraries = true; };
|
||||||
llvmSharedForHost = pkgsBuildHost.llvm_7.override { enableSharedLibraries = true; };
|
llvmSharedForHost = pkgsBuildHost.llvm_9.override { enableSharedLibraries = true; };
|
||||||
llvmSharedForTarget = pkgsBuildTarget.llvm_7.override { enableSharedLibraries = true; };
|
llvmSharedForTarget = pkgsBuildTarget.llvm_9.override { enableSharedLibraries = true; };
|
||||||
|
|
||||||
# For use at runtime
|
# For use at runtime
|
||||||
llvmShared = llvm_7.override { enableSharedLibraries = true; };
|
llvmShared = llvm_9.override { enableSharedLibraries = true; };
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "rustc";
|
pname = "rustc";
|
||||||
inherit version;
|
inherit version;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Fix 'failed to open: /homeless-shelter/.cargo/.package-cache' in rust 1.36.
|
# 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
|
export CARGO_HOME=$TMPDIR
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -58,7 +58,7 @@ in stdenv.mkDerivation {
|
||||||
|
|
||||||
# Set JAVA_HOME automatically.
|
# Set JAVA_HOME automatically.
|
||||||
cat <<EOF >> $out/nix-support/setup-hook
|
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
|
EOF
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@ in stdenv.mkDerivation {
|
||||||
|
|
||||||
# Set JAVA_HOME automatically.
|
# Set JAVA_HOME automatically.
|
||||||
cat <<EOF >> $out/nix-support/setup-hook
|
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
|
EOF
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ addToLuaSearchPathWithCustomDelimiter() {
|
||||||
if [[ ! -d "$topDir" ]]; then return; fi
|
if [[ ! -d "$topDir" ]]; then return; fi
|
||||||
|
|
||||||
# export only if we haven't already got this dir in the search path
|
# 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}"
|
export "${varName}=${!varName:+${!varName};}${absPattern}"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull
|
{ 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
|
, fftw, fftwSinglePrec, zlib, curl, qrupdate, openblas, arpack, libwebp
|
||||||
, qt ? null, qscintilla ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
|
, qt ? null, qscintilla ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
|
||||||
, suitesparse ? null, gnuplot ? null, jdk ? null, python ? null, overridePlatforms ? 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 (jdk != null) jdk)
|
||||||
++ (stdenv.lib.optional (gnuplot != null) gnuplot)
|
++ (stdenv.lib.optional (gnuplot != null) gnuplot)
|
||||||
++ (stdenv.lib.optional (python != null) python)
|
++ (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
|
# makeinfo is required by Octave at runtime to display help
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ config, lib, stdenv, fetchurl, pkgs, buildPackages, callPackage
|
{ config, lib, stdenv, fetchurl, pkgs, buildPackages, callPackage
|
||||||
, enableThreading ? stdenv ? glibc, makeWrapper
|
, enableThreading ? stdenv ? glibc, coreutils, makeWrapper
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
@ -35,7 +35,7 @@ let
|
||||||
|
|
||||||
# TODO: Add a "dev" output containing the header files.
|
# TODO: Add a "dev" output containing the header files.
|
||||||
outputs = [ "out" "man" "devdoc" ] ++
|
outputs = [ "out" "man" "devdoc" ] ++
|
||||||
stdenv.lib.optional crossCompiling "dev";
|
optional crossCompiling "dev";
|
||||||
setOutputFlags = false;
|
setOutputFlags = false;
|
||||||
|
|
||||||
disallowedReferences = [ stdenv.cc ];
|
disallowedReferences = [ stdenv.cc ];
|
||||||
|
@ -57,12 +57,20 @@ let
|
||||||
++ optionals stdenv.isDarwin [ ./cpp-precomp.patch ./sw_vers.patch ]
|
++ optionals stdenv.isDarwin [ ./cpp-precomp.patch ./sw_vers.patch ]
|
||||||
++ optional crossCompiling ./MakeMaker-cross.patch;
|
++ optional crossCompiling ./MakeMaker-cross.patch;
|
||||||
|
|
||||||
postPatch = ''
|
# This is not done for native builds because pwd may need to come from
|
||||||
pwd="$(type -P pwd)"
|
# bootstrap tools when building bootstrap perl.
|
||||||
|
postPatch = (if crossCompiling then ''
|
||||||
substituteInPlace dist/PathTools/Cwd.pm \
|
substituteInPlace dist/PathTools/Cwd.pm \
|
||||||
--replace "/bin/pwd" "$pwd"
|
--replace "/bin/pwd" '${coreutils}/bin/pwd'
|
||||||
'' + stdenv.lib.optionalString crossCompiling ''
|
|
||||||
substituteInPlace cnf/configure_tool.sh --replace "cc -E -P" "cc -E"
|
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
|
# Build a thread-safe Perl with a dynamic libperls.o. We need the
|
||||||
|
@ -85,7 +93,7 @@ let
|
||||||
++ optional stdenv.isSunOS "-Dcc=gcc"
|
++ optional stdenv.isSunOS "-Dcc=gcc"
|
||||||
++ optional enableThreading "-Dusethreads";
|
++ optional enableThreading "-Dusethreads";
|
||||||
|
|
||||||
configureScript = stdenv.lib.optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
|
configureScript = optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
|
||||||
|
|
||||||
dontAddPrefix = !crossCompiling;
|
dontAddPrefix = !crossCompiling;
|
||||||
|
|
||||||
|
@ -140,7 +148,7 @@ let
|
||||||
}" /no-such-path \
|
}" /no-such-path \
|
||||||
--replace "${stdenv.cc}" /no-such-path \
|
--replace "${stdenv.cc}" /no-such-path \
|
||||||
--replace "$man" /no-such-path
|
--replace "$man" /no-such-path
|
||||||
'' + stdenv.lib.optionalString crossCompiling
|
'' + optionalString crossCompiling
|
||||||
''
|
''
|
||||||
mkdir -p $dev/lib/perl5/cross_perl/${version}
|
mkdir -p $dev/lib/perl5/cross_perl/${version}
|
||||||
for dir in cnf/{stub,cpan}; do
|
for dir in cnf/{stub,cpan}; do
|
||||||
|
@ -172,7 +180,7 @@ let
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
|
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
|
crossVersion = "980998f7d11baf97284426ca91f84681d49a08f5"; # Jul 20, 2019
|
||||||
|
|
||||||
perl-cross-src = fetchurl {
|
perl-cross-src = fetchurl {
|
||||||
|
|
|
@ -9,7 +9,7 @@ flitBuildPhase () {
|
||||||
echo "Finished executing flitBuildPhase"
|
echo "Finished executing flitBuildPhase"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ -z "$dontUseFlitBuild" ] && [ -z "$buildPhase" ]; then
|
if [ -z "${dontUseFlitBuild-}" ] && [ -z "${buildPhase-}" ]; then
|
||||||
echo "Using flitBuildPhase"
|
echo "Using flitBuildPhase"
|
||||||
buildPhase=flitBuildPhase
|
buildPhase=flitBuildPhase
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -31,7 +31,7 @@ pipShellHook() {
|
||||||
echo "Finished executing pipShellHook"
|
echo "Finished executing pipShellHook"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ -z "$dontUsePipBuild" ] && [ -z "$buildPhase" ]; then
|
if [ -z "${dontUsePipBuild-}" ] && [ -z "${buildPhase-}" ]; then
|
||||||
echo "Using pipBuildPhase"
|
echo "Using pipBuildPhase"
|
||||||
buildPhase=pipBuildPhase
|
buildPhase=pipBuildPhase
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -18,7 +18,7 @@ pipInstallPhase() {
|
||||||
echo "Finished executing pipInstallPhase"
|
echo "Finished executing pipInstallPhase"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ -z "$dontUsePipInstall" ] && [ -z "$installPhase" ]; then
|
if [ -z "${dontUsePipInstall-}" ] && [ -z "${installPhase-}" ]; then
|
||||||
echo "Using pipInstallPhase"
|
echo "Using pipInstallPhase"
|
||||||
installPhase=pipInstallPhase
|
installPhase=pipInstallPhase
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -43,7 +43,7 @@ function pytestCheckPhase() {
|
||||||
echo "Finished executing pytestCheckPhase"
|
echo "Finished executing pytestCheckPhase"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ -z "$dontUsePytestCheck" ] && [ -z "$installCheckPhase" ]; then
|
if [ -z "${dontUsePytestCheck-}" ] && [ -z "${installCheckPhase-}" ]; then
|
||||||
echo "Using pytestCheckPhase"
|
echo "Using pytestCheckPhase"
|
||||||
preDistPhases+=" pytestCheckPhase"
|
preDistPhases+=" pytestCheckPhase"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -5,6 +5,6 @@ pythonCatchConflictsPhase() {
|
||||||
@pythonInterpreter@ @catchConflicts@
|
@pythonInterpreter@ @catchConflicts@
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ -z "$dontUsePythonCatchConflicts" ]; then
|
if [ -z "${dontUsePythonCatchConflicts-}" ]; then
|
||||||
preDistPhases+=" pythonCatchConflictsPhase"
|
preDistPhases+=" pythonCatchConflictsPhase"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -10,7 +10,7 @@ pythonImportsCheckPhase () {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ -z "$dontUsePythonImportsCheck" ]; then
|
if [ -z "${dontUsePythonImportsCheck-}" ]; then
|
||||||
echo "Using pythonImportsCheckPhase"
|
echo "Using pythonImportsCheckPhase"
|
||||||
preDistPhases+=" pythonImportsCheckPhase"
|
preDistPhases+=" pythonImportsCheckPhase"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -12,6 +12,6 @@ pythonRemoveBinBytecodePhase () {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ -z "$dontUsePythonRemoveBinBytecode" ]; then
|
if [ -z "${dontUsePythonRemoveBinBytecode-}" ]; then
|
||||||
preDistPhases+=" pythonRemoveBinBytecodePhase"
|
preDistPhases+=" pythonRemoveBinBytecodePhase"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -36,12 +36,12 @@ setuptoolsShellHook() {
|
||||||
echo "Finished executing setuptoolsShellHook"
|
echo "Finished executing setuptoolsShellHook"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ -z "$dontUseSetuptoolsBuild" ] && [ -z "$buildPhase" ]; then
|
if [ -z "${dontUseSetuptoolsBuild-}" ] && [ -z "${buildPhase-}" ]; then
|
||||||
echo "Using setuptoolsBuildPhase"
|
echo "Using setuptoolsBuildPhase"
|
||||||
buildPhase=setuptoolsBuildPhase
|
buildPhase=setuptoolsBuildPhase
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$dontUseSetuptoolsShellHook" ] && [ -z "$shellHook" ]; then
|
if [ -z "${dontUseSetuptoolsShellHook-}" ] && [ -z "${shellHook-}" ]; then
|
||||||
echo "Using setuptoolsShellHook"
|
echo "Using setuptoolsShellHook"
|
||||||
shellHook=setuptoolsShellHook
|
shellHook=setuptoolsShellHook
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -12,7 +12,7 @@ setuptoolsCheckPhase() {
|
||||||
echo "Finished executing setuptoolsCheckPhase"
|
echo "Finished executing setuptoolsCheckPhase"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ -z "$dontUseSetuptoolsCheck" ] && [ -z "$installCheckPhase" ]; then
|
if [ -z "${dontUseSetuptoolsCheck-}" ] && [ -z "${installCheckPhase-}" ]; then
|
||||||
echo "Using setuptoolsCheckPhase"
|
echo "Using setuptoolsCheckPhase"
|
||||||
preDistPhases+=" setuptoolsCheckPhase"
|
preDistPhases+=" setuptoolsCheckPhase"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -12,7 +12,7 @@ wheelUnpackPhase(){
|
||||||
echo "Finished executing wheelUnpackPhase"
|
echo "Finished executing wheelUnpackPhase"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ -z "$dontUseWheelUnpack" ] && [ -z "$unpackPhase" ]; then
|
if [ -z "${dontUseWheelUnpack-}" ] && [ -z "${unpackPhase-}" ]; then
|
||||||
echo "Using wheelUnpackPhase"
|
echo "Using wheelUnpackPhase"
|
||||||
unpackPhase=wheelUnpackPhase
|
unpackPhase=wheelUnpackPhase
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
addSDLPath () {
|
addSDLPath () {
|
||||||
if [ -e "$1/include/SDL" ]; then
|
if [ -e "$1/include/SDL" ]; then
|
||||||
export SDL_PATH="$SDL_PATH $1/include/SDL"
|
export SDL_PATH="${SDL_PATH-}${SDL_PATH:+ }$1/include/SDL"
|
||||||
export SDL_LIB_PATH="$SDL_LIB_PATH -L$1/lib"
|
fi
|
||||||
|
if [ -e "$1/lib" ]; then
|
||||||
|
export SDL_LIB_PATH="${SDL_LIB_PATH-}${SDL_LIB_PATH:+ }$1/lib"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -75,9 +75,21 @@ stdenv.mkDerivation rec {
|
||||||
++ optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib"
|
++ optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib"
|
||||||
++ optional stdenv.isDarwin "--disable-sdltest";
|
++ 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 = ''
|
postInstall = ''
|
||||||
moveToOutput lib/libSDL2main.a "$dev"
|
if [ "$dontDisableStatic" -eq "1" ]; then
|
||||||
rm $out/lib/*.a
|
rm $out/lib/*.la
|
||||||
|
else
|
||||||
|
rm $out/lib/*.a
|
||||||
|
fi
|
||||||
moveToOutput bin/sdl2-config "$dev"
|
moveToOutput bin/sdl2-config "$dev"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
addSDL2Path () {
|
addSDL2Path () {
|
||||||
if [ -e "$1/include/SDL2" ]; then
|
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
|
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
|
, libXdamage, libXcomposite, libXi, libxcb, cogl, pango, atk, json-glib
|
||||||
, gobject-introspection, gtk3, gnome3, libinput, libgudev, libxkbcommon
|
, gobject-introspection, gtk3, gnome3, libinput, libgudev, libxkbcommon
|
||||||
}:
|
}:
|
||||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||||
buildInputs = [ gtk3 ];
|
buildInputs = [ gtk3 ];
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
propagatedBuildInputs =
|
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
|
atk json-glib gobject-introspection libxcb libinput libgudev libxkbcommon
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ stdenv, fetchurl, fetchpatch, pkgconfig, libGL, glib, gdk-pixbuf, xorg, libintl
|
{ stdenv, fetchurl, fetchpatch, pkgconfig, libGL, glib, gdk-pixbuf, xorg, libintl
|
||||||
, pangoSupport ? true, pango, cairo, gobject-introspection, wayland, gnome3
|
, pangoSupport ? true, pango, cairo, gobject-introspection, wayland, gnome3
|
||||||
, mesa
|
, mesa, automake, autoconf
|
||||||
, gstreamerSupport ? true, gst_all_1 }:
|
, gstreamerSupport ? true, gst_all_1 }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -29,11 +29,17 @@ in stdenv.mkDerivation rec {
|
||||||
url = https://bug787443.bugzilla-attachments.gnome.org/attachment.cgi?id=361056;
|
url = https://bug787443.bugzilla-attachments.gnome.org/attachment.cgi?id=361056;
|
||||||
sha256 = "09fyrdci4727fg6qm5aaapsbv71sf4wgfaqz8jqlyy61dibgg490";
|
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" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig libintl ];
|
nativeBuildInputs = [ pkgconfig libintl automake autoconf ];
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--enable-introspection"
|
"--enable-introspection"
|
||||||
|
@ -41,7 +47,7 @@ in stdenv.mkDerivation rec {
|
||||||
"--enable-wayland-egl-platform"
|
"--enable-wayland-egl-platform"
|
||||||
"--enable-wayland-egl-server"
|
"--enable-wayland-egl-server"
|
||||||
] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst"
|
] ++ 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; [
|
propagatedBuildInputs = with xorg; [
|
||||||
glib gdk-pixbuf gobject-introspection wayland mesa
|
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 {
|
stdenv.mkDerivation {
|
||||||
pname = "coin";
|
pname = "coin";
|
||||||
|
@ -16,7 +16,7 @@ stdenv.mkDerivation {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
buildInputs = [ boost libGLU_combined ];
|
buildInputs = [ boost libGL libGLU ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://bitbucket.org/Coin3D/coin/wiki/Home";
|
homepage = "https://bitbucket.org/Coin3D/coin/wiki/Home";
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
, libssh, libtheora, libva, libdrm, libvorbis, libvpx, lzma, libpulseaudio, soxr
|
, libssh, libtheora, libva, libdrm, libvorbis, libvpx, lzma, libpulseaudio, soxr
|
||||||
, x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d
|
, x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d
|
||||||
, openglSupport ? false, libGLU_combined ? null
|
, openglSupport ? false, libGLU_combined ? null
|
||||||
|
, libmfxSupport ? false, intel-media-sdk ? null
|
||||||
|
, libaomSupport ? false, libaom ? null
|
||||||
# Build options
|
# Build options
|
||||||
, runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime
|
, runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime
|
||||||
, multithreadBuild ? true # Multithreading via pthreads/win32 threads
|
, multithreadBuild ? true # Multithreading via pthreads/win32 threads
|
||||||
|
@ -62,6 +64,8 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
assert openglSupport -> libGLU_combined != null;
|
assert openglSupport -> libGLU_combined != null;
|
||||||
|
assert libmfxSupport -> intel-media-sdk != null;
|
||||||
|
assert libaomSupport -> libaom != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
|
@ -135,6 +139,8 @@ stdenv.mkDerivation rec {
|
||||||
(ifMinVer "0.6" (enableFeature vpxSupport "libvpx"))
|
(ifMinVer "0.6" (enableFeature vpxSupport "libvpx"))
|
||||||
(ifMinVer "2.4" "--enable-lzma")
|
(ifMinVer "2.4" "--enable-lzma")
|
||||||
(ifMinVer "2.2" (enableFeature openglSupport "opengl"))
|
(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")
|
(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 "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")
|
(ifMinVer "1.2" "--enable-libsoxr")
|
||||||
|
@ -163,6 +169,8 @@ stdenv.mkDerivation rec {
|
||||||
bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora
|
bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora
|
||||||
libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus speex nv-codec-headers
|
libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus speex nv-codec-headers
|
||||||
] ++ optional openglSupport libGLU_combined
|
] ++ optional openglSupport libGLU_combined
|
||||||
|
++ optional libmfxSupport intel-media-sdk
|
||||||
|
++ optional vpxSupport libaom
|
||||||
++ optional vpxSupport libvpx
|
++ optional vpxSupport libvpx
|
||||||
++ optionals (!isDarwin && !isAarch32) [ libpulseaudio ] # Need to be fixed on Darwin and ARM
|
++ optionals (!isDarwin && !isAarch32) [ libpulseaudio ] # Need to be fixed on Darwin and ARM
|
||||||
++ optional ((isLinux || isFreeBSD) && !isAarch32) libva
|
++ optional ((isLinux || isFreeBSD) && !isAarch32) libva
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ stdenv, fetchurl, pkgconfig, xlibsWrapper, xorgproto, libXi
|
{ 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
|
, libtiff, freetype, Cocoa, AGL, GLUT
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation {
|
||||||
patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
|
patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [ libGLU_combined libjpeg zlib libpng libXft ]
|
buildInputs = [ libGLU libGL libjpeg zlib libpng libXft ]
|
||||||
++ stdenv.lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ];
|
++ stdenv.lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ xorgproto ]
|
propagatedBuildInputs = [ xorgproto ]
|
||||||
|
|
|
@ -20,6 +20,14 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "0pckda4fcn0aw32lpycwdp25r2m7vca8zspq815ppi9gkwgg5das";
|
sha256 = "0pckda4fcn0aw32lpycwdp25r2m7vca8zspq815ppi9gkwgg5das";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
name = "CVE-2019-18397.patch";
|
||||||
|
url = "https://github.com/fribidi/fribidi/commit/034c6e9a1d296286305f4cfd1e0072b879f52568.patch";
|
||||||
|
sha256 = "102xrbf1l5gvavkxd6csx8pj3rlgcw10c0y4h4d40yhn84b1p0y8";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs test
|
patchShebangs test
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, freetype, libGLU_combined, OpenGL }:
|
{ stdenv, fetchurl, freetype, libGL, libGLU, OpenGL }:
|
||||||
|
|
||||||
let
|
let
|
||||||
name = "ftgl-2.1.3-rc5";
|
name = "ftgl-2.1.3-rc5";
|
||||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation {
|
||||||
++ (if stdenv.isDarwin then
|
++ (if stdenv.isDarwin then
|
||||||
[ OpenGL ]
|
[ OpenGL ]
|
||||||
else
|
else
|
||||||
[ libGLU_combined ])
|
[ libGL libGLU ])
|
||||||
;
|
;
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
|
@ -1,49 +1,84 @@
|
||||||
{ stdenv, fetchurl, pkgconfig, gettext, gnupg, p11-kit, glib
|
{ stdenv
|
||||||
, libgcrypt, libtasn1, dbus-glib, gtk3, pango, gdk-pixbuf, atk
|
, fetchurl
|
||||||
, gobject-introspection, makeWrapper, libxslt, vala, gnome3
|
, pkgconfig
|
||||||
, python3 }:
|
, gettext
|
||||||
|
, gnupg
|
||||||
|
, p11-kit
|
||||||
|
, glib
|
||||||
|
, libgcrypt
|
||||||
|
, libtasn1
|
||||||
|
, gtk3
|
||||||
|
, pango
|
||||||
|
, gobject-introspection
|
||||||
|
, makeWrapper
|
||||||
|
, libxslt
|
||||||
|
, vala
|
||||||
|
, gnome3
|
||||||
|
, python3
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gcr";
|
pname = "gcr";
|
||||||
version = "3.33.4";
|
version = "3.34.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "1hf06p4qfyywnb6334ysnr6aqxik3srb37glclvr4yhb3wzrjqnm";
|
sha256 = "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9";
|
||||||
};
|
|
||||||
|
|
||||||
passthru = {
|
|
||||||
updateScript = gnome3.updateScript { packageName = pname; };
|
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs .
|
patchShebangs build/ gcr/fixtures/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
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
|
doCheck = false; # fails 21 out of 603 tests, needs dbus daemon
|
||||||
|
|
||||||
#enableParallelBuilding = true; issues on hydra
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
wrapProgram "$out/bin/gcr-viewer" \
|
wrapProgram "$out/bin/gcr-viewer" \
|
||||||
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = gnome3.updateScript {
|
||||||
|
packageName = pname;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = gnome3.maintainers;
|
maintainers = gnome3.maintainers;
|
||||||
description = "GNOME crypto services (daemon and tools)";
|
description = "GNOME crypto services (daemon and tools)";
|
||||||
homepage = https://gitlab.gnome.org/GNOME/gcr;
|
homepage = "https://gitlab.gnome.org/GNOME/gcr";
|
||||||
license = licenses.gpl2;
|
license = licenses.lgpl2Plus;
|
||||||
|
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
GCR is a library for displaying certificates, and crypto UI, accessing
|
GCR is a library for displaying certificates, and crypto UI, accessing
|
||||||
|
|
|
@ -2,9 +2,9 @@ findGdkPixbufLoaders() {
|
||||||
|
|
||||||
# choose the longest loaders.cache
|
# choose the longest loaders.cache
|
||||||
local loadersCache="$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
|
local loadersCache="$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
|
||||||
if [ -f "$loadersCache" ]; then
|
if [[ -f "$loadersCache" ]]; then
|
||||||
if [ -f "$GDK_PIXBUF_MODULE_FILE" ]; then
|
if [[ -f "${GDK_PIXBUF_MODULE_FILE-}" ]]; then
|
||||||
if [ $(cat "$loadersCache"|wc -l) -gt $(cat "$GDK_PIXBUF_MODULE_FILE"|wc -l) ]; then
|
if [[ "$(cat "$loadersCache" | wc -l)" > "$(cat "$GDK_PIXBUF_MODULE_FILE" | wc -l)" ]]; then
|
||||||
export GDK_PIXBUF_MODULE_FILE="$loadersCache"
|
export GDK_PIXBUF_MODULE_FILE="$loadersCache"
|
||||||
fi
|
fi
|
||||||
else
|
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 {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gettext";
|
pname = "gettext";
|
||||||
version = "0.19.8.1";
|
version = "0.20.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/gettext/${pname}-${version}.tar.gz";
|
url = "mirror://gnu/gettext/${pname}-${version}.tar.gz";
|
||||||
sha256 = "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z";
|
sha256 = "0p3zwkk27wm2m2ccfqm57nj7vqkmfpn7ja1nf65zmhz8qqs5chb6";
|
||||||
};
|
};
|
||||||
patches = [
|
patches = [
|
||||||
./absolute-paths.diff
|
./absolute-paths.diff
|
||||||
(fetchurl {
|
./gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch
|
||||||
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
|
|
||||||
];
|
];
|
||||||
|
|
||||||
outputs = [ "out" "man" "doc" "info" ];
|
outputs = [ "out" "man" "doc" "info" ];
|
||||||
|
@ -54,14 +46,6 @@ stdenv.mkDerivation rec {
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
xz
|
xz
|
||||||
xz.bin
|
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)
|
# HACK, see #10874 (and 14664)
|
||||||
buildInputs = stdenv.lib.optional (!stdenv.isLinux && !stdenv.hostPlatform.isCygwin) libiconv;
|
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
|
# libintl must be listed in load flags on non-Glibc
|
||||||
# it doesn't hurt to have it in Glibc either though
|
# 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
|
# See pkgs/build-support/setup-hooks/role.bash
|
||||||
getHostRole
|
getHostRole
|
||||||
export NIX_${role_pre}LDFLAGS+=" -lintl"
|
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 {
|
stdenv.mkDerivation {
|
||||||
name = "gle-3.1.0";
|
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 {
|
src = fetchurl {
|
||||||
urls = [
|
urls = [
|
||||||
"mirror://sourceforge/project/gle/gle/gle-3.1.0/gle-3.1.0.tar.gz"
|
"mirror://sourceforge/project/gle/gle/gle-3.1.0/gle-3.1.0.tar.gz"
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
|
|
||||||
make_glib_find_gsettings_schemas() {
|
make_glib_find_gsettings_schemas() {
|
||||||
# For packages that need gschemas of other packages (e.g. empathy)
|
# For packages that need gschemas of other packages (e.g. empathy)
|
||||||
if [ -d "$1"/share/gsettings-schemas/*/glib-2.0/schemas ]; then
|
for maybe_dir in "$1"/share/gsettings-schemas/*/glib-2.0; do
|
||||||
addToSearchPath GSETTINGS_SCHEMAS_PATH "$1/share/gsettings-schemas/"*
|
if [[ -d "$maybe_dir/schemas" ]]; then
|
||||||
fi
|
addToSearchPath GSETTINGS_SCHEMAS_PATH "$maybe_dir"
|
||||||
|
fi
|
||||||
|
done
|
||||||
}
|
}
|
||||||
addEnvHooks "$hostOffset" make_glib_find_gsettings_schemas
|
addEnvHooks "$hostOffset" make_glib_find_gsettings_schemas
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, buildPackages, fetchurl, pciutils }:
|
{ stdenv, buildPackages, fetchurl, fetchpatch, pciutils }:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
|
@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "1ffnc4xbzfggs37ymrgfx76j56kk2644c081ivhr2bjkla9ag3gj";
|
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 ];
|
buildInputs = [ pciutils ];
|
||||||
|
|
||||||
hardeningDisable = [ "stackprotector" ];
|
hardeningDisable = [ "stackprotector" ];
|
||||||
|
|
|
@ -1,16 +1,40 @@
|
||||||
{ stdenv, fetchurl, fetchpatch, meson, ninja, gettext
|
{ stdenv
|
||||||
|
, fetchurl
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, gettext
|
||||||
, config
|
, config
|
||||||
, pkgconfig, python3, gst-plugins-base, orc
|
, pkgconfig
|
||||||
|
, python3
|
||||||
|
, gst-plugins-base
|
||||||
|
, orc
|
||||||
, gobject-introspection
|
, gobject-introspection
|
||||||
, enableZbar ? true
|
, enableZbar ? true
|
||||||
, faacSupport ? false, faac ? null
|
, faacSupport ? false
|
||||||
, faad2, libass, libkate, libmms, librdf, ladspaH
|
, faac ? null
|
||||||
, libnice, webrtc-audio-processing, lilv, lv2, serd, sord, sratom
|
, faad2
|
||||||
, libbs2b, libmodplug, mpeg2dec
|
, libass
|
||||||
, openjpeg, libopus, librsvg
|
, libkate
|
||||||
|
, libmms
|
||||||
|
, librdf
|
||||||
|
, ladspaH
|
||||||
|
, libnice
|
||||||
|
, webrtc-audio-processing
|
||||||
|
, lilv
|
||||||
|
, lv2
|
||||||
|
, serd
|
||||||
|
, sord
|
||||||
|
, sratom
|
||||||
|
, libbs2b
|
||||||
|
, libmodplug
|
||||||
|
, mpeg2dec
|
||||||
|
, openjpeg
|
||||||
|
, libopus
|
||||||
|
, librsvg
|
||||||
, bluez
|
, bluez
|
||||||
, chromaprint
|
, chromaprint
|
||||||
, curl
|
, curl
|
||||||
|
, darwin
|
||||||
, directfb
|
, directfb
|
||||||
, fdk_aac
|
, fdk_aac
|
||||||
, flite
|
, flite
|
||||||
|
@ -27,7 +51,7 @@
|
||||||
, libusb1
|
, libusb1
|
||||||
, neon
|
, neon
|
||||||
, openal
|
, openal
|
||||||
, opencv3
|
, opencv4
|
||||||
, openexr
|
, openexr
|
||||||
, openh264
|
, openh264
|
||||||
, pango
|
, pango
|
||||||
|
@ -38,10 +62,20 @@
|
||||||
, srtp
|
, srtp
|
||||||
, zbar
|
, zbar
|
||||||
, wayland-protocols
|
, wayland-protocols
|
||||||
, wildmidi, fluidsynth, libvdpau, wayland
|
, wildmidi
|
||||||
, libwebp, xvidcore, gnutls, mjpegtools
|
, fluidsynth
|
||||||
, libGLU_combined, libintl, libgme
|
, libvdpau
|
||||||
, openssl, x265, libxml2
|
, wayland
|
||||||
|
, libwebp
|
||||||
|
, xvidcore
|
||||||
|
, gnutls
|
||||||
|
, mjpegtools
|
||||||
|
, libGLU_combined
|
||||||
|
, libintl
|
||||||
|
, libgme
|
||||||
|
, openssl
|
||||||
|
, x265
|
||||||
|
, libxml2
|
||||||
, srt
|
, srt
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -49,113 +83,127 @@ assert faacSupport -> faac != null;
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (stdenv.lib) optional optionals;
|
inherit (stdenv.lib) optional optionals;
|
||||||
in
|
in stdenv.mkDerivation rec {
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "gst-plugins-bad";
|
pname = "gst-plugins-bad";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
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";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
|
sha256 = "1dddqacxgp77f3nl153x5a6139wdphc9phds2fpqb2cv6faiqj2n";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./fix_pkgconfig_includedir.patch
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson ninja pkgconfig python3 gettext gobject-introspection
|
meson
|
||||||
]
|
ninja
|
||||||
++ optionals stdenv.isLinux [
|
pkgconfig
|
||||||
|
python3
|
||||||
|
gettext
|
||||||
|
gobject-introspection
|
||||||
|
] ++ optionals stdenv.isLinux [
|
||||||
wayland-protocols
|
wayland-protocols
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gst-plugins-base orc
|
gst-plugins-base
|
||||||
faad2 libass libkate libmms
|
orc
|
||||||
libnice webrtc-audio-processing # webrtc
|
faad2
|
||||||
|
libass
|
||||||
|
libkate
|
||||||
|
libmms
|
||||||
|
webrtc-audio-processing # webrtc
|
||||||
libbs2b
|
libbs2b
|
||||||
ladspaH librdf # ladspa plug-in
|
libmodplug
|
||||||
lilv lv2 serd sord sratom # lv2 plug-in
|
mpeg2dec
|
||||||
libmodplug mpeg2dec
|
openjpeg
|
||||||
openjpeg libopus librsvg
|
libopus
|
||||||
bluez
|
librsvg
|
||||||
chromaprint
|
|
||||||
curl.dev
|
curl.dev
|
||||||
directfb
|
|
||||||
fdk_aac
|
fdk_aac
|
||||||
flite
|
|
||||||
gsm
|
gsm
|
||||||
libaom
|
libaom
|
||||||
libdc1394
|
libdc1394
|
||||||
libde265
|
libde265
|
||||||
libdrm
|
|
||||||
libdvdnav
|
libdvdnav
|
||||||
libdvdread
|
libdvdread
|
||||||
libgudev
|
|
||||||
libofa
|
|
||||||
libsndfile
|
libsndfile
|
||||||
libusb1
|
libusb1
|
||||||
|
mjpegtools
|
||||||
neon
|
neon
|
||||||
openal
|
openal
|
||||||
opencv3
|
opencv4
|
||||||
openexr
|
openexr
|
||||||
openh264
|
openh264
|
||||||
rtmpdump
|
rtmpdump
|
||||||
pango
|
pango
|
||||||
sbc
|
|
||||||
soundtouch
|
soundtouch
|
||||||
spandsp
|
|
||||||
srtp
|
srtp
|
||||||
fluidsynth libvdpau
|
fluidsynth
|
||||||
libwebp xvidcore gnutls libGLU_combined
|
libvdpau
|
||||||
libgme openssl x265 libxml2
|
libwebp
|
||||||
|
xvidcore
|
||||||
|
gnutls
|
||||||
|
libGLU_combined
|
||||||
|
libgme
|
||||||
|
openssl
|
||||||
|
x265
|
||||||
|
libxml2
|
||||||
libintl
|
libintl
|
||||||
srt
|
srt
|
||||||
]
|
] ++ optionals enableZbar [
|
||||||
++ optional enableZbar zbar
|
zbar
|
||||||
++ optional faacSupport faac
|
] ++ optionals faacSupport [
|
||||||
++ optional stdenv.isLinux wayland
|
faac
|
||||||
|
] ++ optionals stdenv.isLinux [
|
||||||
|
bluez
|
||||||
|
wayland
|
||||||
|
] ++ optionals (!stdenv.isDarwin) [
|
||||||
# wildmidi requires apple's OpenAL
|
# wildmidi requires apple's OpenAL
|
||||||
# TODO: package apple's OpenAL, fix wildmidi, include on Darwin
|
# 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
|
# 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 = [
|
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
|
"-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"
|
"-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
|
# see https://github.com/NixOS/nixpkgs/issues/54395
|
||||||
"-Dnvdec=disabled"
|
"-Dnvdec=disabled"
|
||||||
"-Dnvenc=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
|
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
|
{ stdenv
|
||||||
, pkgconfig, meson, ninja, gettext, gobject-introspection
|
, fetchurl
|
||||||
, python3, gstreamer, orc, pango, libtheora
|
, lib
|
||||||
, libintl, libopus
|
, pkgconfig
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, gettext
|
||||||
|
, gobject-introspection
|
||||||
|
, python3
|
||||||
|
, gstreamer
|
||||||
|
, orc
|
||||||
|
, pango
|
||||||
|
, libtheora
|
||||||
|
, libintl
|
||||||
|
, libopus
|
||||||
, isocodes
|
, isocodes
|
||||||
, libjpeg
|
, libjpeg
|
||||||
|
, libpng
|
||||||
, libvisual
|
, libvisual
|
||||||
, tremor # provides 'virbisidec'
|
, tremor # provides 'virbisidec'
|
||||||
, libGL
|
, libGL
|
||||||
, gtk-doc, docbook_xsl, docbook_xml_dtd_412
|
, gtk-doc
|
||||||
, enableX11 ? stdenv.isLinux, libXv
|
, docbook_xsl
|
||||||
, enableWayland ? stdenv.isLinux, wayland
|
, docbook_xml_dtd_43
|
||||||
, enableAlsa ? stdenv.isLinux, alsaLib
|
, enableX11 ? stdenv.isLinux
|
||||||
, enableCocoa ? false, darwin
|
, libXv
|
||||||
, enableCdparanoia ? (!stdenv.isDarwin), cdparanoia }:
|
, 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 {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gst-plugins-base";
|
pname = "gst-plugins-base";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
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";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
|
sha256 = "0aybbwnzm15074smdk2bamj3ssck3hjvmilvgh49f19xjf4w8g2w";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./fix_pkgconfig_includedir.patch
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkgconfig python3 gettext gobject-introspection
|
meson
|
||||||
|
ninja
|
||||||
|
pkgconfig
|
||||||
|
python3
|
||||||
|
gettext
|
||||||
|
gobject-introspection
|
||||||
|
|
||||||
|
# docs
|
||||||
gtk-doc
|
gtk-doc
|
||||||
# Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
|
docbook_xsl
|
||||||
docbook_xsl docbook_xml_dtd_412
|
docbook_xml_dtd_43
|
||||||
]
|
];
|
||||||
# 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 ];
|
|
||||||
|
|
||||||
# On Darwin, we currently use autoconf, on all other systems Meson
|
buildInputs = [
|
||||||
# TODO Switch to Meson on Darwin as well
|
orc
|
||||||
|
libtheora
|
||||||
# TODO How to pass these to Meson?
|
libintl
|
||||||
configureFlags = lib.optionals stdenv.isDarwin [
|
libopus
|
||||||
"--enable-x11=${if enableX11 then "yes" else "no"}"
|
isocodes
|
||||||
"--enable-wayland=${if enableWayland then "yes" else "no"}"
|
libpng
|
||||||
"--enable-cocoa=${if enableCocoa then "yes" else "no"}"
|
libjpeg
|
||||||
]
|
tremor
|
||||||
# Introspection fails on my MacBook currently
|
libGL
|
||||||
++ lib.optional stdenv.isDarwin "--disable-introspection";
|
] ++ lib.optional (!stdenv.isDarwin) [
|
||||||
|
libvisual
|
||||||
mesonFlags = lib.optionals (!stdenv.isDarwin) [
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
# Enables all features, so that we know when new dependencies are necessary.
|
pango
|
||||||
"-Dauto_features=enabled"
|
darwin.apple_sdk.frameworks.OpenGL
|
||||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
] ++ lib.optional enableAlsa alsaLib
|
||||||
"-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
|
|
||||||
++ lib.optionals enableX11 [ libXv pango ]
|
++ lib.optionals enableX11 [ libXv pango ]
|
||||||
++ lib.optional enableWayland wayland
|
++ lib.optional enableWayland wayland
|
||||||
++ lib.optional enableCocoa darwin.apple_sdk.frameworks.Cocoa
|
++ lib.optional enableCocoa darwin.apple_sdk.frameworks.Cocoa
|
||||||
++ lib.optional enableCdparanoia cdparanoia;
|
++ 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 = ''
|
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
|
doCheck = false; # fails, wants DRI access for OpenGL
|
||||||
|
|
||||||
patches = [
|
passthru = {
|
||||||
./fix_pkgconfig_includedir.patch
|
# 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
|
{ stdenv
|
||||||
, pkgconfig, gettext, gobject-introspection
|
, fetchurl
|
||||||
, bison, flex, python3, glib, makeWrapper
|
, fetchpatch
|
||||||
, libcap,libunwind, darwin
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkgconfig
|
||||||
|
, gettext
|
||||||
|
, gobject-introspection
|
||||||
|
, bison
|
||||||
|
, flex
|
||||||
|
, python3
|
||||||
|
, glib
|
||||||
|
, makeWrapper
|
||||||
|
, libcap
|
||||||
|
, libunwind
|
||||||
|
, darwin
|
||||||
, elfutils # for libdw
|
, elfutils # for libdw
|
||||||
, bash-completion
|
, bash-completion
|
||||||
, docbook_xsl, docbook_xml_dtd_412
|
, docbook_xsl
|
||||||
|
, docbook_xml_dtd_43
|
||||||
, gtk-doc
|
, gtk-doc
|
||||||
, lib
|
, lib
|
||||||
, CoreServices
|
, CoreServices
|
||||||
|
@ -12,50 +25,66 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gstreamer";
|
pname = "gstreamer";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
meta = with lib ;{
|
outputs = [ "out" "dev" "devdoc" ];
|
||||||
description = "Open source multimedia framework";
|
outputBin = "dev";
|
||||||
homepage = https://gstreamer.freedesktop.org;
|
|
||||||
license = licenses.lgpl2Plus;
|
|
||||||
platforms = platforms.unix;
|
|
||||||
maintainers = with maintainers; [ ttuegel matthewbauer ];
|
|
||||||
};
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "${meta.homepage}/src/gstreamer/${pname}-${version}.tar.xz";
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "003wy1p1in85p9sr5jsyhbnwqaiwz069flwkhyx7qhxy31qjz3hf";
|
sha256 = "0z9pyhf6zm1r0spw6zym80bvbyx6h8xg9h6535csbnn48ws1q882";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./fix_pkgconfig_includedir.patch
|
./fix_pkgconfig_includedir.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
|
||||||
outputBin = "dev";
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson ninja pkgconfig gettext bison flex python3 makeWrapper gobject-introspection
|
meson
|
||||||
|
ninja
|
||||||
|
pkgconfig
|
||||||
|
gettext
|
||||||
|
bison
|
||||||
|
flex
|
||||||
|
python3
|
||||||
|
makeWrapper
|
||||||
|
gobject-introspection
|
||||||
bash-completion
|
bash-completion
|
||||||
|
|
||||||
|
# documentation
|
||||||
gtk-doc
|
gtk-doc
|
||||||
# Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
|
docbook_xsl
|
||||||
docbook_xsl docbook_xml_dtd_412
|
docbook_xml_dtd_43
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs = lib.optionals stdenv.isLinux [
|
||||||
lib.optionals stdenv.isLinux [ libcap libunwind elfutils ]
|
libcap
|
||||||
++ lib.optional stdenv.isDarwin CoreServices;
|
libunwind
|
||||||
|
elfutils
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
|
CoreServices
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [ glib ];
|
propagatedBuildInputs = [
|
||||||
|
glib
|
||||||
|
];
|
||||||
|
|
||||||
mesonFlags = [
|
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
|
"-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
|
"-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.
|
# 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 = ''
|
postInstall = ''
|
||||||
for prog in "$dev/bin/"*; do
|
for prog in "$dev/bin/"*; do
|
||||||
|
@ -64,21 +93,17 @@ stdenv.mkDerivation rec {
|
||||||
done
|
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 = ''
|
preFixup = ''
|
||||||
moveToOutput "share/bash-completion" "$dev"
|
moveToOutput "share/bash-completion" "$dev"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
setupHook = ./setup-hook.sh;
|
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 () {
|
addGstreamer1LibPath () {
|
||||||
if test -d "$1/lib/gstreamer-1.0"
|
if test -d "$1/lib/gstreamer-1.0"
|
||||||
then
|
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
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,39 +1,66 @@
|
||||||
{ stdenv, fetchurl, fetchpatch, meson, ninja
|
{ stdenv
|
||||||
, pkgconfig, python, gst-plugins-base, libxml2
|
, fetchurl
|
||||||
, flex, perl, gettext, gobject-introspection
|
, fetchpatch
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkgconfig
|
||||||
|
, python
|
||||||
|
, gst-plugins-base
|
||||||
|
, libxml2
|
||||||
|
, flex
|
||||||
|
, perl
|
||||||
|
, gettext
|
||||||
|
, gobject-introspection
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gstreamer-editing-services";
|
pname = "gstreamer-editing-services";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
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";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja pkgconfig gettext gobject-introspection python flex perl ];
|
src = fetchurl {
|
||||||
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
propagatedBuildInputs = [ gst-plugins-base libxml2 ];
|
sha256 = "10375z5mc3bwfs07mhmfx943sbp55z8m8ihp9xpcknkdks7qg168";
|
||||||
|
};
|
||||||
mesonFlags = [
|
|
||||||
"-Dgtk_doc=disabled"
|
|
||||||
];
|
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./fix_pkgconfig_includedir.patch
|
./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 = ''
|
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
|
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
|
{ stdenv
|
||||||
, gst-plugins-base, orc, bzip2, gettext
|
, fetchurl
|
||||||
, libv4l, libdv, libavc1394, libiec61883
|
, meson
|
||||||
, libvpx, speex, flac, taglib, libshout
|
, ninja
|
||||||
, cairo, gdk-pixbuf, aalib, libcaca
|
, pkgconfig
|
||||||
, libsoup, libpulseaudio, libintl
|
, python
|
||||||
, darwin, lame, mpg123, twolame
|
, 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
|
, gtkSupport ? false, gtk3 ? null
|
||||||
# As of writing, jack2 incurs a Qt dependency (big!) via `ffado`.
|
# As of writing, jack2 incurs a Qt dependency (big!) via `ffado`.
|
||||||
# In the fuure we should probably split `ffado`.
|
# In the future we should probably split `ffado`.
|
||||||
, enableJack ? false
|
, enableJack ? false, jack2
|
||||||
, libXdamage
|
, libXdamage
|
||||||
, libXext
|
, libXext
|
||||||
, libXfixes
|
, libXfixes
|
||||||
|
@ -16,7 +39,6 @@
|
||||||
, xorg
|
, xorg
|
||||||
, libgudev
|
, libgudev
|
||||||
, wavpack
|
, wavpack
|
||||||
, jack2
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert gtkSupport -> gtk3 != null;
|
assert gtkSupport -> gtk3 != null;
|
||||||
|
@ -26,39 +48,44 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gst-plugins-good";
|
pname = "gst-plugins-good";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
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";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
|
sha256 = "07wgz9anf4ram2snp8n1wv6l0q3pd00iaw8bvw3wgklg05lvxflz";
|
||||||
|
};
|
||||||
|
|
||||||
patches = [ ./fix_pkgconfig_includedir.patch ];
|
patches = [ ./fix_pkgconfig_includedir.patch ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig python meson ninja gettext ];
|
nativeBuildInputs = [
|
||||||
|
pkgconfig
|
||||||
NIX_LDFLAGS = "-lncurses";
|
python
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
gettext
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gst-plugins-base orc bzip2
|
gst-plugins-base
|
||||||
libdv libvpx speex flac taglib
|
orc
|
||||||
cairo gdk-pixbuf aalib libcaca
|
bzip2
|
||||||
libsoup libshout lame mpg123 twolame libintl
|
libdv
|
||||||
|
libvpx
|
||||||
|
speex
|
||||||
|
flac
|
||||||
|
taglib
|
||||||
|
cairo
|
||||||
|
gdk-pixbuf
|
||||||
|
aalib
|
||||||
|
libcaca
|
||||||
|
libsoup
|
||||||
|
libshout
|
||||||
|
lame
|
||||||
|
mpg123
|
||||||
|
twolame
|
||||||
|
libintl
|
||||||
libXdamage
|
libXdamage
|
||||||
libXext
|
libXext
|
||||||
libXfixes
|
libXfixes
|
||||||
|
@ -66,29 +93,59 @@ stdenv.mkDerivation rec {
|
||||||
xorg.libXfixes
|
xorg.libXfixes
|
||||||
xorg.libXdamage
|
xorg.libXdamage
|
||||||
wavpack
|
wavpack
|
||||||
]
|
] ++ optional gtkSupport [
|
||||||
++ optional gtkSupport gtk3 # for gtksink
|
# for gtksink
|
||||||
++ optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]
|
gtk3
|
||||||
++ optionals stdenv.isLinux [ libv4l libpulseaudio libavc1394 libiec61883 libgudev ]
|
] ++ optionals stdenv.isDarwin [
|
||||||
++ optionals (stdenv.isLinux && enableJack) [
|
darwin.apple_sdk.frameworks.Cocoa
|
||||||
|
] ++ optionals stdenv.isLinux [
|
||||||
|
libv4l
|
||||||
|
libpulseaudio
|
||||||
|
libavc1394
|
||||||
|
libiec61883
|
||||||
|
libgudev
|
||||||
|
] ++ optionals (stdenv.isLinux && enableJack) [
|
||||||
jack2
|
jack2
|
||||||
];
|
];
|
||||||
|
|
||||||
mesonFlags = [
|
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
|
"-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
|
"-Dqt5=disabled" # not clear as of writing how to correctly pass in the required qt5 deps
|
||||||
]
|
] ++ optionals (!gtkSupport) [
|
||||||
++ optional (!gtkSupport) "-Dgtk3=disabled"
|
"-Dgtk3=disabled"
|
||||||
++ optionals (!stdenv.isLinux || !enableJack) [
|
] ++ optionals (!stdenv.isLinux || !enableJack) [
|
||||||
"-Djack=disabled" # unclear whether Jack works on Darwin
|
"-Djack=disabled" # unclear whether Jack works on Darwin
|
||||||
]
|
] ++ optionals (!stdenv.isLinux) [
|
||||||
++ optionals (!stdenv.isLinux) [
|
"-Ddv1394=disabled" # Linux only
|
||||||
"-Dv4l2-gudev=disabled"
|
"-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 ''"
|
# fails 1 tests with "Unexpected critical/warning: g_object_set_is_valid_property: object class 'GstRtpStorage' has no property named ''"
|
||||||
doCheck = false;
|
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
|
, libogg, libtheora, libvorbis, freetype, pango, liboil, glib, cairo, orc
|
||||||
, libintl
|
, libintl
|
||||||
, ApplicationServices
|
, ApplicationServices
|
||||||
|
@ -20,10 +20,10 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./gcc-4.9.patch
|
./gcc-4.9.patch
|
||||||
(fetchurl {
|
(fetchpatch {
|
||||||
url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/commit/f672277509705c4034bc92a141eefee4524d15aa.patch";
|
url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/commit/f672277509705c4034bc92a141eefee4524d15aa.patch";
|
||||||
name = "CVE-2019-9928.patch";
|
name = "CVE-2019-9928.patch";
|
||||||
sha256 = "0hz3lsq3ppmaf329sbyi05y1qniqfj9vlp2f3z918383pvrcms4i";
|
sha256 = "1dlamsmyr7chrb6vqqmwikqvvqcx5l7k72p98448qm6k59ndnimc";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
addGstreamerLibPath () {
|
addGstreamerLibPath () {
|
||||||
if test -d "$1/lib/gstreamer-0.10"
|
if test -d "$1/lib/gstreamer-0.10"
|
||||||
then
|
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
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,43 +1,46 @@
|
||||||
{ stdenv, fetchurl, meson, ninja, pkgconfig
|
{ stdenv
|
||||||
, python, yasm, gst-plugins-base, orc, bzip2
|
, lib
|
||||||
, gettext, withSystemLibav ? true, libav ? null
|
, fetchurl
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkgconfig
|
||||||
|
, python3
|
||||||
|
, gst-plugins-base
|
||||||
|
, gettext
|
||||||
|
, libav
|
||||||
}:
|
}:
|
||||||
|
|
||||||
# Note that since gst-libav-1.6, libav is actually ffmpeg. See
|
# Note that since gst-libav-1.6, libav is actually ffmpeg. See
|
||||||
# https://gstreamer.freedesktop.org/releases/1.6/ for more info.
|
# https://gstreamer.freedesktop.org/releases/1.6/ for more info.
|
||||||
|
|
||||||
assert withSystemLibav -> libav != null;
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gst-libav";
|
pname = "gst-libav";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = https://gstreamer.freedesktop.org;
|
|
||||||
license = stdenv.lib.licenses.lgpl2Plus;
|
|
||||||
platforms = stdenv.lib.platforms.unix;
|
|
||||||
};
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "${meta.homepage}/src/gst-libav/${pname}-${version}.tar.xz";
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "16ixqpfrr7plaaz14n3vagr2q5xbfkv7gpmcsyndrkx98f813b6z";
|
sha256 = "1i31ra0l77cfahb6k5xpx45zwvpskzm848aijsbbx9x4x65799g8";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
nativeBuildInputs = with stdenv.lib;
|
nativeBuildInputs = [
|
||||||
[ meson ninja gettext pkgconfig python ]
|
meson
|
||||||
++ optional (!withSystemLibav) yasm
|
ninja
|
||||||
;
|
gettext
|
||||||
|
pkgconfig
|
||||||
buildInputs = with stdenv.lib;
|
python3
|
||||||
[ gst-plugins-base orc bzip2 ]
|
|
||||||
++ optional withSystemLibav libav
|
|
||||||
;
|
|
||||||
|
|
||||||
mesonFlags = [
|
|
||||||
# Enables all features, so that we know when new dependencies are necessary.
|
|
||||||
"-Dauto_features=enabled"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
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
|
{ stdenv
|
||||||
, gettext, gobject-introspection
|
, fetchurl
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkgconfig
|
||||||
|
, gettext
|
||||||
|
, gobject-introspection
|
||||||
, gst-plugins-base
|
, gst-plugins-base
|
||||||
, gst-plugins-bad
|
, gst-plugins-bad
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gst-rtsp-server";
|
pname = "gst-rtsp-server";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
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 ];
|
|
||||||
};
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "${meta.homepage}/src/gst-rtsp-server/${pname}-${version}.tar.xz";
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "069zy159izy50blci9fli1i2r8jh91qkmgrz1n0xqciy3bn9x3hr";
|
sha256 = "0i01f1nr0921z6z4nrh8icz76s2n7i228aqxg1ihvxl65ynsraxh";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
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 = [
|
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
|
"-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
|
{ stdenv
|
||||||
, gst-plugins-base, orc, gettext
|
, fetchurl
|
||||||
, a52dec, libcdio, libdvdread
|
, meson
|
||||||
, libmad, libmpeg2, x264, libintl, lib
|
, ninja
|
||||||
|
, pkgconfig
|
||||||
|
, python
|
||||||
|
, gst-plugins-base
|
||||||
|
, orc
|
||||||
|
, gettext
|
||||||
|
, a52dec
|
||||||
|
, libcdio
|
||||||
|
, libdvdread
|
||||||
|
, libmad
|
||||||
|
, libmpeg2
|
||||||
|
, x264
|
||||||
|
, libintl
|
||||||
|
, lib
|
||||||
, opencore-amr
|
, opencore-amr
|
||||||
, darwin
|
, darwin
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gst-plugins-ugly";
|
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; {
|
meta = with lib; {
|
||||||
description = "Gstreamer Ugly Plugins";
|
description = "Gstreamer Ugly Plugins";
|
||||||
homepage = "https://gstreamer.freedesktop.org";
|
homepage = "https://gstreamer.freedesktop.org";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
a set of plug-ins that have good quality and correct functionality,
|
a set of plug-ins that have good quality and correct functionality,
|
||||||
but distributing them might pose problems. The license on either
|
but distributing them might pose problems. The license on either
|
||||||
the plug-ins or the supporting libraries might not be how we'd
|
the plug-ins or the supporting libraries might not be how we'd
|
||||||
like. The code might be widely known to present patent problems.
|
like. The code might be widely known to present patent problems.
|
||||||
'';
|
'';
|
||||||
license = licenses.lgpl2Plus;
|
license = licenses.lgpl2Plus;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ matthewbauer ];
|
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
|
{ stdenv
|
||||||
, libdrm, udev, xorg, libGLU_combined, gstreamer, gst-plugins-bad, nasm
|
, fetchurl
|
||||||
, libvpx, python, fetchpatch
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkgconfig
|
||||||
|
, gst-plugins-base
|
||||||
|
, bzip2
|
||||||
|
, libva
|
||||||
|
, wayland
|
||||||
|
, libdrm
|
||||||
|
, udev
|
||||||
|
, xorg
|
||||||
|
, libGLU_combined
|
||||||
|
, gstreamer
|
||||||
|
, gst-plugins-bad
|
||||||
|
, nasm
|
||||||
|
, libvpx
|
||||||
|
, python
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gst-vaapi";
|
pname = "gstreamer-vaapi";
|
||||||
version = "1.16.0";
|
version = "1.16.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz";
|
url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "07qpynamiz0lniqajcaijh3n7ixs4lfk9a5mfk50sng0dricwzsf";
|
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" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja pkgconfig bzip2 ];
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
buildInputs = [
|
ninja
|
||||||
gstreamer gst-plugins-base gst-plugins-bad libva wayland libdrm udev
|
pkgconfig
|
||||||
xorg.libX11 xorg.libXext xorg.libXv xorg.libXrandr xorg.libSM
|
bzip2
|
||||||
xorg.libICE libGLU_combined nasm libvpx python
|
|
||||||
];
|
];
|
||||||
|
|
||||||
preConfigure = ''
|
buildInputs = [
|
||||||
export GST_PLUGIN_PATH_1_0=$out/lib/gstreamer-1.0
|
gstreamer
|
||||||
mkdir -p $GST_PLUGIN_PATH_1_0
|
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 = [
|
mesonFlags = [
|
||||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://gstreamer.freedesktop.org;
|
description = "Set of VAAPI GStreamer Plug-ins";
|
||||||
license = stdenv.lib.licenses.lgpl21Plus;
|
homepage = "https://gstreamer.freedesktop.org";
|
||||||
platforms = stdenv.lib.platforms.linux;
|
license = licenses.lgpl21Plus;
|
||||||
maintainers = with stdenv.lib.maintainers; [ tstrobel ];
|
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