Merge staging-next into staging
This commit is contained in:
commit
6912ad3e03
@ -235,7 +235,7 @@ let
|
|||||||
# https://github.com/NixOS/nixpkgs/pull/81371#issuecomment-605526099
|
# https://github.com/NixOS/nixpkgs/pull/81371#issuecomment-605526099
|
||||||
wantedBy = optionals (!config.boot.isContainer) [ "multi-user.target" ];
|
wantedBy = optionals (!config.boot.isContainer) [ "multi-user.target" ];
|
||||||
|
|
||||||
path = with pkgs; [ lego coreutils diffutils ];
|
path = with pkgs; [ lego coreutils diffutils openssl ];
|
||||||
|
|
||||||
serviceConfig = commonServiceConfig // {
|
serviceConfig = commonServiceConfig // {
|
||||||
Group = data.group;
|
Group = data.group;
|
||||||
@ -274,6 +274,34 @@ let
|
|||||||
script = ''
|
script = ''
|
||||||
set -euxo pipefail
|
set -euxo pipefail
|
||||||
|
|
||||||
|
# This reimplements the expiration date check, but without querying
|
||||||
|
# the acme server first. By doing this offline, we avoid errors
|
||||||
|
# when the network or DNS are unavailable, which can happen during
|
||||||
|
# nixos-rebuild switch.
|
||||||
|
is_expiration_skippable() {
|
||||||
|
pem=$1
|
||||||
|
|
||||||
|
# This function relies on set -e to exit early if any of the
|
||||||
|
# conditions or programs fail.
|
||||||
|
|
||||||
|
[[ -e $pem ]]
|
||||||
|
|
||||||
|
expiration_line="$(
|
||||||
|
set -euxo pipefail
|
||||||
|
openssl x509 -noout -enddate <$pem \
|
||||||
|
| grep notAfter \
|
||||||
|
| sed -e 's/^notAfter=//'
|
||||||
|
)"
|
||||||
|
[[ -n "$expiration_line" ]]
|
||||||
|
|
||||||
|
expiration_date="$(date -d "$expiration_line" +%s)"
|
||||||
|
now="$(date +%s)"
|
||||||
|
expiration_s=$[expiration_date - now]
|
||||||
|
expiration_days=$[expiration_s / (3600 * 24)] # rounds down
|
||||||
|
|
||||||
|
[[ $expiration_days -gt ${toString cfg.validMinDays} ]]
|
||||||
|
}
|
||||||
|
|
||||||
${optionalString (data.webroot != null) ''
|
${optionalString (data.webroot != null) ''
|
||||||
# Ensure the webroot exists
|
# Ensure the webroot exists
|
||||||
mkdir -p '${data.webroot}/.well-known/acme-challenge'
|
mkdir -p '${data.webroot}/.well-known/acme-challenge'
|
||||||
@ -288,8 +316,14 @@ let
|
|||||||
# When domains are updated, there's no need to do a full
|
# When domains are updated, there's no need to do a full
|
||||||
# Lego run, but it's likely renew won't work if days is too low.
|
# Lego run, but it's likely renew won't work if days is too low.
|
||||||
if [ -e certificates/domainhash.txt ] && cmp -s domainhash.txt certificates/domainhash.txt; then
|
if [ -e certificates/domainhash.txt ] && cmp -s domainhash.txt certificates/domainhash.txt; then
|
||||||
lego ${renewOpts} --days ${toString cfg.validMinDays}
|
if is_expiration_skippable out/full.pem; then
|
||||||
|
echo 1>&2 "nixos-acme: skipping renewal because expiration isn't within the coming ${toString cfg.validMinDays} days"
|
||||||
|
else
|
||||||
|
echo 1>&2 "nixos-acme: renewing now, because certificate expires within the configured ${toString cfg.validMinDays} days"
|
||||||
|
lego ${renewOpts} --days ${toString cfg.validMinDays}
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
|
echo 1>&2 "certificate domain(s) have changed; will renew now"
|
||||||
# Any number > 90 works, but this one is over 9000 ;-)
|
# Any number > 90 works, but this one is over 9000 ;-)
|
||||||
lego ${renewOpts} --days 9001
|
lego ${renewOpts} --days 9001
|
||||||
fi
|
fi
|
||||||
|
6
nixos/modules/services/desktops/pipewire/README.md
Normal file
6
nixos/modules/services/desktops/pipewire/README.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# Updating
|
||||||
|
|
||||||
|
1. Update the version & hash in pkgs/development/libraries/pipewire/default.nix
|
||||||
|
2. run `nix build -f /path/to/nixpkgs/checkout pipewire pipewire.mediaSession`
|
||||||
|
3. copy all JSON files from result/etc/pipewire and result-mediaSession/etc/pipewire/media-session.d to this directory
|
||||||
|
4. add new files to the module config and passthru tests
|
@ -6,21 +6,34 @@
|
|||||||
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
||||||
"support.*": "support/libspa-support"
|
"support.*": "support/libspa-support"
|
||||||
},
|
},
|
||||||
"context.modules": {
|
"context.modules": [
|
||||||
"libpipewire-module-rtkit": {
|
{
|
||||||
|
"name": "libpipewire-module-rtkit",
|
||||||
"args": {},
|
"args": {},
|
||||||
"flags": [
|
"flags": [
|
||||||
"ifexists",
|
"ifexists",
|
||||||
"nofail"
|
"nofail"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"libpipewire-module-protocol-native": null,
|
{
|
||||||
"libpipewire-module-client-node": null,
|
"name": "libpipewire-module-protocol-native"
|
||||||
"libpipewire-module-client-device": null,
|
},
|
||||||
"libpipewire-module-adapter": null,
|
{
|
||||||
"libpipewire-module-metadata": null,
|
"name": "libpipewire-module-client-node"
|
||||||
"libpipewire-module-session-manager": null
|
},
|
||||||
},
|
{
|
||||||
|
"name": "libpipewire-module-client-device"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-adapter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-metadata"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-session-manager"
|
||||||
|
}
|
||||||
|
],
|
||||||
"filter.properties": {},
|
"filter.properties": {},
|
||||||
"stream.properties": {}
|
"stream.properties": {}
|
||||||
}
|
}
|
||||||
|
@ -6,14 +6,26 @@
|
|||||||
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
||||||
"support.*": "support/libspa-support"
|
"support.*": "support/libspa-support"
|
||||||
},
|
},
|
||||||
"context.modules": {
|
"context.modules": [
|
||||||
"libpipewire-module-protocol-native": null,
|
{
|
||||||
"libpipewire-module-client-node": null,
|
"name": "libpipewire-module-protocol-native"
|
||||||
"libpipewire-module-client-device": null,
|
},
|
||||||
"libpipewire-module-adapter": null,
|
{
|
||||||
"libpipewire-module-metadata": null,
|
"name": "libpipewire-module-client-node"
|
||||||
"libpipewire-module-session-manager": null
|
},
|
||||||
},
|
{
|
||||||
|
"name": "libpipewire-module-client-device"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-adapter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-metadata"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-session-manager"
|
||||||
|
}
|
||||||
|
],
|
||||||
"filter.properties": {},
|
"filter.properties": {},
|
||||||
"stream.properties": {}
|
"stream.properties": {}
|
||||||
}
|
}
|
||||||
|
@ -5,17 +5,24 @@
|
|||||||
"context.spa-libs": {
|
"context.spa-libs": {
|
||||||
"support.*": "support/libspa-support"
|
"support.*": "support/libspa-support"
|
||||||
},
|
},
|
||||||
"context.modules": {
|
"context.modules": [
|
||||||
"libpipewire-module-rtkit": {
|
{
|
||||||
|
"name": "libpipewire-module-rtkit",
|
||||||
"args": {},
|
"args": {},
|
||||||
"flags": [
|
"flags": [
|
||||||
"ifexists",
|
"ifexists",
|
||||||
"nofail"
|
"nofail"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"libpipewire-module-protocol-native": null,
|
{
|
||||||
"libpipewire-module-client-node": null,
|
"name": "libpipewire-module-protocol-native"
|
||||||
"libpipewire-module-metadata": null
|
},
|
||||||
},
|
{
|
||||||
|
"name": "libpipewire-module-client-node"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-metadata"
|
||||||
|
}
|
||||||
|
],
|
||||||
"jack.properties": {}
|
"jack.properties": {}
|
||||||
}
|
}
|
||||||
|
@ -6,21 +6,34 @@
|
|||||||
"api.v4l2.*": "v4l2/libspa-v4l2",
|
"api.v4l2.*": "v4l2/libspa-v4l2",
|
||||||
"api.libcamera.*": "libcamera/libspa-libcamera"
|
"api.libcamera.*": "libcamera/libspa-libcamera"
|
||||||
},
|
},
|
||||||
"context.modules": {
|
"context.modules": [
|
||||||
"libpipewire-module-rtkit": {
|
{
|
||||||
|
"name": "libpipewire-module-rtkit",
|
||||||
"args": {},
|
"args": {},
|
||||||
"flags": [
|
"flags": [
|
||||||
"ifexists",
|
"ifexists",
|
||||||
"nofail"
|
"nofail"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"libpipewire-module-protocol-native": null,
|
{
|
||||||
"libpipewire-module-client-node": null,
|
"name": "libpipewire-module-protocol-native"
|
||||||
"libpipewire-module-client-device": null,
|
},
|
||||||
"libpipewire-module-adapter": null,
|
{
|
||||||
"libpipewire-module-metadata": null,
|
"name": "libpipewire-module-client-node"
|
||||||
"libpipewire-module-session-manager": null
|
},
|
||||||
},
|
{
|
||||||
|
"name": "libpipewire-module-client-device"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-adapter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-metadata"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-session-manager"
|
||||||
|
}
|
||||||
|
],
|
||||||
"session.modules": {
|
"session.modules": {
|
||||||
"default": [
|
"default": [
|
||||||
"flatpak",
|
"flatpak",
|
||||||
|
@ -9,21 +9,12 @@ let
|
|||||||
&& pkgs.stdenv.isx86_64
|
&& pkgs.stdenv.isx86_64
|
||||||
&& pkgs.pkgsi686Linux.pipewire != null;
|
&& pkgs.pkgsi686Linux.pipewire != null;
|
||||||
|
|
||||||
prioritizeNativeProtocol = {
|
|
||||||
"context.modules" = {
|
|
||||||
"libpipewire-module-protocol-native" = {
|
|
||||||
_priority = -100;
|
|
||||||
_content = null;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Use upstream config files passed through spa-json-dump as the base
|
# Use upstream config files passed through spa-json-dump as the base
|
||||||
# Patched here as necessary for them to work with this module
|
# Patched here as necessary for them to work with this module
|
||||||
defaults = {
|
defaults = {
|
||||||
alsa-monitor = (builtins.fromJSON (builtins.readFile ./alsa-monitor.conf.json));
|
alsa-monitor = (builtins.fromJSON (builtins.readFile ./alsa-monitor.conf.json));
|
||||||
bluez-monitor = (builtins.fromJSON (builtins.readFile ./bluez-monitor.conf.json));
|
bluez-monitor = (builtins.fromJSON (builtins.readFile ./bluez-monitor.conf.json));
|
||||||
media-session = recursiveUpdate (builtins.fromJSON (builtins.readFile ./media-session.conf.json)) prioritizeNativeProtocol;
|
media-session = (builtins.fromJSON (builtins.readFile ./media-session.conf.json));
|
||||||
v4l2-monitor = (builtins.fromJSON (builtins.readFile ./v4l2-monitor.conf.json));
|
v4l2-monitor = (builtins.fromJSON (builtins.readFile ./v4l2-monitor.conf.json));
|
||||||
};
|
};
|
||||||
# Helpers for generating the pipewire JSON config file
|
# Helpers for generating the pipewire JSON config file
|
||||||
|
@ -4,25 +4,35 @@
|
|||||||
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
||||||
"support.*": "support/libspa-support"
|
"support.*": "support/libspa-support"
|
||||||
},
|
},
|
||||||
"context.modules": {
|
"context.modules": [
|
||||||
"libpipewire-module-rtkit": {
|
{
|
||||||
|
"name": "libpipewire-module-rtkit",
|
||||||
"args": {},
|
"args": {},
|
||||||
"flags": [
|
"flags": [
|
||||||
"ifexists",
|
"ifexists",
|
||||||
"nofail"
|
"nofail"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"libpipewire-module-protocol-native": null,
|
{
|
||||||
"libpipewire-module-client-node": null,
|
"name": "libpipewire-module-protocol-native"
|
||||||
"libpipewire-module-adapter": null,
|
},
|
||||||
"libpipewire-module-metadata": null,
|
{
|
||||||
"libpipewire-module-protocol-pulse": {
|
"name": "libpipewire-module-client-node"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-adapter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-metadata"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-protocol-pulse",
|
||||||
"args": {
|
"args": {
|
||||||
"server.address": [
|
"server.address": [
|
||||||
"unix:native"
|
"unix:native"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
],
|
||||||
"stream.properties": {}
|
"stream.properties": {}
|
||||||
}
|
}
|
||||||
|
@ -14,42 +14,66 @@
|
|||||||
"api.jack.*": "jack/libspa-jack",
|
"api.jack.*": "jack/libspa-jack",
|
||||||
"support.*": "support/libspa-support"
|
"support.*": "support/libspa-support"
|
||||||
},
|
},
|
||||||
"context.modules": {
|
"context.modules": [
|
||||||
"libpipewire-module-rtkit": {
|
{
|
||||||
|
"name": "libpipewire-module-rtkit",
|
||||||
"args": {},
|
"args": {},
|
||||||
"flags": [
|
"flags": [
|
||||||
"ifexists",
|
"ifexists",
|
||||||
"nofail"
|
"nofail"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"libpipewire-module-protocol-native": null,
|
{
|
||||||
"libpipewire-module-profiler": null,
|
"name": "libpipewire-module-protocol-native"
|
||||||
"libpipewire-module-metadata": null,
|
},
|
||||||
"libpipewire-module-spa-device-factory": null,
|
{
|
||||||
"libpipewire-module-spa-node-factory": null,
|
"name": "libpipewire-module-profiler"
|
||||||
"libpipewire-module-client-node": null,
|
},
|
||||||
"libpipewire-module-client-device": null,
|
{
|
||||||
"libpipewire-module-portal": {
|
"name": "libpipewire-module-metadata"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-spa-device-factory"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-spa-node-factory"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-client-node"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-client-device"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-portal",
|
||||||
"flags": [
|
"flags": [
|
||||||
"ifexists",
|
"ifexists",
|
||||||
"nofail"
|
"nofail"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"libpipewire-module-access": {
|
{
|
||||||
|
"name": "libpipewire-module-access",
|
||||||
"args": {}
|
"args": {}
|
||||||
},
|
},
|
||||||
"libpipewire-module-adapter": null,
|
{
|
||||||
"libpipewire-module-link-factory": null,
|
"name": "libpipewire-module-adapter"
|
||||||
"libpipewire-module-session-manager": null
|
},
|
||||||
},
|
{
|
||||||
"context.objects": {
|
"name": "libpipewire-module-link-factory"
|
||||||
"spa-node-factory": {
|
},
|
||||||
|
{
|
||||||
|
"name": "libpipewire-module-session-manager"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"context.objects": [
|
||||||
|
{
|
||||||
|
"factory": "spa-node-factory",
|
||||||
"args": {
|
"args": {
|
||||||
"factory.name": "support.node.driver",
|
"factory.name": "support.node.driver",
|
||||||
"node.name": "Dummy-Driver",
|
"node.name": "Dummy-Driver",
|
||||||
"priority.driver": 8000
|
"priority.driver": 8000
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
],
|
||||||
"context.exec": {}
|
"context.exec": []
|
||||||
}
|
}
|
||||||
|
@ -18,45 +18,15 @@ let
|
|||||||
ln -s "${cfg.package.jack}/lib" "$out/lib/pipewire"
|
ln -s "${cfg.package.jack}/lib" "$out/lib/pipewire"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
prioritizeNativeProtocol = {
|
|
||||||
"context.modules" = {
|
|
||||||
# Most other modules depend on this, so put it first
|
|
||||||
"libpipewire-module-protocol-native" = {
|
|
||||||
_priority = -100;
|
|
||||||
_content = null;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fixDaemonModulePriorities = {
|
|
||||||
"context.modules" = {
|
|
||||||
# Most other modules depend on thism so put it first
|
|
||||||
"libpipewire-module-protocol-native" = {
|
|
||||||
_priority = -100;
|
|
||||||
_content = null;
|
|
||||||
};
|
|
||||||
# Needs to be before libpipewire-module-access
|
|
||||||
"libpipewire-module-portal" = {
|
|
||||||
_priority = -50;
|
|
||||||
_content = {
|
|
||||||
flags = [
|
|
||||||
"ifexists"
|
|
||||||
"nofail"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Use upstream config files passed through spa-json-dump as the base
|
# Use upstream config files passed through spa-json-dump as the base
|
||||||
# Patched here as necessary for them to work with this module
|
# Patched here as necessary for them to work with this module
|
||||||
defaults = {
|
defaults = {
|
||||||
client = recursiveUpdate (builtins.fromJSON (builtins.readFile ./client.conf.json)) prioritizeNativeProtocol;
|
client = builtins.fromJSON (builtins.readFile ./client.conf.json);
|
||||||
client-rt = recursiveUpdate (builtins.fromJSON (builtins.readFile ./client-rt.conf.json)) prioritizeNativeProtocol;
|
client-rt = builtins.fromJSON (builtins.readFile ./client-rt.conf.json);
|
||||||
jack = recursiveUpdate (builtins.fromJSON (builtins.readFile ./jack.conf.json)) prioritizeNativeProtocol;
|
jack = builtins.fromJSON (builtins.readFile ./jack.conf.json);
|
||||||
# Remove session manager invocation from the upstream generated file, it points to the wrong path
|
# Remove session manager invocation from the upstream generated file, it points to the wrong path
|
||||||
pipewire = recursiveUpdate (builtins.fromJSON (builtins.readFile ./pipewire.conf.json)) fixDaemonModulePriorities;
|
pipewire = builtins.fromJSON (builtins.readFile ./pipewire.conf.json);
|
||||||
pipewire-pulse = recursiveUpdate (builtins.fromJSON (builtins.readFile ./pipewire-pulse.conf.json)) prioritizeNativeProtocol;
|
pipewire-pulse = builtins.fromJSON (builtins.readFile ./pipewire-pulse.conf.json);
|
||||||
};
|
};
|
||||||
|
|
||||||
# Helpers for generating the pipewire JSON config file
|
# Helpers for generating the pipewire JSON config file
|
||||||
|
@ -118,8 +118,9 @@ in
|
|||||||
[network]
|
[network]
|
||||||
cni_plugin_dirs = ["${pkgs.cni-plugins}/bin/"]
|
cni_plugin_dirs = ["${pkgs.cni-plugins}/bin/"]
|
||||||
|
|
||||||
${lib.optionalString (cfg.ociSeccompBpfHook.enable == true) ''
|
|
||||||
[engine]
|
[engine]
|
||||||
|
init_path = "${pkgs.catatonit}/bin/catatonit"
|
||||||
|
${lib.optionalString (cfg.ociSeccompBpfHook.enable) ''
|
||||||
hooks_dir = [
|
hooks_dir = [
|
||||||
"${config.boot.kernelPackages.oci-seccomp-bpf-hook}",
|
"${config.boot.kernelPackages.oci-seccomp-bpf-hook}",
|
||||||
]
|
]
|
||||||
|
@ -96,6 +96,15 @@ import ./make-test-python.nix (
|
|||||||
podman.succeed(su_cmd("podman ps | grep sleeping"))
|
podman.succeed(su_cmd("podman ps | grep sleeping"))
|
||||||
podman.succeed(su_cmd("podman stop sleeping"))
|
podman.succeed(su_cmd("podman stop sleeping"))
|
||||||
podman.succeed(su_cmd("podman rm sleeping"))
|
podman.succeed(su_cmd("podman rm sleeping"))
|
||||||
|
|
||||||
|
with subtest("Run container with init"):
|
||||||
|
podman.succeed(
|
||||||
|
"tar cv -C ${pkgs.pkgsStatic.busybox} . | podman import - busybox"
|
||||||
|
)
|
||||||
|
pid = podman.succeed("podman run --rm busybox readlink /proc/self").strip()
|
||||||
|
assert pid == "1"
|
||||||
|
pid = podman.succeed("podman run --rm --init busybox readlink /proc/self").strip()
|
||||||
|
assert pid == "2"
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
39
pkgs/applications/virtualization/catatonit/default.nix
Normal file
39
pkgs/applications/virtualization/catatonit/default.nix
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, glibc, nixosTests }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "catatonit";
|
||||||
|
version = "0.1.5";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "openSUSE";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "ciJ1MI7jr5P2PgxIykQ+BiwNUO8lQHGt0+U8CNbc5bI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Fix compilation with musl
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/openSUSE/catatonit/commit/75014b1c3099245b7d0f44f24d7f6dc4888a45fd.patch";
|
||||||
|
sha256 = "sha256-9VMNUT1U90ocjvE7EXYfLxuodDwTXXHYg89qqa5Jq0g=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ autoreconfHook ];
|
||||||
|
buildInputs = lib.optionals (!stdenv.hostPlatform.isMusl) [ glibc glibc.static ];
|
||||||
|
|
||||||
|
doInstallCheck = true;
|
||||||
|
installCheckPhase = ''
|
||||||
|
readelf -d $out/bin/catatonit | grep 'There is no dynamic section in this file.'
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.tests = { inherit (nixosTests) podman; };
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A container init that is so simple it's effectively brain-dead";
|
||||||
|
homepage = "https://github.com/openSUSE/catatonit";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ erosennin ] ++ teams.podman.members;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
@ -171,11 +171,11 @@ let
|
|||||||
priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
|
priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
|
||||||
};
|
};
|
||||||
} // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
|
} // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
|
||||||
crossVersion = "1.3.5"; # Jan 24, 2021
|
crossVersion = "e53999d0c340769792ba18d749751b0df3d1d177"; # Mar 21, 2021
|
||||||
|
|
||||||
perl-cross-src = fetchurl {
|
perl-cross-src = fetchurl {
|
||||||
url = "https://github.com/arsv/perl-cross/archive/${crossVersion}.tar.gz";
|
url = "https://github.com/arsv/perl-cross/archive/${crossVersion}.tar.gz";
|
||||||
sha256 = "1sa2f8s1hc604g5y98w6m6y5q43s9jiyrpnp4b34zkfx1qs3w6l4";
|
sha256 = "14vcpwjhq667yh0cs7ism70df8l7068vn4a0ww59hdjyj7yc84i6";
|
||||||
};
|
};
|
||||||
|
|
||||||
depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ];
|
depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ];
|
||||||
@ -211,7 +211,7 @@ in {
|
|||||||
perldevel = common {
|
perldevel = common {
|
||||||
perl = pkgs.perldevel;
|
perl = pkgs.perldevel;
|
||||||
buildPerl = buildPackages.perldevel;
|
buildPerl = buildPackages.perldevel;
|
||||||
version = "5.33.6";
|
version = "5.33.8";
|
||||||
sha256 = "1fx6b2q7wzd0xwy7qkmkvd5bdm09d3zfnynrb6afl9ghd8ww56fv";
|
sha256 = "1zr6sdsfcmk86n3f8j65x07xkv29v0pi8bwc986ahmjx7x92xzgl";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "zef";
|
pname = "zef";
|
||||||
version = "0.11.4";
|
version = "0.11.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ugexe";
|
owner = "ugexe";
|
||||||
repo = "zef";
|
repo = "zef";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-wccVMEUAfTWs/8hnrT7nrxfYPHyNl+lXt+KUDkyplto=";
|
sha256 = "sha256-LLUAwqky/q9KvFltrcff5U2BSLvOk/BbDSj07QlePSg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
diff --git a/meson_options.txt b/meson_options.txt
|
diff --git a/meson_options.txt b/meson_options.txt
|
||||||
index a6c8af72..8e5c3d73 100644
|
index e2a1e028..310029f2 100644
|
||||||
--- a/meson_options.txt
|
--- a/meson_options.txt
|
||||||
+++ b/meson_options.txt
|
+++ b/meson_options.txt
|
||||||
@@ -10,6 +10,9 @@ option('media-session',
|
@@ -10,6 +10,9 @@ option('media-session',
|
||||||
description: 'Build and install pipewire-media-session',
|
description: 'Build and install pipewire-media-session',
|
||||||
type: 'boolean',
|
type: 'feature',
|
||||||
value: true)
|
value: 'auto')
|
||||||
+option('media-session-prefix',
|
+option('media-session-prefix',
|
||||||
+ description: 'Install directory for pipewire-media-session and its support files',
|
+ description: 'Install directory for pipewire-media-session and its support files',
|
||||||
+ type: 'string')
|
+ type: 'string')
|
||||||
option('man',
|
option('man',
|
||||||
description: 'Build manpages',
|
description: 'Build manpages',
|
||||||
type: 'boolean',
|
type: 'feature',
|
||||||
diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
|
diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
|
||||||
index 4a70b0b0..84c9a19e 100644
|
index 5c4d1af0..7296220f 100644
|
||||||
--- a/src/daemon/systemd/user/meson.build
|
--- a/src/daemon/systemd/user/meson.build
|
||||||
+++ b/src/daemon/systemd/user/meson.build
|
+++ b/src/daemon/systemd/user/meson.build
|
||||||
@@ -10,7 +10,7 @@ install_data(
|
@@ -10,7 +10,7 @@ install_data(
|
||||||
|
@ -1,29 +1,29 @@
|
|||||||
diff --git a/meson.build b/meson.build
|
diff --git a/meson.build b/meson.build
|
||||||
index ffee41b4..bab6f019 100644
|
index 97d4d939..b17358e5 100644
|
||||||
--- a/meson.build
|
--- a/meson.build
|
||||||
+++ b/meson.build
|
+++ b/meson.build
|
||||||
@@ -318,8 +318,8 @@ alsa_dep = (get_option('pipewire-alsa')
|
@@ -353,8 +353,8 @@ libinotify_dep = (build_machine.system() == 'freebsd'
|
||||||
? dependency('alsa', version : '>=1.1.7')
|
|
||||||
: dependency('', required: false))
|
alsa_dep = dependency('alsa', version : '>=1.1.7', required: get_option('pipewire-alsa'))
|
||||||
|
|
||||||
-installed_tests_metadir = join_paths(pipewire_datadir, 'installed-tests', pipewire_name)
|
-installed_tests_metadir = join_paths(pipewire_datadir, 'installed-tests', pipewire_name)
|
||||||
-installed_tests_execdir = join_paths(pipewire_libexecdir, 'installed-tests', pipewire_name)
|
-installed_tests_execdir = join_paths(pipewire_libexecdir, 'installed-tests', pipewire_name)
|
||||||
+installed_tests_metadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', pipewire_name)
|
+installed_tests_metadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', pipewire_name)
|
||||||
+installed_tests_execdir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', pipewire_name)
|
+installed_tests_execdir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', pipewire_name)
|
||||||
installed_tests_enabled = get_option('installed_tests')
|
installed_tests_enabled = not get_option('installed_tests').disabled()
|
||||||
installed_tests_template = files('template.test.in')
|
installed_tests_template = files('template.test.in')
|
||||||
|
|
||||||
diff --git a/meson_options.txt b/meson_options.txt
|
diff --git a/meson_options.txt b/meson_options.txt
|
||||||
index f03033c3..32df6c53 100644
|
index fba0d647..8c6106cd 100644
|
||||||
--- a/meson_options.txt
|
--- a/meson_options.txt
|
||||||
+++ b/meson_options.txt
|
+++ b/meson_options.txt
|
||||||
@@ -18,6 +18,9 @@ option('installed_tests',
|
@@ -26,6 +26,9 @@ option('installed_tests',
|
||||||
description: 'Install manual and automated test executables',
|
description: 'Install manual and automated test executables',
|
||||||
type: 'boolean',
|
type: 'feature',
|
||||||
value: false)
|
value: 'disabled')
|
||||||
+option('installed_test_prefix',
|
+option('installed_test_prefix',
|
||||||
+ description: 'Prefix for installed tests',
|
+ description: 'Prefix for installed tests',
|
||||||
+ type: 'string')
|
+ type: 'string')
|
||||||
option('gstreamer',
|
option('gstreamer',
|
||||||
description: 'Build GStreamer plugins',
|
description: 'Build GStreamer plugins',
|
||||||
type: 'boolean',
|
type: 'feature',
|
||||||
|
@ -39,11 +39,11 @@ let
|
|||||||
fontDirectories = [];
|
fontDirectories = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
mesonBool = b: if b then "true" else "false";
|
mesonEnable = b: if b then "enabled" else "disabled";
|
||||||
|
|
||||||
self = stdenv.mkDerivation rec {
|
self = stdenv.mkDerivation rec {
|
||||||
pname = "pipewire";
|
pname = "pipewire";
|
||||||
version = "0.3.23";
|
version = "0.3.24";
|
||||||
|
|
||||||
outputs = [
|
outputs = [
|
||||||
"out"
|
"out"
|
||||||
@ -61,7 +61,7 @@ let
|
|||||||
owner = "pipewire";
|
owner = "pipewire";
|
||||||
repo = "pipewire";
|
repo = "pipewire";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256:1HMUrE1NBmrdBRMKX3LRlXaCEH3wqP2jGtW8Rp9oyQA=";
|
hash = "sha256:PcY20FTtUtJYAwCscEs+HfkdwDksYPFZIVTVORP1ooI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
@ -103,22 +103,23 @@ let
|
|||||||
++ lib.optionals bluezSupport [ bluez libopenaptx ldacbt sbc fdk_aac ];
|
++ lib.optionals bluezSupport [ bluez libopenaptx ldacbt sbc fdk_aac ];
|
||||||
|
|
||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
"-Ddocs=true"
|
"-Ddocs=enabled"
|
||||||
"-Dman=false" # we don't have xmltoman
|
"-Dman=disabled" # we don't have xmltoman
|
||||||
"-Dexamples=${mesonBool withMediaSession}" # only needed for `pipewire-media-session`
|
"-Dexamples=${mesonEnable withMediaSession}" # only needed for `pipewire-media-session`
|
||||||
"-Dudevrulesdir=lib/udev/rules.d"
|
"-Dudevrulesdir=lib/udev/rules.d"
|
||||||
"-Dinstalled_tests=true"
|
"-Dinstalled_tests=enabled"
|
||||||
"-Dinstalled_test_prefix=${placeholder "installedTests"}"
|
"-Dinstalled_test_prefix=${placeholder "installedTests"}"
|
||||||
"-Dpipewire_pulse_prefix=${placeholder "pulse"}"
|
"-Dpipewire_pulse_prefix=${placeholder "pulse"}"
|
||||||
"-Dmedia-session-prefix=${placeholder "mediaSession"}"
|
"-Dmedia-session-prefix=${placeholder "mediaSession"}"
|
||||||
"-Dlibjack-path=${placeholder "jack"}/lib"
|
"-Dlibjack-path=${placeholder "jack"}/lib"
|
||||||
"-Dgstreamer=${mesonBool gstreamerSupport}"
|
"-Dlibcamera=disabled"
|
||||||
"-Dffmpeg=${mesonBool ffmpegSupport}"
|
"-Dgstreamer=${mesonEnable gstreamerSupport}"
|
||||||
"-Dbluez5=${mesonBool bluezSupport}"
|
"-Dffmpeg=${mesonEnable ffmpegSupport}"
|
||||||
"-Dbluez5-backend-hsp-native=${mesonBool nativeHspSupport}"
|
"-Dbluez5=${mesonEnable bluezSupport}"
|
||||||
"-Dbluez5-backend-hfp-native=${mesonBool nativeHfpSupport}"
|
"-Dbluez5-backend-hsp-native=${mesonEnable nativeHspSupport}"
|
||||||
"-Dbluez5-backend-ofono=${mesonBool ofonoSupport}"
|
"-Dbluez5-backend-hfp-native=${mesonEnable nativeHfpSupport}"
|
||||||
"-Dbluez5-backend-hsphfpd=${mesonBool hsphfpdSupport}"
|
"-Dbluez5-backend-ofono=${mesonEnable ofonoSupport}"
|
||||||
|
"-Dbluez5-backend-hsphfpd=${mesonEnable hsphfpdSupport}"
|
||||||
"-Dpipewire_config_dir=/etc/pipewire"
|
"-Dpipewire_config_dir=/etc/pipewire"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
14
pkgs/development/ocaml-modules/faraday/async.nix
Normal file
14
pkgs/development/ocaml-modules/faraday/async.nix
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{ buildDunePackage, faraday, core, async }:
|
||||||
|
|
||||||
|
buildDunePackage rec {
|
||||||
|
pname = "faraday-async";
|
||||||
|
inherit (faraday) version src useDune2;
|
||||||
|
|
||||||
|
minimumOCamlVersion = "4.08";
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ faraday core async ];
|
||||||
|
|
||||||
|
meta = faraday.meta // {
|
||||||
|
description = "Async support for Faraday";
|
||||||
|
};
|
||||||
|
}
|
12
pkgs/development/ocaml-modules/faraday/lwt-unix.nix
Normal file
12
pkgs/development/ocaml-modules/faraday/lwt-unix.nix
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{ buildDunePackage, faraday, faraday-lwt, lwt }:
|
||||||
|
|
||||||
|
buildDunePackage rec {
|
||||||
|
pname = "faraday-lwt-unix";
|
||||||
|
inherit (faraday) version src useDune2 minimumOCamlVersion;
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ lwt faraday-lwt ];
|
||||||
|
|
||||||
|
meta = faraday.meta // {
|
||||||
|
description = "Lwt + Unix support for Faraday";
|
||||||
|
};
|
||||||
|
}
|
12
pkgs/development/ocaml-modules/faraday/lwt.nix
Normal file
12
pkgs/development/ocaml-modules/faraday/lwt.nix
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{ buildDunePackage, faraday, lwt }:
|
||||||
|
|
||||||
|
buildDunePackage rec {
|
||||||
|
pname = "faraday-lwt";
|
||||||
|
inherit (faraday) version src useDune2 minimumOCamlVersion;
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ faraday lwt ];
|
||||||
|
|
||||||
|
meta = faraday.meta // {
|
||||||
|
description = "Lwt support for Faraday";
|
||||||
|
};
|
||||||
|
}
|
@ -1,31 +1,26 @@
|
|||||||
{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
|
{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
|
||||||
, colorama, mypy, pyyaml, regex
|
, colorama, regex
|
||||||
, dataclasses, typing
|
, pytestrunner, pytestCheckHook, pytest-mypy
|
||||||
, pytestrunner, pytest-mypy
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "TatSu";
|
pname = "tatsu";
|
||||||
version = "5.5.0";
|
version = "5.6.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "neogeny";
|
owner = "neogeny";
|
||||||
repo = pname;
|
repo = "TatSu";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "07bmdnwh99p60cgzhlb8s5vwi5v4r5zi8shymxnnarannkc66hzn";
|
sha256 = "sha256-kC2MxMebS4TQEZBgTmYRBWaWSF36rVS3bXIsQgRrF0Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
nativeBuildInputs = [ pytestrunner ];
|
nativeBuildInputs = [ pytestrunner ];
|
||||||
propagatedBuildInputs = [ colorama mypy pyyaml regex ]
|
propagatedBuildInputs = [ colorama regex ];
|
||||||
++ lib.optionals (pythonOlder "3.7") [ dataclasses ]
|
checkInputs = [ pytestCheckHook pytest-mypy ];
|
||||||
++ lib.optionals (pythonOlder "3.5") [ typing ];
|
|
||||||
checkInputs = [ pytest-mypy ];
|
|
||||||
|
|
||||||
checkPhase = ''
|
pythonImportsCheck = [ "tatsu" ];
|
||||||
pytest test/
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Generates Python parsers from grammars in a variation of EBNF";
|
description = "Generates Python parsers from grammars in a variation of EBNF";
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "flow";
|
pname = "flow";
|
||||||
version = "0.146.0";
|
version = "0.147.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "facebook";
|
owner = "facebook";
|
||||||
repo = "flow";
|
repo = "flow";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
sha256 = "0kxws51hri0b4z7k05li6vg1arcdc7i5jzfibi0iplsfyy14159q";
|
sha256 = "sha256-3U8BOYUHl1YiOnxAIV2V6Ib+LZ0DydtSfwAxN2Hj09g=";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
|
|||||||
changelog = "https://github.com/facebook/flow/releases/tag/v${version}";
|
changelog = "https://github.com/facebook/flow/releases/tag/v${version}";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = ocamlPackages.ocaml.meta.platforms;
|
platforms = ocamlPackages.ocaml.meta.platforms;
|
||||||
broken = stdenv.isAarch64; # https://github.com/facebook/flow/issues/7556
|
|
||||||
maintainers = with maintainers; [ marsam puffnfresh ];
|
maintainers = with maintainers; [ marsam puffnfresh ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
{ lib, buildGoPackage, fetchFromGitLab, fetchurl }:
|
{ lib, buildGoPackage, fetchFromGitLab, fetchurl }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "13.9.0";
|
version = "13.10.0";
|
||||||
# Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
|
# Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
|
||||||
docker_x86_64 = fetchurl {
|
docker_x86_64 = fetchurl {
|
||||||
url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-x86_64.tar.xz";
|
url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-x86_64.tar.xz";
|
||||||
sha256 = "0zgnp6l0p1i7x6lppd24nfb6kqa8mw7rnr2p5gmwbmjv9i9zkycs";
|
sha256 = "0lw087xcbzf4d68mq0h0s31na7lww2d9nv43icw9qx05aknlcddv";
|
||||||
};
|
};
|
||||||
|
|
||||||
docker_arm = fetchurl {
|
docker_arm = fetchurl {
|
||||||
url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
|
url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
|
||||||
sha256 = "06b5p9ygcnrjrisp6bcgw9s3j2zlycp8jsri259bjf7rrfbwpkma";
|
sha256 = "1mf3w85ivc8r2rmb78r4b87rrxmbb1zda9pp8n4nvd0igg23xqk8";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
@ -30,7 +30,7 @@ buildGoPackage rec {
|
|||||||
owner = "gitlab-org";
|
owner = "gitlab-org";
|
||||||
repo = "gitlab-runner";
|
repo = "gitlab-runner";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0wzqrfjg43wnf9lr34jn3ydlxi7vsnqs55pm5igba592q8ykfbxk";
|
sha256 = "0xy5mpcpxcmwfdrspd29z8nyn1m9i4ma7d5kbihwa2yxznylydpx";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./fix-shell-path.patch ];
|
patches = [ ./fix-shell-path.patch ];
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
, coreutils, git, gnused, nix, nixfmt }:
|
, coreutils, git, gnused, nix, nixfmt }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "2.0.14";
|
version = "2.0.15";
|
||||||
|
|
||||||
zshCompletion = fetchurl {
|
zshCompletion = fetchurl {
|
||||||
url =
|
url =
|
||||||
@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
|
|||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url =
|
url =
|
||||||
"https://github.com/coursier/coursier/releases/download/v${version}/coursier";
|
"https://github.com/coursier/coursier/releases/download/v${version}/coursier";
|
||||||
sha256 = "sha256-mGVOg+I42O3VYj7RStEOfZajS9RZo9hLWKap6UdjJCE=";
|
sha256 = "sha256-XfTW8GNoPsNXamy0K9Ai3SSzBSyS1dNNCeWsbD8xCQI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
35
pkgs/misc/scimark/default.nix
Normal file
35
pkgs/misc/scimark/default.nix
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchurl
|
||||||
|
, unzip
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "scimark";
|
||||||
|
version = "4c";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://math.nist.gov/scimark2/${pname}${version}.zip";
|
||||||
|
hash = "sha256-kcg5vKYp0B7+bC/CmFMO/tMwxf9q6nvuFv0vRSy3MbE=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
unzip
|
||||||
|
];
|
||||||
|
|
||||||
|
dontConfigure = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -d $out/bin/
|
||||||
|
install scimark4 $out/bin/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://math.nist.gov/scimark2/index.html";
|
||||||
|
description = "Scientific and numerical computing benchmark (ANSI C version)";
|
||||||
|
license = licenses.publicDomain;
|
||||||
|
maintainers = with maintainers; [ AndersonTorres ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
# TODO [ AndersonTorres ]: Java version
|
@ -197,6 +197,8 @@ in
|
|||||||
inherit (python3Packages) sphinx;
|
inherit (python3Packages) sphinx;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
catatonit = callPackage ../applications/virtualization/catatonit { };
|
||||||
|
|
||||||
cen64 = callPackage ../misc/emulators/cen64 { };
|
cen64 = callPackage ../misc/emulators/cen64 { };
|
||||||
|
|
||||||
cereal = callPackage ../development/libraries/cereal { };
|
cereal = callPackage ../development/libraries/cereal { };
|
||||||
@ -7916,6 +7918,8 @@ in
|
|||||||
pulseSupport = config.pulseaudio or false;
|
pulseSupport = config.pulseaudio or false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
scimark = callPackage ../misc/scimark { };
|
||||||
|
|
||||||
screen = callPackage ../tools/misc/screen {
|
screen = callPackage ../tools/misc/screen {
|
||||||
inherit (darwin.apple_sdk.libs) utmp;
|
inherit (darwin.apple_sdk.libs) utmp;
|
||||||
};
|
};
|
||||||
|
@ -345,6 +345,12 @@ let
|
|||||||
|
|
||||||
faraday = callPackage ../development/ocaml-modules/faraday { };
|
faraday = callPackage ../development/ocaml-modules/faraday { };
|
||||||
|
|
||||||
|
faraday-async = callPackage ../development/ocaml-modules/faraday/async.nix { };
|
||||||
|
|
||||||
|
faraday-lwt = callPackage ../development/ocaml-modules/faraday/lwt.nix { };
|
||||||
|
|
||||||
|
faraday-lwt-unix = callPackage ../development/ocaml-modules/faraday/lwt-unix.nix { };
|
||||||
|
|
||||||
farfadet = callPackage ../development/ocaml-modules/farfadet { };
|
farfadet = callPackage ../development/ocaml-modules/farfadet { };
|
||||||
|
|
||||||
fdkaac = callPackage ../development/ocaml-modules/fdkaac { };
|
fdkaac = callPackage ../development/ocaml-modules/fdkaac { };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user