Merge branch 'staging' into fix-ncurses-darwin-extensions

This commit is contained in:
Matthew Justin Bauer 2018-05-02 15:40:38 -05:00 committed by GitHub
commit eeb016e8f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
251 changed files with 2068 additions and 1387 deletions

View File

@ -1005,6 +1005,13 @@ but only if the <varname>doCheck</varname> variable is enabled.</para>
</para></listitem> </para></listitem>
</varlistentry> </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> <varlistentry>
<term><varname>makeFlags</varname> / <term><varname>makeFlags</varname> /
<varname>makeFlagsArray</varname> / <varname>makeFlagsArray</varname> /
@ -1291,6 +1298,13 @@ installcheck</command>.</para>
</para></listitem> </para></listitem>
</varlistentry> </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> <varlistentry>
<term><varname>preInstallCheck</varname></term> <term><varname>preInstallCheck</varname></term>
<listitem><para>Hook executed at the start of the installCheck <listitem><para>Hook executed at the start of the installCheck

View File

@ -33,7 +33,7 @@ let
sh = pkgs.runtimeShell; sh = pkgs.runtimeShell;
binshDeps = pkgs.writeReferencesToFile sh; binshDeps = pkgs.writeReferencesToFile sh;
in in
pkgs.runCommand "nix.conf" { extraOptions = cfg.extraOptions; } '' pkgs.runCommand "nix.conf" { extraOptions = cfg.extraOptions; } (''
${optionalString (!isNix20) '' ${optionalString (!isNix20) ''
extraPaths=$(for i in $(cat ${binshDeps}); do if test -d $i; then echo $i; fi; done) extraPaths=$(for i in $(cat ${binshDeps}); do if test -d $i; then echo $i; fi; done)
''} ''}
@ -62,7 +62,11 @@ let
''} ''}
$extraOptions $extraOptions
END 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 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.
'';
};
}; };
}; };

View File

@ -286,6 +286,7 @@ in rec {
tests.firewall = callTest tests/firewall.nix {}; tests.firewall = callTest tests/firewall.nix {};
tests.fleet = callTestOnMatchingSystems ["x86_64-linux"] tests/fleet.nix {}; tests.fleet = callTestOnMatchingSystems ["x86_64-linux"] tests/fleet.nix {};
tests.fwupd = callTest tests/fwupd.nix {}; tests.fwupd = callTest tests/fwupd.nix {};
tests.gdk-pixbuf = callTest tests/gdk-pixbuf.nix {};
#tests.gitlab = callTest tests/gitlab.nix {}; #tests.gitlab = callTest tests/gitlab.nix {};
tests.gitolite = callTest tests/gitolite.nix {}; tests.gitolite = callTest tests/gitolite.nix {};
tests.gjs = callTest tests/gjs.nix {}; tests.gjs = callTest tests/gjs.nix {};

View 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");
'';
})

View File

@ -25,6 +25,10 @@ stdenv.mkDerivation rec{
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" "--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 = { meta = {
description = "Peer-to-peer electronic cash system"; description = "Peer-to-peer electronic cash system";
longDescription= '' longDescription= ''

View File

@ -22,6 +22,8 @@ in stdenv.mkDerivation rec {
gsettings-desktop-schemas gnome3.defaultIconTheme gsettings-desktop-schemas gnome3.defaultIconTheme
]; ];
doCheck = false; # fails 1 out of 9 tests
passthru = { passthru = {
updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {
packageName = pname; packageName = pname;

View File

@ -78,6 +78,8 @@ stdenv.mkDerivation rec {
[ libX11 libXext libXt libwebp ] [ libX11 libXext libXt libwebp ]
; ;
doCheck = false; # fails 6 out of 76 tests
postInstall = '' postInstall = ''
(cd "$dev/include" && ln -s ImageMagick* ImageMagick) (cd "$dev/include" && ln -s ImageMagick* ImageMagick)
moveToOutput "bin/*-config" "$dev" moveToOutput "bin/*-config" "$dev"

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, cmake }: { stdenv, fetchurl, cmake }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "soxr-0.1.2"; name = "soxr-0.1.3";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/soxr/${name}-Source.tar.xz"; url = "mirror://sourceforge/soxr/${name}-Source.tar.xz";
sha256 = "0xf2w3piwz9gfr1xqyrj4k685q5dy53kq3igv663i4f4y4sg9rjl"; sha256 = "12aql6svkplxq5fjycar18863hcq84c5kx8g6f4rj0lcvigw24di";
}; };
outputs = [ "out" "doc" ]; # headers are just two and very small outputs = [ "out" "doc" ]; # headers are just two and very small

View File

@ -213,6 +213,7 @@ stdenv.mkDerivation (rec {
++ extraMakeFlags; ++ extraMakeFlags;
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = false; # "--disable-tests" above
preInstall = '' preInstall = ''
# The following is needed for startup cache creation on grsecurity kernels. # The following is needed for startup cache creation on grsecurity kernels.

View File

@ -7,7 +7,6 @@
, trezor-bridge, bluejeans, djview4, adobe-reader , trezor-bridge, bluejeans, djview4, adobe-reader
, google_talk_plugin, fribid, gnome3/*.gnome-shell*/ , google_talk_plugin, fribid, gnome3/*.gnome-shell*/
, esteidfirefoxplugin , esteidfirefoxplugin
, vlc_npapi
, browserpass, chrome-gnome-shell , browserpass, chrome-gnome-shell
, libudev , libudev
, kerberos , kerberos
@ -57,7 +56,6 @@ let
++ lib.optional (cfg.enableBluejeans or false) bluejeans ++ lib.optional (cfg.enableBluejeans or false) bluejeans
++ lib.optional (cfg.enableAdobeReader or false) adobe-reader ++ lib.optional (cfg.enableAdobeReader or false) adobe-reader
++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin ++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin
++ lib.optional (cfg.enableVLC or false) vlc_npapi
++ extraPlugins ++ extraPlugins
); );
nativeMessagingHosts = nativeMessagingHosts =

View File

@ -21,10 +21,13 @@ stdenv.mkDerivation rec {
pkgconfig intltool autoconf-archive pkgconfig intltool autoconf-archive
appstream-glib appstream-glib
]; ];
buildInputs = [ gtk3 json-glib curl glib hicolor-icon-theme ]; buildInputs = [ gtk3 json-glib curl glib hicolor-icon-theme ];
meta = with stdenv.lib; doCheck = false; # fails with style validation error
{ description = "GTK remote control for the Transmission BitTorrent client";
meta = with stdenv.lib; {
description = "GTK remote control for the Transmission BitTorrent client";
homepage = https://github.com/ajf8/transmission-remote-gtk; homepage = https://github.com/ajf8/transmission-remote-gtk;
license = licenses.gpl2; license = licenses.gpl2;
maintainers = [ maintainers.ehmry ]; maintainers = [ maintainers.ehmry ];

View File

@ -23,7 +23,7 @@
, alsaLib , alsaLib
, libidn , libidn
, zlib , zlib
, version ? null , version ? "13.9.0"
}: }:
let let

View File

@ -30,6 +30,8 @@ stdenv.mkDerivation {
buildInputs = [ nano ]; buildInputs = [ nano ];
doCheck = false; # fails 1 of 1 tests
meta = { meta = {
homepage = http://cvs.nongnu.org; homepage = http://cvs.nongnu.org;
description = "Concurrent Versions System - a source control system"; description = "Concurrent Versions System - a source control system";

View File

@ -18,7 +18,7 @@ assert sendEmailSupport -> perlSupport;
assert svnSupport -> perlSupport; assert svnSupport -> perlSupport;
let let
version = "2.16.3"; version = "2.17.0";
svn = subversionClient.override { perlBindings = perlSupport; }; svn = subversionClient.override { perlBindings = perlSupport; };
in in
@ -27,19 +27,24 @@ 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 = "0j1dwvg5llnj3g0fp8hdgpms4hp90qw9f6509vqw30dhwplrjpfn"; sha256 = "1ismz7nsz8dgjmk782xr9s0mr2qh06f72pdcgbxfmnw1bvlya5p9";
}; };
outputs = [ "out" ] ++ stdenv.lib.optional perlSupport "gitweb"; outputs = [ "out" ] ++ stdenv.lib.optional perlSupport "gitweb";
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];
enableParallelBuilding = true;
## Patch
patches = [ patches = [
./docbook2texi.patch ./docbook2texi.patch
./symlinks-in-bin.patch ./symlinks-in-bin.patch
./git-sh-i18n.patch ./git-sh-i18n.patch
./ssh-path.patch ./ssh-path.patch
./git-send-email-honor-PATH.patch ./git-send-email-honor-PATH.patch
./installCheck-path.patch
]; ];
postPatch = '' postPatch = ''
@ -47,6 +52,10 @@ stdenv.mkDerivation {
substituteInPlace "$x" \ substituteInPlace "$x" \
--subst-var-by ssh "${openssh}/bin/ssh" --subst-var-by ssh "${openssh}/bin/ssh"
done done
# Fix references to gettext introduced by ./git-sh-i18n.patch
substituteInPlace git-sh-i18n.sh \
--subst-var-by gettext ${gettext}
''; '';
nativeBuildInputs = [ gettext perl ] nativeBuildInputs = [ gettext perl ]
@ -58,7 +67,6 @@ stdenv.mkDerivation {
++ stdenv.lib.optionals withpcre2 [ pcre2 ] ++ stdenv.lib.optionals withpcre2 [ pcre2 ]
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.Security ]; ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.Security ];
# required to support pthread_cancel() # required to support pthread_cancel()
NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.cc.isClang) "-lgcc_s" NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.cc.isClang) "-lgcc_s"
+ stdenv.lib.optionalString (stdenv.isFreeBSD) "-lthr"; + stdenv.lib.optionalString (stdenv.isFreeBSD) "-lthr";
@ -68,6 +76,10 @@ stdenv.mkDerivation {
"ac_cv_snprintf_returns_bogus=no" "ac_cv_snprintf_returns_bogus=no"
]; ];
preBuild = ''
makeFlagsArray+=( perllibdir=$out/$(perl -MConfig -wle 'print substr $Config{installsitelib}, 1 + length $Config{siteprefixexp}') )
'';
makeFlags = [ makeFlags = [
"prefix=\${out}" "prefix=\${out}"
"SHELL_PATH=${stdenv.shell}" "SHELL_PATH=${stdenv.shell}"
@ -86,15 +98,17 @@ stdenv.mkDerivation {
popd popd
''; '';
# FIXME: "make check" requires Sparse; the Makefile must be tweaked
# so that `SPARSE_FLAGS' corresponds to the current architecture... ## Install
#doCheck = true;
# 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"; installFlags = "NO_INSTALL_HARDLINKS=1";
preInstall = stdenv.lib.optionalString stdenv.isDarwin '' preInstall = stdenv.lib.optionalString stdenv.isDarwin ''
mkdir -p $out/bin 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 = postInstall =
@ -112,7 +126,7 @@ stdenv.mkDerivation {
# Install contrib stuff. # Install contrib stuff.
mkdir -p $out/share/git 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/ ln -s "$out/share/git/contrib/credential/netrc/git-credential-netrc" $out/bin/
mkdir -p $out/share/emacs/site-lisp mkdir -p $out/share/emacs/site-lisp
ln -s "$out/share/git/contrib/emacs/"*.el $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" \ 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} $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 # Also put git-http-backend into $PATH, so that we can use smart
# HTTP(s) transports for pushing # 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 = { meta = {
homepage = https://git-scm.com/; homepage = https://git-scm.com/;

View File

@ -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 and (2) make sure `gitman.info' isn't produced since it's broken (duplicate
node names). node names).
diff -ru git-1.8.4-orig/Documentation/Makefile git-1.8.4/Documentation/Makefile diff --git a/Documentation/Makefile b/Documentation/Makefile
--- git-1.8.4-orig/Documentation/Makefile 2013-08-23 21:38:43.000000000 +0200 --- a/Documentation/Makefile
+++ git-1.8.4/Documentation/Makefile 2013-09-30 14:48:51.532890378 +0200 +++ b/Documentation/Makefile
@@ -101,7 +101,7 @@ @@ -122,7 +122,7 @@
MAKEINFO = makeinfo MAKEINFO = makeinfo
INSTALL_INFO = install-info INSTALL_INFO = install-info
-DOCBOOK2X_TEXI = docbook2x-texi -DOCBOOK2X_TEXI = docbook2x-texi
+DOCBOOK2X_TEXI = docbook2texi +DOCBOOK2X_TEXI = docbook2texi
DBLATEX = dblatex DBLATEX = dblatex
ifndef PERL_PATH ASCIIDOC_DBLATEX_DIR = /etc/asciidoc/dblatex
PERL_PATH = /usr/bin/perl DBLATEX_COMMON = -p $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.xsl -s $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.sty
@@ -205,7 +205,7 @@ @@ -240,7 +240,7 @@
man5: $(DOC_MAN5) man5: $(DOC_MAN5)
man7: $(DOC_MAN7) 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 pdf: user-manual.pdf
@@ -221,10 +221,9 @@ @@ -256,10 +256,9 @@
install-info: info install-info: info
$(INSTALL) -d -m 755 $(DESTDIR)$(infodir) $(INSTALL) -d -m 755 $(DESTDIR)$(infodir)

View File

@ -1,8 +1,7 @@
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index 8060ea35c..c81067a19 100644
--- a/Documentation/git-send-email.txt --- a/Documentation/git-send-email.txt
+++ b/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; specify a full pathname of a sendmail-like program instead;
the program must support the `-i` option. Default value can the program must support the `-i` option. Default value can
be specified by the `sendemail.smtpServer` configuration be specified by the `sendemail.smtpServer` configuration
@ -13,10 +12,9 @@ index 8060ea35c..c81067a19 100644
--smtp-server-port=<port>:: --smtp-server-port=<port>::
diff --git a/git-send-email.perl b/git-send-email.perl diff --git a/git-send-email.perl b/git-send-email.perl
index edcc6d346..8e357aeab 100755
--- a/git-send-email.perl --- a/git-send-email.perl
+++ b/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) { if (!defined $smtp_server) {

View File

@ -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"

View File

@ -1,7 +1,7 @@
diff -ru -x '*~' git-1.8.2.1-orig/Makefile git-1.8.2.1/Makefile diff --git a/Makefile b/Makefile
--- git-1.8.2.1-orig/Makefile 2013-04-08 00:52:04.000000000 +0200 --- a/Makefile
+++ git-1.8.2.1/Makefile 2013-04-22 15:46:42.906026940 +0200 +++ b/Makefile
@@ -2319,8 +2319,7 @@ @@ -2609,8 +2609,7 @@
{ test "$$bindir/" = "$$execdir/" || \ { test "$$bindir/" = "$$execdir/" || \
for p in git$X $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \ for p in git$X $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \
$(RM) "$$execdir/$$p" && \ $(RM) "$$execdir/$$p" && \

View File

@ -88,6 +88,8 @@ let
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = false; # fails 10 out of ~2300 tests
meta = { meta = {
description = "A version control system intended to be a compelling replacement for CVS in the open source community"; description = "A version control system intended to be a compelling replacement for CVS in the open source community";
homepage = http://subversion.apache.org/; homepage = http://subversion.apache.org/;

View File

@ -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 , zlib, a52dec, libmad, faad2, ffmpeg, alsaLib
, pkgconfig, dbus, fribidi, freefont_ttf, libebml, libmatroska , 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 , 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 , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz
, libass, libva, libdvbpsi, libdc1394, libraw1394, libopus , libass, libva-full, libdvbpsi, libdc1394, libraw1394, libopus
, libvdpau, libsamplerate, live555, fluidsynth , libvdpau, libsamplerate, live555, fluidsynth, wayland, wayland-protocols
, qt4 ? null , onlyLibVLC ? false
, withQt5 ? false, qtbase ? null, qtx11extras ? null , withQt5 ? true, qtbase ? null, qtsvg ? null, qtx11extras ? null
, jackSupport ? false , jackSupport ? false
, fetchpatch , fetchpatch
}: }:
with stdenv.lib; with stdenv.lib;
assert (withQt5 -> qtbase != null && qtx11extras != null); assert (withQt5 -> qtbase != null && qtsvg != null && qtx11extras != null);
assert (!withQt5 -> qt4 != null);
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "vlc-${version}"; name = "vlc-${version}";
version = "2.2.8"; version = "3.0.1";
src = fetchurl { src = fetchurl {
url = "http://get.videolan.org/vlc/${version}/${name}.tar.xz"; 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. # VLC uses a *ton* of libraries for various pieces of functionality, many of
# https://trac.videolan.org/vlc/ticket/16497 # which are not included here for no other reason that nobody has mentioned
postPatch = if (!withQt5) then null else # needing them
"sed '/I78ef29975181ee22429c9bd4b11d96d9e68b7a9c/s/^/: #/' -i configure"; buildInputs = [
zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread
buildInputs = libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt libgpgerror
[ 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 libupnp libcaca libpulseaudio flac schroedinger libxml2 librsvg mpeg2dec
udev gnutls avahi libcddb SDL SDL_image libmtp unzip taglib systemd gnutls avahi libcddb SDL SDL_image libmtp unzip taglib libarchive
libkate libtiger libv4l samba liboggz libass libdvbpsi libva libkate libtiger libv4l samba liboggz libass libdvbpsi libva-full
xorg.xlibsWrapper xorg.libXv xorg.libXvMC xorg.libXpm xorg.xcbutilkeysyms xorg.xlibsWrapper xorg.libXv xorg.libXvMC xorg.libXpm xorg.xcbutilkeysyms
libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate live555 libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate live555
fluidsynth fluidsynth wayland wayland-protocols
] ] ++ optionals withQt5 [ qtbase qtsvg qtx11extras ]
++ [(if withQt5 then qtbase else qt4)]
++ optional withQt5 qtx11extras
++ optional jackSupport libjack2; ++ optional jackSupport libjack2;
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ autoreconfHook perl 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"
];
enableParallelBuilding = true; enableParallelBuilding = true;
preBuild = '' LIVE555_PREFIX = live555;
substituteInPlace modules/text_renderer/freetype.c --replace \
/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf \ # vlc depends on a c11-gcc wrapper script which we don't have so we need to
${freefont_ttf}/share/fonts/truetype/FreeSerifBold.ttf # 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; { meta = with stdenv.lib; {
description = "Cross-platform media player and streaming server"; description = "Cross-platform media player and streaming server";
homepage = http://www.videolan.org/vlc/; homepage = http://www.videolan.org/vlc/;
platforms = platforms.linux;
license = licenses.lgpl21Plus; license = licenses.lgpl21Plus;
platforms = platforms.linux;
}; };
} }

View File

@ -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;
};
}

View File

@ -119,6 +119,8 @@ stdenv.mkDerivation rec {
++ optional openGLSupport "--enable-opengl" ++ optional openGLSupport "--enable-opengl"
++ optional virglSupport "--enable-virglrenderer"; ++ optional virglSupport "--enable-virglrenderer";
doCheck = false; # tries to access /dev
postFixup = postFixup =
'' ''
for exe in $out/bin/qemu-system-* ; do for exe in $out/bin/qemu-system-* ; do

View File

@ -5,6 +5,7 @@ var_templates_list=(
NIX+LDFLAGS_BEFORE NIX+LDFLAGS_BEFORE
NIX+LDFLAGS_AFTER NIX+LDFLAGS_AFTER
NIX+LDFLAGS_HARDEN NIX+LDFLAGS_HARDEN
NIX+HARDENING_ENABLE
) )
var_templates_bool=( var_templates_bool=(
NIX+SET_BUILD_ID NIX+SET_BUILD_ID
@ -23,10 +24,10 @@ if [ "${NIX_BINTOOLS_WRAPPER_@infixSalt@_TARGET_TARGET:-}" ]; then
fi fi
for var in "${var_templates_list[@]}"; do for var in "${var_templates_list[@]}"; do
mangleVarList "$var" "${role_infixes[@]}" mangleVarList "$var" ${role_infixes[@]+"${role_infixes[@]}"}
done done
for var in "${var_templates_bool[@]}"; do for var in "${var_templates_bool[@]}"; do
mangleVarBool "$var" "${role_infixes[@]}" mangleVarBool "$var" ${role_infixes[@]+"${role_infixes[@]}"}
done done
if [ -e @out@/nix-support/libc-ldflags ]; then if [ -e @out@/nix-support/libc-ldflags ]; then

View File

@ -1,33 +1,40 @@
hardeningFlags=(relro bindnow) declare -a hardeningLDFlags=()
# 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 hardeningDisableMap declare -A hardeningEnableMap=()
# Intentionally word-split in case 'hardeningDisable' is defined in Nix. # Intentionally word-split in case 'NIX_HARDENING_ENABLE' is defined in Nix. The
for flag in ${hardeningDisable[@]:-IGNORED_KEY} @hardening_unsupported_flags@ # array expansion also prevents undefined variables from causing trouble with
do # `set -u`.
hardeningDisableMap[$flag]=1 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 done
if (( "${NIX_DEBUG:-0}" >= 1 )); then 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 printf 'HARDENING: disabled flags:' >&2
(( "${#hardeningDisableMap[@]}" )) && printf ' %q' "${!hardeningDisableMap[@]}" >&2 (( "${#hardeningDisableMap[@]}" )) && printf ' %q' "${!hardeningDisableMap[@]}" >&2
echo >&2 echo >&2
fi
if [[ -z "${hardeningDisableMap[all]:-}" ]]; then if (( "${#hardeningEnableMap[@]}" )); then
if (( "${NIX_DEBUG:-0}" >= 1 )); then
echo 'HARDENING: Is active (not completely disabled with "all" flag)' >&2; echo 'HARDENING: Is active (not completely disabled with "all" flag)' >&2;
fi fi
for flag in "${hardeningFlags[@]}" fi
do
if [[ -z "${hardeningDisableMap[$flag]:-}" ]]; then for flag in "${!hardeningEnableMap[@]}"; do
case $flag in case $flag in
pie) pie)
if [[ ! ("$*" =~ " -shared " || "$*" =~ " -static ") ]]; then if [[ ! ("$*" =~ " -shared " || "$*" =~ " -static ") ]]; then
@ -48,6 +55,4 @@ if [[ -z "${hardeningDisableMap[all]:-}" ]]; then
# tool supports each flag. # tool supports each flag.
;; ;;
esac esac
fi done
done
fi

View File

@ -74,7 +74,7 @@ in
stdenv.mkDerivation { stdenv.mkDerivation {
name = targetPrefix 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}"); + (stdenv.lib.optionalString (bintools != null && bintoolsVersion != "") "-${bintoolsVersion}");
preferLocalBuild = true; preferLocalBuild = true;

View File

@ -57,8 +57,8 @@ fi
source @out@/nix-support/add-hardening.sh source @out@/nix-support/add-hardening.sh
extraAfter=("${hardeningLDFlags[@]}") extraAfter=()
extraBefore=() extraBefore=(${hardeningLDFlags[@]+"${hardeningLDFlags[@]}"})
if [ -z "${NIX_@infixSalt@_LDFLAGS_SET:-}" ]; then if [ -z "${NIX_@infixSalt@_LDFLAGS_SET:-}" ]; then
extraAfter+=($NIX_@infixSalt@_LDFLAGS) extraAfter+=($NIX_@infixSalt@_LDFLAGS)

View File

@ -83,6 +83,10 @@ do
fi fi
done 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 # 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 set +u

View File

@ -30,10 +30,10 @@ fi
# We need to mangle names for hygiene, but also take parameters/overrides # We need to mangle names for hygiene, but also take parameters/overrides
# from the environment. # from the environment.
for var in "${var_templates_list[@]}"; do for var in "${var_templates_list[@]}"; do
mangleVarList "$var" "${role_infixes[@]}" mangleVarList "$var" ${role_infixes[@]+"${role_infixes[@]}"}
done done
for var in "${var_templates_bool[@]}"; do for var in "${var_templates_bool[@]}"; do
mangleVarBool "$var" "${role_infixes[@]}" mangleVarBool "$var" ${role_infixes[@]+"${role_infixes[@]}"}
done done
# `-B@out@/bin' forces cc to use ld-wrapper.sh when calling ld. # `-B@out@/bin' forces cc to use ld-wrapper.sh when calling ld.

View File

@ -1,33 +1,40 @@
hardeningFlags=(fortify stackprotector pic strictoverflow format relro bindnow) declare -a hardeningCFlags=()
# 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 hardeningDisableMap declare -A hardeningEnableMap=()
# Intentionally word-split in case 'hardeningDisable' is defined in Nix. # Intentionally word-split in case 'NIX_HARDENING_ENABLE' is defined in Nix. The
for flag in ${hardeningDisable[@]:-IGNORED_KEY} @hardening_unsupported_flags@ # array expansion also prevents undefined variables from causing trouble with
do # `set -u`.
hardeningDisableMap[$flag]=1 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 done
if (( "${NIX_DEBUG:-0}" >= 1 )); then 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 printf 'HARDENING: disabled flags:' >&2
(( "${#hardeningDisableMap[@]}" )) && printf ' %q' "${!hardeningDisableMap[@]}" >&2 (( "${#hardeningDisableMap[@]}" )) && printf ' %q' "${!hardeningDisableMap[@]}" >&2
echo >&2 echo >&2
fi
if [[ -z "${hardeningDisableMap[all]:-}" ]]; then if (( "${#hardeningEnableMap[@]}" )); then
if (( "${NIX_DEBUG:-0}" >= 1 )); then
echo 'HARDENING: Is active (not completely disabled with "all" flag)' >&2; echo 'HARDENING: Is active (not completely disabled with "all" flag)' >&2;
fi fi
for flag in "${hardeningFlags[@]}" fi
do
if [[ -z "${hardeningDisableMap[$flag]:-}" ]]; then for flag in "${!hardeningEnableMap[@]}"; do
case $flag in case $flag in
fortify) fortify)
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling fortify >&2; fi if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling fortify >&2; fi
@ -62,6 +69,4 @@ if [[ -z "${hardeningDisableMap[all]:-}" ]]; then
# tool supports each flag. # tool supports each flag.
;; ;;
esac esac
fi done
done
fi

View File

@ -134,8 +134,8 @@ fi
source @out@/nix-support/add-hardening.sh source @out@/nix-support/add-hardening.sh
# Add the flags for the C compiler proper. # Add the flags for the C compiler proper.
extraAfter=($NIX_@infixSalt@_CFLAGS_COMPILE "${hardeningCFlags[@]}") extraAfter=($NIX_@infixSalt@_CFLAGS_COMPILE)
extraBefore=() extraBefore=(${hardeningCFlags[@]+"${hardeningCFlags[@]}"})
if [ "$dontLink" != 1 ]; then if [ "$dontLink" != 1 ]; then

View File

@ -71,7 +71,7 @@ assert nativePrefix == bintools.nativePrefix;
stdenv.mkDerivation { stdenv.mkDerivation {
name = targetPrefix 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}"); + (stdenv.lib.optionalString (cc != null && ccVersion != "") "-${ccVersion}");
preferLocalBuild = true; preferLocalBuild = true;

View File

@ -147,6 +147,10 @@ export ${role_pre}CXX=@named_cxx@
export CC${role_post}=@named_cc@ export CC${role_post}=@named_cc@
export CXX${role_post}=@named_cxx@ 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 # No local scope in sourced file
unset -v role_pre role_post unset -v role_pre role_post
set +u set +u

View File

@ -91,7 +91,7 @@ in stdenv.mkDerivation (args // {
installPhase = args.installPhase or '' installPhase = args.installPhase or ''
runHook preInstall runHook preInstall
mkdir -p $out/bin 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 runHook postInstall
''; '';

View File

@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
depsBuildBuild = [ buildPackages.stdenv.cc ]; depsBuildBuild = [ buildPackages.stdenv.cc ];
doCheck = false; # needs more tools
installFlags = [ "ZIC=./zic-native" ]; installFlags = [ "ZIC=./zic-native" ];
preInstall = '' preInstall = ''

View File

@ -40,4 +40,7 @@ stdenv.mkDerivation rec {
''; '';
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
doCheck = false; # requires X11 daemon
} }

View File

@ -13,4 +13,6 @@ stdenv.mkDerivation {
buildInputs = [ gtk libglade libxml2 libxslt libX11 docbook_xml_dtd_412 ]; buildInputs = [ gtk libglade libxml2 libxslt libX11 docbook_xml_dtd_412 ];
nativeBuildInputs = [ pkgconfig intltool gnome-doc-utils which ]; nativeBuildInputs = [ pkgconfig intltool gnome-doc-utils which ];
doCheck = false; # fails, tries to access the net
} }

View File

@ -21,4 +21,6 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ GConf glib ]; propagatedBuildInputs = [ GConf glib ];
postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i "; postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i ";
doCheck = false; # needs dbus daemon
} }

View File

@ -24,6 +24,9 @@ in stdenv.mkDerivation rec {
meson ninja vala pkgconfig gettext itstool wrapGAppsHook gobjectIntrospection desktop-file-utils meson ninja vala pkgconfig gettext itstool wrapGAppsHook gobjectIntrospection desktop-file-utils
]; ];
# Required for USB redirection PolicyKit rules file
propagatedUserEnvPkgs = [ spice-gtk ];
buildInputs = [ buildInputs = [
libvirt-glib glib gtk3 gtkvnc libxml2 libvirt-glib glib gtk3 gtkvnc libxml2
libvirt spice-gtk spice-protocol libsoup json-glib webkitgtk libosinfo systemd libvirt spice-gtk spice-protocol libsoup json-glib webkitgtk libosinfo systemd

View File

@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ meson ninja vala pkgconfig python3 libxslt libxml2 docbook_xsl ]; nativeBuildInputs = [ meson ninja vala pkgconfig python3 libxslt libxml2 docbook_xsl ];
buildInputs = [ glib dbus-glib ]; buildInputs = [ glib dbus-glib ];
doCheck = false; # fails 2 out of 9 tests, maybe needs dbus daemon?
passthru = { passthru = {
updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {
packageName = pname; packageName = pname;

View File

@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
buildInputs = [ intltool glib libxfce4util ]; buildInputs = [ intltool glib libxfce4util ];
propagatedBuildInputs = [ dbus-glib ]; propagatedBuildInputs = [ dbus-glib ];
doCheck = false; # requires dbus daemon
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://docs.xfce.org/xfce/xfconf/start; homepage = http://docs.xfce.org/xfce/xfconf/start;
description = "Simple client-server configuration storage and query system for Xfce"; description = "Simple client-server configuration storage and query system for Xfce";
@ -26,4 +28,3 @@ stdenv.mkDerivation rec {
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -170,7 +170,7 @@ let version = "4.8.5";
"--disable-decimal-float" # No final libdecnumber (it may work only in 386) "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
])); ]));
stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; 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; bootstrap = targetPlatform == hostPlatform;
@ -180,7 +180,7 @@ in
assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == []; assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
stdenv.mkDerivation ({ stdenv.mkDerivation ({
name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon; name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
builder = ../builder.sh; builder = ../builder.sh;
@ -375,6 +375,8 @@ stdenv.mkDerivation ({
(if profiledCompiler then "profiledbootstrap" else "bootstrap") (if profiledCompiler then "profiledbootstrap" else "bootstrap")
else ""; else "";
doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
installTargets = installTargets =
if stripped if stripped
then "install-strip" then "install-strip"

View File

@ -164,7 +164,7 @@ let version = "4.9.4";
"--disable-decimal-float" # No final libdecnumber (it may work only in 386) "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
])); ]));
stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; 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; bootstrap = targetPlatform == hostPlatform;
@ -174,7 +174,7 @@ in
assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == []; assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
stdenv.mkDerivation ({ stdenv.mkDerivation ({
name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon; name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
builder = ../builder.sh; builder = ../builder.sh;
@ -383,6 +383,8 @@ stdenv.mkDerivation ({
(if profiledCompiler then "profiledbootstrap" else "bootstrap") (if profiledCompiler then "profiledbootstrap" else "bootstrap")
else ""; else "";
doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
installTargets = installTargets =
if stripped if stripped
then "install-strip" then "install-strip"

View File

@ -168,7 +168,7 @@ let version = "5.5.0";
"--disable-decimal-float" # No final libdecnumber (it may work only in 386) "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
])); ]));
stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; 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; bootstrap = targetPlatform == hostPlatform;
@ -178,7 +178,7 @@ in
assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == []; assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
stdenv.mkDerivation ({ stdenv.mkDerivation ({
name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon; name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
builder = ../builder.sh; builder = ../builder.sh;
@ -400,6 +400,8 @@ stdenv.mkDerivation ({
(if profiledCompiler then "profiledbootstrap" else "bootstrap") (if profiledCompiler then "profiledbootstrap" else "bootstrap")
else ""; else "";
doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
installTargets = installTargets =
if stripped if stripped
then "install-strip" then "install-strip"

View File

@ -167,7 +167,7 @@ let version = "6.4.0";
"--disable-decimal-float" # No final libdecnumber (it may work only in 386) "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
])); ]));
stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; 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; bootstrap = targetPlatform == hostPlatform;
@ -177,7 +177,7 @@ in
assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == []; assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
stdenv.mkDerivation ({ stdenv.mkDerivation ({
name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon; name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
builder = ../builder.sh; builder = ../builder.sh;
@ -403,6 +403,8 @@ stdenv.mkDerivation ({
buildFlags = buildFlags =
optional bootstrap (if profiledCompiler then "profiledbootstrap" else "bootstrap"); optional bootstrap (if profiledCompiler then "profiledbootstrap" else "bootstrap");
doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
installTargets = installTargets =
if stripped if stripped
then "install-strip" then "install-strip"

View File

@ -172,7 +172,7 @@ let version = "7.3.0";
"--disable-decimal-float" # No final libdecnumber (it may work only in 386) "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
])); ]));
stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; 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; bootstrap = targetPlatform == hostPlatform;
@ -182,7 +182,7 @@ in
assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == []; assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
stdenv.mkDerivation ({ stdenv.mkDerivation ({
name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon; name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
builder = ../builder.sh; builder = ../builder.sh;
@ -409,6 +409,8 @@ stdenv.mkDerivation ({
buildFlags = buildFlags =
optional bootstrap (if profiledCompiler then "profiledbootstrap" else "bootstrap"); optional bootstrap (if profiledCompiler then "profiledbootstrap" else "bootstrap");
doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
installTargets = installTargets =
if stripped if stripped
then "install-strip" then "install-strip"

View File

@ -170,6 +170,7 @@ stdenv.mkDerivation rec {
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
checkTarget = "test"; 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 # zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't
# treat that as a unary `{x,y,z,..}` repetition. # treat that as a unary `{x,y,z,..}` repetition.

View File

@ -29,7 +29,10 @@ stdenv.mkDerivation {
# Clang expects to find LLVMgold in its own prefix # Clang expects to find LLVMgold in its own prefix
# Clang expects to find sanitizer libraries in its own prefix # Clang expects to find sanitizer libraries in its own prefix
postInstall = '' postInstall = ''
if [ -e ${llvm}/lib/LLVMgold.so ]; then
ln -sv ${llvm}/lib/LLVMgold.so $out/lib ln -sv ${llvm}/lib/LLVMgold.so $out/lib
fi
ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
''; '';

View File

@ -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 let
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
in stdenv.mkDerivation { in stdenv.mkDerivation {
@ -12,7 +12,7 @@ in stdenv.mkDerivation {
mv clang-tools-extra-* $sourceRoot/tools/extra mv clang-tools-extra-* $sourceRoot/tools/extra
''; '';
buildInputs = [ cmake libedit libxml2 llvm ]; buildInputs = [ cmake libxml2 llvm ];
cmakeFlags = [ cmakeFlags = [
"-DCMAKE_CXX_FLAGS=-std=c++11" "-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 LLVMgold in its own prefix
# Clang expects to find sanitizer libraries in its own prefix # Clang expects to find sanitizer libraries in its own prefix
postInstall = '' postInstall = ''
if [ -e ${llvm}/lib/LLVMgold.so ]; then
ln -sv ${llvm}/lib/LLVMgold.so $out/lib ln -sv ${llvm}/lib/LLVMgold.so $out/lib
fi
ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
ln -sv $out/bin/clang $out/bin/cpp ln -sv $out/bin/clang $out/bin/cpp
''; '';

View File

@ -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 let
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; 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 mv clang-tools-extra-* $sourceRoot/tools/extra
''; '';
buildInputs = [ cmake libedit libxml2 llvm ]; buildInputs = [ cmake libxml2 llvm ];
cmakeFlags = [ cmakeFlags = [
"-DCMAKE_CXX_FLAGS=-std=c++11" "-DCMAKE_CXX_FLAGS=-std=c++11"
@ -32,7 +32,10 @@ let
# Clang expects to find LLVMgold in its own prefix # Clang expects to find LLVMgold in its own prefix
# Clang expects to find sanitizer libraries in its own prefix # Clang expects to find sanitizer libraries in its own prefix
postInstall = '' postInstall = ''
if [ -e ${llvm}/lib/LLVMgold.so ]; then
ln -sv ${llvm}/lib/LLVMgold.so $out/lib ln -sv ${llvm}/lib/LLVMgold.so $out/lib
fi
ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
ln -sv $out/bin/clang $out/bin/cpp ln -sv $out/bin/clang $out/bin/cpp
''; '';

View File

@ -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 let
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; 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 mv clang-tools-extra-* $sourceRoot/tools/extra
''; '';
buildInputs = [ cmake libedit libxml2 llvm python ]; buildInputs = [ cmake libxml2 llvm python ];
cmakeFlags = [ cmakeFlags = [
"-DCMAKE_CXX_FLAGS=-std=c++11" "-DCMAKE_CXX_FLAGS=-std=c++11"
@ -34,7 +34,10 @@ let
# Clang expects to find LLVMgold in its own prefix # Clang expects to find LLVMgold in its own prefix
# Clang expects to find sanitizer libraries in its own prefix # Clang expects to find sanitizer libraries in its own prefix
postInstall = '' postInstall = ''
if [ -e ${llvm}/lib/LLVMgold.so ]; then
ln -sv ${llvm}/lib/LLVMgold.so $out/lib ln -sv ${llvm}/lib/LLVMgold.so $out/lib
fi
ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
ln -sv $out/bin/clang $out/bin/cpp ln -sv $out/bin/clang $out/bin/cpp

View File

@ -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 let
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
@ -15,7 +15,7 @@ let
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ libedit libxml2 llvm python ]; buildInputs = [ libxml2 llvm python ];
cmakeFlags = [ cmakeFlags = [
"-DCMAKE_CXX_FLAGS=-std=c++11" "-DCMAKE_CXX_FLAGS=-std=c++11"
@ -36,7 +36,10 @@ let
# Clang expects to find LLVMgold in its own prefix # Clang expects to find LLVMgold in its own prefix
# Clang expects to find sanitizer libraries in its own prefix # Clang expects to find sanitizer libraries in its own prefix
postInstall = '' postInstall = ''
if [ -e ${llvm}/lib/LLVMgold.so ]; then
ln -sv ${llvm}/lib/LLVMgold.so $out/lib ln -sv ${llvm}/lib/LLVMgold.so $out/lib
fi
ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
ln -sv $out/bin/clang $out/bin/cpp ln -sv $out/bin/clang $out/bin/cpp

View File

@ -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 , fixDarwinDylibNames
, enableManpages ? false , enableManpages ? false
}: }:
@ -19,7 +19,7 @@ let
nativeBuildInputs = [ cmake python ] nativeBuildInputs = [ cmake python ]
++ stdenv.lib.optional enableManpages python.pkgs.sphinx; ++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
buildInputs = [ libedit libxml2 llvm ] buildInputs = [ libxml2 llvm ]
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
cmakeFlags = [ cmakeFlags = [
@ -52,7 +52,10 @@ let
# Clang expects to find LLVMgold in its own prefix # Clang expects to find LLVMgold in its own prefix
# Clang expects to find sanitizer libraries in its own prefix # Clang expects to find sanitizer libraries in its own prefix
postInstall = '' postInstall = ''
if [ -e ${llvm}/lib/LLVMgold.so ]; then
ln -sv ${llvm}/lib/LLVMgold.so $out/lib ln -sv ${llvm}/lib/LLVMgold.so $out/lib
fi
ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/ ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/
ln -sv $out/bin/clang $out/bin/cpp ln -sv $out/bin/clang $out/bin/cpp

View File

@ -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 , fixDarwinDylibNames
, enableManpages ? false , enableManpages ? false
}: }:
@ -19,7 +19,7 @@ let
nativeBuildInputs = [ cmake python ] nativeBuildInputs = [ cmake python ]
++ stdenv.lib.optional enableManpages python.pkgs.sphinx; ++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
buildInputs = [ libedit libxml2 llvm ] buildInputs = [ libxml2 llvm ]
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
cmakeFlags = [ cmakeFlags = [
@ -50,10 +50,12 @@ let
outputs = [ "out" "lib" "python" ]; outputs = [ "out" "lib" "python" ];
# Clang expects to find LLVMgold in its own prefix
# Clang expects to find sanitizer libraries in its own prefix
postInstall = '' postInstall = ''
# Clang expects to find LLVMgold in its own prefix
if [ -e ${llvm}/lib/LLVMgold.so ]; then
ln -sv ${llvm}/lib/LLVMgold.so $out/lib 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 ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/
ln -sv $out/bin/clang $out/bin/cpp ln -sv $out/bin/clang $out/bin/cpp

View File

@ -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 , fixDarwinDylibNames
, enableManpages ? false , enableManpages ? false
}: }:
@ -19,7 +19,7 @@ let
nativeBuildInputs = [ cmake python ] nativeBuildInputs = [ cmake python ]
++ stdenv.lib.optional enableManpages python.pkgs.sphinx; ++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
buildInputs = [ libedit libxml2 llvm ] buildInputs = [ libxml2 llvm ]
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
cmakeFlags = [ cmakeFlags = [
@ -53,7 +53,10 @@ let
# Clang expects to find LLVMgold in its own prefix # Clang expects to find LLVMgold in its own prefix
# Clang expects to find sanitizer libraries in its own prefix # Clang expects to find sanitizer libraries in its own prefix
postInstall = '' postInstall = ''
if [ -e ${llvm}/lib/LLVMgold.so ]; then
ln -sv ${llvm}/lib/LLVMgold.so $out/lib ln -sv ${llvm}/lib/LLVMgold.so $out/lib
fi
ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/ ln -sv ${llvm}/lib/clang/${release_version}/lib $out/lib/clang/${release_version}/
ln -sv $out/bin/clang $out/bin/cpp ln -sv $out/bin/clang $out/bin/cpp

View File

@ -133,6 +133,8 @@ let
buildFlags = [ "all" ]; buildFlags = [ "all" ];
doCheck = false; # fails with "No rule to make target 'y'."
installPhase = '' installPhase = ''
mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk

View File

@ -20,7 +20,7 @@ in
, buildTools ? [], libraryToolDepends ? [], executableToolDepends ? [], testToolDepends ? [], benchmarkToolDepends ? [] , buildTools ? [], libraryToolDepends ? [], executableToolDepends ? [], testToolDepends ? [], benchmarkToolDepends ? []
, configureFlags ? [] , configureFlags ? []
, description ? "" , description ? ""
, doCheck ? !isCross && (stdenv.lib.versionOlder "7.4" ghc.version) , doCheck ? !isCross && stdenv.lib.versionOlder "7.4" ghc.version
, doBenchmark ? false , doBenchmark ? false
, doHoogle ? true , doHoogle ? true
, editedCabalFile ? null , editedCabalFile ? null
@ -172,7 +172,7 @@ let
buildTools ++ libraryToolDepends ++ executableToolDepends; buildTools ++ libraryToolDepends ++ executableToolDepends;
propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends; propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends;
otherBuildInputs = setupHaskellDepends ++ extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++ otherBuildInputs = setupHaskellDepends ++ extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++
optionals (allPkgconfigDepends != []) allPkgconfigDepends ++ allPkgconfigDepends ++
optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testToolDepends) ++ optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testToolDepends) ++
optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkToolDepends); optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkToolDepends);
allBuildInputs = propagatedBuildInputs ++ otherBuildInputs; allBuildInputs = propagatedBuildInputs ++ otherBuildInputs;
@ -314,6 +314,8 @@ stdenv.mkDerivation ({
runHook postBuild runHook postBuild
''; '';
inherit doCheck;
checkPhase = '' checkPhase = ''
runHook preCheck runHook preCheck
${setupCommand} test ${testTarget} ${setupCommand} test ${testTarget}
@ -428,7 +430,6 @@ stdenv.mkDerivation ({
// optionalAttrs (postConfigure != "") { inherit postConfigure; } // optionalAttrs (postConfigure != "") { inherit postConfigure; }
// optionalAttrs (preBuild != "") { inherit preBuild; } // optionalAttrs (preBuild != "") { inherit preBuild; }
// optionalAttrs (postBuild != "") { inherit postBuild; } // optionalAttrs (postBuild != "") { inherit postBuild; }
// optionalAttrs (doCheck) { inherit doCheck; }
// optionalAttrs (doBenchmark) { inherit doBenchmark; } // optionalAttrs (doBenchmark) { inherit doBenchmark; }
// optionalAttrs (checkPhase != "") { inherit checkPhase; } // optionalAttrs (checkPhase != "") { inherit checkPhase; }
// optionalAttrs (preCheck != "") { inherit preCheck; } // optionalAttrs (preCheck != "") { inherit preCheck; }

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, unzip, version }: { stdenv, fetchurl, unzip, version ? "1.24.3" }:
let let

View File

@ -66,6 +66,7 @@ stdenv.mkDerivation rec {
# This is fixed here: # This is fixed here:
# <http://git.savannah.gnu.org/cgit/guile.git/commit/?h=branch_release-1-8&id=a0aa1e5b69d6ef0311aeea8e4b9a94eae18a1aaf>. # <http://git.savannah.gnu.org/cgit/guile.git/commit/?h=branch_release-1-8&id=a0aa1e5b69d6ef0311aeea8e4b9a94eae18a1aaf>.
doCheck = false; doCheck = false;
doInstallCheck = doCheck;
setupHook = ./setup-hook.sh; setupHook = ./setup-hook.sh;

View File

@ -89,6 +89,7 @@
# make check doesn't work on darwin # make check doesn't work on darwin
# On Linuxes+Hydra the tests are flaky; feel free to investigate deeper. # On Linuxes+Hydra the tests are flaky; feel free to investigate deeper.
doCheck = false; doCheck = false;
doInstallCheck = doCheck;
setupHook = ./setup-hook-2.0.sh; setupHook = ./setup-hook-2.0.sh;

View File

@ -85,6 +85,7 @@
# make check doesn't work on darwin # make check doesn't work on darwin
# On Linuxes+Hydra the tests are flaky; feel free to investigate deeper. # On Linuxes+Hydra the tests are flaky; feel free to investigate deeper.
doCheck = false; doCheck = false;
doInstallCheck = doCheck;
setupHook = ./setup-hook-2.2.sh; setupHook = ./setup-hook-2.2.sh;

View File

@ -105,6 +105,8 @@ let
passthru.libPrefix = "lib/perl5/site_perl"; passthru.libPrefix = "lib/perl5/site_perl";
doCheck = false; # some tests fail, expensive
# TODO: it seems like absolute paths to some coreutils is required. # TODO: it seems like absolute paths to some coreutils is required.
postInstall = postInstall =
'' ''

View File

@ -2,6 +2,7 @@
# and can build packages that use distutils, setuptools or flit. # and can build packages that use distutils, setuptools or flit.
{ lib { lib
, config
, python , python
, wrapPython , wrapPython
, setuptools , setuptools
@ -19,7 +20,7 @@ let
wheel-specific = import ./build-python-package-wheel.nix { }; wheel-specific = import ./build-python-package-wheel.nix { };
common = import ./build-python-package-common.nix { inherit python bootstrapped-pip; }; common = import ./build-python-package-common.nix { inherit python bootstrapped-pip; };
mkPythonDerivation = import ./mk-python-derivation.nix { 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 in

View File

@ -140,7 +140,10 @@ let
"ac_cv_computed_gotos=yes" "ac_cv_computed_gotos=yes"
"ac_cv_file__dev_ptmx=yes" "ac_cv_file__dev_ptmx=yes"
"ac_cv_file__dev_ptc=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 '' postConfigure = if hostPlatform.isCygwin then ''
sed -i Makefile -e 's,PYTHONPATH="$(srcdir),PYTHONPATH="$(abs_srcdir),' sed -i Makefile -e 's,PYTHONPATH="$(srcdir),PYTHONPATH="$(abs_srcdir),'
@ -241,6 +244,8 @@ in stdenv.mkDerivation {
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = false; # expensive, and fails
meta = { meta = {
homepage = http://python.org; homepage = http://python.org;
description = "A high-level dynamically-typed programming language"; description = "A high-level dynamically-typed programming language";

View File

@ -96,7 +96,10 @@ in stdenv.mkDerivation {
"--without-ensurepip" "--without-ensurepip"
"--with-system-expat" "--with-system-expat"
"--with-system-ffi" "--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 = '' preConfigure = ''
for i in /usr /sw /opt /pkg; do # improve purity for i in /usr /sw /opt /pkg; do # improve purity
@ -176,6 +179,8 @@ in stdenv.mkDerivation {
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = false; # expensive, and fails
meta = { meta = {
homepage = http://python.org; homepage = http://python.org;
description = "A high-level dynamically-typed programming language"; description = "A high-level dynamically-typed programming language";

View File

@ -67,6 +67,12 @@ in stdenv.mkDerivation {
patches = [ patches = [
./no-ldconfig.patch ./no-ldconfig.patch
./ld_library_path.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) [ ] ++ optionals (x11Support && stdenv.isDarwin) [
./use-correct-tcl-tk-on-darwin.patch ./use-correct-tcl-tk-on-darwin.patch
]; ];
@ -90,7 +96,10 @@ in stdenv.mkDerivation {
"--without-ensurepip" "--without-ensurepip"
"--with-system-expat" "--with-system-expat"
"--with-system-ffi" "--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 = '' preConfigure = ''
for i in /usr /sw /opt /pkg; do # improve purity for i in /usr /sw /opt /pkg; do # improve purity
@ -169,6 +178,8 @@ in stdenv.mkDerivation {
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = false; # expensive, and fails
meta = { meta = {
homepage = http://python.org; homepage = http://python.org;
description = "A high-level dynamically-typed programming language"; description = "A high-level dynamically-typed programming language";

View File

@ -69,6 +69,12 @@ in stdenv.mkDerivation {
patches = [ patches = [
./no-ldconfig.patch ./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) [ ] ++ optionals (x11Support && stdenv.isDarwin) [
./use-correct-tcl-tk-on-darwin.patch ./use-correct-tcl-tk-on-darwin.patch
]; ];
@ -113,7 +119,10 @@ in stdenv.mkDerivation {
"ac_cv_computed_gotos=yes" "ac_cv_computed_gotos=yes"
"ac_cv_file__dev_ptmx=yes" "ac_cv_file__dev_ptmx=yes"
"ac_cv_file__dev_ptc=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 = '' preConfigure = ''
for i in /usr /sw /opt /pkg; do # improve purity for i in /usr /sw /opt /pkg; do # improve purity
@ -193,6 +202,8 @@ in stdenv.mkDerivation {
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = false; # expensive, and fails
meta = { meta = {
homepage = http://python.org; homepage = http://python.org;
description = "A high-level dynamically-typed programming language"; description = "A high-level dynamically-typed programming language";

View File

@ -1,6 +1,7 @@
# Generic builder. # Generic builder.
{ lib { lib
, config
, python , python
, wrapPython , wrapPython
, setuptools , setuptools
@ -53,7 +54,7 @@
, passthru ? {} , passthru ? {}
, doCheck ? false , doCheck ? config.doCheckByDefault or false
, ... } @ attrs: , ... } @ attrs:
@ -74,7 +75,6 @@ toPythonModule (python.stdenv.mkDerivation (builtins.removeAttrs attrs [
buildInputs = [ wrapPython ] buildInputs = [ wrapPython ]
++ lib.optional (lib.hasSuffix "zip" (attrs.src.name or "")) unzip ++ lib.optional (lib.hasSuffix "zip" (attrs.src.name or "")) unzip
++ lib.optionals doCheck checkInputs
++ lib.optional catchConflicts setuptools # If we no longer propagate setuptools ++ lib.optional catchConflicts setuptools # If we no longer propagate setuptools
++ buildInputs ++ buildInputs
++ pythonPath; ++ pythonPath;
@ -85,6 +85,7 @@ toPythonModule (python.stdenv.mkDerivation (builtins.removeAttrs attrs [
# Python packages don't have a checkPhase, only an installCheckPhase # Python packages don't have a checkPhase, only an installCheckPhase
doCheck = false; doCheck = false;
doInstallCheck = doCheck; doInstallCheck = doCheck;
installCheckInputs = checkInputs;
postFixup = lib.optionalString (!dontWrapPythonPrograms) '' postFixup = lib.optionalString (!dontWrapPythonPrograms) ''
wrapPythonPrograms wrapPythonPrograms

View File

@ -94,7 +94,7 @@ let
# support is disabled (if it's enabled, we already have it) and we're # support is disabled (if it's enabled, we already have it) and we're
# running on darwin # running on darwin
++ (op (!cursesSupport && stdenv.isDarwin) readline) ++ (op (!cursesSupport && stdenv.isDarwin) readline)
++ (op (isRuby25 && stdenv.isDarwin) Foundation) ++ (op stdenv.isDarwin Foundation)
++ (ops stdenv.isDarwin (with darwin; [ libiconv libobjc libunwind ])); ++ (ops stdenv.isDarwin (with darwin; [ libiconv libobjc libunwind ]));
enableParallelBuilding = true; enableParallelBuilding = true;
@ -136,6 +136,8 @@ let
++ op (stdenv.hostPlatform != stdenv.buildPlatform) ++ op (stdenv.hostPlatform != stdenv.buildPlatform)
"--with-baseruby=${buildRuby}"; "--with-baseruby=${buildRuby}";
doCheck = false; # expensive, fails
preInstall = '' preInstall = ''
# Ruby installs gems here itself now. # Ruby installs gems here itself now.
mkdir -pv "$out/${passthru.gemPath}" mkdir -pv "$out/${passthru.gemPath}"
@ -200,26 +202,26 @@ let
in { in {
ruby_2_3 = generic { ruby_2_3 = generic {
version = rubyVersion "2" "3" "6" ""; version = rubyVersion "2" "3" "7" "";
sha256 = { sha256 = {
src = "07jpa7fw1gyf069m7alf2b0zm53qm08w2ns45mhzmvgrg4r528l3"; src = "0zvx5kdp1frjs9n95n7ba7dy0alax33wi3nj8034m3ppvnf39k9m";
git = "1bk59i0ygdc5z3zz3k6indfrxd2ix55np6rwvkcdpdw8svm749ds"; git = "11wbzw2ywwfnvlkg3qjg0as2pzk5zyk63y2iis42d91lg1l2flrk";
}; };
}; };
ruby_2_4 = generic { ruby_2_4 = generic {
version = rubyVersion "2" "4" "3" ""; version = rubyVersion "2" "4" "4" "";
sha256 = { sha256 = {
src = "161smb52q19r9lrzy22b3bhnkd0z8wjffm0qsfkml14j5ic7a0zx"; src = "0nmfr2lijik6cykk0zbj11zcapcrvmdvq83k3r6q3k74g4d1qkr5";
git = "0x2lqbqm2rq9j5zh1p72dma56nqvdkfbgzb9wybm4y4hwhiw8c1m"; git = "103cs7hz1v0h84lbrippl87s4lawi20m406rs5dgxl2gr2wyjpy5";
}; };
}; };
ruby_2_5 = generic { ruby_2_5 = generic {
version = rubyVersion "2" "5" "0" ""; version = rubyVersion "2" "5" "1" "";
sha256 = { sha256 = {
src = "1azj0d2lzziw6iml7bx3sxpxzcdmfwfq3yhm7djyp20q1xiz7rj6"; src = "1c99k0fjaq7k09104h1b1cqx6mrk2b14ic1jjnxc6yav68i1ij6s";
git = "0d436nqmp3ykdkp4sck5bb8sf3qvx30x1p58xh8axv66mvsyc2jd"; git = "1j0fd16aq9x98n0kq9c3kfp2sh6xcsq8q4733p0wfqjh3vz50kyj";
}; };
}; };
} }

View File

@ -6,17 +6,17 @@ rec {
"${patchSet}/patches/ruby/2.2/head/railsexpress/02-improve-gc-stats.patch" "${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" "${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/01-skip-broken-tests.patch"
"${patchSet}/patches/ruby/2.3/head/railsexpress/02-improve-gc-stats.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" "${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/01-skip-broken-tests.patch"
"${patchSet}/patches/ruby/2.4/head/railsexpress/02-improve-gc-stats.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" "${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/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/02-improve-gc-stats.patch"
"${patchSet}/patches/ruby/2.5/head/railsexpress/03-more-detailed-stacktrace.patch" "${patchSet}/patches/ruby/2.5/head/railsexpress/03-more-detailed-stacktrace.patch"

View File

@ -39,6 +39,8 @@ stdenv.mkDerivation rec {
"-Ddep11=false" "-Ddep11=false"
]; ];
doCheck = false; # fails at least 1 test
postInstall = '' postInstall = ''
moveToOutput "share/installed-tests" "$installedTests" moveToOutput "share/installed-tests" "$installedTests"
''; '';

View File

@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
buildInputs = [ python popt atk libX11 libICE xorg.libXtst libXi buildInputs = [ python popt atk libX11 libICE xorg.libXtst libXi
dbus-glib at-spi2-core libSM ]; dbus-glib at-spi2-core libSM ];
doCheck = false; # needs dbus daemon
meta = with stdenv.lib; { meta = with stdenv.lib; {
platforms = platforms.unix; platforms = platforms.unix;
}; };

View File

@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
# ToDo: on non-NixOS we create a symlink from there? # ToDo: on non-NixOS we create a symlink from there?
configureFlags = "--with-dbus-daemondir=/run/current-system/sw/bin/"; configureFlags = "--with-dbus-daemondir=/run/current-system/sw/bin/";
doCheck = false; # needs dbus daemon
meta = with stdenv.lib; { meta = with stdenv.lib; {
platforms = platforms.unix; platforms = platforms.unix;
}; };

View File

@ -4,14 +4,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "boehm-gc-${version}"; name = "boehm-gc-${version}";
version = "7.6.4"; version = "7.6.6";
src = fetchurl { src = fetchurl {
urls = [ urls = [
"http://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz" "http://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
"https://github.com/ivmai/bdwgc/releases/download/v${version}/gc-${version}.tar.gz" "https://github.com/ivmai/bdwgc/releases/download/v${version}/gc-${version}.tar.gz"
]; ];
sha256 = "076dzsqqyxd3nlzs0z277vvhqjp8nv5dqi763s0m90zr6ljiyk5r"; sha256 = "1p1r015a7jbpvkkbgzv1y8nxrbbp6dg0mq3ksi6ji0qdz3wfss79";
}; };
buildInputs = [ libatomic_ops ]; buildInputs = [ libatomic_ops ];

View File

@ -55,11 +55,11 @@ let
"--layout=${layout}" "--layout=${layout}"
"variant=${variant}" "variant=${variant}"
"threading=${threading}" "threading=${threading}"
"runtime-link=${runtime-link}"
"link=${link}" "link=${link}"
"-sEXPAT_INCLUDE=${expat.dev}/include" "-sEXPAT_INCLUDE=${expat.dev}/include"
"-sEXPAT_LIBPATH=${expat.out}/lib" "-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 (toolset != null) "toolset=${toolset}"
++ optional (mpi != null || hostPlatform != buildPlatform) "--user-config=user-config.jam" ++ optional (mpi != null || hostPlatform != buildPlatform) "--user-config=user-config.jam"
++ optionals (hostPlatform.libc == "msvcrt") [ ++ optionals (hostPlatform.libc == "msvcrt") [

View File

@ -2,11 +2,11 @@
let self = let self =
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "c-ares-1.13.0"; name = "c-ares-1.14.0";
src = fetchurl { src = fetchurl {
url = "http://c-ares.haxx.se/download/${name}.tar.gz"; url = "http://c-ares.haxx.se/download/${name}.tar.gz";
sha256 = "19qxhv9aiw903fr808y77r6l9js0fq9m3gcaqckan9jan7qhixq3"; sha256 = "0vnwmbvymw677k780kpb6sb8i3szdp89rzy8mz1fwg1657yw3ls5";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -9,25 +9,17 @@
assert glSupport -> libGL != null; assert glSupport -> libGL != null;
let inherit (stdenv.lib) optional optionals; in let
version = "1.15.10";
stdenv.mkDerivation rec { inherit (stdenv.lib) optional optionals;
name = "cairo-1.14.10"; in stdenv.mkDerivation rec {
name = "cairo-${version}";
src = fetchurl { src = fetchurl {
url = "http://cairographics.org/releases/${name}.tar.xz"; 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 = "02banr0wxckq62nbhc3mqidfdh2q956i2r7w2hd9bjgjb238g1vy"; 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" ]; outputs = [ "out" "dev" "devdoc" ];
outputBin = "dev"; # very small outputBin = "dev"; # very small
@ -80,6 +72,8 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = false; # fails
postInstall = stdenv.lib.optionalString stdenv.isDarwin glib.flattenInclude; postInstall = stdenv.lib.optionalString stdenv.isDarwin glib.flattenInclude;
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
buildInputs = [] buildInputs = []
++ stdenv.lib.optional liboggSupport libogg; ++ stdenv.lib.optional liboggSupport libogg;
doCheck = false; # fails
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Ultra-low delay audio codec"; description = "Ultra-low delay audio codec";
homepage = http://www.celt-codec.org/; homepage = http://www.celt-codec.org/;

View File

@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
sed -ie 's/<stdlib.h>/<stdlib.h>\n#include <unistd.h>/' src/CTPP2FileSourceLoader.cpp sed -ie 's/<stdlib.h>/<stdlib.h>\n#include <unistd.h>/' src/CTPP2FileSourceLoader.cpp
''; '';
doCheck = false; # fails
meta = { meta = {
description = "A high performance templating engine"; description = "A high performance templating engine";
homepage = http://ctpp.havoc.ru; homepage = http://ctpp.havoc.ru;

View File

@ -20,6 +20,8 @@ stdenv.mkDerivation (rec {
patches = extraPatches; patches = extraPatches;
outputs = [ "out" "lib" ];
configureFlags = configureFlags =
[ [
(if cxxSupport then "--enable-cxx" else "--disable-cxx") (if cxxSupport then "--enable-cxx" else "--disable-cxx")

View File

@ -14,6 +14,8 @@ stdenv.mkDerivation {
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
doCheck = false; # a couple of tests fail with "Child aborted"
postInstall = '' postInstall = ''
sed -e '/Cflags:/s@''${prefix}/@@' -i "$out"/share/pkgconfig/eigen3.pc sed -e '/Cflags:/s@''${prefix}/@@' -i "$out"/share/pkgconfig/eigen3.pc
''; '';

View File

@ -17,6 +17,8 @@ in stdenv.mkDerivation rec {
buildInputs = [ glib hunspell ]; buildInputs = [ glib hunspell ];
propagatedBuildInputs = [ hspell aspell ]; # libtool puts it to la file 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; { meta = with stdenv.lib; {
description = "Generic spell checking library"; description = "Generic spell checking library";
homepage = https://abiword.github.io/enchant/; homepage = https://abiword.github.io/enchant/;

View File

@ -6,13 +6,13 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "epoxy-${version}"; name = "epoxy-${version}";
version = "1.5.0"; version = "1.5.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "anholt"; owner = "anholt";
repo = "libepoxy"; repo = "libepoxy";
rev = "${version}"; rev = "${version}";
sha256 = "1ixpqb10pmdy3n9nxd5inflig9dal5502ggadcns5b58j6jr0yv0"; sha256 = "1811agxr7g9wd832np8sw152j468kg3qydmfkc564v54ncfcgaci";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = ''-DLIBGL_PATH="${getLib libGL}/lib"''; NIX_CFLAGS_COMPILE = ''-DLIBGL_PATH="${getLib libGL}/lib"'';
doCheck = false; # needs X11
meta = { meta = {
description = "A library for handling OpenGL function pointer management"; description = "A library for handling OpenGL function pointer management";
homepage = https://github.com/anholt/libepoxy; homepage = https://github.com/anholt/libepoxy;

View File

@ -160,9 +160,10 @@ stdenv.mkDerivation rec {
++ optional vdpauSupport libvdpau ++ optional vdpauSupport libvdpau
++ optional sdlSupport (if reqMin "3.2" then SDL2 else SDL); ++ optional sdlSupport (if reqMin "3.2" then SDL2 else SDL);
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = false; # fails
postFixup = '' postFixup = ''
moveToOutput bin "$bin" moveToOutput bin "$bin"
moveToOutput share/ffmpeg/examples "$doc" moveToOutput share/ffmpeg/examples "$doc"

View File

@ -1,40 +1,74 @@
{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11, gnome3 { stdenv, fetchurl, fetchgit, fetchpatch, meson, ninja, pkgconfig, gettext, python3, libxml2, libxslt, docbook_xsl
, jasper, gobjectIntrospection, doCheck ? false }: , docbook_xml_dtd_43, gtk-doc, glib, libtiff, libjpeg, libpng, libX11, gnome3
, jasper, gobjectIntrospection, doCheck ? false, makeWrapper }:
let let
pname = "gdk-pixbuf"; pname = "gdk-pixbuf";
version = "2.36.7"; version = "2.36.12";
# 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.
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { # TODO: Change back once tests/bug753605-atsize.jpg is part of the dist tarball
url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz"; # src = fetchurl {
sha256 = "1b6e5eef09d98f05f383014ecd3503e25dfb03d7e5b5f5904e5a65b049a6a4d8"; # 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; setupHook = ./setup-hook.sh;
enableParallelBuilding = true;
# !!! We might want to factor out the gdk-pixbuf-xlib subpackage. # !!! 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 ]; propagatedBuildInputs = [ glib libtiff libjpeg libpng jasper ];
configureFlags = "--with-libjasper --with-x11" mesonFlags = [
+ stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes" "-Ddocs=true"
; "-Djasper=true"
"-Dx11=true"
"-Dgir=${if gobjectIntrospection != null then "true" else "false"}"
];
# on darwin, tests don't link postPatch = ''
preBuild = stdenv.lib.optionalString (stdenv.isDarwin && !doCheck) '' chmod +x build-aux/* # patchShebangs only applies to executables
substituteInPlace Makefile --replace "docs tests" "docs" patchShebangs build-aux
substituteInPlace tests/meson.build --subst-var-by installedtestsprefix "$installedTests"
''; '';
postInstall = postInstall =
@ -42,10 +76,13 @@ stdenv.mkDerivation rec {
'' ''
moveToOutput "bin" "$dev" moveToOutput "bin" "$dev"
moveToOutput "bin/gdk-pixbuf-thumbnailer" "$out" 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). # The tests take an excessive amount of time (> 1.5 hours) and memory (> 6 GB).
inherit (doCheck); inherit doCheck;
passthru = { passthru = {
updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {

View File

@ -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)

View 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 ]

View File

@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
doCheck = false; # fails 3 out of 19 tests
meta = { meta = {
description = "Graph-based image processing framework"; description = "Graph-based image processing framework";
homepage = http://www.gegl.org; homepage = http://www.gegl.org;

View File

@ -5,11 +5,11 @@
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "geoclue-2.4.7"; name = "geoclue-2.4.8";
src = fetchurl { src = fetchurl {
url = "http://www.freedesktop.org/software/geoclue/releases/2.4/${name}.tar.xz"; url = "http://www.freedesktop.org/software/geoclue/releases/2.4/${name}.tar.xz";
sha256 = "19hfmr8fa1js8ynazdyjxlyrqpjn6m1719ay70ilga4rayxrcyyi"; sha256 = "08yg1r7m0n9hwyvcy769qkmkf8lslqwv69cjfffwnc3zm5km25qj";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View File

@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = false; # hangs. or very expensive?
meta = { meta = {
description = "The Git linkable library"; description = "The Git linkable library";
homepage = https://libgit2.github.com/; homepage = https://libgit2.github.com/;

View File

@ -26,6 +26,8 @@ stdenv.mkDerivation (rec {
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = false; # hangs. or very expensive?
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "The Git linkable library"; description = "The Git linkable library";
homepage = https://libgit2.github.com/; homepage = https://libgit2.github.com/;

View File

@ -191,6 +191,8 @@ stdenv.mkDerivation ({
preBuild = lib.optionalString withGd "unset NIX_DONT_SET_RPATH"; preBuild = lib.optionalString withGd "unset NIX_DONT_SET_RPATH";
doCheck = false; # fails
meta = { meta = {
homepage = http://www.gnu.org/software/libc/; homepage = http://www.gnu.org/software/libc/;
description = "The GNU C Library"; description = "The GNU C Library";

View File

@ -49,6 +49,8 @@ stdenv.mkDerivation rec {
cairoLib = "${getLib cairo}/lib"; cairoLib = "${getLib cairo}/lib";
}); });
doCheck = false; # fails
passthru = { passthru = {
updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {
packageName = pname; packageName = pname;

View File

@ -31,6 +31,8 @@ mkDerivation rec {
setupHook = ./setup-hook.sh; setupHook = ./setup-hook.sh;
doCheck = false; # fails all the tests (ctest)
meta = with lib; { meta = with lib; {
description = "Qt5 port of Django template system"; description = "Qt5 port of Django template system";
longDescription = '' longDescription = ''

View File

@ -70,4 +70,9 @@ stdenv.mkDerivation rec {
++ optional (!stdenv.isDarwin) wildmidi ++ optional (!stdenv.isDarwin) wildmidi
# TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin # TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin
++ optional (!stdenv.isDarwin) mjpegtools; ++ optional (!stdenv.isDarwin) mjpegtools;
enableParallelBuilding = true;
doCheck = false; # fails 20 out of 58 tests, expensive
} }

View File

@ -49,6 +49,8 @@ stdenv.mkDerivation rec {
"--disable-visibility" "--disable-visibility"
]; ];
doCheck = false; # needs X11
postInstall = '' postInstall = ''
moveToOutput share/gtk-2.0/demo "$devdoc" moveToOutput share/gtk-2.0/demo "$devdoc"
# The updater is needed for nixos env and it's tiny. # The updater is needed for nixos env and it's tiny.

View File

@ -63,6 +63,8 @@ stdenv.mkDerivation rec {
"--enable-wayland-backend" "--enable-wayland-backend"
]; ];
doCheck = false; # needs X11
postInstall = optionalString (!stdenv.isDarwin) '' postInstall = optionalString (!stdenv.isDarwin) ''
substituteInPlace "$out/lib/gtk-3.0/3.0.0/printbackends/libprintbackend-cups.la" \ substituteInPlace "$out/lib/gtk-3.0/3.0.0/printbackends/libprintbackend-cups.la" \
--replace '-L${gmp.dev}/lib' '-L${gmp.out}/lib' --replace '-L${gmp.dev}/lib' '-L${gmp.out}/lib'

View File

@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ glib gettext ]; buildInputs = [ glib gettext ];
doCheck = false; # fails with "permission denied"
meta = { meta = {
homepage = http://gts.sourceforge.net/; homepage = http://gts.sourceforge.net/;
license = stdenv.lib.licenses.lgpl2Plus; license = stdenv.lib.licenses.lgpl2Plus;

View File

@ -15,6 +15,8 @@ stdenv.mkDerivation {
sha256 = "0yfhqwk0w8q2hyv1jib1008jvzmwlpsxvc8qjllhna6p1hycqj97"; sha256 = "0yfhqwk0w8q2hyv1jib1008jvzmwlpsxvc8qjllhna6p1hycqj97";
}; };
doCheck = false; # fails to compile
meta = { meta = {
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;
}; };

View File

@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = false; # fails
postInstall = '' postInstall = ''
moveToOutput bin "$bin" moveToOutput bin "$bin"
''; '';

View File

@ -62,6 +62,7 @@ stdenv.mkDerivation rec {
''; '';
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = false; # fails with "No suitable file for testing purposes"
meta = { meta = {
description = "MIT Kerberos 5"; description = "MIT Kerberos 5";

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