Merge remote-tracking branch 'upstream/master' into staging
This commit is contained in:
commit
44ff59d95b
@ -24,10 +24,11 @@ let
|
||||
in rec {
|
||||
inherit all;
|
||||
|
||||
allBut = platforms: lists.filter (x: !(builtins.elem x platforms)) all;
|
||||
none = [];
|
||||
|
||||
arm = filterDoubles predicates.isArm;
|
||||
aarch64 = filterDoubles predicates.isAarch64;
|
||||
x86 = filterDoubles predicates.isx86;
|
||||
i686 = filterDoubles predicates.isi686;
|
||||
mips = filterDoubles predicates.isMips;
|
||||
x86_64 = filterDoubles predicates.isx86_64;
|
||||
|
@ -111,6 +111,11 @@
|
||||
github = "Profpatsch";
|
||||
name = "Profpatsch";
|
||||
};
|
||||
roosemberth = {
|
||||
email = "roosembert.palacios+nixpkgs@gmail.com";
|
||||
github = "roosemberth";
|
||||
name = "Roosembert (Roosemberth) Palacios";
|
||||
};
|
||||
SShrike = {
|
||||
email = "severen@shrike.me";
|
||||
github = "severen";
|
||||
@ -176,6 +181,11 @@
|
||||
github = "abigailbuccaneer";
|
||||
name = "Abigail Bunyan";
|
||||
};
|
||||
aborsu = {
|
||||
email = "a.borsu@gmail.com";
|
||||
github = "aborsu";
|
||||
name = "Augustin Borsu";
|
||||
};
|
||||
aboseley = {
|
||||
email = "adam.boseley@gmail.com";
|
||||
github = "aboseley";
|
||||
|
@ -4,7 +4,7 @@
|
||||
version="5.0"
|
||||
xml:id="sec-release-18.09">
|
||||
|
||||
<title>Release 18.09 (“??”, 2018/09/??)</title>
|
||||
<title>Release 18.09 (“Jackrabbit”, 2018/09/??)</title>
|
||||
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
|
@ -86,7 +86,7 @@ in
|
||||
versionSuffix = mkIf (pathIsDirectory gitRepo) (mkDefault (".git." + gitCommitId));
|
||||
|
||||
# Note: code names must only increase in alphabetical order.
|
||||
codeName = "Impala";
|
||||
codeName = "Jackrabbit";
|
||||
};
|
||||
|
||||
# Generate /etc/os-release. See
|
||||
|
@ -104,6 +104,7 @@
|
||||
./programs/shadow.nix
|
||||
./programs/shell.nix
|
||||
./programs/spacefm.nix
|
||||
./programs/singularity.nix
|
||||
./programs/ssh.nix
|
||||
./programs/ssmtp.nix
|
||||
./programs/sysdig.nix
|
||||
|
20
nixos/modules/programs/singularity.nix
Normal file
20
nixos/modules/programs/singularity.nix
Normal file
@ -0,0 +1,20 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.programs.singularity;
|
||||
in {
|
||||
options.programs.singularity = {
|
||||
enable = mkEnableOption "Singularity";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ pkgs.singularity ];
|
||||
systemd.tmpfiles.rules = [ "d /var/singularity/mnt/session 0770 root root -"
|
||||
"d /var/singularity/mnt/final 0770 root root -"
|
||||
"d /var/singularity/mnt/overlay 0770 root root -"
|
||||
"d /var/singularity/mnt/container 0770 root root -"
|
||||
"d /var/singularity/mnt/source 0770 root root -"];
|
||||
};
|
||||
|
||||
}
|
@ -4,6 +4,8 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.gitea;
|
||||
pg = config.services.postgresql;
|
||||
usePostgresql = cfg.database.type == "postgres";
|
||||
configFile = pkgs.writeText "app.ini" ''
|
||||
APP_NAME = ${cfg.appName}
|
||||
RUN_USER = ${cfg.user}
|
||||
@ -16,6 +18,9 @@ let
|
||||
USER = ${cfg.database.user}
|
||||
PASSWD = #dbpass#
|
||||
PATH = ${cfg.database.path}
|
||||
${optionalString usePostgresql ''
|
||||
SSL_MODE = disable
|
||||
''}
|
||||
|
||||
[repository]
|
||||
ROOT = ${cfg.repositoryRoot}
|
||||
@ -82,7 +87,7 @@ in
|
||||
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
default = 3306;
|
||||
default = (if !usePostgresql then 3306 else pg.port);
|
||||
description = "Database host port.";
|
||||
};
|
||||
|
||||
@ -123,6 +128,15 @@ in
|
||||
default = "${cfg.stateDir}/data/gitea.db";
|
||||
description = "Path to the sqlite3 database file.";
|
||||
};
|
||||
|
||||
createDatabase = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to create a local postgresql database automatically.
|
||||
This only applies if database type "postgres" is selected.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
appName = mkOption {
|
||||
@ -186,10 +200,11 @@ in
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.postgresql.enable = mkIf usePostgresql (mkDefault true);
|
||||
|
||||
systemd.services.gitea = {
|
||||
description = "gitea";
|
||||
after = [ "network.target" ];
|
||||
after = [ "network.target" "postgresql.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ pkgs.gitea.bin ];
|
||||
|
||||
@ -231,12 +246,31 @@ in
|
||||
mkdir -p ${cfg.stateDir}/conf
|
||||
cp -r ${pkgs.gitea.out}/locale ${cfg.stateDir}/conf/locale
|
||||
fi
|
||||
'' + optionalString (usePostgresql && cfg.database.createDatabase) ''
|
||||
if ! test -e "${cfg.stateDir}/db-created"; then
|
||||
echo "CREATE ROLE ${cfg.database.user}
|
||||
WITH ENCRYPTED PASSWORD '$(head -n1 ${cfg.database.passwordFile})'
|
||||
NOCREATEDB NOCREATEROLE LOGIN" |
|
||||
${pkgs.sudo}/bin/sudo -u ${pg.superUser} ${pg.package}/bin/psql
|
||||
${pkgs.sudo}/bin/sudo -u ${pg.superUser} \
|
||||
${pg.package}/bin/createdb \
|
||||
--owner=${cfg.database.user} \
|
||||
--encoding=UTF8 \
|
||||
--lc-collate=C \
|
||||
--lc-ctype=C \
|
||||
--template=template0 \
|
||||
${cfg.database.name}
|
||||
touch "${cfg.stateDir}/db-created"
|
||||
fi
|
||||
'' + ''
|
||||
chown ${cfg.user} -R ${cfg.stateDir}
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
User = cfg.user;
|
||||
WorkingDirectory = cfg.stateDir;
|
||||
PermissionsStartOnly = true;
|
||||
ExecStart = "${pkgs.gitea.bin}/bin/gitea web";
|
||||
Restart = "always";
|
||||
};
|
||||
|
@ -538,7 +538,7 @@ in
|
||||
in pkgs.writeScript "install-grub.sh" (''
|
||||
#!${pkgs.runtimeShell}
|
||||
set -e
|
||||
export PERL5LIB=${makePerlPath (with pkgs.perlPackages; [ FileSlurp XMLLibXML XMLSAX ListCompare ])}
|
||||
export PERL5LIB=${makePerlPath (with pkgs.perlPackages; [ FileSlurp XMLLibXML XMLSAX XMLSAXBase ListCompare ])}
|
||||
${optionalString cfg.enableCryptodisk "export GRUB_ENABLE_CRYPTODISK=y"}
|
||||
'' + flip concatMapStrings cfg.mirroredBoots (args: ''
|
||||
${pkgs.perl}/bin/perl ${install-grub-pl} ${grubConfig args} $@
|
||||
|
@ -434,9 +434,11 @@ in
|
||||
|
||||
virtualisation.pathsInNixDB = [ config.system.build.toplevel ];
|
||||
|
||||
# FIXME: Figure out how to make this work on non-x86
|
||||
virtualisation.qemu.options =
|
||||
mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [ "-vga std" "-usb" "-device usb-tablet,bus=usb-bus.0" ];
|
||||
# FIXME: Consolidate this one day.
|
||||
virtualisation.qemu.options = mkMerge [
|
||||
(mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [ "-vga std" "-usb" "-device usb-tablet,bus=usb-bus.0" ])
|
||||
(mkIf (pkgs.stdenv.isArm || pkgs.stdenv.isAarch64) [ "-device virtio-gpu-pci" "-device usb-ehci,id=usb0" "-device usb-kbd" "-device usb-tablet" ])
|
||||
];
|
||||
|
||||
# Mount the host filesystem via 9P, and bind-mount the Nix store
|
||||
# of the host into our own filesystem. We use mkVMOverride to
|
||||
|
@ -368,6 +368,7 @@ in rec {
|
||||
tests.vault = callTest tests/vault.nix {};
|
||||
tests.virtualbox = callSubTestsOnTheseSystems ["x86_64-linux"] tests/virtualbox.nix {};
|
||||
tests.wordpress = callTest tests/wordpress.nix {};
|
||||
tests.xautolock = callTest tests/xautolock.nix {};
|
||||
tests.xfce = callTest tests/xfce.nix {};
|
||||
tests.xmonad = callTest tests/xmonad.nix {};
|
||||
tests.xrdp = callTest tests/xrdp.nix {};
|
||||
|
24
nixos/tests/xautolock.nix
Normal file
24
nixos/tests/xautolock.nix
Normal file
@ -0,0 +1,24 @@
|
||||
import ./make-test.nix ({ pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
name = "xautolock";
|
||||
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ ma27 ];
|
||||
|
||||
nodes.machine = {
|
||||
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
||||
|
||||
services.xserver.displayManager.auto.user = "bob";
|
||||
services.xserver.xautolock.enable = true;
|
||||
services.xserver.xautolock.time = 1;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
$machine->start;
|
||||
$machine->waitForX;
|
||||
$machine->mustFail("pgrep xlock");
|
||||
$machine->sleep(120);
|
||||
$machine->mustSucceed("pgrep xlock");
|
||||
'';
|
||||
})
|
@ -3,11 +3,11 @@
|
||||
stdenv.mkDerivation rec {
|
||||
name = packageName + "-" + version ;
|
||||
packageName = "aj-snapshot" ;
|
||||
version = "0.9.7";
|
||||
version = "0.9.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${packageName}/${name}.tar.bz2";
|
||||
sha256 = "0yxccgp9qw2cyqv719wlbq8wfsr5ga8czvwa7bmb8dh5s11n3rn8";
|
||||
sha256 = "0wilky1g2mb88v2z0520s7sw1dsn10iwanc8id5p6z1xsnhg7b6p";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "csound-${version}";
|
||||
version = "6.09.0";
|
||||
version = "6.10.0";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "csound";
|
||||
repo = "csound";
|
||||
rev = version;
|
||||
sha256 = "1vfb0mab89psfwidadjrn5mbzq3bhjbyrrmyp98yp0xm6a8cssih";
|
||||
sha256 = "1mak183y8bn097z9q3k7f1kwvawkngkc4ch9hv6gqhgfy1cjln8n";
|
||||
};
|
||||
|
||||
cmakeFlags = [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp
|
||||
|
@ -16,13 +16,13 @@ with stdenv.lib.strings;
|
||||
|
||||
let
|
||||
|
||||
version = "2.5.21";
|
||||
version = "2.5.23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "grame-cncm";
|
||||
repo = "faust";
|
||||
rev = "${version}";
|
||||
sha256 = "1kfrcfhpzkpjxsrvgwmc2valgwfb4b7gfwwnlnjq6f6dp56yflpz";
|
||||
sha256 = "1pci8ac6sqrm3mb3yikmmr3iy35g3nj4iihazif1amqkbdz719rc";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "4.4.1";
|
||||
version = "4.5.0";
|
||||
|
||||
deps = [
|
||||
alsaLib
|
||||
@ -46,7 +46,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/releases/download/v${version}/google-play-music-desktop-player_${version}_amd64.deb";
|
||||
sha256 = "0jqgawgij6jxf3zy3glviqj6s34mq7d756syg2c7kk1gkqkwgdpw";
|
||||
sha256 = "06h9g1yhd5q7gg8v55q143fr65frxg0khfgckr03gsaw0swin51q";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "atom-${version}";
|
||||
version = "1.24.1";
|
||||
version = "1.25.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
|
||||
sha256 = "0llg2q1hn2wmhi80ddwwb2lir2xwwmrw19i2c1y3qmfb0apynhw3";
|
||||
sha256 = "04iiw0qzl9025l4lasz42w5nfnvsmc7vwcf4a9c2hvl9xsyckajh";
|
||||
name = "${name}.deb";
|
||||
};
|
||||
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "focuswriter-${version}";
|
||||
version = "1.6.8";
|
||||
version = "1.6.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gottcode.org/focuswriter/focuswriter-${version}-src.tar.bz2";
|
||||
sha256 = "1d2q99xa7dhdpqkipapzi1r1mvynf70s7sgdczd59kn0d8sr3map";
|
||||
sha256 = "0hrbycy5lapdkaa2xm90j45sgsiqdnlk9wry41kxxpdln9msabxs";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig qmake qttools ];
|
||||
|
@ -2,7 +2,7 @@
|
||||
makeWrapper, libXScrnSaver, libxkbfile, libsecret }:
|
||||
|
||||
let
|
||||
version = "1.21.0";
|
||||
version = "1.21.1";
|
||||
channel = "stable";
|
||||
|
||||
plat = {
|
||||
@ -12,9 +12,9 @@ let
|
||||
}.${stdenv.system};
|
||||
|
||||
sha256 = {
|
||||
"i686-linux" = "0gib1ljf1zm432cgv9i59dq7n9fblcgy6diy2qy4g1ichi92s2i3";
|
||||
"x86_64-linux" = "08md8q325z8q3afzxbpzvjfwdjw7phqd7cpq2vadwnd2ixvga2nk";
|
||||
"x86_64-darwin" = "0jmlhza48k5amb4phwy8k6xyznvivzd7gjsmsn4lmnasrxj5lask";
|
||||
"i686-linux" = "0c5wh6i4yl601hg0r1c8y25lz7j2p4vhisdnvnx9nzd6v4ib27cj";
|
||||
"x86_64-linux" = "19i0wkl0qccq2cm10khy0xxb53a6g2m061g71y54s4cxb4wimc9l";
|
||||
"x86_64-darwin" = "0d1ws4c3n80gypiarqbylyipg273ssc0m29jnrg7hx1mcy5ljb1i";
|
||||
}.${stdenv.system};
|
||||
|
||||
archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||
|
@ -37,7 +37,9 @@ stdenv.mkDerivation rec {
|
||||
description = "A GTK2 image viewer, manga reader, and booru browser";
|
||||
maintainers = with maintainers; [ skrzyp xzfc ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.allBut [ "darwin" "cygwin" ];
|
||||
# Unintentionally not working on Darwin:
|
||||
# https://github.com/ahodesuka/ahoviewer/issues/62
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
{ stdenv, pythonPackages, fetchurl }:
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
name = "bleachbit-${version}";
|
||||
version = "1.12";
|
||||
version = "2.0";
|
||||
|
||||
namePrefix = "";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/bleachbit/${name}.tar.bz2";
|
||||
sha256 = "1x58n429q1c77nfpf2g3vyh6yq8wha69zfzmxf1rvjvcvvmqs62m";
|
||||
sha256 = "0ps98zx4n13q92bq7ykqi6hj3i7brdqgm87i9gk6ibvljp1vxdz9";
|
||||
};
|
||||
|
||||
buildInputs = [ pythonPackages.wrapPython ];
|
||||
|
@ -4,11 +4,11 @@ with stdenv.lib;
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
name = "cherrytree-${version}";
|
||||
version = "0.37.6";
|
||||
version = "0.38.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.giuspen.com/software/${name}.tar.xz";
|
||||
sha256 = "0x4cgsimpwh7wfbzbzw2f5ipxxjizpi4wa99s1cwizynfjr38y5s";
|
||||
sha256 = "1zazyxkrli77wahn4c1z24qyz5bwlayl335f2kdxb44dicrx58g2";
|
||||
};
|
||||
|
||||
buildInputs = with pythonPackages;
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, libX11, libXinerama, libXft, zlib, patches ? null }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dmenu-4.7";
|
||||
name = "dmenu-4.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://dl.suckless.org/tools/${name}.tar.gz";
|
||||
sha256 = "1fgph549i0yw62x02jhfc8qmqk2rnzcnm46bxq6jig1cvkw3amm7";
|
||||
sha256 = "0qfvfrj10xlwd9hkvb57wshryan65bl6423h0qhiw1h76rf5lqgy";
|
||||
};
|
||||
|
||||
buildInputs = [ libX11 libXinerama zlib libXft ];
|
||||
|
@ -5,11 +5,11 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
name = "electrum-ltc-${version}";
|
||||
version = "3.0.5.1";
|
||||
version = "3.0.6.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://electrum-ltc.org/download/Electrum-LTC-${version}.tar.gz";
|
||||
sha256 = "1acsgzmd83cz6ha5fw63mi7123fr6gbiq537p5lxxfs2i8zrl63r";
|
||||
sha256 = "1bay4vfkanxsa8pj8n99sj55yc59s84nns97lbvagyp0p0lclia7";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
|
@ -1,14 +1,14 @@
|
||||
{stdenv, fetchFromGitHub, python}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "3.3";
|
||||
version = "3.5";
|
||||
name = "googler-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jarun";
|
||||
repo = "googler";
|
||||
rev = "v${version}";
|
||||
sha256 = "0gkzgcf0qss7fskgswryk835vivlv1f99ym1pbxy3vv9wcwx6a43";
|
||||
sha256 = "0z5cngg1kr3b484zddqlg9yn7crbmnd78pdb8vzd32mkp3fahcxa";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ python ];
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
let
|
||||
|
||||
version = "1.3.0-9b2ba62";
|
||||
version = "1.3.1-ff75f26";
|
||||
|
||||
rpath = stdenv.lib.makeLibraryPath
|
||||
[ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft
|
||||
@ -19,7 +19,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/${version}/Hubstaff-${version}.sh";
|
||||
sha256 = "1dxzyl3yxbfmbw1pv8k3vhqzbmyyf16zkgrhzsbm866nmbgnqk1s";
|
||||
sha256 = "0jm5l34r6lkfkg8vsdfqbr0axngxznhagwcl9y184lnyji91fmdl";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip makeWrapper ];
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ mkDerivation, lib, cmake, xorg, plasma-framework, fetchFromGitHub
|
||||
, extra-cmake-modules, karchive, kwindowsystem, qtx11extras, kcrash }:
|
||||
|
||||
let version = "0.7.3"; in
|
||||
let version = "0.7.4"; in
|
||||
|
||||
mkDerivation {
|
||||
name = "latte-dock-${version}";
|
||||
@ -10,7 +10,7 @@ mkDerivation {
|
||||
owner = "psifidotos";
|
||||
repo = "Latte-Dock";
|
||||
rev = "v${version}";
|
||||
sha256 = "110bal0dairsvgj624n5k0zabh2qfy9dk560a4wy7icxv0cjh7hg";
|
||||
sha256 = "0w4fphgpdvql31wrypxyfahmr4cv5ap96wjc4270yyawnrqrx0y6";
|
||||
};
|
||||
|
||||
buildInputs = [ plasma-framework xorg.libpthreadstubs xorg.libXdmcp xorg.libSM ];
|
||||
|
@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
|
||||
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE=[ "-Wno-error=implicit-fallthrough" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.netsurf-browser.org/;
|
||||
description = "Cascading Style Sheets library for netsurf browser";
|
||||
|
@ -98,12 +98,12 @@ let
|
||||
|
||||
flash = stdenv.mkDerivation rec {
|
||||
name = "flashplayer-ppapi-${version}";
|
||||
version = "28.0.0.161";
|
||||
version = "29.0.0.113";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
|
||||
+ "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
|
||||
sha256 = "0xhfr2mqmg71dxnsq4x716hzkryj2dmmlzgyi8hf7s999p7x8djw";
|
||||
sha256 = "1ix86jv4ckn5pcj37fgx4mncqjyvabdvwxp9zs9frdfbyx740izr";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -37,7 +37,7 @@ in writeScript "update-${name}" ''
|
||||
# versions or removes release versions if we are looking for beta
|
||||
# versions
|
||||
# - this line pick up latest release
|
||||
version=`xidel -q $url --extract "//a" | \
|
||||
version=`xidel -s $url --extract "//a" | \
|
||||
sed s"/.$//" | \
|
||||
grep "^[0-9]" | \
|
||||
sort --version-sort | \
|
||||
|
@ -73,25 +73,25 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "flashplayer-${version}";
|
||||
version = "28.0.0.161";
|
||||
version = "29.0.0.113";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
if debug then
|
||||
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/28/flash_player_npapi_linux_debug.${arch}.tar.gz"
|
||||
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/29/flash_player_npapi_linux_debug.${arch}.tar.gz"
|
||||
else
|
||||
"https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz";
|
||||
sha256 =
|
||||
if debug then
|
||||
if arch == "x86_64" then
|
||||
"0dsgq39c2d0kkdcd9j4nddqn3qiq5pvm2r67ji4m4wyv9chn518m"
|
||||
"15nkmnkh4w458n9yp0f54d48vzl8bk6zq3clws8jvd76aa0accl0"
|
||||
else
|
||||
"0x26qi9qr01rppji5l4nwvmrhmq6qy83dsppbb7jqjmgyvknq5jd"
|
||||
"0v9iwnb00jl6s6a1b9cnmqflh50dhyhmlwckk8qv6vy77b2jdsk7"
|
||||
else
|
||||
if arch == "x86_64" then
|
||||
"1s62gx2a9q962w3gc847x2xwlzkq4dkzbmvf74x5k5c2k2l9hhg0"
|
||||
"18cbalnyikb8g8fb861b9kbgsqwrin5k7gd5smz2czk73kmfrph4"
|
||||
else
|
||||
"1m5pcgz2w9f3jkm3hpvysc8ap20y458xnba7j51d7h7fjy6md89x";
|
||||
"06djh4scz97r8h4bsd392paimpybd59q1chd86bdsybm1xkgicmy";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
@ -55,19 +55,19 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "flashplayer-standalone-${version}";
|
||||
version = "28.0.0.161";
|
||||
version = "29.0.0.113";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
if debug then
|
||||
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/28/flash_player_sa_linux_debug.x86_64.tar.gz"
|
||||
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/29/flash_player_sa_linux_debug.x86_64.tar.gz"
|
||||
else
|
||||
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/28/flash_player_sa_linux.x86_64.tar.gz";
|
||||
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/29/flash_player_sa_linux.x86_64.tar.gz";
|
||||
sha256 =
|
||||
if debug then
|
||||
"0934vs3c51fjz9pr846wg9xn7h2qybswayfkhz0pnzcfnng2rrf1"
|
||||
"12ackbfyh83f3ggvr8gs88f002glrymh2s2pfb5srbgdajrh0cyc"
|
||||
else
|
||||
"0pwi7pbfldiqiwc7yfy7psyr93679r025vjxmiybs2ap69vly4v0";
|
||||
"17xwsw13bq5s6mq4r22zhw99dx5xswzz83m7lvd9gl9ih78w7348";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
@ -98,7 +98,7 @@ let
|
||||
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
|
||||
|
||||
# Upstream source
|
||||
version = "7.5";
|
||||
version = "7.5.1";
|
||||
|
||||
lang = "en-US";
|
||||
|
||||
@ -108,7 +108,7 @@ let
|
||||
"https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
|
||||
"https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
|
||||
];
|
||||
sha256 = "1ia8qv5hj7zrrli5d9qf65s3rlrls0whrx3q96lw63x2gn05nwv7";
|
||||
sha256 = "1c5mrc10gm5nklirzwflg7lrdr1v36354g9lgxnjk432izhwb1s0";
|
||||
};
|
||||
|
||||
"i686-linux" = fetchurl {
|
||||
@ -116,7 +116,7 @@ let
|
||||
"https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
|
||||
"https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
|
||||
];
|
||||
sha256 = "1sw1n7jsagyl5cjs265x3k9jzh0j0yh767ixcy17vif5f9dfyzak";
|
||||
sha256 = "0d274f3qhbf1cid3fmpk9s482bjvgcig3q7gdklv9va89bpxzsa6";
|
||||
};
|
||||
};
|
||||
in
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cni-${version}";
|
||||
version = "0.5.2";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containernetworking";
|
||||
repo = "cni";
|
||||
rev = "v${version}";
|
||||
sha256 = "0n2sc5xf1h0i54am80kj7imrvawddn0kxvgi65w0194dpmyrg5al";
|
||||
sha256 = "00ajs2r5r2z3l0vqwxrcwhjfc9px12qbcv5vnvs2mdipvvls1y2y";
|
||||
};
|
||||
|
||||
buildInputs = [ go ];
|
||||
|
@ -1,13 +1,14 @@
|
||||
{ stdenv, fetchurl, kubectl }:
|
||||
let
|
||||
arch = if stdenv.isLinux
|
||||
isLinux = stdenv.isLinux;
|
||||
arch = if isLinux
|
||||
then "linux-amd64"
|
||||
else "darwin-amd64";
|
||||
checksum = if stdenv.isLinux
|
||||
then "07bgny8mfdgv9f6zmk31hxhkwy90wr22js21jz679pkz3gmykxvx"
|
||||
else "1f6h96gyhsdb03am586kdqn619h4niwlj29j4bypf3yg2sar4p6x";
|
||||
checksum = if isLinux
|
||||
then "1lr2s66kln6rp3sb156br9nfx51bdy654vdjr4vnncz4kp3mljv1"
|
||||
else "04y4ii0w4s00z831q1wzxz6qkc8qfrhwzdrq3wwvrcl0413cza50";
|
||||
pname = "helm";
|
||||
version = "2.8.1";
|
||||
version = "2.8.2";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "${pname}-${version}";
|
||||
|
@ -4,15 +4,15 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-alicloud";
|
||||
version = "1.5.0";
|
||||
sha256 = "14wrp6szg9mh8bxqqjbx0i654lciw09wghm8h3c6x79ayxan5n8x";
|
||||
version = "1.8.1";
|
||||
sha256 = "127070zsy536pdvjpcj0028iwwrcm4s5gbhvhzxb70fhjvi9sj6v";
|
||||
};
|
||||
archive =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-archive";
|
||||
version = "1.0.0";
|
||||
sha256 = "0z85fpd70m2w59vxp82d8ipylaazf6l890rkjca4dm14rkq352zn";
|
||||
version = "1.0.1";
|
||||
sha256 = "1qxw9c38hsdmxyrrnl7s9iwlzjrwzml2m74bs4iw120gljpqphqz";
|
||||
};
|
||||
arukas =
|
||||
{
|
||||
@ -32,8 +32,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-aws";
|
||||
version = "1.6.0";
|
||||
sha256 = "0x4lrpq00z5ww8awym7p6kwrf17ghai36zj8hr10n4qraf8a9ma6";
|
||||
version = "1.11.0";
|
||||
sha256 = "14r54772qi6c73l50f6gp4j08rd03c2h4v1fwcydfc6kyf23f8k6";
|
||||
};
|
||||
azure-classic =
|
||||
{
|
||||
@ -46,8 +46,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-azurerm";
|
||||
version = "1.0.0";
|
||||
sha256 = "0grpc7apfn03slkkily8agl8pv6mc0j58ch8fa6jgqcqy6dbd0kh";
|
||||
version = "1.2.0";
|
||||
sha256 = "10j7lk3rrlix04pcnnz25h0bm336nnmf3c2a1760v272sjdph51z";
|
||||
};
|
||||
bitbucket =
|
||||
{
|
||||
@ -102,8 +102,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-cobbler";
|
||||
version = "1.0.0";
|
||||
sha256 = "0v7j9r2ic3ks2hy80mx5xay05m6r52vclsbbbf9vb0srnrvz21gy";
|
||||
version = "1.0.1";
|
||||
sha256 = "1z0iijfrbbdrgszvc7jlcr4105zragbc0iq8x48vi24yipqgf5a8";
|
||||
};
|
||||
consul =
|
||||
{
|
||||
@ -172,15 +172,15 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-fastly";
|
||||
version = "0.1.3";
|
||||
sha256 = "0q331j91c1kns01yhvbxrq0vf21653ch6fvkzlx61337az7jhky8";
|
||||
version = "0.1.4";
|
||||
sha256 = "0x8s11c30k9a95mafyb2zl3wh9hgbdm7jgajzy5y4xnnr96ca13k";
|
||||
};
|
||||
github =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-github";
|
||||
version = "0.1.1";
|
||||
sha256 = "0f6nk9nb8h8247rz7x1w11amp0qdcmy1alr8jgd2chrjv9f8nif0";
|
||||
version = "1.0.0";
|
||||
sha256 = "0nca90s4bangraly1pcn3jfkfksaw0g2chs5ba6m7z6bhkrj2ylb";
|
||||
};
|
||||
gitlab =
|
||||
{
|
||||
@ -193,15 +193,15 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-google";
|
||||
version = "1.4.0";
|
||||
sha256 = "0nlm02ibp2w4m38pvmw6r29807863h23y8k00ywmkcr7yiy1zilr";
|
||||
version = "1.7.0";
|
||||
sha256 = "1q38z3gihsbxlra1vzgsg1ss8q24f5vkj6k8pvvqjb2rzqpkk5cm";
|
||||
};
|
||||
grafana =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-grafana";
|
||||
version = "1.0.0";
|
||||
sha256 = "0fsdin1rd7hah6pp3x568db2mmk66q0fhiplsri7vyj03n3z55v2";
|
||||
version = "1.0.1";
|
||||
sha256 = "1dvd7dy039ranlkvnbililk2lzr6cffwc4jsgs6lk3hfxhrq8bns";
|
||||
};
|
||||
heroku =
|
||||
{
|
||||
@ -235,8 +235,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-influxdb";
|
||||
version = "0.1.0";
|
||||
sha256 = "0msc6maxsiwmsg8ppdfj1397c66llhaf15nc4hmr2h6dxqkb5wl5";
|
||||
version = "1.0.0";
|
||||
sha256 = "1w1izzs22b2w2qmpdxbhaj9kvnfyw0wlq3nigrigwwvqav43knh9";
|
||||
};
|
||||
kubernetes =
|
||||
{
|
||||
@ -291,8 +291,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-newrelic";
|
||||
version = "0.1.1";
|
||||
sha256 = "1fqgxcspkgm3ncsqbvw79h5n09agba7q80nz0mrq09x0pyk8y051";
|
||||
version = "1.0.0";
|
||||
sha256 = "1bcxq4f50qci54gckx4yax2v2qpazp10n5vcci4cba0bf5l8zx62";
|
||||
};
|
||||
nomad =
|
||||
{
|
||||
@ -305,8 +305,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-ns1";
|
||||
version = "0.1.0";
|
||||
sha256 = "1in9ggrvxfb3maxhgiv997hndkpnqpgx1c1365lfizhp7km5ncvj";
|
||||
version = "1.0.0";
|
||||
sha256 = "0zjdhz6miwlg3b68pbd99c6nw7hhyzxy736734xz8g3w89xn18f5";
|
||||
};
|
||||
null =
|
||||
{
|
||||
@ -326,15 +326,15 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-opc";
|
||||
version = "1.0.1";
|
||||
sha256 = "0r8xczb1vy1h6ka97x7x025d030m7d01r52bbmf2z9sh81hhsa1x";
|
||||
version = "1.1.0";
|
||||
sha256 = "19yip5v00b57j3h7870hw51nsxcwib7mlhdzzn276z74af6zirsr";
|
||||
};
|
||||
openstack =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-openstack";
|
||||
version = "1.1.0";
|
||||
sha256 = "1w747qbk24b18v6x7l4n08pxnwak395fq1grajpxf3qw6afchjdj";
|
||||
version = "1.3.0";
|
||||
sha256 = "0pyp95i6z6il2kl28cvilqi81wqs076d6f0zacjyvmn1d0blqrnx";
|
||||
};
|
||||
opentelekomcloud =
|
||||
{
|
||||
@ -361,22 +361,29 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-packet";
|
||||
version = "1.1.0";
|
||||
sha256 = "0848y78jri1kzd70xcgv0p62yww46d0kr9zpqwh32m866xx5isfi";
|
||||
version = "1.2.0";
|
||||
sha256 = "0jk8wwm7srjxc3mspqd9szlq8fd63bhdgkzwdjr2fvv4ivj17xp4";
|
||||
};
|
||||
pagerduty =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-pagerduty";
|
||||
version = "0.1.2";
|
||||
sha256 = "1dqzi53bnk4qcjhlimr13352nzb1nsij7354zapz2sgnz21v89mm";
|
||||
version = "1.0.0";
|
||||
sha256 = "113anbcpp8ab111jm19h7d9i5sds76msgnk8xvwk8qf6500ivfqa";
|
||||
};
|
||||
panos =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-panos";
|
||||
version = "1.0.0";
|
||||
sha256 = "1pslp8pas1p90bmxp1yqmackqkbxrw2sgcm88ibz8l4k43vwks76";
|
||||
};
|
||||
postgresql =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-postgresql";
|
||||
version = "0.1.0";
|
||||
sha256 = "0gg48b2zn18ynvhnabvyfvw5wif0m1a852798wahv8fbv5d1vh7j";
|
||||
version = "0.1.1";
|
||||
sha256 = "0ls5z02vaalcrbaq375qnk0267pb17rpsx4s3plfnr7qclv21pwn";
|
||||
};
|
||||
powerdns =
|
||||
{
|
||||
@ -389,8 +396,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-profitbricks";
|
||||
version = "1.0.1";
|
||||
sha256 = "02blr487pbp7myw2l6nib9g1a8vplk9khakxaj9wbg779vp8wvcg";
|
||||
version = "1.1.1";
|
||||
sha256 = "0sn48adgpjw20a6jwagarnh5jasq0v36zsbd204j0vx4iam3vm9m";
|
||||
};
|
||||
rabbitmq =
|
||||
{
|
||||
@ -424,8 +431,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-scaleway";
|
||||
version = "1.0.0";
|
||||
sha256 = "0zp9hhvlcn6cpnblwrr03icbagzk745b0lrm5bs23crbnddal905";
|
||||
version = "1.1.0";
|
||||
sha256 = "10ghzwss3n95yln7brzwghkc0gv7bkmyml7zlj7hfbkjr3382m1p";
|
||||
};
|
||||
softlayer =
|
||||
{
|
||||
@ -466,15 +473,15 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-tls";
|
||||
version = "1.0.1";
|
||||
sha256 = "0mzm1pkqgcslz3j4an1vpx92hnqa53ly0kp3zix8kp2kfnn17qky";
|
||||
version = "1.1.0";
|
||||
sha256 = "1kzq6al9rzpmk98bmxcf5gjx5s28gfjp1xvdsnd4a113pljn0ddb";
|
||||
};
|
||||
triton =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-triton";
|
||||
version = "0.4.1";
|
||||
sha256 = "09zljia422afm565d3qm57j5y1n12h52bgyqz6s1s8dmcdygd75g";
|
||||
version = "0.4.2";
|
||||
sha256 = "0nid5sp8xskw5wmc0dbkw6m87bmyb37p9ck9xm74nrvdzqjxz5ml";
|
||||
};
|
||||
ultradns =
|
||||
{
|
||||
@ -501,7 +508,7 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-vsphere";
|
||||
version = "1.1.1";
|
||||
sha256 = "1y209bwkk79ycxjl3b6c20n0z2g5d6njna85w68a0w6npk88zva9";
|
||||
version = "1.3.3";
|
||||
sha256 = "1z6v8hagpjm8573d36v3nak5h7hn3jyq2f4m93k1adygvs3n9yx7";
|
||||
};
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ callPackage, stdenv }:
|
||||
|
||||
let
|
||||
stableVersion = "2.1.3";
|
||||
stableVersion = "2.1.4";
|
||||
# Currently there is no preview version.
|
||||
previewVersion = stableVersion;
|
||||
addVersion = args:
|
||||
@ -10,8 +10,8 @@ let
|
||||
in args // { inherit version branch; };
|
||||
mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
|
||||
mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
|
||||
guiSrcHash = "1yya0alc4ifgikka513ps243l8211rvifm0xz1ymx8nck0s6sj35";
|
||||
serverSrcHash = "16d698gpj2r3z7qvvlrsx8ylgb1nfkmia2pcvk22068p3ajwypx1";
|
||||
guiSrcHash = "03x9qgqs4y9swyipigviyscvlcfkb2v6iasc54nv07ks8srqwf93";
|
||||
serverSrcHash = "0qzx0y4mqxpn5xhzgr2865lvszhi6szdli1jq64gihwdy3bhli4f";
|
||||
in {
|
||||
guiStable = mkGui {
|
||||
stable = true;
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "psi-plus-${version}";
|
||||
version = "0.16.575.639";
|
||||
version = "1.2.235";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "psi-plus";
|
||||
repo = "psi-plus-snapshots";
|
||||
rev = "${version}";
|
||||
sha256 = "0mn24y3y4qybw81rjy0hr46y7y96dvwdl6kk61kizwj32z1in8cg";
|
||||
sha256 = "0rc65gs6m3jxg407r99kikdylvrar5mq7x5m66ma604yk5igwg47";
|
||||
};
|
||||
|
||||
resources = fetchFromGitHub {
|
||||
|
@ -49,6 +49,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = https://nextcloud.com;
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ caugner ];
|
||||
platforms = platforms.unix;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -5,14 +5,14 @@
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.1.5";
|
||||
version = "6.1.6";
|
||||
name = "seafile-client-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "haiwen";
|
||||
repo = "seafile-client";
|
||||
rev = "v${version}";
|
||||
sha256 = "1ahz55cw2p3s78x5f77drz4h2jhknfzpkk83qd0ggma31q1pnpl9";
|
||||
sha256 = "0r02frlspjq8k0zz1z4wh2sx3jm6b1qby5mxg394sb3rjdxb8jhk";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig cmake makeWrapper ];
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
python2Packages.buildPythonApplication rec {
|
||||
name = "syncplay-${version}";
|
||||
version = "1.5.0";
|
||||
version = "1.5.2";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchurl {
|
||||
url = https://github.com/Syncplay/syncplay/archive/v1.5.0.tar.gz;
|
||||
sha256 = "762e6318588e14aa02b1340baa18510e7de87771c62ca5b44d985b6d1289964d";
|
||||
url = https://github.com/Syncplay/syncplay/archive/v1.5.2.tar.gz;
|
||||
sha256 = "0a7lqq3y53ag5hzkkjpz61gfmglf3w1kpvyynhq2514fn9rnwsla";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python2Packages; [ pyside twisted ];
|
||||
|
@ -1,11 +1,11 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "4.9c";
|
||||
version = "4.9g";
|
||||
name = "paml-${version}";
|
||||
src = fetchurl {
|
||||
url = "http://abacus.gene.ucl.ac.uk/software/paml${version}.tgz";
|
||||
sha256 = "18a1l47223l7jyjavm8a8la84q9k9kbxwmj7kz4z3pdx70qrl04j";
|
||||
sha256 = "1kxkl47azkrsmdxiymnc76c2ccc514vlfnjvvm7lwch5l43j029h";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gtkwave-${version}";
|
||||
version = "3.3.86";
|
||||
version = "3.3.87";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/gtkwave/${name}.tar.gz";
|
||||
sha256 = "1l1hikhhk7drkbpdmj9qg7c3lj1b86z7f5rnwagrql8bss2j80fx";
|
||||
sha256 = "0yjvxvqdl276wv0y55bqxwna6lwc99hy6dkfiy6bij3nd1qm5rf6";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -1,11 +1,11 @@
|
||||
{stdenv, fetchurl, readline, bison, flex, libX11, libICE, libXaw, libXext}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ngspice-26";
|
||||
name = "ngspice-27";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/ngspice/ngspice-26.tar.gz";
|
||||
sha256 = "51e230c8b720802d93747bc580c0a29d1fb530f3dd06f213b6a700ca9a4d0108";
|
||||
url = "mirror://sourceforge/ngspice/ngspice-27.tar.gz";
|
||||
sha256 = "15862npsy5sj56z5yd1qiv3y0fgicrzj7wwn8hbcy89fgbawf20c";
|
||||
};
|
||||
|
||||
buildInputs = [ readline libX11 flex bison libICE libXaw libXext ];
|
||||
|
@ -12,11 +12,11 @@ in
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
name = "calc-${version}";
|
||||
version = "2.12.6.3";
|
||||
version = "2.12.6.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lcn2/calc/releases/download/${version}/${name}.tar.bz2";
|
||||
sha256 = "01m20s5zs74zyb23x6zg6i13gc30a2ay2iz1rdbkxram01cblzky";
|
||||
sha256 = "03sg1xhin6qsrz82scf96mmzw8lz1yj68rhj4p4npp4s0fawc9d5";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper readline ncurses utillinux ];
|
||||
|
@ -73,21 +73,21 @@ assert drmSupport -> available libdrm;
|
||||
let
|
||||
# Purity: Waf is normally downloaded by bootstrap.py, but
|
||||
# for purity reasons this behavior should be avoided.
|
||||
wafVersion = "1.9.8";
|
||||
wafVersion = "1.9.15";
|
||||
waf = fetchurl {
|
||||
urls = [ "http://waf.io/waf-${wafVersion}"
|
||||
"http://www.freehackers.org/~tnagy/release/waf-${wafVersion}" ];
|
||||
sha256 = "1gsd3zza1wixv2vhvq3inp4vb71i41a1kbwqnwixhnvdmcmw8z8n";
|
||||
sha256 = "0qrnlv91cb0v221w8a0fi4wxm99q2hpz10rkyyk4akcsvww6xrw5";
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "mpv-${version}";
|
||||
version = "0.27.0";
|
||||
version = "0.27.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mpv-player";
|
||||
repo = "mpv";
|
||||
rev = "v${version}";
|
||||
sha256 = "0746kmsg69675y5c70vn8imcr9d1zpjz97f27xr1vx00yjpd518v";
|
||||
sha256 = "1ivyyqajkxq5c1zxp0dm7pljvianhgvwl3dbghgpzyrch59k5wnr";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -95,11 +95,6 @@ in stdenv.mkDerivation rec {
|
||||
url = "https://github.com/mpv-player/mpv/commit/2ecf240b1cd20875991a5b18efafbe799864ff7f.patch";
|
||||
sha256 = "1sr0770rvhsgz8d7ysr9qqp4g9gwdhgj8g3rgnz90wl49lgrykhb";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "CVE-2018-6360.patch";
|
||||
url = https://salsa.debian.org/multimedia-team/mpv/raw/ddface85a1adfdfe02ffb25b5ac7fac715213b97/debian/patches/09_ytdl-hook-whitelist-protocols.patch;
|
||||
sha256 = "1gb1lkjbr8rv4v9ji6w5z97kbxbi16dbwk2255ajbvngjrc7vivv";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -29,13 +29,13 @@ let
|
||||
optional = stdenv.lib.optional;
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "obs-studio-${version}";
|
||||
version = "21.0.2";
|
||||
version = "21.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jp9000";
|
||||
repo = "obs-studio";
|
||||
rev = "${version}";
|
||||
sha256 = "1yyvxqzxy9dz6rmjcrdn90nfaff4f38mfz2gsq535cr59sg3f8jc";
|
||||
sha256 = "1mrihhzlsc66w5lr1lcm8c8jg6z0iwmmckr3pk3gk92z4s55969q";
|
||||
};
|
||||
|
||||
patches = [ ./find-xcb.patch ];
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "w_scan-${version}";
|
||||
version = "20161022";
|
||||
version = "20170107";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://wirbel.htpc-forum.de/w_scan/${name}.tar.bz2";
|
||||
sha256 = "0y8dq2sm13xn2r2lrqf5pdhr9xcnbxbg1aw3iq1szds2idzsyxr0";
|
||||
sha256 = "1zkgnj2sfvckix360wwk1v5s43g69snm45m0drnzyv7hgf5g7q1q";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "singularity-${version}";
|
||||
version = "2.4";
|
||||
version = "2.4.2";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@ -28,6 +28,9 @@ stdenv.mkDerivation rec {
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
configureFlags = "--localstatedir=/var";
|
||||
installFlags = "CONTAINER_MOUNTDIR=dummy CONTAINER_FINALDIR=dummy CONTAINER_OVERLAY=dummy SESSIONDIR=dummy";
|
||||
|
||||
fixupPhase = ''
|
||||
patchShebangs $out
|
||||
for f in $out/libexec/singularity/helpers/help.sh $out/libexec/singularity/cli/*.exec $out/libexec/singularity/bootstrap-scripts/*.sh ; do
|
||||
@ -42,7 +45,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "singularityware";
|
||||
repo = "singularity";
|
||||
rev = version;
|
||||
sha256 = "1hi1ag1lb2x4djbz4x34wix83ymx0g9mzn2md6yrpiflc1d85rjz";
|
||||
sha256 = "0cpa2yp82g9j64mgr90p75ddk85kbj1qi1r6hy0sz17grqdlaxl4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook makeWrapper ];
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, glibc }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.16.1";
|
||||
version = "0.17.0";
|
||||
name = "tini-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "krallin";
|
||||
repo = "tini";
|
||||
rev = "v${version}";
|
||||
sha256 ="1abvjwjk7xhsbx60niy4ykcj3xvrxcl6zx8z1v827jsn47wzpikp";
|
||||
sha256 ="0y16xk89811a6g2srg63jv5b2221dirzrhha7mj056a6jq5ql2f0";
|
||||
};
|
||||
|
||||
patchPhase = "sed -i /tini-static/d CMakeLists.txt";
|
||||
|
@ -21,10 +21,10 @@ let
|
||||
buildType = "release";
|
||||
# Manually sha256sum the extensionPack file, must be hex!
|
||||
# Do not forget to update the hash in ./guest-additions/default.nix!
|
||||
extpack = "70584a70b666e9332ae2c6be0e64da4b8e3a27124801156577f205750bdde4f5";
|
||||
extpackRev = "120293";
|
||||
main = "1rx45ivwk89ghjc5zdd7c7j92w0w3930xj7l1zhwrvshxs454w7y";
|
||||
version = "5.2.6";
|
||||
extpack = "355ea5fe047f751534720c65398b44290d53f389e0f5f66818f3f36746631d26";
|
||||
extpackRev = "121009";
|
||||
main = "ee2759d47b0b4ac81b8b671c9485c87fb2db12c097b3e7e69b94c1291a8084e8";
|
||||
version = "5.2.8";
|
||||
|
||||
# See https://github.com/NixOS/nixpkgs/issues/672 for details
|
||||
extensionPack = requireFile rec {
|
||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
|
||||
sha256 = "1px9jp6lv7ff7kn4ns5r4dq7xl4wiz3h4ckgdhgvxs040njpdzy5";
|
||||
sha256 = "04q8d2dxhkkqbghqidcwv6mx57fqpp92smh7gnaxb7vqqskb9dl0";
|
||||
};
|
||||
|
||||
KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
|
||||
|
@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
# Needs the SSE2 instruction set. See upstream issue
|
||||
# https://github.com/chrjguill/i3lock-color/issues/44
|
||||
platforms = platforms.i686 ++ platforms.x86_64;
|
||||
platforms = platforms.x86;
|
||||
};
|
||||
}
|
||||
|
@ -96,6 +96,7 @@ rec {
|
||||
echo creating
|
||||
singularity image.create -s $((1 + size * 4 / 1024 + ${toString extraSpace})) $out
|
||||
echo importing
|
||||
mkdir -p /var/singularity/mnt/container
|
||||
tar -c . | singularity image.import $out
|
||||
'');
|
||||
|
||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Numix icon theme (square version)";
|
||||
homepage = https://numixproject.org;
|
||||
license = licenses.gpl3;
|
||||
platforms = with platforms; allBut darwin;
|
||||
platforms = platforms.linux; # Maybe other non-darwin Unix
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ fetchurl }:
|
||||
|
||||
fetchurl {
|
||||
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/c1b1aa583dc3e3cd2c97c17d865be34ff3e019ab.tar.gz";
|
||||
sha256 = "03q732jxymdxmm9gqfyghjcsscc5qwg7aicx5kk8fkrfz17xd44k";
|
||||
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/b09de4efc2a385cf3407072c24c21ec8ec774a03.tar.gz";
|
||||
sha256 = "0yy3k5wgi9zgwz51gxakhlalwac59fkh0flydf334msrxlc3xf9z";
|
||||
}
|
||||
|
@ -9,11 +9,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "evince-${version}";
|
||||
version = "3.26.0";
|
||||
version = "3.28.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/evince/${gnome3.versionBranch version}/${name}.tar.xz";
|
||||
sha256 = "79567bdb743cf0c3ed7b638da32afc9b850298f9b4edd532455df4a7e2a4c9d8";
|
||||
sha256 = "1a3kcls18dcz1lj8hrx8skcli9xxfyi71c17xjwayh71cm5jc8zs";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchFromGitHub, zlib, jdk }:
|
||||
{ stdenv, fetchFromGitHub, zlib, jdk, CoreServices, Foundation }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "avian-${version}";
|
||||
@ -11,10 +11,16 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1j2y45cpqk3x6a743mgpg7z3ivwm7qc9jy6xirvay7ah1qyxmm48";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
zlib
|
||||
jdk
|
||||
];
|
||||
buildInputs = [ zlib jdk ]
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices Foundation ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace makefile \
|
||||
--replace 'g++' 'c++' \
|
||||
--replace 'gcc' 'cc'
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ stdenv, cmake, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "42";
|
||||
version = "44";
|
||||
rev = "version_${version}";
|
||||
name = "binaryen-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "WebAssembly";
|
||||
repo = "binaryen";
|
||||
sha256 = "0b8qc9cd7ncshgfjwv4hfapmwa81gmniaycnxmdkihq9bpm26x2k";
|
||||
sha256 = "0zsqppc05fm62807w6vyccxkk2y2gar7kxbxxixq8zz3xsp6w84p";
|
||||
inherit rev;
|
||||
};
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, gcc, glibc, m4, coreutils }:
|
||||
{ stdenv, fetchurl, bootstrap_cmds, coreutils, glibc, m4 }:
|
||||
|
||||
let
|
||||
options = rec {
|
||||
@ -27,19 +27,11 @@ let
|
||||
runtime = "dx86cl64";
|
||||
kernel = "darwinx8664";
|
||||
};
|
||||
i686-darwin = {
|
||||
arch = "darwinx86";
|
||||
sha256 = x86_64-darwin.sha256;
|
||||
runtime = "dx86cl";
|
||||
kernel = "darwinx8632";
|
||||
};
|
||||
armv6l-linux = armv7l-linux;
|
||||
};
|
||||
cfg = options.${stdenv.system};
|
||||
cfg = options."${stdenv.system}" or (throw "missing source url for platform ${stdenv.system}");
|
||||
in
|
||||
|
||||
assert builtins.hasAttr stdenv.system options;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ccl-${version}";
|
||||
version = "1.11.5";
|
||||
@ -49,7 +41,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = cfg.sha256;
|
||||
};
|
||||
|
||||
buildInputs = if stdenv.isDarwin then [ m4 ] else [ gcc glibc m4 ];
|
||||
buildInputs = if stdenv.isDarwin then [ bootstrap_cmds m4 ] else [ glibc m4 ];
|
||||
|
||||
CCL_RUNTIME = cfg.runtime;
|
||||
CCL_KERNEL = cfg.kernel;
|
||||
@ -58,7 +50,6 @@ stdenv.mkDerivation rec {
|
||||
substituteInPlace lisp-kernel/${CCL_KERNEL}/Makefile \
|
||||
--replace "M4 = gm4" "M4 = m4" \
|
||||
--replace "dtrace" "/usr/sbin/dtrace" \
|
||||
--replace "mig" "/usr/bin/mig" \
|
||||
--replace "/bin/rm" "${coreutils}/bin/rm" \
|
||||
--replace "/bin/echo" "${coreutils}/bin/echo"
|
||||
|
||||
|
@ -63,7 +63,7 @@ stdenv.mkDerivation {
|
||||
homepage = http://www.call-cc.org/;
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
platforms = with stdenv.lib.platforms; allBut darwin;
|
||||
platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix
|
||||
description = "A portable compiler for the Scheme programming language";
|
||||
longDescription = ''
|
||||
CHICKEN is a compiler for the Scheme programming language.
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "closure-compiler-${version}";
|
||||
version = "20170910";
|
||||
version = "20180204";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
|
||||
sha256 = "0znzsks8ql9qajhcjzfkhmnpz8zs6b8cji04fhivyq973jpxxrak";
|
||||
sha256 = "1nh4yznabwpp9k6flk9562w87d6sxk1fwwpk4d3knwy25iyn3mwq";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
@ -116,6 +116,7 @@ in rec {
|
||||
mv jdk1.8.0_*/linux-amd64/product $out
|
||||
find $out -type f -exec sed -i "s#${oraclejdk8}#$out#g" {} \;
|
||||
'';
|
||||
dontFixup = true; # do not nuke path of ffmpeg etc
|
||||
dontStrip = true; # why? see in oraclejdk derivation
|
||||
inherit (oraclejdk8) meta;
|
||||
};
|
||||
@ -174,6 +175,7 @@ in rec {
|
||||
--replace file:/dev/random file:/dev/./urandom \
|
||||
--replace NativePRNGBlocking SHA1PRNG
|
||||
'';
|
||||
dontFixup = true; # do not nuke path of ffmpeg etc
|
||||
dontStrip = true; # why? see in oraclejdk derivation
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
|
@ -86,6 +86,7 @@ in stdenv.mkDerivation (rec {
|
||||
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
patch -p1 -i ${../TLI-musl.patch}
|
||||
patch -p1 -i ${./dynamiclibrary-musl.patch}
|
||||
patch -p1 -i ${./sanitizers-nongnu.patch} -d projects/compiler-rt
|
||||
'';
|
||||
|
||||
# hacky fix: created binaries need to be run before installation
|
||||
@ -121,9 +122,6 @@ in stdenv.mkDerivation (rec {
|
||||
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}"
|
||||
"-DTARGET_TRIPLE=${stdenv.targetPlatform.config}"
|
||||
|
||||
"-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
|
||||
"-DCOMPILER_RT_BUILD_XRAY=OFF"
|
||||
];
|
||||
|
||||
postBuild = ''
|
||||
|
368
pkgs/development/compilers/llvm/4/sanitizers-nongnu.patch
Normal file
368
pkgs/development/compilers/llvm/4/sanitizers-nongnu.patch
Normal file
@ -0,0 +1,368 @@
|
||||
From dac4d3912378069b44340204e5fc6237aa1baf94 Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Maier <tamiko@43-1.org>
|
||||
Date: Fri, 5 May 2017 17:47:39 +0000
|
||||
Subject: [PATCH] Musl patches
|
||||
|
||||
Ported to compiler-rt-sanitizers-4.0.0. Taken from
|
||||
|
||||
https://gist.githubusercontent.com/pwaller/2337f3290f12634cad3e3730cff0a6c1/raw/83c87a8585e2f9662494db5662e5361beb093c26/nongnu.patch
|
||||
---
|
||||
lib/asan/asan_linux.cc | 4 +--
|
||||
lib/interception/interception_linux.cc | 2 +-
|
||||
lib/interception/interception_linux.h | 2 +-
|
||||
lib/msan/msan_linux.cc | 2 +-
|
||||
.../sanitizer_common_interceptors_ioctl.inc | 4 +--
|
||||
lib/sanitizer_common/sanitizer_common_syscalls.inc | 2 +-
|
||||
lib/sanitizer_common/sanitizer_linux_libcdep.cc | 12 +++----
|
||||
lib/sanitizer_common/sanitizer_platform.h | 7 ++++
|
||||
.../sanitizer_platform_interceptors.h | 2 +-
|
||||
.../sanitizer_platform_limits_posix.cc | 39 +++++++++++++---------
|
||||
lib/tsan/rtl/tsan_platform_linux.cc | 2 +-
|
||||
11 files changed, 46 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
|
||||
index c051573dd..e295f6004 100644
|
||||
--- a/lib/asan/asan_linux.cc
|
||||
+++ b/lib/asan/asan_linux.cc
|
||||
@@ -39,7 +39,7 @@
|
||||
#include <sys/link_elf.h>
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_ANDROID || SANITIZER_FREEBSD
|
||||
+#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_NONGNU
|
||||
#include <ucontext.h>
|
||||
extern "C" void* _DYNAMIC;
|
||||
#else
|
||||
@@ -80,7 +80,7 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle) {
|
||||
UNIMPLEMENTED();
|
||||
}
|
||||
|
||||
-#if SANITIZER_ANDROID
|
||||
+#if SANITIZER_ANDROID || SANITIZER_NONGNU
|
||||
// FIXME: should we do anything for Android?
|
||||
void AsanCheckDynamicRTPrereqs() {}
|
||||
void AsanCheckIncompatibleRT() {}
|
||||
diff --git a/lib/interception/interception_linux.cc b/lib/interception/interception_linux.cc
|
||||
index 6e908ac01..8f23d9adc 100644
|
||||
--- a/lib/interception/interception_linux.cc
|
||||
+++ b/lib/interception/interception_linux.cc
|
||||
@@ -24,7 +24,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr,
|
||||
return real == wrapper;
|
||||
}
|
||||
|
||||
-#if !defined(__ANDROID__) // android does not have dlvsym
|
||||
+#if !defined(__ANDROID__) && !SANITIZER_NONGNU // android does not have dlvsym
|
||||
void *GetFuncAddrVer(const char *func_name, const char *ver) {
|
||||
return dlvsym(RTLD_NEXT, func_name, ver);
|
||||
}
|
||||
diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h
|
||||
index 27a66c882..3b559a303 100644
|
||||
--- a/lib/interception/interception_linux.h
|
||||
+++ b/lib/interception/interception_linux.h
|
||||
@@ -34,7 +34,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
|
||||
(::__interception::uptr) & (func), \
|
||||
(::__interception::uptr) & WRAP(func))
|
||||
|
||||
-#if !defined(__ANDROID__) // android does not have dlvsym
|
||||
+#if !defined(__ANDROID__) && !SANITIZER_NONGNU // android does not have dlvsym
|
||||
#define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \
|
||||
(::__interception::real_##func = (func##_f)( \
|
||||
unsigned long)::__interception::GetFuncAddrVer(#func, symver))
|
||||
diff --git a/lib/msan/msan_linux.cc b/lib/msan/msan_linux.cc
|
||||
index 0a687f620..0852d97d7 100644
|
||||
--- a/lib/msan/msan_linux.cc
|
||||
+++ b/lib/msan/msan_linux.cc
|
||||
@@ -13,7 +13,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "sanitizer_common/sanitizer_platform.h"
|
||||
-#if SANITIZER_FREEBSD || SANITIZER_LINUX
|
||||
+#if SANITIZER_FREEBSD || SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
|
||||
#include "msan.h"
|
||||
#include "msan_thread.h"
|
||||
diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||
index 4ed9afedf..64f584e93 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||
+++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||
@@ -100,7 +100,7 @@ static void ioctl_table_fill() {
|
||||
_(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX
|
||||
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
// Conflicting request ids.
|
||||
// _(CDROMAUDIOBUFSIZ, NONE, 0);
|
||||
// _(SNDCTL_TMR_CONTINUE, NONE, 0);
|
||||
@@ -361,7 +361,7 @@ static void ioctl_table_fill() {
|
||||
_(VT_WAITACTIVE, NONE, 0);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
// _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
|
||||
_(CYGETDEFTHRESH, WRITE, sizeof(int));
|
||||
_(CYGETDEFTIMEOUT, WRITE, sizeof(int));
|
||||
diff --git a/lib/sanitizer_common/sanitizer_common_syscalls.inc b/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||
index 469c8eb7e..24f87867d 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||
+++ b/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||
@@ -2038,7 +2038,7 @@ POST_SYSCALL(setrlimit)(long res, long resource, void *rlim) {
|
||||
}
|
||||
}
|
||||
|
||||
-#if !SANITIZER_ANDROID
|
||||
+#if !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
PRE_SYSCALL(prlimit64)(long pid, long resource, const void *new_rlim,
|
||||
void *old_rlim) {
|
||||
if (new_rlim) PRE_READ(new_rlim, struct_rlimit64_sz);
|
||||
diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||
index f99f0b594..3a773a94e 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||
+++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||
@@ -152,7 +152,7 @@ bool SanitizerGetThreadName(char *name, int max_len) {
|
||||
#endif
|
||||
}
|
||||
|
||||
-#if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO
|
||||
+#if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && !SANITIZER_NONGNU
|
||||
static uptr g_tls_size;
|
||||
|
||||
#ifdef __i386__
|
||||
@@ -180,11 +180,11 @@ void InitTlsSize() {
|
||||
}
|
||||
#else
|
||||
void InitTlsSize() { }
|
||||
-#endif // !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO
|
||||
+#endif // !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && !SANITIZER_NONGNU
|
||||
|
||||
#if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) \
|
||||
|| defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__)) \
|
||||
- && SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+ && SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
// sizeof(struct pthread) from glibc.
|
||||
static atomic_uintptr_t kThreadDescriptorSize;
|
||||
|
||||
@@ -338,7 +338,7 @@ uptr ThreadSelf() {
|
||||
|
||||
#if !SANITIZER_GO
|
||||
static void GetTls(uptr *addr, uptr *size) {
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
# if defined(__x86_64__) || defined(__i386__) || defined(__s390__)
|
||||
*addr = ThreadSelf();
|
||||
*size = GetTlsSize();
|
||||
@@ -364,7 +364,7 @@ static void GetTls(uptr *addr, uptr *size) {
|
||||
*addr = (uptr) dtv[2];
|
||||
*size = (*addr == 0) ? 0 : ((uptr) segbase[0] - (uptr) dtv[2]);
|
||||
}
|
||||
-#elif SANITIZER_ANDROID
|
||||
+#elif SANITIZER_ANDROID || SANITIZER_NONGNU
|
||||
*addr = 0;
|
||||
*size = 0;
|
||||
#else
|
||||
@@ -375,7 +375,7 @@ static void GetTls(uptr *addr, uptr *size) {
|
||||
|
||||
#if !SANITIZER_GO
|
||||
uptr GetTlsSize() {
|
||||
-#if SANITIZER_FREEBSD || SANITIZER_ANDROID
|
||||
+#if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NONGNU
|
||||
uptr addr, size;
|
||||
GetTls(&addr, &size);
|
||||
return size;
|
||||
diff --git a/lib/sanitizer_common/sanitizer_platform.h b/lib/sanitizer_common/sanitizer_platform.h
|
||||
index d9a8e8df1..fe01c5744 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_platform.h
|
||||
+++ b/lib/sanitizer_common/sanitizer_platform.h
|
||||
@@ -162,6 +162,13 @@
|
||||
# define SANITIZER_PPC64V2 0
|
||||
#endif
|
||||
|
||||
+
|
||||
+#if defined(__linux__) && !defined(__GLIBC__)
|
||||
+# define SANITIZER_NONGNU 1
|
||||
+#else
|
||||
+# define SANITIZER_NONGNU 0
|
||||
+#endif
|
||||
+
|
||||
// By default we allow to use SizeClassAllocator64 on 64-bit platform.
|
||||
// But in some cases (e.g. AArch64's 39-bit address space) SizeClassAllocator64
|
||||
// does not work well and we need to fallback to SizeClassAllocator32.
|
||||
diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
index 62875d11a..212e6e882 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
+++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
@@ -23,7 +23,7 @@
|
||||
# define SI_NOT_WINDOWS 0
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
# define SI_LINUX_NOT_ANDROID 1
|
||||
#else
|
||||
# define SI_LINUX_NOT_ANDROID 0
|
||||
diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
index 683f019d7..fd4880962 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
@@ -14,6 +14,8 @@
|
||||
|
||||
#include "sanitizer_platform.h"
|
||||
|
||||
+#define _LINUX_SYSINFO_H
|
||||
+
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC
|
||||
// Tests in this file assume that off_t-dependent data structures match the
|
||||
// libc ABI. For example, struct dirent here is what readdir() function (as
|
||||
@@ -139,12 +141,14 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
#include <glob.h>
|
||||
-#include <obstack.h>
|
||||
+# if !SANITIZER_NONGNU
|
||||
+# include <obstack.h>
|
||||
+# endif
|
||||
#include <mqueue.h>
|
||||
-#include <net/if_ppp.h>
|
||||
-#include <netax25/ax25.h>
|
||||
-#include <netipx/ipx.h>
|
||||
-#include <netrom/netrom.h>
|
||||
+#include <linux/if_ppp.h>
|
||||
+#include <linux/ax25.h>
|
||||
+#include <linux/ipx.h>
|
||||
+#include <linux/netrom.h>
|
||||
#if HAVE_RPC_XDR_H
|
||||
# include <rpc/xdr.h>
|
||||
#elif HAVE_TIRPC_RPC_XDR_H
|
||||
@@ -160,7 +164,8 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||
# include <sys/procfs.h>
|
||||
#endif
|
||||
#include <sys/user.h>
|
||||
-#include <sys/ustat.h>
|
||||
+// #include <sys/ustat.h>
|
||||
+#include <sys/statfs.h>
|
||||
#include <linux/cyclades.h>
|
||||
#include <linux/if_eql.h>
|
||||
#include <linux/if_plip.h>
|
||||
@@ -252,7 +257,7 @@ namespace __sanitizer {
|
||||
unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
unsigned struct_ustat_sz = sizeof(struct ustat);
|
||||
unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
|
||||
unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
|
||||
@@ -310,7 +315,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr));
|
||||
unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
#endif
|
||||
|
||||
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
int glob_nomatch = GLOB_NOMATCH;
|
||||
int glob_altdirfunc = GLOB_ALTDIRFUNC;
|
||||
#endif
|
||||
@@ -404,7 +409,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned struct_termios_sz = sizeof(struct termios);
|
||||
unsigned struct_winsize_sz = sizeof(struct winsize);
|
||||
|
||||
-#if SANITIZER_LINUX
|
||||
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
unsigned struct_arpreq_sz = sizeof(struct arpreq);
|
||||
unsigned struct_cdrom_msf_sz = sizeof(struct cdrom_msf);
|
||||
unsigned struct_cdrom_multisession_sz = sizeof(struct cdrom_multisession);
|
||||
@@ -454,7 +459,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
|
||||
unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
|
||||
#if EV_VERSION > (0x010000)
|
||||
@@ -822,7 +827,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE;
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
|
||||
unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
|
||||
unsigned IOCTL_CYGETMON = CYGETMON;
|
||||
@@ -985,7 +990,7 @@ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phdr);
|
||||
CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phnum);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
CHECK_TYPE_SIZE(glob_t);
|
||||
CHECK_SIZE_AND_OFFSET(glob_t, gl_pathc);
|
||||
CHECK_SIZE_AND_OFFSET(glob_t, gl_pathv);
|
||||
@@ -1019,6 +1024,7 @@ CHECK_TYPE_SIZE(iovec);
|
||||
CHECK_SIZE_AND_OFFSET(iovec, iov_base);
|
||||
CHECK_SIZE_AND_OFFSET(iovec, iov_len);
|
||||
|
||||
+#if !SANITIZER_NONGNU
|
||||
CHECK_TYPE_SIZE(msghdr);
|
||||
CHECK_SIZE_AND_OFFSET(msghdr, msg_name);
|
||||
CHECK_SIZE_AND_OFFSET(msghdr, msg_namelen);
|
||||
@@ -1032,6 +1038,7 @@ CHECK_TYPE_SIZE(cmsghdr);
|
||||
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len);
|
||||
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level);
|
||||
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type);
|
||||
+#endif
|
||||
|
||||
COMPILER_CHECK(sizeof(__sanitizer_dirent) <= sizeof(dirent));
|
||||
CHECK_SIZE_AND_OFFSET(dirent, d_ino);
|
||||
@@ -1134,7 +1141,7 @@ CHECK_SIZE_AND_OFFSET(mntent, mnt_passno);
|
||||
|
||||
CHECK_TYPE_SIZE(ether_addr);
|
||||
|
||||
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
CHECK_TYPE_SIZE(ipc_perm);
|
||||
# if SANITIZER_FREEBSD
|
||||
CHECK_SIZE_AND_OFFSET(ipc_perm, key);
|
||||
@@ -1195,7 +1202,7 @@ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_dstaddr);
|
||||
CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_data);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX
|
||||
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
COMPILER_CHECK(sizeof(__sanitizer_mallinfo) == sizeof(struct mallinfo));
|
||||
#endif
|
||||
|
||||
@@ -1245,7 +1252,7 @@ COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE);
|
||||
COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
COMPILER_CHECK(sizeof(__sanitizer_FILE) <= sizeof(FILE));
|
||||
CHECK_SIZE_AND_OFFSET(FILE, _flags);
|
||||
CHECK_SIZE_AND_OFFSET(FILE, _IO_read_ptr);
|
||||
@@ -1264,7 +1271,7 @@ CHECK_SIZE_AND_OFFSET(FILE, _chain);
|
||||
CHECK_SIZE_AND_OFFSET(FILE, _fileno);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
COMPILER_CHECK(sizeof(__sanitizer__obstack_chunk) <= sizeof(_obstack_chunk));
|
||||
CHECK_SIZE_AND_OFFSET(_obstack_chunk, limit);
|
||||
CHECK_SIZE_AND_OFFSET(_obstack_chunk, prev);
|
||||
diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc
|
||||
index 3313288a7..103c7b6b9 100644
|
||||
--- a/lib/tsan/rtl/tsan_platform_linux.cc
|
||||
+++ b/lib/tsan/rtl/tsan_platform_linux.cc
|
||||
@@ -287,7 +287,7 @@ void InitializePlatform() {
|
||||
// This is required to properly "close" the fds, because we do not see internal
|
||||
// closes within glibc. The code is a pure hack.
|
||||
int ExtractResolvFDs(void *state, int *fds, int nfd) {
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
int cnt = 0;
|
||||
__res_state *statp = (__res_state*)state;
|
||||
for (int i = 0; i < MAXNS && cnt < nfd; i++) {
|
||||
--
|
||||
2.16.2
|
||||
|
@ -79,6 +79,7 @@ in stdenv.mkDerivation (rec {
|
||||
substituteInPlace unittests/Support/CMakeLists.txt \
|
||||
--replace "add_subdirectory(DynamicLibrary)" ""
|
||||
rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
|
||||
patch -p1 -i ${./sanitizers-nongnu.patch} -d projects/compiler-rt
|
||||
'';
|
||||
|
||||
# hacky fix: created binaries need to be run before installation
|
||||
@ -114,9 +115,6 @@ in stdenv.mkDerivation (rec {
|
||||
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}"
|
||||
"-DTARGET_TRIPLE=${stdenv.targetPlatform.config}"
|
||||
|
||||
"-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
|
||||
"-DCOMPILER_RT_BUILD_XRAY=OFF"
|
||||
];
|
||||
|
||||
postBuild = ''
|
||||
|
370
pkgs/development/compilers/llvm/5/sanitizers-nongnu.patch
Normal file
370
pkgs/development/compilers/llvm/5/sanitizers-nongnu.patch
Normal file
@ -0,0 +1,370 @@
|
||||
From 3e1fcb7d4909db8f0f7dd0109b2eee20115c8be3 Mon Sep 17 00:00:00 2001
|
||||
From: "Jory A. Pratt" <anarchy@gentoo.org>
|
||||
Date: Sat, 9 Sep 2017 08:31:15 -0500
|
||||
Subject: [PATCH] Ported to compiler-rt-sanitizers-5.0.0. Taken from
|
||||
|
||||
https://gist.githubusercontent.com/pwaller/2337f3290f12634cad3e3730cff0a6c1/raw/83c87a8585e2f9662494db5662e5361beb093c26/nongnu.patch
|
||||
Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
|
||||
|
||||
Taken from gentoo-musl project, with a few additional minor fixes.
|
||||
---
|
||||
lib/asan/asan_linux.cc | 4 +--
|
||||
lib/interception/interception_linux.cc | 2 +-
|
||||
lib/interception/interception_linux.h | 2 +-
|
||||
lib/msan/msan_linux.cc | 2 +-
|
||||
.../sanitizer_common_interceptors_ioctl.inc | 4 +--
|
||||
lib/sanitizer_common/sanitizer_common_syscalls.inc | 2 +-
|
||||
lib/sanitizer_common/sanitizer_linux_libcdep.cc | 12 +++----
|
||||
lib/sanitizer_common/sanitizer_platform.h | 7 ++++
|
||||
.../sanitizer_platform_interceptors.h | 2 +-
|
||||
.../sanitizer_platform_limits_posix.cc | 40 +++++++++++++---------
|
||||
lib/tsan/rtl/tsan_platform_linux.cc | 2 +-
|
||||
11 files changed, 47 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
|
||||
index 6d47ba432..c58dd4864 100644
|
||||
--- a/lib/asan/asan_linux.cc
|
||||
+++ b/lib/asan/asan_linux.cc
|
||||
@@ -39,7 +39,7 @@
|
||||
#include <sys/link_elf.h>
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_ANDROID || SANITIZER_FREEBSD
|
||||
+#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_NONGNU
|
||||
#include <ucontext.h>
|
||||
extern "C" void* _DYNAMIC;
|
||||
#else
|
||||
@@ -86,7 +86,7 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle) {
|
||||
UNIMPLEMENTED();
|
||||
}
|
||||
|
||||
-#if SANITIZER_ANDROID
|
||||
+#if SANITIZER_ANDROID || SANITIZER_NONGNU
|
||||
// FIXME: should we do anything for Android?
|
||||
void AsanCheckDynamicRTPrereqs() {}
|
||||
void AsanCheckIncompatibleRT() {}
|
||||
diff --git a/lib/interception/interception_linux.cc b/lib/interception/interception_linux.cc
|
||||
index 6e908ac01..76c1688ce 100644
|
||||
--- a/lib/interception/interception_linux.cc
|
||||
+++ b/lib/interception/interception_linux.cc
|
||||
@@ -24,7 +24,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr,
|
||||
return real == wrapper;
|
||||
}
|
||||
|
||||
-#if !defined(__ANDROID__) // android does not have dlvsym
|
||||
+#if !defined(__ANDROID__) && defined(__GLIBC__) // android does not have dlvsym
|
||||
void *GetFuncAddrVer(const char *func_name, const char *ver) {
|
||||
return dlvsym(RTLD_NEXT, func_name, ver);
|
||||
}
|
||||
diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h
|
||||
index 27a66c882..f60c38991 100644
|
||||
--- a/lib/interception/interception_linux.h
|
||||
+++ b/lib/interception/interception_linux.h
|
||||
@@ -34,7 +34,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
|
||||
(::__interception::uptr) & (func), \
|
||||
(::__interception::uptr) & WRAP(func))
|
||||
|
||||
-#if !defined(__ANDROID__) // android does not have dlvsym
|
||||
+#if !defined(__ANDROID__) && !SANITIZER_NONGNU // android does not have dlvsym
|
||||
#define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \
|
||||
(::__interception::real_##func = (func##_f)( \
|
||||
unsigned long)::__interception::GetFuncAddrVer(#func, symver))
|
||||
diff --git a/lib/msan/msan_linux.cc b/lib/msan/msan_linux.cc
|
||||
index 0a687f620..0852d97d7 100644
|
||||
--- a/lib/msan/msan_linux.cc
|
||||
+++ b/lib/msan/msan_linux.cc
|
||||
@@ -13,7 +13,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "sanitizer_common/sanitizer_platform.h"
|
||||
-#if SANITIZER_FREEBSD || SANITIZER_LINUX
|
||||
+#if SANITIZER_FREEBSD || SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
|
||||
#include "msan.h"
|
||||
#include "msan_thread.h"
|
||||
diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||
index 4ed9afedf..64f584e93 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||
+++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||
@@ -100,7 +100,7 @@ static void ioctl_table_fill() {
|
||||
_(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX
|
||||
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
// Conflicting request ids.
|
||||
// _(CDROMAUDIOBUFSIZ, NONE, 0);
|
||||
// _(SNDCTL_TMR_CONTINUE, NONE, 0);
|
||||
@@ -361,7 +361,7 @@ static void ioctl_table_fill() {
|
||||
_(VT_WAITACTIVE, NONE, 0);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
// _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
|
||||
_(CYGETDEFTHRESH, WRITE, sizeof(int));
|
||||
_(CYGETDEFTIMEOUT, WRITE, sizeof(int));
|
||||
diff --git a/lib/sanitizer_common/sanitizer_common_syscalls.inc b/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||
index 469c8eb7e..24f87867d 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||
+++ b/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||
@@ -2038,7 +2038,7 @@ POST_SYSCALL(setrlimit)(long res, long resource, void *rlim) {
|
||||
}
|
||||
}
|
||||
|
||||
-#if !SANITIZER_ANDROID
|
||||
+#if !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
PRE_SYSCALL(prlimit64)(long pid, long resource, const void *new_rlim,
|
||||
void *old_rlim) {
|
||||
if (new_rlim) PRE_READ(new_rlim, struct_rlimit64_sz);
|
||||
diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||
index 52196db12..045d9331f 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||
+++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||
@@ -148,7 +148,7 @@ bool SanitizerGetThreadName(char *name, int max_len) {
|
||||
#endif
|
||||
}
|
||||
|
||||
-#if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO
|
||||
+#if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && !SANITIZER_NONGNU
|
||||
static uptr g_tls_size;
|
||||
|
||||
#ifdef __i386__
|
||||
@@ -176,11 +176,11 @@ void InitTlsSize() {
|
||||
}
|
||||
#else
|
||||
void InitTlsSize() { }
|
||||
-#endif // !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO
|
||||
+#endif // !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && !SANITIZER_NONGNU
|
||||
|
||||
#if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) \
|
||||
|| defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__) \
|
||||
- || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+ || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
// sizeof(struct pthread) from glibc.
|
||||
static atomic_uintptr_t kThreadDescriptorSize;
|
||||
|
||||
@@ -335,7 +335,7 @@ uptr ThreadSelf() {
|
||||
|
||||
#if !SANITIZER_GO
|
||||
static void GetTls(uptr *addr, uptr *size) {
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
# if defined(__x86_64__) || defined(__i386__) || defined(__s390__)
|
||||
*addr = ThreadSelf();
|
||||
*size = GetTlsSize();
|
||||
@@ -362,7 +362,7 @@ static void GetTls(uptr *addr, uptr *size) {
|
||||
*addr = (uptr) dtv[2];
|
||||
*size = (*addr == 0) ? 0 : ((uptr) segbase[0] - (uptr) dtv[2]);
|
||||
}
|
||||
-#elif SANITIZER_ANDROID
|
||||
+#elif SANITIZER_ANDROID || SANITIZER_NONGNU
|
||||
*addr = 0;
|
||||
*size = 0;
|
||||
#else
|
||||
@@ -373,7 +373,7 @@ static void GetTls(uptr *addr, uptr *size) {
|
||||
|
||||
#if !SANITIZER_GO
|
||||
uptr GetTlsSize() {
|
||||
-#if SANITIZER_FREEBSD || SANITIZER_ANDROID
|
||||
+#if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NONGNU
|
||||
uptr addr, size;
|
||||
GetTls(&addr, &size);
|
||||
return size;
|
||||
diff --git a/lib/sanitizer_common/sanitizer_platform.h b/lib/sanitizer_common/sanitizer_platform.h
|
||||
index 396f7c934..5af6f1ed5 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_platform.h
|
||||
+++ b/lib/sanitizer_common/sanitizer_platform.h
|
||||
@@ -175,6 +175,13 @@
|
||||
# define SANITIZER_ARM 0
|
||||
#endif
|
||||
|
||||
+
|
||||
+#if defined(__linux__) && !defined(__GLIBC__)
|
||||
+# define SANITIZER_NONGNU 1
|
||||
+#else
|
||||
+# define SANITIZER_NONGNU 0
|
||||
+#endif
|
||||
+
|
||||
// By default we allow to use SizeClassAllocator64 on 64-bit platform.
|
||||
// But in some cases (e.g. AArch64's 39-bit address space) SizeClassAllocator64
|
||||
// does not work well and we need to fallback to SizeClassAllocator32.
|
||||
diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
index 0380cee92..0a39abbd0 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
+++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
@@ -31,7 +31,7 @@
|
||||
# define SI_POSIX 0
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
# define SI_LINUX_NOT_ANDROID 1
|
||||
#else
|
||||
# define SI_LINUX_NOT_ANDROID 0
|
||||
diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
index 83f4fd22f..fa8c1b8bd 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
@@ -14,6 +14,9 @@
|
||||
|
||||
#include "sanitizer_platform.h"
|
||||
|
||||
+// Workaround musl <--> linux conflicting definition of 'struct sysinfo'
|
||||
+#define _LINUX_SYSINFO_H
|
||||
+
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC
|
||||
// Tests in this file assume that off_t-dependent data structures match the
|
||||
// libc ABI. For example, struct dirent here is what readdir() function (as
|
||||
@@ -138,12 +141,14 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
#include <glob.h>
|
||||
-#include <obstack.h>
|
||||
+# if !SANITIZER_NONGNU
|
||||
+# include <obstack.h>
|
||||
+# endif
|
||||
#include <mqueue.h>
|
||||
-#include <net/if_ppp.h>
|
||||
-#include <netax25/ax25.h>
|
||||
-#include <netipx/ipx.h>
|
||||
-#include <netrom/netrom.h>
|
||||
+#include <linux/if_ppp.h>
|
||||
+#include <linux/ax25.h>
|
||||
+#include <linux/ipx.h>
|
||||
+#include <linux/netrom.h>
|
||||
#if HAVE_RPC_XDR_H
|
||||
# include <rpc/xdr.h>
|
||||
#elif HAVE_TIRPC_RPC_XDR_H
|
||||
@@ -159,7 +164,8 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||
# include <sys/procfs.h>
|
||||
#endif
|
||||
#include <sys/user.h>
|
||||
-#include <sys/ustat.h>
|
||||
+// #include <sys/ustat.h>
|
||||
+#include <sys/statfs.h>
|
||||
#include <linux/cyclades.h>
|
||||
#include <linux/if_eql.h>
|
||||
#include <linux/if_plip.h>
|
||||
@@ -251,7 +257,7 @@ namespace __sanitizer {
|
||||
unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
unsigned struct_ustat_sz = sizeof(struct ustat);
|
||||
unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
|
||||
unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
|
||||
@@ -309,7 +315,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr));
|
||||
unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
#endif
|
||||
|
||||
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
int glob_nomatch = GLOB_NOMATCH;
|
||||
int glob_altdirfunc = GLOB_ALTDIRFUNC;
|
||||
#endif
|
||||
@@ -403,7 +409,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned struct_termios_sz = sizeof(struct termios);
|
||||
unsigned struct_winsize_sz = sizeof(struct winsize);
|
||||
|
||||
-#if SANITIZER_LINUX
|
||||
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
unsigned struct_arpreq_sz = sizeof(struct arpreq);
|
||||
unsigned struct_cdrom_msf_sz = sizeof(struct cdrom_msf);
|
||||
unsigned struct_cdrom_multisession_sz = sizeof(struct cdrom_multisession);
|
||||
@@ -453,7 +459,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
|
||||
unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
|
||||
#if EV_VERSION > (0x010000)
|
||||
@@ -821,7 +827,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE;
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
|
||||
unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
|
||||
unsigned IOCTL_CYGETMON = CYGETMON;
|
||||
@@ -976,7 +982,7 @@ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phdr);
|
||||
CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phnum);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
CHECK_TYPE_SIZE(glob_t);
|
||||
CHECK_SIZE_AND_OFFSET(glob_t, gl_pathc);
|
||||
CHECK_SIZE_AND_OFFSET(glob_t, gl_pathv);
|
||||
@@ -1010,6 +1016,7 @@ CHECK_TYPE_SIZE(iovec);
|
||||
CHECK_SIZE_AND_OFFSET(iovec, iov_base);
|
||||
CHECK_SIZE_AND_OFFSET(iovec, iov_len);
|
||||
|
||||
+#if !SANITIZER_NONGNU
|
||||
CHECK_TYPE_SIZE(msghdr);
|
||||
CHECK_SIZE_AND_OFFSET(msghdr, msg_name);
|
||||
CHECK_SIZE_AND_OFFSET(msghdr, msg_namelen);
|
||||
@@ -1023,6 +1030,7 @@ CHECK_TYPE_SIZE(cmsghdr);
|
||||
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len);
|
||||
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level);
|
||||
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type);
|
||||
+#endif
|
||||
|
||||
COMPILER_CHECK(sizeof(__sanitizer_dirent) <= sizeof(dirent));
|
||||
CHECK_SIZE_AND_OFFSET(dirent, d_ino);
|
||||
@@ -1125,7 +1133,7 @@ CHECK_SIZE_AND_OFFSET(mntent, mnt_passno);
|
||||
|
||||
CHECK_TYPE_SIZE(ether_addr);
|
||||
|
||||
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
CHECK_TYPE_SIZE(ipc_perm);
|
||||
# if SANITIZER_FREEBSD
|
||||
CHECK_SIZE_AND_OFFSET(ipc_perm, key);
|
||||
@@ -1186,7 +1194,7 @@ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_dstaddr);
|
||||
CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_data);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX
|
||||
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
COMPILER_CHECK(sizeof(__sanitizer_mallinfo) == sizeof(struct mallinfo));
|
||||
#endif
|
||||
|
||||
@@ -1236,7 +1244,7 @@ COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE);
|
||||
COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
COMPILER_CHECK(sizeof(__sanitizer_FILE) <= sizeof(FILE));
|
||||
CHECK_SIZE_AND_OFFSET(FILE, _flags);
|
||||
CHECK_SIZE_AND_OFFSET(FILE, _IO_read_ptr);
|
||||
@@ -1255,7 +1263,7 @@ CHECK_SIZE_AND_OFFSET(FILE, _chain);
|
||||
CHECK_SIZE_AND_OFFSET(FILE, _fileno);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
COMPILER_CHECK(sizeof(__sanitizer__obstack_chunk) <= sizeof(_obstack_chunk));
|
||||
CHECK_SIZE_AND_OFFSET(_obstack_chunk, limit);
|
||||
CHECK_SIZE_AND_OFFSET(_obstack_chunk, prev);
|
||||
diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc
|
||||
index ead1e5704..2c020e3fe 100644
|
||||
--- a/lib/tsan/rtl/tsan_platform_linux.cc
|
||||
+++ b/lib/tsan/rtl/tsan_platform_linux.cc
|
||||
@@ -284,7 +284,7 @@ void InitializePlatform() {
|
||||
// This is required to properly "close" the fds, because we do not see internal
|
||||
// closes within glibc. The code is a pure hack.
|
||||
int ExtractResolvFDs(void *state, int *fds, int nfd) {
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
int cnt = 0;
|
||||
struct __res_state *statp = (struct __res_state*)state;
|
||||
for (int i = 0; i < MAXNS && cnt < nfd; i++) {
|
||||
--
|
||||
2.16.2
|
||||
|
@ -78,6 +78,7 @@ in stdenv.mkDerivation (rec {
|
||||
substituteInPlace unittests/Support/CMakeLists.txt \
|
||||
--replace "add_subdirectory(DynamicLibrary)" ""
|
||||
rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
|
||||
patch -p1 -i ${./sanitizers-nongnu.patch} -d projects/compiler-rt
|
||||
'';
|
||||
|
||||
# hacky fix: created binaries need to be run before installation
|
||||
@ -113,9 +114,6 @@ in stdenv.mkDerivation (rec {
|
||||
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}"
|
||||
"-DTARGET_TRIPLE=${stdenv.targetPlatform.config}"
|
||||
|
||||
"-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
|
||||
"-DCOMPILER_RT_BUILD_XRAY=OFF"
|
||||
] ++ stdenv.lib.optional enableWasm
|
||||
"-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
|
||||
;
|
||||
|
377
pkgs/development/compilers/llvm/6/sanitizers-nongnu.patch
Normal file
377
pkgs/development/compilers/llvm/6/sanitizers-nongnu.patch
Normal file
@ -0,0 +1,377 @@
|
||||
From 8c74f8274369f527f2ada3772f4a0b406cb481ec Mon Sep 17 00:00:00 2001
|
||||
From: "Jory A. Pratt" <anarchy@gentoo.org>
|
||||
Date: Sat, 9 Sep 2017 08:31:15 -0500
|
||||
Subject: [PATCH] Ported to 6.0, taken from gentoo-musl project.
|
||||
|
||||
------
|
||||
Ported to compiler-rt-sanitizers-5.0.0. Taken from
|
||||
|
||||
https://gist.githubusercontent.com/pwaller/2337f3290f12634cad3e3730cff0a6c1/raw/83c87a8585e2f9662494db5662e5361beb093c26/nongnu.patch
|
||||
Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
|
||||
|
||||
Taken from gentoo-musl project, with a few additional minor fixes.
|
||||
---
|
||||
lib/asan/asan_linux.cc | 4 +--
|
||||
lib/interception/interception_linux.cc | 2 +-
|
||||
lib/interception/interception_linux.h | 3 +-
|
||||
lib/msan/msan_linux.cc | 2 +-
|
||||
.../sanitizer_common_interceptors_ioctl.inc | 4 +--
|
||||
lib/sanitizer_common/sanitizer_common_syscalls.inc | 2 +-
|
||||
lib/sanitizer_common/sanitizer_linux_libcdep.cc | 10 +++---
|
||||
lib/sanitizer_common/sanitizer_platform.h | 6 ++++
|
||||
.../sanitizer_platform_interceptors.h | 4 +--
|
||||
.../sanitizer_platform_limits_posix.cc | 40 +++++++++++++---------
|
||||
lib/tsan/rtl/tsan_platform_linux.cc | 2 +-
|
||||
11 files changed, 46 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
|
||||
index 625f32d40..73cf77aca 100644
|
||||
--- a/lib/asan/asan_linux.cc
|
||||
+++ b/lib/asan/asan_linux.cc
|
||||
@@ -46,7 +46,7 @@
|
||||
#include <link.h>
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS
|
||||
+#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU
|
||||
#include <ucontext.h>
|
||||
extern "C" void* _DYNAMIC;
|
||||
#elif SANITIZER_NETBSD
|
||||
@@ -139,7 +139,7 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle) {
|
||||
UNIMPLEMENTED();
|
||||
}
|
||||
|
||||
-#if SANITIZER_ANDROID
|
||||
+#if SANITIZER_ANDROID || SANITIZER_NONGNU
|
||||
// FIXME: should we do anything for Android?
|
||||
void AsanCheckDynamicRTPrereqs() {}
|
||||
void AsanCheckIncompatibleRT() {}
|
||||
diff --git a/lib/interception/interception_linux.cc b/lib/interception/interception_linux.cc
|
||||
index c991550a4..2b706418b 100644
|
||||
--- a/lib/interception/interception_linux.cc
|
||||
+++ b/lib/interception/interception_linux.cc
|
||||
@@ -43,7 +43,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr,
|
||||
}
|
||||
|
||||
// Android and Solaris do not have dlvsym
|
||||
-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS
|
||||
+#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
|
||||
void *GetFuncAddrVer(const char *func_name, const char *ver) {
|
||||
return dlvsym(RTLD_NEXT, func_name, ver);
|
||||
}
|
||||
diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h
|
||||
index 98fe51b85..c13302b98 100644
|
||||
--- a/lib/interception/interception_linux.h
|
||||
+++ b/lib/interception/interception_linux.h
|
||||
@@ -35,8 +35,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
|
||||
(::__interception::uptr) & (func), \
|
||||
(::__interception::uptr) & WRAP(func))
|
||||
|
||||
-// Android and Solaris do not have dlvsym
|
||||
-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS
|
||||
+#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
|
||||
#define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \
|
||||
(::__interception::real_##func = (func##_f)( \
|
||||
unsigned long)::__interception::GetFuncAddrVer(#func, symver))
|
||||
diff --git a/lib/msan/msan_linux.cc b/lib/msan/msan_linux.cc
|
||||
index 4e6321fcb..4d50feb82 100644
|
||||
--- a/lib/msan/msan_linux.cc
|
||||
+++ b/lib/msan/msan_linux.cc
|
||||
@@ -13,7 +13,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "sanitizer_common/sanitizer_platform.h"
|
||||
-#if SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_NETBSD
|
||||
+#if SANITIZER_FREEBSD || (SANITIZER_LINUX && !SANITIZER_NONGNU) || SANITIZER_NETBSD
|
||||
|
||||
#include "msan.h"
|
||||
#include "msan_thread.h"
|
||||
diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||
index 24e7548a5..20259b1d6 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||
+++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||
@@ -102,7 +102,7 @@ static void ioctl_table_fill() {
|
||||
_(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX
|
||||
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
// Conflicting request ids.
|
||||
// _(CDROMAUDIOBUFSIZ, NONE, 0);
|
||||
// _(SNDCTL_TMR_CONTINUE, NONE, 0);
|
||||
@@ -363,7 +363,7 @@ static void ioctl_table_fill() {
|
||||
_(VT_WAITACTIVE, NONE, 0);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
// _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
|
||||
_(CYGETDEFTHRESH, WRITE, sizeof(int));
|
||||
_(CYGETDEFTIMEOUT, WRITE, sizeof(int));
|
||||
diff --git a/lib/sanitizer_common/sanitizer_common_syscalls.inc b/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||
index 469c8eb7e..24f87867d 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||
+++ b/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||
@@ -2038,7 +2038,7 @@ POST_SYSCALL(setrlimit)(long res, long resource, void *rlim) {
|
||||
}
|
||||
}
|
||||
|
||||
-#if !SANITIZER_ANDROID
|
||||
+#if !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
PRE_SYSCALL(prlimit64)(long pid, long resource, const void *new_rlim,
|
||||
void *old_rlim) {
|
||||
if (new_rlim) PRE_READ(new_rlim, struct_rlimit64_sz);
|
||||
diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||
index 56fdfc870..a932d5db1 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||
+++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||
@@ -174,7 +174,7 @@ bool SanitizerGetThreadName(char *name, int max_len) {
|
||||
}
|
||||
|
||||
#if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && \
|
||||
- !SANITIZER_NETBSD && !SANITIZER_SOLARIS
|
||||
+ !SANITIZER_NETBSD && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
|
||||
static uptr g_tls_size;
|
||||
|
||||
#ifdef __i386__
|
||||
@@ -207,7 +207,7 @@ void InitTlsSize() { }
|
||||
|
||||
#if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) \
|
||||
|| defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__) \
|
||||
- || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+ || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
// sizeof(struct pthread) from glibc.
|
||||
static atomic_uintptr_t kThreadDescriptorSize;
|
||||
|
||||
@@ -391,7 +391,7 @@ int GetSizeFromHdr(struct dl_phdr_info *info, size_t size, void *data) {
|
||||
|
||||
#if !SANITIZER_GO
|
||||
static void GetTls(uptr *addr, uptr *size) {
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
# if defined(__x86_64__) || defined(__i386__) || defined(__s390__)
|
||||
*addr = ThreadSelf();
|
||||
*size = GetTlsSize();
|
||||
@@ -432,7 +432,7 @@ static void GetTls(uptr *addr, uptr *size) {
|
||||
*addr = (uptr)tcb->tcb_dtv[1];
|
||||
}
|
||||
}
|
||||
-#elif SANITIZER_ANDROID
|
||||
+#elif SANITIZER_ANDROID || SANITIZER_NONGNU
|
||||
*addr = 0;
|
||||
*size = 0;
|
||||
#elif SANITIZER_SOLARIS
|
||||
@@ -448,7 +448,7 @@ static void GetTls(uptr *addr, uptr *size) {
|
||||
#if !SANITIZER_GO
|
||||
uptr GetTlsSize() {
|
||||
#if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NETBSD || \
|
||||
- SANITIZER_SOLARIS
|
||||
+ SANITIZER_SOLARIS || SANITIZER_NONGNU
|
||||
uptr addr, size;
|
||||
GetTls(&addr, &size);
|
||||
return size;
|
||||
diff --git a/lib/sanitizer_common/sanitizer_platform.h b/lib/sanitizer_common/sanitizer_platform.h
|
||||
index 334903c26..fc2afac2c 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_platform.h
|
||||
+++ b/lib/sanitizer_common/sanitizer_platform.h
|
||||
@@ -195,6 +195,12 @@
|
||||
# define SANITIZER_SOLARIS32 0
|
||||
#endif
|
||||
|
||||
+#if defined(__linux__) && !defined(__GLIBC__)
|
||||
+# define SANITIZER_NONGNU 1
|
||||
+#else
|
||||
+# define SANITIZER_NONGNU 0
|
||||
+#endif
|
||||
+
|
||||
// By default we allow to use SizeClassAllocator64 on 64-bit platform.
|
||||
// But in some cases (e.g. AArch64's 39-bit address space) SizeClassAllocator64
|
||||
// does not work well and we need to fallback to SizeClassAllocator32.
|
||||
diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
index b99ac4480..628d226a1 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
+++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
@@ -38,7 +38,7 @@
|
||||
# include "sanitizer_platform_limits_solaris.h"
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
# define SI_LINUX_NOT_ANDROID 1
|
||||
#else
|
||||
# define SI_LINUX_NOT_ANDROID 0
|
||||
@@ -291,7 +291,7 @@
|
||||
(SI_FREEBSD || SI_MAC || SI_LINUX_NOT_ANDROID)
|
||||
#define SANITIZER_INTERCEPT_ETHER_R (SI_FREEBSD || SI_LINUX_NOT_ANDROID)
|
||||
#define SANITIZER_INTERCEPT_SHMCTL \
|
||||
- (SI_NETBSD || SI_SOLARIS || ((SI_FREEBSD || SI_LINUX_NOT_ANDROID) && \
|
||||
+ (SI_NETBSD || SI_SOLARIS || ((SI_FREEBSD || SI_LINUX_NOT_ANDROID || SANITIZER_NONGNU) && \
|
||||
SANITIZER_WORDSIZE == 64)) // NOLINT
|
||||
#define SANITIZER_INTERCEPT_RANDOM_R SI_LINUX_NOT_ANDROID
|
||||
#define SANITIZER_INTERCEPT_PTHREAD_ATTR_GET SI_POSIX
|
||||
diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
index f12e8206a..8880197b0 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
@@ -14,6 +14,9 @@
|
||||
|
||||
#include "sanitizer_platform.h"
|
||||
|
||||
+// Workaround musl <--> linux conflicting definition of 'struct sysinfo'
|
||||
+#define _LINUX_SYSINFO_H
|
||||
+
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC
|
||||
// Tests in this file assume that off_t-dependent data structures match the
|
||||
// libc ABI. For example, struct dirent here is what readdir() function (as
|
||||
@@ -138,12 +141,14 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
#include <glob.h>
|
||||
-#include <obstack.h>
|
||||
+# if !SANITIZER_NONGNU
|
||||
+# include <obstack.h>
|
||||
+# endif
|
||||
#include <mqueue.h>
|
||||
-#include <net/if_ppp.h>
|
||||
-#include <netax25/ax25.h>
|
||||
-#include <netipx/ipx.h>
|
||||
-#include <netrom/netrom.h>
|
||||
+#include <linux/if_ppp.h>
|
||||
+#include <linux/ax25.h>
|
||||
+#include <linux/ipx.h>
|
||||
+#include <linux/netrom.h>
|
||||
#if HAVE_RPC_XDR_H
|
||||
# include <rpc/xdr.h>
|
||||
#elif HAVE_TIRPC_RPC_XDR_H
|
||||
@@ -159,7 +164,8 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||
# include <sys/procfs.h>
|
||||
#endif
|
||||
#include <sys/user.h>
|
||||
-#include <sys/ustat.h>
|
||||
+// #include <sys/ustat.h>
|
||||
+#include <sys/statfs.h>
|
||||
#include <linux/cyclades.h>
|
||||
#include <linux/if_eql.h>
|
||||
#include <linux/if_plip.h>
|
||||
@@ -252,7 +258,7 @@ namespace __sanitizer {
|
||||
unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
unsigned struct_ustat_sz = sizeof(struct ustat);
|
||||
unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
|
||||
unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
|
||||
@@ -311,7 +317,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr));
|
||||
unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
#endif
|
||||
|
||||
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
int glob_nomatch = GLOB_NOMATCH;
|
||||
int glob_altdirfunc = GLOB_ALTDIRFUNC;
|
||||
#endif
|
||||
@@ -405,7 +411,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned struct_termios_sz = sizeof(struct termios);
|
||||
unsigned struct_winsize_sz = sizeof(struct winsize);
|
||||
|
||||
-#if SANITIZER_LINUX
|
||||
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
unsigned struct_arpreq_sz = sizeof(struct arpreq);
|
||||
unsigned struct_cdrom_msf_sz = sizeof(struct cdrom_msf);
|
||||
unsigned struct_cdrom_multisession_sz = sizeof(struct cdrom_multisession);
|
||||
@@ -455,7 +461,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
|
||||
unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
|
||||
#if EV_VERSION > (0x010000)
|
||||
@@ -823,7 +829,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE;
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
|
||||
unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
|
||||
unsigned IOCTL_CYGETMON = CYGETMON;
|
||||
@@ -978,7 +984,7 @@ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phdr);
|
||||
CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phnum);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
CHECK_TYPE_SIZE(glob_t);
|
||||
CHECK_SIZE_AND_OFFSET(glob_t, gl_pathc);
|
||||
CHECK_SIZE_AND_OFFSET(glob_t, gl_pathv);
|
||||
@@ -1012,6 +1018,7 @@ CHECK_TYPE_SIZE(iovec);
|
||||
CHECK_SIZE_AND_OFFSET(iovec, iov_base);
|
||||
CHECK_SIZE_AND_OFFSET(iovec, iov_len);
|
||||
|
||||
+#if !SANITIZER_NONGNU
|
||||
CHECK_TYPE_SIZE(msghdr);
|
||||
CHECK_SIZE_AND_OFFSET(msghdr, msg_name);
|
||||
CHECK_SIZE_AND_OFFSET(msghdr, msg_namelen);
|
||||
@@ -1025,6 +1032,7 @@ CHECK_TYPE_SIZE(cmsghdr);
|
||||
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len);
|
||||
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level);
|
||||
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type);
|
||||
+#endif
|
||||
|
||||
COMPILER_CHECK(sizeof(__sanitizer_dirent) <= sizeof(dirent));
|
||||
CHECK_SIZE_AND_OFFSET(dirent, d_ino);
|
||||
@@ -1127,7 +1135,7 @@ CHECK_SIZE_AND_OFFSET(mntent, mnt_passno);
|
||||
|
||||
CHECK_TYPE_SIZE(ether_addr);
|
||||
|
||||
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
CHECK_TYPE_SIZE(ipc_perm);
|
||||
# if SANITIZER_FREEBSD
|
||||
CHECK_SIZE_AND_OFFSET(ipc_perm, key);
|
||||
@@ -1188,7 +1196,7 @@ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_dstaddr);
|
||||
CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_data);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX
|
||||
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
COMPILER_CHECK(sizeof(__sanitizer_mallinfo) == sizeof(struct mallinfo));
|
||||
#endif
|
||||
|
||||
@@ -1238,7 +1246,7 @@ COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE);
|
||||
COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
COMPILER_CHECK(sizeof(__sanitizer_FILE) <= sizeof(FILE));
|
||||
CHECK_SIZE_AND_OFFSET(FILE, _flags);
|
||||
CHECK_SIZE_AND_OFFSET(FILE, _IO_read_ptr);
|
||||
@@ -1257,7 +1265,7 @@ CHECK_SIZE_AND_OFFSET(FILE, _chain);
|
||||
CHECK_SIZE_AND_OFFSET(FILE, _fileno);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
COMPILER_CHECK(sizeof(__sanitizer__obstack_chunk) <= sizeof(_obstack_chunk));
|
||||
CHECK_SIZE_AND_OFFSET(_obstack_chunk, limit);
|
||||
CHECK_SIZE_AND_OFFSET(_obstack_chunk, prev);
|
||||
diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc
|
||||
index e14d5f575..389a3bc88 100644
|
||||
--- a/lib/tsan/rtl/tsan_platform_linux.cc
|
||||
+++ b/lib/tsan/rtl/tsan_platform_linux.cc
|
||||
@@ -285,7 +285,7 @@ void InitializePlatform() {
|
||||
// This is required to properly "close" the fds, because we do not see internal
|
||||
// closes within glibc. The code is a pure hack.
|
||||
int ExtractResolvFDs(void *state, int *fds, int nfd) {
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
int cnt = 0;
|
||||
struct __res_state *statp = (struct __res_state*)state;
|
||||
for (int i = 0; i < MAXNS && cnt < nfd; i++) {
|
||||
--
|
||||
2.16.2
|
||||
|
@ -88,7 +88,7 @@ stdenv.mkDerivation rec {
|
||||
meta = {
|
||||
homepage = http://mono-project.com/;
|
||||
description = "Cross platform, open source .NET development framework";
|
||||
platforms = with stdenv.lib.platforms; allBut [ "aarch64-linux" ];
|
||||
platforms = stdenv.lib.platforms.x86;
|
||||
maintainers = with stdenv.lib.maintainers; [ viric thoughtpolice obadz vrthra ];
|
||||
license = stdenv.lib.licenses.free; # Combination of LGPL/X11/GPL ?
|
||||
};
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, omake, ocaml, flex, bison }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "teyjus-2.0b2";
|
||||
name = "teyjus-2.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/teyjus/teyjus-source-2.0-b2.tar.gz";
|
||||
sha256 = "f589fb460d7095a6e674b7a6413772c41b98654c38602c3e8c477a976da99052";
|
||||
sha256 = "0llhm5nrfyj7ihz2qq1q9ijrh6y4f8vl39mpfkkad5bh1m3gp2gm";
|
||||
};
|
||||
|
||||
patches = [ ./fix-lex-to-flex.patch ];
|
||||
|
@ -75,13 +75,30 @@ self: super: {
|
||||
|
||||
# The Hackage tarball is purposefully broken, because it's not intended to be, like, useful.
|
||||
# https://git-annex.branchable.com/bugs/bash_completion_file_is_missing_in_the_6.20160527_tarball_on_hackage/
|
||||
git-annex = (overrideCabal super.git-annex (drv: {
|
||||
git-annex = ((overrideCabal super.git-annex (drv: {
|
||||
src = pkgs.fetchgit {
|
||||
name = "git-annex-${drv.version}-src";
|
||||
url = "git://git-annex.branchable.com/";
|
||||
rev = "refs/tags/" + drv.version;
|
||||
sha256 = "0fdcv9nig896ckl9x51ximxsvja1ii8qysf6c9ickvc0511hvr9w";
|
||||
};
|
||||
})).overrideScope (self: super: {
|
||||
aws = dontCheck (self.aws_0_18);
|
||||
conduit = self.conduit_1_2_13_1;
|
||||
conduit-extra = self.conduit-extra_1_2_3_2;
|
||||
cryptonite-conduit = dontCheck super.cryptonite-conduit; # test suite does not compile with old versions used here
|
||||
html-conduit = self.html-conduit_1_2_1_2;
|
||||
http-conduit = self.http-conduit_2_2_4;
|
||||
persistent = self.persistent_2_7_3_1;
|
||||
persistent-sqlite = self.persistent-sqlite_2_6_4;
|
||||
resourcet = self.resourcet_1_1_11;
|
||||
xml-conduit = self.xml-conduit_1_7_1_2;
|
||||
yesod = self.yesod_1_4_5;
|
||||
yesod-core = self.yesod-core_1_4_37_3;
|
||||
yesod-form = self.yesod-form_1_4_16;
|
||||
yesod-persistent = self.yesod-persistent_1_4_3;
|
||||
yesod-static = self.yesod-static_1_5_3_1;
|
||||
yesod-test = self.yesod-test_1_5_9_1;
|
||||
})).override {
|
||||
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
|
||||
fdo-notify = if pkgs.stdenv.isLinux then self.fdo-notify else null;
|
||||
@ -94,7 +111,7 @@ self: super: {
|
||||
|
||||
# the tests for shell-conduit on Darwin illegitimatey assume non-GNU echo
|
||||
# see: https://github.com/psibi/shell-conduit/issues/12
|
||||
doCheck = !pkgs.stdenv.hostPlatform.isDarwin;
|
||||
doCheck = !pkgs.stdenv.isDarwin;
|
||||
}));
|
||||
|
||||
# https://github.com/froozen/kademlia/issues/2
|
||||
@ -102,6 +119,7 @@ self: super: {
|
||||
|
||||
# Test suite doesn't terminate
|
||||
hzk = dontCheck super.hzk;
|
||||
|
||||
# Tests require a Kafka broker running locally
|
||||
haskakafka = dontCheck super.haskakafka;
|
||||
|
||||
@ -351,12 +369,6 @@ self: super: {
|
||||
th-printf = dontCheck super.th-printf;
|
||||
thumbnail-plus = dontCheck super.thumbnail-plus;
|
||||
tickle = dontCheck super.tickle;
|
||||
tldr = super.tldr.override {
|
||||
# shell-conduit determines what commands are available at compile-time, so
|
||||
# that tldr will not compile unless the shell-conduit it uses is compiled
|
||||
# with git in its environment.
|
||||
shell-conduit = addBuildTool self.shell-conduit pkgs.git;
|
||||
};
|
||||
tpdb = dontCheck super.tpdb;
|
||||
translatable-intset = dontCheck super.translatable-intset;
|
||||
ua-parser = dontCheck super.ua-parser;
|
||||
@ -419,9 +431,8 @@ self: super: {
|
||||
# https://github.com/vincenthz/hs-asn1/issues/12
|
||||
asn1-encoding = dontCheck super.asn1-encoding;
|
||||
|
||||
# Depends on QuickCheck 1.x.
|
||||
HaVSA = super.HaVSA.override { QuickCheck = self.QuickCheck_1_2_0_1; };
|
||||
test-framework-quickcheck = super.test-framework-quickcheck.override { QuickCheck = self.QuickCheck_1_2_0_1; };
|
||||
# Avoid "QuickCheck >=2.3 && <2.10" dependency we cannot fulfill in lts-11.x.
|
||||
test-framework = dontCheck super.test-framework;
|
||||
|
||||
# Depends on broken test-framework-quickcheck.
|
||||
apiary = dontCheck super.apiary;
|
||||
@ -590,7 +601,9 @@ self: super: {
|
||||
mkdir -p $data/share/emacs
|
||||
ln -s $lispdir $data/share/emacs/site-lisp
|
||||
'';
|
||||
}));
|
||||
})).override {
|
||||
haskell-src-exts = self.haskell-src-exts_1_19_1;
|
||||
};
|
||||
|
||||
# Make elisp files available at a location where people expect it.
|
||||
hindent = (overrideCabal super.hindent (drv: {
|
||||
@ -602,13 +615,10 @@ self: super: {
|
||||
ln -s $lispdir $data/share/emacs/site-lisp
|
||||
'';
|
||||
doCheck = false; # https://github.com/chrisdone/hindent/issues/299
|
||||
})).override {
|
||||
haskell-src-exts = self.haskell-src-exts_1_20_2;
|
||||
};
|
||||
}));
|
||||
|
||||
# Need newer versions of their dependencies than the ones we have in LTS-10.x.
|
||||
cabal2nix = super.cabal2nix.overrideScope (self: super: { hpack = self.hpack_0_27_0; hackage-db = self.hackage-db_2_0_1; });
|
||||
hlint = super.hlint.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_20_2; });
|
||||
# Need newer versions of their dependencies than the ones we have in LTS-11.x.
|
||||
cabal2nix = super.cabal2nix.overrideScope (self: super: { hpack = self.hpack_0_28_1; hackage-db = self.hackage-db_2_0_1; });
|
||||
|
||||
# https://github.com/bos/configurator/issues/22
|
||||
configurator = dontCheck super.configurator;
|
||||
@ -844,19 +854,6 @@ self: super: {
|
||||
# https://github.com/fpco/stackage/issues/3126
|
||||
stack = doJailbreak super.stack;
|
||||
|
||||
# Hoogle needs newer versions than lts-10 provides. lambdabot-haskell-plugins
|
||||
# depends on Hoogle and therefore needs to use the same version.
|
||||
hoogle = super.hoogle.override {
|
||||
haskell-src-exts = self.haskell-src-exts_1_20_2;
|
||||
http-conduit = self.http-conduit_2_3_0;
|
||||
};
|
||||
lambdabot-haskell-plugins = super.lambdabot-haskell-plugins.override {
|
||||
haskell-src-exts-simple = self.haskell-src-exts-simple_1_20_0_0;
|
||||
};
|
||||
haskell-src-exts-simple_1_20_0_0 = super.haskell-src-exts-simple_1_20_0_0.override {
|
||||
haskell-src-exts = self.haskell-src-exts_1_20_2;
|
||||
};
|
||||
|
||||
# These packages depend on each other, forming an infinite loop.
|
||||
scalendar = markBroken (super.scalendar.override { SCalendar = null; });
|
||||
SCalendar = markBroken (super.SCalendar.override { scalendar = null; });
|
||||
@ -936,12 +933,12 @@ self: super: {
|
||||
# https://github.com/Twinside/Juicy.Pixels/issues/149
|
||||
JuicyPixels = dontHaddock super.JuicyPixels;
|
||||
|
||||
# armv7l fixes.
|
||||
happy = if pkgs.stdenv.isArm then dontCheck super.happy else super.happy; # Similar to https://ghc.haskell.org/trac/ghc/ticket/13062
|
||||
hashable = if pkgs.stdenv.isArm then dontCheck super.hashable else super.hashable; # https://github.com/tibbe/hashable/issues/95
|
||||
servant-docs = if pkgs.stdenv.isArm then dontCheck super.servant-docs else super.servant-docs;
|
||||
servant-swagger = if pkgs.stdenv.isArm then dontCheck super.servant-swagger else super.servant-swagger;
|
||||
swagger2 = if pkgs.stdenv.isArm then dontHaddock (dontCheck super.swagger2) else super.swagger2;
|
||||
# aarch64 and armv7l fixes.
|
||||
happy = if (pkgs.stdenv.hostPlatform.isArm || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.happy else super.happy; # Similar to https://ghc.haskell.org/trac/ghc/ticket/13062
|
||||
hashable = if (pkgs.stdenv.hostPlatform.isArm || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.hashable else super.hashable; # https://github.com/tibbe/hashable/issues/95
|
||||
servant-docs = if (pkgs.stdenv.hostPlatform.isArm || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.servant-docs else super.servant-docs;
|
||||
servant-swagger = if (pkgs.stdenv.hostPlatform.isArm || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.servant-swagger else super.servant-swagger;
|
||||
swagger2 = if (pkgs.stdenv.hostPlatform.isArm || pkgs.stdenv.hostPlatform.isAarch64) then dontHaddock (dontCheck super.swagger2) else super.swagger2;
|
||||
|
||||
# Tries to read a file it is not allowed to in the test suite
|
||||
load-env = dontCheck super.load-env;
|
||||
@ -1003,10 +1000,13 @@ self: super: {
|
||||
# Needs older hlint
|
||||
hpio = dontCheck super.hpio;
|
||||
|
||||
# Needs turtle >=1.5.0, which we don't have by default in lts-10.x.
|
||||
changelogged = super.changelogged.override { turtle = self.turtle_1_5_5; };
|
||||
|
||||
# https://github.com/fpco/inline-c/issues/72
|
||||
inline-c = dontCheck super.inline-c;
|
||||
|
||||
# Avoid GHC compiler crash a la https://ghc.haskell.org/trac/ghc/ticket/5361.
|
||||
SHA = appendPatch super.SHA (pkgs.fetchpatch {
|
||||
url = https://github.com/GaloisInc/SHA/commit/c258350e953c3de2f98c5625ac3857f1a6863afc.patch;
|
||||
sha256 = "1485bbjca1wqbh3c9yqj85kmq8j7zxq79y5isxypy3r6wjpr3g6b";
|
||||
});
|
||||
|
||||
}
|
||||
|
@ -45,8 +45,9 @@ self: super: {
|
||||
# https://github.com/bitemyapp/esqueleto/issues/77
|
||||
esqueleto = markBrokenVersion "2.5.3" super.esqueleto;
|
||||
|
||||
# https://github.com/haskell-pkg-janitors/haskell-src/issues/5
|
||||
haskell-src = markBrokenVersion "1.0.2.0" super.haskell-src;
|
||||
# Need newer version.
|
||||
haskell-src = super.haskell-src_1_0_3_0;
|
||||
|
||||
## Shadowed:
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
@ -60,9 +61,6 @@ self: super: {
|
||||
## • In the instance declaration for ‘Monoid BV’
|
||||
bv = super.bv_0_5;
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
constraints = super.constraints_0_10;
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
## Setup: Encountered missing dependencies:
|
||||
## template-haskell >=2.5 && <2.13
|
||||
@ -70,7 +68,7 @@ self: super: {
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
## Issue: https://github.com/sol/doctest/issues/189
|
||||
doctest = overrideCabal super.doctest_0_14_1 (drv: {
|
||||
doctest = overrideCabal super.doctest_0_15_0 (drv: {
|
||||
## Setup: Encountered missing dependencies:
|
||||
## ghc >=7.0 && <8.4
|
||||
##
|
||||
@ -84,18 +82,6 @@ self: super: {
|
||||
## free >=4.9 && <5
|
||||
either = super.either_5;
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
## • Could not deduce (Semigroup (IterT m a))
|
||||
## arising from the superclasses of an instance declaration
|
||||
## from the context: (Monad m, Monoid a)
|
||||
free = super.free_5_0_1;
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
## Setup: Encountered missing dependencies:
|
||||
## base >=3 && <4.11
|
||||
## Needed for (<>) in prelude
|
||||
funcmp = super.funcmp_1_9;
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
## Setup: Encountered missing dependencies:
|
||||
## Cabal <2.2
|
||||
@ -118,13 +104,7 @@ self: super: {
|
||||
});
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
## • Could not deduce (Semigroup (ParseResult m))
|
||||
## arising from the superclasses of an instance declaration
|
||||
## from the context: Monoid m
|
||||
haskell-src-exts = super.haskell-src-exts_1_20_2;
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
hspec = overrideCabal super.hspec_2_4_8 (drv: {
|
||||
hspec = overrideCabal super.hspec_2_5_0 (drv: {
|
||||
## Setup: Encountered missing dependencies:
|
||||
## hspec-core ==2.4.4, hspec-discover ==2.4.4
|
||||
##
|
||||
@ -136,7 +116,7 @@ self: super: {
|
||||
});
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
hspec-core = overrideCabal super.hspec-core_2_4_8 (drv: {
|
||||
hspec-core = overrideCabal super.hspec-core_2_5_0 (drv: {
|
||||
## • No instance for (Semigroup Summary)
|
||||
## arising from the superclasses of an instance declaration
|
||||
## • In the instance declaration for ‘Monoid Summary’
|
||||
@ -153,50 +133,7 @@ self: super: {
|
||||
## Needs bump to a versioned attribute
|
||||
## Setup: Encountered missing dependencies:
|
||||
## hspec-discover ==2.4.8
|
||||
hspec-discover = super.hspec-discover_2_4_8;
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
## Setup: Encountered missing dependencies:
|
||||
## free ==4.*, template-haskell >=2.4 && <2.13
|
||||
lens = super.lens_4_16;
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
regex-tdfa = overrideCabal super.regex-tdfa_1_2_3 (drv: {
|
||||
## • No instance for (Semigroup (CharMap a))
|
||||
## arising from the superclasses of an instance declaration
|
||||
## • In the instance declaration for ‘Monoid (CharMap a)’
|
||||
##
|
||||
## error: while evaluating ‘overrideCabal’ at nixpkgs://pkgs/development/haskell-modules/lib.nix:37:24, called from /home/deepfire/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix:188:16:
|
||||
editedCabalFile = null;
|
||||
});
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
## Setup: Encountered missing dependencies:
|
||||
## doctest >=0.11.1 && <0.14
|
||||
semigroupoids = super.semigroupoids_5_2_2;
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
## Issue: https://github.com/haskell/test-framework/issues/35
|
||||
test-framework = overrideCabal super.test-framework_0_8_2_0 (drv: {
|
||||
## • No instance for (Semigroup (TestOptions' Maybe))
|
||||
## arising from the superclasses of an instance declaration
|
||||
## • In the instance declaration for ‘Monoid (TestOptions' Maybe)’
|
||||
##
|
||||
## Setup: Encountered missing dependencies:
|
||||
## QuickCheck >=2.3 && <2.10
|
||||
doCheck = false;
|
||||
});
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
## Setup: Encountered missing dependencies:
|
||||
## doctest >=0.7 && <0.14
|
||||
turtle = super.turtle_1_5_4;
|
||||
|
||||
## Needs bump to a versioned attribute
|
||||
## Setup: Encountered missing dependencies:
|
||||
## base >=4 && <4.11
|
||||
unordered-containers = super.unordered-containers_0_2_9_0;
|
||||
|
||||
hspec-discover = super.hspec-discover_2_5_0;
|
||||
|
||||
## On Hackage:
|
||||
|
||||
@ -795,7 +732,7 @@ self: super: {
|
||||
stripLen = 1;
|
||||
});
|
||||
|
||||
# Old versions don't compile.
|
||||
vty = self.vty_5_20;
|
||||
# https://github.com/jgm/pandoc-types/issues/37
|
||||
pandoc-types = self.pandoc-types_1_17_4;
|
||||
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Binary decision diagram package";
|
||||
license = "as-is";
|
||||
|
||||
platforms = with stdenv.lib.platforms; allBut cygwin;
|
||||
platforms = stdenv.lib.platforms.unix; # Once had cygwin problems
|
||||
maintainers = [ stdenv.lib.maintainers.peti ];
|
||||
};
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "bwidget-${version}";
|
||||
version = "1.9.10";
|
||||
version = "1.9.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/tcllib/bwidget-${version}.tar.gz";
|
||||
sha256 = "025lmriaq4qqy99lh826wx2cnqqgxn7srz4m3q06bl6r9ch15hr6";
|
||||
sha256 = "0qrj8k4zzrnhwgdn5dpa6j0q5j739myhwn60ssnqrzq77sljss1g";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
|
||||
description = "C/C++ library for numbers, a part of GiNaC";
|
||||
homepage = http://www.ginac.de/CLN/;
|
||||
maintainers = [ ];
|
||||
platforms = with stdenv.lib.platforms; allBut cygwin;
|
||||
platforms = stdenv.lib.platforms.unix; # Once had cygwin problems
|
||||
};
|
||||
}
|
||||
|
@ -69,6 +69,6 @@ stdenv.mkDerivation rec {
|
||||
make[3]: *** [Box.lo] Error 1
|
||||
|
||||
*/
|
||||
platforms = with stdenv.lib.platforms; allBut cygwin;
|
||||
platforms = stdenv.lib.platforms.unix; # Once had cygwin problems
|
||||
};
|
||||
}
|
||||
|
@ -58,6 +58,6 @@ stdenv.mkDerivation rec {
|
||||
make[3]: *** [Box.lo] Error 1
|
||||
|
||||
*/
|
||||
platforms = with stdenv.lib.platforms; allBut cygwin;
|
||||
platforms = stdenv.lib.platforms.unix; # Once had cygwin problems
|
||||
};
|
||||
}
|
||||
|
@ -59,6 +59,6 @@ stdenv.mkDerivation rec {
|
||||
make[3]: *** [Box.lo] Error 1
|
||||
|
||||
*/
|
||||
platforms = with stdenv.lib.platforms; allBut cygwin;
|
||||
platforms = stdenv.lib.platforms.unix; # Once had cygwin problems
|
||||
};
|
||||
}
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
let
|
||||
pname = "clutter-gst";
|
||||
version = "3.0.24";
|
||||
version = "3.0.26";
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
|
||||
sha256 = "0v6cg0syh4vx7y7ni47jsvr2r57q0j3h1f1gjlp0ciscixywiwg9";
|
||||
sha256 = "0fnblqm4igdx4rn3681bp1gm1y2i00if3iblhlm0zv6ck9nqlqfq";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ clutter gtk3 glib cogl ];
|
||||
|
@ -1,11 +1,11 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cminpack-1.3.4";
|
||||
name = "cminpack-1.3.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://devernay.free.fr/hacks/cminpack/${name}.tar.gz";
|
||||
sha256 = "1jh3ymxfcy3ykh6gnvds5bbkf38aminvjgc8halck356vkvpnl9v";
|
||||
sha256 = "17yh695aim508x1kn9zf6g13jxwk3pi3404h5ix4g5lc60hzs1rw";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
@ -4,11 +4,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "drumstick-${version}";
|
||||
version = "1.1.0";
|
||||
version = "1.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/drumstick/${version}/${name}.tar.bz2";
|
||||
sha256 = "13pkfqrav30bbcddgf1imd7jk6lpqbxkz1qv31718pdl446jq7df";
|
||||
sha256 = "0avwxr6n9ra7narxc5lmkhdqi8ix10gmif8rpd06wp4g9iv46xrn";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "man" ];
|
||||
|
@ -4,12 +4,12 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, gtest }:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "easyloggingpp-${version}";
|
||||
version = "9.96.0";
|
||||
version = "9.96.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "muflihun";
|
||||
repo = "easyloggingpp";
|
||||
rev = "v${version}";
|
||||
sha256 = "134arh13rksfsxa80h6xw104458ihzp1mpblz5sprx5gxkq7yqfv";
|
||||
sha256 = "1x5wwm62l1231sgxfwx8mj7fc8452j3f509jyxa9wd2krkpvqxmy";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [cmake];
|
||||
|
@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
# fetch newer version of platform.h which correctly supports gcc 7.3
|
||||
gcc7PlatformPatch = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/g-truc/glm/dd48b56e44d699a022c69155c8672caacafd9e8a/glm/simd/platform.h";
|
||||
sha256 = "0y91hlbgn5va7ijg5mz823gqkq9hqxl00lwmdwnf8q2g086rplzw";
|
||||
url = "https://raw.githubusercontent.com/g-truc/glm/384dab02e45a8ad3c1a3fa0906e0d5682c5b27b9/glm/simd/platform.h";
|
||||
sha256 = "0ym0sgwznxhfyi014xs55x3ql7r65fjs34sqb5jiaffkdhkqgzia";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -27,6 +27,10 @@ stdenv.mkDerivation rec {
|
||||
cp ${gcc7PlatformPatch} glm/simd/platform.h
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = stdenv.lib.optionals stdenv.isDarwin [
|
||||
"-DGLM_COMPILER=0"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $doc/share/doc/glm
|
||||
cp -rv $NIX_BUILD_TOP/$sourceRoot/doc/* $doc/share/doc/glm
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gtk2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gtkdatabox-0.9.2.0";
|
||||
name = "gtkdatabox-0.9.3.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/gtkdatabox/${name}.tar.gz";
|
||||
sha256 = "0h20685bzw5j5h6mw8c6apbrbrd9w518c6xdhr55147px11nhnkl";
|
||||
sha256 = "1wigd4bdlrz4pma2l2wd3z8sx7pqmsvq845nya5vma9ibi96nhhz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -3,11 +3,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "hivex-${version}";
|
||||
version = "1.3.14";
|
||||
version = "1.3.15";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://libguestfs.org/download/hivex/${name}.tar.gz";
|
||||
sha256 = "0aqv28prjcmc66znw0wgaxjijg5mjm44bgn1iil8a4dlbsgv4p7b";
|
||||
sha256 = "02vzipzrp1gr87rn7mkhyzr4zdjkp2dzcvvb223x7i0ch8ci7r4c";
|
||||
};
|
||||
|
||||
patches = [ ./hivex-syms.patch ];
|
||||
|
@ -1,11 +1,13 @@
|
||||
{ stdenv, fetchurl, libelf }:
|
||||
|
||||
let
|
||||
version = "20170709";
|
||||
version = "20180129";
|
||||
src = fetchurl {
|
||||
url = "http://www.prevanders.net/libdwarf-${version}.tar.gz";
|
||||
sha512 = "afff6716ef1af5d8aae2b887f36b9a6547fb576770bc6f630b82725ed1e59cbd"
|
||||
+ "387779aa729bbd1a5ae026a25ac76aacf64b038cd898b2419a8676f9aa8c59f1";
|
||||
# Upstream displays this hash broken into three parts:
|
||||
sha512 = "02f8024bb9959c91a1fe322459f7587a589d096595"
|
||||
+ "6d643921a173e6f9e0a184db7aef66f0fd2548d669"
|
||||
+ "5be7f9ee368f1cc8940cea4ddda01ff99d28bbf1fe58";
|
||||
};
|
||||
meta = {
|
||||
homepage = https://www.prevanders.net/dwarf.html;
|
||||
|
@ -15,6 +15,12 @@ stdenv.mkDerivation {
|
||||
"-DDYND_BUILD_BENCHMARKS=OFF"
|
||||
];
|
||||
|
||||
# added to fix build with gcc7
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-Wno-error=implicit-fallthrough"
|
||||
"-Wno-error=nonnull"
|
||||
];
|
||||
|
||||
buildInputs = [ cmake ];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
@ -24,5 +30,6 @@ stdenv.mkDerivation {
|
||||
description = "C++ dynamic ndarray library, with Python exposure.";
|
||||
homepage = http://libdynd.org;
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchurl, pkgconfig, wrapGAppsHook, gtk2, gnome2, gnome3,
|
||||
libstartup_notification, libgtop, perl, perlXMLParser,
|
||||
autoreconfHook, intltool, gtk-doc, docbook_xsl, xauth, sudo
|
||||
autoreconfHook, intltool, docbook_xsl, xauth, sudo
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig autoreconfHook intltool gtk-doc docbook_xsl wrapGAppsHook
|
||||
pkgconfig autoreconfHook intltool docbook_xsl wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@ -67,6 +67,10 @@ stdenv.mkDerivation rec {
|
||||
intltoolize --force --copy --automake
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--disable-gtk-doc"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "A library for integration of su into applications";
|
||||
longDescription = ''
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, zlib, expat, rpm, db }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
rev = "0.6.32";
|
||||
rev = "0.6.33";
|
||||
name = "libsolv-${rev}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "openSUSE";
|
||||
repo = "libsolv";
|
||||
sha256 = "0gqvnnc1s5n0yj82ia6w2wjhhn8hpl6wm4lki2kzvjqjgla45fnq";
|
||||
sha256 = "1vf8mwqzjjqkd5ir71h4lifybibs5nhqgfgq5zzlazby02zx2yiz";
|
||||
};
|
||||
|
||||
cmakeFlags = "-DENABLE_RPMMD=true -DENABLE_RPMDB=true -DENABLE_PUBKEY=true -DENABLE_RPMDB_BYRPMHEADER=true";
|
||||
|
36
pkgs/development/libraries/libva/1.0.0.nix
Normal file
36
pkgs/development/libraries/libva/1.0.0.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{ stdenv, lib, fetchurl, libX11, pkgconfig, libXext, libdrm, libXfixes, wayland, libffi
|
||||
, mesa_noglu
|
||||
, minimal ? true, libva
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libva-${version}";
|
||||
version = "1.7.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.freedesktop.org/software/vaapi/releases/libva/${name}.tar.bz2";
|
||||
sha256 = "1ndrf136rlw03xag7j1xpmf9015d1h0dpnv6v587jnh6k2a17g12";
|
||||
};
|
||||
|
||||
outputs = [ "bin" "dev" "out" ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
buildInputs = [ libdrm ]
|
||||
++ lib.optionals (!minimal) [ libva libX11 libXext libXfixes wayland libffi mesa_noglu ];
|
||||
# TODO: share libs between minimal and !minimal - perhaps just symlink them
|
||||
|
||||
configureFlags =
|
||||
[ "--with-drivers-path=${mesa_noglu.driverLink}/lib/dri" ] ++
|
||||
lib.optionals (!minimal) [ "--enable-glx" ];
|
||||
|
||||
installFlags = [ "dummy_drv_video_ladir=$(out)/lib/dri" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.freedesktop.org/wiki/Software/vaapi;
|
||||
license = licenses.mit;
|
||||
description = "VAAPI library: Video Acceleration API";
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ garbas ];
|
||||
};
|
||||
}
|
@ -1,9 +1,9 @@
|
||||
{ stdenv, fetchurl }:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "matio-1.5.10";
|
||||
name = "matio-1.5.11";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/matio/${name}.tar.gz";
|
||||
sha256 = "00dmg2f5k2xgakp7l0lganz122b1agazw5d899xci35xrqc9j821";
|
||||
sha256 = "02ygr7bslzvn6mhxvapz57bh4d448xjf3ds82g1cvhn9al6fvk0c";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -11,6 +11,10 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [ openssl qtbase ];
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
|
||||
# Without this patch cmake fails with a "No known features for CXX compiler"
|
||||
# error on darwin
|
||||
patches = stdenv.lib.optional stdenv.isDarwin ./move-project.patch ;
|
||||
|
||||
# tells CMake to use this CA bundle file if it is accessible
|
||||
preConfigure = ''export QC_CERTSTORE_PATH=/etc/ssl/certs/ca-certificates.crt'';
|
||||
|
||||
@ -22,6 +26,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://delta.affinix.com/qca;
|
||||
maintainers = with maintainers; [ ttuegel ];
|
||||
license = licenses.lgpl21Plus;
|
||||
platforms = with platforms; linux;
|
||||
platforms = with platforms; unix;
|
||||
};
|
||||
}
|
||||
|
19
pkgs/development/libraries/qca-qt5/move-project.patch
Normal file
19
pkgs/development/libraries/qca-qt5/move-project.patch
Normal file
@ -0,0 +1,19 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 453fd8a..5f6ee11 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -6,13 +6,13 @@ if(NOT CMAKE_INSTALL_PREFIX)
|
||||
unset(CMAKE_INSTALL_PREFIX CACHE)
|
||||
endif(NOT CMAKE_INSTALL_PREFIX)
|
||||
|
||||
-project(qca)
|
||||
|
||||
if(NOT APPLE)
|
||||
cmake_minimum_required(VERSION 2.8.12)
|
||||
else()
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
endif()
|
||||
+project(qca)
|
||||
|
||||
set(QCA_LIB_MAJOR_VERSION "2")
|
||||
set(QCA_LIB_MINOR_VERSION "1")
|
@ -1,4 +1,4 @@
|
||||
{ qtModule, qtbase, qtmultimedia }:
|
||||
{ stdenv, qtModule, qtbase, qtmultimedia }:
|
||||
|
||||
qtModule {
|
||||
name = "qtlocation";
|
||||
@ -6,4 +6,11 @@ qtModule {
|
||||
outputs = [ "bin" "out" "dev" ];
|
||||
# Linking with -lclipper fails with parallel build enabled
|
||||
enableParallelBuilding = false;
|
||||
qmakeFlags = stdenv.lib.optional stdenv.isDarwin [
|
||||
# boost uses std::auto_ptr which has been disabled in clang with libcxx
|
||||
# This flag re-enables this feature
|
||||
# https://libcxx.llvm.org/docs/UsingLibcxx.html#c-17-specific-configuration-macros
|
||||
"QMAKE_CXXFLAGS+=-D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR"
|
||||
];
|
||||
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://rocksdb.org;
|
||||
description = "A library that provides an embeddable, persistent key-value store for fast storage";
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.allBut [ "i686-linux" ];
|
||||
platforms = platforms.x86_64 ++ platforms.aarch64;
|
||||
maintainers = with maintainers; [ adev wkennington ];
|
||||
};
|
||||
}
|
||||
|
@ -2,10 +2,10 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "openlibm-${version}";
|
||||
version = "0.5.4";
|
||||
version = "0.5.5";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/JuliaLang/openlibm/archive/v${version}.tar.gz";
|
||||
sha256 = "0cwqqqlblj3kzp9aq1wnpfs1fl0qd1wp1xzm5shb09w06i4rh9nn";
|
||||
sha256 = "1z8cj5q8ca8kmrakwkpjxf8svi81waw0c568cx8v8pv9kvswbp07";
|
||||
};
|
||||
|
||||
makeFlags = [ "prefix=$(out)" ];
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user