Merge older staging

There are some regressions, but not that many and I want
the security update of openssl fast.
This commit is contained in:
Vladimír Čunát 2017-12-11 09:49:56 +01:00
commit e9c12f6936
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
88 changed files with 791 additions and 617 deletions

View File

@ -251,10 +251,17 @@ genericBuild
<varlistentry> <varlistentry>
<term><varname>enableParallelBuilding</varname></term> <term><varname>enableParallelBuilding</varname></term>
<listitem><para>If set, <literal>stdenv</literal> will pass specific <listitem>
flags to <literal>make</literal> and other build tools to enable <para>If set to <literal>true</literal>, <literal>stdenv</literal> will
parallel building with up to <literal>build-cores</literal> pass specific flags to <literal>make</literal> and other build tools to
workers.</para></listitem> enable parallel building with up to <literal>build-cores</literal>
workers.</para>
<para>Unless set to <literal>false</literal>, some build systems with good
support for parallel building including <literal>cmake</literal>,
<literal>meson</literal>, and <literal>qmake</literal> will set it to
<literal>true</literal>.</para>
</listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>

View File

@ -39,7 +39,7 @@ import ./make-test.nix ({pkgs, ... }: {
$client->waitForUnit("cups.service"); $client->waitForUnit("cups.service");
$client->sleep(10); # wait until cups is fully initialized $client->sleep(10); # wait until cups is fully initialized
$client->succeed("lpstat -r") =~ /scheduler is running/ or die; $client->succeed("lpstat -r") =~ /scheduler is running/ or die;
$client->succeed("lpstat -H") =~ "/var/run/cups/cups.sock" or die; $client->succeed("lpstat -H") =~ "localhost:631" or die;
$client->succeed("curl --fail http://localhost:631/"); $client->succeed("curl --fail http://localhost:631/");
$client->succeed("curl --fail http://server:631/"); $client->succeed("curl --fail http://server:631/");
$server->fail("curl --fail --connect-timeout 2 http://client:631/"); $server->fail("curl --fail --connect-timeout 2 http://client:631/");

View File

@ -31,6 +31,10 @@ stdenv.mkDerivation rec{
then "install -D bitcoin-qt $out/bin/memorycoin-qt" then "install -D bitcoin-qt $out/bin/memorycoin-qt"
else "install -D bitcoind $out/bin/memorycoind"; else "install -D bitcoind $out/bin/memorycoind";
# `make build/version.o`:
# make: *** No rule to make target 'build/build.h', needed by 'build/version.o'. Stop.
enableParallelBuilding = false;
meta = { meta = {
description = "Peer-to-peer, CPU-based electronic cash system"; description = "Peer-to-peer, CPU-based electronic cash system";
longDescription= '' longDescription= ''

View File

@ -31,6 +31,10 @@ stdenv.mkDerivation rec{
then "install -D bitcoin-qt $out/bin/primecoin-qt" then "install -D bitcoin-qt $out/bin/primecoin-qt"
else "install -D bitcoind $out/bin/primecoind"; else "install -D bitcoind $out/bin/primecoind";
# `make build/version.o`:
# make: *** No rule to make target 'build/build.h', needed by 'build/version.o'. Stop.
enableParallelBuilding = false;
meta = { meta = {
description = "A new type cryptocurrency which is proof-of-work based on searching for prime numbers"; description = "A new type cryptocurrency which is proof-of-work based on searching for prime numbers";
longDescription= '' longDescription= ''

View File

@ -14,8 +14,9 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake makeWrapper ]; nativeBuildInputs = [ cmake makeWrapper ];
# `make -f src/providers/wms/CMakeFiles/wmsprovider_a.dir/build.make src/providers/wms/CMakeFiles/wmsprovider_a.dir/qgswmssourceselect.cpp.o`:
# fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory # fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory
#enableParallelBuilding = true; enableParallelBuilding = false;
# To handle the lack of 'local' RPATH; required, as they call one of # To handle the lack of 'local' RPATH; required, as they call one of
# their built binaries requiring their libs, in the build process. # their built binaries requiring their libs, in the build process.

View File

@ -15,6 +15,7 @@ let
name = "qtnproperty"; name = "qtnproperty";
inherit src; inherit src;
sourceRoot = "AwesomeBump/Sources/utils/QtnProperty"; sourceRoot = "AwesomeBump/Sources/utils/QtnProperty";
patches = [ ./qtnproperty-parallel-building.patch ];
buildInputs = [ qtscript qtbase qtdeclarative ]; buildInputs = [ qtscript qtbase qtdeclarative ];
nativeBuildInputs = [ qmake flex bison ]; nativeBuildInputs = [ qmake flex bison ];
postInstall = '' postInstall = ''
@ -46,6 +47,10 @@ in stdenv.mkDerivation rec {
--run "cd $d" --run "cd $d"
''; '';
# $ cd Sources; qmake; make ../workdir/linux-g++-dgb-gl4/obj/glwidget.o
# fatal error: properties/ImageProperties.peg.h: No such file or directory
enableParallelBuilding = false;
meta = { meta = {
homepage = https://github.com/kmkolasinski/AwesomeBump; homepage = https://github.com/kmkolasinski/AwesomeBump;
description = "A program to generate normal, height, specular or ambient occlusion textures from a single image"; description = "A program to generate normal, height, specular or ambient occlusion textures from a single image";

View File

@ -0,0 +1,9 @@
--- a/PEG/Flex.pri
+++ b/PEG/Flex.pri
@@ -1,5 +1,6 @@
flex.name = Flex ${QMAKE_FILE_IN}
flex.input = FLEX_SOURCES
+flex.depends = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.parser.cpp
flex.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.lexer.cpp
win32:flex.commands = win_flex --wincompat -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.lexer.cpp ${QMAKE_FILE_IN}

View File

@ -30,6 +30,10 @@ stdenv.mkDerivation rec {
runHook postInstall runHook postInstall
''; '';
# RCC: Error in 'Resources/application.qrc': Cannot find file 'translations/gc_fr.qm'
enableParallelBuilding = false;
meta = { meta = {
description = "Performance software for cyclists, runners and triathletes"; description = "Performance software for cyclists, runners and triathletes";
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub { stdenv, fetchFromGitHub
, vala, cmake, wrapGAppsHook, pkgconfig, gettext , vala, cmake, ninja, wrapGAppsHook, pkgconfig, gettext
, gobjectIntrospection, gnome3, glib, gdk_pixbuf, gtk3, glib_networking , gobjectIntrospection, gnome3, glib, gdk_pixbuf, gtk3, glib_networking
, xorg, libXdmcp, libxkbcommon , xorg, libXdmcp, libxkbcommon
, libnotify, libsoup , libnotify, libsoup
@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ nativeBuildInputs = [
vala vala
cmake cmake
ninja
pkgconfig pkgconfig
wrapGAppsHook wrapGAppsHook
]; ];

View File

@ -46,6 +46,9 @@ stdenv.mkDerivation rec {
cp icons/ricochet.png $out/share/pixmaps/ricochet.png cp icons/ricochet.png $out/share/pixmaps/ricochet.png
''; '';
# RCC: Error in 'translation/embedded.qrc': Cannot find file 'ricochet_en.qm'
enableParallelBuilding = false;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Anonymous peer-to-peer instant messaging"; description = "Anonymous peer-to-peer instant messaging";
homepage = https://ricochet.im; homepage = https://ricochet.im;

View File

@ -54,6 +54,10 @@ stdenv.mkDerivation rec {
EOF EOF
''; '';
# `cd common; qmake ostproto.pro; make pdmlreader.o`:
# pdmlprotocol.h:23:25: fatal error: protocol.pb.h: No such file or directory
enableParallelBuilding = false;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A packet traffic generator and analyzer"; description = "A packet traffic generator and analyzer";
homepage = http://ostinato.org; homepage = http://ostinato.org;

View File

@ -23,6 +23,10 @@ stdenv.mkDerivation rec {
) )
''; '';
# `make -f lib/Interface/CMakeFiles/cppinterface.dir/build.make lib/Interface/CMakeFiles/cppinterface.dir/cpp_interface.cpp.o`:
# include/stp/AST/UsefulDefs.h:41:29: fatal error: stp/AST/ASTKind.h: No such file or directory
enableParallelBuilding = false;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Simple Theorem Prover"; description = "Simple Theorem Prover";
maintainers = with maintainers; [ mornfall ]; maintainers = with maintainers; [ mornfall ];

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, ccache, cmake, ctags, swig { stdenv, lib, fetchFromGitHub, fetchpatch, ccache, cmake, ctags, swig
# data, compression # data, compression
, bzip2, curl, hdf5, json_c, lzma, lzo, protobuf, snappy , bzip2, curl, hdf5, json_c, lzma, lzo, protobuf, snappy
# maths # maths
@ -27,6 +27,12 @@ stdenv.mkDerivation rec {
fetchSubmodules = true; fetchSubmodules = true;
}; };
patches = fetchpatch {
name = "Fix-meta-example-parser-bug-in-parallel-builds.patch";
url = "https://github.com/shogun-toolbox/shogun/commit/ecd6a8f11ac52748e89d27c7fab7f43c1de39f05.patch";
sha256 = "1hrwwrj78sxhwcvgaz7n4kvh5y9snfcc4jf5xpgji5hjymnl311n";
};
CCACHE_DIR=".ccache"; CCACHE_DIR=".ccache";
buildInputs = with lib; [ buildInputs = with lib; [

View File

@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
branch = "net.venge.monotone.guitone"; branch = "net.venge.monotone.guitone";
}; };
patches = [ ./parallel-building.patch ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ qt4 qmake4Hook graphviz ]; buildInputs = [ qt4 qmake4Hook graphviz ];
@ -24,6 +26,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Qt4 based GUI for monotone"; description = "Qt4 based GUI for monotone";
homepage = http://guitone.thomaskeller.biz; homepage = http://guitone.thomaskeller.biz;
downloadPage = https://code.monotone.ca/p/guitone/;
inherit (qt4.meta) platforms; inherit (qt4.meta) platforms;
}; };
} }

View File

@ -0,0 +1,7 @@
Without this `make tmp/AttributesView.o` fails with
src/view/dialogs/AddEditAttribute.h:22:35: fatal error: ui_add_edit_attribute.h: No such file or directory
--- a/guitone.pro
+++ b/guitone.pro
@@ -215 +215,2 @@ help.commands = @echo Available targets: $${QMAKE_EXTRA_TARGETS}
QMAKE_EXTRA_TARGETS += help
+CONFIG += depend_includepath

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "gedit-3.22.0"; name = "gedit-3.22.1";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/gedit/3.22/gedit-3.22.0.tar.xz; url = mirror://gnome/sources/gedit/3.22/gedit-3.22.1.tar.xz;
sha256 = "063b5a0b5dcc8f540f6e8c3ea1c22cf8a3a19edffc25315a1b6bc51d462b3f45"; sha256 = "aa7bc3618fffa92fdb7daf2f57152e1eb7962e68561a9c92813d7bbb7fc9492b";
}; };
} }

View File

@ -1,4 +1,4 @@
{ stdenv, intltool, fetchurl, python, autoreconfHook { stdenv, intltool, fetchurl, python
, pkgconfig, gtk3, glib, gobjectIntrospection , pkgconfig, gtk3, glib, gobjectIntrospection
, wrapGAppsHook, itstool, libxml2, docbook_xsl , wrapGAppsHook, itstool, libxml2, docbook_xsl
, gnome3, gdk_pixbuf, libxslt }: , gnome3, gdk_pixbuf, libxslt }:
@ -6,12 +6,8 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src; inherit (import ./src.nix fetchurl) name src;
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig intltool itstool wrapGAppsHook docbook_xsl libxslt gobjectIntrospection pkgconfig intltool itstool wrapGAppsHook docbook_xsl libxslt gobjectIntrospection
# reconfiguration
autoreconfHook gnome3.gnome_common gnome3.yelp_tools
]; ];
buildInputs = [ gtk3 glib libxml2 python buildInputs = [ gtk3 glib libxml2 python
gnome3.gsettings_desktop_schemas gnome3.gsettings_desktop_schemas
@ -19,20 +15,6 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
patches = [
# https://bugzilla.gnome.org/show_bug.cgi?id=782161
(fetchurl {
url = https://bugzilla.gnome.org/attachment.cgi?id=351054;
sha256 = "093wjjj40027pkqqnm14jb2dp2i2m8p1bayqx1lw18pq66c8fahn";
})
];
preFixup = ''
wrapProgram "$out/bin/glade" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Glade; homepage = https://wiki.gnome.org/Apps/Glade;
description = "User interface designer for GTK+ applications"; description = "User interface designer for GTK+ applications";

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "glade-3.20.0"; name = "glade-3.20.2";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/glade/3.20/glade-3.20.0.tar.xz; url = mirror://gnome/sources/glade/3.20/glade-3.20.2.tar.xz;
sha256 = "82d96dca5dec40ee34e2f41d49c13b4ea50da8f32a3a49ca2da802ff14dc18fe"; sha256 = "07d1545570951aeded20e9fdc6d3d8a56aeefe2538734568c5335be336c6abed";
}; };
} }

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "adwaita-icon-theme-3.26.0"; name = "adwaita-icon-theme-3.26.1";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/adwaita-icon-theme/3.26/adwaita-icon-theme-3.26.0.tar.xz; url = mirror://gnome/sources/adwaita-icon-theme/3.26/adwaita-icon-theme-3.26.1.tar.xz;
sha256 = "9cad85de19313f5885497aceab0acbb3f08c60fcd5fa5610aeafff37a1d12212"; sha256 = "28ba7392c7761996efd780779167ea6c940eedfb1bf37cfe9bccb7021f54d79d";
}; };
} }

View File

@ -6,11 +6,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "dconf-${version}"; name = "dconf-${version}";
version = "${majorVersion}.0"; version = "${majorVersion}.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/dconf/${majorVersion}/${name}.tar.xz"; url = "mirror://gnome/sources/dconf/${majorVersion}/${name}.tar.xz";
sha256 = "1jaqsr1r0grpd25rbsc2v3vb0sc51lia9w31wlqswgqsncp2k0w6"; sha256 = "0da587hpiqy8h3pswn1102h4b905x8k6mk3ajpi7kf4kzkvv30ym";
}; };
outputs = [ "out" "lib" "dev" ]; outputs = [ "out" "lib" "dev" ];

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "gsettings-desktop-schemas-3.24.0"; name = "gsettings-desktop-schemas-3.24.1";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/gsettings-desktop-schemas/3.24/gsettings-desktop-schemas-3.24.0.tar.xz; url = mirror://gnome/sources/gsettings-desktop-schemas/3.24/gsettings-desktop-schemas-3.24.1.tar.xz;
sha256 = "f6573a3f661d22ff8a001cc2421d8647717f1c0e697e342d03c6102f29bbbb90"; sha256 = "76a3fa309f9de6074d66848987214f0b128124ba7184c958c15ac78a8ac7eea7";
}; };
} }

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "gtksourceview-3.24.3"; name = "gtksourceview-3.24.5";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/gtksourceview/3.24/gtksourceview-3.24.3.tar.xz; url = mirror://gnome/sources/gtksourceview/3.24/gtksourceview-3.24.5.tar.xz;
sha256 = "3eed05486a6420c3e2fdda0bbb19a0d905ed09ebf442302a026ab7e574204cbd"; sha256 = "0246185fcc20c4734d01419a83f58f251a82e2a902fe60bb0335187fcf658181";
}; };
} }

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "gucharmap-10.0.1"; name = "gucharmap-10.0.3";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/gucharmap/10.0/gucharmap-10.0.1.tar.xz; url = mirror://gnome/sources/gucharmap/10.0/gucharmap-10.0.3.tar.xz;
sha256 = "51a2bf91c4590ea2159f828156864f088a0bd4c12e7a1c396002a23d48b2d5e2"; sha256 = "ac07d75924e2d8f436d9492e8f7d54cf109404d34de06886a3967563cd1726a4";
}; };
} }

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "libgweather-3.26.0"; name = "libgweather-3.26.1";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/libgweather/3.26/libgweather-3.26.0.tar.xz; url = mirror://gnome/sources/libgweather/3.26/libgweather-3.26.1.tar.xz;
sha256 = "5b84badc0b3ecffff5db1bb9a7cc4dd4e400a8eb3f1282348f8ee6ba33626b6e"; sha256 = "fca78470b345bce948e0333cab0a7c52c32562fc4a75de37061248a64e8fc4b8";
}; };
} }

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "rest-${version}"; name = "rest-${version}";
major = "0.8"; major = "0.8";
version = "${major}.0"; version = "${major}.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/rest/${major}/${name}.tar.xz"; url = "mirror://gnome/sources/rest/${major}/${name}.tar.xz";
sha256 = "e7b89b200c1417073aef739e8a27ff2ab578056c27796ec74f5886a5e0dff647"; sha256 = "0513aad38e5d3cedd4ae3c551634e3be1b9baaa79775e53b2dba9456f15b01c9";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -5,6 +5,6 @@ fetchurl: {
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/totem-pl-parser/3.26/totem-pl-parser-3.26.0.tar.xz; url = mirror://gnome/sources/totem-pl-parser/3.26/totem-pl-parser-3.26.0.tar.xz;
sha256 = "1jzvq7s6qdsdpbc58jpcwvyj7qsq58r65kmnbknjzd79j4rsalzi"; sha256 = "f153a53391e9b42fed5cb6ce62322a58e323fde6ec4a54d8ba4d376cf4c1fbcb";
}; };
} }

View File

@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
doCheck = true; doCheck = true;
# https://bugs.launchpad.net/ubuntu/+source/totem/+bug/1712021 # https://bugs.launchpad.net/ubuntu/+source/totem/+bug/1712021
# https://bugzilla.gnome.org/show_bug.cgi?id=784236
# https://github.com/mesonbuild/meson/issues/1994
enableParallelBuilding = false; enableParallelBuilding = false;
NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0"; NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "tracker-miners-2.0.2"; name = "tracker-miners-2.0.3";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/tracker-miners/2.0/tracker-miners-2.0.2.tar.xz; url = mirror://gnome/sources/tracker-miners/2.0/tracker-miners-2.0.3.tar.xz;
sha256 = "cf417ece944c997f630dda41a7f5c449d609fa53dbb34fae7caa4c7af1e0e8ef"; sha256 = "12413a9f8dfa705a48a2697dcbb3eef12ee91bb98f392a23ba4bda7813e41d1b";
}; };
} }

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, fetchpatch, intltool, pkgconfig { stdenv, fetchurl, intltool, pkgconfig
, libxml2, upower, glib, wrapGAppsHook, vala, sqlite, libxslt , libxml2, upower, glib, wrapGAppsHook, vala, sqlite, libxslt
, gnome3, icu, libuuid, networkmanager, libsoup, json_glib }: , gnome3, icu, libuuid, networkmanager, libsoup, json_glib }:

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "tracker-2.0.1"; name = "tracker-2.0.2";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/tracker/2.0/tracker-2.0.1.tar.xz; url = mirror://gnome/sources/tracker/2.0/tracker-2.0.2.tar.xz;
sha256 = "ac5c9f4dbb0741af5877ae2818d8c053aa9a431477a924a17976bb7e44411e47"; sha256 = "ece71a56c29151a76fc1b6e43c15dd1b657b37162dc948fa2487faf5ddb47fda";
}; };
} }

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "aisleriot-3.22.0"; name = "aisleriot-3.22.4";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/aisleriot/3.22/aisleriot-3.22.0.tar.xz; url = mirror://gnome/sources/aisleriot/3.22/aisleriot-3.22.4.tar.xz;
sha256 = "e7b603df0a482bdd0ab8083efc096a24a46aea1b36cc8608846e568b7a353eb7"; sha256 = "fe8dee3ad771ab778d37740a26410778aa5c61e8eb75dd42b9a5e5719c6e34fb";
}; };
} }

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "four-in-a-row-3.22.0"; name = "four-in-a-row-3.22.2";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/four-in-a-row/3.22/four-in-a-row-3.22.0.tar.xz; url = mirror://gnome/sources/four-in-a-row/3.22/four-in-a-row-3.22.2.tar.xz;
sha256 = "c2e26630f7b4e81cff087314edc0f39cd645dfbf4b31f826232bd8e9d57a7ff7"; sha256 = "bc4194e8ab6d1d2a6a63a2e91945cd5465f49ebf0dae2eecacc66e69db56a420";
}; };
} }

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "gnome-robots-3.22.0"; name = "gnome-robots-3.22.2";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/gnome-robots/3.22/gnome-robots-3.22.0.tar.xz; url = mirror://gnome/sources/gnome-robots/3.22/gnome-robots-3.22.2.tar.xz;
sha256 = "ddb02f9d04c970354d1836813f8c0d9ffc3ff509091d2580384e2275663e6f73"; sha256 = "c5d63f0fcae66d0df9b10e39387d09875555909f0aa7e57ef8552621d852082f";
}; };
} }

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "hitori-3.22.0"; name = "hitori-3.22.4";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/hitori/3.22/hitori-3.22.0.tar.xz; url = mirror://gnome/sources/hitori/3.22/hitori-3.22.4.tar.xz;
sha256 = "f70521c9a7a7c3e16b3951b64780eb0c5bce1bb1bb29de4482be06fb5e41adaa"; sha256 = "dcac6909b6007857ee425ac8c65fed179f2c71da138d5e5300cd62c8b9ea15d3";
}; };
} }

View File

@ -5,8 +5,8 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ enchant ]; # required for pkgconfig propagatedBuildInputs = [ enchant ]; # required for pkgconfig
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig vala ];
buildInputs = [ glib gtk3 isocodes vala ]; buildInputs = [ glib gtk3 isocodes ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
platforms = platforms.linux; platforms = platforms.linux;

View File

@ -1,10 +1,10 @@
fetchurl: rec { # Autogenerated by maintainers/scripts/gnome.sh update
major = "1.4";
minor = "1"; fetchurl: {
name = "gspell-${major}.${minor}"; name = "gspell-1.6.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gspell/${major}/${name}.tar.xz"; url = mirror://gnome/sources/gspell/1.6/gspell-1.6.1.tar.xz;
sha256 = "1ghh1xdzf04mfgb13zqpj88krpa44xv2vbyhm6k017kzrpz8hbs4"; sha256 = "f4d329348775374eec18158f8dcbbacf76f85be5ce002a92d93054ece70ec4de";
}; };
} }

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "libgit2-glib-0.26.0"; name = "libgit2-glib-0.26.2";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/libgit2-glib/0.26/libgit2-glib-0.26.0.tar.xz; url = mirror://gnome/sources/libgit2-glib/0.26/libgit2-glib-0.26.2.tar.xz;
sha256 = "06b16cfcc3a53d9804858618d690e5509e9af2e2245b75f0479cadbbe39745c3"; sha256 = "2ad6f20db2e38bbfdb6cb452704fe8a911036b86de82dc75bb0f3b20db40ce9c";
}; };
} }

View File

@ -4,15 +4,15 @@ let
majorVersion = "1.9"; majorVersion = "1.9";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libmediaart-${majorVersion}.1"; name = "libmediaart-${majorVersion}.4";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/libmediaart/${majorVersion}/${name}.tar.xz"; url = "mirror://gnome/sources/libmediaart/${majorVersion}/${name}.tar.xz";
sha256 = "0jg9gwxmhdxcbwb5svgkxkd3yl1d14wqzckcgg2swkn81i7al52v"; sha256 = "a57be017257e4815389afe4f58fdacb6a50e74fd185452b23a652ee56b04813d";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
buildInputs = [ glib gdk_pixbuf gobjectIntrospection ]; buildInputs = [ glib gdk_pixbuf ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Library tasked with managing, extracting and handling media art caches"; description = "Library tasked with managing, extracting and handling media art caches";

View File

@ -25,6 +25,7 @@
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd , libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
, stripped ? true , stripped ? true
, buildPlatform, hostPlatform, targetPlatform , buildPlatform, hostPlatform, targetPlatform
, buildPackages
}: }:
assert langJava -> zip != null && unzip != null assert langJava -> zip != null && unzip != null
@ -258,6 +259,8 @@ stdenv.mkDerivation ({
"--with-mpc=${libmpc}" "--with-mpc=${libmpc}"
] ++ ] ++
optional (libelf != null) "--with-libelf=${libelf}" ++ optional (libelf != null) "--with-libelf=${libelf}" ++
optional (!(crossMingw && crossStageStatic))
"--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
# Basic configuration # Basic configuration
[ [
@ -349,29 +352,32 @@ stdenv.mkDerivation ({
STRIP_FOR_TARGET = "${targetPlatform.config}-strip"; STRIP_FOR_TARGET = "${targetPlatform.config}-strip";
CC_FOR_TARGET = "${targetPlatform.config}-gcc"; CC_FOR_TARGET = "${targetPlatform.config}-gcc";
CXX_FOR_TARGET = "${targetPlatform.config}-g++"; CXX_FOR_TARGET = "${targetPlatform.config}-g++";
# If we are making a cross compiler, cross != null
NIX_CC_CROSS = optionalString (targetPlatform == hostPlatform) builtins.toString stdenv.cc;
dontStrip = true; dontStrip = true;
}; };
NIX_BUILD_CC = buildPackages.stdenv.cc;
# Needed for the cross compilation to work # Needed for the cross compilation to work
AR = "ar"; AR = "ar";
LD = "ld"; LD = "ld";
CC = "gcc"; CC = "gcc";
# Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
# the library headers and binaries, regarless of the language being # library headers and binaries, regarless of the language being compiled.
# compiled. #
# Note: When building the Java AWT GTK+ peer, the build system doesn't honor
# Note: When building the Java AWT GTK+ peer, the build system doesn't # `--with-gmp' et al., e.g., when building
# honor `--with-gmp' et al., e.g., when building # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just add
# `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just # them to $CPATH and $LIBRARY_PATH in this case.
# add them to $CPATH and $LIBRARY_PATH in this case.
# #
# Likewise, the LTO code doesn't find zlib. # Likewise, the LTO code doesn't find zlib.
#
# Cross-compiling, we need gcc not to read ./specs in order to build the g++
# compiler (after the specs for the cross-gcc are created). Having
# LIBRARY_PATH= makes gcc read the specs from ., and the build breaks.
CPATH = makeSearchPathOutput "dev" "include" ([] CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
++ optional (zlib != null) zlib ++ optional (zlib != null) zlib
++ optional langJava boehmgc ++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk xlibs
@ -382,39 +388,38 @@ stdenv.mkDerivation ({
# On GNU/Hurd glibc refers to Mach & Hurd # On GNU/Hurd glibc refers to Mach & Hurd
# headers. # headers.
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs) ++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
libcCross.propagatedBuildInputs); libcCross.propagatedBuildInputs
));
LIBRARY_PATH = makeLibraryPath ([] LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
++ optional (zlib != null) zlib ++ optional (zlib != null) zlib
++ optional langJava boehmgc ++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ] ++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread); ++ optional (libpthread != null) libpthread)
);
EXTRA_TARGET_CFLAGS = EXTRA_TARGET_FLAGS = optionals
if targetPlatform != hostPlatform && libcCross != null then [ (targetPlatform != hostPlatform && libcCross != null)
"-idirafter ${libcCross.dev}/include" ([
] "-idirafter ${libcCross.dev}/include"
++ optionals (! crossStageStatic) [ ] ++ optionals (! crossStageStatic) [
"-B${libcCross.out}/lib" "-B${libcCross.out}/lib"
] ]);
else null;
EXTRA_TARGET_LDFLAGS = EXTRA_TARGET_LDFLAGS = optionals
if targetPlatform != hostPlatform && libcCross != null then [ (targetPlatform != hostPlatform && libcCross != null)
"-Wl,-L${libcCross.out}/lib" ([
] "-Wl,-L${libcCross.out}/lib"
++ (if crossStageStatic then [ ] ++ (if crossStageStatic then [
"-B${libcCross.out}/lib" "-B${libcCross.out}/lib"
] else [ ] else [
"-Wl,-rpath,${libcCross.out}/lib" "-Wl,-rpath,${libcCross.out}/lib"
"-Wl,-rpath-link,${libcCross.out}/lib" "-Wl,-rpath-link,${libcCross.out}/lib"
]) ]) ++ optionals (libpthreadCross != null) [
++ optionals (libpthreadCross != null) [ "-L${libpthreadCross}/lib"
"-L${libpthreadCross}/lib" "-Wl,${libpthreadCross.TARGET_LDFLAGS}"
"-Wl,${libpthreadCross.TARGET_LDFLAGS}" ]);
]
else null;
passthru = { inherit langC langCC langAda langFortran langVhdl passthru = { inherit langC langCC langAda langFortran langVhdl
enableMultilib version; isGNU = true; }; enableMultilib version; isGNU = true; };

View File

@ -33,6 +33,7 @@
, gnused ? null , gnused ? null
, darwin ? null , darwin ? null
, buildPlatform, hostPlatform, targetPlatform , buildPlatform, hostPlatform, targetPlatform
, buildPackages
}: }:
assert langJava -> zip != null && unzip != null assert langJava -> zip != null && unzip != null
@ -316,6 +317,8 @@ stdenv.mkDerivation ({
"--with-mpc=${libmpc}" "--with-mpc=${libmpc}"
] ++ ] ++
optional (libelf != null) "--with-libelf=${libelf}" ++ optional (libelf != null) "--with-libelf=${libelf}" ++
optional (!(crossMingw && crossStageStatic))
"--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
# Basic configuration # Basic configuration
[ [
@ -372,14 +375,6 @@ stdenv.mkDerivation ({
# Ada # Ada
optional langAda "--enable-libada" ++ optional langAda "--enable-libada" ++
# Cross-compilation
optional (targetPlatform == hostPlatform) (
let incDir = if hostPlatform.isDarwin
then "${darwin.usr-include}"
else "${getDev stdenv.cc.libc}/include";
in "--with-native-system-header-dir=${incDir}"
) ++
platformFlags ++ platformFlags ++
optional (targetPlatform != hostPlatform) crossConfigureFlags ++ optional (targetPlatform != hostPlatform) crossConfigureFlags ++
optional (!bootstrap) "--disable-bootstrap" ++ optional (!bootstrap) "--disable-bootstrap" ++
@ -444,12 +439,12 @@ stdenv.mkDerivation ({
STRIP_FOR_TARGET = "${targetPlatform.config}-strip"; STRIP_FOR_TARGET = "${targetPlatform.config}-strip";
CC_FOR_TARGET = "${targetPlatform.config}-gcc"; CC_FOR_TARGET = "${targetPlatform.config}-gcc";
CXX_FOR_TARGET = "${targetPlatform.config}-g++"; CXX_FOR_TARGET = "${targetPlatform.config}-g++";
# If we are making a cross compiler, targetPlatform != hostPlatform
NIX_CC_CROSS = optionalString (targetPlatform == hostPlatform) builtins.toString stdenv.cc;
dontStrip = true; dontStrip = true;
buildFlags = ""; buildFlags = "";
}; };
NIX_BUILD_CC = buildPackages.stdenv.cc;
# Needed for the cross compilation to work # Needed for the cross compilation to work
AR = "ar"; AR = "ar";
@ -457,18 +452,21 @@ stdenv.mkDerivation ({
# http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210 # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc"; CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc";
# Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
# the library headers and binaries, regarless of the language being # library headers and binaries, regarless of the language being compiled.
# compiled. #
# Note: When building the Java AWT GTK+ peer, the build system doesn't honor
# Note: When building the Java AWT GTK+ peer, the build system doesn't # `--with-gmp' et al., e.g., when building
# honor `--with-gmp' et al., e.g., when building # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just add
# `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just # them to $CPATH and $LIBRARY_PATH in this case.
# add them to $CPATH and $LIBRARY_PATH in this case.
# #
# Likewise, the LTO code doesn't find zlib. # Likewise, the LTO code doesn't find zlib.
#
# Cross-compiling, we need gcc not to read ./specs in order to build the g++
# compiler (after the specs for the cross-gcc are created). Having
# LIBRARY_PATH= makes gcc read the specs from ., and the build breaks.
CPATH = makeSearchPathOutput "dev" "include" ([] CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
++ optional (zlib != null) zlib ++ optional (zlib != null) zlib
++ optional langJava boehmgc ++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk xlibs
@ -479,39 +477,38 @@ stdenv.mkDerivation ({
# On GNU/Hurd glibc refers to Mach & Hurd # On GNU/Hurd glibc refers to Mach & Hurd
# headers. # headers.
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs) ++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
libcCross.propagatedBuildInputs); libcCross.propagatedBuildInputs
));
LIBRARY_PATH = makeLibraryPath ([] LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
++ optional (zlib != null) zlib ++ optional (zlib != null) zlib
++ optional langJava boehmgc ++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ] ++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread); ++ optional (libpthread != null) libpthread)
);
EXTRA_TARGET_CFLAGS = EXTRA_TARGET_FLAGS = optionals
if targetPlatform != hostPlatform && libcCross != null then [ (targetPlatform != hostPlatform && libcCross != null)
"-idirafter ${getDev libcCross}/include" ([
] "-idirafter ${libcCross.dev}/include"
++ optionals (! crossStageStatic) [ ] ++ optionals (! crossStageStatic) [
"-B${libcCross.out}/lib" "-B${libcCross.out}/lib"
] ]);
else null;
EXTRA_TARGET_LDFLAGS = EXTRA_TARGET_LDFLAGS = optionals
if targetPlatform != hostPlatform && libcCross != null then [ (targetPlatform != hostPlatform && libcCross != null)
"-Wl,-L${libcCross.out}/lib" ([
] "-Wl,-L${libcCross.out}/lib"
++ (if crossStageStatic then [ ] ++ (if crossStageStatic then [
"-B${libcCross.out}/lib" "-B${libcCross.out}/lib"
] else [ ] else [
"-Wl,-rpath,${libcCross.out}/lib" "-Wl,-rpath,${libcCross.out}/lib"
"-Wl,-rpath-link,${libcCross.out}/lib" "-Wl,-rpath-link,${libcCross.out}/lib"
]) ]) ++ optionals (libpthreadCross != null) [
++ optionals (libpthreadCross != null) [ "-L${libpthreadCross}/lib"
"-L${libpthreadCross}/lib" "-Wl,${libpthreadCross.TARGET_LDFLAGS}"
"-Wl,${libpthreadCross.TARGET_LDFLAGS}" ]);
]
else null;
passthru = passthru =
{ inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; }; { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; };

View File

@ -33,6 +33,7 @@
, gnused ? null , gnused ? null
, darwin ? null , darwin ? null
, buildPlatform, hostPlatform, targetPlatform , buildPlatform, hostPlatform, targetPlatform
, buildPackages
}: }:
assert langJava -> zip != null && unzip != null assert langJava -> zip != null && unzip != null
@ -314,6 +315,8 @@ stdenv.mkDerivation ({
"--with-mpc=${libmpc}" "--with-mpc=${libmpc}"
] ++ ] ++
optional (libelf != null) "--with-libelf=${libelf}" ++ optional (libelf != null) "--with-libelf=${libelf}" ++
optional (!(crossMingw && crossStageStatic))
"--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
# Basic configuration # Basic configuration
[ [
@ -370,14 +373,6 @@ stdenv.mkDerivation ({
# Ada # Ada
optional langAda "--enable-libada" ++ optional langAda "--enable-libada" ++
# Cross-compilation
optional (targetPlatform == hostPlatform) (
let incDir = if hostPlatform.isDarwin
then "${darwin.usr-include}"
else "${getDev stdenv.cc.libc}/include";
in "--with-native-system-header-dir=${incDir}"
) ++
platformFlags ++ platformFlags ++
optional (targetPlatform != hostPlatform) crossConfigureFlags ++ optional (targetPlatform != hostPlatform) crossConfigureFlags ++
optional (!bootstrap) "--disable-bootstrap" ++ optional (!bootstrap) "--disable-bootstrap" ++
@ -442,12 +437,12 @@ stdenv.mkDerivation ({
STRIP_FOR_TARGET = "${targetPlatform.config}-strip"; STRIP_FOR_TARGET = "${targetPlatform.config}-strip";
CC_FOR_TARGET = "${targetPlatform.config}-gcc"; CC_FOR_TARGET = "${targetPlatform.config}-gcc";
CXX_FOR_TARGET = "${targetPlatform.config}-g++"; CXX_FOR_TARGET = "${targetPlatform.config}-g++";
# If we are making a cross compiler, targetPlatform != hostPlatform
NIX_CC_CROSS = optionalString (targetPlatform == hostPlatform) builtins.toString stdenv.cc;
dontStrip = true; dontStrip = true;
buildFlags = ""; buildFlags = "";
}; };
NIX_BUILD_CC = buildPackages.stdenv.cc;
# Needed for the cross compilation to work # Needed for the cross compilation to work
AR = "ar"; AR = "ar";
@ -455,18 +450,21 @@ stdenv.mkDerivation ({
# http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210 # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc"; CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc";
# Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
# the library headers and binaries, regarless of the language being # library headers and binaries, regarless of the language being compiled.
# compiled. #
# Note: When building the Java AWT GTK+ peer, the build system doesn't honor
# Note: When building the Java AWT GTK+ peer, the build system doesn't # `--with-gmp' et al., e.g., when building
# honor `--with-gmp' et al., e.g., when building # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just add
# `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just # them to $CPATH and $LIBRARY_PATH in this case.
# add them to $CPATH and $LIBRARY_PATH in this case.
# #
# Likewise, the LTO code doesn't find zlib. # Likewise, the LTO code doesn't find zlib.
#
# Cross-compiling, we need gcc not to read ./specs in order to build the g++
# compiler (after the specs for the cross-gcc are created). Having
# LIBRARY_PATH= makes gcc read the specs from ., and the build breaks.
CPATH = makeSearchPathOutput "dev" "include" ([] CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
++ optional (zlib != null) zlib ++ optional (zlib != null) zlib
++ optional langJava boehmgc ++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk xlibs
@ -477,39 +475,38 @@ stdenv.mkDerivation ({
# On GNU/Hurd glibc refers to Mach & Hurd # On GNU/Hurd glibc refers to Mach & Hurd
# headers. # headers.
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs) ++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
libcCross.propagatedBuildInputs); libcCross.propagatedBuildInputs
));
LIBRARY_PATH = makeLibraryPath ([] LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
++ optional (zlib != null) zlib ++ optional (zlib != null) zlib
++ optional langJava boehmgc ++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ] ++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread); ++ optional (libpthread != null) libpthread)
);
EXTRA_TARGET_CFLAGS = EXTRA_TARGET_FLAGS = optionals
if targetPlatform != hostPlatform && libcCross != null then [ (targetPlatform != hostPlatform && libcCross != null)
"-idirafter ${getDev libcCross}/include" ([
] "-idirafter ${getDev libcCross}/include"
++ optionals (! crossStageStatic) [ ] ++ optionals (! crossStageStatic) [
"-B${libcCross.out}/lib" "-B${libcCross.out}/lib"
] ]);
else null;
EXTRA_TARGET_LDFLAGS = EXTRA_TARGET_LDFLAGS = optionals
if targetPlatform != hostPlatform && libcCross != null then [ (targetPlatform != hostPlatform && libcCross != null)
"-Wl,-L${libcCross.out}/lib" ([
] "-Wl,-L${libcCross.out}/lib"
++ (if crossStageStatic then [ ] ++ (if crossStageStatic then [
"-B${libcCross.out}/lib" "-B${libcCross.out}/lib"
] else [ ] else [
"-Wl,-rpath,${libcCross.out}/lib" "-Wl,-rpath,${libcCross.out}/lib"
"-Wl,-rpath-link,${libcCross.out}/lib" "-Wl,-rpath-link,${libcCross.out}/lib"
]) ]) ++ optionals (libpthreadCross != null) [
++ optionals (libpthreadCross != null) [ "-L${libpthreadCross}/lib"
"-L${libpthreadCross}/lib" "-Wl,${libpthreadCross.TARGET_LDFLAGS}"
"-Wl,${libpthreadCross.TARGET_LDFLAGS}" ]);
]
else null;
passthru = passthru =
{ inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; }; { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; };

View File

@ -329,6 +329,8 @@ stdenv.mkDerivation ({
"--with-mpc=${libmpc}" "--with-mpc=${libmpc}"
] ++ ] ++
optional (libelf != null) "--with-libelf=${libelf}" ++ optional (libelf != null) "--with-libelf=${libelf}" ++
optional (!(crossMingw && crossStageStatic))
"--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
# Basic configuration # Basic configuration
[ [
@ -380,14 +382,6 @@ stdenv.mkDerivation ({
# Ada # Ada
optional langAda "--enable-libada" ++ optional langAda "--enable-libada" ++
# Cross-compilation
optional (targetPlatform == hostPlatform) (
let incDir = if hostPlatform.isDarwin
then "${darwin.usr-include}"
else "${getDev stdenv.cc.libc}/include";
in "--with-native-system-header-dir=${incDir}"
) ++
platformFlags ++ platformFlags ++
optional (targetPlatform != hostPlatform) crossConfigureFlags ++ optional (targetPlatform != hostPlatform) crossConfigureFlags ++
optional (!bootstrap) "--disable-bootstrap" ++ optional (!bootstrap) "--disable-bootstrap" ++
@ -452,12 +446,12 @@ stdenv.mkDerivation ({
STRIP_FOR_TARGET = "${targetPlatform.config}-strip"; STRIP_FOR_TARGET = "${targetPlatform.config}-strip";
CC_FOR_TARGET = "${targetPlatform.config}-gcc"; CC_FOR_TARGET = "${targetPlatform.config}-gcc";
CXX_FOR_TARGET = "${targetPlatform.config}-g++"; CXX_FOR_TARGET = "${targetPlatform.config}-g++";
# If we are making a cross compiler, targetPlatform != hostPlatform
NIX_CC_CROSS = optionalString (targetPlatform == hostPlatform) builtins.toString stdenv.cc;
dontStrip = true; dontStrip = true;
buildFlags = ""; buildFlags = "";
}; };
NIX_BUILD_CC = buildPackages.stdenv.cc;
# Needed for the cross compilation to work # Needed for the cross compilation to work
AR = "ar"; AR = "ar";
@ -465,18 +459,21 @@ stdenv.mkDerivation ({
# http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210 # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc"; CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc";
# Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
# the library headers and binaries, regarless of the language being # library headers and binaries, regarless of the language being compiled.
# compiled. #
# Note: When building the Java AWT GTK+ peer, the build system doesn't honor
# Note: When building the Java AWT GTK+ peer, the build system doesn't # `--with-gmp' et al., e.g., when building
# honor `--with-gmp' et al., e.g., when building # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just add
# `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just # them to $CPATH and $LIBRARY_PATH in this case.
# add them to $CPATH and $LIBRARY_PATH in this case.
# #
# Likewise, the LTO code doesn't find zlib. # Likewise, the LTO code doesn't find zlib.
#
# Cross-compiling, we need gcc not to read ./specs in order to build the g++
# compiler (after the specs for the cross-gcc are created). Having
# LIBRARY_PATH= makes gcc read the specs from ., and the build breaks.
CPATH = makeSearchPathOutput "dev" "include" ([] CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
++ optional (zlib != null) zlib ++ optional (zlib != null) zlib
++ optional langJava boehmgc ++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk xlibs
@ -487,39 +484,38 @@ stdenv.mkDerivation ({
# On GNU/Hurd glibc refers to Mach & Hurd # On GNU/Hurd glibc refers to Mach & Hurd
# headers. # headers.
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs) ++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
libcCross.propagatedBuildInputs); libcCross.propagatedBuildInputs
));
LIBRARY_PATH = makeLibraryPath ([] LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
++ optional (zlib != null) zlib ++ optional (zlib != null) zlib
++ optional langJava boehmgc ++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ] ++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread); ++ optional (libpthread != null) libpthread)
);
EXTRA_TARGET_CFLAGS = EXTRA_TARGET_FLAGS = optionals
if targetPlatform != hostPlatform && libcCross != null then [ (targetPlatform != hostPlatform && libcCross != null)
"-idirafter ${getDev libcCross}/include" ([
] "-idirafter ${getDev libcCross}/include"
++ optionals (! crossStageStatic) [ ] ++ optionals (! crossStageStatic) [
"-B${libcCross.out}/lib" "-B${libcCross.out}/lib"
] ]);
else null;
EXTRA_TARGET_LDFLAGS = EXTRA_TARGET_LDFLAGS = optionals
if targetPlatform != hostPlatform && libcCross != null then [ (targetPlatform != hostPlatform && libcCross != null)
"-Wl,-L${libcCross.out}/lib" ([
] "-Wl,-L${libcCross.out}/lib"
++ (if crossStageStatic then [ ] ++ (if crossStageStatic then [
"-B${libcCross.out}/lib" "-B${libcCross.out}/lib"
] else [ ] else [
"-Wl,-rpath,${libcCross.out}/lib" "-Wl,-rpath,${libcCross.out}/lib"
"-Wl,-rpath-link,${libcCross.out}/lib" "-Wl,-rpath-link,${libcCross.out}/lib"
]) ]) ++ optionals (libpthreadCross != null) [
++ optionals (libpthreadCross != null) [ "-L${libpthreadCross}/lib"
"-L${libpthreadCross}/lib" "-Wl,${libpthreadCross.TARGET_LDFLAGS}"
"-Wl,${libpthreadCross.TARGET_LDFLAGS}" ]);
]
else null;
passthru = passthru =
{ inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; }; { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; };

View File

@ -34,6 +34,7 @@
, cloog # unused; just for compat with gcc4, as we override the parameter on some places , cloog # unused; just for compat with gcc4, as we override the parameter on some places
, darwin ? null , darwin ? null
, buildPlatform, hostPlatform, targetPlatform , buildPlatform, hostPlatform, targetPlatform
, buildPackages
}: }:
assert langJava -> zip != null && unzip != null assert langJava -> zip != null && unzip != null
@ -330,6 +331,8 @@ stdenv.mkDerivation ({
"--with-mpc=${libmpc}" "--with-mpc=${libmpc}"
] ++ ] ++
optional (libelf != null) "--with-libelf=${libelf}" ++ optional (libelf != null) "--with-libelf=${libelf}" ++
optional (!(crossMingw && crossStageStatic))
"--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
# Basic configuration # Basic configuration
[ [
@ -381,14 +384,6 @@ stdenv.mkDerivation ({
# Ada # Ada
optional langAda "--enable-libada" ++ optional langAda "--enable-libada" ++
# Cross-compilation
optional (targetPlatform == hostPlatform) (
let incDir = if hostPlatform.isDarwin
then "${darwin.usr-include}"
else "${getDev stdenv.cc.libc}/include";
in "--with-native-system-header-dir=${incDir}"
) ++
platformFlags ++ platformFlags ++
optional (targetPlatform != hostPlatform) crossConfigureFlags ++ optional (targetPlatform != hostPlatform) crossConfigureFlags ++
optional (!bootstrap) "--disable-bootstrap" ++ optional (!bootstrap) "--disable-bootstrap" ++
@ -452,12 +447,12 @@ stdenv.mkDerivation ({
STRIP_FOR_TARGET = "${targetPlatform.config}-strip"; STRIP_FOR_TARGET = "${targetPlatform.config}-strip";
CC_FOR_TARGET = "${targetPlatform.config}-gcc"; CC_FOR_TARGET = "${targetPlatform.config}-gcc";
CXX_FOR_TARGET = "${targetPlatform.config}-g++"; CXX_FOR_TARGET = "${targetPlatform.config}-g++";
# If we are making a cross compiler, targetPlatform != hostPlatform
NIX_CC_CROSS = optionalString (targetPlatform == hostPlatform) builtins.toString stdenv.cc;
dontStrip = true; dontStrip = true;
buildFlags = ""; buildFlags = "";
}; };
NIX_BUILD_CC = buildPackages.stdenv.cc;
# Needed for the cross compilation to work # Needed for the cross compilation to work
AR = "ar"; AR = "ar";
@ -465,18 +460,21 @@ stdenv.mkDerivation ({
# http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210 # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc"; CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc";
# Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
# the library headers and binaries, regarless of the language being # library headers and binaries, regarless of the language being compiled.
# compiled. #
# Note: When building the Java AWT GTK+ peer, the build system doesn't honor
# Note: When building the Java AWT GTK+ peer, the build system doesn't # `--with-gmp' et al., e.g., when building
# honor `--with-gmp' et al., e.g., when building # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just add
# `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just # them to $CPATH and $LIBRARY_PATH in this case.
# add them to $CPATH and $LIBRARY_PATH in this case.
# #
# Likewise, the LTO code doesn't find zlib. # Likewise, the LTO code doesn't find zlib.
#
# Cross-compiling, we need gcc not to read ./specs in order to build the g++
# compiler (after the specs for the cross-gcc are created). Having
# LIBRARY_PATH= makes gcc read the specs from ., and the build breaks.
CPATH = makeSearchPathOutput "dev" "include" ([] CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
++ optional (zlib != null) zlib ++ optional (zlib != null) zlib
++ optional langJava boehmgc ++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk xlibs
@ -487,39 +485,38 @@ stdenv.mkDerivation ({
# On GNU/Hurd glibc refers to Mach & Hurd # On GNU/Hurd glibc refers to Mach & Hurd
# headers. # headers.
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs) ++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
libcCross.propagatedBuildInputs); libcCross.propagatedBuildInputs
));
LIBRARY_PATH = makeLibraryPath ([] LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
++ optional (zlib != null) zlib ++ optional (zlib != null) zlib
++ optional langJava boehmgc ++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ] ++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread); ++ optional (libpthread != null) libpthread)
);
EXTRA_TARGET_CFLAGS = EXTRA_TARGET_FLAGS = optionals
if targetPlatform != hostPlatform && libcCross != null then [ (targetPlatform != hostPlatform && libcCross != null)
"-idirafter ${getDev libcCross}/include" ([
] "-idirafter ${getDev libcCross}/include"
++ optionals (! crossStageStatic) [ ] ++ optionals (! crossStageStatic) [
"-B${libcCross.out}/lib" "-B${libcCross.out}/lib"
] ]);
else null;
EXTRA_TARGET_LDFLAGS = EXTRA_TARGET_LDFLAGS = optionals
if targetPlatform != hostPlatform && libcCross != null then [ (targetPlatform != hostPlatform && libcCross != null)
"-Wl,-L${libcCross.out}/lib" ([
] "-Wl,-L${libcCross.out}/lib"
++ (if crossStageStatic then [ ] ++ (if crossStageStatic then [
"-B${libcCross.out}/lib" "-B${libcCross.out}/lib"
] else [ ] else [
"-Wl,-rpath,${libcCross.out}/lib" "-Wl,-rpath,${libcCross.out}/lib"
"-Wl,-rpath-link,${libcCross.out}/lib" "-Wl,-rpath-link,${libcCross.out}/lib"
]) ]) ++ optionals (libpthreadCross != null) [
++ optionals (libpthreadCross != null) [ "-L${libpthreadCross}/lib"
"-L${libpthreadCross}/lib" "-Wl,${libpthreadCross.TARGET_LDFLAGS}"
"-Wl,${libpthreadCross.TARGET_LDFLAGS}" ]);
]
else null;
passthru = passthru =
{ inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; }; { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; };

View File

@ -35,6 +35,7 @@
, darwin ? null , darwin ? null
, flex ? null , flex ? null
, buildPlatform, hostPlatform, targetPlatform , buildPlatform, hostPlatform, targetPlatform
, buildPackages
}: }:
assert langJava -> zip != null && unzip != null assert langJava -> zip != null && unzip != null
@ -323,6 +324,8 @@ stdenv.mkDerivation ({
"--with-mpc=${libmpc}" "--with-mpc=${libmpc}"
] ++ ] ++
optional (libelf != null) "--with-libelf=${libelf}" ++ optional (libelf != null) "--with-libelf=${libelf}" ++
optional (!(crossMingw && crossStageStatic))
"--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
# Basic configuration # Basic configuration
[ [
@ -374,14 +377,6 @@ stdenv.mkDerivation ({
# Ada # Ada
optional langAda "--enable-libada" ++ optional langAda "--enable-libada" ++
# Cross-compilation
optional (targetPlatform == hostPlatform) (
let incDir = if hostPlatform.isDarwin
then "${darwin.usr-include}"
else "${getDev stdenv.cc.libc}/include";
in "--with-native-system-header-dir=${incDir}"
) ++
platformFlags ++ platformFlags ++
optional (targetPlatform != hostPlatform) crossConfigureFlags ++ optional (targetPlatform != hostPlatform) crossConfigureFlags ++
optional (!bootstrap) "--disable-bootstrap" ++ optional (!bootstrap) "--disable-bootstrap" ++
@ -446,12 +441,12 @@ stdenv.mkDerivation ({
STRIP_FOR_TARGET = "${targetPlatform.config}-strip"; STRIP_FOR_TARGET = "${targetPlatform.config}-strip";
CC_FOR_TARGET = "${targetPlatform.config}-gcc"; CC_FOR_TARGET = "${targetPlatform.config}-gcc";
CXX_FOR_TARGET = "${targetPlatform.config}-g++"; CXX_FOR_TARGET = "${targetPlatform.config}-g++";
# If we are making a cross compiler, targetPlatform != hostPlatform
NIX_CC_CROSS = optionalString (targetPlatform == hostPlatform) builtins.toString stdenv.cc;
dontStrip = true; dontStrip = true;
buildFlags = ""; buildFlags = "";
}; };
NIX_BUILD_CC = buildPackages.stdenv.cc;
# Needed for the cross compilation to work # Needed for the cross compilation to work
AR = "ar"; AR = "ar";
@ -459,18 +454,21 @@ stdenv.mkDerivation ({
# http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210 # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc"; CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc";
# Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
# the library headers and binaries, regarless of the language being # library headers and binaries, regarless of the language being compiled.
# compiled. #
# Note: When building the Java AWT GTK+ peer, the build system doesn't honor
# Note: When building the Java AWT GTK+ peer, the build system doesn't # `--with-gmp' et al., e.g., when building
# honor `--with-gmp' et al., e.g., when building # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just add
# `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just # them to $CPATH and $LIBRARY_PATH in this case.
# add them to $CPATH and $LIBRARY_PATH in this case.
# #
# Likewise, the LTO code doesn't find zlib. # Likewise, the LTO code doesn't find zlib.
#
# Cross-compiling, we need gcc not to read ./specs in order to build the g++
# compiler (after the specs for the cross-gcc are created). Having
# LIBRARY_PATH= makes gcc read the specs from ., and the build breaks.
CPATH = makeSearchPathOutput "dev" "include" ([] CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
++ optional (zlib != null) zlib ++ optional (zlib != null) zlib
++ optional langJava boehmgc ++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk xlibs
@ -481,39 +479,38 @@ stdenv.mkDerivation ({
# On GNU/Hurd glibc refers to Mach & Hurd # On GNU/Hurd glibc refers to Mach & Hurd
# headers. # headers.
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs) ++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
libcCross.propagatedBuildInputs); libcCross.propagatedBuildInputs
));
LIBRARY_PATH = makeLibraryPath ([] LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
++ optional (zlib != null) zlib ++ optional (zlib != null) zlib
++ optional langJava boehmgc ++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ] ++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread); ++ optional (libpthread != null) libpthread)
);
EXTRA_TARGET_CFLAGS = EXTRA_TARGET_FLAGS = optionals
if targetPlatform != hostPlatform && libcCross != null then [ (targetPlatform != hostPlatform && libcCross != null)
"-idirafter ${getDev libcCross}/include" ([
] "-idirafter ${getDev libcCross}/include"
++ optionals (! crossStageStatic) [ ] ++ optionals (! crossStageStatic) [
"-B${libcCross.out}/lib" "-B${libcCross.out}/lib"
] ]);
else null;
EXTRA_TARGET_LDFLAGS = EXTRA_TARGET_LDFLAGS = optionals
if targetPlatform != hostPlatform && libcCross != null then [ (targetPlatform != hostPlatform && libcCross != null)
"-Wl,-L${libcCross.out}/lib" ([
] "-Wl,-L${libcCross.out}/lib"
++ (if crossStageStatic then [ ] ++ (if crossStageStatic then [
"-B${libcCross.out}/lib" "-B${libcCross.out}/lib"
] else [ ] else [
"-Wl,-rpath,${libcCross.out}/lib" "-Wl,-rpath,${libcCross.out}/lib"
"-Wl,-rpath-link,${libcCross.out}/lib" "-Wl,-rpath-link,${libcCross.out}/lib"
]) ]) ++ optionals (libpthreadCross != null) [
++ optionals (libpthreadCross != null) [ "-L${libpthreadCross}/lib"
"-L${libpthreadCross}/lib" "-Wl,${libpthreadCross.TARGET_LDFLAGS}"
"-Wl,${libpthreadCross.TARGET_LDFLAGS}" ]);
]
else null;
passthru = passthru =
{ inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; }; { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; };

View File

@ -1,8 +1,12 @@
source $stdenv/setup source $stdenv/setup
export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy oldOpts="$(shopt -po nounset)" || true
mkdir $NIX_FIXINC_DUMMY set -euo pipefail
export NIX_FIXINC_DUMMY="$NIX_BUILD_TOP/dummy"
mkdir "$NIX_FIXINC_DUMMY"
if test "$staticCompiler" = "1"; then if test "$staticCompiler" = "1"; then
@ -13,141 +17,125 @@ fi
# GCC interprets empty paths as ".", which we don't want. # GCC interprets empty paths as ".", which we don't want.
if test -z "$CPATH"; then unset CPATH; fi if test -z "${CPATH-}"; then unset CPATH; fi
if test -z "$LIBRARY_PATH"; then unset LIBRARY_PATH; fi if test -z "${LIBRARY_PATH-}"; then unset LIBRARY_PATH; fi
echo "\$CPATH is \`$CPATH'" echo "\$CPATH is \`${CPATH-}'"
echo "\$LIBRARY_PATH is \`$LIBRARY_PATH'" echo "\$LIBRARY_PATH is \`${LIBRARY_PATH-}'"
if test "$noSysDirs" = "1"; then if test "$noSysDirs" = "1"; then
if test -e $NIX_CC/nix-support/orig-libc; then declare \
EXTRA_BUILD_FLAGS EXTRA_FLAGS EXTRA_TARGET_FLAGS \
EXTRA_BUILD_LDFLAGS EXTRA_TARGET_LDFLAGS
# Figure out what extra flags to pass to the gcc compilers for pre in 'BUILD_' ''; do
# being generated to make sure that they use our glibc. curCC="NIX_${pre}CC"
extraFlags="$(cat $NIX_CC/nix-support/libc-cflags)" curFIXINC="NIX_${pre}FIXINC_DUMMY"
extraLDFlags="$(cat $NIX_CC/nix-support/libc-ldflags) $(cat $NIX_CC/nix-support/libc-ldflags-before || true)"
# Use *real* header files, otherwise a limits.h is generated declare -a extraFlags=() extraLDFlags=()
# that does not include Glibc's limits.h (notably missing if [[ -e "${!curCC}/nix-support/orig-libc" ]]; then
# SSIZE_MAX, which breaks the build). # Figure out what extra flags to pass to the gcc compilers being
export NIX_FIXINC_DUMMY=$libc_dev/include # generated to make sure that they use our glibc.
extraFlags=($(cat "${!curCC}/nix-support/libc-cflags"))
# The path to the Glibc binaries such as `crti.o'. extraLDFlags=($(cat "${!curCC}/nix-support/libc-ldflags") $(cat "${!curCC}/nix-support/libc-ldflags-before" || true))
glibc_libdir="$(cat $NIX_CC/nix-support/orig-libc)/lib"
else
# Hack: support impure environments.
extraFlags="-isystem /usr/include"
extraLDFlags="-L/usr/lib64 -L/usr/lib"
glibc_libdir="/usr/lib"
export NIX_FIXINC_DUMMY=/usr/include
fi
extraFlags="-I$NIX_FIXINC_DUMMY $extraFlags"
extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags"
# BOOT_CFLAGS defaults to `-g -O2'; since we override it below,
# make sure to explictly add them so that files compiled with the
# bootstrap compiler are optimized and (optionally) contain
# debugging information (info "(gccinstall) Building").
if test -n "$dontStrip"; then
extraFlags="-O2 -g $extraFlags"
else
# Don't pass `-g' at all; this saves space while building.
extraFlags="-O2 $extraFlags"
fi
EXTRA_FLAGS="$extraFlags"
for i in $extraLDFlags; do
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,$i"
done
if test -n "$targetConfig"; then
# Cross-compiling, we need gcc not to read ./specs in order to build
# the g++ compiler (after the specs for the cross-gcc are created).
# Having LIBRARY_PATH= makes gcc read the specs from ., and the build
# breaks. Having this variable comes from the default.nix code to bring
# gcj in.
unset LIBRARY_PATH
unset CPATH
else
if test -z "$NIX_CC_CROSS"; then
EXTRA_TARGET_CFLAGS="$EXTRA_FLAGS"
EXTRA_TARGET_CXXFLAGS="$EXTRA_FLAGS"
EXTRA_TARGET_LDFLAGS="$EXTRA_LDFLAGS"
else
# This the case of cross-building the gcc.
# We need special flags for the target, different than those of the build
# Assertion:
test -e $NIX_CC_CROSS/nix-support/orig-libc
# Figure out what extra flags to pass to the gcc compilers
# being generated to make sure that they use our glibc.
extraFlags="$(cat $NIX_CC_CROSS/nix-support/libc-cflags)"
extraLDFlags="$(cat $NIX_CC_CROSS/nix-support/libc-ldflags) $(cat $NIX_CC_CROSS/nix-support/libc-ldflags-before)"
# The path to the Glibc binaries such as `crti.o'. # The path to the Glibc binaries such as `crti.o'.
glibc_dir="$(cat $NIX_CC_CROSS/nix-support/orig-libc)" glibc_libdir="$(cat "${!curCC}/nix-support/orig-libc")/lib"
glibc_libdir="$glibc_dir/lib" glibc_devdir="$(cat "${!curCC}/nix-support/orig-libc-dev")"
glibc_devdir="$(cat $NIX_CC_CROSS/nix-support/orig-libc-dev)"
configureFlags="$configureFlags --with-native-system-header-dir=$glibc_devdir/include"
# Use *real* header files, otherwise a limits.h is generated # Use *real* header files, otherwise a limits.h is generated that
# that does not include Glibc's limits.h (notably missing # does not include Glibc's limits.h (notably missing SSIZE_MAX,
# SSIZE_MAX, which breaks the build). # which breaks the build).
NIX_FIXINC_DUMMY_CROSS="$glibc_devdir/include" declare NIX_${pre}FIXINC_DUMMY="$glibc_devdir/include"
else
extraFlags="-I$NIX_FIXINC_DUMMY_CROSS $extraFlags" # Hack: support impure environments.
extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags" extraFlags=("-isystem" "/usr/include")
extraLDFlags=("-L/usr/lib64" "-L/usr/lib")
EXTRA_TARGET_CFLAGS="$extraFlags" glibc_libdir="/usr/lib"
for i in $extraLDFlags; do declare NIX_${pre}FIXINC_DUMMY=/usr/include
EXTRA_TARGET_LDFLAGS="$EXTRA_TARGET_LDFLAGS -Wl,$i"
done
fi fi
extraFlags=("-I${!curFIXINC}"
"${extraFlags[@]}")
extraLDFlags=("-L$glibc_libdir" "-rpath" "$glibc_libdir"
"${extraLDFlags[@]}")
# BOOT_CFLAGS defaults to `-g -O2'; since we override it below, make
# sure to explictly add them so that files compiled with the bootstrap
# compiler are optimized and (optionally) contain debugging information
# (info "(gccinstall) Building").
if test -n "${dontStrip-}"; then
extraFlags=("-O2" "-g" "${extraFlags[@]}")
else
# Don't pass `-g' at all; this saves space while building.
extraFlags=("-O2" "${extraFlags[@]}")
fi
declare EXTRA_${pre}FLAGS="${extraFlags[*]}"
for i in "${extraLDFlags[@]}"; do
declare EXTRA_${pre}LDFLAGS+=" -Wl,$i"
done
done
if test -z "${targetConfig-}"; then
# host = target, so the flags are the same
EXTRA_TARGET_FLAGS="$EXTRA_FLAGS"
EXTRA_TARGET_LDFLAGS="$EXTRA_LDFLAGS"
fi fi
# CFLAGS_FOR_TARGET are needed for the libstdc++ configure script to find # CFLAGS_FOR_TARGET are needed for the libstdc++ configure script to find
# the startfiles. # the startfiles.
# FLAGS_FOR_TARGET are needed for the target libraries to receive the -Bxxx # FLAGS_FOR_TARGET are needed for the target libraries to receive the -Bxxx
# for the startfiles. # for the startfiles.
makeFlagsArray+=( \ makeFlagsArray+=(
NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ "BUILD_SYSTEM_HEADER_DIR=$NIX_BUILD_FIXINC_DUMMY"
SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ "SYSTEM_HEADER_DIR=$NIX_BUILD_FIXINC_DUMMY"
CFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ "NATIVE_SYSTEM_HEADER_DIR=$NIX_FIXINC_DUMMY"
CXXFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
CFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
CXXFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
FLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
LDFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
LDFLAGS_FOR_TARGET="$EXTRA_TARGET_LDFLAGS $EXTRA_TARGET_LDFLAGS" \
)
if test -z "$targetConfig"; then "LDFLAGS_FOR_BUILD=$EXTRA_BUILD_LDFLAGS"
makeFlagsArray+=( \ #"LDFLAGS=$EXTRA_LDFLAGS"
BOOT_CFLAGS="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ "LDFLAGS_FOR_TARGET=$EXTRA_TARGET_LDFLAGS"
BOOT_LDFLAGS="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \
) "CFLAGS_FOR_BUILD=$EXTRA_BUILD_FLAGS $EXTRA_BUILD_LDFLAGS"
"CXXFLAGS_FOR_BUILD=$EXTRA_BUILD_FLAGS $EXTRA_BUILD_LDFLAGS"
"FLAGS_FOR_BUILD=$EXTRA_BUILD_FLAGS $EXTRA_BUILD_LDFLAGS"
# It seems there is a bug in GCC 5
#"CFLAGS=$EXTRA_FLAGS $EXTRA_LDFLAGS"
#"CXXFLAGS=$EXTRA_FLAGS $EXTRA_LDFLAGS"
"CFLAGS_FOR_TARGET=$EXTRA_TARGET_FLAGS $EXTRA_TARGET_LDFLAGS"
"CXXFLAGS_FOR_TARGET=$EXTRA_TARGET_FLAGS $EXTRA_TARGET_LDFLAGS"
"FLAGS_FOR_TARGET=$EXTRA_TARGET_FLAGS $EXTRA_TARGET_LDFLAGS"
)
if test -z "${targetConfig-}"; then
makeFlagsArray+=(
"BOOT_CFLAGS=$EXTRA_FLAGS $EXTRA_LDFLAGS"
"BOOT_LDFLAGS=$EXTRA_TARGET_FLAGS $EXTRA_TARGET_LDFLAGS"
)
fi fi
if test -n "$targetConfig" -a "$crossStageStatic" == 1; then if test -n "${targetConfig-}" -a "$crossStageStatic" == 1; then
# We don't want the gcc build to assume there will be a libc providing # We don't want the gcc build to assume there will be a libc providing
# limits.h in this stagae # limits.h in this stagae
makeFlagsArray+=( \ makeFlagsArray+=(
LIMITS_H_TEST=false \ 'LIMITS_H_TEST=false'
) )
else else
makeFlagsArray+=( \ makeFlagsArray+=(
LIMITS_H_TEST=true \ 'LIMITS_H_TEST=true'
) )
fi fi
fi fi
if test -n "$targetConfig"; then if test -n "${targetConfig-}"; then
# The host strip will destroy some important details of the objects # The host strip will destroy some important details of the objects
dontStrip=1 dontStrip=1
fi fi
eval "$oldOpts"
providedPreConfigure="$preConfigure"; providedPreConfigure="$preConfigure";
preConfigure() { preConfigure() {
if test -n "$newlibSrc"; then if test -n "$newlibSrc"; then

View File

@ -35,6 +35,7 @@
, darwin ? null , darwin ? null
, flex ? null , flex ? null
, buildPlatform, hostPlatform, targetPlatform , buildPlatform, hostPlatform, targetPlatform
, buildPackages
}: }:
assert langJava -> zip != null && unzip != null assert langJava -> zip != null && unzip != null
@ -310,6 +311,8 @@ stdenv.mkDerivation ({
"--with-mpc=${libmpc}" "--with-mpc=${libmpc}"
] ++ ] ++
optional (libelf != null) "--with-libelf=${libelf}" ++ optional (libelf != null) "--with-libelf=${libelf}" ++
optional (!(crossMingw && crossStageStatic))
"--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
# Basic configuration # Basic configuration
[ [
@ -361,14 +364,6 @@ stdenv.mkDerivation ({
# Ada # Ada
optional langAda "--enable-libada" ++ optional langAda "--enable-libada" ++
# Cross-compilation
optional (targetPlatform == hostPlatform) (
let incDir = if hostPlatform.isDarwin
then "${darwin.usr-include}"
else "${getDev stdenv.cc.libc}/include";
in "--with-native-system-header-dir=${incDir}"
) ++
platformFlags ++ platformFlags ++
optional (targetPlatform != hostPlatform) crossConfigureFlags ++ optional (targetPlatform != hostPlatform) crossConfigureFlags ++
optional (!bootstrap) "--disable-bootstrap" ++ optional (!bootstrap) "--disable-bootstrap" ++
@ -433,12 +428,12 @@ stdenv.mkDerivation ({
STRIP_FOR_TARGET = "${targetPlatform.config}-strip"; STRIP_FOR_TARGET = "${targetPlatform.config}-strip";
CC_FOR_TARGET = "${targetPlatform.config}-gcc"; CC_FOR_TARGET = "${targetPlatform.config}-gcc";
CXX_FOR_TARGET = "${targetPlatform.config}-g++"; CXX_FOR_TARGET = "${targetPlatform.config}-g++";
# If we are making a cross compiler, targetPlatform != hostPlatform
NIX_CC_CROSS = optionalString (targetPlatform == hostPlatform) builtins.toString stdenv.cc;
dontStrip = true; dontStrip = true;
buildFlags = ""; buildFlags = "";
}; };
NIX_BUILD_CC = buildPackages.stdenv.cc;
# Needed for the cross compilation to work # Needed for the cross compilation to work
AR = "ar"; AR = "ar";
@ -446,18 +441,21 @@ stdenv.mkDerivation ({
# http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210 # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc"; CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc";
# Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
# the library headers and binaries, regarless of the language being # library headers and binaries, regarless of the language being compiled.
# compiled. #
# Note: When building the Java AWT GTK+ peer, the build system doesn't honor
# Note: When building the Java AWT GTK+ peer, the build system doesn't # `--with-gmp' et al., e.g., when building
# honor `--with-gmp' et al., e.g., when building # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just add
# `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just # them to $CPATH and $LIBRARY_PATH in this case.
# add them to $CPATH and $LIBRARY_PATH in this case.
# #
# Likewise, the LTO code doesn't find zlib. # Likewise, the LTO code doesn't find zlib.
#
# Cross-compiling, we need gcc not to read ./specs in order to build the g++
# compiler (after the specs for the cross-gcc are created). Having
# LIBRARY_PATH= makes gcc read the specs from ., and the build breaks.
CPATH = makeSearchPathOutput "dev" "include" ([] CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
++ optional (zlib != null) zlib ++ optional (zlib != null) zlib
++ optional langJava boehmgc ++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk xlibs
@ -468,39 +466,38 @@ stdenv.mkDerivation ({
# On GNU/Hurd glibc refers to Mach & Hurd # On GNU/Hurd glibc refers to Mach & Hurd
# headers. # headers.
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs) ++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
libcCross.propagatedBuildInputs); libcCross.propagatedBuildInputs
));
LIBRARY_PATH = makeLibraryPath ([] LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([]
++ optional (zlib != null) zlib ++ optional (zlib != null) zlib
++ optional langJava boehmgc ++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ] ++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread); ++ optional (libpthread != null) libpthread)
);
EXTRA_TARGET_CFLAGS = EXTRA_TARGET_FLAGS = optionals
if targetPlatform != hostPlatform && libcCross != null then [ (targetPlatform != hostPlatform && libcCross != null)
"-idirafter ${getDev libcCross}/include" ([
] "-idirafter ${getDev libcCross}/include"
++ optionals (! crossStageStatic) [ ] ++ optionals (! crossStageStatic) [
"-B${libcCross.out}/lib" "-B${libcCross.out}/lib"
] ]);
else null;
EXTRA_TARGET_LDFLAGS = EXTRA_TARGET_LDFLAGS = optionals
if targetPlatform != hostPlatform && libcCross != null then [ (targetPlatform != hostPlatform && libcCross != null)
"-Wl,-L${libcCross.out}/lib" ([
] "-Wl,-L${libcCross.out}/lib"
++ (if crossStageStatic then [ ] ++ (if crossStageStatic then [
"-B${libcCross.out}/lib" "-B${libcCross.out}/lib"
] else [ ] else [
"-Wl,-rpath,${libcCross.out}/lib" "-Wl,-rpath,${libcCross.out}/lib"
"-Wl,-rpath-link,${libcCross.out}/lib" "-Wl,-rpath-link,${libcCross.out}/lib"
]) ]) ++ optionals (libpthreadCross != null) [
++ optionals (libpthreadCross != null) [ "-L${libpthreadCross}/lib"
"-L${libpthreadCross}/lib" "-Wl,${libpthreadCross.TARGET_LDFLAGS}"
"-Wl,${libpthreadCross.TARGET_LDFLAGS}" ]);
]
else null;
passthru = passthru =
{ inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; }; { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; };

View File

@ -35,6 +35,12 @@ let
[ # Do not look in /usr etc. for dependencies. [ # Do not look in /usr etc. for dependencies.
./no-sys-dirs.patch ./no-sys-dirs.patch
] ]
++ optional (versionAtLeast version "5.24") (
# Fix parallel building: https://rt.perl.org/Public/Bug/Display.html?id=132360
fetchurlBoot {
url = "https://rt.perl.org/Public/Ticket/Attachment/1502646/807252/0001-Fix-missing-build-dependency-for-pods.patch";
sha256 = "1bb4mldfp8kq1scv480wm64n2jdsqa3ar46cjp1mjpby8h5dr2r0";
})
++ optional stdenv.isSunOS ./ld-shared.patch ++ optional stdenv.isSunOS ./ld-shared.patch
++ optional stdenv.isDarwin ./cpp-precomp.patch ++ optional stdenv.isDarwin ./cpp-precomp.patch
++ optional (stdenv.isDarwin && versionAtLeast version "5.24") ./sw_vers.patch; ++ optional (stdenv.isDarwin && versionAtLeast version "5.24") ./sw_vers.patch;

View File

@ -3,18 +3,18 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
versionMajor = "2.26"; versionMajor = "2.26";
versionMinor = "0"; versionMinor = "1";
moduleName = "at-spi2-atk"; moduleName = "at-spi2-atk";
name = "${moduleName}-${versionMajor}.${versionMinor}"; name = "${moduleName}-${versionMajor}.${versionMinor}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
sha256 = "d25e528e1406a10c7d9b675aa15e638bcbf0a122ca3681f655a30cce83272fb9"; sha256 = "0x9vc99ni46fg5dzlx67vbw0zqffr24gz8jvbdxbmzyvc5xw5w5l";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig intltool ];
buildInputs = [ python popt atk libX11 libICE xorg.libXtst libXi buildInputs = [ python popt atk libX11 libICE xorg.libXtst libXi
intltool dbus_glib at_spi2_core libSM ]; dbus_glib at_spi2_core libSM ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
platforms = platforms.unix; platforms = platforms.unix;

View File

@ -1,24 +1,23 @@
{ stdenv, fetchurl, python, pkgconfig, popt, intltool, dbus_glib { stdenv, fetchurl, python, pkgconfig, popt, gettext, dbus_glib
, libX11, xextproto, libSM, libICE, libXtst, libXi, gobjectIntrospection }: , libX11, xextproto, libSM, libICE, libXtst, libXi, gobjectIntrospection }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
versionMajor = "2.26"; versionMajor = "2.26";
versionMinor = "0"; versionMinor = "2";
moduleName = "at-spi2-core"; moduleName = "at-spi2-core";
name = "${moduleName}-${versionMajor}.${versionMinor}"; name = "${moduleName}-${versionMajor}.${versionMinor}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
sha256 = "511568a65fda11fdd5ba5d4adfd48d5d76810d0e6ba4f7460f1b2ec0dbbbc337"; sha256 = "0596ghkamkxgv08r4a1pdhm06qd5zzgcfqsv64038w9xbvghq3n8";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection ];
buildInputs = [ buildInputs = [
python popt intltool dbus_glib python popt dbus_glib
libX11 xextproto libSM libICE libXtst libXi libX11 xextproto libSM libICE libXtst libXi
gobjectIntrospection
]; ];
# ToDo: on non-NixOS we create a symlink from there? # ToDo: on non-NixOS we create a symlink from there?

View File

@ -2,14 +2,14 @@
let let
ver_maj = "2.26"; ver_maj = "2.26";
ver_min = "0"; ver_min = "1";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "atk-${ver_maj}.${ver_min}"; name = "atk-${ver_maj}.${ver_min}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/atk/${ver_maj}/${name}.tar.xz"; url = "mirror://gnome/sources/atk/${ver_maj}/${name}.tar.xz";
sha256 = "eafe49d5c4546cb723ec98053290d7e0b8d85b3fdb123938213acb7bb4178827"; sha256 = "1jwpx8az0iifw176dc2hl4mmg6gvxzxdkd1qvg4ds7c5hdmzy07g";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;
@ -20,9 +20,14 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig perl ]; nativeBuildInputs = [ pkgconfig perl ];
propagatedBuildInputs = [ glib gobjectIntrospection /*ToDo: why propagate*/ ]; propagatedBuildInputs = [
# Required by atk.pc
glib
# TODO: Why propagate?
gobjectIntrospection
];
#doCheck = true; # no checks in there (2.22.0) doCheck = true;
meta = { meta = {
description = "Accessibility toolkit"; description = "Accessibility toolkit";

View File

@ -1,17 +1,20 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "babl-0.1.34"; name = "babl-0.1.38";
src = fetchurl { src = fetchurl {
url = "http://ftp.gtk.org/pub/babl/0.1/${name}.tar.bz2"; url = "http://ftp.gtk.org/pub/babl/0.1/${name}.tar.bz2";
sha256 = "0nwakj313l2dh5npx18avkg4z17i2prkxbl6vj547a08n6ry1gsy"; sha256 = "11pfbyzq20596p9sgwraxspg3djg1jzz6wvz4bapf0yyr97jiyd0";
}; };
doCheck = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Image pixel format conversion library"; description = "Image pixel format conversion library";
homepage = http://gegl.org/babl/; homepage = http://gegl.org/babl/;
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [ jtojnar ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -1,16 +1,16 @@
{ fetchurl, stdenv, pkgconfig, darwin, cairo, xlibsWrapper, fontconfig, freetype, libsigcxx }: { fetchurl, stdenv, pkgconfig, darwin, cairo, xlibsWrapper, fontconfig, freetype, libsigcxx }:
let let
ver_maj = "1.12"; ver_maj = "1.12";
ver_min = "0"; ver_min = "2";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "cairomm-${ver_maj}.${ver_min}"; name = "cairomm-${ver_maj}.${ver_min}";
src = fetchurl { src = fetchurl {
#url = "http://www.cairographics.org/releases/${name}.tar.gz"; url = "http://www.cairographics.org/releases/${name}.tar.gz";
# gnome doesn't have the latest version ATM; beware: same name but different hash # gnome doesn't have the latest version ATM; beware: same name but different hash
url = "mirror://gnome/sources/cairomm/${ver_maj}/${name}.tar.xz"; # url = "mirror://gnome/sources/cairomm/${ver_maj}/${name}.tar.xz";
sha256 = "a54ada8394a86182525c0762e6f50db6b9212a2109280d13ec6a0b29bfd1afe6"; sha256 = "16fmigxsaz85c3lgcls7biwyz8zy8c8h3jndfm54cxxas3a7zi25";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View File

@ -5,7 +5,7 @@ with lib;
assert elem precision [ "single" "double" "long-double" "quad-precision" ]; assert elem precision [ "single" "double" "long-double" "quad-precision" ];
let let
version = "3.3.6-pl1"; version = "3.3.7";
withDoc = stdenv.cc.isGNU; withDoc = stdenv.cc.isGNU;
in in
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz"; url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz";
sha256 = "0g8qk98lgq770ixdf7n36yd5xjsgm2v3wzvnphwmhy6r4y2amx0y"; sha256 = "0wsms8narnbhfsa8chdflv2j9hzspvflblnqdn7hw8x5xdzrnq1v";
}; };
outputs = [ "out" "dev" "man" ] outputs = [ "out" "dev" "man" ]

View File

@ -1,12 +1,13 @@
{ stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which { stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which
, librsvg, pango, gtk, bzip2, json_glib, intltool, autoreconfHook, libraw }: , librsvg, pango, gtk, bzip2, json_glib, intltool, autoreconfHook, libraw
, libwebp, gnome3 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gegl-0.3.18"; name = "gegl-0.3.24";
src = fetchurl { src = fetchurl {
url = "http://download.gimp.org/pub/gegl/0.3/${name}.tar.bz2"; url = "http://download.gimp.org/pub/gegl/0.3/${name}.tar.bz2";
sha256 = "1ywihjav9yhmsvbrdyx9c5q71rqdkjg8l66ywca6s4yydvr8x1fp"; sha256 = "0x4xjca05fbncy49vjs5nq3ria6j8wlpiq6yldkv0r6qcb18p80s";
}; };
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];
@ -14,17 +15,22 @@ stdenv.mkDerivation rec {
# needs fonts otherwise don't know how to pass them # needs fonts otherwise don't know how to pass them
configureFlags = "--disable-docs"; configureFlags = "--disable-docs";
enableParallelBuilding = true;
doCheck = true;
buildInputs = [ buildInputs = [
babl libpng cairo libjpeg librsvg pango gtk bzip2 which json_glib intltool babl libpng cairo libjpeg librsvg pango gtk bzip2 json_glib
libraw libraw libwebp gnome3.gexiv2
]; ];
nativeBuildInputs = [ pkgconfig autoreconfHook ]; nativeBuildInputs = [ pkgconfig intltool which autoreconfHook ];
meta = { meta = {
description = "Graph-based image processing framework"; description = "Graph-based image processing framework";
homepage = http://www.gegl.org; homepage = http://www.gegl.org;
license = stdenv.lib.licenses.gpl3; license = stdenv.lib.licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [ jtojnar ];
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
}; };
} }

View File

@ -3,14 +3,14 @@
let let
ver_maj = "2.54"; ver_maj = "2.54";
ver_min = "0"; ver_min = "1";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "glib-networking-${ver_maj}.${ver_min}"; name = "glib-networking-${ver_maj}.${ver_min}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/glib-networking/${ver_maj}/${name}.tar.xz"; url = "mirror://gnome/sources/glib-networking/${ver_maj}/${name}.tar.xz";
sha256 = "5961b3779080b72314b373ff5d4790eb7e41b75ca91816ad7a81ef32922f7096"; sha256 = "0bq16m9nh3gcz9x2fvygr0iwxd2pxcbrm3lj3kihsnh1afv8g9za";
}; };
outputs = [ "out" "dev" ]; # to deal with propagatedBuildInputs outputs = [ "out" "dev" ]; # to deal with propagatedBuildInputs

View File

@ -23,7 +23,7 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-plugins-bad-1.12.2"; name = "gst-plugins-bad-1.12.3";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Gstreamer Bad Plugins"; description = "Gstreamer Bad Plugins";
@ -39,12 +39,12 @@ stdenv.mkDerivation rec {
}; };
patchPhase = '' patchPhase = ''
sed -i 's/openjpeg-2.1/openjpeg-${openJpegVersion}/' ext/openjpeg/* sed -i 's/openjpeg-2.2/openjpeg-${openJpegVersion}/' ext/openjpeg/*
''; '';
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz"; url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
sha256 = "0dwyq03g2m0p16dwx8q5qvjn5x9ia72h21sf87mp97gmwkfpwb4w"; sha256 = "1v5z3i5ha20gmbb3r9dwsaaspv5fm1jfzlzwlzqx1gjj31v5kl1n";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@ -70,4 +70,6 @@ stdenv.mkDerivation rec {
++ optional (!stdenv.isDarwin) wildmidi; ++ optional (!stdenv.isDarwin) wildmidi;
LDFLAGS = optionalString stdenv.isDarwin "-lintl"; LDFLAGS = optionalString stdenv.isDarwin "-lintl";
enableParallelBuilding = true;
} }

View File

@ -4,7 +4,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-plugins-base-1.12.2"; name = "gst-plugins-base-1.12.3";
meta = { meta = {
description = "Base plugins and helper libraries"; description = "Base plugins and helper libraries";
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz"; url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
sha256 = "0x86a7aph0y6gyq178plvwvbbyhkfb3hf0gadx9sk5z1mzixqrsh"; sha256 = "19ffwdch7m777ragmwpy6prqmfb742ym1n3ki40s0zyki627plyk";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View File

@ -4,7 +4,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gstreamer-1.12.2"; name = "gstreamer-1.12.3";
meta = { meta = {
description = "Open source multimedia framework"; description = "Open source multimedia framework";
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gstreamer/${name}.tar.xz"; url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
sha256 = "1fllz7n58lavyy4nh64xc7izd4ffhl12a2ff0yg4z67al8wkzplz"; sha256 = "0vi1g8rmmsnd630ds3jwv2iph46ll8y07fzf04mz15q88j9g926k";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View File

@ -3,7 +3,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gstreamer-editing-services-1.12.2"; name = "gstreamer-editing-services-1.12.3";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Library for creation of audio/video non-linear editors"; description = "Library for creation of audio/video non-linear editors";

View File

@ -11,7 +11,7 @@ let
inherit (stdenv.lib) optionals optionalString; inherit (stdenv.lib) optionals optionalString;
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-plugins-good-1.12.2"; name = "gst-plugins-good-1.12.3";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Gstreamer Good Plugins"; description = "Gstreamer Good Plugins";
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz"; url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
sha256 = "15pfw54fsh9s9xwrnbap4z4njwgqdfvq52k562d2hc5b11rfx4am"; sha256 = "00sznj1sl97fqpn6j8ngps04clvxp8h8yhw6lvszx4b855wz9rqk";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View File

@ -9,7 +9,7 @@
assert withSystemLibav -> libav != null; assert withSystemLibav -> libav != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-libav-1.12.2"; name = "gst-libav-1.12.3";
meta = { meta = {
homepage = https://gstreamer.freedesktop.org; homepage = https://gstreamer.freedesktop.org;
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-libav/${name}.tar.xz"; url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
sha256 = "1crdahkjm23byg1awcrjkmgfbalfpvvac7h7whm6b2r1pfwkbdsv"; sha256 = "0l4nc6ikdx49l7bdrk3bd9p3pzry8a328r22zg48gyzpnv5ghph1";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View File

@ -5,7 +5,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-plugins-ugly-1.12.2"; name = "gst-plugins-ugly-1.12.3";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Gstreamer Ugly Plugins"; description = "Gstreamer Ugly Plugins";
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz"; url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
sha256 = "0rplyp1qk359c97ig9i2vc1v34g92khd8dslwfipva1ypwmr9hqw"; sha256 = "0lh00rg26iy5lr5al23lxsyncjqkgzph1bzkrgp8x9sfr62ab378";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View File

@ -5,7 +5,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-vaapi-${version}"; name = "gst-vaapi-${version}";
version = "1.12.2"; version = "1.12.3";
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz"; url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz";

View File

@ -3,7 +3,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gst-validate-1.12.2"; name = "gst-validate-1.12.3";
meta = { meta = {
description = "Integration testing infrastructure for the GStreamer framework"; description = "Integration testing infrastructure for the GStreamer framework";

View File

@ -1,13 +1,13 @@
{ stdenv, fetchFromGitLab, autoconf, automake, glib { stdenv, fetchFromGitLab, autoconf, automake, glib
, gtk_doc, libtool, libxml2, libxslt, pkgconfig, sqlite }: , gtk_doc, libtool, libxml2, libxslt, pkgconfig, sqlite }:
let version = "1.18"; in let version = "1.23"; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libaccounts-glib-${version}"; name = "libaccounts-glib-${version}";
src = fetchFromGitLab { src = fetchFromGitLab {
sha256 = "02p23vrqhw2l2w6nrwlk4bqxf7z9kplkc2d43716x9xakxr291km"; sha256 = "11cvl3ch0y93756k90mw1swqv0ylr8qgalmvcn5yari8z4sg6cgg";
rev = version; rev = "VERSION_${version}";
repo = "libaccounts-glib"; repo = "libaccounts-glib";
owner = "accounts-sso"; owner = "accounts-sso";
}; };

View File

@ -16,11 +16,11 @@ in
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libinput-${version}"; name = "libinput-${version}";
version = "1.9.2"; version = "1.9.3";
src = fetchurl { src = fetchurl {
url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz"; url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz";
sha256 = "0fyy050hzk47g7305lx5pgyh2abvq7qs4xd3nn1is7zy3wj56s6x"; sha256 = "09wkc5qqk1k2a68cwfy4x853z8z35wf2qkijh66kacsvc2fjq394";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libmicrohttpd-${version}"; name = "libmicrohttpd-${version}";
version = "0.9.57"; version = "0.9.58";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/libmicrohttpd/${name}.tar.gz"; url = "mirror://gnu/libmicrohttpd/${name}.tar.gz";
sha256 = "0kmgkk9sjg1n3q7rbzw5y4qmgh51zn5qi2j69gbqmr6phxjaghfy"; sha256 = "1wq17qvizis7bsyvyw1gnfycvivssncngziddnyrbzv2dhvy24bs";
}; };
outputs = [ "out" "dev" "devdoc" "info" ]; outputs = [ "out" "dev" "devdoc" "info" ];

View File

@ -107,8 +107,8 @@ let
in { in {
openssl_1_0_2 = common { openssl_1_0_2 = common {
version = "1.0.2m"; version = "1.0.2n";
sha256 = "03vvlfnxx4lhxc83ikfdl6jqph4h52y7lb7li03va6dkqrgg2vwc"; sha256 = "1zm82pyq5a9jm10q6iv7d3dih3xwjds4x30fqph3k317byvsn2rp";
}; };
openssl_1_1_0 = common { openssl_1_1_0 = common {

View File

@ -3,6 +3,11 @@ qmakeConfigurePhase() {
$QMAKE PREFIX=$out $qmakeFlags $QMAKE PREFIX=$out $qmakeFlags
if ! [[ -v enableParallelBuilding ]]; then
enableParallelBuilding=1
echo "qmake4Hook: enabled parallel building"
fi
runHook postConfigure runHook postConfigure
} }

View File

@ -10,6 +10,11 @@ qmakeConfigurePhase() {
NIX_OUTPUT_PLUGIN=${!outputBin}/${qtPluginPrefix:?} \ NIX_OUTPUT_PLUGIN=${!outputBin}/${qtPluginPrefix:?} \
$qmakeFlags $qmakeFlags
if ! [[ -v enableParallelBuilding ]]; then
enableParallelBuilding=1
echo "qmake: enabled parallel building"
fi
runHook postConfigure runHook postConfigure
} }

View File

@ -0,0 +1,26 @@
{ lib
, buildPythonPackage
, fetchPypi
, cheetah
, nose
}:
buildPythonPackage rec {
pname = "TurboCheetah";
version = "1.0";
src = fetchPypi {
inherit pname version;
sha256 = "9e4c7ecb0d061bfb58281363ee1b09337083f013a8b4d0355326a5d8668f450c";
};
propagatedBuildInputs = [ cheetah ];
checkInputs = [ nose ];
meta = {
description = "TurboGears plugin to support use of Cheetah templates";
homepage = http://docs.turbogears.org/TurboCheetah;
license = lib.licenses.mit;
};
}

View File

@ -0,0 +1,26 @@
{ lib
, buildPythonPackage
, fetchPypi
, pytest
, pythonOlder
}:
if !(pythonOlder "3.3") then null else buildPythonPackage rec {
pname = "backports.shutil_get_terminal_size";
version = "1.0.0";
src = fetchPypi {
inherit pname version;
sha256 = "713e7a8228ae80341c70586d1cc0a8caa5207346927e23d09dcbcaf18eadec80";
};
checkInputs = [
pytest
];
meta = {
description = "A backport of the get_terminal_size function from Python 3.3s shutil.";
homepage = https://github.com/chrippa/backports.shutil_get_terminal_size;
license = with lib.licenses; [ mit ];
};
}

View File

@ -9,9 +9,9 @@ let
}; };
setuptools_source = fetchPypi { setuptools_source = fetchPypi {
pname = "setuptools"; pname = "setuptools";
version = "36.7.1"; version = "38.2.3";
format = "wheel"; format = "wheel";
sha256 = "eaacfa35eb11199d0b017df416421781a75209817bff3f94820556e36c49bd77"; sha256 = "0c4j3jiiwc0h1bdv4xklinp90spgvgiv5fsxp119hif9934nfxfs";
}; };
# TODO: Shouldn't be necessary anymore for pip > 9.0.1! # TODO: Shouldn't be necessary anymore for pip > 9.0.1!

View File

@ -0,0 +1,33 @@
{ lib
, buildPythonPackage
, fetchPypi
, markdown
, isPy3k
, TurboCheetah
}:
buildPythonPackage rec {
pname = "cheetah";
version = "2.4.4";
disabled = isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "be308229f0c1e5e5af4f27d7ee06d90bb19e6af3059794e5fd536a6f29a9b550";
};
propagatedBuildInputs = [ markdown ];
doCheck = false; # Circular dependency
checkInputs = [
TurboCheetah
];
meta = {
homepage = http://www.cheetahtemplate.org/;
description = "A template engine and code generation tool";
license = lib.licenses.mit;
};
}

View File

@ -1,6 +1,7 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchPypi
, unittest2
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -13,6 +14,8 @@ buildPythonPackage rec {
sha256 = "509f9419ee91cdd00ba34443217d5ca51f5a364a404e1dce9e8979cea969ca48"; sha256 = "509f9419ee91cdd00ba34443217d5ca51f5a364a404e1dce9e8979cea969ca48";
}; };
checkInputs = [ unittest2 ];
meta = { meta = {
description = "Backports and enhancements for the contextlib module"; description = "Backports and enhancements for the contextlib module";
homepage = http://contextlib2.readthedocs.org/; homepage = http://contextlib2.readthedocs.org/;

View File

@ -4,7 +4,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gst-python"; pname = "gst-python";
version = "1.12.2"; version = "1.12.3";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {

View File

@ -0,0 +1,31 @@
{ lib
, buildPythonPackage
, fetchPypi
, six
, pythonOlder
, scandir
, glibcLocales
}:
if !(pythonOlder "3.4") then null else buildPythonPackage rec {
pname = "pathlib2";
version = "2.2.1";
src = fetchPypi {
inherit pname version;
sha256 = "ce9007df617ef6b7bd8a31cd2089ed0c1fed1f7c23cf2bf1ba140b3dd563175d";
};
propagatedBuildInputs = [ six ] ++ lib.optional (pythonOlder "3.5") scandir;
checkInputs = [ glibcLocales ];
preCheck = ''
export LC_ALL="en_US.UTF-8"
'';
meta = {
description = "This module offers classes representing filesystem paths with semantics appropriate for different operating systems.";
homepage = https://pypi.python.org/pypi/pathlib2/;
license = with lib.licenses; [ mit ];
};
}

View File

@ -8,13 +8,13 @@
# Should use buildPythonPackage here somehow # Should use buildPythonPackage here somehow
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "setuptools"; pname = "setuptools";
version = "36.7.1"; version = "38.2.3";
name = "${python.libPrefix}-${pname}-${version}"; name = "${python.libPrefix}-${pname}-${version}";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
extension = "zip"; extension = "zip";
sha256 = "543becf5d33d8989dc5222403997488e9dc3872bdecdabb0f57184ca253ec1e8"; sha256 = "124jlg72bbk2xxv5wqbwcl4h5cdslslzk92rxjxiplg79l499hv3";
}; };
buildInputs = [ python wrapPython unzip ]; buildInputs = [ python wrapPython unzip ];

View File

@ -51,10 +51,19 @@ cmakeConfigurePhase() {
# And build always Release, to ensure optimisation flags # And build always Release, to ensure optimisation flags
cmakeFlags="-DCMAKE_BUILD_TYPE=${cmakeBuildType:-Release} -DCMAKE_SKIP_BUILD_RPATH=ON $cmakeFlags" cmakeFlags="-DCMAKE_BUILD_TYPE=${cmakeBuildType:-Release} -DCMAKE_SKIP_BUILD_RPATH=ON $cmakeFlags"
if [ "$buildPhase" = ninjaBuildPhase ]; then
cmakeFlags="-GNinja $cmakeFlags"
fi
echo "cmake flags: $cmakeFlags ${cmakeFlagsArray[@]}" echo "cmake flags: $cmakeFlags ${cmakeFlagsArray[@]}"
cmake ${cmakeDir:-.} $cmakeFlags "${cmakeFlagsArray[@]}" cmake ${cmakeDir:-.} $cmakeFlags "${cmakeFlagsArray[@]}"
if ! [[ -v enableParallelBuilding ]]; then
enableParallelBuilding=1
echo "cmake: enabled parallel building"
fi
runHook postConfigure runHook postConfigure
} }

View File

@ -13,6 +13,11 @@ mesonConfigurePhase() {
meson build $mesonFlags "${mesonFlagsArray[@]}" meson build $mesonFlags "${mesonFlagsArray[@]}"
cd build cd build
if ! [[ -v enableParallelBuilding ]]; then
enableParallelBuilding=1
echo "meson: enabled parallel building"
fi
runHook postConfigure runHook postConfigure
} }

View File

@ -4,9 +4,16 @@ ninjaBuildPhase() {
if [[ -z "$ninjaFlags" && ! ( -e build.ninja ) ]]; then if [[ -z "$ninjaFlags" && ! ( -e build.ninja ) ]]; then
echo "no build.ninja, doing nothing" echo "no build.ninja, doing nothing"
else else
local buildCores=1
# Parallel building is enabled by default.
if [ "${enableParallelBuilding-1}" ]; then
buildCores="$NIX_BUILD_CORES"
fi
# shellcheck disable=SC2086 # shellcheck disable=SC2086
local flagsArray=( \ local flagsArray=( \
${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} \ -j"$buildCores" -l"$NIX_BUILD_CORES" \
$ninjaFlags "${ninjaFlagsArray[@]}" \ $ninjaFlags "${ninjaFlagsArray[@]}" \
$buildFlags "${buildFlagsArray[@]}") $buildFlags "${buildFlagsArray[@]}")

View File

@ -14,6 +14,10 @@ stdenv.mkDerivation rec {
buildInputs = [ pcre ]; buildInputs = [ pcre ];
nativeBuildInputs = [ cmake doxygen ]; nativeBuildInputs = [ cmake doxygen ];
# Multiple doxygen can not generate man pages in the same base directory in
# parallel: https://bugzilla.gnome.org/show_bug.cgi?id=791153
enableParallelBuilding = false;
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://editorconfig.org/; homepage = http://editorconfig.org/;
description = "EditorConfig core library written in C"; description = "EditorConfig core library written in C";

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig qmake ]; nativeBuildInputs = [ pkgconfig qmake ];
# RCC: Error in 'resources.qrc': Cannot find file 'i18n/chessx_da.qm' # RCC: Error in 'resources.qrc': Cannot find file 'i18n/chessx_da.qm'
#enableParallelBuilding = true; enableParallelBuilding = false;
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, zlib, libjpeg, libpng, libtiff, pam { stdenv, fetchurl, fetchpatch, pkgconfig, removeReferencesTo
, dbus, systemd, acl, gmp, darwin , zlib, libjpeg, libpng, libtiff, pam, dbus, systemd, acl, gmp, darwin
, libusb ? null, gnutls ? null, avahi ? null, libpaper ? null , libusb ? null, gnutls ? null, avahi ? null, libpaper ? null
}: }:
@ -9,18 +9,26 @@
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "cups-${version}"; name = "cups-${version}";
version = "2.2.2"; version = "2.2.6";
passthru = { inherit version; }; passthru = { inherit version; };
src = fetchurl { src = fetchurl {
url = "https://github.com/apple/cups/releases/download/v${version}/cups-${version}-source.tar.gz"; url = "https://github.com/apple/cups/releases/download/v${version}/cups-${version}-source.tar.gz";
sha256 = "1xp4ji4rz3xffsz6w6nd60ajxvvihn02pkyp2l4smhqxbmyvp2gm"; sha256 = "16qn41b84xz6khrr2pa2wdwlqxr29rrrkjfi618gbgdkq9w5ff20";
}; };
outputs = [ "out" "lib" "dev" "man" ]; outputs = [ "out" "lib" "dev" "man" ];
nativeBuildInputs = [ pkgconfig ]; patches = [
(fetchpatch {
url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/cups-systemd-socket.patch?h=packages/cups";
sha256 = "1ddgdlg9s0l2ph6l8lx1m1lx6k50gyxqi3qiwr44ppq1rxs80ny5";
})
];
nativeBuildInputs = [ pkgconfig removeReferencesTo ];
buildInputs = [ zlib libjpeg libpng libtiff libusb gnutls libpaper ] buildInputs = [ zlib libjpeg libpng libtiff libusb gnutls libpaper ]
++ optionals stdenv.isLinux [ avahi pam dbus systemd acl ] ++ optionals stdenv.isLinux [ avahi pam dbus systemd acl ]
++ optionals stdenv.isDarwin (with darwin; [ ++ optionals stdenv.isDarwin (with darwin; [
@ -30,16 +38,9 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ gmp ]; propagatedBuildInputs = [ gmp ];
configureFlags = [ configureFlags = [
# Put just lib/* and locale into $lib; this didn't work directly.
# lib/cups is moved back to $out in postInstall.
# Beware: some parts of cups probably don't fully respect these.
"--prefix=$(lib)"
"--datadir=$(out)/share"
"--localedir=$(lib)/share/locale"
"--localstatedir=/var" "--localstatedir=/var"
"--sysconfdir=/etc" "--sysconfdir=/etc"
"--with-systemd=\${out}/lib/systemd/system" "--with-rundir=/run"
"--enable-raw-printing" "--enable-raw-printing"
"--enable-threads" "--enable-threads"
] ++ optionals stdenv.isLinux [ ] ++ optionals stdenv.isLinux [
@ -49,15 +50,24 @@ stdenv.mkDerivation rec {
++ optional (gnutls != null) "--enable-ssl" ++ optional (gnutls != null) "--enable-ssl"
++ optional (avahi != null) "--enable-avahi" ++ optional (avahi != null) "--enable-avahi"
++ optional (libpaper != null) "--enable-libpaper" ++ optional (libpaper != null) "--enable-libpaper"
++ optionals stdenv.isDarwin [ ++ optional stdenv.isDarwin "--disable-launchd";
"--with-bundledir=$out"
"--disable-launchd"
];
# XXX: Hackery until https://github.com/NixOS/nixpkgs/issues/24693 preConfigure = ''
preBuild = if stdenv.isDarwin then '' configureFlagsArray+=(
export DYLD_FRAMEWORK_PATH=/System/Library/Frameworks # Put just lib/* and locale into $lib; this didn't work directly.
'' else null; # lib/cups is moved back to $out in postInstall.
# Beware: some parts of cups probably don't fully respect these.
"--prefix=$lib"
"--datadir=$out/share"
"--localedir=$lib/share/locale"
"--with-systemd=$out/lib/systemd/system"
${optionalString stdenv.isDarwin ''
"--with-bundledir=$out"
''}
)
'';
installFlags = installFlags =
[ # Don't try to write in /var at build time. [ # Don't try to write in /var at build time.
@ -80,21 +90,26 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
postInstall = '' postInstall = ''
moveToOutput lib/cups "$out" libexec=${if stdenv.isDarwin then "libexec/cups" else "lib/cups"}
moveToOutput $libexec "$out"
# $lib contains references to $out/share/cups.
# CUPS is working without them, so they are not vital.
find "$lib" -type f -exec grep -q "$out" {} \; \
-printf "removing references from %p\n" \
-exec remove-references-to -t "$out" {} +
# Delete obsolete stuff that conflicts with cups-filters. # Delete obsolete stuff that conflicts with cups-filters.
rm -rf $out/share/cups/banners $out/share/cups/data/testprint rm -rf $out/share/cups/banners $out/share/cups/data/testprint
# Some outputs in cups-config were unexpanded and some even wrong.
moveToOutput bin/cups-config "$dev" moveToOutput bin/cups-config "$dev"
sed -e "/^cups_serverbin=/s|\$(lib)|$out|" \ sed -e "/^cups_serverbin=/s|$lib|$out|" \
-e "s|\$(out)|$out|" \
-e "s|\$(lib)|$lib|" \
-i "$dev/bin/cups-config" -i "$dev/bin/cups-config"
# Rename systemd files provided by CUPS # Rename systemd files provided by CUPS
for f in "$out"/lib/systemd/system/*; do for f in "$out"/lib/systemd/system/*; do
substituteInPlace "$f" \ substituteInPlace "$f" \
--replace "$lib/$libexec" "$out/$libexec" \
--replace "org.cups.cupsd" "cups" \ --replace "org.cups.cupsd" "cups" \
--replace "org.cups." "" --replace "org.cups." ""

View File

@ -131,6 +131,10 @@ stdenv.mkDerivation rec {
++ optional nvidiaSupport "-DBUILD_NVIDIA=ON" ++ optional nvidiaSupport "-DBUILD_NVIDIA=ON"
; ;
# `make -f src/CMakeFiles/conky.dir/build.make src/CMakeFiles/conky.dir/conky.cc.o`:
# src/conky.cc:137:23: fatal error: defconfig.h: No such file or directory
enableParallelBuilding = false;
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://conky.sourceforge.net/; homepage = http://conky.sourceforge.net/;
description = "Advanced, highly configurable system monitor based on torsmo"; description = "Advanced, highly configurable system monitor based on torsmo";

View File

@ -3,11 +3,11 @@
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "desktop-file-utils-0.22"; name = "desktop-file-utils-0.23";
src = fetchurl { src = fetchurl {
url = "http://www.freedesktop.org/software/desktop-file-utils/releases/${name}.tar.xz"; url = "http://www.freedesktop.org/software/desktop-file-utils/releases/${name}.tar.xz";
sha256 = "1ianvr2a69yjv4rpyv30w7yjsmnsb23crrka5ndqxycj4rkk4dc4"; sha256 = "119kj2w0rrxkhg4f9cf5waa55jz1hj8933vh47vcjipcplql02bc";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -39,6 +39,12 @@ stdenv.mkDerivation rec {
runHook postInstall runHook postInstall
''; '';
# `make build/rcc/qrc_rbutilqt-lang.cpp` fails with
# RCC: Error in 'rbutilqt-lang.qrc': Cannot find file 'lang/rbutil_cs.qm'
# Do not add `lrelease rbutilqt.pro` into preConfigure, otherwise `make lrelease`
# may clobber the files read by the parallel `make build/rcc/qrc_rbutilqt-lang.cpp`.
enableParallelBuilding = false;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Open source firmware for mp3 players"; description = "Open source firmware for mp3 players";
homepage = http://www.rockbox.org; homepage = http://www.rockbox.org;

View File

@ -1051,21 +1051,7 @@ in {
}; };
}; };
backports_shutil_get_terminal_size = if !(pythonOlder "3.3") then null else buildPythonPackage rec { backports_shutil_get_terminal_size = callPackage ../development/python-modules/backports_shutil_get_terminal_size { };
name = "backports.shutil_get_terminal_size-${version}";
version = "1.0.0";
src = pkgs.fetchurl {
url = "mirror://pypi/b/backports.shutil_get_terminal_size/${name}.tar.gz";
sha256 = "713e7a8228ae80341c70586d1cc0a8caa5207346927e23d09dcbcaf18eadec80";
};
meta = {
description = "A backport of the get_terminal_size function from Python 3.3s shutil.";
homepage = https://github.com/chrippa/backports.shutil_get_terminal_size;
license = with licenses; [ mit ];
};
};
backports_ssl_match_hostname_3_4_0_2 = self.buildPythonPackage rec { backports_ssl_match_hostname_3_4_0_2 = self.buildPythonPackage rec {
name = "backports.ssl_match_hostname-3.4.0.2"; name = "backports.ssl_match_hostname-3.4.0.2";
@ -2464,23 +2450,7 @@ in {
characteristic = callPackage ../development/python-modules/characteristic { }; characteristic = callPackage ../development/python-modules/characteristic { };
cheetah = buildPythonPackage rec { cheetah = callPackage ../development/python-modules/cheetah { };
version = "2.4.4";
name = "cheetah-${version}";
disabled = isPy3k;
src = pkgs.fetchurl {
url = "mirror://pypi/C/Cheetah/Cheetah-${version}.tar.gz";
sha256 = "be308229f0c1e5e5af4f27d7ee06d90bb19e6af3059794e5fd536a6f29a9b550";
};
propagatedBuildInputs = with self; [ self.markdown ];
meta = {
homepage = http://www.cheetahtemplate.org/;
description = "A template engine and code generation tool";
};
};
cherrypy = callPackage ../development/python-modules/cherrypy {}; cherrypy = callPackage ../development/python-modules/cherrypy {};
@ -14309,24 +14279,7 @@ in {
}; };
}; };
pathlib2 = if !(pythonOlder "3.4") then null else buildPythonPackage rec { pathlib2 = callPackage ../development/python-modules/pathlib2 { };
name = "pathlib2-${version}";
version = "2.2.1";
src = pkgs.fetchurl {
url = "mirror://pypi/p/pathlib2/${name}.tar.gz";
sha256 = "ce9007df617ef6b7bd8a31cd2089ed0c1fed1f7c23cf2bf1ba140b3dd563175d";
};
propagatedBuildInputs = with self; [ six ] ++ optional (pythonOlder "3.5") scandir;
meta = {
description = "This module offers classes representing filesystem paths with semantics appropriate for different operating systems.";
homepage = https://pypi.python.org/pypi/pathlib2/;
license = with licenses; [ mit ];
};
};
pathpy = callPackage ../development/python-modules/path.py { }; pathpy = callPackage ../development/python-modules/path.py { };
@ -19691,6 +19644,7 @@ in {
}; };
}; };
TurboCheetah = callPackage ../development/python-modules/TurboCheetah { };
tweepy = buildPythonPackage (rec { tweepy = buildPythonPackage (rec {
name = "tweepy-3.5.0"; name = "tweepy-3.5.0";