Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2020-12-22 00:46:42 +00:00 committed by GitHub
commit 55868ac425
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
39 changed files with 351 additions and 382 deletions

View File

@ -7349,6 +7349,12 @@
githubId = 1758708; githubId = 1758708;
name = "Răzvan Flavius Panda"; name = "Răzvan Flavius Panda";
}; };
rb2k = {
email = "nix@marc-seeger.com";
github = "rb2k";
githubId = 9519;
name = "Marc Seeger";
};
rbasso = { rbasso = {
email = "rbasso@sharpgeeks.net"; email = "rbasso@sharpgeeks.net";
github = "rbasso"; github = "rbasso";

View File

@ -18,9 +18,13 @@
bootSize ? "256M" bootSize ? "256M"
, # The files and directories to be placed in the target file system. , # The files and directories to be placed in the target file system.
# This is a list of attribute sets {source, target} where `source' # This is a list of attribute sets {source, target, mode, user, group} where
# is the file system object (regular file or directory) to be # `source' is the file system object (regular file or directory) to be
# grafted in the file system at path `target'. # grafted in the file system at path `target', `mode' is a string containing
# the permissions that will be set (ex. "755"), `user' and `group' are the
# user and group name that will be set as owner of the files.
# `mode', `user', and `group' are optional.
# When setting one of `user' or `group', the other needs to be set too.
contents ? [] contents ? []
, # Type of partition table to use; either "legacy", "efi", or "none". , # Type of partition table to use; either "legacy", "efi", or "none".
@ -60,6 +64,11 @@
assert partitionTableType == "legacy" || partitionTableType == "legacy+gpt" || partitionTableType == "efi" || partitionTableType == "hybrid" || partitionTableType == "none"; assert partitionTableType == "legacy" || partitionTableType == "legacy+gpt" || partitionTableType == "efi" || partitionTableType == "hybrid" || partitionTableType == "none";
# We use -E offset=X below, which is only supported by e2fsprogs # We use -E offset=X below, which is only supported by e2fsprogs
assert partitionTableType != "none" -> fsType == "ext4"; assert partitionTableType != "none" -> fsType == "ext4";
# Either both or none of {user,group} need to be set
assert lib.all
(attrs: ((attrs.user or null) == null)
== ((attrs.group or null) == null))
contents;
with lib; with lib;
@ -148,6 +157,9 @@ let format' = format; in let
# !!! should use XML. # !!! should use XML.
sources = map (x: x.source) contents; sources = map (x: x.source) contents;
targets = map (x: x.target) contents; targets = map (x: x.target) contents;
modes = map (x: x.mode or "''") contents;
users = map (x: x.user or "''") contents;
groups = map (x: x.group or "''") contents;
closureInfo = pkgs.closureInfo { rootPaths = [ config.system.build.toplevel channelSources ]; }; closureInfo = pkgs.closureInfo { rootPaths = [ config.system.build.toplevel channelSources ]; };
@ -174,22 +186,33 @@ let format' = format; in let
set -f set -f
sources_=(${concatStringsSep " " sources}) sources_=(${concatStringsSep " " sources})
targets_=(${concatStringsSep " " targets}) targets_=(${concatStringsSep " " targets})
modes_=(${concatStringsSep " " modes})
set +f set +f
for ((i = 0; i < ''${#targets_[@]}; i++)); do for ((i = 0; i < ''${#targets_[@]}; i++)); do
source="''${sources_[$i]}" source="''${sources_[$i]}"
target="''${targets_[$i]}" target="''${targets_[$i]}"
mode="''${modes_[$i]}"
if [ -n "$mode" ]; then
rsync_chmod_flags="--chmod=$mode"
else
rsync_chmod_flags=""
fi
# Unfortunately cptofs only supports modes, not ownership, so we can't use
# rsync's --chown option. Instead, we change the ownerships in the
# VM script with chown.
rsync_flags="-a --no-o --no-g $rsync_chmod_flags"
if [[ "$source" =~ '*' ]]; then if [[ "$source" =~ '*' ]]; then
# If the source name contains '*', perform globbing. # If the source name contains '*', perform globbing.
mkdir -p $root/$target mkdir -p $root/$target
for fn in $source; do for fn in $source; do
rsync -a --no-o --no-g "$fn" $root/$target/ rsync $rsync_flags "$fn" $root/$target/
done done
else else
mkdir -p $root/$(dirname $target) mkdir -p $root/$(dirname $target)
if ! [ -e $root/$target ]; then if ! [ -e $root/$target ]; then
rsync -a --no-o --no-g $source $root/$target rsync $rsync_flags $source $root/$target
else else
echo "duplicate entry $target -> $source" echo "duplicate entry $target -> $source"
exit 1 exit 1
@ -284,6 +307,21 @@ in pkgs.vmTools.runInLinuxVM (
# The above scripts will generate a random machine-id and we don't want to bake a single ID into all our images # The above scripts will generate a random machine-id and we don't want to bake a single ID into all our images
rm -f $mountPoint/etc/machine-id rm -f $mountPoint/etc/machine-id
# Set the ownerships of the contents. The modes are set in preVM.
# No globbing on targets, so no need to set -f
targets_=(${concatStringsSep " " targets})
users_=(${concatStringsSep " " users})
groups_=(${concatStringsSep " " groups})
for ((i = 0; i < ''${#targets_[@]}; i++)); do
target="''${targets_[$i]}"
user="''${users_[$i]}"
group="''${groups_[$i]}"
if [ -n "$user$group" ]; then
# We have to nixos-enter since we need to use the user and group of the VM
nixos-enter --root $mountPoint -- chown -R "$user:$group" "$target"
fi
done
umount -R /mnt umount -R /mnt
# Make sure resize2fs works. Note that resize2fs has stricter criteria for resizing than a normal # Make sure resize2fs works. Note that resize2fs has stricter criteria for resizing than a normal

View File

@ -176,7 +176,7 @@ in
postStart = '' postStart = ''
if test -e "${cfg.dbpath}/.first_startup"; then if test -e "${cfg.dbpath}/.first_startup"; then
${optionalString (cfg.initialScript != null) '' ${optionalString (cfg.initialScript != null) ''
${mongodb}/bin/mongo -u root -p ${cfg.initialRootPassword} admin "${cfg.initialScript}" ${mongodb}/bin/mongo ${optionalString (cfg.enableAuth) "-u root -p ${cfg.initialRootPassword}"} admin "${cfg.initialScript}"
''} ''}
rm -f "${cfg.dbpath}/.first_startup" rm -f "${cfg.dbpath}/.first_startup"
fi fi

View File

@ -23,19 +23,26 @@ in {
default = null; default = null;
description = "the thermald manual configuration file."; description = "the thermald manual configuration file.";
}; };
package = mkOption {
type = types.package;
default = pkgs.thermald;
defaultText = "pkgs.thermald";
description = "Which thermald package to use.";
};
}; };
}; };
###### implementation ###### implementation
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.dbus.packages = [ pkgs.thermald ]; services.dbus.packages = [ cfg.package ];
systemd.services.thermald = { systemd.services.thermald = {
description = "Thermal Daemon Service"; description = "Thermal Daemon Service";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
ExecStart = '' ExecStart = ''
${pkgs.thermald}/sbin/thermald \ ${cfg.package}/sbin/thermald \
--no-daemon \ --no-daemon \
${optionalString cfg.debug "--loglevel=debug"} \ ${optionalString cfg.debug "--loglevel=debug"} \
${optionalString (cfg.configFile != null) "--config-file ${cfg.configFile}"} \ ${optionalString (cfg.configFile != null) "--config-file ${cfg.configFile}"} \

View File

@ -37,6 +37,7 @@ let
"modemmanager" "modemmanager"
"nextcloud" "nextcloud"
"nginx" "nginx"
"nginxlog"
"node" "node"
"openvpn" "openvpn"
"postfix" "postfix"

View File

@ -0,0 +1,51 @@
{ config, lib, pkgs, options }:
with lib;
let
cfg = config.services.prometheus.exporters.nginxlog;
in {
port = 9117;
extraOpts = {
settings = mkOption {
type = types.attrs;
default = {};
description = ''
All settings of nginxlog expressed as an Nix attrset.
Check the official documentation for the corresponding YAML
settings that can all be used here: https://github.com/martin-helmich/prometheus-nginxlog-exporter
The `listen` object is already generated by `port`, `listenAddress` and `metricsEndpoint` and
will be merged with the value of `settings` before writting it as JSON.
'';
};
metricsEndpoint = mkOption {
type = types.str;
default = "/metrics";
description = ''
Path under which to expose metrics.
'';
};
};
serviceOpts = let
listenConfig = {
listen = {
port = cfg.port;
address = cfg.listenAddress;
metrics_endpoint = cfg.metricsEndpoint;
};
};
completeConfig = pkgs.writeText "nginxlog-exporter.yaml" (builtins.toJSON (lib.recursiveUpdate listenConfig cfg.settings));
in {
serviceConfig = {
ExecStart = ''
${pkgs.prometheus-nginxlog-exporter}/bin/prometheus-nginxlog-exporter -config-file ${completeConfig}
'';
Restart="always";
ProtectSystem="full";
};
};
}

View File

@ -280,6 +280,7 @@ in
openssh = handleTest ./openssh.nix {}; openssh = handleTest ./openssh.nix {};
openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {}; openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {};
openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {}; openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {};
image-contents = handleTest ./image-contents.nix {};
orangefs = handleTest ./orangefs.nix {}; orangefs = handleTest ./orangefs.nix {};
os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {}; os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {};
osrm-backend = handleTest ./osrm-backend.nix {}; osrm-backend = handleTest ./osrm-backend.nix {};

View File

@ -0,0 +1,51 @@
# Tests the contents attribute of nixos/lib/make-disk-image.nix
# including its user, group, and mode attributes.
{ system ? builtins.currentSystem,
config ? {},
pkgs ? import ../.. { inherit system config; }
}:
with import ../lib/testing-python.nix { inherit system pkgs; };
with pkgs.lib;
with import common/ec2.nix { inherit makeTest pkgs; };
let
config = (import ../lib/eval-config.nix {
inherit system;
modules = [
../modules/testing/test-instrumentation.nix
../modules/profiles/qemu-guest.nix
{
fileSystems."/".device = "/dev/disk/by-label/nixos";
boot.loader.grub.device = "/dev/vda";
boot.loader.timeout = 0;
}
];
}).config;
image = (import ../lib/make-disk-image.nix {
inherit pkgs config;
lib = pkgs.lib;
format = "qcow2";
contents = [{
source = pkgs.writeText "testFile" "contents";
target = "/testFile";
user = "1234";
group = "5678";
mode = "755";
}];
}) + "/nixos.qcow2";
in makeEc2Test {
name = "image-contents";
inherit image;
userData = null;
script = ''
machine.start()
assert "content" in machine.succeed("cat /testFile")
fileDetails = machine.succeed("ls -l /testFile")
assert "1234" in fileDetails
assert "5678" in fileDetails
assert "rwxr-xr-x" in fileDetails
'';
}

View File

@ -444,6 +444,67 @@ let
''; '';
}; };
nginxlog = {
exporterConfig = {
enable = true;
group = "nginx";
settings = {
namespaces = [
{
name = "filelogger";
source = {
files = [ "/var/log/nginx/filelogger.access.log" ];
};
}
{
name = "syslogger";
source = {
syslog = {
listen_address = "udp://127.0.0.1:10000";
format = "rfc3164";
tags = ["nginx"];
};
};
}
];
};
};
metricProvider = {
services.nginx = {
enable = true;
httpConfig = ''
server {
listen 80;
server_name filelogger.local;
access_log /var/log/nginx/filelogger.access.log;
}
server {
listen 81;
server_name syslogger.local;
access_log syslog:server=127.0.0.1:10000,tag=nginx,severity=info;
}
'';
};
};
exporterTest = ''
wait_for_unit("nginx.service")
wait_for_unit("prometheus-nginxlog-exporter.service")
wait_for_open_port(9117)
wait_for_open_port(80)
wait_for_open_port(81)
succeed("curl http://localhost")
execute("sleep 1")
succeed(
"curl -sSf http://localhost:9117/metrics | grep 'filelogger_http_response_count_total' | grep -q 1"
)
succeed("curl http://localhost:81")
execute("sleep 1")
succeed(
"curl -sSf http://localhost:9117/metrics | grep 'syslogger_http_response_count_total' | grep -q 1"
)
'';
};
node = { node = {
exporterConfig = { exporterConfig = {
enable = true; enable = true;

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "notion"; pname = "notion";
version = "4.0.1"; version = "4.0.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "raboof"; owner = "raboof";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1s0fyacygvc9iz7b9v3b2cmzzqc02nh4g1p9bfcxbg254iscd502"; sha256 = "14swd0yqci8lxn259fkd9w92bgyf4rmjwgvgyqp78wlfix6ai4mv";
}; };
nativeBuildInputs = [ pkgconfig makeWrapper groff ]; nativeBuildInputs = [ pkgconfig makeWrapper groff ];

View File

@ -3,7 +3,6 @@ var_templates_list=(
NIX_IGNORE_LD_THROUGH_GCC NIX_IGNORE_LD_THROUGH_GCC
NIX_LDFLAGS NIX_LDFLAGS
NIX_LDFLAGS_BEFORE NIX_LDFLAGS_BEFORE
NIX_DYNAMIC_LINKER
NIX_LDFLAGS_AFTER NIX_LDFLAGS_AFTER
NIX_LDFLAGS_HARDEN NIX_LDFLAGS_HARDEN
NIX_HARDENING_ENABLE NIX_HARDENING_ENABLE
@ -26,10 +25,6 @@ if [ -e @out@/nix-support/libc-ldflags ]; then
NIX_LDFLAGS_@suffixSalt@+=" $(< @out@/nix-support/libc-ldflags)" NIX_LDFLAGS_@suffixSalt@+=" $(< @out@/nix-support/libc-ldflags)"
fi fi
if [ -z "$NIX_DYNAMIC_LINKER_@suffixSalt@" ] && [ -e @out@/nix-support/dynamic-linker ]; then
NIX_DYNAMIC_LINKER_@suffixSalt@="$(< @out@/nix-support/dynamic-linker)"
fi
if [ -e @out@/nix-support/libc-ldflags-before ]; then if [ -e @out@/nix-support/libc-ldflags-before ]; then
NIX_LDFLAGS_BEFORE_@suffixSalt@="$(< @out@/nix-support/libc-ldflags-before) $NIX_LDFLAGS_BEFORE_@suffixSalt@" NIX_LDFLAGS_BEFORE_@suffixSalt@="$(< @out@/nix-support/libc-ldflags-before) $NIX_LDFLAGS_BEFORE_@suffixSalt@"
fi fi

View File

@ -243,6 +243,12 @@ stdenv.mkDerivation {
if [ -e ${libc_lib}/lib/32/ld-linux.so.2 ]; then if [ -e ${libc_lib}/lib/32/ld-linux.so.2 ]; then
echo ${libc_lib}/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32 echo ${libc_lib}/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32
fi fi
''
# The dynamic linker is passed in `ldflagsBefore' to allow
# explicit overrides of the dynamic linker by callers to ld
# (the *last* value counts, so ours should come first).
+ ''
echo -dynamic-linker "$dynamicLinker" >> $out/nix-support/libc-ldflags-before
'') + '' '') + ''
fi fi
'') '')

View File

@ -20,7 +20,6 @@ if [ -z "${NIX_BINTOOLS_WRAPPER_FLAGS_SET_@suffixSalt@:-}" ]; then
source @out@/nix-support/add-flags.sh source @out@/nix-support/add-flags.sh
fi fi
setDynamicLinker=1
# Optionally filter out paths not refering to the store. # Optionally filter out paths not refering to the store.
expandResponseParams "$@" expandResponseParams "$@"
@ -48,11 +47,6 @@ if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "${NIX_STORE:-}"
# Our ld is not built with sysroot support (Can we fix that?) # Our ld is not built with sysroot support (Can we fix that?)
: :
else else
if [[ "$p" = -static || "$p" = -static-pie ]]; then
# Using a dynamic linker for static binaries can lead to crashes.
# This was observed for rust binaries.
setDynamicLinker=0
fi
rest+=("$p") rest+=("$p")
fi fi
n+=1 n+=1
@ -69,11 +63,6 @@ extraBefore=(${hardeningLDFlags[@]+"${hardeningLDFlags[@]}"})
if [ -z "${NIX_LDFLAGS_SET_@suffixSalt@:-}" ]; then if [ -z "${NIX_LDFLAGS_SET_@suffixSalt@:-}" ]; then
extraAfter+=($NIX_LDFLAGS_@suffixSalt@) extraAfter+=($NIX_LDFLAGS_@suffixSalt@)
extraBefore+=($NIX_LDFLAGS_BEFORE_@suffixSalt@) extraBefore+=($NIX_LDFLAGS_BEFORE_@suffixSalt@)
# By adding dynamic linker to extraBefore we allow the users set their
# own dynamic linker as NIX_LD_FLAGS will override earlier set flags
if [ "$setDynamicLinker" = 1 ]; then
extraBefore+=("-dynamic-linker" "$NIX_DYNAMIC_LINKER_@suffixSalt@")
fi
fi fi
extraAfter+=($NIX_LDFLAGS_AFTER_@suffixSalt@) extraAfter+=($NIX_LDFLAGS_AFTER_@suffixSalt@)
@ -145,7 +134,7 @@ then
done done
fi fi
if [[ "$link32" = "1" && "$setDynamicLinker" = 1 && -e "@out@/nix-support/dynamic-linker-m32" ]]; then if [ -e "@out@/nix-support/dynamic-linker-m32" ] && (( "$link32" )); then
# We have an alternate 32-bit linker and we're producing a 32-bit ELF, let's # We have an alternate 32-bit linker and we're producing a 32-bit ELF, let's
# use it. # use it.
extraAfter+=( extraAfter+=(

View File

@ -28,7 +28,6 @@ cc1=0
[[ "@prog@" = *++ ]] && isCpp=1 || isCpp=0 [[ "@prog@" = *++ ]] && isCpp=1 || isCpp=0
cppInclude=1 cppInclude=1
cInclude=1 cInclude=1
setDynamicLinker=1
expandResponseParams "$@" expandResponseParams "$@"
declare -i n=0 declare -i n=0
@ -59,8 +58,6 @@ while (( "$n" < "$nParams" )); do
cppInclude=0 cppInclude=0
elif [ "$p" = -nostdinc++ ]; then elif [ "$p" = -nostdinc++ ]; then
cppInclude=0 cppInclude=0
elif [[ "$p" = -static || "$p" = -static-pie ]]; then
setDynamicLinker=0
elif [[ "$p" != -?* ]]; then elif [[ "$p" != -?* ]]; then
# A dash alone signifies standard input; it is not a flag # A dash alone signifies standard input; it is not a flag
nonFlagArgs=1 nonFlagArgs=1
@ -155,9 +152,6 @@ if [ "$dontLink" != 1 ]; then
for i in $NIX_LDFLAGS_BEFORE_@suffixSalt@; do for i in $NIX_LDFLAGS_BEFORE_@suffixSalt@; do
extraBefore+=("-Wl,$i") extraBefore+=("-Wl,$i")
done done
if [ "$setDynamicLinker" = 1 ]; then
extraBefore+=("-Wl,-dynamic-linker=$NIX_DYNAMIC_LINKER_@suffixSalt@")
fi
for i in $NIX_LDFLAGS_@suffixSalt@; do for i in $NIX_LDFLAGS_@suffixSalt@; do
if [ "${i:0:3}" = -L/ ]; then if [ "${i:0:3}" = -L/ ]; then
extraAfter+=("$i") extraAfter+=("$i")

View File

@ -278,25 +278,12 @@ stdenv.mkDerivation {
## ##
## GCC libs for non-GCC support ## GCC libs for non-GCC support
## ##
+ optionalString useGccForLibs ('' + optionalString useGccForLibs ''
''
# In theory we shouldn't need this, because we always set `useLLVM` on
# Darwin, and maybe also break down `useLLVM` into fine-grained use flags
# (libgcc vs compiler-rt, ld.lld vs legacy, libc++ vs libstdc++, etc.)
# since Darwin isn't `useLLVM` on all counts. (See
# https://clang.llvm.org/docs/Toolchain.html for all the axes one might
# break `useLLVM` into.)
#
# But, for now, we haven't doneo these things, so we use
# `targetPlatform.isLinux` as a proxy.
+ optionalString targetPlatform.isLinux ''
echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
'' + ''
echo "-B${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-cflags echo "-B${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-cflags
echo "-L${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-ldflags echo "-L${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-ldflags
echo "-L${gccForLibs.lib}/${targetPlatform.config}/lib" >> $out/nix-support/cc-ldflags echo "-L${gccForLibs.lib}/${targetPlatform.config}/lib" >> $out/nix-support/cc-ldflags
'') ''
## ##
## General libc support ## General libc support

View File

@ -26,6 +26,8 @@ let
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share" ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
''; '';
in { in {

View File

@ -26,6 +26,8 @@ let
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share" ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
''; '';
in { in {

View File

@ -25,6 +25,8 @@ let
ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
''; '';
in { in {

View File

@ -25,6 +25,8 @@ let
ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
''; '';
in { in {

View File

@ -25,6 +25,8 @@ let
ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
''; '';
in { in {

View File

@ -25,6 +25,8 @@ let
ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
''; '';
in { in {

View File

@ -25,6 +25,8 @@ let
ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc" ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
''; '';
in { in {

View File

@ -1,12 +1,12 @@
{ stdenv, fetchFromGitHub, callPackage, wrapCCWith }: { stdenv, fetchFromGitHub, callPackage, wrapCCWith }:
let let
version = "3.10.0"; version = "4.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RadeonOpenCompute"; owner = "RadeonOpenCompute";
repo = "llvm-project"; repo = "llvm-project";
rev = "rocm-${version}"; rev = "rocm-${version}";
hash = "sha256-Lnma831RXJMnn3N8im3QLy6dYfXAvtbeFX/0CKvpkgY="; hash = "sha256-nIvqEk18NLtY8Hec2Iq6ufWMblzYJ8SOIXgqomtqa0s=";
}; };
in rec { in rec {
clang = wrapCCWith rec { clang = wrapCCWith rec {

View File

@ -1,18 +1,37 @@
{ stdenv, fetchFromGitHub, cmake, boost, libevent, double-conversion, glog { stdenv
, gflags, libiberty, openssl }: , fetchFromGitHub
, cmake
, boost
, libevent
, double-conversion
, glog
, gflags
, libiberty
, lz4
, lzma
, zlib
, jemalloc
, openssl
, pkg-config
, libunwind
, fmt
}:
stdenv.mkDerivation rec { stdenv.mkDerivation (rec {
pname = "folly"; pname = "folly";
version = "2019.11.11.00"; version = "2020.09.28.00";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "facebook"; owner = "facebook";
repo = "folly"; repo = "folly";
rev = "v${version}"; rev = "v${version}";
sha256 = "1sgv7sdalbs7zhz3zcc95gn2h8j2xjf7hkw2c618zc3pdn6aa58w"; sha256 = "1ry2nqfavcbz0jvsqw71105gbxm5hpmdi2k1w155m957jrv3n5vg";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [
cmake
pkg-config
];
# See CMake/folly-deps.cmake in the Folly source tree. # See CMake/folly-deps.cmake in the Folly source tree.
buildInputs = [ buildInputs = [
@ -23,9 +42,15 @@ stdenv.mkDerivation rec {
libevent libevent
libiberty libiberty
openssl openssl
lz4
lzma
zlib
jemalloc
libunwind
fmt
]; ];
enableParallelBuilding = true; cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "An open-source C++ library developed and used at Facebook"; description = "An open-source C++ library developed and used at Facebook";
@ -35,4 +60,6 @@ stdenv.mkDerivation rec {
platforms = [ "x86_64-linux" "x86_64-darwin" ]; platforms = [ "x86_64-linux" "x86_64-darwin" ];
maintainers = with maintainers; [ abbradar pierreis ]; maintainers = with maintainers; [ abbradar pierreis ];
}; };
} } // stdenv.lib.optionalAttrs stdenv.isDarwin {
LDFLAGS = "-ljemalloc";
})

View File

@ -0,0 +1,32 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, python3 }:
stdenv.mkDerivation rec {
name = "libsmartcols";
version = "v2.36.1";
nativeBuildInputs = [ autoreconfHook pkgconfig python3 ];
src = fetchFromGitHub {
owner = "karelzak";
repo = "util-linux";
rev = version;
sha256 = "0z7nv054pqhlihqiw0vk3h40j0cxk1yxf8zzh0ddmvk6834cnyxs";
};
configureFlags = [ "--disable-all-programs" "--enable-libsmartcols" ];
buildPhase = ''
make libsmartcols.la
'';
installTargets = [ "install-am" "install-pkgconfigDATA" ];
meta = {
description = "smart column output alignment library";
homepage = https://github.com/karelzak/util-linux/tree/master/libsmartcols;
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
maintainers = with stdenv.lib.maintainers; [ rb2k ];
};
}

View File

@ -15,13 +15,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rocclr"; pname = "rocclr";
version = "3.10.0"; version = "4.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ROCm-Developer-Tools"; owner = "ROCm-Developer-Tools";
repo = "ROCclr"; repo = "ROCclr";
rev = "rocm-${version}"; rev = "rocm-${version}";
hash = "sha256-P36JKFgXSZagWzHB6WB2WlDu7jkVvfYVo1BaV0b8iEk="; hash = "sha256-B27ff1b9JRhxFUsBt7CGuYaR87hvKbVSCERWD45d8tM=";
}; };
nativeBuildInputs = [ cmake rocm-cmake ]; nativeBuildInputs = [ cmake rocm-cmake ];

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rocm-comgr"; pname = "rocm-comgr";
version = "3.10.0"; version = "4.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RadeonOpenCompute"; owner = "RadeonOpenCompute";

View File

@ -9,7 +9,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rocm-device-libs"; pname = "rocm-device-libs";
version = "3.10.0"; version = "4.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RadeonOpenCompute"; owner = "RadeonOpenCompute";

View File

@ -21,7 +21,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rocm-opencl-runtime"; pname = "rocm-opencl-runtime";
version = "3.10.0"; version = "4.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RadeonOpenCompute"; owner = "RadeonOpenCompute";

View File

@ -11,7 +11,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rocm-runtime"; pname = "rocm-runtime";
version = "3.10.0"; version = "4.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RadeonOpenCompute"; owner = "RadeonOpenCompute";

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rocm-thunk"; pname = "rocm-thunk";
version = "3.10.0"; version = "4.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RadeonOpenCompute"; owner = "RadeonOpenCompute";
repo = "ROCT-Thunk-Interface"; repo = "ROCT-Thunk-Interface";
rev = "rocm-${version}"; rev = "rocm-${version}";
hash = "sha256-FLH+GHXA0zepbR1wPPSez/hx1hiG2kkCTneDKhJJRjU="; hash = "sha256-2kLSlGwX3pD8I5pXwV5L0k9l8OzJRkUvnAqv5E+gcd4=";
}; };
preConfigure = '' preConfigure = ''

View File

@ -10,14 +10,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "ircstates"; pname = "ircstates";
version = "0.11.6"; version = "0.11.7";
disabled = pythonOlder "3.6"; # f-strings disabled = pythonOlder "3.6"; # f-strings
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jesopo"; owner = "jesopo";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0yhrd1nmf9fjwknbga8wspy3bab40lgp4qqnr7w75x9wq5ivmqhg"; sha256 = "00dyd6mry10na98x1gs92xnfpjf1wd9zpblx1wcx8ggv5rqvgqrm";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -3,14 +3,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pytest-trio"; pname = "pytest-trio";
version = "0.6.0"; version = "0.7.0";
disabled = pythonOlder "3.5"; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "python-trio"; owner = "python-trio";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "09v2031yxm8ryhq12205ldcck76n3wwqhjjsgfmn6dxfiqb0vbw9"; sha256 = "0bhh2nknhp14jzsx4zzpqm4qnfaihyi65cjf6kf6qgdhc0ax6nf4";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rocm-cmake"; pname = "rocm-cmake";
version = "3.10.0"; version = "4.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RadeonOpenCompute"; owner = "RadeonOpenCompute";

View File

@ -1,21 +1,23 @@
{ stdenv, buildGoPackage, fetchFromGitHub }: { stdenv, buildGoModule, fetchFromGitHub, nixosTests }:
buildGoPackage rec { buildGoModule rec {
pname = "nginxlog_exporter"; pname = "nginxlog_exporter";
version = "1.3.0"; version = "1.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "martin-helmich"; owner = "martin-helmich";
repo = "prometheus-nginxlog-exporter"; repo = "prometheus-nginxlog-exporter";
rev = "v${version}"; rev = "v${version}";
sha256 = "0cma6hgagqdms6x40v0q4jn8gjq1awyg1aqk5l8mz7l6k132qq7k"; sha256 = "1kqyjw5yqgjb8xa5irdhpqvwp1qhba6igpc23n2qljhbh0aybkbq";
}; };
goPackagePath = "github.com/martin-helmich/prometheus-nginxlog-exporter"; vendorSha256 = "130hq19y890amxhjywg5blassl8br2p9d62aai8fj839p3p2a7zp";
goDeps = ./nginxlog-exporter_deps.nix; subPackages = [ "." ];
doCheck = true; runVend = true;
passthru.tests = { inherit (nixosTests.prometheus-exporters) nginxlog; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Export metrics from Nginx access log files to Prometheus"; description = "Export metrics from Nginx access log files to Prometheus";

View File

@ -1,282 +0,0 @@
# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
[
{
goPackagePath = "github.com/armon/go-radix";
fetch = {
type = "git";
url = "https://github.com/armon/go-radix";
rev = "v1.0.0";
sha256 = "1m1k0jz9gjfrk4m7hjm7p03qmviamfgxwm2ghakqxw3hdds8v503";
};
}
{
goPackagePath = "github.com/beorn7/perks";
fetch = {
type = "git";
url = "https://github.com/beorn7/perks";
rev = "3ac7bf7a47d1";
sha256 = "1qc3l4r818xpvrhshh1sisc5lvl9479qspcfcdbivdyh0apah83r";
};
}
{
goPackagePath = "github.com/davecgh/go-spew";
fetch = {
type = "git";
url = "https://github.com/davecgh/go-spew";
rev = "v1.1.1";
sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
};
}
{
goPackagePath = "github.com/fsnotify/fsnotify";
fetch = {
type = "git";
url = "https://github.com/fsnotify/fsnotify";
rev = "v1.4.7";
sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
};
}
{
goPackagePath = "github.com/golang/protobuf";
fetch = {
type = "git";
url = "https://github.com/golang/protobuf";
rev = "0c1f6d65b5a1";
sha256 = "1ad3zv0s3swslfwmk0wry9qbjz596689z13f2s7d9gska6msigsl";
};
}
{
goPackagePath = "github.com/gopherjs/gopherjs";
fetch = {
type = "git";
url = "https://github.com/gopherjs/gopherjs";
rev = "0766667cb4d1";
sha256 = "13pfc9sxiwjky2lm1xb3i3lcisn8p6mgjk2d927l7r92ysph8dmw";
};
}
{
goPackagePath = "github.com/hashicorp/consul";
fetch = {
type = "git";
url = "https://github.com/hashicorp/consul";
rev = "de080672fee9";
sha256 = "1q46gn7gv7ara21akkbyzlnari4naxax2d0z917y56ra4lwm259i";
};
}
{
goPackagePath = "github.com/hashicorp/go-msgpack";
fetch = {
type = "git";
url = "https://github.com/hashicorp/go-msgpack";
rev = "v0.5.3";
sha256 = "00jv0ajqd58pkb2yyhlrjp0rv1mvb1ijx3yqjyikcmzvk9jb4h5m";
};
}
{
goPackagePath = "github.com/hashicorp/golang-lru";
fetch = {
type = "git";
url = "https://github.com/hashicorp/golang-lru";
rev = "v0.5.1";
sha256 = "13f870cvk161bzjj6x41l45r5x9i1z9r2ymwmvm7768kg08zznpy";
};
}
{
goPackagePath = "github.com/hashicorp/hcl";
fetch = {
type = "git";
url = "https://github.com/hashicorp/hcl";
rev = "v1.0.0";
sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66";
};
}
{
goPackagePath = "github.com/hpcloud/tail";
fetch = {
type = "git";
url = "https://github.com/hpcloud/tail";
rev = "v1.0.0";
sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0";
};
}
{
goPackagePath = "github.com/jtolds/gls";
fetch = {
type = "git";
url = "https://github.com/jtolds/gls";
rev = "v4.20.0";
sha256 = "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6";
};
}
{
goPackagePath = "github.com/kr/pretty";
fetch = {
type = "git";
url = "https://github.com/kr/pretty";
rev = "v0.1.0";
sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
};
}
{
goPackagePath = "github.com/kr/pty";
fetch = {
type = "git";
url = "https://github.com/kr/pty";
rev = "v1.1.1";
sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
};
}
{
goPackagePath = "github.com/kr/text";
fetch = {
type = "git";
url = "https://github.com/kr/text";
rev = "v0.1.0";
sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
};
}
{
goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
fetch = {
type = "git";
url = "https://github.com/matttproud/golang_protobuf_extensions";
rev = "v1.0.1";
sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
};
}
{
goPackagePath = "github.com/pmezard/go-difflib";
fetch = {
type = "git";
url = "https://github.com/pmezard/go-difflib";
rev = "v1.0.0";
sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
};
}
{
goPackagePath = "github.com/prometheus/client_golang";
fetch = {
type = "git";
url = "https://github.com/prometheus/client_golang";
rev = "5636dc67ae77";
sha256 = "0fb4w52zp0jk8218gwk4wgbhpj7d4hp6n00dvm8s0ajbysbx524d";
};
}
{
goPackagePath = "github.com/prometheus/client_model";
fetch = {
type = "git";
url = "https://github.com/prometheus/client_model";
rev = "fa8ad6fec335";
sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9";
};
}
{
goPackagePath = "github.com/prometheus/common";
fetch = {
type = "git";
url = "https://github.com/prometheus/common";
rev = "4402f4e5ea79";
sha256 = "1nskicw0k0kay9dqg8hw2clgcnvjfcz839rijvrz4wh7gl42qiag";
};
}
{
goPackagePath = "github.com/prometheus/procfs";
fetch = {
type = "git";
url = "https://github.com/prometheus/procfs";
rev = "abf152e5f3e9";
sha256 = "0cp8lznv1b4zhi3wnbjkfxwzhkqd3wbmiy6mwgjanip8l9l3ykws";
};
}
{
goPackagePath = "github.com/satyrius/gonx";
fetch = {
type = "git";
url = "https://github.com/satyrius/gonx";
rev = "47c52b995fe5";
sha256 = "0f0b6ac9xlai168d32zas4v2afk5b2q1bs0qi3dykkk6lhq7b58m";
};
}
{
goPackagePath = "github.com/smartystreets/assertions";
fetch = {
type = "git";
url = "https://github.com/smartystreets/assertions";
rev = "b2de0cb4f26d";
sha256 = "1i7ldgavgl35c7gk25p7bvdr282ckng090zr4ch9mk1705akx09y";
};
}
{
goPackagePath = "github.com/smartystreets/goconvey";
fetch = {
type = "git";
url = "https://github.com/smartystreets/goconvey";
rev = "200a235640ff";
sha256 = "08hgfwjs5zqwsx1z5ja15d0g4glprb3ck7dfi88kwv5q5fl1p139";
};
}
{
goPackagePath = "github.com/stretchr/objx";
fetch = {
type = "git";
url = "https://github.com/stretchr/objx";
rev = "v0.1.0";
sha256 = "19ynspzjdynbi85xw06mh8ad5j0qa1vryvxjgvbnyrr8rbm4vd8w";
};
}
{
goPackagePath = "github.com/stretchr/testify";
fetch = {
type = "git";
url = "https://github.com/stretchr/testify";
rev = "v1.4.0";
sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
};
}
{
goPackagePath = "golang.org/x/sys";
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "c200b10b5d5e";
sha256 = "1f764m3q05q2dq1pdms07jcixw4xakqw46w1djrmbhjmd9q8b0av";
};
}
{
goPackagePath = "gopkg.in/check.v1";
fetch = {
type = "git";
url = "https://gopkg.in/check.v1";
rev = "788fd7840127";
sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
};
}
{
goPackagePath = "gopkg.in/fsnotify.v1";
fetch = {
type = "git";
url = "https://gopkg.in/fsnotify.v1";
rev = "v1.4.7";
sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
};
}
{
goPackagePath = "gopkg.in/tomb.v1";
fetch = {
type = "git";
url = "https://gopkg.in/tomb.v1";
rev = "dd632973f1e7";
sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv";
};
}
{
goPackagePath = "gopkg.in/yaml.v2";
fetch = {
type = "git";
url = "https://gopkg.in/yaml.v2";
rev = "v2.2.4";
sha256 = "11bwj757wi8kdrcnlgfqb8vv2d2xdhlghmyagd19i62khrkchsg2";
};
}
]

View File

@ -1,13 +1,11 @@
{ stdenv, glibc }: { stdenv }:
with stdenv.lib; with stdenv.lib;
let let
# Sanitizers are not supported on Darwin. # Sanitizers are not supported on Darwin.
# Sanitizer headers aren't available in older libc++ stdenvs due to a bug # Sanitizer headers aren't available in older libc++ stdenvs due to a bug
sanitizersWorking = !stdenv.hostPlatform.isMusl && ( sanitizersWorking =
(stdenv.cc.isClang && versionAtLeast (getVersion stdenv.cc.name) "5.0.0") (stdenv.cc.isClang && versionAtLeast (getVersion stdenv.cc.name) "5.0.0")
|| (stdenv.cc.isGNU && stdenv.isLinux) || (stdenv.cc.isGNU && stdenv.isLinux);
);
staticLibc = optionalString (stdenv.hostPlatform.libc == "glibc") "-L ${glibc.static}/lib";
in stdenv.mkDerivation { in stdenv.mkDerivation {
name = "cc-wrapper-test"; name = "cc-wrapper-test";
@ -30,19 +28,6 @@ in stdenv.mkDerivation {
./core-foundation-check ./core-foundation-check
''} ''}
${optionalString (!stdenv.isDarwin) ''
printf "checking whether compiler builds valid static C binaries... " >&2
$CC ${staticLibc} -static -o cc-static ${./cc-main.c}
./cc-static
# our glibc does not have pie enabled yet.
${optionalString (stdenv.hostPlatform.isMusl && stdenv.cc.isGNU) ''
printf "checking whether compiler builds valid static pie C binaries... " >&2
$CC ${staticLibc} -static-pie -o cc-static-pie ${./cc-main.c}
./cc-static-pie
''}
''}
printf "checking whether compiler uses NIX_CFLAGS_COMPILE... " >&2 printf "checking whether compiler uses NIX_CFLAGS_COMPILE... " >&2
mkdir -p foo/include mkdir -p foo/include
cp ${./foo.c} foo/include/foo.h cp ${./foo.c} foo/include/foo.h

View File

@ -2,7 +2,7 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "rocm-smi"; pname = "rocm-smi";
version = "3.10.0"; version = "4.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RadeonOpenCompute"; owner = "RadeonOpenCompute";

View File

@ -5198,6 +5198,8 @@ in
autoreconfHook = autoreconfHook269; autoreconfHook = autoreconfHook269;
}; };
libsmartcols = callPackage ../development/libraries/libsmartcols { };
libsmi = callPackage ../development/libraries/libsmi { }; libsmi = callPackage ../development/libraries/libsmi { };
libgen-cli = callPackage ../tools/misc/libgen-cli { }; libgen-cli = callPackage ../tools/misc/libgen-cli { };
@ -9024,6 +9026,8 @@ in
mkdir -p "$rsrc/lib" mkdir -p "$rsrc/lib"
ln -s "${cc}/lib" "$rsrc/include" ln -s "${cc}/lib" "$rsrc/include"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
''; '';
}; };