mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-15 13:37:21 +03:00
Merge staging-next into staging
This commit is contained in:
commit
55868ac425
@ -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";
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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}"} \
|
||||||
|
@ -37,6 +37,7 @@ let
|
|||||||
"modemmanager"
|
"modemmanager"
|
||||||
"nextcloud"
|
"nextcloud"
|
||||||
"nginx"
|
"nginx"
|
||||||
|
"nginxlog"
|
||||||
"node"
|
"node"
|
||||||
"openvpn"
|
"openvpn"
|
||||||
"postfix"
|
"postfix"
|
||||||
|
@ -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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -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 {};
|
||||||
|
51
nixos/tests/image-contents.nix
Normal file
51
nixos/tests/image-contents.nix
Normal 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
|
||||||
|
'';
|
||||||
|
}
|
@ -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;
|
||||||
|
@ -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 ];
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
'')
|
'')
|
||||||
|
@ -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+=(
|
||||||
|
@ -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")
|
||||||
|
@ -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
|
||||||
|
@ -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 {
|
||||||
|
|
||||||
|
@ -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 {
|
||||||
|
|
||||||
|
@ -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 {
|
||||||
|
|
||||||
|
@ -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 {
|
||||||
|
|
||||||
|
@ -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 {
|
||||||
|
|
||||||
|
@ -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 {
|
||||||
|
|
||||||
|
@ -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 {
|
||||||
|
|
||||||
|
@ -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 {
|
||||||
|
@ -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";
|
||||||
|
})
|
||||||
|
32
pkgs/development/libraries/libsmartcols/default.nix
Normal file
32
pkgs/development/libraries/libsmartcols/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -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 ];
|
||||||
|
@ -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";
|
||||||
|
@ -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";
|
||||||
|
@ -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";
|
||||||
|
@ -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";
|
||||||
|
@ -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 = ''
|
||||||
|
@ -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 = [
|
||||||
|
@ -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 = [
|
||||||
|
@ -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";
|
||||||
|
@ -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";
|
||||||
|
@ -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";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
]
|
|
@ -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
|
||||||
|
@ -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";
|
||||||
|
@ -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
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user