commit
ec9cf578e5
218 changed files with 1506 additions and 1553 deletions
|
@ -135,12 +135,19 @@
|
||||||
<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>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The SLIM Display Manager has been removed, as it has been unmaintained since 2013.
|
The SLIM Display Manager has been removed, as it has been unmaintained since 2013.
|
||||||
Consider migrating to a different display manager such as LightDM (current default in NixOS),
|
Consider migrating to a different display manager such as LightDM (current default in NixOS),
|
||||||
SDDM, GDM, or using the startx module which uses Xinitrc.
|
SDDM, GDM, or using the startx module which uses Xinitrc.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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 ];
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 ()
|
|
@ -43,7 +43,7 @@ let
|
||||||
propagate = out:
|
propagate = out:
|
||||||
let setupHook = { writeScript }:
|
let setupHook = { writeScript }:
|
||||||
writeScript "setup-hook" ''
|
writeScript "setup-hook" ''
|
||||||
if [ "$hookName" != postHook ]; then
|
if [ "${hookName:-}" != postHook ]; then
|
||||||
postHooks+=("source @dev@/nix-support/setup-hook")
|
postHooks+=("source @dev@/nix-support/setup-hook")
|
||||||
else
|
else
|
||||||
# Propagate $${out} output
|
# Propagate $${out} output
|
||||||
|
|
|
@ -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
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
addGuileLibPath () {
|
addGuileLibPath () {
|
||||||
if test -d "$1/share/guile/site/2.0"
|
if test -d "$1/share/guile/site/2.0"
|
||||||
then
|
then
|
||||||
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.0"
|
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.0"
|
||||||
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.0"
|
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.0"
|
||||||
elif test -d "$1/share/guile/site"
|
elif test -d "$1/share/guile/site"
|
||||||
then
|
then
|
||||||
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
|
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
|
||||||
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
|
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
addGuileLibPath () {
|
addGuileLibPath () {
|
||||||
if test -d "$1/share/guile/site/2.2"
|
if test -d "$1/share/guile/site/2.2"
|
||||||
then
|
then
|
||||||
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.2"
|
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.2"
|
||||||
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.2"
|
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.2"
|
||||||
elif test -d "$1/share/guile/site"
|
elif test -d "$1/share/guile/site"
|
||||||
then
|
then
|
||||||
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
|
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
|
||||||
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
|
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
addGuileLibPath () {
|
addGuileLibPath () {
|
||||||
if test -d "$1/share/guile/site"
|
if test -d "$1/share/guile/site"
|
||||||
then
|
then
|
||||||
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
|
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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,12 +31,12 @@ 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
|
||||||
|
|
||||||
if [ -z "$shellHook" ]; then
|
if [ -z "${shellHook-}" ]; then
|
||||||
echo "Using pipShellHook"
|
echo "Using pipShellHook"
|
||||||
shellHook=pipShellHook
|
shellHook=pipShellHook
|
||||||
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:+ }-L$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";
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
addDleynaConnectorPath () {
|
addDleynaConnectorPath () {
|
||||||
if test -d "$1/lib/dleyna-1.0/connectors"
|
if test -d "$1/lib/dleyna-1.0/connectors"
|
||||||
then
|
then
|
||||||
export DLEYNA_CONNECTOR_PATH="${DLEYNA_CONNECTOR_PATH}${DLEYNA_CONNECTOR_PATH:+:}$1/lib/dleyna-1.0/connectors"
|
export DLEYNA_CONNECTOR_PATH="${DLEYNA_CONNECTOR_PATH-}${DLEYNA_CONNECTOR_PATH:+:}$1/lib/dleyna-1.0/connectors"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 ]
|
||||||
|
|
|
@ -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" ];
|
||||||
|
@ -29,10 +21,6 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--disable-csharp" "--with-xz"
|
"--disable-csharp" "--with-xz"
|
||||||
# avoid retaining reference to CF during stdenv bootstrap
|
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
|
||||||
"gt_cv_func_CFPreferencesCopyAppValue=no"
|
|
||||||
"gt_cv_func_CFLocaleCopyCurrent=no"
|
|
||||||
] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||||
# On cross building, gettext supposes that the wchar.h from libc
|
# On cross building, gettext supposes that the wchar.h from libc
|
||||||
# does not fulfill gettext needs, so it tries to work with its
|
# does not fulfill gettext needs, so it tries to work with its
|
||||||
|
@ -54,14 +42,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,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,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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,4 +16,4 @@ dropIconThemeCache() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
preFixupPhases="$preFixupPhases dropIconThemeCache"
|
preFixupPhases="${preFixupPhases-} dropIconThemeCache"
|
||||||
|
|
|
@ -63,10 +63,16 @@ let
|
||||||
# remove dependency on bootstrap-tools in early stdenv build
|
# remove dependency on bootstrap-tools in early stdenv build
|
||||||
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
|
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${version}/pkgdata.inc
|
sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${version}/pkgdata.inc
|
||||||
'' + ''
|
'' + (let
|
||||||
|
replacements = [
|
||||||
|
{ from = "\${prefix}/include"; to = "${placeholder "dev"}/include"; } # --cppflags-searchpath
|
||||||
|
{ from = "\${pkglibdir}/Makefile.inc"; to = "${placeholder "dev"}/lib/icu/Makefile.inc"; } # --incfile
|
||||||
|
{ from = "\${pkglibdir}/pkgdata.inc"; to = "${placeholder "dev"}/lib/icu/pkgdata.inc"; } # --incpkgdatafile
|
||||||
|
];
|
||||||
|
in ''
|
||||||
substituteInPlace "$dev/bin/icu-config" \
|
substituteInPlace "$dev/bin/icu-config" \
|
||||||
--replace \''${pkglibdir}/Makefile.inc "$dev/lib/icu/Makefile.inc"
|
${lib.concatMapStringsSep " " (r: "--replace '${r.from}' '${r.to}'") replacements}
|
||||||
'';
|
'');
|
||||||
|
|
||||||
postFixup = ''moveToOutput lib/icu "$dev" '';
|
postFixup = ''moveToOutput lib/icu "$dev" '';
|
||||||
};
|
};
|
||||||
|
|
|
@ -42,7 +42,7 @@ let
|
||||||
propagate = out:
|
propagate = out:
|
||||||
let setupHook = { writeScript }:
|
let setupHook = { writeScript }:
|
||||||
writeScript "setup-hook" ''
|
writeScript "setup-hook" ''
|
||||||
if [ "$hookName" != postHook ]; then
|
if [ "${hookName:-}" != postHook ]; then
|
||||||
postHooks+=("source @dev@/nix-support/setup-hook")
|
postHooks+=("source @dev@/nix-support/setup-hook")
|
||||||
else
|
else
|
||||||
# Propagate $dev so that this setup hook is propagated
|
# Propagate $dev so that this setup hook is propagated
|
||||||
|
|
|
@ -16,7 +16,9 @@ stdenv.mkDerivation rec {
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
checkInputs = [ which gnuplot ];
|
checkInputs = [ which gnuplot ];
|
||||||
doCheck = !stdenv.isDarwin;
|
|
||||||
|
# Fails on pngio_reg for unknown reason
|
||||||
|
doCheck = false; # !stdenv.isDarwin;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Image processing and analysis library";
|
description = "Image processing and analysis library";
|
||||||
|
|
|
@ -14,6 +14,22 @@ stdenv.mkDerivation rec {
|
||||||
nativeBuildInputs = [ autoreconfHook pkgconfig python2 addOpenGLRunpath ];
|
nativeBuildInputs = [ autoreconfHook pkgconfig python2 addOpenGLRunpath ];
|
||||||
buildInputs = [ libX11 libXext xorgproto ];
|
buildInputs = [ libX11 libXext xorgproto ];
|
||||||
|
|
||||||
|
# The following 3 patches should be removed once libglvnd >1.2.0 is released
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/NVIDIA/libglvnd/commit/6f52473dac08c44b081b792874b4ce73122096da.patch";
|
||||||
|
sha256 = "0rd9ihl8n33cm0rya5a7ki0hn31fh52r0gaj5d4w80jrsah2ayij";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/NVIDIA/libglvnd/commit/51233cc52cbcbe25f8461830913c06f5b5bc9508.patch";
|
||||||
|
sha256 = "1qx3nw8vq5xcrixmi7xw1vpy4gbf7kmx38rx8wg8x046g4mv8ijj";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/NVIDIA/libglvnd/commit/5dfdc5a6dc60a3bdc63cd4510dabacba388da13a.patch";
|
||||||
|
sha256 = "0gmb3619yz3z7n22afjh8p2y13bmsky4r0z0csm14is3wvdi64ya";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||||
substituteInPlace src/GLX/Makefile.am \
|
substituteInPlace src/GLX/Makefile.am \
|
||||||
--replace "-Wl,-Bsymbolic " ""
|
--replace "-Wl,-Bsymbolic " ""
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# it doesn't hurt to have it in Glibc either though
|
# it doesn't hurt to have it in Glibc either though
|
||||||
|
|
||||||
# See pkgs/build-support/setup-hooks/role.bash
|
# See pkgs/build-support/setup-hooks/role.bash
|
||||||
if [ -z "$dontAddExtraLibs" ]; then
|
if [ -z "${dontAddExtraLibs-}" ]; then
|
||||||
getHostRole
|
getHostRole
|
||||||
export NIX_${role_pre}LDFLAGS+=" -liconv"
|
export NIX_${role_pre}LDFLAGS+=" -liconv"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,73 +0,0 @@
|
||||||
Taken from openwrt:
|
|
||||||
https://dev.openwrt.org/browser/packages/libs/libmad/patches/001-mips_removal_h_constraint.patch?rev=18548
|
|
||||||
|
|
||||||
diff -ur libmad-0.15.1b-orig/fixed.h libmad-0.15.1b/fixed.h
|
|
||||||
--- libmad-0.15.1b-orig/fixed.h 2004-02-17 12:32:03.000000000 +1030
|
|
||||||
+++ libmad-0.15.1b/fixed.h 2009-08-05 10:46:30.000000000 +0930
|
|
||||||
@@ -299,6 +299,23 @@
|
|
||||||
|
|
||||||
# elif defined(FPM_MIPS)
|
|
||||||
|
|
||||||
+/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */
|
|
||||||
+#if defined (__GNUC__) && defined (__GNUC_MINOR__)
|
|
||||||
+#define __GNUC_PREREQ(maj, min) \
|
|
||||||
+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
|
|
||||||
+#else
|
|
||||||
+#define __GNUC_PREREQ(maj, min) 0
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if __GNUC_PREREQ(4,4)
|
|
||||||
+ typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
|
|
||||||
+# define MAD_F_MLX(hi, lo, x, y) \
|
|
||||||
+ do { \
|
|
||||||
+ u64_di_t __ll = (u64_di_t) (x) * (y); \
|
|
||||||
+ hi = __ll >> 32; \
|
|
||||||
+ lo = __ll; \
|
|
||||||
+ } while (0)
|
|
||||||
+#else
|
|
||||||
/*
|
|
||||||
* This MIPS version is fast and accurate; the disposition of the least
|
|
||||||
* significant bit depends on OPT_ACCURACY via mad_f_scale64().
|
|
||||||
@@ -328,6 +345,7 @@
|
|
||||||
: "%r" ((x) >> 12), "r" ((y) >> 16))
|
|
||||||
# define MAD_F_MLZ(hi, lo) ((mad_fixed_t) (lo))
|
|
||||||
# endif
|
|
||||||
+#endif /* __GNU_PREREQ(4,4) */
|
|
||||||
|
|
||||||
# if defined(OPT_SPEED)
|
|
||||||
# define mad_f_scale64(hi, lo) \
|
|
||||||
diff -ur libmad-0.15.1b-orig/mad.h libmad-0.15.1b/mad.h
|
|
||||||
--- libmad-0.15.1b-orig/mad.h 2004-02-17 13:25:44.000000000 +1030
|
|
||||||
+++ libmad-0.15.1b/mad.h 2009-08-05 10:42:40.000000000 +0930
|
|
||||||
@@ -344,6 +344,23 @@
|
|
||||||
|
|
||||||
# elif defined(FPM_MIPS)
|
|
||||||
|
|
||||||
+/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */
|
|
||||||
+#if defined (__GNUC__) && defined (__GNUC_MINOR__)
|
|
||||||
+#define __GNUC_PREREQ(maj, min) \
|
|
||||||
+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
|
|
||||||
+#else
|
|
||||||
+#define __GNUC_PREREQ(maj, min) 0
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if __GNUC_PREREQ(4,4)
|
|
||||||
+ typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
|
|
||||||
+# define MAD_F_MLX(hi, lo, x, y) \
|
|
||||||
+ do { \
|
|
||||||
+ u64_di_t __ll = (u64_di_t) (x) * (y); \
|
|
||||||
+ hi = __ll >> 32; \
|
|
||||||
+ lo = __ll; \
|
|
||||||
+ } while (0)
|
|
||||||
+#else
|
|
||||||
/*
|
|
||||||
* This MIPS version is fast and accurate; the disposition of the least
|
|
||||||
* significant bit depends on OPT_ACCURACY via mad_f_scale64().
|
|
||||||
@@ -373,6 +390,7 @@
|
|
||||||
: "%r" ((x) >> 12), "r" ((y) >> 16))
|
|
||||||
# define MAD_F_MLZ(hi, lo) ((mad_fixed_t) (lo))
|
|
||||||
# endif
|
|
||||||
+#endif /* __GNU_PREREQ(4,4) */
|
|
||||||
|
|
||||||
# if defined(OPT_SPEED)
|
|
||||||
# define mad_f_scale64(hi, lo) \
|
|
|
@ -1,27 +1,57 @@
|
||||||
{stdenv, fetchurl, autoconf}:
|
{ stdenv, fetchurl, fetchpatch, autoconf }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "libmad-0.15.1b";
|
pname = "libmad";
|
||||||
|
version = "0.15.1b";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/mad/${name}.tar.gz";
|
url = "mirror://sourceforge/mad/${pname}-${version}.tar.gz";
|
||||||
sha256 = "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690";
|
sha256 = "14460zhacxhswnzb36qfpd1f2wbk10qvksvm6wyq5hpvdgnw7ymv";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./001-mips_removal_h_constraint.patch ./pkgconfig.patch ]
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/openwrt/packages/raw/openwrt-19.07/libs/libmad/patches/001-mips_removal_h_constraint.patch";
|
||||||
|
sha256 = "0layswr6qg6axf4vyz6xrv73jwga34mkma3ifk9w9vrk41454hr5";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/libmad.patch";
|
||||||
|
sha256 = "0rysq0sn3dfdz6pa6bfqkmk4ymc4rzk5ym7p16dyk37sldg1pbzs";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/amd64-64bit.diff";
|
||||||
|
sha256 = "0mx56dmkbvw3zxnqd2hjng48q0d7q7473pns4n0ksdam29b0c5ar";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
name = "CVE-2017-8372-CVE-2017-8373.patch";
|
||||||
|
url = "https://github.com/openwrt/packages/raw/openwrt-19.07/libs/libmad/patches/102-CVE-2017-8373-CVE-2017-8372-md-size.patch";
|
||||||
|
sha256 = "0p6mkpn66h1ds8jvww28q4vlr58jwm58m9vb7pkvvyvy764agqnk";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
name = "CVE-2017-8374.patch";
|
||||||
|
url = "https://github.com/openwrt/packages/raw/openwrt-19.07/libs/libmad/patches/101-CVE-2017-8374-length-check.patch";
|
||||||
|
sha256 = "1j1ssxwmx9nfahzl62frbzck93xrjc2v3w30c12vmk29iflf1890";
|
||||||
|
})
|
||||||
|
]
|
||||||
# optimize.diff is taken from https://projects.archlinux.org/svntogit/packages.git/tree/trunk/optimize.diff?h=packages/libmad
|
# optimize.diff is taken from https://projects.archlinux.org/svntogit/packages.git/tree/trunk/optimize.diff?h=packages/libmad
|
||||||
# It is included here in order to fix a build failure in Clang
|
# It is included here in order to fix a build failure in Clang
|
||||||
# But it may be useful to fix other, currently unknown problems as well
|
# But it may be useful to fix other, currently unknown problems as well
|
||||||
++ stdenv.lib.optional stdenv.cc.isClang [ ./optimize.diff ];
|
++ stdenv.lib.optionals stdenv.cc.isClang [
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/optimize.diff";
|
||||||
|
sha256 = "0ciyaj1acg08g8hpzqx6whayq206fvf4whksz2pjgxlv207lqgjh";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
# The -fforce-mem flag has been removed in GCC 4.3.
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace configure.ac --replace "-fforce-mem" ""
|
||||||
|
substituteInPlace configure.ac --replace "arch=\"-march=i486\"" ""
|
||||||
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ autoconf ];
|
nativeBuildInputs = [ autoconf ];
|
||||||
|
|
||||||
# The -fforce-mem flag has been removed in GCC 4.3.
|
preConfigure = "autoconf";
|
||||||
preConfigure = ''
|
|
||||||
autoconf
|
|
||||||
substituteInPlace configure --replace "-fforce-mem" ""
|
|
||||||
substituteInPlace configure --replace "arch=\"-march=i486\"" ""
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://sourceforge.net/projects/mad/;
|
homepage = https://sourceforge.net/projects/mad/;
|
||||||
|
|
|
@ -1,77 +0,0 @@
|
||||||
Index: libmad-0.15.1b/configure.ac
|
|
||||||
===================================================================
|
|
||||||
--- libmad-0.15.1b.orig/configure.ac 2008-03-07 20:31:23.000000000 +0000
|
|
||||||
+++ libmad-0.15.1b/configure.ac 2008-03-07 20:34:26.000000000 +0000
|
|
||||||
@@ -124,71 +124,7 @@
|
|
||||||
|
|
||||||
if test "$GCC" = yes
|
|
||||||
then
|
|
||||||
- if test -z "$arch"
|
|
||||||
- then
|
|
||||||
- case "$host" in
|
|
||||||
- i386-*) ;;
|
|
||||||
- i?86-*) arch="-march=i486" ;;
|
|
||||||
- arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;;
|
|
||||||
- armv4*-*) arch="-march=armv4 -mtune=strongarm" ;;
|
|
||||||
- powerpc-*) ;;
|
|
||||||
- mips*-agenda-*) arch="-mcpu=vr4100" ;;
|
|
||||||
- mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
|
|
||||||
- esac
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- case "$optimize" in
|
|
||||||
- -O|"-O "*)
|
|
||||||
- optimize="-O"
|
|
||||||
- optimize="$optimize -fforce-mem"
|
|
||||||
- optimize="$optimize -fforce-addr"
|
|
||||||
- : #x optimize="$optimize -finline-functions"
|
|
||||||
- : #- optimize="$optimize -fstrength-reduce"
|
|
||||||
- optimize="$optimize -fthread-jumps"
|
|
||||||
- optimize="$optimize -fcse-follow-jumps"
|
|
||||||
- optimize="$optimize -fcse-skip-blocks"
|
|
||||||
- : #x optimize="$optimize -frerun-cse-after-loop"
|
|
||||||
- : #x optimize="$optimize -frerun-loop-opt"
|
|
||||||
- : #x optimize="$optimize -fgcse"
|
|
||||||
- optimize="$optimize -fexpensive-optimizations"
|
|
||||||
- optimize="$optimize -fregmove"
|
|
||||||
- : #* optimize="$optimize -fdelayed-branch"
|
|
||||||
- : #x optimize="$optimize -fschedule-insns"
|
|
||||||
- optimize="$optimize -fschedule-insns2"
|
|
||||||
- : #? optimize="$optimize -ffunction-sections"
|
|
||||||
- : #? optimize="$optimize -fcaller-saves"
|
|
||||||
- : #> optimize="$optimize -funroll-loops"
|
|
||||||
- : #> optimize="$optimize -funroll-all-loops"
|
|
||||||
- : #x optimize="$optimize -fmove-all-movables"
|
|
||||||
- : #x optimize="$optimize -freduce-all-givs"
|
|
||||||
- : #? optimize="$optimize -fstrict-aliasing"
|
|
||||||
- : #* optimize="$optimize -fstructure-noalias"
|
|
||||||
-
|
|
||||||
- case "$host" in
|
|
||||||
- arm*-*)
|
|
||||||
- optimize="$optimize -fstrength-reduce"
|
|
||||||
- ;;
|
|
||||||
- mips*-*)
|
|
||||||
- optimize="$optimize -fstrength-reduce"
|
|
||||||
- optimize="$optimize -finline-functions"
|
|
||||||
- ;;
|
|
||||||
- i?86-*)
|
|
||||||
- optimize="$optimize -fstrength-reduce"
|
|
||||||
- ;;
|
|
||||||
- powerpc-apple-*)
|
|
||||||
- # this triggers an internal compiler error with gcc2
|
|
||||||
- : #optimize="$optimize -fstrength-reduce"
|
|
||||||
-
|
|
||||||
- # this is really only beneficial with gcc3
|
|
||||||
- : #optimize="$optimize -finline-functions"
|
|
||||||
- ;;
|
|
||||||
- *)
|
|
||||||
- # this sometimes provokes bugs in gcc 2.95.2
|
|
||||||
- : #optimize="$optimize -fstrength-reduce"
|
|
||||||
- ;;
|
|
||||||
- esac
|
|
||||||
- ;;
|
|
||||||
- esac
|
|
||||||
+ optimize="-O2"
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$host" in
|
|
|
@ -1,117 +0,0 @@
|
||||||
diff -ruN libmad-0.15.1b.orig/Makefile.am libmad-0.15.1b/Makefile.am
|
|
||||||
--- libmad-0.15.1b.orig/Makefile.am 2004-02-17 02:02:03.000000000 +0000
|
|
||||||
+++ libmad-0.15.1b/Makefile.am 2005-08-25 12:08:04.000000000 +0000
|
|
||||||
@@ -33,9 +33,12 @@
|
|
||||||
minimad_INCLUDES =
|
|
||||||
minimad_LDADD = libmad.la
|
|
||||||
|
|
||||||
-EXTRA_DIST = mad.h.sed \
|
|
||||||
+EXTRA_DIST = mad.h.sed mad.pc.in \
|
|
||||||
CHANGES COPYRIGHT CREDITS README TODO VERSION
|
|
||||||
|
|
||||||
+pkgconfigdir = $(libdir)/pkgconfig
|
|
||||||
+pkgconfig_DATA= mad.pc
|
|
||||||
+
|
|
||||||
exported_headers = version.h fixed.h bit.h timer.h stream.h frame.h \
|
|
||||||
synth.h decoder.h
|
|
||||||
|
|
||||||
diff -ruN libmad-0.15.1b.orig/Makefile.in libmad-0.15.1b/Makefile.in
|
|
||||||
--- libmad-0.15.1b.orig/Makefile.in 2004-02-17 02:33:23.000000000 +0000
|
|
||||||
+++ libmad-0.15.1b/Makefile.in 2005-08-25 12:09:34.000000000 +0000
|
|
||||||
@@ -14,6 +14,8 @@
|
|
||||||
|
|
||||||
@SET_MAKE@
|
|
||||||
|
|
||||||
+pkgconfigdir = $(libdir)/pkgconfig
|
|
||||||
+pkgconfig_DATA = mad.pc
|
|
||||||
|
|
||||||
SOURCES = $(libmad_la_SOURCES) $(EXTRA_libmad_la_SOURCES) $(minimad_SOURCES)
|
|
||||||
|
|
||||||
@@ -43,7 +45,7 @@
|
|
||||||
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
|
||||||
$(srcdir)/config.h.in $(srcdir)/libmad.list.in \
|
|
||||||
$(top_srcdir)/configure COPYING INSTALL TODO config.guess \
|
|
||||||
- config.sub depcomp install-sh ltmain.sh missing mkinstalldirs
|
|
||||||
+ config.sub depcomp install-sh ltmain.sh missing mkinstalldirs mad.pc.in
|
|
||||||
subdir = .
|
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
|
||||||
@@ -53,7 +55,7 @@
|
|
||||||
configure.lineno configure.status.lineno
|
|
||||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
|
||||||
CONFIG_HEADER = config.h
|
|
||||||
-CONFIG_CLEAN_FILES = libmad.list
|
|
||||||
+CONFIG_CLEAN_FILES = libmad.list mad.pc
|
|
||||||
am__installdirs = $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)
|
|
||||||
libLTLIBRARIES_INSTALL = $(INSTALL)
|
|
||||||
LTLIBRARIES = $(lib_LTLIBRARIES)
|
|
||||||
@@ -218,7 +220,7 @@
|
|
||||||
minimad_SOURCES = minimad.c
|
|
||||||
minimad_INCLUDES =
|
|
||||||
minimad_LDADD = libmad.la
|
|
||||||
-EXTRA_DIST = mad.h.sed \
|
|
||||||
+EXTRA_DIST = mad.h.sed mad.pc.in \
|
|
||||||
CHANGES COPYRIGHT CREDITS README TODO VERSION
|
|
||||||
|
|
||||||
exported_headers = version.h fixed.h bit.h timer.h stream.h frame.h \
|
|
||||||
@@ -298,6 +300,28 @@
|
|
||||||
rm -f stamp-h1
|
|
||||||
touch $@
|
|
||||||
|
|
||||||
+mad.pc: $(top_builddir)/config.status mad.pc.in
|
|
||||||
+ cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
|
||||||
+
|
|
||||||
+install-pkgconfigDATA: $(pkgconfig_DATA)
|
|
||||||
+ @$(NORMAL_INSTALL)
|
|
||||||
+ $(mkinstalldirs) $(DESTDIR)$(pkgconfigdir)
|
|
||||||
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
|
|
||||||
+ if test -f $(srcdir)/$$p; then \
|
|
||||||
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p"; \
|
|
||||||
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p; \
|
|
||||||
+ else if test -f $$p; then \
|
|
||||||
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p"; \
|
|
||||||
+ $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p; \
|
|
||||||
+ fi; fi; \
|
|
||||||
+ done
|
|
||||||
+
|
|
||||||
+uninstall-pkgconfigDATA:
|
|
||||||
+ @$(NORMAL_UNINSTALL)
|
|
||||||
+ list='$(pkgconfig_DATA)'; for p in $$list; do \
|
|
||||||
+ rm -f $(DESTDIR)$(pkgconfigdir)/$$p; \
|
|
||||||
+ done
|
|
||||||
+
|
|
||||||
distclean-hdr:
|
|
||||||
-rm -f config.h stamp-h1
|
|
||||||
libmad.list: $(top_builddir)/config.status $(srcdir)/libmad.list.in
|
|
||||||
@@ -726,7 +750,7 @@
|
|
||||||
|
|
||||||
info-am:
|
|
||||||
|
|
||||||
-install-data-am: install-includeHEADERS
|
|
||||||
+install-data-am: install-includeHEADERS install-pkgconfigDATA
|
|
||||||
|
|
||||||
install-exec-am: install-libLTLIBRARIES
|
|
||||||
|
|
||||||
@@ -757,7 +781,7 @@
|
|
||||||
ps-am:
|
|
||||||
|
|
||||||
uninstall-am: uninstall-includeHEADERS uninstall-info-am \
|
|
||||||
- uninstall-libLTLIBRARIES
|
|
||||||
+ uninstall-libLTLIBRARIES install-pkgconfigDATA
|
|
||||||
|
|
||||||
uninstall-info: uninstall-info-recursive
|
|
||||||
|
|
||||||
diff -ruN libmad-0.15.1b.orig/mad.pc.in libmad-0.15.1b/mad.pc.in
|
|
||||||
--- libmad-0.15.1b.orig/mad.pc.in 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ libmad-0.15.1b/mad.pc.in 2005-08-25 12:08:04.000000000 +0000
|
|
||||||
@@ -0,0 +1,10 @@
|
|
||||||
+prefix=@prefix@
|
|
||||||
+exec_prefix=@exec_prefix@
|
|
||||||
+libdir=@libdir@
|
|
||||||
+includedir=@includedir@
|
|
||||||
+
|
|
||||||
+Name: MAD
|
|
||||||
+Description: libmad - MPEG audio decoder library
|
|
||||||
+Version: @VERSION@
|
|
||||||
+Libs: -L${libdir} -lmad
|
|
||||||
+Cflags:
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue