Merge remote-tracking branch 'upstream/master' into staging

This commit is contained in:
Tuomas Tynkkynen 2018-03-16 03:02:12 +02:00
commit 44ff59d95b
201 changed files with 5476 additions and 8575 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -49,6 +49,6 @@ stdenv.mkDerivation rec {
homepage = https://nextcloud.com;
license = licenses.gpl2;
maintainers = with maintainers; [ caugner ];
platforms = platforms.unix;
platforms = platforms.linux;
};
}

View File

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

View File

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

View File

@ -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 = ''

View File

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

View File

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

View File

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

View File

@ -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 = ''

View File

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

View File

@ -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 = {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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 = {

View File

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

View File

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

View File

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

View File

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

View File

@ -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 = ".";

View File

@ -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 = ''

View File

@ -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 = ''

View 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

View File

@ -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 = ''

View 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

View File

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

View 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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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 = ''

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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 = ''

View File

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

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

View File

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

View File

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

View 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")

View File

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

View File

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

View File

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