mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-26 04:43:09 +03:00
Merge branch 'staging' into fix-ncurses-darwin-extensions
This commit is contained in:
commit
eeb016e8f0
@ -1005,6 +1005,13 @@ but only if the <varname>doCheck</varname> variable is enabled.</para>
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>checkInputs</varname></term>
|
||||
<listitem><para>
|
||||
A list of dependencies used by the phase. This gets included in <varname>buildInputs</varname> when <varname>doCheck</varname> is set.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>makeFlags</varname> /
|
||||
<varname>makeFlagsArray</varname> /
|
||||
@ -1291,6 +1298,13 @@ installcheck</command>.</para>
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>installCheckInputs</varname></term>
|
||||
<listitem><para>
|
||||
A list of dependencies used by the phase. This gets included in <varname>buildInputs</varname> when <varname>doInstallCheck</varname> is set.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>preInstallCheck</varname></term>
|
||||
<listitem><para>Hook executed at the start of the installCheck
|
||||
|
@ -33,7 +33,7 @@ let
|
||||
sh = pkgs.runtimeShell;
|
||||
binshDeps = pkgs.writeReferencesToFile sh;
|
||||
in
|
||||
pkgs.runCommand "nix.conf" { extraOptions = cfg.extraOptions; } ''
|
||||
pkgs.runCommand "nix.conf" { extraOptions = cfg.extraOptions; } (''
|
||||
${optionalString (!isNix20) ''
|
||||
extraPaths=$(for i in $(cat ${binshDeps}); do if test -d $i; then echo $i; fi; done)
|
||||
''}
|
||||
@ -62,7 +62,11 @@ let
|
||||
''}
|
||||
$extraOptions
|
||||
END
|
||||
'';
|
||||
'' + optionalString cfg.checkConfig ''
|
||||
echo "Checking that Nix can read nix.conf..."
|
||||
ln -s $out ./nix.conf
|
||||
NIX_CONF_DIR=$PWD ${cfg.package}/bin/nix show-config >/dev/null
|
||||
'');
|
||||
|
||||
in
|
||||
|
||||
@ -351,6 +355,13 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
checkConfig = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
If enabled (the default), checks that Nix can parse the generated nix.conf.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -286,6 +286,7 @@ in rec {
|
||||
tests.firewall = callTest tests/firewall.nix {};
|
||||
tests.fleet = callTestOnMatchingSystems ["x86_64-linux"] tests/fleet.nix {};
|
||||
tests.fwupd = callTest tests/fwupd.nix {};
|
||||
tests.gdk-pixbuf = callTest tests/gdk-pixbuf.nix {};
|
||||
#tests.gitlab = callTest tests/gitlab.nix {};
|
||||
tests.gitolite = callTest tests/gitolite.nix {};
|
||||
tests.gjs = callTest tests/gjs.nix {};
|
||||
|
19
nixos/tests/gdk-pixbuf.nix
Normal file
19
nixos/tests/gdk-pixbuf.nix
Normal file
@ -0,0 +1,19 @@
|
||||
# run installed tests
|
||||
import ./make-test.nix ({ pkgs, ... }: {
|
||||
name = "gdk-pixbuf";
|
||||
|
||||
meta = {
|
||||
maintainers = pkgs.gdk_pixbuf.meta.maintainers;
|
||||
};
|
||||
|
||||
machine = { pkgs, ... }: {
|
||||
environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
|
||||
environment.variables.XDG_DATA_DIRS = [ "${pkgs.gdk_pixbuf.installedTests}/share" ];
|
||||
|
||||
virtualisation.memorySize = 4096; # Tests allocate a lot of memory trying to exploit a CVE
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
$machine->succeed("gnome-desktop-testing-runner");
|
||||
'';
|
||||
})
|
@ -25,6 +25,10 @@ stdenv.mkDerivation rec{
|
||||
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
|
||||
];
|
||||
|
||||
# Fails with "This application failed to start because it could not
|
||||
# find or load the Qt platform plugin "minimal""
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Peer-to-peer electronic cash system";
|
||||
longDescription= ''
|
||||
|
@ -22,6 +22,8 @@ in stdenv.mkDerivation rec {
|
||||
gsettings-desktop-schemas gnome3.defaultIconTheme
|
||||
];
|
||||
|
||||
doCheck = false; # fails 1 out of 9 tests
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome3.updateScript {
|
||||
packageName = pname;
|
||||
|
@ -78,6 +78,8 @@ stdenv.mkDerivation rec {
|
||||
[ libX11 libXext libXt libwebp ]
|
||||
;
|
||||
|
||||
doCheck = false; # fails 6 out of 76 tests
|
||||
|
||||
postInstall = ''
|
||||
(cd "$dev/include" && ln -s ImageMagick* ImageMagick)
|
||||
moveToOutput "bin/*-config" "$dev"
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "soxr-0.1.2";
|
||||
name = "soxr-0.1.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/soxr/${name}-Source.tar.xz";
|
||||
sha256 = "0xf2w3piwz9gfr1xqyrj4k685q5dy53kq3igv663i4f4y4sg9rjl";
|
||||
sha256 = "12aql6svkplxq5fjycar18863hcq84c5kx8g6f4rj0lcvigw24di";
|
||||
};
|
||||
|
||||
outputs = [ "out" "doc" ]; # headers are just two and very small
|
||||
|
@ -213,6 +213,7 @@ stdenv.mkDerivation (rec {
|
||||
++ extraMakeFlags;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
doCheck = false; # "--disable-tests" above
|
||||
|
||||
preInstall = ''
|
||||
# The following is needed for startup cache creation on grsecurity kernels.
|
||||
|
@ -7,7 +7,6 @@
|
||||
, trezor-bridge, bluejeans, djview4, adobe-reader
|
||||
, google_talk_plugin, fribid, gnome3/*.gnome-shell*/
|
||||
, esteidfirefoxplugin
|
||||
, vlc_npapi
|
||||
, browserpass, chrome-gnome-shell
|
||||
, libudev
|
||||
, kerberos
|
||||
@ -57,7 +56,6 @@ let
|
||||
++ lib.optional (cfg.enableBluejeans or false) bluejeans
|
||||
++ lib.optional (cfg.enableAdobeReader or false) adobe-reader
|
||||
++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin
|
||||
++ lib.optional (cfg.enableVLC or false) vlc_npapi
|
||||
++ extraPlugins
|
||||
);
|
||||
nativeMessagingHosts =
|
||||
|
@ -21,13 +21,16 @@ stdenv.mkDerivation rec {
|
||||
pkgconfig intltool autoconf-archive
|
||||
appstream-glib
|
||||
];
|
||||
|
||||
buildInputs = [ gtk3 json-glib curl glib hicolor-icon-theme ];
|
||||
|
||||
meta = with stdenv.lib;
|
||||
{ description = "GTK remote control for the Transmission BitTorrent client";
|
||||
homepage = https://github.com/ajf8/transmission-remote-gtk;
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.ehmry ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
doCheck = false; # fails with style validation error
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "GTK remote control for the Transmission BitTorrent client";
|
||||
homepage = https://github.com/ajf8/transmission-remote-gtk;
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.ehmry ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -23,7 +23,7 @@
|
||||
, alsaLib
|
||||
, libidn
|
||||
, zlib
|
||||
, version ? null
|
||||
, version ? "13.9.0"
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -30,6 +30,8 @@ stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [ nano ];
|
||||
|
||||
doCheck = false; # fails 1 of 1 tests
|
||||
|
||||
meta = {
|
||||
homepage = http://cvs.nongnu.org;
|
||||
description = "Concurrent Versions System - a source control system";
|
||||
|
@ -18,7 +18,7 @@ assert sendEmailSupport -> perlSupport;
|
||||
assert svnSupport -> perlSupport;
|
||||
|
||||
let
|
||||
version = "2.16.3";
|
||||
version = "2.17.0";
|
||||
svn = subversionClient.override { perlBindings = perlSupport; };
|
||||
in
|
||||
|
||||
@ -27,19 +27,24 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
|
||||
sha256 = "0j1dwvg5llnj3g0fp8hdgpms4hp90qw9f6509vqw30dhwplrjpfn";
|
||||
sha256 = "1ismz7nsz8dgjmk782xr9s0mr2qh06f72pdcgbxfmnw1bvlya5p9";
|
||||
};
|
||||
|
||||
outputs = [ "out" ] ++ stdenv.lib.optional perlSupport "gitweb";
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
## Patch
|
||||
|
||||
patches = [
|
||||
./docbook2texi.patch
|
||||
./symlinks-in-bin.patch
|
||||
./git-sh-i18n.patch
|
||||
./ssh-path.patch
|
||||
./git-send-email-honor-PATH.patch
|
||||
./installCheck-path.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
@ -47,6 +52,10 @@ stdenv.mkDerivation {
|
||||
substituteInPlace "$x" \
|
||||
--subst-var-by ssh "${openssh}/bin/ssh"
|
||||
done
|
||||
|
||||
# Fix references to gettext introduced by ./git-sh-i18n.patch
|
||||
substituteInPlace git-sh-i18n.sh \
|
||||
--subst-var-by gettext ${gettext}
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ gettext perl ]
|
||||
@ -58,7 +67,6 @@ stdenv.mkDerivation {
|
||||
++ stdenv.lib.optionals withpcre2 [ pcre2 ]
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.Security ];
|
||||
|
||||
|
||||
# required to support pthread_cancel()
|
||||
NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.cc.isClang) "-lgcc_s"
|
||||
+ stdenv.lib.optionalString (stdenv.isFreeBSD) "-lthr";
|
||||
@ -68,6 +76,10 @@ stdenv.mkDerivation {
|
||||
"ac_cv_snprintf_returns_bogus=no"
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
makeFlagsArray+=( perllibdir=$out/$(perl -MConfig -wle 'print substr $Config{installsitelib}, 1 + length $Config{siteprefixexp}') )
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"prefix=\${out}"
|
||||
"SHELL_PATH=${stdenv.shell}"
|
||||
@ -86,15 +98,17 @@ stdenv.mkDerivation {
|
||||
popd
|
||||
'';
|
||||
|
||||
# FIXME: "make check" requires Sparse; the Makefile must be tweaked
|
||||
# so that `SPARSE_FLAGS' corresponds to the current architecture...
|
||||
#doCheck = true;
|
||||
|
||||
## Install
|
||||
|
||||
# WARNING: Do not `rm` or `mv` files from the source tree; use `cp` instead.
|
||||
# We need many of these files during the installCheckPhase.
|
||||
|
||||
installFlags = "NO_INSTALL_HARDLINKS=1";
|
||||
|
||||
preInstall = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
mkdir -p $out/bin
|
||||
mv $PWD/contrib/credential/osxkeychain/git-credential-osxkeychain $out/bin
|
||||
cp -a $PWD/contrib/credential/osxkeychain/git-credential-osxkeychain $out/bin
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
@ -112,7 +126,7 @@ stdenv.mkDerivation {
|
||||
|
||||
# Install contrib stuff.
|
||||
mkdir -p $out/share/git
|
||||
mv contrib $out/share/git/
|
||||
cp -a contrib $out/share/git/
|
||||
ln -s "$out/share/git/contrib/credential/netrc/git-credential-netrc" $out/bin/
|
||||
mkdir -p $out/share/emacs/site-lisp
|
||||
ln -s "$out/share/git/contrib/emacs/"*.el $out/share/emacs/site-lisp/
|
||||
@ -145,9 +159,6 @@ stdenv.mkDerivation {
|
||||
perl -0777 -i -pe "$SCRIPT" \
|
||||
$out/libexec/git-core/git-{sh-setup,filter-branch,merge-octopus,mergetool,quiltimport,request-pull,stash,submodule,subtree,web--browse}
|
||||
|
||||
# Fix references to gettext.
|
||||
substituteInPlace $out/libexec/git-core/git-sh-i18n \
|
||||
--subst-var-by gettext ${gettext}
|
||||
|
||||
# Also put git-http-backend into $PATH, so that we can use smart
|
||||
# HTTP(s) transports for pushing
|
||||
@ -225,7 +236,49 @@ EOF
|
||||
'';
|
||||
|
||||
|
||||
enableParallelBuilding = true;
|
||||
## InstallCheck
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
installCheckTarget = "test";
|
||||
|
||||
# see also installCheckFlagsArray
|
||||
installCheckFlags = "DEFAULT_TEST_TARGET=prove";
|
||||
|
||||
preInstallCheck = ''
|
||||
installCheckFlagsArray+=(
|
||||
GIT_PROVE_OPTS="--jobs $NIX_BUILD_CORES --failures --state=failed,save"
|
||||
GIT_TEST_INSTALLED=$out/bin
|
||||
${stdenv.lib.optionalString (!svnSupport) "NO_SVN_TESTS=y"}
|
||||
)
|
||||
|
||||
function disable_test {
|
||||
local test=$1 pattern=$2
|
||||
if [ $# -eq 1 ]; then
|
||||
mv t/{,skip-}$test.sh || true
|
||||
else
|
||||
sed -i t/$test.sh \
|
||||
-e "/^ *test_expect_.*$pattern/,/^ *' *\$/{s/^/#/}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Shared permissions are forbidden in sandbox builds.
|
||||
disable_test t0001-init shared
|
||||
disable_test t1301-shared-repo
|
||||
|
||||
# Our patched gettext never fallbacks
|
||||
disable_test t0201-gettext-fallbacks
|
||||
|
||||
${stdenv.lib.optionalString (!sendEmailSupport) ''
|
||||
# Disable sendmail tests
|
||||
disable_test t9001-send-email
|
||||
''}
|
||||
|
||||
# XXX: I failed to understand why this one fails.
|
||||
# Could someone try to re-enable it on the next release ?
|
||||
disable_test t1700-split-index "null sha1"
|
||||
'';
|
||||
|
||||
|
||||
meta = {
|
||||
homepage = https://git-scm.com/;
|
||||
|
@ -2,19 +2,19 @@ This patch does two things: (1) use the right name for `docbook2texi',
|
||||
and (2) make sure `gitman.info' isn't produced since it's broken (duplicate
|
||||
node names).
|
||||
|
||||
diff -ru git-1.8.4-orig/Documentation/Makefile git-1.8.4/Documentation/Makefile
|
||||
--- git-1.8.4-orig/Documentation/Makefile 2013-08-23 21:38:43.000000000 +0200
|
||||
+++ git-1.8.4/Documentation/Makefile 2013-09-30 14:48:51.532890378 +0200
|
||||
@@ -101,7 +101,7 @@
|
||||
diff --git a/Documentation/Makefile b/Documentation/Makefile
|
||||
--- a/Documentation/Makefile
|
||||
+++ b/Documentation/Makefile
|
||||
@@ -122,7 +122,7 @@
|
||||
|
||||
MAKEINFO = makeinfo
|
||||
INSTALL_INFO = install-info
|
||||
-DOCBOOK2X_TEXI = docbook2x-texi
|
||||
+DOCBOOK2X_TEXI = docbook2texi
|
||||
DBLATEX = dblatex
|
||||
ifndef PERL_PATH
|
||||
PERL_PATH = /usr/bin/perl
|
||||
@@ -205,7 +205,7 @@
|
||||
ASCIIDOC_DBLATEX_DIR = /etc/asciidoc/dblatex
|
||||
DBLATEX_COMMON = -p $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.xsl -s $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.sty
|
||||
@@ -240,7 +240,7 @@
|
||||
man5: $(DOC_MAN5)
|
||||
man7: $(DOC_MAN7)
|
||||
|
||||
@ -23,7 +23,7 @@ diff -ru git-1.8.4-orig/Documentation/Makefile git-1.8.4/Documentation/Makefile
|
||||
|
||||
pdf: user-manual.pdf
|
||||
|
||||
@@ -221,10 +221,9 @@
|
||||
@@ -256,10 +256,9 @@
|
||||
|
||||
install-info: info
|
||||
$(INSTALL) -d -m 755 $(DESTDIR)$(infodir)
|
||||
|
@ -1,22 +1,20 @@
|
||||
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
|
||||
index 8060ea35c..c81067a19 100644
|
||||
--- a/Documentation/git-send-email.txt
|
||||
+++ b/Documentation/git-send-email.txt
|
||||
@@ -203,8 +203,7 @@ a password is obtained using 'git-credential'.
|
||||
@@ -208,8 +208,7 @@ a password is obtained using 'git-credential'.
|
||||
specify a full pathname of a sendmail-like program instead;
|
||||
the program must support the `-i` option. Default value can
|
||||
be specified by the `sendemail.smtpServer` configuration
|
||||
- option; the built-in default is to search for `sendmail` in
|
||||
- `/usr/sbin`, `/usr/lib` and $PATH if such program is
|
||||
+ option; the built-in default is to search in $PATH if such program is
|
||||
+ option; the built-in default is to search in $PATH if such program is
|
||||
available, falling back to `localhost` otherwise.
|
||||
|
||||
--smtp-server-port=<port>::
|
||||
diff --git a/git-send-email.perl b/git-send-email.perl
|
||||
index edcc6d346..8e357aeab 100755
|
||||
--- a/git-send-email.perl
|
||||
+++ b/git-send-email.perl
|
||||
@@ -885,8 +885,7 @@ if (defined $initial_reply_to) {
|
||||
@@ -944,8 +944,7 @@ if (defined $reply_to) {
|
||||
}
|
||||
|
||||
if (!defined $smtp_server) {
|
||||
|
@ -0,0 +1,12 @@
|
||||
diff --git a/t/test-lib.sh b/t/test-lib.sh
|
||||
--- a/t/test-lib.sh
|
||||
+++ b/t/test-lib.sh
|
||||
@@ -923,7 +923,7 @@
|
||||
then
|
||||
GIT_EXEC_PATH=$($GIT_TEST_INSTALLED/git --exec-path) ||
|
||||
error "Cannot run git from $GIT_TEST_INSTALLED."
|
||||
- PATH=$GIT_TEST_INSTALLED:$GIT_BUILD_DIR:$PATH
|
||||
+ PATH=$GIT_TEST_INSTALLED:$GIT_BUILD_DIR/t/helper:$GIT_BUILD_DIR:$PATH
|
||||
GIT_EXEC_PATH=${GIT_TEST_EXEC_PATH:-$GIT_EXEC_PATH}
|
||||
else # normal case, use ../bin-wrappers only unless $with_dashes:
|
||||
git_bin_dir="$GIT_BUILD_DIR/bin-wrappers"
|
@ -1,7 +1,7 @@
|
||||
diff -ru -x '*~' git-1.8.2.1-orig/Makefile git-1.8.2.1/Makefile
|
||||
--- git-1.8.2.1-orig/Makefile 2013-04-08 00:52:04.000000000 +0200
|
||||
+++ git-1.8.2.1/Makefile 2013-04-22 15:46:42.906026940 +0200
|
||||
@@ -2319,8 +2319,7 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -2609,8 +2609,7 @@
|
||||
{ test "$$bindir/" = "$$execdir/" || \
|
||||
for p in git$X $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \
|
||||
$(RM) "$$execdir/$$p" && \
|
||||
|
@ -88,6 +88,8 @@ let
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = false; # fails 10 out of ~2300 tests
|
||||
|
||||
meta = {
|
||||
description = "A version control system intended to be a compelling replacement for CVS in the open source community";
|
||||
homepage = http://subversion.apache.org/;
|
||||
|
@ -1,86 +1,81 @@
|
||||
{ stdenv, fetchurl, xz, bzip2, perl, xorg, libdvdnav, libbluray
|
||||
{ stdenv, fetchurl, autoreconfHook
|
||||
, libarchive, perl, xorg, libdvdnav, libbluray
|
||||
, zlib, a52dec, libmad, faad2, ffmpeg, alsaLib
|
||||
, pkgconfig, dbus, fribidi, freefont_ttf, libebml, libmatroska
|
||||
, libvorbis, libtheora, speex, lua5, libgcrypt, libupnp
|
||||
, libvorbis, libtheora, speex, lua5, libgcrypt, libgpgerror, libupnp
|
||||
, libcaca, libpulseaudio, flac, schroedinger, libxml2, librsvg
|
||||
, mpeg2dec, udev, gnutls, avahi, libcddb, libjack2, SDL, SDL_image
|
||||
, mpeg2dec, systemd, gnutls, avahi, libcddb, libjack2, SDL, SDL_image
|
||||
, libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz
|
||||
, libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
|
||||
, libvdpau, libsamplerate, live555, fluidsynth
|
||||
, qt4 ? null
|
||||
, withQt5 ? false, qtbase ? null, qtx11extras ? null
|
||||
, libass, libva-full, libdvbpsi, libdc1394, libraw1394, libopus
|
||||
, libvdpau, libsamplerate, live555, fluidsynth, wayland, wayland-protocols
|
||||
, onlyLibVLC ? false
|
||||
, withQt5 ? true, qtbase ? null, qtsvg ? null, qtx11extras ? null
|
||||
, jackSupport ? false
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
assert (withQt5 -> qtbase != null && qtx11extras != null);
|
||||
assert (!withQt5 -> qt4 != null);
|
||||
assert (withQt5 -> qtbase != null && qtsvg != null && qtx11extras != null);
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "vlc-${version}";
|
||||
version = "2.2.8";
|
||||
version = "3.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://get.videolan.org/vlc/${version}/${name}.tar.xz";
|
||||
sha256 = "1v32snw46rkgbdqdy3dssl2y13i8p2cr1cw1i18r6vdmiy24dw4v";
|
||||
sha256 = "008krfhykm9447wc1kkw82bsw3f6ikljgrqyb1sinwlxnkghqw6f";
|
||||
};
|
||||
|
||||
# Comment-out the Qt 5.5 version check, as we do apply the relevant patch.
|
||||
# https://trac.videolan.org/vlc/ticket/16497
|
||||
postPatch = if (!withQt5) then null else
|
||||
"sed '/I78ef29975181ee22429c9bd4b11d96d9e68b7a9c/s/^/: #/' -i configure";
|
||||
|
||||
buildInputs =
|
||||
[ xz bzip2 perl zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread
|
||||
libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt
|
||||
libupnp libcaca libpulseaudio flac schroedinger libxml2 librsvg mpeg2dec
|
||||
udev gnutls avahi libcddb SDL SDL_image libmtp unzip taglib
|
||||
libkate libtiger libv4l samba liboggz libass libdvbpsi libva
|
||||
xorg.xlibsWrapper xorg.libXv xorg.libXvMC xorg.libXpm xorg.xcbutilkeysyms
|
||||
libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate live555
|
||||
fluidsynth
|
||||
]
|
||||
++ [(if withQt5 then qtbase else qt4)]
|
||||
++ optional withQt5 qtx11extras
|
||||
# VLC uses a *ton* of libraries for various pieces of functionality, many of
|
||||
# which are not included here for no other reason that nobody has mentioned
|
||||
# needing them
|
||||
buildInputs = [
|
||||
zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread
|
||||
libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt libgpgerror
|
||||
libupnp libcaca libpulseaudio flac schroedinger libxml2 librsvg mpeg2dec
|
||||
systemd gnutls avahi libcddb SDL SDL_image libmtp unzip taglib libarchive
|
||||
libkate libtiger libv4l samba liboggz libass libdvbpsi libva-full
|
||||
xorg.xlibsWrapper xorg.libXv xorg.libXvMC xorg.libXpm xorg.xcbutilkeysyms
|
||||
libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate live555
|
||||
fluidsynth wayland wayland-protocols
|
||||
] ++ optionals withQt5 [ qtbase qtsvg qtx11extras ]
|
||||
++ optional jackSupport libjack2;
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
LIVE555_PREFIX = live555;
|
||||
|
||||
preConfigure = ''
|
||||
sed -e "s@/bin/echo@echo@g" -i configure
|
||||
'' + optionalString withQt5 ''
|
||||
# Make sure we only *add* "-std=c++11" to CXXFLAGS instead of overriding the
|
||||
# values figured out by configure (for example "-g -O2").
|
||||
sed -i -re '/^ *CXXFLAGS=("[^$"]+")? *$/s/CXXFLAGS="?/&-std=c++11 /' \
|
||||
configure
|
||||
'';
|
||||
|
||||
configureFlags =
|
||||
[ "--enable-alsa"
|
||||
"--with-kde-solid=$out/share/apps/solid/actions"
|
||||
"--enable-dc1394"
|
||||
"--enable-ncurses"
|
||||
"--enable-vdpau"
|
||||
"--enable-dvdnav"
|
||||
"--enable-samplerate"
|
||||
];
|
||||
nativeBuildInputs = [ autoreconfHook perl pkgconfig ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
preBuild = ''
|
||||
substituteInPlace modules/text_renderer/freetype.c --replace \
|
||||
/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf \
|
||||
${freefont_ttf}/share/fonts/truetype/FreeSerifBold.ttf
|
||||
LIVE555_PREFIX = live555;
|
||||
|
||||
# vlc depends on a c11-gcc wrapper script which we don't have so we need to
|
||||
# set the path to the compiler
|
||||
BUILDCC = "${stdenv.cc}/bin/gcc";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace configure \
|
||||
--replace /bin/echo echo
|
||||
|
||||
substituteInPlace modules/text_renderer/freetype/platform_fonts.h --replace \
|
||||
/usr/share/fonts/truetype/freefont ${freefont_ttf}/share/fonts/truetype
|
||||
'';
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/pull/35124#issuecomment-370552830
|
||||
postFixup = ''
|
||||
find $out/lib/vlc/plugins -exec touch -d @1 '{}' ';'
|
||||
$out/lib/vlc/vlc-cache-gen $out/vlc/plugins
|
||||
'';
|
||||
|
||||
# Most of the libraries are auto-detected so we don't need to set a bunch of
|
||||
# "--enable-foo" flags here
|
||||
configureFlags = [
|
||||
"--with-kde-solid=$out/share/apps/solid/actions"
|
||||
] ++ optional onlyLibVLC "--disable-vlc";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Cross-platform media player and streaming server";
|
||||
homepage = http://www.videolan.org/vlc/;
|
||||
platforms = platforms.linux;
|
||||
license = licenses.lgpl21Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,34 +0,0 @@
|
||||
{ stdenv, fetchgit, vlc, autoconf, automake, libtool, pkgconfig, npapi_sdk,
|
||||
libxcb, xlibsWrapper, gtk}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "vlc-plugin-${version}";
|
||||
version = "2.2.2"; # This 2.2.2 builds fine with vlc 2.2.4
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://code.videolan.org/videolan/npapi-vlc.git";
|
||||
rev = "5fa6fbc11cf5bad983f57656c0085e47e18fbf20";
|
||||
sha256 = "0k4s0657kv1mx1md8vj87scs0hz59xy7syqdsxb48w3w8gnfljs0";
|
||||
};
|
||||
|
||||
preConfigure = "sh autogen.sh";
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ vlc autoconf automake libtool npapi_sdk libxcb
|
||||
xlibsWrapper gtk ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru = {
|
||||
mozillaPlugin = "/lib/mozilla/plugins";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Webplugins based on libVLC (for firefox, npapi)";
|
||||
homepage = https://code.videolan.org/videolan/npapi-vlc;
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl2Plus;
|
||||
};
|
||||
}
|
@ -119,6 +119,8 @@ stdenv.mkDerivation rec {
|
||||
++ optional openGLSupport "--enable-opengl"
|
||||
++ optional virglSupport "--enable-virglrenderer";
|
||||
|
||||
doCheck = false; # tries to access /dev
|
||||
|
||||
postFixup =
|
||||
''
|
||||
for exe in $out/bin/qemu-system-* ; do
|
||||
|
@ -5,6 +5,7 @@ var_templates_list=(
|
||||
NIX+LDFLAGS_BEFORE
|
||||
NIX+LDFLAGS_AFTER
|
||||
NIX+LDFLAGS_HARDEN
|
||||
NIX+HARDENING_ENABLE
|
||||
)
|
||||
var_templates_bool=(
|
||||
NIX+SET_BUILD_ID
|
||||
@ -23,10 +24,10 @@ if [ "${NIX_BINTOOLS_WRAPPER_@infixSalt@_TARGET_TARGET:-}" ]; then
|
||||
fi
|
||||
|
||||
for var in "${var_templates_list[@]}"; do
|
||||
mangleVarList "$var" "${role_infixes[@]}"
|
||||
mangleVarList "$var" ${role_infixes[@]+"${role_infixes[@]}"}
|
||||
done
|
||||
for var in "${var_templates_bool[@]}"; do
|
||||
mangleVarBool "$var" "${role_infixes[@]}"
|
||||
mangleVarBool "$var" ${role_infixes[@]+"${role_infixes[@]}"}
|
||||
done
|
||||
|
||||
if [ -e @out@/nix-support/libc-ldflags ]; then
|
||||
|
@ -1,53 +1,58 @@
|
||||
hardeningFlags=(relro bindnow)
|
||||
# Intentionally word-split in case 'hardeningEnable' is defined in
|
||||
# Nix. Also, our bootstrap tools version of bash is old enough that
|
||||
# undefined arrays trip `set -u`.
|
||||
if [[ -v hardeningEnable[@] ]]; then
|
||||
hardeningFlags+=(${hardeningEnable[@]})
|
||||
fi
|
||||
hardeningLDFlags=()
|
||||
declare -a hardeningLDFlags=()
|
||||
|
||||
declare -A hardeningDisableMap
|
||||
declare -A hardeningEnableMap=()
|
||||
|
||||
# Intentionally word-split in case 'hardeningDisable' is defined in Nix.
|
||||
for flag in ${hardeningDisable[@]:-IGNORED_KEY} @hardening_unsupported_flags@
|
||||
do
|
||||
hardeningDisableMap[$flag]=1
|
||||
# Intentionally word-split in case 'NIX_HARDENING_ENABLE' is defined in Nix. The
|
||||
# array expansion also prevents undefined variables from causing trouble with
|
||||
# `set -u`.
|
||||
for flag in ${NIX_@infixSalt@_HARDENING_ENABLE-}; do
|
||||
hardeningEnableMap["$flag"]=1
|
||||
done
|
||||
|
||||
# Remove unsupported flags.
|
||||
for flag in @hardening_unsupported_flags@; do
|
||||
unset -v "hardeningEnableMap[$flag]"
|
||||
done
|
||||
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then
|
||||
declare -a allHardeningFlags=(pie relro bindnow)
|
||||
declare -A hardeningDisableMap=()
|
||||
|
||||
# Determine which flags were effectively disabled so we can report below.
|
||||
for flag in "${allHardeningFlags[@]}"; do
|
||||
if [[ -z "${hardeningEnableMap[$flag]-}" ]]; then
|
||||
hardeningDisableMap[$flag]=1
|
||||
fi
|
||||
done
|
||||
|
||||
printf 'HARDENING: disabled flags:' >&2
|
||||
(( "${#hardeningDisableMap[@]}" )) && printf ' %q' "${!hardeningDisableMap[@]}" >&2
|
||||
echo >&2
|
||||
fi
|
||||
|
||||
if [[ -z "${hardeningDisableMap[all]:-}" ]]; then
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then
|
||||
if (( "${#hardeningEnableMap[@]}" )); then
|
||||
echo 'HARDENING: Is active (not completely disabled with "all" flag)' >&2;
|
||||
fi
|
||||
for flag in "${hardeningFlags[@]}"
|
||||
do
|
||||
if [[ -z "${hardeningDisableMap[$flag]:-}" ]]; then
|
||||
case $flag in
|
||||
pie)
|
||||
if [[ ! ("$*" =~ " -shared " || "$*" =~ " -static ") ]]; then
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling LDFlags -pie >&2; fi
|
||||
hardeningLDFlags+=('-pie')
|
||||
fi
|
||||
;;
|
||||
relro)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling relro >&2; fi
|
||||
hardeningLDFlags+=('-z' 'relro')
|
||||
;;
|
||||
bindnow)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling bindnow >&2; fi
|
||||
hardeningLDFlags+=('-z' 'now')
|
||||
;;
|
||||
*)
|
||||
# Ignore unsupported. Checked in Nix that at least *some*
|
||||
# tool supports each flag.
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
for flag in "${!hardeningEnableMap[@]}"; do
|
||||
case $flag in
|
||||
pie)
|
||||
if [[ ! ("$*" =~ " -shared " || "$*" =~ " -static ") ]]; then
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling LDFlags -pie >&2; fi
|
||||
hardeningLDFlags+=('-pie')
|
||||
fi
|
||||
;;
|
||||
relro)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling relro >&2; fi
|
||||
hardeningLDFlags+=('-z' 'relro')
|
||||
;;
|
||||
bindnow)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling bindnow >&2; fi
|
||||
hardeningLDFlags+=('-z' 'now')
|
||||
;;
|
||||
*)
|
||||
# Ignore unsupported. Checked in Nix that at least *some*
|
||||
# tool supports each flag.
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
@ -74,7 +74,7 @@ in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = targetPrefix
|
||||
+ (if name != "" then name else "${bintoolsName}-wrapper")
|
||||
+ (if name != "" then name else stdenv.lib.removePrefix targetPrefix "${bintoolsName}-wrapper")
|
||||
+ (stdenv.lib.optionalString (bintools != null && bintoolsVersion != "") "-${bintoolsVersion}");
|
||||
|
||||
preferLocalBuild = true;
|
||||
|
@ -57,8 +57,8 @@ fi
|
||||
|
||||
source @out@/nix-support/add-hardening.sh
|
||||
|
||||
extraAfter=("${hardeningLDFlags[@]}")
|
||||
extraBefore=()
|
||||
extraAfter=()
|
||||
extraBefore=(${hardeningLDFlags[@]+"${hardeningLDFlags[@]}"})
|
||||
|
||||
if [ -z "${NIX_@infixSalt@_LDFLAGS_SET:-}" ]; then
|
||||
extraAfter+=($NIX_@infixSalt@_LDFLAGS)
|
||||
|
@ -83,6 +83,10 @@ do
|
||||
fi
|
||||
done
|
||||
|
||||
# If unset, assume the default hardening flags.
|
||||
: ${NIX_HARDENING_ENABLE="fortify stackprotector pic strictoverflow format relro bindnow"}
|
||||
export NIX_HARDENING_ENABLE
|
||||
|
||||
# No local scope in sourced file
|
||||
unset -v role_pre role_post cmd upper_case
|
||||
set +u
|
||||
|
@ -30,10 +30,10 @@ fi
|
||||
# We need to mangle names for hygiene, but also take parameters/overrides
|
||||
# from the environment.
|
||||
for var in "${var_templates_list[@]}"; do
|
||||
mangleVarList "$var" "${role_infixes[@]}"
|
||||
mangleVarList "$var" ${role_infixes[@]+"${role_infixes[@]}"}
|
||||
done
|
||||
for var in "${var_templates_bool[@]}"; do
|
||||
mangleVarBool "$var" "${role_infixes[@]}"
|
||||
mangleVarBool "$var" ${role_infixes[@]+"${role_infixes[@]}"}
|
||||
done
|
||||
|
||||
# `-B@out@/bin' forces cc to use ld-wrapper.sh when calling ld.
|
||||
|
@ -1,67 +1,72 @@
|
||||
hardeningFlags=(fortify stackprotector pic strictoverflow format relro bindnow)
|
||||
# Intentionally word-split in case 'hardeningEnable' is defined in
|
||||
# Nix. Also, our bootstrap tools version of bash is old enough that
|
||||
# undefined arrays trip `set -u`.
|
||||
if [[ -v hardeningEnable[@] ]]; then
|
||||
hardeningFlags+=(${hardeningEnable[@]})
|
||||
fi
|
||||
hardeningCFlags=()
|
||||
declare -a hardeningCFlags=()
|
||||
|
||||
declare -A hardeningDisableMap
|
||||
declare -A hardeningEnableMap=()
|
||||
|
||||
# Intentionally word-split in case 'hardeningDisable' is defined in Nix.
|
||||
for flag in ${hardeningDisable[@]:-IGNORED_KEY} @hardening_unsupported_flags@
|
||||
do
|
||||
hardeningDisableMap[$flag]=1
|
||||
# Intentionally word-split in case 'NIX_HARDENING_ENABLE' is defined in Nix. The
|
||||
# array expansion also prevents undefined variables from causing trouble with
|
||||
# `set -u`.
|
||||
for flag in ${NIX_@infixSalt@_HARDENING_ENABLE-}; do
|
||||
hardeningEnableMap["$flag"]=1
|
||||
done
|
||||
|
||||
# Remove unsupported flags.
|
||||
for flag in @hardening_unsupported_flags@; do
|
||||
unset -v "hardeningEnableMap[$flag]"
|
||||
done
|
||||
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then
|
||||
declare -a allHardeningFlags=(fortify stackprotector pie pic strictoverflow format)
|
||||
declare -A hardeningDisableMap=()
|
||||
|
||||
# Determine which flags were effectively disabled so we can report below.
|
||||
for flag in "${allHardeningFlags[@]}"; do
|
||||
if [[ -z "${hardeningEnableMap[$flag]-}" ]]; then
|
||||
hardeningDisableMap["$flag"]=1
|
||||
fi
|
||||
done
|
||||
|
||||
printf 'HARDENING: disabled flags:' >&2
|
||||
(( "${#hardeningDisableMap[@]}" )) && printf ' %q' "${!hardeningDisableMap[@]}" >&2
|
||||
echo >&2
|
||||
fi
|
||||
|
||||
if [[ -z "${hardeningDisableMap[all]:-}" ]]; then
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then
|
||||
if (( "${#hardeningEnableMap[@]}" )); then
|
||||
echo 'HARDENING: Is active (not completely disabled with "all" flag)' >&2;
|
||||
fi
|
||||
for flag in "${hardeningFlags[@]}"
|
||||
do
|
||||
if [[ -z "${hardeningDisableMap[$flag]:-}" ]]; then
|
||||
case $flag in
|
||||
fortify)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling fortify >&2; fi
|
||||
hardeningCFlags+=('-O2' '-D_FORTIFY_SOURCE=2')
|
||||
;;
|
||||
stackprotector)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling stackprotector >&2; fi
|
||||
hardeningCFlags+=('-fstack-protector-strong' '--param' 'ssp-buffer-size=4')
|
||||
;;
|
||||
pie)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling CFlags -fPIE >&2; fi
|
||||
hardeningCFlags+=('-fPIE')
|
||||
if [[ ! ("$*" =~ " -shared " || "$*" =~ " -static ") ]]; then
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling LDFlags -pie >&2; fi
|
||||
hardeningCFlags+=('-pie')
|
||||
fi
|
||||
;;
|
||||
pic)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling pic >&2; fi
|
||||
hardeningCFlags+=('-fPIC')
|
||||
;;
|
||||
strictoverflow)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling strictoverflow >&2; fi
|
||||
hardeningCFlags+=('-fno-strict-overflow')
|
||||
;;
|
||||
format)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling format >&2; fi
|
||||
hardeningCFlags+=('-Wformat' '-Wformat-security' '-Werror=format-security')
|
||||
;;
|
||||
*)
|
||||
# Ignore unsupported. Checked in Nix that at least *some*
|
||||
# tool supports each flag.
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
for flag in "${!hardeningEnableMap[@]}"; do
|
||||
case $flag in
|
||||
fortify)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling fortify >&2; fi
|
||||
hardeningCFlags+=('-O2' '-D_FORTIFY_SOURCE=2')
|
||||
;;
|
||||
stackprotector)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling stackprotector >&2; fi
|
||||
hardeningCFlags+=('-fstack-protector-strong' '--param' 'ssp-buffer-size=4')
|
||||
;;
|
||||
pie)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling CFlags -fPIE >&2; fi
|
||||
hardeningCFlags+=('-fPIE')
|
||||
if [[ ! ("$*" =~ " -shared " || "$*" =~ " -static ") ]]; then
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling LDFlags -pie >&2; fi
|
||||
hardeningCFlags+=('-pie')
|
||||
fi
|
||||
;;
|
||||
pic)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling pic >&2; fi
|
||||
hardeningCFlags+=('-fPIC')
|
||||
;;
|
||||
strictoverflow)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling strictoverflow >&2; fi
|
||||
hardeningCFlags+=('-fno-strict-overflow')
|
||||
;;
|
||||
format)
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling format >&2; fi
|
||||
hardeningCFlags+=('-Wformat' '-Wformat-security' '-Werror=format-security')
|
||||
;;
|
||||
*)
|
||||
# Ignore unsupported. Checked in Nix that at least *some*
|
||||
# tool supports each flag.
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
@ -134,8 +134,8 @@ fi
|
||||
source @out@/nix-support/add-hardening.sh
|
||||
|
||||
# Add the flags for the C compiler proper.
|
||||
extraAfter=($NIX_@infixSalt@_CFLAGS_COMPILE "${hardeningCFlags[@]}")
|
||||
extraBefore=()
|
||||
extraAfter=($NIX_@infixSalt@_CFLAGS_COMPILE)
|
||||
extraBefore=(${hardeningCFlags[@]+"${hardeningCFlags[@]}"})
|
||||
|
||||
if [ "$dontLink" != 1 ]; then
|
||||
|
||||
|
@ -71,7 +71,7 @@ assert nativePrefix == bintools.nativePrefix;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = targetPrefix
|
||||
+ (if name != "" then name else "${ccName}-wrapper")
|
||||
+ (if name != "" then name else stdenv.lib.removePrefix targetPrefix "${ccName}-wrapper")
|
||||
+ (stdenv.lib.optionalString (cc != null && ccVersion != "") "-${ccVersion}");
|
||||
|
||||
preferLocalBuild = true;
|
||||
|
@ -147,6 +147,10 @@ export ${role_pre}CXX=@named_cxx@
|
||||
export CC${role_post}=@named_cc@
|
||||
export CXX${role_post}=@named_cxx@
|
||||
|
||||
# If unset, assume the default hardening flags.
|
||||
: ${NIX_HARDENING_ENABLE="fortify stackprotector pic strictoverflow format relro bindnow"}
|
||||
export NIX_HARDENING_ENABLE
|
||||
|
||||
# No local scope in sourced file
|
||||
unset -v role_pre role_post
|
||||
set +u
|
||||
|
@ -91,7 +91,7 @@ in stdenv.mkDerivation (args // {
|
||||
installPhase = args.installPhase or ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
find target/release -maxdepth 1 -executable -exec cp "{}" $out/bin \;
|
||||
find target/release -maxdepth 1 -executable -type f -exec cp "{}" $out/bin \;
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
|
@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
|
||||
doCheck = false; # needs more tools
|
||||
|
||||
installFlags = [ "ZIC=./zic-native" ];
|
||||
|
||||
preInstall = ''
|
||||
|
@ -40,4 +40,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
|
||||
|
||||
doCheck = false; # requires X11 daemon
|
||||
|
||||
}
|
||||
|
@ -13,4 +13,6 @@ stdenv.mkDerivation {
|
||||
buildInputs = [ gtk libglade libxml2 libxslt libX11 docbook_xml_dtd_412 ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig intltool gnome-doc-utils which ];
|
||||
|
||||
doCheck = false; # fails, tries to access the net
|
||||
}
|
||||
|
@ -21,4 +21,6 @@ stdenv.mkDerivation rec {
|
||||
propagatedBuildInputs = [ GConf glib ];
|
||||
|
||||
postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i ";
|
||||
|
||||
doCheck = false; # needs dbus daemon
|
||||
}
|
||||
|
@ -24,6 +24,9 @@ in stdenv.mkDerivation rec {
|
||||
meson ninja vala pkgconfig gettext itstool wrapGAppsHook gobjectIntrospection desktop-file-utils
|
||||
];
|
||||
|
||||
# Required for USB redirection PolicyKit rules file
|
||||
propagatedUserEnvPkgs = [ spice-gtk ];
|
||||
|
||||
buildInputs = [
|
||||
libvirt-glib glib gtk3 gtkvnc libxml2
|
||||
libvirt spice-gtk spice-protocol libsoup json-glib webkitgtk libosinfo systemd
|
||||
|
@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ meson ninja vala pkgconfig python3 libxslt libxml2 docbook_xsl ];
|
||||
buildInputs = [ glib dbus-glib ];
|
||||
|
||||
doCheck = false; # fails 2 out of 9 tests, maybe needs dbus daemon?
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome3.updateScript {
|
||||
packageName = pname;
|
||||
|
@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [ intltool glib libxfce4util ];
|
||||
propagatedBuildInputs = [ dbus-glib ];
|
||||
|
||||
doCheck = false; # requires dbus daemon
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://docs.xfce.org/xfce/xfconf/start;
|
||||
description = "Simple client-server configuration storage and query system for Xfce";
|
||||
@ -26,4 +28,3 @@ stdenv.mkDerivation rec {
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -170,7 +170,7 @@ let version = "4.8.5";
|
||||
"--disable-decimal-float" # No final libdecnumber (it may work only in 386)
|
||||
]));
|
||||
stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
|
||||
crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
|
||||
crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
|
||||
|
||||
bootstrap = targetPlatform == hostPlatform;
|
||||
|
||||
@ -180,7 +180,7 @@ in
|
||||
assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
|
||||
name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
|
||||
|
||||
builder = ../builder.sh;
|
||||
|
||||
@ -375,6 +375,8 @@ stdenv.mkDerivation ({
|
||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap")
|
||||
else "";
|
||||
|
||||
doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
|
||||
|
||||
installTargets =
|
||||
if stripped
|
||||
then "install-strip"
|
||||
|
@ -164,7 +164,7 @@ let version = "4.9.4";
|
||||
"--disable-decimal-float" # No final libdecnumber (it may work only in 386)
|
||||
]));
|
||||
stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
|
||||
crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
|
||||
crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
|
||||
|
||||
bootstrap = targetPlatform == hostPlatform;
|
||||
|
||||
@ -174,7 +174,7 @@ in
|
||||
assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
|
||||
name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
|
||||
|
||||
builder = ../builder.sh;
|
||||
|
||||
@ -383,6 +383,8 @@ stdenv.mkDerivation ({
|
||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap")
|
||||
else "";
|
||||
|
||||
doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
|
||||
|
||||
installTargets =
|
||||
if stripped
|
||||
then "install-strip"
|
||||
|
@ -168,7 +168,7 @@ let version = "5.5.0";
|
||||
"--disable-decimal-float" # No final libdecnumber (it may work only in 386)
|
||||
]));
|
||||
stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
|
||||
crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
|
||||
crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
|
||||
|
||||
bootstrap = targetPlatform == hostPlatform;
|
||||
|
||||
@ -178,7 +178,7 @@ in
|
||||
assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
|
||||
name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
|
||||
|
||||
builder = ../builder.sh;
|
||||
|
||||
@ -400,6 +400,8 @@ stdenv.mkDerivation ({
|
||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap")
|
||||
else "";
|
||||
|
||||
doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
|
||||
|
||||
installTargets =
|
||||
if stripped
|
||||
then "install-strip"
|
||||
|
@ -167,7 +167,7 @@ let version = "6.4.0";
|
||||
"--disable-decimal-float" # No final libdecnumber (it may work only in 386)
|
||||
]));
|
||||
stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
|
||||
crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
|
||||
crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
|
||||
|
||||
bootstrap = targetPlatform == hostPlatform;
|
||||
|
||||
@ -177,7 +177,7 @@ in
|
||||
assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
|
||||
name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
|
||||
|
||||
builder = ../builder.sh;
|
||||
|
||||
@ -403,6 +403,8 @@ stdenv.mkDerivation ({
|
||||
buildFlags =
|
||||
optional bootstrap (if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||
|
||||
doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
|
||||
|
||||
installTargets =
|
||||
if stripped
|
||||
then "install-strip"
|
||||
|
@ -172,7 +172,7 @@ let version = "7.3.0";
|
||||
"--disable-decimal-float" # No final libdecnumber (it may work only in 386)
|
||||
]));
|
||||
stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
|
||||
crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
|
||||
crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
|
||||
|
||||
bootstrap = targetPlatform == hostPlatform;
|
||||
|
||||
@ -182,7 +182,7 @@ in
|
||||
assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
|
||||
name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
|
||||
|
||||
builder = ../builder.sh;
|
||||
|
||||
@ -409,6 +409,8 @@ stdenv.mkDerivation ({
|
||||
buildFlags =
|
||||
optional bootstrap (if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||
|
||||
doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
|
||||
|
||||
installTargets =
|
||||
if stripped
|
||||
then "install-strip"
|
||||
|
@ -170,6 +170,7 @@ stdenv.mkDerivation rec {
|
||||
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
|
||||
|
||||
checkTarget = "test";
|
||||
doCheck = false; # fails with "testsuite/tests: No such file or directory. Stop."
|
||||
|
||||
# zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't
|
||||
# treat that as a unary `{x,y,z,..}` repetition.
|
||||
|
@ -29,7 +29,10 @@ stdenv.mkDerivation {
|
||||
# Clang expects to find LLVMgold in its own prefix
|
||||
# Clang expects to find sanitizer libraries in its own prefix
|
||||
postInstall = ''
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
if [ -e ${llvm}/lib/LLVMgold.so ]; then
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
fi
|
||||
|
||||
ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
|
||||
'';
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }:
|
||||
{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src }:
|
||||
let
|
||||
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
|
||||
in stdenv.mkDerivation {
|
||||
@ -12,7 +12,7 @@ in stdenv.mkDerivation {
|
||||
mv clang-tools-extra-* $sourceRoot/tools/extra
|
||||
'';
|
||||
|
||||
buildInputs = [ cmake libedit libxml2 llvm ];
|
||||
buildInputs = [ cmake libxml2 llvm ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_CXX_FLAGS=-std=c++11"
|
||||
@ -31,7 +31,10 @@ in stdenv.mkDerivation {
|
||||
# Clang expects to find LLVMgold in its own prefix
|
||||
# Clang expects to find sanitizer libraries in its own prefix
|
||||
postInstall = ''
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
if [ -e ${llvm}/lib/LLVMgold.so ]; then
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
fi
|
||||
|
||||
ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
|
||||
ln -sv $out/bin/clang $out/bin/cpp
|
||||
'';
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }:
|
||||
{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src }:
|
||||
|
||||
let
|
||||
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
|
||||
@ -13,7 +13,7 @@ let
|
||||
mv clang-tools-extra-* $sourceRoot/tools/extra
|
||||
'';
|
||||
|
||||
buildInputs = [ cmake libedit libxml2 llvm ];
|
||||
buildInputs = [ cmake libxml2 llvm ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_CXX_FLAGS=-std=c++11"
|
||||
@ -32,7 +32,10 @@ let
|
||||
# Clang expects to find LLVMgold in its own prefix
|
||||
# Clang expects to find sanitizer libraries in its own prefix
|
||||
postInstall = ''
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
if [ -e ${llvm}/lib/LLVMgold.so ]; then
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
fi
|
||||
|
||||
ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
|
||||
ln -sv $out/bin/clang $out/bin/cpp
|
||||
'';
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src, python }:
|
||||
{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python }:
|
||||
|
||||
let
|
||||
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
|
||||
@ -13,7 +13,7 @@ let
|
||||
mv clang-tools-extra-* $sourceRoot/tools/extra
|
||||
'';
|
||||
|
||||
buildInputs = [ cmake libedit libxml2 llvm python ];
|
||||
buildInputs = [ cmake libxml2 llvm python ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_CXX_FLAGS=-std=c++11"
|
||||
@ -34,7 +34,10 @@ let
|
||||
# Clang expects to find LLVMgold in its own prefix
|
||||
# Clang expects to find sanitizer libraries in its own prefix
|
||||
postInstall = ''
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
if [ -e ${llvm}/lib/LLVMgold.so ]; then
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
fi
|
||||
|
||||
ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
|
||||
ln -sv $out/bin/clang $out/bin/cpp
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src, python }:
|
||||
{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python }:
|
||||
|
||||
let
|
||||
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
|
||||
@ -15,7 +15,7 @@ let
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ libedit libxml2 llvm python ];
|
||||
buildInputs = [ libxml2 llvm python ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_CXX_FLAGS=-std=c++11"
|
||||
@ -36,7 +36,10 @@ let
|
||||
# Clang expects to find LLVMgold in its own prefix
|
||||
# Clang expects to find sanitizer libraries in its own prefix
|
||||
postInstall = ''
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
if [ -e ${llvm}/lib/LLVMgold.so ]; then
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
fi
|
||||
|
||||
ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
|
||||
ln -sv $out/bin/clang $out/bin/cpp
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, release_version, clang-tools-extra_src, python
|
||||
{ stdenv, fetch, cmake, libxml2, llvm, version, release_version, clang-tools-extra_src, python
|
||||
, fixDarwinDylibNames
|
||||
, enableManpages ? false
|
||||
}:
|
||||
@ -19,7 +19,7 @@ let
|
||||
nativeBuildInputs = [ cmake python ]
|
||||
++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
|
||||
|
||||
buildInputs = [ libedit libxml2 llvm ]
|
||||
buildInputs = [ libxml2 llvm ]
|
||||
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
||||
|
||||
cmakeFlags = [
|
||||
@ -52,7 +52,10 @@ let
|
||||
# Clang expects to find LLVMgold in its own prefix
|
||||
# Clang expects to find sanitizer libraries in its own prefix
|
||||
postInstall = ''
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
if [ -e ${llvm}/lib/LLVMgold.so ]; then
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
fi
|
||||
|
||||
ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/
|
||||
ln -sv $out/bin/clang $out/bin/cpp
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, release_version, clang-tools-extra_src, python
|
||||
{ stdenv, fetch, cmake, libxml2, llvm, version, release_version, clang-tools-extra_src, python
|
||||
, fixDarwinDylibNames
|
||||
, enableManpages ? false
|
||||
}:
|
||||
@ -19,7 +19,7 @@ let
|
||||
nativeBuildInputs = [ cmake python ]
|
||||
++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
|
||||
|
||||
buildInputs = [ libedit libxml2 llvm ]
|
||||
buildInputs = [ libxml2 llvm ]
|
||||
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
||||
|
||||
cmakeFlags = [
|
||||
@ -50,10 +50,12 @@ let
|
||||
|
||||
outputs = [ "out" "lib" "python" ];
|
||||
|
||||
# Clang expects to find LLVMgold in its own prefix
|
||||
# Clang expects to find sanitizer libraries in its own prefix
|
||||
postInstall = ''
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
# Clang expects to find LLVMgold in its own prefix
|
||||
if [ -e ${llvm}/lib/LLVMgold.so ]; then
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
fi
|
||||
# Clang expects to find sanitizer libraries in its own prefix
|
||||
ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/
|
||||
ln -sv $out/bin/clang $out/bin/cpp
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, release_version, clang-tools-extra_src, python
|
||||
{ stdenv, fetch, cmake, libxml2, llvm, version, release_version, clang-tools-extra_src, python
|
||||
, fixDarwinDylibNames
|
||||
, enableManpages ? false
|
||||
}:
|
||||
@ -19,7 +19,7 @@ let
|
||||
nativeBuildInputs = [ cmake python ]
|
||||
++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
|
||||
|
||||
buildInputs = [ libedit libxml2 llvm ]
|
||||
buildInputs = [ libxml2 llvm ]
|
||||
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
||||
|
||||
cmakeFlags = [
|
||||
@ -53,7 +53,10 @@ let
|
||||
# Clang expects to find LLVMgold in its own prefix
|
||||
# Clang expects to find sanitizer libraries in its own prefix
|
||||
postInstall = ''
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
if [ -e ${llvm}/lib/LLVMgold.so ]; then
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
fi
|
||||
|
||||
ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/
|
||||
ln -sv $out/bin/clang $out/bin/cpp
|
||||
|
||||
|
@ -133,6 +133,8 @@ let
|
||||
|
||||
buildFlags = [ "all" ];
|
||||
|
||||
doCheck = false; # fails with "No rule to make target 'y'."
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk
|
||||
|
||||
|
@ -20,7 +20,7 @@ in
|
||||
, buildTools ? [], libraryToolDepends ? [], executableToolDepends ? [], testToolDepends ? [], benchmarkToolDepends ? []
|
||||
, configureFlags ? []
|
||||
, description ? ""
|
||||
, doCheck ? !isCross && (stdenv.lib.versionOlder "7.4" ghc.version)
|
||||
, doCheck ? !isCross && stdenv.lib.versionOlder "7.4" ghc.version
|
||||
, doBenchmark ? false
|
||||
, doHoogle ? true
|
||||
, editedCabalFile ? null
|
||||
@ -172,7 +172,7 @@ let
|
||||
buildTools ++ libraryToolDepends ++ executableToolDepends;
|
||||
propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends;
|
||||
otherBuildInputs = setupHaskellDepends ++ extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++
|
||||
optionals (allPkgconfigDepends != []) allPkgconfigDepends ++
|
||||
allPkgconfigDepends ++
|
||||
optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testToolDepends) ++
|
||||
optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkToolDepends);
|
||||
allBuildInputs = propagatedBuildInputs ++ otherBuildInputs;
|
||||
@ -314,6 +314,8 @@ stdenv.mkDerivation ({
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
inherit doCheck;
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
${setupCommand} test ${testTarget}
|
||||
@ -428,7 +430,6 @@ stdenv.mkDerivation ({
|
||||
// optionalAttrs (postConfigure != "") { inherit postConfigure; }
|
||||
// optionalAttrs (preBuild != "") { inherit preBuild; }
|
||||
// optionalAttrs (postBuild != "") { inherit postBuild; }
|
||||
// optionalAttrs (doCheck) { inherit doCheck; }
|
||||
// optionalAttrs (doBenchmark) { inherit doBenchmark; }
|
||||
// optionalAttrs (checkPhase != "") { inherit checkPhase; }
|
||||
// optionalAttrs (preCheck != "") { inherit preCheck; }
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, unzip, version }:
|
||||
{ stdenv, fetchurl, unzip, version ? "1.24.3" }:
|
||||
|
||||
let
|
||||
|
||||
@ -57,9 +57,9 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc ];
|
||||
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
|
||||
meta = {
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
homepage = https://www.dartlang.org/;
|
||||
|
@ -66,6 +66,7 @@ stdenv.mkDerivation rec {
|
||||
# This is fixed here:
|
||||
# <http://git.savannah.gnu.org/cgit/guile.git/commit/?h=branch_release-1-8&id=a0aa1e5b69d6ef0311aeea8e4b9a94eae18a1aaf>.
|
||||
doCheck = false;
|
||||
doInstallCheck = doCheck;
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
|
@ -89,6 +89,7 @@
|
||||
# make check doesn't work on darwin
|
||||
# On Linuxes+Hydra the tests are flaky; feel free to investigate deeper.
|
||||
doCheck = false;
|
||||
doInstallCheck = doCheck;
|
||||
|
||||
setupHook = ./setup-hook-2.0.sh;
|
||||
|
||||
|
@ -85,6 +85,7 @@
|
||||
# make check doesn't work on darwin
|
||||
# On Linuxes+Hydra the tests are flaky; feel free to investigate deeper.
|
||||
doCheck = false;
|
||||
doInstallCheck = doCheck;
|
||||
|
||||
setupHook = ./setup-hook-2.2.sh;
|
||||
|
||||
|
@ -105,6 +105,8 @@ let
|
||||
|
||||
passthru.libPrefix = "lib/perl5/site_perl";
|
||||
|
||||
doCheck = false; # some tests fail, expensive
|
||||
|
||||
# TODO: it seems like absolute paths to some coreutils is required.
|
||||
postInstall =
|
||||
''
|
||||
|
@ -2,6 +2,7 @@
|
||||
# and can build packages that use distutils, setuptools or flit.
|
||||
|
||||
{ lib
|
||||
, config
|
||||
, python
|
||||
, wrapPython
|
||||
, setuptools
|
||||
@ -19,7 +20,7 @@ let
|
||||
wheel-specific = import ./build-python-package-wheel.nix { };
|
||||
common = import ./build-python-package-common.nix { inherit python bootstrapped-pip; };
|
||||
mkPythonDerivation = import ./mk-python-derivation.nix {
|
||||
inherit lib python wrapPython setuptools unzip ensureNewerSourcesForZipFilesHook toPythonModule namePrefix;
|
||||
inherit lib config python wrapPython setuptools unzip ensureNewerSourcesForZipFilesHook toPythonModule namePrefix;
|
||||
};
|
||||
in
|
||||
|
||||
|
@ -140,7 +140,10 @@ let
|
||||
"ac_cv_computed_gotos=yes"
|
||||
"ac_cv_file__dev_ptmx=yes"
|
||||
"ac_cv_file__dev_ptc=yes"
|
||||
];
|
||||
]
|
||||
# Never even try to use lchmod on linux,
|
||||
# don't rely on detecting glibc-isms.
|
||||
++ optional hostPlatform.isLinux "ac_cv_func_lchmod=no";
|
||||
|
||||
postConfigure = if hostPlatform.isCygwin then ''
|
||||
sed -i Makefile -e 's,PYTHONPATH="$(srcdir),PYTHONPATH="$(abs_srcdir),'
|
||||
@ -241,6 +244,8 @@ in stdenv.mkDerivation {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = false; # expensive, and fails
|
||||
|
||||
meta = {
|
||||
homepage = http://python.org;
|
||||
description = "A high-level dynamically-typed programming language";
|
||||
|
@ -96,7 +96,10 @@ in stdenv.mkDerivation {
|
||||
"--without-ensurepip"
|
||||
"--with-system-expat"
|
||||
"--with-system-ffi"
|
||||
];
|
||||
]
|
||||
# Never even try to use lchmod on linux,
|
||||
# don't rely on detecting glibc-isms.
|
||||
++ optional stdenv.hostPlatform.isLinux "ac_cv_func_lchmod=no";
|
||||
|
||||
preConfigure = ''
|
||||
for i in /usr /sw /opt /pkg; do # improve purity
|
||||
@ -176,6 +179,8 @@ in stdenv.mkDerivation {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = false; # expensive, and fails
|
||||
|
||||
meta = {
|
||||
homepage = http://python.org;
|
||||
description = "A high-level dynamically-typed programming language";
|
||||
|
@ -67,6 +67,12 @@ in stdenv.mkDerivation {
|
||||
patches = [
|
||||
./no-ldconfig.patch
|
||||
./ld_library_path.patch
|
||||
] ++ optionals stdenv.isDarwin [
|
||||
# Fix for https://bugs.python.org/issue24658
|
||||
(fetchpatch {
|
||||
url = "https://bugs.python.org/file45178/issue24658-3-3.6.diff";
|
||||
sha256 = "1x060hs80nl34mcl2ji2i7l4shxkmxwgq8h8lcmav8rjqqz1nb4a";
|
||||
})
|
||||
] ++ optionals (x11Support && stdenv.isDarwin) [
|
||||
./use-correct-tcl-tk-on-darwin.patch
|
||||
];
|
||||
@ -90,7 +96,10 @@ in stdenv.mkDerivation {
|
||||
"--without-ensurepip"
|
||||
"--with-system-expat"
|
||||
"--with-system-ffi"
|
||||
];
|
||||
]
|
||||
# Never even try to use lchmod on linux,
|
||||
# don't rely on detecting glibc-isms.
|
||||
++ optional stdenv.hostPlatform.isLinux "ac_cv_func_lchmod=no";
|
||||
|
||||
preConfigure = ''
|
||||
for i in /usr /sw /opt /pkg; do # improve purity
|
||||
@ -169,6 +178,8 @@ in stdenv.mkDerivation {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = false; # expensive, and fails
|
||||
|
||||
meta = {
|
||||
homepage = http://python.org;
|
||||
description = "A high-level dynamically-typed programming language";
|
||||
|
@ -69,6 +69,12 @@ in stdenv.mkDerivation {
|
||||
|
||||
patches = [
|
||||
./no-ldconfig.patch
|
||||
] ++ optionals stdenv.isDarwin [
|
||||
# Fix for https://bugs.python.org/issue24658
|
||||
(fetchpatch {
|
||||
url = "https://bugs.python.org/file45178/issue24658-3-3.6.diff";
|
||||
sha256 = "1x060hs80nl34mcl2ji2i7l4shxkmxwgq8h8lcmav8rjqqz1nb4a";
|
||||
})
|
||||
] ++ optionals (x11Support && stdenv.isDarwin) [
|
||||
./use-correct-tcl-tk-on-darwin.patch
|
||||
];
|
||||
@ -113,7 +119,10 @@ in stdenv.mkDerivation {
|
||||
"ac_cv_computed_gotos=yes"
|
||||
"ac_cv_file__dev_ptmx=yes"
|
||||
"ac_cv_file__dev_ptc=yes"
|
||||
];
|
||||
]
|
||||
# Never even try to use lchmod on linux,
|
||||
# don't rely on detecting glibc-isms.
|
||||
++ optional stdenv.hostPlatform.isLinux "ac_cv_func_lchmod=no";
|
||||
|
||||
preConfigure = ''
|
||||
for i in /usr /sw /opt /pkg; do # improve purity
|
||||
@ -193,6 +202,8 @@ in stdenv.mkDerivation {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = false; # expensive, and fails
|
||||
|
||||
meta = {
|
||||
homepage = http://python.org;
|
||||
description = "A high-level dynamically-typed programming language";
|
||||
|
@ -1,6 +1,7 @@
|
||||
# Generic builder.
|
||||
|
||||
{ lib
|
||||
, config
|
||||
, python
|
||||
, wrapPython
|
||||
, setuptools
|
||||
@ -53,7 +54,7 @@
|
||||
|
||||
, passthru ? {}
|
||||
|
||||
, doCheck ? false
|
||||
, doCheck ? config.doCheckByDefault or false
|
||||
|
||||
, ... } @ attrs:
|
||||
|
||||
@ -74,7 +75,6 @@ toPythonModule (python.stdenv.mkDerivation (builtins.removeAttrs attrs [
|
||||
|
||||
buildInputs = [ wrapPython ]
|
||||
++ lib.optional (lib.hasSuffix "zip" (attrs.src.name or "")) unzip
|
||||
++ lib.optionals doCheck checkInputs
|
||||
++ lib.optional catchConflicts setuptools # If we no longer propagate setuptools
|
||||
++ buildInputs
|
||||
++ pythonPath;
|
||||
@ -85,6 +85,7 @@ toPythonModule (python.stdenv.mkDerivation (builtins.removeAttrs attrs [
|
||||
# Python packages don't have a checkPhase, only an installCheckPhase
|
||||
doCheck = false;
|
||||
doInstallCheck = doCheck;
|
||||
installCheckInputs = checkInputs;
|
||||
|
||||
postFixup = lib.optionalString (!dontWrapPythonPrograms) ''
|
||||
wrapPythonPrograms
|
||||
|
@ -94,7 +94,7 @@ let
|
||||
# support is disabled (if it's enabled, we already have it) and we're
|
||||
# running on darwin
|
||||
++ (op (!cursesSupport && stdenv.isDarwin) readline)
|
||||
++ (op (isRuby25 && stdenv.isDarwin) Foundation)
|
||||
++ (op stdenv.isDarwin Foundation)
|
||||
++ (ops stdenv.isDarwin (with darwin; [ libiconv libobjc libunwind ]));
|
||||
|
||||
enableParallelBuilding = true;
|
||||
@ -136,6 +136,8 @@ let
|
||||
++ op (stdenv.hostPlatform != stdenv.buildPlatform)
|
||||
"--with-baseruby=${buildRuby}";
|
||||
|
||||
doCheck = false; # expensive, fails
|
||||
|
||||
preInstall = ''
|
||||
# Ruby installs gems here itself now.
|
||||
mkdir -pv "$out/${passthru.gemPath}"
|
||||
@ -200,26 +202,26 @@ let
|
||||
|
||||
in {
|
||||
ruby_2_3 = generic {
|
||||
version = rubyVersion "2" "3" "6" "";
|
||||
version = rubyVersion "2" "3" "7" "";
|
||||
sha256 = {
|
||||
src = "07jpa7fw1gyf069m7alf2b0zm53qm08w2ns45mhzmvgrg4r528l3";
|
||||
git = "1bk59i0ygdc5z3zz3k6indfrxd2ix55np6rwvkcdpdw8svm749ds";
|
||||
src = "0zvx5kdp1frjs9n95n7ba7dy0alax33wi3nj8034m3ppvnf39k9m";
|
||||
git = "11wbzw2ywwfnvlkg3qjg0as2pzk5zyk63y2iis42d91lg1l2flrk";
|
||||
};
|
||||
};
|
||||
|
||||
ruby_2_4 = generic {
|
||||
version = rubyVersion "2" "4" "3" "";
|
||||
version = rubyVersion "2" "4" "4" "";
|
||||
sha256 = {
|
||||
src = "161smb52q19r9lrzy22b3bhnkd0z8wjffm0qsfkml14j5ic7a0zx";
|
||||
git = "0x2lqbqm2rq9j5zh1p72dma56nqvdkfbgzb9wybm4y4hwhiw8c1m";
|
||||
src = "0nmfr2lijik6cykk0zbj11zcapcrvmdvq83k3r6q3k74g4d1qkr5";
|
||||
git = "103cs7hz1v0h84lbrippl87s4lawi20m406rs5dgxl2gr2wyjpy5";
|
||||
};
|
||||
};
|
||||
|
||||
ruby_2_5 = generic {
|
||||
version = rubyVersion "2" "5" "0" "";
|
||||
version = rubyVersion "2" "5" "1" "";
|
||||
sha256 = {
|
||||
src = "1azj0d2lzziw6iml7bx3sxpxzcdmfwfq3yhm7djyp20q1xiz7rj6";
|
||||
git = "0d436nqmp3ykdkp4sck5bb8sf3qvx30x1p58xh8axv66mvsyc2jd";
|
||||
src = "1c99k0fjaq7k09104h1b1cqx6mrk2b14ic1jjnxc6yav68i1ij6s";
|
||||
git = "1j0fd16aq9x98n0kq9c3kfp2sh6xcsq8q4733p0wfqjh3vz50kyj";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -6,17 +6,17 @@ rec {
|
||||
"${patchSet}/patches/ruby/2.2/head/railsexpress/02-improve-gc-stats.patch"
|
||||
"${patchSet}/patches/ruby/2.2/head/railsexpress/03-display-more-detailed-stack-trace.patch"
|
||||
];
|
||||
"2.3.6" = ops useRailsExpress [
|
||||
"2.3.7" = ops useRailsExpress [
|
||||
"${patchSet}/patches/ruby/2.3/head/railsexpress/01-skip-broken-tests.patch"
|
||||
"${patchSet}/patches/ruby/2.3/head/railsexpress/02-improve-gc-stats.patch"
|
||||
"${patchSet}/patches/ruby/2.3/head/railsexpress/03-display-more-detailed-stack-trace.patch"
|
||||
];
|
||||
"2.4.3" = ops useRailsExpress [
|
||||
"2.4.4" = ops useRailsExpress [
|
||||
"${patchSet}/patches/ruby/2.4/head/railsexpress/01-skip-broken-tests.patch"
|
||||
"${patchSet}/patches/ruby/2.4/head/railsexpress/02-improve-gc-stats.patch"
|
||||
"${patchSet}/patches/ruby/2.4/head/railsexpress/03-display-more-detailed-stack-trace.patch"
|
||||
];
|
||||
"2.5.0" = ops useRailsExpress [
|
||||
"2.5.1" = ops useRailsExpress [
|
||||
"${patchSet}/patches/ruby/2.5/head/railsexpress/01-fix-broken-tests-caused-by-ad.patch"
|
||||
"${patchSet}/patches/ruby/2.5/head/railsexpress/02-improve-gc-stats.patch"
|
||||
"${patchSet}/patches/ruby/2.5/head/railsexpress/03-more-detailed-stacktrace.patch"
|
||||
|
@ -39,6 +39,8 @@ stdenv.mkDerivation rec {
|
||||
"-Ddep11=false"
|
||||
];
|
||||
|
||||
doCheck = false; # fails at least 1 test
|
||||
|
||||
postInstall = ''
|
||||
moveToOutput "share/installed-tests" "$installedTests"
|
||||
'';
|
||||
|
@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [ python popt atk libX11 libICE xorg.libXtst libXi
|
||||
dbus-glib at-spi2-core libSM ];
|
||||
|
||||
doCheck = false; # needs dbus daemon
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
|
||||
# ToDo: on non-NixOS we create a symlink from there?
|
||||
configureFlags = "--with-dbus-daemondir=/run/current-system/sw/bin/";
|
||||
|
||||
doCheck = false; # needs dbus daemon
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
@ -4,14 +4,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "boehm-gc-${version}";
|
||||
version = "7.6.4";
|
||||
version = "7.6.6";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"http://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
|
||||
"https://github.com/ivmai/bdwgc/releases/download/v${version}/gc-${version}.tar.gz"
|
||||
];
|
||||
sha256 = "076dzsqqyxd3nlzs0z277vvhqjp8nv5dqi763s0m90zr6ljiyk5r";
|
||||
sha256 = "1p1r015a7jbpvkkbgzv1y8nxrbbp6dg0mq3ksi6ji0qdz3wfss79";
|
||||
};
|
||||
|
||||
buildInputs = [ libatomic_ops ];
|
||||
|
@ -55,11 +55,11 @@ let
|
||||
"--layout=${layout}"
|
||||
"variant=${variant}"
|
||||
"threading=${threading}"
|
||||
"runtime-link=${runtime-link}"
|
||||
"link=${link}"
|
||||
"-sEXPAT_INCLUDE=${expat.dev}/include"
|
||||
"-sEXPAT_LIBPATH=${expat.out}/lib"
|
||||
] ++ optional (variant == "release") "debug-symbols=off"
|
||||
] ++ optional (link != "static") "runtime-link=${runtime-link}"
|
||||
++ optional (variant == "release") "debug-symbols=off"
|
||||
++ optional (toolset != null) "toolset=${toolset}"
|
||||
++ optional (mpi != null || hostPlatform != buildPlatform) "--user-config=user-config.jam"
|
||||
++ optionals (hostPlatform.libc == "msvcrt") [
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
let self =
|
||||
stdenv.mkDerivation rec {
|
||||
name = "c-ares-1.13.0";
|
||||
name = "c-ares-1.14.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://c-ares.haxx.se/download/${name}.tar.gz";
|
||||
sha256 = "19qxhv9aiw903fr808y77r6l9js0fq9m3gcaqckan9jan7qhixq3";
|
||||
sha256 = "0vnwmbvymw677k780kpb6sb8i3szdp89rzy8mz1fwg1657yw3ls5";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -9,25 +9,17 @@
|
||||
|
||||
assert glSupport -> libGL != null;
|
||||
|
||||
let inherit (stdenv.lib) optional optionals; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cairo-1.14.10";
|
||||
let
|
||||
version = "1.15.10";
|
||||
inherit (stdenv.lib) optional optionals;
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "cairo-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://cairographics.org/releases/${name}.tar.xz";
|
||||
sha256 = "02banr0wxckq62nbhc3mqidfdh2q956i2r7w2hd9bjgjb238g1vy";
|
||||
url = "http://cairographics.org/${if stdenv.lib.mod (builtins.fromJSON (stdenv.lib.versions.minor version)) 2 == 0 then "releases" else "snapshots"}/${name}.tar.xz";
|
||||
sha256 = "14l3jll98pjdlpm8f972v0spzcsf6y5nz85y2k8iybyg6ihj5jk2";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# from https://bugs.freedesktop.org/show_bug.cgi?id=98165
|
||||
(fetchpatch {
|
||||
name = "cairo-CVE-2016-9082.patch";
|
||||
url = "https://bugs.freedesktop.org/attachment.cgi?id=127421";
|
||||
sha256 = "03sfyaclzlglip4pvfjb4zj4dmm8mlphhxl30mb6giinkc74bfri";
|
||||
})
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
outputBin = "dev"; # very small
|
||||
|
||||
@ -80,6 +72,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = false; # fails
|
||||
|
||||
postInstall = stdenv.lib.optionalString stdenv.isDarwin glib.flattenInclude;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = []
|
||||
++ stdenv.lib.optional liboggSupport libogg;
|
||||
|
||||
doCheck = false; # fails
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Ultra-low delay audio codec";
|
||||
homepage = http://www.celt-codec.org/;
|
||||
|
@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
|
||||
sed -ie 's/<stdlib.h>/<stdlib.h>\n#include <unistd.h>/' src/CTPP2FileSourceLoader.cpp
|
||||
'';
|
||||
|
||||
doCheck = false; # fails
|
||||
|
||||
meta = {
|
||||
description = "A high performance templating engine";
|
||||
homepage = http://ctpp.havoc.ru;
|
||||
|
@ -20,6 +20,8 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
patches = extraPatches;
|
||||
|
||||
outputs = [ "out" "lib" ];
|
||||
|
||||
configureFlags =
|
||||
[
|
||||
(if cxxSupport then "--enable-cxx" else "--disable-cxx")
|
||||
|
@ -5,19 +5,21 @@ let
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "eigen-${version}";
|
||||
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
|
||||
name = "eigen-${version}.tar.gz";
|
||||
sha256 = "00l52y7m276gh8wjkqqcxz6x687azrm7a70s3iraxnpy9bxa9y04";
|
||||
};
|
||||
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
doCheck = false; # a couple of tests fail with "Child aborted"
|
||||
|
||||
postInstall = ''
|
||||
sed -e '/Cflags:/s@''${prefix}/@@' -i "$out"/share/pkgconfig/eigen3.pc
|
||||
'';
|
||||
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
|
||||
license = licenses.lgpl3Plus;
|
||||
|
@ -17,6 +17,8 @@ in stdenv.mkDerivation rec {
|
||||
buildInputs = [ glib hunspell ];
|
||||
propagatedBuildInputs = [ hspell aspell ]; # libtool puts it to la file
|
||||
|
||||
doCheck = false; # fails to compile with with "UnitTest++.h: No such file or directory"
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Generic spell checking library";
|
||||
homepage = https://abiword.github.io/enchant/;
|
||||
|
@ -6,13 +6,13 @@ with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "epoxy-${version}";
|
||||
version = "1.5.0";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anholt";
|
||||
repo = "libepoxy";
|
||||
rev = "${version}";
|
||||
sha256 = "1ixpqb10pmdy3n9nxd5inflig9dal5502ggadcns5b58j6jr0yv0";
|
||||
sha256 = "1811agxr7g9wd832np8sw152j468kg3qydmfkc564v54ncfcgaci";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
NIX_CFLAGS_COMPILE = ''-DLIBGL_PATH="${getLib libGL}/lib"'';
|
||||
|
||||
doCheck = false; # needs X11
|
||||
|
||||
meta = {
|
||||
description = "A library for handling OpenGL function pointer management";
|
||||
homepage = https://github.com/anholt/libepoxy;
|
||||
|
@ -160,9 +160,10 @@ stdenv.mkDerivation rec {
|
||||
++ optional vdpauSupport libvdpau
|
||||
++ optional sdlSupport (if reqMin "3.2" then SDL2 else SDL);
|
||||
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = false; # fails
|
||||
|
||||
postFixup = ''
|
||||
moveToOutput bin "$bin"
|
||||
moveToOutput share/ffmpeg/examples "$doc"
|
||||
|
@ -1,40 +1,74 @@
|
||||
{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11, gnome3
|
||||
, jasper, gobjectIntrospection, doCheck ? false }:
|
||||
{ stdenv, fetchurl, fetchgit, fetchpatch, meson, ninja, pkgconfig, gettext, python3, libxml2, libxslt, docbook_xsl
|
||||
, docbook_xml_dtd_43, gtk-doc, glib, libtiff, libjpeg, libpng, libX11, gnome3
|
||||
, jasper, gobjectIntrospection, doCheck ? false, makeWrapper }:
|
||||
|
||||
let
|
||||
pname = "gdk-pixbuf";
|
||||
version = "2.36.7";
|
||||
# TODO: since 2.36.8 gdk-pixbuf gets configured to use mime-type sniffing,
|
||||
# which apparently requires access to shared-mime-info files during runtime.
|
||||
version = "2.36.12";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
|
||||
sha256 = "1b6e5eef09d98f05f383014ecd3503e25dfb03d7e5b5f5904e5a65b049a6a4d8";
|
||||
# TODO: Change back once tests/bug753605-atsize.jpg is part of the dist tarball
|
||||
# src = fetchurl {
|
||||
# url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
|
||||
# sha256 = "0d534ysa6n9prd17wwzisq7mj6qkhwh8wcf8qgin1ar3hbs5ry7z";
|
||||
# };
|
||||
src = fetchgit {
|
||||
url = https://git.gnome.org/browse/gdk-pixbuf;
|
||||
rev = version;
|
||||
sha256 = "18lwqg63vyap2m1mw049rnb8fm869429xbf7636a2n21gs3d3jwv";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
patches = [
|
||||
# TODO: since 2.36.8 gdk-pixbuf gets configured to use mime-type sniffing,
|
||||
# which requires access to shared-mime-info files during runtime.
|
||||
# For now, we are patching the build script to avoid the dependency.
|
||||
./no-mime-sniffing.patch
|
||||
|
||||
# Fix installed tests with meson
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=795527
|
||||
(fetchurl {
|
||||
url = https://bugzilla.gnome.org/attachment.cgi?id=371381;
|
||||
sha256 = "0nl1cixkjfa5kcfh0laz8h6hdsrpdkxqn7a1k35jrb6zwc9hbydn";
|
||||
})
|
||||
|
||||
# Add missing test file bug753605-atsize.jpg
|
||||
(fetchpatch {
|
||||
url = https://git.gnome.org/browse/gdk-pixbuf/patch/?id=87f8f4bf01dfb9982c1ef991e4060a5e19fdb7a7;
|
||||
sha256 = "1slzywwnrzfx3zjzdsxrvp4g2q4skmv50pdfmyccp41j7bfyb2j0";
|
||||
})
|
||||
|
||||
# Move installed tests to a separate output
|
||||
./installed-tests-path.patch
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" "man" "devdoc" "installedTests" ];
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# !!! We might want to factor out the gdk-pixbuf-xlib subpackage.
|
||||
buildInputs = [ libX11 gobjectIntrospection ];
|
||||
buildInputs = [ libX11 ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [
|
||||
meson ninja pkgconfig gettext python3 libxml2 libxslt docbook_xsl docbook_xml_dtd_43
|
||||
gtk-doc gobjectIntrospection makeWrapper
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ glib libtiff libjpeg libpng jasper ];
|
||||
|
||||
configureFlags = "--with-libjasper --with-x11"
|
||||
+ stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes"
|
||||
;
|
||||
mesonFlags = [
|
||||
"-Ddocs=true"
|
||||
"-Djasper=true"
|
||||
"-Dx11=true"
|
||||
"-Dgir=${if gobjectIntrospection != null then "true" else "false"}"
|
||||
];
|
||||
|
||||
# on darwin, tests don't link
|
||||
preBuild = stdenv.lib.optionalString (stdenv.isDarwin && !doCheck) ''
|
||||
substituteInPlace Makefile --replace "docs tests" "docs"
|
||||
postPatch = ''
|
||||
chmod +x build-aux/* # patchShebangs only applies to executables
|
||||
patchShebangs build-aux
|
||||
|
||||
substituteInPlace tests/meson.build --subst-var-by installedtestsprefix "$installedTests"
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
@ -42,10 +76,13 @@ stdenv.mkDerivation rec {
|
||||
''
|
||||
moveToOutput "bin" "$dev"
|
||||
moveToOutput "bin/gdk-pixbuf-thumbnailer" "$out"
|
||||
|
||||
# We need to install 'loaders.cache' in lib/gdk-pixbuf-2.0/2.10.0/
|
||||
$dev/bin/gdk-pixbuf-query-loaders --update-cache
|
||||
'';
|
||||
|
||||
# The tests take an excessive amount of time (> 1.5 hours) and memory (> 6 GB).
|
||||
inherit (doCheck);
|
||||
inherit doCheck;
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome3.updateScript {
|
||||
|
@ -0,0 +1,13 @@
|
||||
--- a/tests/meson.build
|
||||
+++ b/tests/meson.build
|
||||
@@ -85,8 +85,8 @@
|
||||
'aero.gif',
|
||||
]
|
||||
|
||||
-installed_test_bindir = join_paths(gdk_pixbuf_libexecdir, 'installed-tests', meson.project_name())
|
||||
-installed_test_datadir = join_paths(gdk_pixbuf_datadir, 'installed-tests', meson.project_name())
|
||||
+installed_test_bindir = join_paths('@installedtestsprefix@', 'libexec', 'installed-tests', meson.project_name())
|
||||
+installed_test_datadir = join_paths('@installedtestsprefix@', 'share', 'installed-tests', meson.project_name())
|
||||
|
||||
install_data(test_data, install_dir: installed_test_bindir)
|
||||
install_subdir('test-images', install_dir: installed_test_bindir)
|
18
pkgs/development/libraries/gdk-pixbuf/no-mime-sniffing.patch
Normal file
18
pkgs/development/libraries/gdk-pixbuf/no-mime-sniffing.patch
Normal file
@ -0,0 +1,18 @@
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -186,13 +186,8 @@
|
||||
gmodule_dep = dependency('gmodule-no-export-2.0')
|
||||
gio_dep = dependency('gio-2.0')
|
||||
|
||||
-# On non-Windows/macOS systems we always required shared-mime-info and GIO
|
||||
-if host_system != 'windows' and host_system != 'darwin'
|
||||
- shared_mime_dep = dependency('shared-mime-info')
|
||||
- gdk_pixbuf_conf.set('GDK_PIXBUF_USE_GIO_MIME', 1)
|
||||
-else
|
||||
- shared_mime_dep = []
|
||||
-endif
|
||||
+# No MIME sniffing for now
|
||||
+shared_mime_dep = []
|
||||
|
||||
gdk_pixbuf_deps = [ mathlib_dep, gobject_dep, gmodule_dep, gio_dep, shared_mime_dep ]
|
||||
|
@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
doCheck = false; # fails 3 out of 19 tests
|
||||
|
||||
meta = {
|
||||
description = "Graph-based image processing framework";
|
||||
homepage = http://www.gegl.org;
|
||||
|
@ -5,11 +5,11 @@
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "geoclue-2.4.7";
|
||||
name = "geoclue-2.4.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.freedesktop.org/software/geoclue/releases/2.4/${name}.tar.xz";
|
||||
sha256 = "19hfmr8fa1js8ynazdyjxlyrqpjn6m1719ay70ilga4rayxrcyyi";
|
||||
sha256 = "08yg1r7m0n9hwyvcy769qkmkf8lslqwv69cjfffwnc3zm5km25qj";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = false; # hangs. or very expensive?
|
||||
|
||||
meta = {
|
||||
description = "The Git linkable library";
|
||||
homepage = https://libgit2.github.com/;
|
||||
|
@ -26,6 +26,8 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = false; # hangs. or very expensive?
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "The Git linkable library";
|
||||
homepage = https://libgit2.github.com/;
|
||||
|
@ -191,6 +191,8 @@ stdenv.mkDerivation ({
|
||||
|
||||
preBuild = lib.optionalString withGd "unset NIX_DONT_SET_RPATH";
|
||||
|
||||
doCheck = false; # fails
|
||||
|
||||
meta = {
|
||||
homepage = http://www.gnu.org/software/libc/;
|
||||
description = "The GNU C Library";
|
||||
|
@ -49,6 +49,8 @@ stdenv.mkDerivation rec {
|
||||
cairoLib = "${getLib cairo}/lib";
|
||||
});
|
||||
|
||||
doCheck = false; # fails
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome3.updateScript {
|
||||
packageName = pname;
|
||||
|
@ -31,6 +31,8 @@ mkDerivation rec {
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
doCheck = false; # fails all the tests (ctest)
|
||||
|
||||
meta = with lib; {
|
||||
description = "Qt5 port of Django template system";
|
||||
longDescription = ''
|
||||
|
@ -70,4 +70,9 @@ stdenv.mkDerivation rec {
|
||||
++ optional (!stdenv.isDarwin) wildmidi
|
||||
# TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin
|
||||
++ optional (!stdenv.isDarwin) mjpegtools;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = false; # fails 20 out of 58 tests, expensive
|
||||
|
||||
}
|
||||
|
@ -49,6 +49,8 @@ stdenv.mkDerivation rec {
|
||||
"--disable-visibility"
|
||||
];
|
||||
|
||||
doCheck = false; # needs X11
|
||||
|
||||
postInstall = ''
|
||||
moveToOutput share/gtk-2.0/demo "$devdoc"
|
||||
# The updater is needed for nixos env and it's tiny.
|
||||
|
@ -63,6 +63,8 @@ stdenv.mkDerivation rec {
|
||||
"--enable-wayland-backend"
|
||||
];
|
||||
|
||||
doCheck = false; # needs X11
|
||||
|
||||
postInstall = optionalString (!stdenv.isDarwin) ''
|
||||
substituteInPlace "$out/lib/gtk-3.0/3.0.0/printbackends/libprintbackend-cups.la" \
|
||||
--replace '-L${gmp.dev}/lib' '-L${gmp.out}/lib'
|
||||
|
@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ glib gettext ];
|
||||
|
||||
doCheck = false; # fails with "permission denied"
|
||||
|
||||
meta = {
|
||||
homepage = http://gts.sourceforge.net/;
|
||||
license = stdenv.lib.licenses.lgpl2Plus;
|
||||
|
@ -9,12 +9,14 @@ stdenv.mkDerivation {
|
||||
];
|
||||
|
||||
buildInputs = [ zlib ];
|
||||
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/id3lib/id3lib-3.8.3.tar.gz;
|
||||
sha256 = "0yfhqwk0w8q2hyv1jib1008jvzmwlpsxvc8qjllhna6p1hycqj97";
|
||||
};
|
||||
|
||||
doCheck = false; # fails to compile
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
|
@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = false; # fails
|
||||
|
||||
postInstall = ''
|
||||
moveToOutput bin "$bin"
|
||||
'';
|
||||
|
@ -62,6 +62,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
doCheck = false; # fails with "No suitable file for testing purposes"
|
||||
|
||||
meta = {
|
||||
description = "MIT Kerberos 5";
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user