Merge remote-tracking branch 'origin/master' into haskell-updates

This commit is contained in:
sternenseemann 2021-10-05 14:10:47 +02:00
commit df720f8b7f
153 changed files with 1408 additions and 454 deletions

View File

@ -0,0 +1,18 @@
# /etc files {#etc}
Certain calls in glibc require access to runtime files found in /etc such as `/etc/protocols` or `/etc/services` -- [getprotobyname](https://linux.die.net/man/3/getprotobyname) is one such function.
On non-NixOS distributions these files are typically provided by packages (i.e. [netbase](https://packages.debian.org/sid/netbase)) if not already pre-installed in your distribution. This can cause non-reproducibility for code if they rely on these files being present.
If [iana-etc](https://hydra.nixos.org/job/nixos/trunk-combined/nixpkgs.iana-etc.x86_64-linux) is part of your _buildInputs_ then it will set the environment varaibles `NIX_ETC_PROTOCOLS` and `NIX_ETC_SERVICES` to the corresponding files in the package through a _setup-hook_.
```bash
> nix-shell -p iana-etc
[nix-shell:~]$ env | grep NIX_ETC
NIX_ETC_SERVICES=/nix/store/aj866hr8fad8flnggwdhrldm0g799ccz-iana-etc-20210225/etc/services
NIX_ETC_PROTOCOLS=/nix/store/aj866hr8fad8flnggwdhrldm0g799ccz-iana-etc-20210225/etc/protocols
```
Nixpkg's version of [glibc](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/glibc/default.nix) has been patched to check for the existence of these environment variables. If the environment variable are *not set*, then it will attempt to find the files at the default location within _/etc_.

View File

@ -17,6 +17,7 @@
<xi:include href="kakoune.section.xml" />
<xi:include href="linux.section.xml" />
<xi:include href="locales.section.xml" />
<xi:include href="etc-files.section.xml" />
<xi:include href="nginx.section.xml" />
<xi:include href="opengl.section.xml" />
<xi:include href="shell-helpers.section.xml" />

View File

@ -11,15 +11,7 @@
lib = import ./lib;
systems = [
"x86_64-linux"
"i686-linux"
"x86_64-darwin"
"aarch64-linux"
"armv6l-linux"
"armv7l-linux"
"aarch64-darwin"
];
systems = lib.systems.supported.hydra;
forAllSystems = f: lib.genAttrs systems (system: f system);

View File

@ -8,6 +8,7 @@ rec {
platforms = import ./platforms.nix { inherit lib; };
examples = import ./examples.nix { inherit lib; };
architectures = import ./architectures.nix { inherit lib; };
supported = import ./supported.nix { inherit lib; };
# Elaborate a `localSystem` or `crossSystem` so that it contains everything
# necessary.

24
lib/systems/supported.nix Normal file
View File

@ -0,0 +1,24 @@
# Supported systems according to RFC0046's definition.
#
# https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md
{ lib }:
rec {
# List of systems that are built by Hydra.
hydra = tier1 ++ tier2 ++ tier3;
tier1 = [
"x86_64-linux"
];
tier2 = [
"aarch64-linux"
"x86_64-darwin"
];
tier3 = [
"armv6l-linux"
"armv7l-linux"
"i686-linux"
"mipsel-linux"
];
}

View File

@ -254,8 +254,10 @@ checkConfigOutput / config.value.path ./types-anything/equal-atoms.nix
checkConfigOutput null config.value.null ./types-anything/equal-atoms.nix
checkConfigOutput 0.1 config.value.float ./types-anything/equal-atoms.nix
# Functions can't be merged together
checkConfigError "The option .* has conflicting definition values" config.value.multiple-lambdas ./types-anything/functions.nix
checkConfigError "The option .value.multiple-lambdas.<function body>. has conflicting option types" config.applied.multiple-lambdas ./types-anything/functions.nix
checkConfigOutput '<LAMBDA>' config.value.single-lambda ./types-anything/functions.nix
checkConfigOutput 'null' config.applied.merging-lambdas.x ./types-anything/functions.nix
checkConfigOutput 'null' config.applied.merging-lambdas.y ./types-anything/functions.nix
# Check that all mk* modifiers are applied
checkConfigError 'attribute .* not found' config.value.mkiffalse ./types-anything/mk-mods.nix
checkConfigOutput '{ }' config.value.mkiftrue ./types-anything/mk-mods.nix

View File

@ -1,16 +1,22 @@
{ lib, ... }: {
{ lib, config, ... }: {
options.value = lib.mkOption {
type = lib.types.anything;
};
options.applied = lib.mkOption {
default = lib.mapAttrs (name: fun: fun null) config.value;
};
config = lib.mkMerge [
{
value.single-lambda = x: x;
value.multiple-lambdas = x: x;
value.multiple-lambdas = x: { inherit x; };
value.merging-lambdas = x: { inherit x; };
}
{
value.multiple-lambdas = x: x;
value.multiple-lambdas = x: [ x ];
value.merging-lambdas = y: { inherit y; };
}
];

View File

@ -192,6 +192,12 @@ rec {
else (listOf anything).merge;
# This is the type of packages, only accept a single definition
stringCoercibleSet = mergeOneOption;
lambda = loc: defs: arg: anything.merge
(loc ++ [ "<function body>" ])
(map (def: {
file = def.file;
value = def.value arg;
}) defs);
# Otherwise fall back to only allowing all equal definitions
}.${commonType} or mergeEqualOption;
in mergeFunction loc defs;

View File

@ -154,6 +154,7 @@
./programs/gnupg.nix
./programs/gphoto2.nix
./programs/hamster.nix
./programs/htop.nix
./programs/iftop.nix
./programs/iotop.nix
./programs/java.nix

View File

@ -25,14 +25,7 @@ if (!defined $res || scalar @$res == 0) {
print STDERR "$program: command not found\n";
} elsif (scalar @$res == 1) {
my $package = @$res[0]->{package};
if ($ENV{"NIX_AUTO_INSTALL"} // "") {
print STDERR <<EOF;
The program '$program' is currently not installed. It is provided by
the package '$package', which I will now install for you.
EOF
;
exit 126 if system("nix-env", "-iA", "nixos.$package") == 0;
} elsif ($ENV{"NIX_AUTO_RUN"} // "") {
if ($ENV{"NIX_AUTO_RUN"} // "") {
exec("nix-shell", "-p", $package, "--run", shell_quote("exec", @ARGV));
} else {
print STDERR <<EOF;

View File

@ -18,12 +18,16 @@ in
environment.variables =
{ NIXPKGS_CONFIG = "/etc/nix/nixpkgs-config.nix";
# note: many programs exec() this directly, so default options for less must not
# be specified here; do so in the default value of programs.less.envVariables instead
PAGER = mkDefault "less";
LESS = mkDefault "-R";
EDITOR = mkDefault "nano";
XDG_CONFIG_DIRS = [ "/etc/xdg" ]; # needs to be before profile-relative paths to allow changes through environment.etc
};
# since we set PAGER to this above, make sure it's installed
programs.less.enable = true;
environment.profiles = mkAfter
[ "/nix/var/nix/profiles/default"
"/run/current-system/sw"

View File

@ -0,0 +1,58 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.htop;
fmt = value:
if isList value then concatStringsSep " " (map fmt value) else
if isString value then value else
if isBool value || isInt value then toString value else
throw "Unrecognized type ${typeOf value} in htop settings";
in
{
options.programs.htop = {
package = mkOption {
type = types.package;
default = pkgs.htop;
defaultText = "pkgs.htop";
description = ''
The htop package that should be used.
'';
};
enable = mkEnableOption "htop process monitor";
settings = mkOption {
type = with types; attrsOf (oneOf [ str int bool (listOf (oneOf [ str int bool ])) ]);
default = {};
example = {
hide_kernel_threads = true;
hide_userland_threads = true;
};
description = ''
Extra global default configuration for htop
which is read on first startup only.
Htop subsequently uses ~/.config/htop/htoprc
as configuration source.
'';
};
};
config = mkIf cfg.enable {
environment.systemPackages = [
cfg.package
];
environment.etc."htoprc".text = ''
# Global htop configuration
# To change set: programs.htop.settings.KEY = VALUE;
'' + concatStringsSep "\n" (mapAttrsToList (key: value: "${key}=${fmt value}") cfg.settings);
};
}

View File

@ -24,9 +24,7 @@ let
}
'';
lessKey = pkgs.runCommand "lesskey"
{ src = pkgs.writeText "lessconfig" configText; preferLocalBuild = true; }
"${pkgs.less}/bin/lesskey -o $out $src";
lessKey = pkgs.writeText "lessconfig" configText;
in
@ -35,6 +33,8 @@ in
programs.less = {
# note that environment.nix sets PAGER=less, and
# therefore also enables this module
enable = mkEnableOption "less";
configFile = mkOption {
@ -81,7 +81,9 @@ in
envVariables = mkOption {
type = types.attrsOf types.str;
default = {};
default = {
LESS = "-R";
};
example = {
LESS = "--quit-if-one-screen";
};
@ -112,7 +114,7 @@ in
environment.systemPackages = [ pkgs.less ];
environment.variables = {
LESSKEY_SYSTEM = toString lessKey;
LESSKEYIN_SYSTEM = toString lessKey;
} // optionalAttrs (cfg.lessopen != null) {
LESSOPEN = cfg.lessopen;
} // optionalAttrs (cfg.lessclose != null) {

View File

@ -349,7 +349,7 @@ in
server = mkMerge [
{
DOMAIN = cfg.domain;
STATIC_ROOT_PATH = cfg.staticRootPath;
STATIC_ROOT_PATH = toString cfg.staticRootPath;
LFS_JWT_SECRET = "#lfsjwtsecret#";
ROOT_URL = cfg.rootUrl;
}

View File

@ -668,6 +668,9 @@ let
"SendOption"
"UserClass"
"VendorClass"
"DUIDType"
"DUIDRawData"
"IAID"
])
(assertValueOneOf "UseAddress" boolValues)
(assertValueOneOf "UseDNS" boolValues)
@ -677,6 +680,7 @@ let
(assertValueOneOf "ForceDHCPv6PDOtherInformation" boolValues)
(assertValueOneOf "WithoutRA" ["solicit" "information-request"])
(assertRange "SendOption" 1 65536)
(assertInt "IAID")
];
sectionDHCPv6PrefixDelegation = checkUnitConfig "DHCPv6PrefixDelegation" [

View File

@ -17,11 +17,11 @@ with lib;
stdenv.mkDerivation rec {
pname = "particl-core";
version = "0.19.2.13";
version = "0.19.2.14";
src = fetchurl {
url = "https://github.com/particl/particl-core/archive/v${version}.tar.gz";
sha256 = "sha256-eXlTfSjxOGZi/0/b7myqILJZYNcbK+QqQmq+PVkh1e8=";
sha256 = "sha256-UMU3384r4RGVl0/7OPwdDva09vhQr+9Lqb1oD/PTva8=";
};
nativeBuildInputs = [ pkg-config autoreconfHook ];

View File

@ -17,8 +17,8 @@ let
sha256Hash = "04k7c328bl8ixi8bvp2mm33q2hmv40yc9p5dff5cghyycarwpd3f";
};
latestVersion = { # canary & dev
version = "2021.1.1.12"; # "Android Studio Bumblebee (2021.1.1) Canary 12"
sha256Hash = "1dyn9435s0xbxwj28b0cciz6ry58pgfgba4rbny3jszxi5j3j0r1";
version = "2021.1.1.13"; # "Android Studio Bumblebee (2021.1.1) Canary 13"
sha256Hash = "04w5jw79fkxk4gy1n9iy8kjxg6k3zcl59z76f04rh556n12f01gm";
};
in {
# Attributes are named by their corresponding release channels

View File

@ -1,6 +1,6 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, libtool
, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre
, lcms2, openexr, libpng, liblqr1, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif
, lcms2, openexr, libjxl, libpng, liblqr1, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif
, ApplicationServices
, Foundation
, testVersion, imagemagick
@ -18,13 +18,13 @@ in
stdenv.mkDerivation rec {
pname = "imagemagick";
version = "7.1.0-6";
version = "7.1.0-8";
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick";
rev = version;
sha256 = "sha256-rwaMAkbSBTdrJ+OVZfAOBIp1tmC7/TC34w5gBIe+J94=";
sha256 = "17kgq0ja3bvc6b9lq3p29pk5j3w9f66nq6d8aidnq5qs6jwm1h5c";
};
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
@ -37,6 +37,9 @@ stdenv.mkDerivation rec {
++ (if arch != null then [ "--with-gcc-arch=${arch}" ] else [ "--without-gcc-arch" ])
++ lib.optional (librsvg != null) "--with-rsvg"
++ lib.optional (liblqr1 != null) "--with-lqr"
# libjxl is broken on aarch64 (see meta.broken in libjxl) for now,
# let's disable it for now to unbreak the imagemagick build.
++ lib.optional (libjxl != null && !stdenv.isAarch64) "--with-jxl"
++ lib.optionals (ghostscript != null)
[ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
"--with-gslib"
@ -51,6 +54,10 @@ stdenv.mkDerivation rec {
[ zlib fontconfig freetype ghostscript
liblqr1 libpng libtiff libxml2 libheif djvulibre
]
# libjxl is broken on aarch64 (see meta.broken in libjxl) for now,
# let's disable it for now to unbreak the imagemagick build.
++ lib.optionals (!stdenv.isAarch64)
[ libjxl ]
++ lib.optionals (!stdenv.hostPlatform.isMinGW)
[ openexr librsvg openjpeg ]
++ lib.optionals stdenv.isDarwin [

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "clight";
version = "4.6";
version = "4.7";
src = fetchFromGitHub {
owner = "FedeDP";
repo = "Clight";
rev = version;
sha256 = "sha256-5kFzVHxoiZi8tz42eUprm49JHCeuA4GPwtHvdiS2RJY=";
sha256 = "sha256-+u50XorUyeDsn4FaKdD0wEtQHkwtiyVDY0IAi0vehEQ=";
};
# dbus-1.pc has datadir=/etc

View File

@ -13,12 +13,10 @@ ocamlPackages.buildDunePackage rec {
sha256 = "1rx2nl6cdv609pfymnbq53pi3ql5fr4kda8x10ycd9xq2gc4f21g";
};
patches = [ ./prefix.patch ];
preConfigure = ''
patchShebangs scripts
substituteInPlace scripts/compute_prefix \
--replace '"topfind"' \
'"${ocamlPackages.findlib}/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib/topfind"'
export PREFIX=$out
substituteInPlace src/orpie/install.ml.in --replace '@prefix@' $out
'';
buildInputs = with ocamlPackages; [ curses camlp5 num gsl ];

View File

@ -0,0 +1,11 @@
--- a/src/orpie/dune 2021-10-05 06:09:09.040120000 +0200
+++ b/src/orpie/dune 2021-10-05 06:10:06.568418512 +0200
@@ -18,7 +18,7 @@
; Support $PREFIX for overriding installation location
(rule
(targets install.ml)
- (action (run %{project_root}/scripts/compute_prefix subst %{deps} %{targets}))
+ (action (copy# %{deps} %{targets}))
(deps (file install.ml.in)))

View File

@ -1,4 +1,13 @@
{ fetchFromGitHub, lib, gobject-introspection, gtk3, python3Packages }:
{ fetchFromGitHub
, lib
, gobject-introspection
, gtk3
, python3Packages
, wrapGAppsHook
, gdk-pixbuf
, libappindicator
, librsvg
}:
# Although we copy in the udev rules here, you probably just want to use
# logitech-udev-rules instead of adding this to services.udev.packages on NixOS
@ -13,6 +22,9 @@ python3Packages.buildPythonApplication rec {
sha256 = "sha256-Ys0005hIQ+fT4oMeU5iFtbLNqn1WM6iLdIKGwdyn7BM=";
};
nativeBuildInputs = [ wrapGAppsHook gdk-pixbuf ];
buildInputs = [ libappindicator librsvg ];
propagatedBuildInputs = with python3Packages; [
gobject-introspection
gtk3
@ -23,11 +35,6 @@ python3Packages.buildPythonApplication rec {
xlib
];
makeWrapperArgs = [
"--prefix PYTHONPATH : $PYTHONPATH"
"--prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH"
];
# the -cli symlink is just to maintain compabilility with older versions where
# there was a difference between the GUI and CLI versions.
postInstall = ''

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "xmrig";
version = "6.14.1";
version = "6.15.0";
src = fetchFromGitHub {
owner = "xmrig";
repo = "xmrig";
rev = "v${version}";
sha256 = "sha256-JJ20LKA4gnPXO6d2Cegr3I67k+ZZc69hdL1dTUIF5OM=";
sha256 = "sha256-AsYfByiI5W50T/kOhLtD/kUSwDOWMCo33OZ6WGmNcFk=";
};
nativeBuildInputs = [ cmake ];

View File

@ -44,14 +44,14 @@ let
pname = "slack";
x86_64-darwin-version = "4.19.0";
x86_64-darwin-sha256 = "0dj51lhxiba69as6x76ni8h20d36bcpf2xz3rxr1s8881mprpfsg";
x86_64-darwin-version = "4.20.0";
x86_64-darwin-sha256 = "1argl690i4dgz5ih02zg9v4zrlzm282wmibnc6p7xy5jisd5g79w";
x86_64-linux-version = "4.19.2";
x86_64-linux-sha256 = "02npmprwl1h7c2y03khvx8ifhk1gj1axbvlwigp2hkkjdw7y4b5a";
x86_64-linux-version = "4.20.0";
x86_64-linux-sha256 = "1r8w8s3y74lh4klsmzq2d3f0h721b3a2b53nx8v7b0s6j8w0g0mh";
aarch64-darwin-version = "4.19.0";
aarch64-darwin-sha256 = "1mvs1bdyyyrpqmrbqg4sxpy6ylgchwz39nr232s441iqdz45p87v";
aarch64-darwin-version = "4.20.0";
aarch64-darwin-sha256 = "1argl690i4dgz5ih02zg9v4zrlzm282wmibnc6p7xy5jisd5g79w";
version = {
x86_64-darwin = x86_64-darwin-version;
@ -73,7 +73,7 @@ let
sha256 = aarch64-darwin-sha256;
};
x86_64-linux = fetchurl {
url = "${base}/linux_releases/slack-desktop-${version}-amd64.deb";
url = "${base}/releases/linux/${version}/prod/x64/slack-desktop-${version}-amd64.deb";
sha256 = x86_64-linux-sha256;
};
}.${system} or throwSystem;

View File

@ -100,6 +100,7 @@ let
x86suffix = "28";
homepage = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html";
};
"21.08.0" = {
major = "21";
minor = "8";
@ -110,6 +111,17 @@ let
x86suffix = "40";
homepage = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html";
};
"21.09.0" = {
major = "21";
minor = "9";
patch = "0";
x64hash = "d58d5cbbcb5ace95b75b1400061d475b8e72dbdf5f03abacea6d39686991f848";
x86hash = "c646c52889e88aa0bb051070076763d5407f21fb6ad6dfcb0fe635ac01180c51";
x64suffix = "25";
x86suffix = "25";
homepage = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html";
};
};
# Retain attribute-names for abandoned versions of Citrix workspace to

View File

@ -19,16 +19,16 @@ let
maintainers = with maintainers; [ fliegendewurst ];
};
version = "0.47.7";
version = "0.47.8";
desktopSource = {
url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
sha256 = "1fcrc01wr8ln1i77q9h89i90wwyijpfp58fa717wbdvyly4860sh";
sha256 = "1vnwjiv4bidw5xspcd7d7fn8dbhvgia9ws363fs5zs48c9k2hwwz";
};
serverSource = {
url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
sha256 = "0qp37y3xgbhl6vj2bkwz1lfylkn82kx7n0lcfr58wxwkn00149ry";
sha256 = "1clgw0i3vbl8lrsjdjbn71yhim6356gm8h24831mnksb4sawhh7f";
};
in {

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "git-cliff";
version = "0.3.0";
version = "0.4.0";
src = fetchFromGitHub {
owner = "orhun";
repo = "git-cliff";
rev = "v${version}";
sha256 = "sha256-d0qY0yGvFf1V8NhS9cHEawkTqMAN6roReAHJ6FT9qJ4=";
sha256 = "sha256-9F15XHyFxcE48/ePwjvB7lLkw9FxoQd49G758nupRuk=";
};
cargoSha256 = "sha256-UxV9trTm4vZ/boWB7Sl6Dbwhjk8jQnB0QT6bC+aCL+A=";
cargoSha256 = "sha256-gPf4sGDbZzfzVJy+9k3FSOdJ5b8Xci1LTjIrCmP9bW8=";
# attempts to run the program on .git in src which is not deterministic
doCheck = false;

View File

@ -37,7 +37,11 @@ fi
for flag in "${!hardeningEnableMap[@]}"; do
case $flag in
pie)
if [[ ! ("$*" =~ " -shared " || "$*" =~ " -static " || "$*" =~ " -r " || "$*" =~ " -Ur " || "$*" =~ " -i ") ]]; then
if [[ ! (" $* " =~ " -shared " \
|| " $* " =~ " -static " \
|| " $* " =~ " -r " \
|| " $* " =~ " -Ur " \
|| " $* " =~ " -i ") ]]; then
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling LDFlags -pie >&2; fi
hardeningLDFlags+=('-pie')
fi

View File

@ -45,11 +45,12 @@ for flag in "${!hardeningEnableMap[@]}"; do
hardeningCFlags+=('-fstack-protector-strong' '--param' 'ssp-buffer-size=4')
;;
pie)
# NB: we do not use `+=` here, because PIE flags must occur before any PIC flags
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling CFlags -fPIE >&2; fi
hardeningCFlags+=('-fPIE')
if [[ ! ("$*" =~ " -shared " || "$*" =~ " -static ") ]]; then
hardeningCFlags=('-fPIE' "${hardeningCFlags[@]}")
if [[ ! (" $* " =~ " -shared " || " $* " =~ " -static ") ]]; then
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling LDFlags -pie >&2; fi
hardeningCFlags+=('-pie')
hardeningCFlags=('-pie' "${hardeningCFlags[@]}")
fi
;;
pic)

View File

@ -63,10 +63,9 @@ getRpathFromElfBinary() {
# NOTE: This does not use runPatchelf because it may encounter non-ELF
# files. Caller is expected to check the return code if needed.
local rpath
rpath="$(patchelf --print-rpath "$1" 2> /dev/null)" || return $?
IFS=':' read -ra rpath < <(patchelf --print-rpath "$1" 2> /dev/null) || return $?
local IFS=':'
printf "%s\n" $rpath
printf "%s\n" "${rpath[@]}"
}
populateCacheForDep() {
@ -115,8 +114,52 @@ populateCacheWithRecursiveDeps() {
done
}
getSoArch() {
$OBJDUMP -f "$1" | sed -ne 's/^architecture: *\([^,]\+\).*/\1/p'
getBinArch() {
$OBJDUMP -f "$1" 2> /dev/null | sed -ne 's/^architecture: *\([^,]\+\).*/\1/p'
}
# Returns the specific OS ABI for an ELF file in the format produced by
# readelf(1), like "UNIX - System V" or "UNIX - GNU".
getBinOsabi() {
$READELF -h "$1" 2> /dev/null | sed -ne 's/^[ \t]*OS\/ABI:[ \t]*\(.*\)/\1/p'
}
# Tests whether two OS ABIs are compatible, taking into account the generally
# accepted compatibility of SVR4 ABI with other ABIs.
areBinOsabisCompatible() {
local wanted="$1"
local got="$2"
if [[ -z "$wanted" || -z "$got" ]]; then
# One of the types couldn't be detected, so as a fallback we'll assume
# they're compatible.
return 0
fi
# Generally speaking, the base ABI (0x00), which is represented by
# readelf(1) as "UNIX - System V", indicates broad compatibility with other
# ABIs.
#
# TODO: This isn't always true. For example, some OSes embed ABI
# compatibility into SHT_NOTE sections like .note.tag and .note.ABI-tag.
# It would be prudent to add these to the detection logic to produce better
# ABI information.
if [[ "$wanted" == "UNIX - System V" ]]; then
return 0
fi
# Similarly here, we should be able to link against a superset of features,
# so even if the target has another ABI, this should be fine.
if [[ "$got" == "UNIX - System V" ]]; then
return 0
fi
# Otherwise, we simply return whether the ABIs are identical.
if [[ "$wanted" == "$got" ]]; then
return 0
fi
return 1
}
# NOTE: If you want to use this function outside of the autoPatchelf function,
@ -127,6 +170,7 @@ getSoArch() {
findDependency() {
local filename="$1"
local arch="$2"
local osabi="$3"
local lib dep
if [ $depCacheInitialised -eq 0 ]; then
@ -138,7 +182,7 @@ findDependency() {
for dep in "${autoPatchelfCachedDeps[@]}"; do
if [ "$filename" = "${dep##*/}" ]; then
if [ "$(getSoArch "$dep")" = "$arch" ]; then
if [ "$(getBinArch "$dep")" = "$arch" ] && areBinOsabisCompatible "$osabi" "$(getBinOsabi "$dep")"; then
foundDependency="$dep"
return 0
fi
@ -162,7 +206,24 @@ autoPatchelfFile() {
local dep rpath="" toPatch="$1"
local interpreter
interpreter="$(< "$NIX_CC/nix-support/dynamic-linker")"
interpreter="$(< "$NIX_BINTOOLS/nix-support/dynamic-linker")"
local interpreterArch interpreterOsabi toPatchArch toPatchOsabi
interpreterArch="$(getBinArch "$interpreter")"
interpreterOsabi="$(getBinOsabi "$interpreter")"
toPatchArch="$(getBinArch "$toPatch")"
toPatchOsabi="$(getBinOsabi "$toPatch")"
if [ "$interpreterArch" != "$toPatchArch" ]; then
# Our target architecture is different than this file's architecture,
# so skip it.
echo "skipping $toPatch because its architecture ($toPatchArch) differs from target ($interpreterArch)" >&2
return 0
elif ! areBinOsabisCompatible "$interpreterOsabi" "$toPatchOsabi"; then
echo "skipping $toPatch because its OS ABI ($toPatchOsabi) is not compatible with target ($interpreterOsabi)" >&2
return 0
fi
if isExecutable "$toPatch"; then
runPatchelf --set-interpreter "$interpreter" "$toPatch"
# shellcheck disable=SC2154
@ -175,7 +236,7 @@ autoPatchelfFile() {
fi
local libcLib
libcLib="$(< "$NIX_CC/nix-support/orig-libc")/lib"
libcLib="$(< "$NIX_BINTOOLS/nix-support/orig-libc")/lib"
echo "searching for dependencies of $toPatch" >&2
@ -187,14 +248,21 @@ autoPatchelfFile() {
# new package where you don't yet know its dependencies.
for dep in $missing; do
# Check whether this library exists in libc. If so, we don't need to do
# any futher searching -- it will be resolved correctly by the linker.
if [ -f "$libcLib/$dep" ]; then
if [[ "$dep" == /* ]]; then
# This is an absolute path. If it exists, just use it. Otherwise,
# we probably want this to produce an error when checked (because
# just updating the rpath won't satisfy it).
if [ -f "$dep" ]; then
continue
fi
elif [ -f "$libcLib/$dep" ]; then
# This library exists in libc, and will be correctly resolved by
# the linker.
continue
fi
echo -n " $dep -> " >&2
if findDependency "$dep" "$(getSoArch "$toPatch")"; then
if findDependency "$dep" "$toPatchArch" "$toPatchOsabi"; then
rpath="$rpath${rpath:+:}${foundDependency%/*}"
echo "found: $foundDependency" >&2
else

View File

@ -1,17 +1,23 @@
{ lib, fetchzip }:
{ lib, fetchzip, stdenvNoCC, writeText }:
let
version = "20210225";
in fetchzip {
in stdenvNoCC.mkDerivation {
name = "iana-etc-${version}";
url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz";
sha256 = "sha256-NVvZG3EJEYOXFDTBXD5m9sg/8msyMiBMkiZr+ZxWZ/g=";
src = fetchzip {
url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz";
sha256 = "sha256:1bbbnj2ya0apyyhnw37521yl1hrz3zy3l8dw6sacmir0y6pmx9gi";
};
postFetch = ''
tar -xzvf $downloadedFile --strip-components=1
installPhase = ''
install -D -m0644 -t $out/etc services protocols
'';
setupHook = writeText "setup-hook" ''
export NIX_ETC_PROTOCOLS=@out@/etc/protocols
export NIX_ETC_SERVICES=@out@/etc/services
'';
meta = with lib; {
homepage = "https://github.com/Mic92/iana-etc";
description = "IANA protocol and port number assignments (/etc/protocols and /etc/services)";

View File

@ -1,7 +1,7 @@
{ fetchFromGitHub, fetchgit, fetchHex, rebar3Relx, buildRebar3, rebar3-proper
, stdenv, writeScript, lib }:
let
version = "0.19.0";
version = "0.20.0";
owner = "erlang-ls";
repo = "erlang_ls";
deps = import ./rebar-deps.nix {
@ -19,7 +19,7 @@ rebar3Relx {
inherit version;
src = fetchFromGitHub {
inherit owner repo;
sha256 = "sha256-WesGgLoVR435lNXnsCFYcUoKXDMuL7hWImDluori+dc=";
sha256 = "sha256-XBCauvPalIPjVOYlMfWC+5mKku28b/qqKhp9NgSkoyA=";
rev = version;
};
releaseType = "escript";

View File

@ -1,5 +1,5 @@
{ fetchurl, lib, stdenv, autoconf, automake, libtool, gmp
, darwin
, darwin, libunistring
}:
stdenv.mkDerivation rec {
@ -13,9 +13,10 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoconf automake libtool ];
buildInputs = lib.optional stdenv.isDarwin
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.ApplicationServices
;
libunistring
];
propagatedBuildInputs = [ gmp ];

View File

@ -73,7 +73,9 @@ let majorVersion = "10";
++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
# Obtain latest patch with ../update-mcfgthread-patches.sh
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch;
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch
++ [ ../libsanitizer-no-cyclades.patch ];
/* Cross-gcc settings (build == host != target) */
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";

View File

@ -78,7 +78,9 @@ let majorVersion = "11";
})
# Obtain latest patch with ../update-mcfgthread-patches.sh
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch;
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch
++ [ ../libsanitizer-no-cyclades.patch ];
/* Cross-gcc settings (build == host != target) */
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";

View File

@ -86,6 +86,13 @@ let majorVersion = "4";
../struct-ucontext-4.8.patch
../sigsegv-not-declared.patch
../res_state-not-declared.patch
# gcc-11 compatibility
(fetchpatch {
name = "gcc4-char-reload.patch";
url = "https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=d57c99458933a21fdf94f508191f145ad8d5ec58";
includes = [ "gcc/reload.h" ];
sha256 = "sha256-66AMP7/ajunGKAN5WJz/yPn42URZ2KN51yPrFdsxEuM=";
})
];
javaEcj = fetchurl {

View File

@ -98,7 +98,18 @@ let majorVersion = "4";
{ commit = "98c7bf9ddc80db965d69d61521b1c7a1cec32d9a"; sha256 = "1d7pfdv1q23nf0wadw7jbp6d6r7pnzjpbyxgbdfv7j1vr9l1bp60"; }
{ commit = "3dc76b53ad896494ca62550a7a752fecbca3f7a2"; sha256 = "0jvdzfpvfdmklfcjwqblwq1i22iqis7ljpvm7adra5d7zf2xk7xz"; }
{ commit = "1e961ed49b18e176c7457f53df2433421387c23b"; sha256 = "04dnqqs4qsvz4g8cq6db5id41kzys7hzhcaycwmc9rpqygs2ajwz"; }
{ commit = "e137c72d099f9b3b47f4cc718aa11eab14df1a9c"; sha256 = "1ms0dmz74yf6kwgjfs4d2fhj8y6mcp2n184r3jk44wx2xc24vgb2"; }];
{ commit = "e137c72d099f9b3b47f4cc718aa11eab14df1a9c"; sha256 = "1ms0dmz74yf6kwgjfs4d2fhj8y6mcp2n184r3jk44wx2xc24vgb2"; }]
++ [
../libsanitizer-no-cyclades-9.patch
# gcc-11 compatibility
(fetchpatch {
name = "gcc4-char-reload.patch";
url = "https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=d57c99458933a21fdf94f508191f145ad8d5ec58";
includes = [ "gcc/reload.h" ];
sha256 = "sha256-66AMP7/ajunGKAN5WJz/yPn42URZ2KN51yPrFdsxEuM=";
})
];
javaEcj = fetchurl {
# The `$(top_srcdir)/ecj.jar' file is automatically picked up at

View File

@ -87,7 +87,9 @@ let majorVersion = "6";
++ optional (targetPlatform.libc == "musl" && targetPlatform.isx86_32) (fetchpatch {
url = "https://git.alpinelinux.org/aports/plain/main/gcc/gcc-6.1-musl-libssp.patch?id=5e4b96e23871ee28ef593b439f8c07ca7c7eb5bb";
sha256 = "1jf1ciz4gr49lwyh8knfhw6l5gvfkwzjy90m7qiwkcbsf4a3fqn2";
});
})
++ [ ../libsanitizer-no-cyclades-9.patch ];
javaEcj = fetchurl {
# The `$(top_srcdir)/ecj.jar' file is automatically picked up at

View File

@ -84,7 +84,9 @@ let majorVersion = "7";
++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
# Obtain latest patch with ../update-mcfgthread-patches.sh
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch;
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch
++ [ ../libsanitizer-no-cyclades-9.patch ];
/* Cross-gcc settings (build == host != target) */
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";

View File

@ -71,7 +71,9 @@ let majorVersion = "8";
++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
# Obtain latest patch with ../update-mcfgthread-patches.sh
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch;
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch
++ [ ../libsanitizer-no-cyclades-9.patch ];
/* Cross-gcc settings (build == host != target) */
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";

View File

@ -87,7 +87,9 @@ let majorVersion = "9";
++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
# Obtain latest patch with ../update-mcfgthread-patches.sh
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch;
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch
++ [ ../libsanitizer-no-cyclades-9.patch ];
/* Cross-gcc settings (build == host != target) */
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";

View File

@ -0,0 +1,82 @@
https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=2b40941d23b1570cdd90083b58fa0f66aa58c86e
https://gcc.gnu.org/PR100379
--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
@@ -365,15 +365,6 @@ static void ioctl_table_fill() {
#if SANITIZER_LINUX && !SANITIZER_ANDROID
// _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
- _(CYGETDEFTHRESH, WRITE, sizeof(int));
- _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
- _(CYGETMON, WRITE, struct_cyclades_monitor_sz);
- _(CYGETTHRESH, WRITE, sizeof(int));
- _(CYGETTIMEOUT, WRITE, sizeof(int));
- _(CYSETDEFTHRESH, NONE, 0);
- _(CYSETDEFTIMEOUT, NONE, 0);
- _(CYSETTHRESH, NONE, 0);
- _(CYSETTIMEOUT, NONE, 0);
_(EQL_EMANCIPATE, WRITE, struct_ifreq_sz);
_(EQL_ENSLAVE, WRITE, struct_ifreq_sz);
_(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz);
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
@@ -157,7 +157,6 @@ typedef struct user_fpregs elf_fpregset_t;
# include <sys/procfs.h>
#endif
#include <sys/user.h>
-#include <linux/cyclades.h>
#include <linux/if_eql.h>
#include <linux/if_plip.h>
#include <linux/lp.h>
@@ -466,7 +465,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
#if SANITIZER_LINUX && !SANITIZER_ANDROID
unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
#if EV_VERSION > (0x010000)
unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry);
#else
@@ -833,15 +831,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
#if SANITIZER_LINUX && !SANITIZER_ANDROID
- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
- unsigned IOCTL_CYGETMON = CYGETMON;
- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH;
- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT;
- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH;
- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT;
- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH;
- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT;
unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE;
unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE;
unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG;
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -1040,7 +1040,6 @@ struct __sanitizer_cookie_io_functions_t {
#if SANITIZER_LINUX && !SANITIZER_ANDROID
extern unsigned struct_ax25_parms_struct_sz;
- extern unsigned struct_cyclades_monitor_sz;
extern unsigned struct_input_keymap_entry_sz;
extern unsigned struct_ipx_config_data_sz;
extern unsigned struct_kbdiacrs_sz;
@@ -1385,15 +1384,6 @@ struct __sanitizer_cookie_io_functions_t {
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
#if SANITIZER_LINUX && !SANITIZER_ANDROID
- extern unsigned IOCTL_CYGETDEFTHRESH;
- extern unsigned IOCTL_CYGETDEFTIMEOUT;
- extern unsigned IOCTL_CYGETMON;
- extern unsigned IOCTL_CYGETTHRESH;
- extern unsigned IOCTL_CYGETTIMEOUT;
- extern unsigned IOCTL_CYSETDEFTHRESH;
- extern unsigned IOCTL_CYSETDEFTIMEOUT;
- extern unsigned IOCTL_CYSETTHRESH;
- extern unsigned IOCTL_CYSETTIMEOUT;
extern unsigned IOCTL_EQL_EMANCIPATE;
extern unsigned IOCTL_EQL_ENSLAVE;
extern unsigned IOCTL_EQL_GETMASTRCFG;
--
2.27.0

View File

@ -0,0 +1,83 @@
https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=2bf34b9f4e446bf9be7f04458058dd5319fb396e
https://gcc.gnu.org/PR100379
--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
@@ -366,15 +366,6 @@ static void ioctl_table_fill() {
#if SANITIZER_LINUX && !SANITIZER_ANDROID
// _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
- _(CYGETDEFTHRESH, WRITE, sizeof(int));
- _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
- _(CYGETMON, WRITE, struct_cyclades_monitor_sz);
- _(CYGETTHRESH, WRITE, sizeof(int));
- _(CYGETTIMEOUT, WRITE, sizeof(int));
- _(CYSETDEFTHRESH, NONE, 0);
- _(CYSETDEFTIMEOUT, NONE, 0);
- _(CYSETTHRESH, NONE, 0);
- _(CYSETTIMEOUT, NONE, 0);
_(EQL_EMANCIPATE, WRITE, struct_ifreq_sz);
_(EQL_ENSLAVE, WRITE, struct_ifreq_sz);
_(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz);
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
@@ -130,7 +130,6 @@ typedef struct user_fpregs elf_fpregset_t;
# include <sys/procfs.h>
#endif
#include <sys/user.h>
-#include <linux/cyclades.h>
#include <linux/if_eql.h>
#include <linux/if_plip.h>
#include <linux/lp.h>
@@ -443,7 +442,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
#if SANITIZER_LINUX && !SANITIZER_ANDROID
unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
#if EV_VERSION > (0x010000)
unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry);
#else
@@ -809,15 +807,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
#endif // SANITIZER_LINUX
#if SANITIZER_LINUX && !SANITIZER_ANDROID
- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
- unsigned IOCTL_CYGETMON = CYGETMON;
- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH;
- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT;
- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH;
- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT;
- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH;
- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT;
unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE;
unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE;
unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG;
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -974,7 +974,6 @@ extern unsigned struct_vt_mode_sz;
#if SANITIZER_LINUX && !SANITIZER_ANDROID
extern unsigned struct_ax25_parms_struct_sz;
-extern unsigned struct_cyclades_monitor_sz;
extern unsigned struct_input_keymap_entry_sz;
extern unsigned struct_ipx_config_data_sz;
extern unsigned struct_kbdiacrs_sz;
@@ -1319,15 +1318,6 @@ extern unsigned IOCTL_VT_WAITACTIVE;
#endif // SANITIZER_LINUX
#if SANITIZER_LINUX && !SANITIZER_ANDROID
-extern unsigned IOCTL_CYGETDEFTHRESH;
-extern unsigned IOCTL_CYGETDEFTIMEOUT;
-extern unsigned IOCTL_CYGETMON;
-extern unsigned IOCTL_CYGETTHRESH;
-extern unsigned IOCTL_CYGETTIMEOUT;
-extern unsigned IOCTL_CYSETDEFTHRESH;
-extern unsigned IOCTL_CYSETDEFTIMEOUT;
-extern unsigned IOCTL_CYSETTHRESH;
-extern unsigned IOCTL_CYSETTIMEOUT;
extern unsigned IOCTL_EQL_EMANCIPATE;
extern unsigned IOCTL_EQL_ENSLAVE;
extern unsigned IOCTL_EQL_GETMASTRCFG;
--
2.33.0

View File

@ -57,6 +57,7 @@ stdenv.mkDerivation {
./codesign.patch # Revert compiler-rt commit that makes codesign mandatory
./find-darwin-sdk-version.patch # don't test for macOS being >= 10.15
./gnu-install-dirs.patch
../../common/compiler-rt/libsanitizer-no-cyclades-11.patch
]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;

View File

@ -58,6 +58,7 @@ stdenv.mkDerivation {
# ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the
# extra `/`.
./normalize-var.patch
../../common/compiler-rt/libsanitizer-no-cyclades-11.patch
]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;

View File

@ -57,7 +57,8 @@ stdenv.mkDerivation {
./gnu-install-dirs.patch
] ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
++ lib.optional (stdenv.hostPlatform.libc == "glibc") ./sys-ustat.patch
++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch
++ [ ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch ];
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
# to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra

View File

@ -82,6 +82,9 @@ stdenv.mkDerivation ({
substituteInPlace unittests/Support/CMakeLists.txt \
--replace "Path.cpp" ""
rm unittests/Support/Path.cpp
# llvm-5 does not support dwarf-5 style info, fails on gcc-11.
rm test/tools/llvm-symbolizer/print_context.c
'' + optionalString stdenv.isAarch64 ''
patch -p0 < ${../../aarch64.patch}
'' + optionalString stdenv.hostPlatform.isMusl ''

View File

@ -55,6 +55,7 @@ stdenv.mkDerivation {
# https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
../../common/compiler-rt/glibc.patch
./gnu-install-dirs.patch
../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
] ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;

View File

@ -57,6 +57,7 @@ stdenv.mkDerivation {
../../common/compiler-rt/glibc.patch
./codesign.patch # Revert compiler-rt commit that makes codesign mandatory
./gnu-install-dirs.patch
../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
] ++ lib.optional (useLLVM) ./crtbegin-and-end.patch
++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;

View File

@ -57,6 +57,7 @@ stdenv.mkDerivation {
../../common/compiler-rt/glibc.patch
./codesign.patch # Revert compiler-rt commit that makes codesign mandatory
./gnu-install-dirs.patch
../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
++ lib.optional (useLLVM) ./crtbegin-and-end.patch
++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;

View File

@ -57,6 +57,7 @@ stdenv.mkDerivation {
../../common/compiler-rt/glibc.patch
./codesign.patch # Revert compiler-rt commit that makes codesign mandatory
./gnu-install-dirs.patch
../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;

View File

@ -0,0 +1,80 @@
https://github.com/llvm/llvm-project/commit/68d5235cb58f988c71b403334cd9482d663841ab.patch
https://reviews.llvm.org/D102059
--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
@@ -370,15 +370,6 @@ static void ioctl_table_fill() {
#if SANITIZER_GLIBC
// _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
- _(CYGETDEFTHRESH, WRITE, sizeof(int));
- _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
- _(CYGETMON, WRITE, struct_cyclades_monitor_sz);
- _(CYGETTHRESH, WRITE, sizeof(int));
- _(CYGETTIMEOUT, WRITE, sizeof(int));
- _(CYSETDEFTHRESH, NONE, 0);
- _(CYSETDEFTIMEOUT, NONE, 0);
- _(CYSETTHRESH, NONE, 0);
- _(CYSETTIMEOUT, NONE, 0);
_(EQL_EMANCIPATE, WRITE, struct_ifreq_sz);
_(EQL_ENSLAVE, WRITE, struct_ifreq_sz);
_(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz);
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
@@ -143,7 +143,6 @@ typedef struct user_fpregs elf_fpregset_t;
# include <sys/procfs.h>
#endif
#include <sys/user.h>
-#include <linux/cyclades.h>
#include <linux/if_eql.h>
#include <linux/if_plip.h>
#include <linux/lp.h>
@@ -460,7 +459,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
#if SANITIZER_GLIBC
unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
#if EV_VERSION > (0x010000)
unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry);
#else
@@ -824,15 +822,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
#endif // SANITIZER_LINUX
#if SANITIZER_LINUX && !SANITIZER_ANDROID
- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
- unsigned IOCTL_CYGETMON = CYGETMON;
- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH;
- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT;
- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH;
- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT;
- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH;
- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT;
unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE;
unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE;
unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG;
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -983,7 +983,6 @@ extern unsigned struct_vt_mode_sz;
#if SANITIZER_LINUX && !SANITIZER_ANDROID
extern unsigned struct_ax25_parms_struct_sz;
-extern unsigned struct_cyclades_monitor_sz;
extern unsigned struct_input_keymap_entry_sz;
extern unsigned struct_ipx_config_data_sz;
extern unsigned struct_kbdiacrs_sz;
@@ -1328,15 +1327,6 @@ extern unsigned IOCTL_VT_WAITACTIVE;
#endif // SANITIZER_LINUX
#if SANITIZER_LINUX && !SANITIZER_ANDROID
-extern unsigned IOCTL_CYGETDEFTHRESH;
-extern unsigned IOCTL_CYGETDEFTIMEOUT;
-extern unsigned IOCTL_CYGETMON;
-extern unsigned IOCTL_CYGETTHRESH;
-extern unsigned IOCTL_CYGETTIMEOUT;
-extern unsigned IOCTL_CYSETDEFTHRESH;
-extern unsigned IOCTL_CYSETDEFTIMEOUT;
-extern unsigned IOCTL_CYSETTHRESH;
-extern unsigned IOCTL_CYSETTIMEOUT;
extern unsigned IOCTL_EQL_EMANCIPATE;
extern unsigned IOCTL_EQL_ENSLAVE;
extern unsigned IOCTL_EQL_GETMASTRCFG;

View File

@ -0,0 +1,80 @@
https://github.com/llvm/llvm-project/commit/68d5235cb58f988c71b403334cd9482d663841ab.patch
https://reviews.llvm.org/D102059
--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
@@ -370,15 +370,6 @@ static void ioctl_table_fill() {
#if SANITIZER_GLIBC
// _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
- _(CYGETDEFTHRESH, WRITE, sizeof(int));
- _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
- _(CYGETMON, WRITE, struct_cyclades_monitor_sz);
- _(CYGETTHRESH, WRITE, sizeof(int));
- _(CYGETTIMEOUT, WRITE, sizeof(int));
- _(CYSETDEFTHRESH, NONE, 0);
- _(CYSETDEFTIMEOUT, NONE, 0);
- _(CYSETTHRESH, NONE, 0);
- _(CYSETTIMEOUT, NONE, 0);
_(EQL_EMANCIPATE, WRITE, struct_ifreq_sz);
_(EQL_ENSLAVE, WRITE, struct_ifreq_sz);
_(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz);
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
@@ -143,7 +143,6 @@ typedef struct user_fpregs elf_fpregset_t;
# include <sys/procfs.h>
#endif
#include <sys/user.h>
-#include <linux/cyclades.h>
#include <linux/if_eql.h>
#include <linux/if_plip.h>
#include <linux/lp.h>
@@ -460,7 +459,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
#if SANITIZER_GLIBC
unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
#if EV_VERSION > (0x010000)
unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry);
#else
@@ -824,15 +822,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
#endif // SANITIZER_LINUX
#if SANITIZER_LINUX && !SANITIZER_ANDROID
- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
- unsigned IOCTL_CYGETMON = CYGETMON;
- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH;
- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT;
- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH;
- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT;
- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH;
- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT;
unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE;
unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE;
unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG;
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -983,7 +983,6 @@ extern unsigned struct_vt_mode_sz;
#if SANITIZER_LINUX && !SANITIZER_ANDROID
extern unsigned struct_ax25_parms_struct_sz;
- extern unsigned struct_cyclades_monitor_sz;
extern unsigned struct_input_keymap_entry_sz;
extern unsigned struct_ipx_config_data_sz;
extern unsigned struct_kbdiacrs_sz;
@@ -1328,15 +1327,6 @@ extern unsigned IOCTL_VT_WAITACTIVE;
#endif // SANITIZER_LINUX
#if SANITIZER_LINUX && !SANITIZER_ANDROID
- extern unsigned IOCTL_CYGETDEFTHRESH;
- extern unsigned IOCTL_CYGETDEFTIMEOUT;
- extern unsigned IOCTL_CYGETMON;
- extern unsigned IOCTL_CYGETTHRESH;
- extern unsigned IOCTL_CYGETTIMEOUT;
- extern unsigned IOCTL_CYSETDEFTHRESH;
- extern unsigned IOCTL_CYSETDEFTIMEOUT;
- extern unsigned IOCTL_CYSETTHRESH;
- extern unsigned IOCTL_CYSETTIMEOUT;
extern unsigned IOCTL_EQL_EMANCIPATE;
extern unsigned IOCTL_EQL_ENSLAVE;
extern unsigned IOCTL_EQL_GETMASTRCFG;

View File

@ -1,4 +1,4 @@
{ stdenv, lib, version, src, cmake, python3, llvm, libcxxabi }:
{ stdenv, lib, version, src, cmake, python3, llvm, libcxxabi, fetchpatch }:
stdenv.mkDerivation rec {
pname = "compiler-rt";
inherit version src;
@ -31,7 +31,13 @@ stdenv.mkDerivation rec {
patches = [
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
];
(fetchpatch {
name = "libsanitizer-no-cyclades-rocm.patch";
url = "https://reviews.llvm.org/file/data/nrhbpc5axblqwx2xyyzv/PHID-FILE-wwcpjvquusomoddmqcwo/file";
sha256 = "sha256-PMMSLr2zHuNDn1OWqumqHwB74ktJSHxhJWkqEKB7Z64=";
stripLen = 1;
})
];
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks

View File

@ -4,7 +4,12 @@ with lib; mkCoqDerivation {
pname = "StructTact";
owner = "uwplse";
inherit version;
defaultVersion = if versions.isGe "8.5" coq.coq-version then "20181102" else null;
defaultVersion = with versions; switch coq.coq-version [
{ case = range "8.6" "8.14"; out = "20210328"; }
{ case = range "8.5" "8.13"; out = "20181102"; }
] null;
release."20210328".rev = "179bd5312e9d8b63fc3f4071c628cddfc496d741";
release."20210328".sha256 = "sha256:1y5r1zm3hli10ah6lnj7n8hxad6rb6rgldd0g7m2fjibzvwqzhdg";
release."20181102".rev = "82a85b7ec07e71fa6b30cfc05f6a7bfb09ef2510";
release."20181102".sha256 = "08zry20flgj7qq37xk32kzmg4fg6d4wi9m7pf9aph8fd3j2a0b5v";
preConfigure = "patchShebangs ./configure";

View File

@ -6,9 +6,12 @@ with lib; mkCoqDerivation {
owner = "uwplse";
inherit version;
defaultVersion = with versions; switch coq.coq-version [
{ case = isGe "8.7"; out = "20200131"; }
{ case = isEq "8.6"; out = "20181102"; }
{ case = range "8.7" "8.14"; out = "20210524"; }
{ case = range "8.7" "8.13"; out = "20200131"; }
{ case = "8.6"; out = "20181102"; }
] null;
release."20210524".rev = "54597d8ac7ab7dd4dae683f651237644bf77701e";
release."20210524".sha256 = "sha256:05wb0km2jkhvi8807glxk9fi1kll4lwisiyzkxhqvymz4x6v8xqv";
release."20200131".rev = "fdb4ede19d2150c254f0ebcfbed4fb9547a734b0";
release."20200131".sha256 = "1a2k19f9q5k5djbxplqmmpwck49kw3lrm3aax920h4yb40czkd8m";
release."20181102".rev = "25b79cf1be5527ab8dc1b8314fcee93e76a2e564";

View File

@ -1477,7 +1477,11 @@ self: super: {
hercules-ci-cli = generateOptparseApplicativeCompletion "hci" (
# See hercules-ci-optparse-applicative in non-hackage-packages.nix.
addBuildDepend (unmarkBroken super.hercules-ci-cli) super.hercules-ci-optparse-applicative
addBuildDepend
(overrideCabal
(unmarkBroken super.hercules-ci-cli)
(drv: { hydraPlatforms = [ super.hercules-ci-cli.meta.platforms ]; }))
super.hercules-ci-optparse-applicative
);
# Readline uses Distribution.Simple from Cabal 2, in a way that is not

View File

@ -45,9 +45,7 @@
# enableLTO is a subset of the enableOptimizations flag that doesn't harm reproducibility.
# enabling LTO on 32bit arch causes downstream packages to fail when linking
# enabling LTO on *-darwin causes python3 to fail when linking.
# enabling LTO with musl and dynamic linking fails with a linker error although it should
# be possible as alpine is doing it: https://github.com/alpinelinux/aports/blob/a8ccb04668c7729e0f0db6c6ff5f25d7519e779b/main/python3/APKBUILD#L82
, enableLTO ? stdenv.is64bit && stdenv.isLinux && !(stdenv.hostPlatform.isMusl && !stdenv.hostPlatform.isStatic)
, enableLTO ? stdenv.is64bit && stdenv.isLinux
, reproducibleBuild ? false
, pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}"
}:

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "eigen";
version = "3.3.9";
version = "3.4.0";
src = fetchFromGitLab {
owner = "libeigen";
repo = pname;
rev = version;
sha256 = "sha256-JMIG7CLMndUsECfbKpXE3BtVFuAjn+CZvf8GXZpLkFQ=";
sha256 = "sha256-1/4xMetKMDOgZgzz3WMxfHUEpmdAm52RqZvz6i0mLEw=";
};
patches = [

View File

@ -1,23 +1,22 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
@@ -1,5 +1,5 @@
# cmake_minimum_require must be the first command of the file
-cmake_minimum_required(VERSION 3.5.0)
+cmake_minimum_required(VERSION 3.7.0)
project(Eigen3)
-cmake_minimum_required(VERSION 2.8.5)
+cmake_minimum_required(VERSION 3.7)
# guard against in-source builds
@@ -407,7 +407,7 @@ set(PKGCONFIG_INSTALL_DIR
CACHE STRING "The directory relative to CMAKE_PREFIX_PATH where eigen3.pc is installed"
@@ -443,7 +443,7 @@ set(PKGCONFIG_INSTALL_DIR
CACHE PATH "The directory relative to CMAKE_INSTALL_PREFIX where eigen3.pc is installed"
)
-foreach(var INCLUDE_INSTALL_DIR CMAKEPACKAGE_INSTALL_DIR PKGCONFIG_INSTALL_DIR)
+foreach(var CMAKEPACKAGE_INSTALL_DIR PKGCONFIG_INSTALL_DIR)
# If an absolute path is specified, make it relative to "{CMAKE_INSTALL_PREFIX}".
if(IS_ABSOLUTE "${${var}}")
message(FATAL_ERROR "${var} must be relative to CMAKE_PREFIX_PATH. Got: ${${var}}")
endif()
@@ -429,13 +429,6 @@ install(FILES
file(RELATIVE_PATH "${var}" "${CMAKE_INSTALL_PREFIX}" "${${var}}")
@@ -466,13 +466,6 @@ install(FILES
DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel
)
@ -28,10 +27,10 @@
- )
-endif()
-
add_subdirectory(Eigen)
install(DIRECTORY Eigen DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel)
add_subdirectory(doc EXCLUDE_FROM_ALL)
@@ -531,8 +524,15 @@ set ( EIGEN_VERSION_MAJOR ${EIGEN_WORLD_VERSION} )
@@ -593,8 +586,15 @@ set ( EIGEN_VERSION_MAJOR ${EIGEN_WORLD_VERSION} )
set ( EIGEN_VERSION_MINOR ${EIGEN_MAJOR_VERSION} )
set ( EIGEN_VERSION_PATCH ${EIGEN_MINOR_VERSION} )
set ( EIGEN_DEFINITIONS "")
@ -46,8 +45,8 @@
+ )
+endif()
# Interface libraries require at least CMake 3.0
if (NOT CMAKE_VERSION VERSION_LESS 3.0)
include (CMakePackageConfigHelpers)
--- a/eigen3.pc.in
+++ b/eigen3.pc.in
@@ -6,4 +6,4 @@ Description: A C++ template library for linear algebra: vectors, matrices, and r

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, libXi, libXrandr, libXxf86vm, libGL, libGLU, xlibsWrapper, cmake }:
{ lib, stdenv, fetchurl, fetchpatch, libXi, libXrandr, libXxf86vm, libGL, libGLU, xlibsWrapper, cmake }:
stdenv.mkDerivation rec {
pname = "freeglut";
@ -9,6 +9,15 @@ stdenv.mkDerivation rec {
sha256 = "0s6sk49q8ijgbsrrryb7dzqx2fa744jhx1wck5cz5jia2010w06l";
};
patches = [
(fetchpatch {
# upstream build fix against -fno-common compilers like >=gcc-10
url = "https://github.com/dcnieho/FreeGLUT/commit/b9998bbc1e1c329f6bf69c24606a2be7a4973b8c.patch";
sha256 = "0j43vrnm22mz3r3c43szgcnil19cx9vcydzky9gwzqlyacr51swd";
stripLen = 2;
})
];
outputs = [ "out" "dev" ];
nativeBuildInputs = [ cmake ];

View File

@ -14,25 +14,19 @@
stdenv.mkDerivation rec {
pname = "gd";
version = "2.3.0";
version = "2.3.2";
src = fetchurl {
url = "https://github.com/libgd/libgd/releases/download/${pname}-${version}/libgd-${version}.tar.xz";
sha256 = "0n5czhxzinvjvmhkf5l9fwjdx5ip69k5k7pj6zwb6zs1k9dibngc";
sha256 = "1yypywkh8vphcy4qqpf51kxpb0a3r7rjqk3fc61rpn70hiq092j7";
};
hardeningDisable = [ "format" ];
patches = [
# Fixes an issue where some other packages would fail to build
# their documentation with an error like:
# "Error: Problem doing text layout"
#
# Can be removed if Wayland can still be built successfully with
# documentation.
(fetchpatch {
url = "https://github.com/libgd/libgd/commit/3dd0e308cbd2c24fde2fc9e9b707181252a2de95.patch";
excludes = [ "tests/gdimagestringft/.gitignore" ];
sha256 = "12iqlanl9czig9d7c3rvizrigw2iacimnmimfcny392dv9iazhl1";
name = "CVE-2021-40812.partial.patch";
url = "https://github.com/libgd/libgd/commit/6f5136821be86e7068fcdf651ae9420b5d42e9a9.patch";
sha256 = "11rvhd23bl05ksj8z39hwrhqqjm66svr4hl3y230wrc64rvnd2d2";
})
];

View File

@ -134,8 +134,6 @@ stdenv.mkDerivation rec {
"-DG_DISABLE_CAST_CHECKS"
];
hardeningDisable = [ "pie" ];
postPatch = ''
chmod +x gio/tests/gengiotypefuncs.py
patchShebangs gio/tests/gengiotypefuncs.py

View File

@ -120,6 +120,9 @@ stdenv.mkDerivation ({
})
./fix-x64-abi.patch
/* https://github.com/NixOS/nixpkgs/pull/137601 */
./nix-nss-open-files.patch
]
++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch
++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch;

View File

@ -0,0 +1,51 @@
diff --git a/nss/nss_files/files-XXX.c b/nss/nss_files/files-XXX.c
index 1db9e46127..3a567e0224 100644
--- a/nss/nss_files/files-XXX.c
+++ b/nss/nss_files/files-XXX.c
@@ -75,8 +75,20 @@ internal_setent (FILE **stream)
if (*stream == NULL)
{
- *stream = __nss_files_fopen (DATAFILE);
-
+ const char *file = DATAFILE;
+
+ #ifdef NIX_DATAFILE
+ // use the Nix environment variable such as `NIX_ETC_PROTOCOLS`
+ char *path = secure_getenv (NIX_DATAFILE);
+
+ // if the environment variable is set, then read from the /nix/store entry instead
+ if (path && path[0]) {
+ file = path;
+ }
+ #endif
+
+ *stream = __nss_files_fopen (file);
+
if (*stream == NULL)
status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL;
}
diff --git a/nss/nss_files/files-proto.c b/nss/nss_files/files-proto.c
index c30bedc0aa..b321e68d3c 100644
--- a/nss/nss_files/files-proto.c
+++ b/nss/nss_files/files-proto.c
@@ -23,6 +23,7 @@ NSS_DECLARE_MODULE_FUNCTIONS (files)
#define ENTNAME protoent
#define DATABASE "protocols"
+#define NIX_DATAFILE "NIX_ETC_PROTOCOLS"
struct protoent_data {};
diff --git a/nss/nss_files/files-service.c b/nss/nss_files/files-service.c
index bfc2590699..0bff36aee5 100644
--- a/nss/nss_files/files-service.c
+++ b/nss/nss_files/files-service.c
@@ -24,6 +24,7 @@ NSS_DECLARE_MODULE_FUNCTIONS (files)
#define ENTNAME servent
#define DATABASE "services"
+#define NIX_DATAFILE "NIX_ETC_SERVICES"
struct servent_data {};

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "intel";
repo = "gmmlib";
rev = "${pname}-${version}";
rev = "intel-gmmlib-${version}";
sha256 = "0dzqfgbd0fxl8rxgf5nmj1jd4izzaqfb0s53l96qwz1j57q5ybj5";
};
@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
OpenCL(TM) and the Intel(R) Media Driver for VAAPI.
'';
platforms = [ "x86_64-linux" "i686-linux" ];
maintainers = with maintainers; [ primeos ];
maintainers = with maintainers; [ primeos SuperSandro2000 ];
};
}

View File

@ -1,7 +1,14 @@
{ lib, stdenv, fetchFromGitHub
, cmake, pkg-config
, libva, libpciaccess, intel-gmmlib
, enableX11 ? stdenv.isLinux, libX11
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
, pkg-config
, libva
, libpciaccess
, intel-gmmlib
, enableX11 ? stdenv.isLinux
, libX11
}:
stdenv.mkDerivation rec {
@ -11,12 +18,20 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ];
src = fetchFromGitHub {
owner = "intel";
repo = "media-driver";
rev = "intel-media-${version}";
owner = "intel";
repo = "media-driver";
rev = "intel-media-${version}";
sha256 = "1ch1bvqg6p0i7ahblhy0h9c43y2mfhqb25v1s344iqsrywwcpzzr";
};
patches = [
# fix platform detection
(fetchpatch {
url = "https://salsa.debian.org/multimedia-team/intel-media-driver-non-free/-/raw/master/debian/patches/0002-Remove-settings-based-on-ARCH.patch";
sha256 = "sha256-f4M0CPtAVf5l2ZwfgTaoPw7sPuAP/Uxhm5JSHEGhKT0=";
})
];
cmakeFlags = [
"-DINSTALL_DRIVER_SYSCONF=OFF"
"-DLIBVA_DRIVERS_PATH=${placeholder "out"}/lib/dri"
@ -24,6 +39,8 @@ stdenv.mkDerivation rec {
"-DMEDIA_RUN_TEST_SUITE=OFF"
];
NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.hostPlatform.system == "i686-linux") "-D_FILE_OFFSET_BITS=64";
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ libva libpciaccess intel-gmmlib ]
@ -45,6 +62,6 @@ stdenv.mkDerivation rec {
changelog = "https://github.com/intel/media-driver/releases/tag/intel-media-${version}";
license = with licenses; [ bsd3 mit ];
platforms = platforms.linux;
maintainers = with maintainers; [ primeos jfrankenau ];
maintainers = with maintainers; [ primeos jfrankenau SuperSandro2000 ];
};
}

View File

@ -13,10 +13,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook ];
# This can be removed after >=1.20.0, or if the build suceeds with
# pie enabled (default on Musl).
hardeningDisable = [ "pie" ];
# This problem is gone on libiscsi master.
NIX_CFLAGS_COMPILE =
lib.optional stdenv.hostPlatform.is32bit "-Wno-error=sign-compare";

View File

@ -12,7 +12,10 @@ stdenv.mkDerivation rec {
configureFlags =
lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "ac_cv_func_malloc_0_nonnull=yes" ];
patches = [ ./fedora-fixes.patch ];
patches = [
./fedora-fixes.patch
./fno-common.patch
];
doCheck = false; # fails

View File

@ -0,0 +1,32 @@
Fix build faiure on gcc-10 (defaults to -fno-common).
--- a/src/omx_reference_resource_manager.c
+++ b/src/omx_reference_resource_manager.c
@@ -30,6 +30,11 @@
#include "base/omx_base_component.h"
#include "queue.h"
+int globalIndex;
+NameIndexType *listOfcomponentRegistered;
+ComponentListType **globalComponentList;
+ComponentListType **globalWaitingComponentList;
+
/**
* This is the static base pointer of the list
*/
--- a/src/omx_reference_resource_manager.h
+++ b/src/omx_reference_resource_manager.h
@@ -49,10 +49,10 @@ struct NameIndexType {
};
-int globalIndex;
-NameIndexType *listOfcomponentRegistered;
-ComponentListType **globalComponentList;
-ComponentListType **globalWaitingComponentList;
+extern int globalIndex;
+extern NameIndexType *listOfcomponentRegistered;
+extern ComponentListType **globalComponentList;
+extern ComponentListType **globalWaitingComponentList;
OMX_ERRORTYPE RM_RegisterComponent(char *name, int max_components);
OMX_ERRORTYPE addElemToList(ComponentListType **list, OMX_COMPONENTTYPE *openmaxStandComp, int index, OMX_BOOL bIsWaiting);

View File

@ -15,7 +15,10 @@
}:
let
enableValgrindTests = !stdenv.isDarwin && lib.meta.availableOn stdenv.hostPlatform valgrind;
enableValgrindTests = !stdenv.isDarwin && lib.meta.availableOn stdenv.hostPlatform valgrind
# Apparently valgrind doesn't support some new ARM features on (some) Hydra machines:
# VEX: Mismatch detected between RDMA and atomics features.
&& !stdenv.isAarch64;
in stdenv.mkDerivation rec {
pname = "libpsl";
version = "0.21.0";

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, autoreconfHook, xz, coreutils }:
{ stdenv, lib, fetchurl, fetchpatch, autoreconfHook, xz, coreutils }:
stdenv.mkDerivation rec {
pname = "libunwind";
@ -9,7 +9,15 @@ stdenv.mkDerivation rec {
sha256 = "0dc46flppifrv2z0mrdqi60165ghxm1wk0g47vcbyzjdplqwjnfz";
};
patches = [ ./backtrace-only-with-glibc.patch ];
patches = [
./backtrace-only-with-glibc.patch
(fetchpatch {
# upstream build fix against -fno-common compilers like >=gcc-10
url = "https://github.com/libunwind/libunwind/commit/29e17d8d2ccbca07c423e3089a6d5ae8a1c9cb6e.patch";
sha256 = "1angwfq6h0jskg6zx8g6w9min38g5mgmrcbppcy5hqn59cgsxbw0";
})
];
postPatch = lib.optionalString stdenv.hostPlatform.isMusl ''
substituteInPlace configure.ac --replace "-lgcc_s" "-lgcc_eh"

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "libva" + lib.optionalString minimal "minimal";
version = "2.12.0";
version = "2.13.0";
src = fetchFromGitHub {
owner = "intel";
repo = "libva";
rev = version;
sha256 = "1zfv4kjx0715sy62lkpv0s31f9xwy232z5zwqi5all4w1jr630i7";
sha256 = "0vsvli3xc0gqqp06p7wkm973lhr7c5qgnyz5jfjmf8kv75rajazp";
};
outputs = [ "dev" "out" ];

View File

@ -13,6 +13,8 @@
, withValgrind ? !stdenv.isDarwin && lib.meta.availableOn stdenv.hostPlatform valgrind-light, valgrind-light
, enableGalliumNine ? stdenv.isLinux
, enableOSMesa ? stdenv.isLinux
, enableOpenCL ? stdenv.isLinux && stdenv.isx86_64
, libclc
}:
/** Packaging design:
@ -31,7 +33,7 @@ with lib;
let
# Release calendar: https://www.mesa3d.org/release-calendar.html
# Release frequency: https://www.mesa3d.org/releasing.html#schedule
version = "21.2.2";
version = "21.2.3";
branch = versions.major version;
self = stdenv.mkDerivation {
@ -45,7 +47,7 @@ self = stdenv.mkDerivation {
"ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
"ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
];
sha256 = "1i75k6gh76f49vy6kksbsikf593jmgk6slqwbs1fs5s2jyzz3an4";
sha256 = "0x3ivd34j938js2iffzlvnlj4hwywxrscd8q1rvq894x2m52hibj";
};
# TODO:
@ -53,7 +55,7 @@ self = stdenv.mkDerivation {
# ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog
patches = [
./missing-includes.patch # dev_t needs sys/stat.h, time_t needs time.h, etc.-- fixes build w/musl
./opencl-install-dir.patch
./opencl.patch
./disk_cache-include-dri-driver-path-in-cache-key.patch
# Fix `-Werror=int-conversion` pthread warnings on musl.
# TODO: Remove when https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6121 is merged and available
@ -88,7 +90,8 @@ self = stdenv.mkDerivation {
outputs = [ "out" "dev" "drivers" ]
++ lib.optional enableOSMesa "osmesa"
++ lib.optional stdenv.isLinux "driversdev";
++ lib.optional stdenv.isLinux "driversdev"
++ lib.optional enableOpenCL "opencl";
# TODO: Figure out how to enable opencl without having a runtime dependency on clang
mesonFlags = [
@ -118,6 +121,9 @@ self = stdenv.mkDerivation {
"-Dmicrosoft-clc=disabled" # Only relevant on Windows (OpenCL 1.2 API on top of D3D12)
] ++ optionals stdenv.isLinux [
"-Dglvnd=true"
] ++ optionals enableOpenCL [
"-Dgallium-opencl=icd" # Enable the gallium OpenCL frontend
"-Dclang-libdir=${llvmPackages.clang-unwrapped.lib}/lib"
];
buildInputs = with xorg; [
@ -128,6 +134,7 @@ self = stdenv.mkDerivation {
] ++ lib.optionals (elem "wayland" eglPlatforms) [ wayland wayland-protocols ]
++ lib.optionals stdenv.isLinux [ libomxil-bellagio libva-minimal ]
++ lib.optionals stdenv.isDarwin [ libunwind ]
++ lib.optionals enableOpenCL [ libclc llvmPackages.clang llvmPackages.clang-unwrapped ]
++ lib.optional withValgrind valgrind-light;
depsBuildBuild = [ pkg-config ];
@ -162,7 +169,7 @@ self = stdenv.mkDerivation {
if [ -n "$(shopt -s nullglob; echo "$out"/lib/lib*_mesa*)" ]; then
# Move other drivers to a separate output
mv $out/lib/lib*_mesa* $drivers/lib
mv -t $drivers/lib $out/lib/lib*_mesa*
fi
# Update search path used by glvnd
@ -175,6 +182,17 @@ self = stdenv.mkDerivation {
for js in $drivers/share/vulkan/icd.d/*.json; do
substituteInPlace "$js" --replace "$out" "$drivers"
done
'' + optionalString enableOpenCL ''
# Move OpenCL stuff
mkdir -p $opencl/lib
mv -t "$opencl/lib/" \
$out/lib/gallium-pipe \
$out/lib/libMesaOpenCL*
# We construct our own .icd file that contains an absolute path.
rm -r $out/etc/OpenCL
mkdir -p $opencl/etc/OpenCL/vendors/
echo $opencl/lib/libMesaOpenCL.so > $opencl/etc/OpenCL/vendors/mesa.icd
'' + lib.optionalString enableOSMesa ''
# move libOSMesa to $osmesa, as it's relatively big
mkdir -p $osmesa/lib
@ -209,7 +227,10 @@ self = stdenv.mkDerivation {
done
'';
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-fno-common";
NIX_CFLAGS_COMPILE = optionals stdenv.isDarwin [ "-fno-common" ] ++ lib.optionals enableOpenCL [
"-UPIPE_SEARCH_DIR"
"-DPIPE_SEARCH_DIR=\"${placeholder "opencl"}/lib/gallium-pipe\""
];
passthru = {
inherit libdrm;

View File

@ -1,12 +0,0 @@
diff --git a/src/gallium/targets/opencl/meson.build b/src/gallium/targets/opencl/meson.build
index 317ad8dab4a..5567308caf0 100644
--- a/src/gallium/targets/opencl/meson.build
+++ b/src/gallium/targets/opencl/meson.build
@@ -68,6 +68,6 @@ if with_opencl_icd
input : 'mesa.icd.in',
output : 'mesa.icd',
install : true,
- install_dir : join_paths(get_option('sysconfdir'), 'OpenCL', 'vendors'),
+ install_dir : join_paths(get_option('prefix'), 'etc', 'OpenCL', 'vendors'),
)
endif

View File

@ -0,0 +1,70 @@
diff --git a/meson_options.txt b/meson_options.txt
index a7030aba31e..1d2d8814992 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -18,6 +18,12 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
+option(
+ 'clang-libdir',
+ type : 'string',
+ value : '',
+ description : 'Locations to search for clang libraries.'
+)
option(
'platforms',
type : 'array',
diff --git a/src/gallium/targets/opencl/meson.build b/src/gallium/targets/opencl/meson.build
index b77826b6e1e..14fa9ba7177 100644
--- a/src/gallium/targets/opencl/meson.build
+++ b/src/gallium/targets/opencl/meson.build
@@ -30,6 +30,7 @@ if with_ld_version_script
endif
llvm_libdir = dep_llvm.get_variable(cmake : 'LLVM_LIBRARY_DIR', configtool: 'libdir')
+clang_libdir = get_option('clang-libdir')
opencl_libname = with_opencl_icd ? 'MesaOpenCL' : 'OpenCL'
polly_dep = null_dep
@@ -60,19 +61,19 @@ else
endif
if not (dep_clang.found() and dep_clang_usable)
dep_clang = [
- cpp.find_library('clangCodeGen', dirs : llvm_libdir),
- cpp.find_library('clangFrontendTool', dirs : llvm_libdir),
- cpp.find_library('clangFrontend', dirs : llvm_libdir),
- cpp.find_library('clangDriver', dirs : llvm_libdir),
- cpp.find_library('clangSerialization', dirs : llvm_libdir),
- cpp.find_library('clangParse', dirs : llvm_libdir),
- cpp.find_library('clangSema', dirs : llvm_libdir),
- cpp.find_library('clangAnalysis', dirs : llvm_libdir),
- cpp.find_library('clangAST', dirs : llvm_libdir),
- cpp.find_library('clangASTMatchers', dirs : llvm_libdir),
- cpp.find_library('clangEdit', dirs : llvm_libdir),
- cpp.find_library('clangLex', dirs : llvm_libdir),
- cpp.find_library('clangBasic', dirs : llvm_libdir),
+ cpp.find_library('clangCodeGen', dirs : clang_libdir),
+ cpp.find_library('clangFrontendTool', dirs : clang_libdir),
+ cpp.find_library('clangFrontend', dirs : clang_libdir),
+ cpp.find_library('clangDriver', dirs : clang_libdir),
+ cpp.find_library('clangSerialization', dirs : clang_libdir),
+ cpp.find_library('clangParse', dirs : clang_libdir),
+ cpp.find_library('clangSema', dirs : clang_libdir),
+ cpp.find_library('clangAnalysis', dirs : clang_libdir),
+ cpp.find_library('clangAST', dirs : clang_libdir),
+ cpp.find_library('clangASTMatchers', dirs : clang_libdir),
+ cpp.find_library('clangEdit', dirs : clang_libdir),
+ cpp.find_library('clangLex', dirs : clang_libdir),
+ cpp.find_library('clangBasic', dirs : clang_libdir),
polly_dep, polly_isl_dep,
]
# check clang once more
@@ -120,6 +121,6 @@ if with_opencl_icd
input : 'mesa.icd.in',
output : 'mesa.icd',
install : true,
- install_dir : join_paths(get_option('sysconfdir'), 'OpenCL', 'vendors'),
+ install_dir : join_paths(get_option('prefix'), 'etc', 'OpenCL', 'vendors'),
)
endif

View File

@ -8,7 +8,7 @@
stdenv.mkDerivation rec {
pname = "openexr";
version = "3.1.1";
version = "3.1.2";
outputs = [ "bin" "dev" "out" "doc" ];
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
owner = "AcademySoftwareFoundation";
repo = "openexr";
rev = "v${version}";
sha256 = "1p0l07vfpb25fx6jcgk1747v8x9xgpifx4cvvgi3g2473wlx6pyb";
sha256 = "0vyclrrikphwkkpyjg8kzh3qzflzk3d6xsidgqllgfdgllr9wmgv";
};
nativeBuildInputs = [ cmake ];

View File

@ -1,30 +1,33 @@
{ lib, stdenv, fetchurl }:
{ lib
, stdenv
, fetchurl
}:
stdenv.mkDerivation rec {
pname = "pcre2";
version = "10.36";
version = "10.37";
src = fetchurl {
url = "https://ftp.pcre.org/pub/pcre/${pname}-${version}.tar.bz2";
sha256 = "0p3699msps07p40g9426lvxa3b41rg7k2fn7qxl2jm0kh4kkkvx9";
hash = "sha256-TZWpbouAUpiTtFYr4SZI15i5V7G6Gq45YGu8KrlW0nA=";
};
# Disable jit on Apple Silicon, https://github.com/zherczeg/sljit/issues/51
configureFlags = [
"--enable-pcre2-16"
"--enable-pcre2-32"
] ++ lib.optional (!stdenv.hostPlatform.isRiscV && !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)) "--enable-jit";
] ++ lib.optional (!stdenv.hostPlatform.isRiscV &&
!(stdenv.hostPlatform.isDarwin &&
stdenv.hostPlatform.isAarch64)) "--enable-jit";
outputs = [ "bin" "dev" "out" "doc" "man" "devdoc" ];
doCheck = false; # fails 1 out of 3 tests, looks like a bug
postFixup = ''
moveToOutput bin/pcre2-config "$dev"
'';
meta = with lib; {
description = "Perl Compatible Regular Expressions";
homepage = "http://www.pcre.org/";
description = "Perl Compatible Regular Expressions";
license = licenses.bsd3;
maintainers = with maintainers; [ ttuegel ];
platforms = platforms.all;

View File

@ -11,7 +11,7 @@
, libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng
, libxcb, libxkbcommon, libxml2, libxslt, openssl, pcre16, pcre2, sqlite, udev
, xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, xcbutilwm
, zlib
, zlib, at-spi2-core
# optional dependencies
, cups ? null, libmysqlclient ? null, postgresql ? null
@ -68,7 +68,7 @@ stdenv.mkDerivation {
] ++ lib.optional libGLSupported libGL
);
buildInputs = [ python3 ]
buildInputs = [ python3 at-spi2-core ]
++ lib.optionals (!stdenv.isDarwin)
(
[ libinput ]
@ -84,6 +84,8 @@ stdenv.mkDerivation {
propagatedNativeBuildInputs = [ lndir ];
enableParallelBuilding = true;
outputs = [ "bin" "dev" "out" ];
inherit patches;

View File

@ -26,11 +26,21 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
autoreconfHook autoconf-archive pkg-config doxygen perl
];
buildInputs = [ openssl json_c curl libgcrypt ];
checkInputs = [
cmocka uthash ibm-sw-tpm2 iproute2 procps_pkg which
# cmocka is checked / used(?) in the configure script
# when unit and/or integration testing is enabled
buildInputs = [ openssl json_c curl libgcrypt uthash ]
# cmocka doesn't build with pkgsStatic, and we don't need it anyway
# when tests are not run
++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [
cmocka
];
checkInputs = [
cmocka which openssl procps_pkg iproute2 ibm-sw-tpm2
];
strictDeps = true;
preAutoreconf = "./bootstrap";
enableParallelBuilding = true;
@ -49,7 +59,7 @@ stdenv.mkDerivation rec {
--replace '@PREFIX@' $out/lib
'';
configureFlags = [
configureFlags = lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [
"--enable-unit"
"--enable-integration"
];

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "ucx";
version = "1.11.1";
version = "1.11.2";
src = fetchFromGitHub {
owner = "openucx";
repo = "ucx";
rev = "v${version}";
sha256 = "07yyvb87i2f4w9rlvkracwzm133phwjw4zv9rs7xw6ql4pkrhrr3";
sha256 = "0a4rbgr3hn3h42krb7lasfidhqcavacbpp1pv66l4lvfc0gkwi2i";
};
nativeBuildInputs = [ autoreconfHook doxygen ];

View File

@ -10,10 +10,9 @@ stdenv.mkDerivation {
buildInputs = [ ocaml findlib ];
createFindlibDestdir = true;
configurePhase = ''
mkdir $out/bin
preInstall = ''
mkdir -p $out/bin
mkdir -p $OCAMLFIND_DESTDIR
'';
dontBuild = true;

View File

@ -1,14 +1,14 @@
{ mkDerivation, fetchurl, makeWrapper, unzip, lib, php }:
let
pname = "composer";
version = "2.1.5";
version = "2.1.8";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://getcomposer.org/download/${version}/composer.phar";
sha256 = "1v4hjwbv1y5jvj91i2fj8bvmfsymp9ls8h231zd85svfqdy5b5dy";
sha256 = "141myfivdjnkx8myvkgl2sclhvx9z1c6a1my4xzscx0injhsrf3p";
};
dontUnpack = true;

View File

@ -18,13 +18,13 @@
buildPythonPackage rec {
pname = "ansible-lint";
version = "5.0.8";
version = "5.2.0";
disabled = isPy27;
format = "pyproject";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-tnuWKEB66bwVuwu3H3mHG99ZP+/msGhMDMRL5fyQgD8=";
sha256 = "sha256-eQIDVtk/UD0syGmnJw48BDFtUQ4ztiZO3AjH0NsOgGE=";
};
nativeBuildInputs = [
@ -52,18 +52,6 @@ buildPythonPackage rec {
"--numprocesses" "auto"
];
postPatch = ''
# Both patches are addressed in https://github.com/ansible-community/ansible-lint/pull/1549
# and should be removed once merged upstream
# fixes test_get_yaml_files_umlaut and test_run_inside_role_dir
substituteInPlace src/ansiblelint/file_utils.py \
--replace 'os.path.join(root, name)' 'os.path.normpath(os.path.join(root, name))'
# fixes test_custom_kinds
substituteInPlace src/ansiblelint/file_utils.py \
--replace "if name.endswith('.yaml') or name.endswith('.yml')" ""
'';
preCheck = ''
# ansible wants to write to $HOME and crashes if it can't
export HOME=$(mktemp -d)
@ -80,8 +68,18 @@ buildPythonPackage rec {
disabledTests = [
# requires network
"test_cli_auto_detect"
"test_install_collection"
"test_prerun_reqs_v1"
"test_prerun_reqs_v2"
"test_require_collection_wrong_version"
# re-execs ansible-lint which does not works correct
"test_custom_kinds"
"test_run_inside_role_dir"
"test_run_multiple_role_path_no_trailing_slash"
"test_runner_exclude_globs"
"test_discover_lintables_umlaut"
];
makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ ansible-base ]}" ];

View File

@ -8,12 +8,12 @@
buildPythonPackage rec {
pname = "bugsnag";
version = "4.1.0";
version = "4.1.1";
disabled = pythonOlder "3.5";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-3L1ZzZ7eomzJLvtlGK7YOi81b4G/1azHML/iAvsnwcE=";
sha256 = "cdbdb3e02ef0c0655bb55be8b05ec1cb830b5ec629923ccb24bfd71dede3d1c3";
};
propagatedBuildInputs = [ six webob ];

View File

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "django-webpack-loader";
version = "1.1.0";
version = "1.4.1";
src = fetchPypi {
inherit pname version;
sha256 = "c7f89a272a177a17a045ceab26bbb7e35d28ca5597c384de96817784b610c977";
sha256 = "7e34085b7fc4d352e482ff9cf7d09ae4524e730675e25432ab1d25a2dd94e583";
};
# django.core.exceptions.ImproperlyConfigured (path issue with DJANGO_SETTINGS_MODULE?)

View File

@ -6,13 +6,13 @@
buildPythonPackage rec {
pname = "emoji";
version = "1.5.2";
version = "1.6.0";
src = fetchFromGitHub {
owner = "carpedm20";
repo = pname;
rev = "v${version}";
sha256 = "11v8zqz183vpiyg2cp0fghb1hxqsn3yaydm1d97nqd9g2mfy37s1";
sha256 = "0sxqw1y070cpg7102a6a1bha8s25vwdgfcjp9nzlrzgd2p6pav41";
};
checkInputs = [

View File

@ -27,14 +27,14 @@
buildPythonPackage rec {
pname = "exchangelib";
version = "4.5.1";
version = "4.5.2";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "ecederstrand";
repo = pname;
rev = "v${version}";
sha256 = "0pj6rcink4awjyq1v30camilqr03kd0sb2p03fk9v4lm63d8w28f";
sha256 = "1zz4p13ww9y5x0ifvcj652hgfbjqbnmr3snwrs0p315sc3y47ggm";
};
propagatedBuildInputs = [

View File

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "google-cloud-access-context-manager";
version = "0.1.7";
version = "0.1.8";
src = fetchPypi {
inherit pname version;
sha256 = "02adf212c8d280298ffe03a0c91743618693ec394b42cbb85b4a29f8d9544afa";
sha256 = "29101f61fa0e07db6385a94da45aef8edb4efde0d2b700fbbf65164c045744a8";
};
postPatch = ''

View File

@ -6,6 +6,7 @@
, proto-plus
, pytestCheckHook
, pytest-asyncio
, pytz
, mock
}:
@ -18,7 +19,7 @@ buildPythonPackage rec {
sha256 = "fcb71ebe5c5b232d24fe7d666b65709e4fc8db43263c8182e5ed8e5a52abefec";
};
propagatedBuildInputs = [ google-api-core libcst proto-plus ];
propagatedBuildInputs = [ google-api-core libcst proto-plus pytz ];
checkInputs = [ mock pytestCheckHook pytest-asyncio ];
pythonImportsCheck = [

View File

@ -8,12 +8,12 @@
buildPythonPackage rec {
pname = "langcodes";
version = "3.1.0";
version = "3.2.0";
disabled = pythonOlder "3.3";
src = fetchPypi {
inherit pname version;
sha256 = "1ccd37e3a68760d29ec3b17f5962cd1d8f242f4d9705ad1601c5cb7fab48199c";
sha256 = "38e06cd104847be351b003a9857e79f108fb94b49dd2e84dbab905fd3777530a";
};
propagatedBuildInputs = [ marisa-trie ];

View File

@ -10,12 +10,12 @@
buildPythonPackage rec {
pname = "proto-plus";
version = "1.19.0";
version = "1.19.2";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "sha256-zmaVzoBDg61vOSxLsYdMMjiWKQofZWVg3jZBa6gy2R4=";
sha256 = "sha256-ylMLBxjGJbpj8VGrP83INrWTQ9FJt9/RXsLc6zhEwi0=";
};
propagatedBuildInputs = [ protobuf ];

View File

@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "pydaikin";
version = "2.4.4";
version = "2.6.0";
disabled = pythonOlder "3.6";
src = fetchFromBitbucket {
owner = "mustang51";
repo = pname;
rev = "v${version}";
sha256 = "sha256-G7SShq2zjd9KGM7t1KsAMehqm2onB5cYdcOO3k8Sb30=";
sha256 = "sha256-Fk6zMWgvhKp+7BMDGw89Akb4fgK6+xi+AyvEY3pdTQQ=";
};
propagatedBuildInputs = [
@ -28,7 +28,7 @@ buildPythonPackage rec {
urllib3
];
# while they have tests, they do not run them in their CI and they fail as of 2.4.4
# while they have tests, they do not run them in their CI and they fail as of 2.6.0
# AttributeError: 'DaikinBRP069' object has no attribute 'last_hour_cool_energy_consumption'
doCheck = false;

View File

@ -11,12 +11,12 @@
buildPythonPackage rec {
pname = "pylast";
version = "4.2.1";
version = "4.3.0";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-R1enQk6luuBiobMPDn5x1SXx7zUI/5c8dPtyWkmG/18=";
sha256 = "71fd876e3753009bd10ea55b3f8f7c5d68591ee18a4127d257fc4a418010aa5c";
};
nativeBuildInputs = [ setuptools-scm ];

View File

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "regenmaschine";
version = "3.1.5";
version = "3.2.0";
format = "pyproject";
disabled = pythonOlder "3.6";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "bachya";
repo = pname;
rev = version;
sha256 = "0jm4x66kk7aa19hablkij43vsnsyy85a638zjfjsqghwqppwklgw";
sha256 = "sha256-H3ZTts9tk0D53IcnmROCgylhVerctUg/AQCjFo5iJZY=";
};
nativeBuildInputs = [

View File

@ -4,15 +4,9 @@ Date: Mon, 20 Jul 2020 19:51:20 +0200
Subject: [PATCH] Disable tests that fail on Darwin (macOS) or with sandboxing
Signed-off-by: Sirio Balmelli <sirio@b-ad.ch>
---
test.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/test.py b/test.py
index f8029c0..ba1d141 100644
--- a/test.py
+++ b/test.py
@@ -404,6 +404,7 @@ exit(3)
@@ -377,6 +377,7 @@ exit(3)
self.assertEqual(sed(_in="one test three", e="s/test/two/").strip(),
"one two three")
@ -20,7 +14,7 @@ index f8029c0..ba1d141 100644
def test_ok_code(self):
from sh import ls, ErrorReturnCode_1, ErrorReturnCode_2
@@ -1004,6 +1005,7 @@ print(sys.argv[1])
@@ -982,6 +983,7 @@ print(sys.argv[1])
now = time.time()
self.assertGreater(now - start, sleep_time)
@ -28,7 +22,7 @@ index f8029c0..ba1d141 100644
def test_background_exception(self):
from sh import ls, ErrorReturnCode_1, ErrorReturnCode_2
p = ls("/ofawjeofj", _bg=True, _bg_exc=False) # should not raise
@@ -1801,6 +1803,7 @@ exit(49)
@@ -1779,6 +1781,7 @@ exit(49)
p = python(py.name, _ok_code=49, _bg=True)
self.assertEqual(49, p.exit_code)
@ -36,7 +30,15 @@ index f8029c0..ba1d141 100644
def test_cwd(self):
from sh import pwd
from os.path import realpath
@@ -2899,6 +2902,7 @@ print("hi")
@@ -2777,6 +2780,7 @@ print("cool")
# on osx. so skip it for now if osx
@not_macos
@requires_progs("lsof")
+ @skipUnless(False, "Flaky on Hydra")
def test_no_fd_leak(self):
import sh
import os
@@ -2879,6 +2883,7 @@ print("hi")
python(py.name, _in=stdin)
@requires_utf8
@ -44,6 +46,3 @@ index f8029c0..ba1d141 100644
def test_unicode_path(self):
from sh import Command
--
2.27.0

View File

@ -13,11 +13,11 @@
buildPythonPackage rec {
pname = "SQLAlchemy";
version = "1.4.23";
version = "1.4.25";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-dv8kaIH1KAib8ZOFExuWYZe7SUZTmQOW0s4TjipEdYM=";
sha256 = "sha256-Gt89JeLjOvvNSM+tgHb5N4eTvkPn/sPkM0MGysa+wTg=";
};
propagatedBuildInputs = [

View File

@ -13,11 +13,11 @@
buildPythonPackage rec {
pname = "stestr";
version = "3.2.0";
version = "3.2.1";
src = fetchPypi {
inherit pname version;
sha256 = "fb492cbdf3d3fdd6812645804efc84a99a68bb60dd7705f15c1a2949c8172bc4";
sha256 = "sha256-wj7nq0QSKNiDZZBKIk+4RC2gwCifkBz0qUIukpt76c0=";
};
postPatch = ''

View File

@ -12,11 +12,11 @@
buildPythonPackage rec {
pname = "testfixtures";
version = "6.18.1";
version = "6.18.3";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-CmQic39tibRc3vHi31V29SrQ9QeVYALOECDaqfRCEdY=";
sha256 = "sha256-JgAQCulv/QgjNLN441VVD++LSlKab6TDT0cTCQXHQm0=";
};
checkInputs = [

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "vt-py";
version = "0.7.4";
version = "0.7.5";
disabled = pythonOlder "3.6";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "VirusTotal";
repo = pname;
rev = version;
sha256 = "149fgrqnwf8nyv3msj6p614zbdi7m7s785y3fvh8fm8k7lmgqk8w";
sha256 = "sha256-vC2teem231Lw7cglVc+0M+QbgMgZ23JzTYy7wvnhFI4=";
};
propagatedBuildInputs = [

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