forked from mirrors/nixpkgs
Merge staging-next into staging
This commit is contained in:
commit
d688c7cd05
|
@ -207,7 +207,7 @@ rec {
|
||||||
|
|
||||||
# 32 bit mingw-w64
|
# 32 bit mingw-w64
|
||||||
mingw32 = {
|
mingw32 = {
|
||||||
config = "i686-pc-mingw32";
|
config = "i686-w64-mingw32";
|
||||||
libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
|
libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
|
||||||
platform = {};
|
platform = {};
|
||||||
};
|
};
|
||||||
|
@ -215,7 +215,7 @@ rec {
|
||||||
# 64 bit mingw-w64
|
# 64 bit mingw-w64
|
||||||
mingwW64 = {
|
mingwW64 = {
|
||||||
# That's the triplet they use in the mingw-w64 docs.
|
# That's the triplet they use in the mingw-w64 docs.
|
||||||
config = "x86_64-pc-mingw32";
|
config = "x86_64-w64-mingw32";
|
||||||
libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
|
libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
|
||||||
platform = {};
|
platform = {};
|
||||||
};
|
};
|
||||||
|
|
|
@ -208,6 +208,9 @@ rec {
|
||||||
vendors = setTypes types.openVendor {
|
vendors = setTypes types.openVendor {
|
||||||
apple = {};
|
apple = {};
|
||||||
pc = {};
|
pc = {};
|
||||||
|
# Actually matters, unlocking some MinGW-w64-specific options in GCC. See
|
||||||
|
# bottom of https://sourceforge.net/p/mingw-w64/wiki2/Unicode%20apps/
|
||||||
|
w64 = {};
|
||||||
|
|
||||||
none = {};
|
none = {};
|
||||||
unknown = {};
|
unknown = {};
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
|
|
||||||
# Enable sound in virtualbox appliances.
|
# Enable sound in virtualbox appliances.
|
||||||
hardware.pulseaudio.enable = true;
|
hardware.pulseaudio.enable = true;
|
||||||
hardware.pulseaudio.systemWide = true; # Needed since we run plasma as root.
|
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.glxinfo pkgs.firefox ];
|
environment.systemPackages = [ pkgs.glxinfo pkgs.firefox ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -184,6 +184,13 @@ in
|
||||||
enableGnomeKeyring = true;
|
enableGnomeKeyring = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.packages = with pkgs.gnome3; [
|
||||||
|
gnome-flashback
|
||||||
|
] ++ (map
|
||||||
|
(wm: gnome-flashback.mkSystemdTargetForWm {
|
||||||
|
inherit (wm) wmName;
|
||||||
|
}) cfg.flashback.customSessions);
|
||||||
|
|
||||||
services.dbus.packages = [
|
services.dbus.packages = [
|
||||||
pkgs.gnome3.gnome-screensaver
|
pkgs.gnome3.gnome-screensaver
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
{ stdenv, fetchurl, pkgconfig, libjack2, alsaLib, libsndfile, liblo, lv2, qt5 }:
|
{ mkDerivation, lib, fetchurl, pkgconfig, libjack2, alsaLib, libsndfile, liblo, lv2, qt5 }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "drumkv1";
|
pname = "drumkv1";
|
||||||
version = "0.9.10";
|
version = "0.9.11";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/drumkv1/${pname}-${version}.tar.gz";
|
url = "mirror://sourceforge/drumkv1/${pname}-${version}.tar.gz";
|
||||||
sha256 = "0h08r6vq23dlnag67fcfcpx83wampx4fag82v4bgkqg2sdh64p3n";
|
sha256 = "1wnjn175l0mz51k9pjf3pdzv54c4jlh63saavld9lm6zfgfs13d7";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools ];
|
buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with lib; {
|
||||||
description = "An old-school drum-kit sampler synthesizer with stereo fx";
|
description = "An old-school drum-kit sampler synthesizer with stereo fx";
|
||||||
homepage = http://drumkv1.sourceforge.net/;
|
homepage = http://drumkv1.sourceforge.net/;
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
{ stdenv, pythonPackages, fetchurl, gettext }:
|
{ stdenv, pythonPackages, fetchurl, gettext }:
|
||||||
pythonPackages.buildPythonApplication rec {
|
pythonPackages.buildPythonApplication rec {
|
||||||
pname = "bleachbit";
|
pname = "bleachbit";
|
||||||
version = "2.2";
|
version = "3.0";
|
||||||
|
|
||||||
format = "other";
|
format = "other";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
|
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
|
||||||
sha256 = "1yj9bc3k6s1aib7znb79h5rybfv691zz4szxkwf9fm9nr0dws603";
|
sha256 = "18ns9hms671b4l0189m1m2agprkydnpvyky9q2f5hxf35i9cn67d";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gettext ];
|
nativeBuildInputs = [ gettext ];
|
||||||
|
|
|
@ -1,10 +1,21 @@
|
||||||
{ stdenv, fetchFromGitHub, python3, gettext, gobject-introspection, wrapGAppsHook, glibcLocales
|
{ stdenv
|
||||||
, gtk3, keybinder3, libnotify, libutempter, vte, libwnck3 }:
|
, fetchFromGitHub
|
||||||
|
, python3
|
||||||
|
, gettext
|
||||||
|
, gobject-introspection
|
||||||
|
, wrapGAppsHook
|
||||||
|
, gtk3
|
||||||
|
, keybinder3
|
||||||
|
, libnotify
|
||||||
|
, libutempter
|
||||||
|
, vte
|
||||||
|
, libwnck3
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
python3.pkgs.buildPythonApplication rec {
|
||||||
|
pname = "guake";
|
||||||
version = "3.6.3";
|
version = "3.6.3";
|
||||||
in python3.pkgs.buildPythonApplication {
|
|
||||||
name = "guake-${version}";
|
|
||||||
format = "other";
|
format = "other";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
@ -19,18 +30,34 @@ in python3.pkgs.buildPythonApplication {
|
||||||
# and https://github.com/NixOS/nixpkgs/issues/56943
|
# and https://github.com/NixOS/nixpkgs/issues/56943
|
||||||
strictDeps = false;
|
strictDeps = false;
|
||||||
|
|
||||||
nativeBuildInputs = [ gettext gobject-introspection wrapGAppsHook python3.pkgs.pip glibcLocales ];
|
nativeBuildInputs = [
|
||||||
|
gettext
|
||||||
|
gobject-introspection
|
||||||
|
wrapGAppsHook
|
||||||
|
python3.pkgs.pip
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [ gtk3 keybinder3 libnotify python3 vte ];
|
buildInputs = [
|
||||||
|
gtk3
|
||||||
|
keybinder3
|
||||||
|
libnotify
|
||||||
|
libwnck3
|
||||||
|
python3
|
||||||
|
vte
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = with python3.pkgs; [ dbus-python pbr pycairo pygobject3 libwnck3 ];
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
|
dbus-python
|
||||||
LC_ALL = "en_US.UTF-8"; # fixes weird encoding error, see https://github.com/NixOS/nixpkgs/pull/38642#issuecomment-379727699
|
pbr
|
||||||
|
pycairo
|
||||||
|
pygobject3
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
PBR_VERSION = version; # pbr needs either .git directory, sdist, or env var
|
PBR_VERSION = version; # pbr needs either .git directory, sdist, or env var
|
||||||
|
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
"prefix=$(out)"
|
"prefix=${placeholder ''out''}"
|
||||||
];
|
];
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
|
@ -39,9 +66,9 @@ in python3.pkgs.buildPythonApplication {
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Drop-down terminal for GNOME";
|
description = "Drop-down terminal for GNOME";
|
||||||
homepage = http://guake-project.org;
|
homepage = "http://guake-project.org";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = [ maintainers.msteen ];
|
maintainers = [ maintainers.msteen ];
|
||||||
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,14 +4,14 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "20191102";
|
version = "20191111";
|
||||||
pname = "neomutt";
|
pname = "neomutt";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "neomutt";
|
owner = "neomutt";
|
||||||
repo = "neomutt";
|
repo = "neomutt";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0x5f9zbvxsxg5y2ir4xq4xw1q2snaxkidhdyhcxw5ljw3qqwhlyq";
|
sha256 = "16xr7wdmjw0i72xbnyyh098wx4cr0m8w2cr1szdi1b14p4kpgr67";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenvNoCC, curl }: # Note that `curl' may be `null', in case of the native stdenvNoCC.
|
{ lib, buildPackages ? { inherit stdenvNoCC; }, stdenvNoCC, curl }: # Note that `curl' may be `null', in case of the native stdenvNoCC.
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ let
|
||||||
# resulting store derivations (.drv files) much smaller, which in
|
# resulting store derivations (.drv files) much smaller, which in
|
||||||
# turn makes nix-env/nix-instantiate faster.
|
# turn makes nix-env/nix-instantiate faster.
|
||||||
mirrorsFile =
|
mirrorsFile =
|
||||||
stdenvNoCC.mkDerivation ({
|
buildPackages.stdenvNoCC.mkDerivation ({
|
||||||
name = "mirrors-list";
|
name = "mirrors-list";
|
||||||
builder = ./write-mirror-list.sh;
|
builder = ./write-mirror-list.sh;
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
, writeTextFile
|
, writeTextFile
|
||||||
, writeShellScriptBin
|
, writeShellScriptBin
|
||||||
, xkeyboard_config
|
, xkeyboard_config
|
||||||
|
, runCommand
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -141,6 +142,13 @@ let
|
||||||
DesktopNames=GNOME-Flashback;GNOME;
|
DesktopNames=GNOME-Flashback;GNOME;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mkSystemdTargetForWm = { wmName }:
|
||||||
|
runCommand "gnome-flashback-${wmName}.target" {} ''
|
||||||
|
mkdir -p $out/lib/systemd/user
|
||||||
|
cp "${gnome-flashback}/lib/systemd/user/gnome-session-x11@gnome-flashback-metacity.target" \
|
||||||
|
"$out/lib/systemd/user/gnome-session-x11@gnome-flashback-${wmName}.target"
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||||
, name ? "gcc"
|
, name ? "gcc"
|
||||||
, libcCross ? null
|
, libcCross ? null
|
||||||
|
, threadsCross ? null # for MinGW
|
||||||
, crossStageStatic ? false
|
, crossStageStatic ? false
|
||||||
, # Strip kills static libs of other archs (hence no cross)
|
, # Strip kills static libs of other archs (hence no cross)
|
||||||
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
||||||
|
@ -48,10 +49,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
|
||||||
# The go frontend is written in c++
|
# The go frontend is written in c++
|
||||||
assert langGo -> langCC;
|
assert langGo -> langCC;
|
||||||
|
|
||||||
|
# threadsCross is just for MinGW
|
||||||
|
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
with builtins;
|
with builtins;
|
||||||
|
|
||||||
let version = "4.8.5";
|
let majorVersion = "4";
|
||||||
|
version = "${majorVersion}.8.5";
|
||||||
|
|
||||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||||
|
|
||||||
|
@ -172,6 +177,8 @@ stdenv.mkDerivation ({
|
||||||
++ (optional hostPlatform.isDarwin gnused)
|
++ (optional hostPlatform.isDarwin gnused)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
|
||||||
|
|
||||||
preConfigure = import ../common/pre-configure.nix {
|
preConfigure = import ../common/pre-configure.nix {
|
||||||
inherit (stdenv) lib;
|
inherit (stdenv) lib;
|
||||||
inherit version hostPlatform langJava langGo;
|
inherit version hostPlatform langJava langGo;
|
||||||
|
@ -253,24 +260,13 @@ stdenv.mkDerivation ({
|
||||||
++ optionals javaAwtGtk [ gmp mpfr ]
|
++ optionals javaAwtGtk [ gmp mpfr ]
|
||||||
));
|
));
|
||||||
|
|
||||||
EXTRA_TARGET_FLAGS = optionals
|
inherit
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
(import ../common/extra-target-flags.nix {
|
||||||
([
|
inherit stdenv crossStageStatic libcCross threadsCross;
|
||||||
"-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
|
})
|
||||||
] ++ optionals (! crossStageStatic) [
|
EXTRA_TARGET_FLAGS
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
EXTRA_TARGET_LDFLAGS
|
||||||
]);
|
;
|
||||||
|
|
||||||
EXTRA_TARGET_LDFLAGS = optionals
|
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
|
||||||
([
|
|
||||||
"-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] ++ (if crossStageStatic then [
|
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] else [
|
|
||||||
"-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
"-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
]));
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||||
, name ? "gcc"
|
, name ? "gcc"
|
||||||
, libcCross ? null
|
, libcCross ? null
|
||||||
|
, threadsCross ? null # for MinGW
|
||||||
, crossStageStatic ? false
|
, crossStageStatic ? false
|
||||||
, # Strip kills static libs of other archs (hence no cross)
|
, # Strip kills static libs of other archs (hence no cross)
|
||||||
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
||||||
|
@ -48,10 +49,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
|
||||||
# The go frontend is written in c++
|
# The go frontend is written in c++
|
||||||
assert langGo -> langCC;
|
assert langGo -> langCC;
|
||||||
|
|
||||||
|
# threadsCross is just for MinGW
|
||||||
|
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
with builtins;
|
with builtins;
|
||||||
|
|
||||||
let version = "4.9.4";
|
let majorVersion = "4";
|
||||||
|
version = "${majorVersion}.9.4";
|
||||||
|
|
||||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||||
|
|
||||||
|
@ -178,6 +183,8 @@ stdenv.mkDerivation ({
|
||||||
++ (optional hostPlatform.isDarwin gnused)
|
++ (optional hostPlatform.isDarwin gnused)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
|
||||||
|
|
||||||
preConfigure = import ../common/pre-configure.nix {
|
preConfigure = import ../common/pre-configure.nix {
|
||||||
inherit (stdenv) lib;
|
inherit (stdenv) lib;
|
||||||
inherit version hostPlatform langJava langGo;
|
inherit version hostPlatform langJava langGo;
|
||||||
|
@ -259,24 +266,13 @@ stdenv.mkDerivation ({
|
||||||
++ optionals javaAwtGtk [ gmp mpfr ]
|
++ optionals javaAwtGtk [ gmp mpfr ]
|
||||||
));
|
));
|
||||||
|
|
||||||
EXTRA_TARGET_FLAGS = optionals
|
inherit
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
(import ../common/extra-target-flags.nix {
|
||||||
([
|
inherit stdenv crossStageStatic libcCross threadsCross;
|
||||||
"-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
|
})
|
||||||
] ++ optionals (! crossStageStatic) [
|
EXTRA_TARGET_FLAGS
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
EXTRA_TARGET_LDFLAGS
|
||||||
]);
|
;
|
||||||
|
|
||||||
EXTRA_TARGET_LDFLAGS = optionals
|
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
|
||||||
([
|
|
||||||
"-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] ++ (if crossStageStatic then [
|
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] else [
|
|
||||||
"-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
"-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
]));
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||||
, name ? "gcc"
|
, name ? "gcc"
|
||||||
, libcCross ? null
|
, libcCross ? null
|
||||||
|
, threadsCross ? null # for MinGW
|
||||||
, crossStageStatic ? false
|
, crossStageStatic ? false
|
||||||
, # Strip kills static libs of other archs (hence no cross)
|
, # Strip kills static libs of other archs (hence no cross)
|
||||||
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
||||||
|
@ -46,10 +47,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
|
||||||
# The go frontend is written in c++
|
# The go frontend is written in c++
|
||||||
assert langGo -> langCC;
|
assert langGo -> langCC;
|
||||||
|
|
||||||
|
# threadsCross is just for MinGW
|
||||||
|
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
with builtins;
|
with builtins;
|
||||||
|
|
||||||
let version = "5.5.0";
|
let majorVersion = "5";
|
||||||
|
version = "${majorVersion}.5.0";
|
||||||
|
|
||||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||||
|
|
||||||
|
@ -62,6 +67,10 @@ let version = "5.5.0";
|
||||||
++ optional stdenv.hostPlatform.isMusl (fetchpatch {
|
++ optional stdenv.hostPlatform.isMusl (fetchpatch {
|
||||||
url = https://raw.githubusercontent.com/richfelker/musl-cross-make/e84b1bd1fc12a3def33111ca6df522cd6e5ec361/patches/gcc-5.3.0/0001-musl.diff;
|
url = https://raw.githubusercontent.com/richfelker/musl-cross-make/e84b1bd1fc12a3def33111ca6df522cd6e5ec361/patches/gcc-5.3.0/0001-musl.diff;
|
||||||
sha256 = "0pppbf8myi2kjhm3z3479ihn1cm60kycfv60gj8yy1bs0pl1qcfm";
|
sha256 = "0pppbf8myi2kjhm3z3479ihn1cm60kycfv60gj8yy1bs0pl1qcfm";
|
||||||
|
})
|
||||||
|
++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
|
||||||
|
sha256 = "074bl5n27d1ksa31pvzj4vd8xd46r118k0w94gdv3s1vydg7mah0";
|
||||||
});
|
});
|
||||||
|
|
||||||
javaEcj = fetchurl {
|
javaEcj = fetchurl {
|
||||||
|
@ -184,6 +193,8 @@ stdenv.mkDerivation ({
|
||||||
++ (optional hostPlatform.isDarwin gnused)
|
++ (optional hostPlatform.isDarwin gnused)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
|
||||||
|
|
||||||
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
||||||
preConfigure = import ../common/pre-configure.nix {
|
preConfigure = import ../common/pre-configure.nix {
|
||||||
|
@ -266,24 +277,13 @@ stdenv.mkDerivation ({
|
||||||
++ optionals javaAwtGtk [ gmp mpfr ]
|
++ optionals javaAwtGtk [ gmp mpfr ]
|
||||||
));
|
));
|
||||||
|
|
||||||
EXTRA_TARGET_FLAGS = optionals
|
inherit
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
(import ../common/extra-target-flags.nix {
|
||||||
([
|
inherit stdenv crossStageStatic libcCross threadsCross;
|
||||||
"-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
|
})
|
||||||
] ++ optionals (! crossStageStatic) [
|
EXTRA_TARGET_FLAGS
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
EXTRA_TARGET_LDFLAGS
|
||||||
]);
|
;
|
||||||
|
|
||||||
EXTRA_TARGET_LDFLAGS = optionals
|
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
|
||||||
([
|
|
||||||
"-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] ++ (if crossStageStatic then [
|
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] else [
|
|
||||||
"-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
"-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
]));
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, targetPackages, fetchurl, noSysDirs
|
{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
|
||||||
, langC ? true, langCC ? true, langFortran ? false
|
, langC ? true, langCC ? true, langFortran ? false
|
||||||
, langObjC ? stdenv.targetPlatform.isDarwin
|
, langObjC ? stdenv.targetPlatform.isDarwin
|
||||||
, langObjCpp ? stdenv.targetPlatform.isDarwin
|
, langObjCpp ? stdenv.targetPlatform.isDarwin
|
||||||
|
@ -24,6 +24,7 @@
|
||||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||||
, name ? "gcc"
|
, name ? "gcc"
|
||||||
, libcCross ? null
|
, libcCross ? null
|
||||||
|
, threadsCross ? null # for MinGW
|
||||||
, crossStageStatic ? false
|
, crossStageStatic ? false
|
||||||
, # Strip kills static libs of other archs (hence no cross)
|
, # Strip kills static libs of other archs (hence no cross)
|
||||||
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
||||||
|
@ -46,10 +47,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
|
||||||
# The go frontend is written in c++
|
# The go frontend is written in c++
|
||||||
assert langGo -> langCC;
|
assert langGo -> langCC;
|
||||||
|
|
||||||
|
# threadsCross is just for MinGW
|
||||||
|
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
with builtins;
|
with builtins;
|
||||||
|
|
||||||
let version = "6.5.0";
|
let majorVersion = "6";
|
||||||
|
version = "${majorVersion}.5.0";
|
||||||
|
|
||||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||||
|
|
||||||
|
@ -59,7 +64,10 @@ let version = "6.5.0";
|
||||||
++ optional noSysDirs ../no-sys-dirs.patch
|
++ optional noSysDirs ../no-sys-dirs.patch
|
||||||
++ optional langFortran ../gfortran-driving.patch
|
++ optional langFortran ../gfortran-driving.patch
|
||||||
++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
|
++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
|
||||||
;
|
++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
|
||||||
|
sha256 = "1c449jgm1vx9g4kv82bxmvlgrwb8f6kwkl0gqmjlmhf7f4hjy2nr";
|
||||||
|
});
|
||||||
|
|
||||||
javaEcj = fetchurl {
|
javaEcj = fetchurl {
|
||||||
# The `$(top_srcdir)/ecj.jar' file is automatically picked up at
|
# The `$(top_srcdir)/ecj.jar' file is automatically picked up at
|
||||||
|
@ -186,6 +194,8 @@ stdenv.mkDerivation ({
|
||||||
++ (optional hostPlatform.isDarwin gnused)
|
++ (optional hostPlatform.isDarwin gnused)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
|
||||||
|
|
||||||
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
||||||
preConfigure = import ../common/pre-configure.nix {
|
preConfigure = import ../common/pre-configure.nix {
|
||||||
|
@ -268,24 +278,13 @@ stdenv.mkDerivation ({
|
||||||
++ optionals javaAwtGtk [ gmp mpfr ]
|
++ optionals javaAwtGtk [ gmp mpfr ]
|
||||||
));
|
));
|
||||||
|
|
||||||
EXTRA_TARGET_FLAGS = optionals
|
inherit
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
(import ../common/extra-target-flags.nix {
|
||||||
([
|
inherit stdenv crossStageStatic libcCross threadsCross;
|
||||||
"-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
|
})
|
||||||
] ++ optionals (! crossStageStatic) [
|
EXTRA_TARGET_FLAGS
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
EXTRA_TARGET_LDFLAGS
|
||||||
]);
|
;
|
||||||
|
|
||||||
EXTRA_TARGET_LDFLAGS = optionals
|
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
|
||||||
([
|
|
||||||
"-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] ++ (if crossStageStatic then [
|
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] else [
|
|
||||||
"-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
"-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
]));
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||||
, name ? "gcc"
|
, name ? "gcc"
|
||||||
, libcCross ? null
|
, libcCross ? null
|
||||||
|
, threadsCross ? null # for MinGW
|
||||||
, crossStageStatic ? false
|
, crossStageStatic ? false
|
||||||
, # Strip kills static libs of other archs (hence no cross)
|
, # Strip kills static libs of other archs (hence no cross)
|
||||||
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
||||||
|
@ -35,10 +36,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
|
||||||
# The go frontend is written in c++
|
# The go frontend is written in c++
|
||||||
assert langGo -> langCC;
|
assert langGo -> langCC;
|
||||||
|
|
||||||
|
# threadsCross is just for MinGW
|
||||||
|
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
with builtins;
|
with builtins;
|
||||||
|
|
||||||
let version = "7.4.0";
|
let majorVersion = "7";
|
||||||
|
version = "${majorVersion}.4.0";
|
||||||
|
|
||||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||||
|
|
||||||
|
@ -59,7 +64,11 @@ let version = "7.4.0";
|
||||||
})
|
})
|
||||||
++ optional langFortran ../gfortran-driving.patch
|
++ optional langFortran ../gfortran-driving.patch
|
||||||
++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
|
++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
|
||||||
++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch;
|
++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
|
||||||
|
++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
|
||||||
|
sha256 = "1nyjnshpq5gbcbbpfv27hy4ajvycmgkpiabkjlxnnrnq1d99k1ay";
|
||||||
|
});
|
||||||
|
|
||||||
/* Cross-gcc settings (build == host != target) */
|
/* Cross-gcc settings (build == host != target) */
|
||||||
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
|
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
|
||||||
|
@ -161,6 +170,8 @@ stdenv.mkDerivation ({
|
||||||
++ (optional hostPlatform.isDarwin gnused)
|
++ (optional hostPlatform.isDarwin gnused)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument";
|
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument";
|
||||||
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
||||||
|
@ -232,24 +243,13 @@ stdenv.mkDerivation ({
|
||||||
|
|
||||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||||
|
|
||||||
EXTRA_TARGET_FLAGS = optionals
|
inherit
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
(import ../common/extra-target-flags.nix {
|
||||||
([
|
inherit stdenv crossStageStatic libcCross threadsCross;
|
||||||
"-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
|
})
|
||||||
] ++ optionals (! crossStageStatic) [
|
EXTRA_TARGET_FLAGS
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
EXTRA_TARGET_LDFLAGS
|
||||||
]);
|
;
|
||||||
|
|
||||||
EXTRA_TARGET_LDFLAGS = optionals
|
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
|
||||||
([
|
|
||||||
"-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] ++ (if crossStageStatic then [
|
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] else [
|
|
||||||
"-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
"-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
]));
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, targetPackages, fetchurl, noSysDirs
|
{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
|
||||||
, langC ? true, langCC ? true, langFortran ? false
|
, langC ? true, langCC ? true, langFortran ? false
|
||||||
, langObjC ? stdenv.targetPlatform.isDarwin
|
, langObjC ? stdenv.targetPlatform.isDarwin
|
||||||
, langObjCpp ? stdenv.targetPlatform.isDarwin
|
, langObjCpp ? stdenv.targetPlatform.isDarwin
|
||||||
|
@ -17,6 +17,7 @@
|
||||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||||
, name ? "gcc"
|
, name ? "gcc"
|
||||||
, libcCross ? null
|
, libcCross ? null
|
||||||
|
, threadsCross ? null # for MinGW
|
||||||
, crossStageStatic ? false
|
, crossStageStatic ? false
|
||||||
, # Strip kills static libs of other archs (hence no cross)
|
, # Strip kills static libs of other archs (hence no cross)
|
||||||
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
||||||
|
@ -35,10 +36,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
|
||||||
# The go frontend is written in c++
|
# The go frontend is written in c++
|
||||||
assert langGo -> langCC;
|
assert langGo -> langCC;
|
||||||
|
|
||||||
|
# threadsCross is just for MinGW
|
||||||
|
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
with builtins;
|
with builtins;
|
||||||
|
|
||||||
let version = "8.3.0";
|
let majorVersion = "8";
|
||||||
|
version = "${majorVersion}.3.0";
|
||||||
|
|
||||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||||
|
|
||||||
|
@ -51,7 +56,11 @@ let version = "8.3.0";
|
||||||
}) */
|
}) */
|
||||||
++ optional langFortran ../gfortran-driving.patch
|
++ optional langFortran ../gfortran-driving.patch
|
||||||
++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
|
++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
|
||||||
++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch;
|
++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
|
||||||
|
++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
|
||||||
|
sha256 = "1in5kvcknlpi9z1vvjw6jfmwy8k12zvbqlqfnq84qpm99r0rh00a";
|
||||||
|
});
|
||||||
|
|
||||||
/* Cross-gcc settings (build == host != target) */
|
/* Cross-gcc settings (build == host != target) */
|
||||||
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
|
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
|
||||||
|
@ -153,6 +162,8 @@ stdenv.mkDerivation ({
|
||||||
++ (optional hostPlatform.isDarwin gnused)
|
++ (optional hostPlatform.isDarwin gnused)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
|
||||||
|
|
||||||
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
||||||
preConfigure = import ../common/pre-configure.nix {
|
preConfigure = import ../common/pre-configure.nix {
|
||||||
|
@ -219,24 +230,13 @@ stdenv.mkDerivation ({
|
||||||
|
|
||||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||||
|
|
||||||
EXTRA_TARGET_FLAGS = optionals
|
inherit
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
(import ../common/extra-target-flags.nix {
|
||||||
([
|
inherit stdenv crossStageStatic libcCross threadsCross;
|
||||||
"-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
|
})
|
||||||
] ++ optionals (! crossStageStatic) [
|
EXTRA_TARGET_FLAGS
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
EXTRA_TARGET_LDFLAGS
|
||||||
]);
|
;
|
||||||
|
|
||||||
EXTRA_TARGET_LDFLAGS = optionals
|
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
|
||||||
([
|
|
||||||
"-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] ++ (if crossStageStatic then [
|
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] else [
|
|
||||||
"-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
"-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
]));
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, targetPackages, fetchurl, noSysDirs
|
{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
|
||||||
, langC ? true, langCC ? true, langFortran ? false
|
, langC ? true, langCC ? true, langFortran ? false
|
||||||
, langObjC ? stdenv.targetPlatform.isDarwin
|
, langObjC ? stdenv.targetPlatform.isDarwin
|
||||||
, langObjCpp ? stdenv.targetPlatform.isDarwin
|
, langObjCpp ? stdenv.targetPlatform.isDarwin
|
||||||
|
@ -17,6 +17,7 @@
|
||||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||||
, name ? "gcc"
|
, name ? "gcc"
|
||||||
, libcCross ? null
|
, libcCross ? null
|
||||||
|
, threadsCross ? null # for MinGW
|
||||||
, crossStageStatic ? false
|
, crossStageStatic ? false
|
||||||
, # Strip kills static libs of other archs (hence no cross)
|
, # Strip kills static libs of other archs (hence no cross)
|
||||||
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
||||||
|
@ -35,10 +36,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
|
||||||
# The go frontend is written in c++
|
# The go frontend is written in c++
|
||||||
assert langGo -> langCC;
|
assert langGo -> langCC;
|
||||||
|
|
||||||
|
# threadsCross is just for MinGW
|
||||||
|
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
with builtins;
|
with builtins;
|
||||||
|
|
||||||
let version = "9.2.0";
|
let majorVersion = "9";
|
||||||
|
version = "${majorVersion}.2.0";
|
||||||
|
|
||||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||||
|
|
||||||
|
@ -50,7 +55,11 @@ let version = "9.2.0";
|
||||||
sha256 = ""; # TODO: uncomment and check hash when available.
|
sha256 = ""; # TODO: uncomment and check hash when available.
|
||||||
}) */
|
}) */
|
||||||
++ optional langFortran ../gfortran-driving.patch
|
++ optional langFortran ../gfortran-driving.patch
|
||||||
++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch;
|
++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
|
||||||
|
++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
|
||||||
|
sha256 = "1in5kvcknlpi9z1vvjw6jfmwy8k12zvbqlqfnq84qpm99r0rh00a";
|
||||||
|
});
|
||||||
|
|
||||||
/* Cross-gcc settings (build == host != target) */
|
/* Cross-gcc settings (build == host != target) */
|
||||||
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
|
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
|
||||||
|
@ -152,6 +161,8 @@ stdenv.mkDerivation ({
|
||||||
++ (optional hostPlatform.isDarwin gnused)
|
++ (optional hostPlatform.isDarwin gnused)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
|
||||||
|
|
||||||
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
||||||
preConfigure = import ../common/pre-configure.nix {
|
preConfigure = import ../common/pre-configure.nix {
|
||||||
|
@ -218,24 +229,13 @@ stdenv.mkDerivation ({
|
||||||
|
|
||||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||||
|
|
||||||
EXTRA_TARGET_FLAGS = optionals
|
inherit
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
(import ../common/extra-target-flags.nix {
|
||||||
([
|
inherit stdenv crossStageStatic libcCross threadsCross;
|
||||||
"-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
|
})
|
||||||
] ++ optionals (! crossStageStatic) [
|
EXTRA_TARGET_FLAGS
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
EXTRA_TARGET_LDFLAGS
|
||||||
]);
|
;
|
||||||
|
|
||||||
EXTRA_TARGET_LDFLAGS = optionals
|
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
|
||||||
([
|
|
||||||
"-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] ++ (if crossStageStatic then [
|
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] else [
|
|
||||||
"-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
"-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
]));
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
||||||
|
|
|
@ -50,7 +50,7 @@ let
|
||||||
"--disable-decimal-float" # requires libc
|
"--disable-decimal-float" # requires libc
|
||||||
"--disable-libmpx" # requires libc
|
"--disable-libmpx" # requires libc
|
||||||
] ++ lib.optionals crossMingw [
|
] ++ lib.optionals crossMingw [
|
||||||
"--with-headers=${libcCross}/include"
|
"--with-headers=${lib.getDev libcCross}/include"
|
||||||
"--with-gcc"
|
"--with-gcc"
|
||||||
"--with-gnu-as"
|
"--with-gnu-as"
|
||||||
"--with-gnu-ld"
|
"--with-gnu-ld"
|
||||||
|
@ -63,7 +63,7 @@ let
|
||||||
"--enable-__cxa_atexit"
|
"--enable-__cxa_atexit"
|
||||||
"--enable-long-long"
|
"--enable-long-long"
|
||||||
"--enable-threads=${if targetPlatform.isUnix then "posix"
|
"--enable-threads=${if targetPlatform.isUnix then "posix"
|
||||||
else if targetPlatform.isWindows then "win32"
|
else if targetPlatform.isWindows then "mcf"
|
||||||
else "single"}"
|
else "single"}"
|
||||||
"--enable-nls"
|
"--enable-nls"
|
||||||
"--disable-decimal-float" # No final libdecnumber (it may work only in 386)
|
"--disable-decimal-float" # No final libdecnumber (it may work only in 386)
|
||||||
|
|
30
pkgs/development/compilers/gcc/common/extra-target-flags.nix
Normal file
30
pkgs/development/compilers/gcc/common/extra-target-flags.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{ stdenv, crossStageStatic, libcCross, threadsCross }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (stdenv) lib hostPlatform targetPlatform;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
EXTRA_TARGET_FLAGS = let
|
||||||
|
mkFlags = dep: lib.optionals (targetPlatform != hostPlatform && dep != null) ([
|
||||||
|
"-idirafter ${lib.getDev dep}${dep.incdir or "/include"}"
|
||||||
|
] ++ stdenv.lib.optionals (! crossStageStatic) [
|
||||||
|
"-B${lib.getLib dep}${dep.libdir or "/lib"}"
|
||||||
|
]);
|
||||||
|
in mkFlags libcCross
|
||||||
|
++ lib.optionals (!crossStageStatic) (mkFlags threadsCross)
|
||||||
|
;
|
||||||
|
|
||||||
|
EXTRA_TARGET_LDFLAGS = let
|
||||||
|
mkFlags = dep: lib.optionals (targetPlatform != hostPlatform && dep != null) ([
|
||||||
|
"-Wl,-L${lib.getLib dep}${dep.libdir or "/lib"}"
|
||||||
|
] ++ (if crossStageStatic then [
|
||||||
|
"-B${lib.getLib dep}${dep.libdir or "/lib"}"
|
||||||
|
] else [
|
||||||
|
"-Wl,-rpath,${lib.getLib dep}${dep.libdir or "/lib"}"
|
||||||
|
"-Wl,-rpath-link,${lib.getLib dep}${dep.libdir or "/lib"}"
|
||||||
|
]));
|
||||||
|
in mkFlags libcCross
|
||||||
|
++ lib.optionals (!crossStageStatic) (mkFlags threadsCross)
|
||||||
|
;
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
"740f233da00c4fb5bcc225b2e29768824bcecc58"
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, targetPackages, fetchurl, noSysDirs
|
{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
|
||||||
, langC ? true, langCC ? true, langFortran ? false
|
, langC ? true, langCC ? true, langFortran ? false
|
||||||
, langObjC ? stdenv.targetPlatform.isDarwin
|
, langObjC ? stdenv.targetPlatform.isDarwin
|
||||||
, langObjCpp ? stdenv.targetPlatform.isDarwin
|
, langObjCpp ? stdenv.targetPlatform.isDarwin
|
||||||
|
@ -17,6 +17,7 @@
|
||||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||||
, name ? "gcc"
|
, name ? "gcc"
|
||||||
, libcCross ? null
|
, libcCross ? null
|
||||||
|
, threadsCross ? null # for MinGW
|
||||||
, crossStageStatic ? false
|
, crossStageStatic ? false
|
||||||
, # Strip kills static libs of other archs (hence no cross)
|
, # Strip kills static libs of other archs (hence no cross)
|
||||||
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
||||||
|
@ -36,10 +37,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
|
||||||
# The go frontend is written in c++
|
# The go frontend is written in c++
|
||||||
assert langGo -> langCC;
|
assert langGo -> langCC;
|
||||||
|
|
||||||
|
# threadsCross is just for MinGW
|
||||||
|
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
with builtins;
|
with builtins;
|
||||||
|
|
||||||
let version = "7-20170409";
|
let majorVersion = "7";
|
||||||
|
version = "${majorVersion}-20170409";
|
||||||
|
|
||||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||||
|
|
||||||
|
@ -47,7 +52,11 @@ let version = "7-20170409";
|
||||||
[ ]
|
[ ]
|
||||||
++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
||||||
++ optional noSysDirs ../no-sys-dirs.patch
|
++ optional noSysDirs ../no-sys-dirs.patch
|
||||||
++ optional langFortran ../gfortran-driving.patch;
|
++ optional langFortran ../gfortran-driving.patch
|
||||||
|
++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
|
||||||
|
sha256 = "1nyjnshpq5gbcbbpfv27hy4ajvycmgkpiabkjlxnnrnq1d99k1ay";
|
||||||
|
});
|
||||||
|
|
||||||
/* Cross-gcc settings (build == host != target) */
|
/* Cross-gcc settings (build == host != target) */
|
||||||
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
|
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
|
||||||
|
@ -119,6 +128,8 @@ stdenv.mkDerivation ({
|
||||||
++ (optional hostPlatform.isDarwin gnused)
|
++ (optional hostPlatform.isDarwin gnused)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
|
||||||
|
|
||||||
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
||||||
preConfigure = import ../common/pre-configure.nix {
|
preConfigure = import ../common/pre-configure.nix {
|
||||||
|
@ -186,24 +197,13 @@ stdenv.mkDerivation ({
|
||||||
|
|
||||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||||
|
|
||||||
EXTRA_TARGET_FLAGS = optionals
|
inherit
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
(import ../common/extra-target-flags.nix {
|
||||||
([
|
inherit stdenv crossStageStatic libcCross threadsCross;
|
||||||
"-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
|
})
|
||||||
] ++ optionals (! crossStageStatic) [
|
EXTRA_TARGET_FLAGS
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
EXTRA_TARGET_LDFLAGS
|
||||||
]);
|
;
|
||||||
|
|
||||||
EXTRA_TARGET_LDFLAGS = optionals
|
|
||||||
(targetPlatform != hostPlatform && libcCross != null)
|
|
||||||
([
|
|
||||||
"-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] ++ (if crossStageStatic then [
|
|
||||||
"-B${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
] else [
|
|
||||||
"-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
"-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
|
|
||||||
]));
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
||||||
|
|
|
@ -517,9 +517,9 @@ self: super: builtins.intersectAttrs super {
|
||||||
# https://github.com/plow-technologies/servant-streaming/issues/12
|
# https://github.com/plow-technologies/servant-streaming/issues/12
|
||||||
servant-streaming-server = dontCheck super.servant-streaming-server;
|
servant-streaming-server = dontCheck super.servant-streaming-server;
|
||||||
|
|
||||||
# https://github.com/haskell-servant/servant/pull/1128
|
# https://github.com/haskell-servant/servant/pull/1238
|
||||||
servant-client-core = if (pkgs.lib.getVersion super.servant-client-core) == "0.15" then
|
servant-client-core = if (pkgs.lib.getVersion super.servant-client-core) == "0.16" then
|
||||||
appendPatch super.servant-client-core ./patches/servant-client-core-streamBody.patch
|
appendPatch super.servant-client-core ./patches/servant-client-core-redact-auth-header.patch
|
||||||
else
|
else
|
||||||
super.servant-client-core;
|
super.servant-client-core;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,75 @@
|
||||||
|
diff --git a/servant-client-core.cabal b/servant-client-core.cabal
|
||||||
|
index 5789da601..3faf65bb4 100644
|
||||||
|
--- a/servant-client-core.cabal
|
||||||
|
+++ b/servant-client-core.cabal
|
||||||
|
@@ -96,6 +96,7 @@ test-suite spec
|
||||||
|
main-is: Spec.hs
|
||||||
|
other-modules:
|
||||||
|
Servant.Client.Core.Internal.BaseUrlSpec
|
||||||
|
+ Servant.Client.Core.RequestSpec
|
||||||
|
|
||||||
|
-- Dependencies inherited from the library. No need to specify bounds.
|
||||||
|
build-depends:
|
||||||
|
diff --git a/src/Servant/Client/Core/Request.hs b/src/Servant/Client/Core/Request.hs
|
||||||
|
index 73756e702..0276d46f8 100644
|
||||||
|
--- a/src/Servant/Client/Core/Request.hs
|
||||||
|
+++ b/src/Servant/Client/Core/Request.hs
|
||||||
|
@@ -64,8 +64,32 @@ data RequestF body path = Request
|
||||||
|
, requestHeaders :: Seq.Seq Header
|
||||||
|
, requestHttpVersion :: HttpVersion
|
||||||
|
, requestMethod :: Method
|
||||||
|
- } deriving (Generic, Typeable, Eq, Show, Functor, Foldable, Traversable)
|
||||||
|
+ } deriving (Generic, Typeable, Eq, Functor, Foldable, Traversable)
|
||||||
|
|
||||||
|
+instance (Show a, Show b) =>
|
||||||
|
+ Show (Servant.Client.Core.Request.RequestF a b) where
|
||||||
|
+ showsPrec p req
|
||||||
|
+ = showParen
|
||||||
|
+ (p >= 11)
|
||||||
|
+ ( showString "Request {requestPath = "
|
||||||
|
+ . showsPrec 0 (requestPath req)
|
||||||
|
+ . showString ", requestQueryString = "
|
||||||
|
+ . showsPrec 0 (requestQueryString req)
|
||||||
|
+ . showString ", requestBody = "
|
||||||
|
+ . showsPrec 0 (requestBody req)
|
||||||
|
+ . showString ", requestAccept = "
|
||||||
|
+ . showsPrec 0 (requestAccept req)
|
||||||
|
+ . showString ", requestHeaders = "
|
||||||
|
+ . showsPrec 0 (redactSensitiveHeader <$> requestHeaders req))
|
||||||
|
+ . showString ", requestHttpVersion = "
|
||||||
|
+ . showsPrec 0 (requestHttpVersion req)
|
||||||
|
+ . showString ", requestMethod = "
|
||||||
|
+ . showsPrec 0 (requestMethod req)
|
||||||
|
+ . showString "}"
|
||||||
|
+ where
|
||||||
|
+ redactSensitiveHeader :: Header -> Header
|
||||||
|
+ redactSensitiveHeader ("Authorization", _) = ("Authorization", "<REDACTED>")
|
||||||
|
+ redactSensitiveHeader h = h
|
||||||
|
instance Bifunctor RequestF where bimap = bimapDefault
|
||||||
|
instance Bifoldable RequestF where bifoldMap = bifoldMapDefault
|
||||||
|
instance Bitraversable RequestF where
|
||||||
|
diff --git a/test/Servant/Client/Core/RequestSpec.hs b/test/Servant/Client/Core/RequestSpec.hs
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..99a1db7d3
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/test/Servant/Client/Core/RequestSpec.hs
|
||||||
|
@@ -0,0 +1,19 @@
|
||||||
|
+{-# OPTIONS_GHC -fno-warn-orphans #-}
|
||||||
|
+{-# LANGUAGE OverloadedStrings #-}
|
||||||
|
+module Servant.Client.Core.RequestSpec (spec) where
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+import Prelude ()
|
||||||
|
+import Prelude.Compat
|
||||||
|
+import Control.Monad
|
||||||
|
+import Data.List (isInfixOf)
|
||||||
|
+import Servant.Client.Core.Request
|
||||||
|
+import Test.Hspec
|
||||||
|
+
|
||||||
|
+spec :: Spec
|
||||||
|
+spec = do
|
||||||
|
+ describe "Request" $ do
|
||||||
|
+ describe "show" $ do
|
||||||
|
+ it "redacts the authorization header" $ do
|
||||||
|
+ let request = void $ defaultRequest { requestHeaders = pure ("authorization", "secret") }
|
||||||
|
+ isInfixOf "secret" (show request) `shouldBe` False
|
|
@ -1,82 +0,0 @@
|
||||||
diff --git a/src/Servant/Client/Core/Internal/HasClient.hs b/src/Servant/Client/Core/Internal/HasClient.hs
|
|
||||||
index 712007006..6be92ec6d 100644
|
|
||||||
--- a/src/Servant/Client/Core/Internal/HasClient.hs
|
|
||||||
+++ b/src/Servant/Client/Core/Internal/HasClient.hs
|
|
||||||
@@ -16,6 +16,8 @@ module Servant.Client.Core.Internal.HasClient where
|
|
||||||
import Prelude ()
|
|
||||||
import Prelude.Compat
|
|
||||||
|
|
||||||
+import Control.Concurrent.MVar
|
|
||||||
+ (modifyMVar, newMVar)
|
|
||||||
import qualified Data.ByteString as BS
|
|
||||||
import qualified Data.ByteString.Lazy as BL
|
|
||||||
import Data.Foldable
|
|
||||||
@@ -36,13 +38,14 @@ import qualified Network.HTTP.Types as H
|
|
||||||
import Servant.API
|
|
||||||
((:<|>) ((:<|>)), (:>), AuthProtect, BasicAuth, BasicAuthData,
|
|
||||||
BuildHeadersTo (..), Capture', CaptureAll, Description,
|
|
||||||
- EmptyAPI, FramingUnrender (..), FromSourceIO (..), Header',
|
|
||||||
- Headers (..), HttpVersion, IsSecure, MimeRender (mimeRender),
|
|
||||||
+ EmptyAPI, FramingRender (..), FramingUnrender (..),
|
|
||||||
+ FromSourceIO (..), Header', Headers (..), HttpVersion,
|
|
||||||
+ IsSecure, MimeRender (mimeRender),
|
|
||||||
MimeUnrender (mimeUnrender), NoContent (NoContent), QueryFlag,
|
|
||||||
QueryParam', QueryParams, Raw, ReflectMethod (..), RemoteHost,
|
|
||||||
ReqBody', SBoolI, Stream, StreamBody', Summary, ToHttpApiData,
|
|
||||||
- Vault, Verb, WithNamedContext, contentType, getHeadersHList,
|
|
||||||
- getResponse, toQueryParam, toUrlPiece)
|
|
||||||
+ ToSourceIO (..), Vault, Verb, WithNamedContext, contentType,
|
|
||||||
+ getHeadersHList, getResponse, toQueryParam, toUrlPiece)
|
|
||||||
import Servant.API.ContentTypes
|
|
||||||
(contentTypes)
|
|
||||||
import Servant.API.Modifiers
|
|
||||||
@@ -538,7 +541,7 @@ instance (MimeRender ct a, HasClient m api)
|
|
||||||
hoistClientMonad pm (Proxy :: Proxy api) f (cl a)
|
|
||||||
|
|
||||||
instance
|
|
||||||
- ( HasClient m api
|
|
||||||
+ ( HasClient m api, MimeRender ctype chunk, FramingRender framing, ToSourceIO chunk a
|
|
||||||
) => HasClient m (StreamBody' mods framing ctype a :> api)
|
|
||||||
where
|
|
||||||
|
|
||||||
@@ -547,7 +550,39 @@ instance
|
|
||||||
hoistClientMonad pm _ f cl = \a ->
|
|
||||||
hoistClientMonad pm (Proxy :: Proxy api) f (cl a)
|
|
||||||
|
|
||||||
- clientWithRoute _pm Proxy _req _body = error "HasClient @StreamBody"
|
|
||||||
+ clientWithRoute pm Proxy req body
|
|
||||||
+ = clientWithRoute pm (Proxy :: Proxy api)
|
|
||||||
+ $ setRequestBody (RequestBodyStreamChunked givesPopper) (contentType ctypeP) req
|
|
||||||
+ where
|
|
||||||
+ ctypeP = Proxy :: Proxy ctype
|
|
||||||
+ framingP = Proxy :: Proxy framing
|
|
||||||
+
|
|
||||||
+ sourceIO = framingRender
|
|
||||||
+ framingP
|
|
||||||
+ (mimeRender ctypeP :: chunk -> BL.ByteString)
|
|
||||||
+ (toSourceIO body)
|
|
||||||
+
|
|
||||||
+ -- not pretty.
|
|
||||||
+ givesPopper :: (IO BS.ByteString -> IO ()) -> IO ()
|
|
||||||
+ givesPopper needsPopper = S.unSourceT sourceIO $ \step0 -> do
|
|
||||||
+ ref <- newMVar step0
|
|
||||||
+
|
|
||||||
+ -- Note sure we need locking, but it's feels safer.
|
|
||||||
+ let popper :: IO BS.ByteString
|
|
||||||
+ popper = modifyMVar ref nextBs
|
|
||||||
+
|
|
||||||
+ needsPopper popper
|
|
||||||
+
|
|
||||||
+ nextBs S.Stop = return (S.Stop, BS.empty)
|
|
||||||
+ nextBs (S.Error err) = fail err
|
|
||||||
+ nextBs (S.Skip s) = nextBs s
|
|
||||||
+ nextBs (S.Effect ms) = ms >>= nextBs
|
|
||||||
+ nextBs (S.Yield lbs s) = case BL.toChunks lbs of
|
|
||||||
+ [] -> nextBs s
|
|
||||||
+ (x:xs) | BS.null x -> nextBs step'
|
|
||||||
+ | otherwise -> return (step', x)
|
|
||||||
+ where
|
|
||||||
+ step' = S.Yield (BL.fromChunks xs) s
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -93,7 +93,7 @@ in stdenv.mkDerivation rec {
|
||||||
];
|
];
|
||||||
in ''
|
in ''
|
||||||
ctest -L unittest -V \
|
ctest -L unittest -V \
|
||||||
--exclude-regex '(${builtins.concatStringsSep "|" excludedTests})'
|
--exclude-regex '^(${builtins.concatStringsSep "|" excludedTests})$'
|
||||||
'');
|
'');
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib, stdenv, fetchurl
|
{ lib, stdenv, fetchurl
|
||||||
|
, autoreconfHook
|
||||||
, enableLargeConfig ? false # doc: https://github.com/ivmai/bdwgc/blob/v7.6.6/doc/README.macros#L179
|
, enableLargeConfig ? false # doc: https://github.com/ivmai/bdwgc/blob/v7.6.6/doc/README.macros#L179
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -22,12 +23,17 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = # https://github.com/ivmai/bdwgc/pull/208
|
patches = # https://github.com/ivmai/bdwgc/pull/208
|
||||||
lib.optional stdenv.hostPlatform.isRiscV ./riscv.patch;
|
lib.optional stdenv.hostPlatform.isRiscV ./riscv.patch
|
||||||
|
# boehm-gc whitelists GCC threading models
|
||||||
|
++ lib.optional stdenv.hostPlatform.isMinGW ./mcfgthread.patch;
|
||||||
|
|
||||||
configureFlags =
|
configureFlags =
|
||||||
[ "--enable-cplusplus" "--with-libatomic-ops=none" ]
|
[ "--enable-cplusplus" "--with-libatomic-ops=none" ]
|
||||||
++ lib.optional enableLargeConfig "--enable-large-config";
|
++ lib.optional enableLargeConfig "--enable-large-config";
|
||||||
|
|
||||||
|
nativeBuildInputs =
|
||||||
|
lib.optional stdenv.hostPlatform.isMinGW autoreconfHook;
|
||||||
|
|
||||||
doCheck = true; # not cross;
|
doCheck = true; # not cross;
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
11
pkgs/development/libraries/boehm-gc/mcfgthread.patch
Normal file
11
pkgs/development/libraries/boehm-gc/mcfgthread.patch
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -277,7 +277,7 @@ case "$THREADS" in
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
- win32)
|
||||||
|
+ win32 | mcf)
|
||||||
|
AC_DEFINE(GC_THREADS)
|
||||||
|
use_parallel_mark=$enable_parallel_mark
|
||||||
|
if test "${enable_parallel_mark}" != no \
|
|
@ -1,7 +1,9 @@
|
||||||
{ stdenv, fetchurl, pkgconfig
|
{ stdenv, fetchurl, pkgconfig
|
||||||
|
|
||||||
# Optional Dependencies
|
# Optional Dependencies
|
||||||
, openssl ? null, libev ? null, zlib ? null, c-ares ? null
|
, openssl ? null, zlib ? null
|
||||||
|
, enableLibEv ? !stdenv.hostPlatform.isWindows, libev ? null
|
||||||
|
, enableCAres ? !stdenv.hostPlatform.isWindows, c-ares ? null
|
||||||
, enableHpack ? false, jansson ? null
|
, enableHpack ? false, jansson ? null
|
||||||
, enableAsioLib ? false, boost ? null
|
, enableAsioLib ? false, boost ? null
|
||||||
, enableGetAssets ? false, libxml2 ? null
|
, enableGetAssets ? false, libxml2 ? null
|
||||||
|
@ -28,7 +30,10 @@ stdenv.mkDerivation rec {
|
||||||
outputs = [ "bin" "out" "dev" "lib" ];
|
outputs = [ "bin" "out" "dev" "lib" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [ openssl libev zlib c-ares ]
|
buildInputs = [ openssl ]
|
||||||
|
++ optional enableLibEv libev
|
||||||
|
++ [ zlib ]
|
||||||
|
++ optional enableCAres c-ares
|
||||||
++ optional enableHpack jansson
|
++ optional enableHpack jansson
|
||||||
++ optional enableAsioLib boost
|
++ optional enableAsioLib boost
|
||||||
++ optional enableGetAssets libxml2
|
++ optional enableGetAssets libxml2
|
||||||
|
|
|
@ -29,8 +29,6 @@ in stdenv.mkDerivation {
|
||||||
]
|
]
|
||||||
++ optional (variant != null) "--enable-${variant}";
|
++ optional (variant != null) "--enable-${variant}";
|
||||||
|
|
||||||
buildInputs = optional (stdenv.hostPlatform.libc == "msvcrt") windows.mingw_w64_pthreads;
|
|
||||||
|
|
||||||
# https://bugs.exim.org/show_bug.cgi?id=2173
|
# https://bugs.exim.org/show_bug.cgi?id=2173
|
||||||
patches = [ ./stacksize-detection.patch ];
|
patches = [ ./stacksize-detection.patch ];
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi, pytz, pytest, freezegun, glibcLocales }:
|
{ stdenv, lib, buildPythonPackage, fetchPypi, pytz, pytest, freezegun, glibcLocales }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "Babel";
|
pname = "Babel";
|
||||||
|
@ -13,6 +13,8 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
checkInputs = [ pytest freezegun glibcLocales ];
|
checkInputs = [ pytest freezegun glibcLocales ];
|
||||||
|
|
||||||
|
doCheck = !stdenv.isDarwin;
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
export LC_ALL="en_US.UTF-8"
|
export LC_ALL="en_US.UTF-8"
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -8,13 +8,13 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "websockets";
|
pname = "websockets";
|
||||||
version = "8.0.2";
|
version = "8.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "aaugustin";
|
owner = "aaugustin";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "02fgb8gib4z5fqv30brz3mhxmblw9bw0978fhpjdrkj7wvqrz5h8";
|
sha256 = "05jbqcbjg50ydwl0fijhdlqcq7fl6v99kjva66kmmzzza7vwa872";
|
||||||
};
|
};
|
||||||
|
|
||||||
disabled = pythonOlder "3.3";
|
disabled = pythonOlder "3.3";
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "include-what-you-use";
|
pname = "include-what-you-use";
|
||||||
# Also bump llvmPackages in all-packages.nix to the supported version!
|
# Also bump llvmPackages in all-packages.nix to the supported version!
|
||||||
version = "0.12";
|
version = "0.13";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
sha256 = "09b0h704fh7r4f5h92p5997cj3zk1v04bqp4jk1j1f6cmfq2z2d5";
|
sha256 = "1jav4qf7d303by9iy6v08w73wfwzj76i54inh90w1s34m9q44aa9";
|
||||||
url = "${meta.homepage}/downloads/${pname}-${version}.src.tar.gz";
|
url = "${meta.homepage}/downloads/${pname}-${version}.src.tar.gz";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -3,14 +3,14 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "20170810";
|
version = "20180913";
|
||||||
pname = "numix-solarized-gtk-theme";
|
pname = "numix-solarized-gtk-theme";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Ferdi265";
|
owner = "Ferdi265";
|
||||||
repo = "numix-solarized-gtk-theme";
|
repo = "numix-solarized-gtk-theme";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0l4xvsiyg15kp6xwpvm3jckxyhr1lxd678lkhrcyf40n7rd4xinl";
|
sha256 = "1kda0lyqi3cxh163fbj8yyi6jj6pf0y980k4s0cmyi3hkh4cqyd5";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ python3 sass glib gdk-pixbuf libxml2 inkscape optipng ];
|
nativeBuildInputs = [ python3 sass glib gdk-pixbuf libxml2 inkscape optipng ];
|
||||||
|
|
|
@ -1,29 +1,45 @@
|
||||||
{ newScope, crossLibcStdenv }: let
|
{ stdenv, buildPackages
|
||||||
|
, newScope, overrideCC, crossLibcStdenv, libcCross
|
||||||
|
}:
|
||||||
|
|
||||||
callPackage = newScope self;
|
stdenv.lib.makeScope newScope (self: with self; {
|
||||||
|
|
||||||
self = {
|
cygwinSetup = callPackage ./cygwin-setup { };
|
||||||
cygwinSetup = callPackage ./cygwin-setup { };
|
|
||||||
|
|
||||||
jom = callPackage ./jom { };
|
jom = callPackage ./jom { };
|
||||||
|
|
||||||
w32api = callPackage ./w32api { };
|
w32api = callPackage ./w32api { };
|
||||||
|
|
||||||
mingwrt = callPackage ./mingwrt { };
|
mingwrt = callPackage ./mingwrt { };
|
||||||
mingw_runtime = self.mingwrt;
|
mingw_runtime = mingwrt;
|
||||||
|
|
||||||
mingw_w64 = callPackage ./mingw-w64 {
|
mingw_w64 = callPackage ./mingw-w64 {
|
||||||
stdenv = crossLibcStdenv;
|
stdenv = crossLibcStdenv;
|
||||||
};
|
|
||||||
|
|
||||||
mingw_w64_headers = callPackage ./mingw-w64/headers.nix { };
|
|
||||||
|
|
||||||
mingw_w64_pthreads = callPackage ./mingw-w64/pthreads.nix { };
|
|
||||||
|
|
||||||
pthreads = callPackage ./pthread-w32 { };
|
|
||||||
|
|
||||||
wxMSW = callPackage ./wxMSW-2.8 { };
|
|
||||||
|
|
||||||
libgnurx = callPackage ./libgnurx { };
|
|
||||||
};
|
};
|
||||||
in self
|
|
||||||
|
crossThreadsStdenv = overrideCC crossLibcStdenv
|
||||||
|
(if stdenv.hostPlatform.useLLVM or false
|
||||||
|
then buildPackages.llvmPackages_8.lldClangNoLibcxx
|
||||||
|
else buildPackages.gccCrossStageStatic.override (old: {
|
||||||
|
bintools = old.bintools.override {
|
||||||
|
libc = libcCross;
|
||||||
|
};
|
||||||
|
libc = libcCross;
|
||||||
|
}));
|
||||||
|
|
||||||
|
mingw_w64_headers = callPackage ./mingw-w64/headers.nix { };
|
||||||
|
|
||||||
|
mingw_w64_pthreads = callPackage ./mingw-w64/pthreads.nix {
|
||||||
|
stdenv = crossThreadsStdenv;
|
||||||
|
};
|
||||||
|
|
||||||
|
mcfgthreads = callPackage ./mcfgthreads {
|
||||||
|
stdenv = crossThreadsStdenv;
|
||||||
|
};
|
||||||
|
|
||||||
|
pthreads = callPackage ./pthread-w32 { };
|
||||||
|
|
||||||
|
wxMSW = callPackage ./wxMSW-2.8 { };
|
||||||
|
|
||||||
|
libgnurx = callPackage ./libgnurx { };
|
||||||
|
})
|
||||||
|
|
24
pkgs/os-specific/windows/mcfgthreads/default.nix
Normal file
24
pkgs/os-specific/windows/mcfgthreads/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{ stdenv, fetchFromGitHub, autoreconfHook }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "mcfgthreads";
|
||||||
|
version = "git";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "lhmouse";
|
||||||
|
repo = "mcfgthread";
|
||||||
|
rev = "9570e5ca7b98002d707c502c919d951bf256b9c6";
|
||||||
|
sha256 = "10y2x3x601a7c1hkd6zlr3xpfsnlr05xl28v23clf619756a5755";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
# Don't want prebuilt binaries sneaking in.
|
||||||
|
postUnpack = ''
|
||||||
|
rm -r "$sourceRoot/debug" "$sourceRoot/release"
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
autoreconfHook
|
||||||
|
];
|
||||||
|
}
|
|
@ -11,11 +11,15 @@ in stdenv.mkDerivation {
|
||||||
sha256 = "00zq3z1hbzd5yzmskskjg79xrzwsqx7ihyprfaxy4hb897vf29sm";
|
sha256 = "00zq3z1hbzd5yzmskskjg79xrzwsqx7ihyprfaxy4hb897vf29sm";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--enable-idl"
|
"--enable-idl"
|
||||||
"--enable-secure-api"
|
"--enable-secure-api"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
buildInputs = [ windows.mingw_w64_headers ];
|
buildInputs = [ windows.mingw_w64_headers ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
hardeningDisable = [ "stackprotector" "fortify" ];
|
hardeningDisable = [ "stackprotector" "fortify" ];
|
||||||
|
|
|
@ -7,11 +7,11 @@ let inherit (stdenv.lib) optional optionals; in
|
||||||
# Note: ATM only the libraries have been tested in nixpkgs.
|
# Note: ATM only the libraries have been tested in nixpkgs.
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "knot-dns";
|
pname = "knot-dns";
|
||||||
version = "2.9.0";
|
version = "2.9.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
|
url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
|
||||||
sha256 = "df7434eaefbabbf7cca2d6cba5038be48a4668e508215ca197532bac7c9b21a2";
|
sha256 = "f19121956caa360c387923654f13e4c97b3fb9093d242e110d7e0916b8d8a04d";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "bin" "out" "dev" ];
|
outputs = [ "bin" "out" "dev" ];
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
pname = "blackbox_exporter";
|
pname = "blackbox_exporter";
|
||||||
version = "0.15.1";
|
version = "0.16.0";
|
||||||
rev = version;
|
rev = version;
|
||||||
|
|
||||||
goPackagePath = "github.com/prometheus/blackbox_exporter";
|
goPackagePath = "github.com/prometheus/blackbox_exporter";
|
||||||
|
@ -11,10 +11,11 @@ buildGoPackage rec {
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
owner = "prometheus";
|
owner = "prometheus";
|
||||||
repo = "blackbox_exporter";
|
repo = "blackbox_exporter";
|
||||||
sha256 = "14z4xkkh9jb6ylclzsyj6gyqrb67lxs5cxd7lrs70qli567gzqwc";
|
sha256 = "1zbf3ljasv0r91rrmk3mj5nhimaf7xg3aih1ldz27rh5yww7gyzg";
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = true;
|
# dns-lookup is performed for the tests
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Blackbox probing of endpoints over HTTP, HTTPS, DNS, TCP and ICMP";
|
description = "Blackbox probing of endpoints over HTTP, HTTPS, DNS, TCP and ICMP";
|
||||||
|
|
|
@ -23,10 +23,15 @@ python3Packages.buildPythonApplication rec {
|
||||||
|
|
||||||
doCheck = false; # There are no tests.
|
doCheck = false; # There are no tests.
|
||||||
|
|
||||||
postBuild = ''
|
postInstall = ''
|
||||||
mkdir -p $out/share
|
mkdir -p $out/share
|
||||||
cp -r share $out/
|
cp -r share $out/
|
||||||
|
# autostart file
|
||||||
|
cp -r $out/lib/python*/site-packages/etc $out/etc/
|
||||||
glib-compile-schemas --strict $out/share/glib-2.0/schemas
|
glib-compile-schemas --strict $out/share/glib-2.0/schemas
|
||||||
|
for i in $(find $out -name "*.desktop"); do
|
||||||
|
substituteInPlace $i --replace /usr $out
|
||||||
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "abcMIDI";
|
pname = "abcMIDI";
|
||||||
version = "2019.08.11";
|
version = "2019.10.13";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
|
url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
|
||||||
sha256 = "0rkqmavg7iv9080jdqs0qz80nanhizv6jk0fg9d5xvq3gnmfvnj1";
|
sha256 = "1i2gpfrzi12smrlni25fcah6a8rb5l7p358r60jbysc2bpzxwd9l";
|
||||||
};
|
};
|
||||||
|
|
||||||
# There is also a file called "makefile" which seems to be preferred by the standard build phase
|
# There is also a file called "makefile" which seems to be preferred by the standard build phase
|
||||||
|
|
|
@ -3,11 +3,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "btrbk";
|
pname = "btrbk";
|
||||||
version = "0.28.3";
|
version = "0.29.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://digint.ch/download/btrbk/releases/${pname}-${version}.tar.xz";
|
url = "https://digint.ch/download/btrbk/releases/${pname}-${version}.tar.xz";
|
||||||
sha256 = "0s69pcjkjxg77cgyjahwyg2w81ckgzwz1ds4ifjw7z0zhjxy7miz";
|
sha256 = "1ki40jga09x361lj36hgzw3ahs0cg2w0s3rjwp209255fzyl89il";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ asciidoc asciidoctor makeWrapper ];
|
nativeBuildInputs = [ asciidoc asciidoctor makeWrapper ];
|
||||||
|
|
|
@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
homepage = https://xmlgraphics.apache.org/fop/;
|
homepage = https://xmlgraphics.apache.org/fop/;
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.all;
|
||||||
maintainers = with maintainers; [ bjornfor ndowens ];
|
maintainers = with maintainers; [ bjornfor ndowens ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,11 +21,11 @@ assert enableAllFeatures ->
|
||||||
ghostscript != null;
|
ghostscript != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "dblatex-0.3.10";
|
name = "dblatex-0.3.11";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/dblatex/${name}.tar.bz2";
|
url = "mirror://sourceforge/dblatex/${name}.tar.bz2";
|
||||||
sha256 = "1yicd861rqz78i2khl35j7nvc0ccv4jx4hzqrbhll17082vrdmkg";
|
sha256 = "0rp1bc2lgisigscq1i7zxfd2qdaxxxld6khbcxss4pq7fpi9fzkv";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ python2 libxslt tex ]
|
buildInputs = [ python2 libxslt tex ]
|
||||||
|
|
|
@ -293,8 +293,10 @@ in
|
||||||
fetchhg = callPackage ../build-support/fetchhg { };
|
fetchhg = callPackage ../build-support/fetchhg { };
|
||||||
|
|
||||||
# `fetchurl' downloads a file from the network.
|
# `fetchurl' downloads a file from the network.
|
||||||
fetchurl = makeOverridable (import ../build-support/fetchurl) {
|
fetchurl = if stdenv.buildPlatform != stdenv.hostPlatform
|
||||||
inherit lib stdenvNoCC;
|
then buildPackages.fetchurl # No need to do special overrides twice,
|
||||||
|
else makeOverridable (import ../build-support/fetchurl) {
|
||||||
|
inherit lib stdenvNoCC buildPackages;
|
||||||
curl = buildPackages.curl.override (old: rec {
|
curl = buildPackages.curl.override (old: rec {
|
||||||
# break dependency cycles
|
# break dependency cycles
|
||||||
fetchurl = stdenv.fetchurlBoot;
|
fetchurl = stdenv.fetchurlBoot;
|
||||||
|
@ -3575,11 +3577,11 @@ in
|
||||||
gnupg1 = gnupg1compat; # use config.packageOverrides if you prefer original gnupg1
|
gnupg1 = gnupg1compat; # use config.packageOverrides if you prefer original gnupg1
|
||||||
gnupg20 = callPackage ../tools/security/gnupg/20.nix {
|
gnupg20 = callPackage ../tools/security/gnupg/20.nix {
|
||||||
guiSupport = stdenv.isDarwin;
|
guiSupport = stdenv.isDarwin;
|
||||||
pinentry = if stdenv.isDarwin then pinentry_mac else pinentry_gtk2;
|
pinentry = if stdenv.isDarwin then pinentry_mac else pinentry-gtk2;
|
||||||
};
|
};
|
||||||
gnupg22 = callPackage ../tools/security/gnupg/22.nix {
|
gnupg22 = callPackage ../tools/security/gnupg/22.nix {
|
||||||
guiSupport = stdenv.isDarwin;
|
guiSupport = stdenv.isDarwin;
|
||||||
pinentry = if stdenv.isDarwin then pinentry_mac else pinentry_gtk2;
|
pinentry = if stdenv.isDarwin then pinentry_mac else pinentry-gtk2;
|
||||||
};
|
};
|
||||||
gnupg = gnupg22;
|
gnupg = gnupg22;
|
||||||
|
|
||||||
|
@ -7795,7 +7797,7 @@ in
|
||||||
../development/compilers/gcc/libstdc++-hook.sh;
|
../development/compilers/gcc/libstdc++-hook.sh;
|
||||||
|
|
||||||
crossLibcStdenv = overrideCC stdenv
|
crossLibcStdenv = overrideCC stdenv
|
||||||
(if stdenv.targetPlatform.useLLVM or false
|
(if stdenv.hostPlatform.useLLVM or false
|
||||||
then buildPackages.llvmPackages_8.lldClangNoLibc
|
then buildPackages.llvmPackages_8.lldClangNoLibc
|
||||||
else buildPackages.gccCrossStageStatic);
|
else buildPackages.gccCrossStageStatic);
|
||||||
|
|
||||||
|
@ -7828,6 +7830,7 @@ in
|
||||||
};
|
};
|
||||||
bintools = binutils1;
|
bintools = binutils1;
|
||||||
libc = libcCross1;
|
libc = libcCross1;
|
||||||
|
extraPackages = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
gcc48 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.8 {
|
gcc48 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.8 {
|
||||||
|
@ -7837,6 +7840,7 @@ in
|
||||||
profiledCompiler = with stdenv; (!isSunOS && !isDarwin && (isi686 || isx86_64));
|
profiledCompiler = with stdenv; (!isSunOS && !isDarwin && (isi686 || isx86_64));
|
||||||
|
|
||||||
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
||||||
|
threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
|
||||||
|
|
||||||
isl = if !stdenv.isDarwin then isl_0_14 else null;
|
isl = if !stdenv.isDarwin then isl_0_14 else null;
|
||||||
cloog = if !stdenv.isDarwin then cloog else null;
|
cloog = if !stdenv.isDarwin then cloog else null;
|
||||||
|
@ -7850,6 +7854,7 @@ in
|
||||||
profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
|
profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
|
||||||
|
|
||||||
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
||||||
|
threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
|
||||||
|
|
||||||
isl = if !stdenv.isDarwin then isl_0_11 else null;
|
isl = if !stdenv.isDarwin then isl_0_11 else null;
|
||||||
|
|
||||||
|
@ -7863,6 +7868,7 @@ in
|
||||||
profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
|
profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
|
||||||
|
|
||||||
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
||||||
|
threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
|
||||||
|
|
||||||
isl = if !stdenv.isDarwin then isl_0_14 else null;
|
isl = if !stdenv.isDarwin then isl_0_14 else null;
|
||||||
}));
|
}));
|
||||||
|
@ -7874,6 +7880,7 @@ in
|
||||||
profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
|
profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
|
||||||
|
|
||||||
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
||||||
|
threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
|
||||||
|
|
||||||
isl = if !stdenv.isDarwin then isl_0_14 else null;
|
isl = if !stdenv.isDarwin then isl_0_14 else null;
|
||||||
}));
|
}));
|
||||||
|
@ -7885,6 +7892,7 @@ in
|
||||||
profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
|
profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
|
||||||
|
|
||||||
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
||||||
|
threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
|
||||||
|
|
||||||
isl = if !stdenv.isDarwin then isl_0_17 else null;
|
isl = if !stdenv.isDarwin then isl_0_17 else null;
|
||||||
}));
|
}));
|
||||||
|
@ -7896,6 +7904,7 @@ in
|
||||||
profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
|
profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
|
||||||
|
|
||||||
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
||||||
|
threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
|
||||||
|
|
||||||
isl = if !stdenv.isDarwin then isl_0_17 else null;
|
isl = if !stdenv.isDarwin then isl_0_17 else null;
|
||||||
}));
|
}));
|
||||||
|
@ -7907,6 +7916,7 @@ in
|
||||||
profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
|
profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
|
||||||
|
|
||||||
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
||||||
|
threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
|
||||||
|
|
||||||
isl = if !stdenv.isDarwin then isl_0_17 else null;
|
isl = if !stdenv.isDarwin then isl_0_17 else null;
|
||||||
}));
|
}));
|
||||||
|
@ -7918,6 +7928,7 @@ in
|
||||||
profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
|
profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
|
||||||
|
|
||||||
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
|
||||||
|
threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
|
||||||
|
|
||||||
isl = isl_0_17;
|
isl = isl_0_17;
|
||||||
}));
|
}));
|
||||||
|
@ -8755,6 +8766,7 @@ in
|
||||||
# provide the default choice, avoiding infinite recursion.
|
# provide the default choice, avoiding infinite recursion.
|
||||||
bintools ? if stdenv.targetPlatform.isDarwin then darwin.binutils else binutils
|
bintools ? if stdenv.targetPlatform.isDarwin then darwin.binutils else binutils
|
||||||
, libc ? bintools.libc
|
, libc ? bintools.libc
|
||||||
|
, extraPackages ? stdenv.lib.optional (cc.isGNU or false && stdenv.targetPlatform.isMinGW) threadsCross
|
||||||
, ...
|
, ...
|
||||||
} @ extraArgs:
|
} @ extraArgs:
|
||||||
callPackage ../build-support/cc-wrapper (let self = {
|
callPackage ../build-support/cc-wrapper (let self = {
|
||||||
|
@ -8766,7 +8778,7 @@ in
|
||||||
isGNU = cc.isGNU or false;
|
isGNU = cc.isGNU or false;
|
||||||
isClang = cc.isClang or false;
|
isClang = cc.isClang or false;
|
||||||
|
|
||||||
inherit cc bintools libc;
|
inherit cc bintools libc extraPackages;
|
||||||
} // extraArgs; in self);
|
} // extraArgs; in self);
|
||||||
|
|
||||||
wrapCC = cc: wrapCCWith {
|
wrapCC = cc: wrapCCWith {
|
||||||
|
@ -11286,6 +11298,11 @@ in
|
||||||
|
|
||||||
libcCross = assert stdenv.targetPlatform != stdenv.buildPlatform; libcCrossChooser stdenv.targetPlatform.libc;
|
libcCross = assert stdenv.targetPlatform != stdenv.buildPlatform; libcCrossChooser stdenv.targetPlatform.libc;
|
||||||
|
|
||||||
|
threadsCross =
|
||||||
|
if stdenv.targetPlatform.isMinGW && !(stdenv.targetPlatform.useLLVM or false)
|
||||||
|
then targetPackages.windows.mcfgthreads or windows.mcfgthreads
|
||||||
|
else null;
|
||||||
|
|
||||||
wasilibc = callPackage ../development/libraries/wasilibc {
|
wasilibc = callPackage ../development/libraries/wasilibc {
|
||||||
stdenv = crossLibcStdenv;
|
stdenv = crossLibcStdenv;
|
||||||
};
|
};
|
||||||
|
@ -13286,7 +13303,10 @@ in
|
||||||
|
|
||||||
wolfssl = callPackage ../development/libraries/wolfssl { };
|
wolfssl = callPackage ../development/libraries/wolfssl { };
|
||||||
|
|
||||||
openssl = openssl_1_1;
|
openssl =
|
||||||
|
if stdenv.hostPlatform.isMinGW # Work around broken cross build
|
||||||
|
then openssl_1_0_2
|
||||||
|
else openssl_1_1;
|
||||||
|
|
||||||
inherit (callPackages ../development/libraries/openssl { })
|
inherit (callPackages ../development/libraries/openssl { })
|
||||||
openssl_1_0_2
|
openssl_1_0_2
|
||||||
|
@ -22496,7 +22516,7 @@ in
|
||||||
|
|
||||||
displaycal = (newScope pythonPackages) ../applications/graphics/displaycal {};
|
displaycal = (newScope pythonPackages) ../applications/graphics/displaycal {};
|
||||||
|
|
||||||
drumkv1 = callPackage ../applications/audio/drumkv1 { };
|
drumkv1 = libsForQt5.callPackage ../applications/audio/drumkv1 { };
|
||||||
|
|
||||||
duckmarines = callPackage ../games/duckmarines { love = love_0_10; };
|
duckmarines = callPackage ../games/duckmarines { love = love_0_10; };
|
||||||
|
|
||||||
|
|
|
@ -1175,6 +1175,21 @@ let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
CacheKyotoTycoon = buildPerlModule {
|
||||||
|
pname = "Cache-KyotoTycoon";
|
||||||
|
version = "0.16";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Cache-KyotoTycoon-0.16.tar.gz";
|
||||||
|
sha256 = "0z4lnc3jfqx8rykm998q2jy5wkhb8p5pir80g9lqpi4lb0ilic6c";
|
||||||
|
};
|
||||||
|
propagatedBuildInputs = [ Furl URI ];
|
||||||
|
buildInputs = [ FileWhich TestTCP TestRequires TestSharedFork ];
|
||||||
|
meta = {
|
||||||
|
description = "KyotoTycoon client library";
|
||||||
|
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
CacheMemcached = buildPerlPackage {
|
CacheMemcached = buildPerlPackage {
|
||||||
pname = "Cache-Memcached";
|
pname = "Cache-Memcached";
|
||||||
version = "1.30";
|
version = "1.30";
|
||||||
|
@ -1948,6 +1963,20 @@ let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
CDB_File = buildPerlPackage {
|
||||||
|
pname = "CDB_File";
|
||||||
|
version = "0.99";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://cpan/authors/id/T/TO/TODDR/CDB_File-0.99.tar.gz";
|
||||||
|
sha256 = "1c32b30131871e8a7b23f47d8f65d9cdeb87069fa4c221781a03416496f91f16";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
homepage = "http://github.com/toddr/CDB_File";
|
||||||
|
description = "Perl extension for access to cdb databases";
|
||||||
|
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
Catmandu = buildPerlModule {
|
Catmandu = buildPerlModule {
|
||||||
pname = "Catmandu";
|
pname = "Catmandu";
|
||||||
version = "1.2002";
|
version = "1.2002";
|
||||||
|
@ -7326,6 +7355,19 @@ let
|
||||||
buildInputs = [ TestPod ];
|
buildInputs = [ TestPod ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
FindLib = buildPerlPackage {
|
||||||
|
pname = "Find-Lib";
|
||||||
|
version = "1.04";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://cpan/authors/id/Y/YA/YANNK/Find-Lib-1.04.tar.gz";
|
||||||
|
sha256 = "0lg88v0sqfpq4d3jwvk6c9blqnpxbz8f4s22zr3b1qb160g94wqx";
|
||||||
|
};
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Helper to smartly find libs to use in the filesystem tree";
|
||||||
|
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
FontAFM = buildPerlPackage {
|
FontAFM = buildPerlPackage {
|
||||||
pname = "Font-AFM";
|
pname = "Font-AFM";
|
||||||
version = "1.20";
|
version = "1.20";
|
||||||
|
@ -7389,6 +7431,21 @@ let
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Furl = buildPerlModule {
|
||||||
|
pname = "Furl";
|
||||||
|
version = "3.13";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Furl-3.13.tar.gz";
|
||||||
|
sha256 = "1wxa2v9yjzvnzp62p1jvcx8x61z5qvlvzyah853vvaywpjxwyyl8";
|
||||||
|
};
|
||||||
|
propagatedBuildInputs = [ HTTPParserXS ModuleBuildTiny ClassAccessorLite ];
|
||||||
|
buildInputs = [ HTTPBody HTTPProxy NetIDNEncode Plack PlackMiddlewareDeflater Starlet TestRequires TestTCP TestSharedFork ];
|
||||||
|
meta = {
|
||||||
|
description = "Lightning-fast URL fetcher";
|
||||||
|
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
GamesSolitaireVerify = buildPerlModule {
|
GamesSolitaireVerify = buildPerlModule {
|
||||||
pname = "Games-Solitaire-Verify";
|
pname = "Games-Solitaire-Verify";
|
||||||
version = "0.2202";
|
version = "0.2202";
|
||||||
|
@ -10231,6 +10288,21 @@ let
|
||||||
buildInputs = [ IPCRun3 TestFatal TestNeeds ];
|
buildInputs = [ IPCRun3 TestFatal TestNeeds ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
LogDispatchFileRotate = buildPerlPackage {
|
||||||
|
pname = "Log-Dispatch-FileRotate";
|
||||||
|
version = "1.36";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://cpan/authors/id/M/MS/MSCHOUT/Log-Dispatch-FileRotate-1.36.tar.gz";
|
||||||
|
sha256 = "0vlmi17p7fky3x58rs7r5mdxi6l5jla8zhlb55kvssxc1w5v2b27";
|
||||||
|
};
|
||||||
|
propagatedBuildInputs = [ DateManip LogDispatch PathTiny ];
|
||||||
|
meta = {
|
||||||
|
description = "Log to Files that Archive/Rotate Themselves";
|
||||||
|
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
|
||||||
|
};
|
||||||
|
buildInputs = [ TestFatal TestNeeds TestWarn ];
|
||||||
|
};
|
||||||
|
|
||||||
LogHandler = buildPerlModule {
|
LogHandler = buildPerlModule {
|
||||||
pname = "Log-Handler";
|
pname = "Log-Handler";
|
||||||
version = "0.88";
|
version = "0.88";
|
||||||
|
|
Loading…
Reference in a new issue