Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2021-03-22 18:21:14 +00:00 committed by GitHub
commit 6912ad3e03
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
28 changed files with 374 additions and 167 deletions

View file

@ -235,7 +235,7 @@ let
# https://github.com/NixOS/nixpkgs/pull/81371#issuecomment-605526099
wantedBy = optionals (!config.boot.isContainer) [ "multi-user.target" ];
path = with pkgs; [ lego coreutils diffutils ];
path = with pkgs; [ lego coreutils diffutils openssl ];
serviceConfig = commonServiceConfig // {
Group = data.group;
@ -274,6 +274,34 @@ let
script = ''
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) ''
# Ensure the webroot exists
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
# 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
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
echo 1>&2 "certificate domain(s) have changed; will renew now"
# Any number > 90 works, but this one is over 9000 ;-)
lego ${renewOpts} --days 9001
fi

View 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

View file

@ -6,21 +6,34 @@
"audio.convert.*": "audioconvert/libspa-audioconvert",
"support.*": "support/libspa-support"
},
"context.modules": {
"libpipewire-module-rtkit": {
"context.modules": [
{
"name": "libpipewire-module-rtkit",
"args": {},
"flags": [
"ifexists",
"nofail"
]
},
"libpipewire-module-protocol-native": null,
"libpipewire-module-client-node": null,
"libpipewire-module-client-device": null,
"libpipewire-module-adapter": null,
"libpipewire-module-metadata": null,
"libpipewire-module-session-manager": null
},
{
"name": "libpipewire-module-protocol-native"
},
{
"name": "libpipewire-module-client-node"
},
{
"name": "libpipewire-module-client-device"
},
{
"name": "libpipewire-module-adapter"
},
{
"name": "libpipewire-module-metadata"
},
{
"name": "libpipewire-module-session-manager"
}
],
"filter.properties": {},
"stream.properties": {}
}

View file

@ -6,14 +6,26 @@
"audio.convert.*": "audioconvert/libspa-audioconvert",
"support.*": "support/libspa-support"
},
"context.modules": {
"libpipewire-module-protocol-native": null,
"libpipewire-module-client-node": null,
"libpipewire-module-client-device": null,
"libpipewire-module-adapter": null,
"libpipewire-module-metadata": null,
"libpipewire-module-session-manager": null
},
"context.modules": [
{
"name": "libpipewire-module-protocol-native"
},
{
"name": "libpipewire-module-client-node"
},
{
"name": "libpipewire-module-client-device"
},
{
"name": "libpipewire-module-adapter"
},
{
"name": "libpipewire-module-metadata"
},
{
"name": "libpipewire-module-session-manager"
}
],
"filter.properties": {},
"stream.properties": {}
}

View file

@ -5,17 +5,24 @@
"context.spa-libs": {
"support.*": "support/libspa-support"
},
"context.modules": {
"libpipewire-module-rtkit": {
"context.modules": [
{
"name": "libpipewire-module-rtkit",
"args": {},
"flags": [
"ifexists",
"nofail"
]
},
"libpipewire-module-protocol-native": null,
"libpipewire-module-client-node": null,
"libpipewire-module-metadata": null
},
{
"name": "libpipewire-module-protocol-native"
},
{
"name": "libpipewire-module-client-node"
},
{
"name": "libpipewire-module-metadata"
}
],
"jack.properties": {}
}

View file

@ -6,21 +6,34 @@
"api.v4l2.*": "v4l2/libspa-v4l2",
"api.libcamera.*": "libcamera/libspa-libcamera"
},
"context.modules": {
"libpipewire-module-rtkit": {
"context.modules": [
{
"name": "libpipewire-module-rtkit",
"args": {},
"flags": [
"ifexists",
"nofail"
]
},
"libpipewire-module-protocol-native": null,
"libpipewire-module-client-node": null,
"libpipewire-module-client-device": null,
"libpipewire-module-adapter": null,
"libpipewire-module-metadata": null,
"libpipewire-module-session-manager": null
},
{
"name": "libpipewire-module-protocol-native"
},
{
"name": "libpipewire-module-client-node"
},
{
"name": "libpipewire-module-client-device"
},
{
"name": "libpipewire-module-adapter"
},
{
"name": "libpipewire-module-metadata"
},
{
"name": "libpipewire-module-session-manager"
}
],
"session.modules": {
"default": [
"flatpak",

View file

@ -9,21 +9,12 @@ let
&& pkgs.stdenv.isx86_64
&& 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
# Patched here as necessary for them to work with this module
defaults = {
alsa-monitor = (builtins.fromJSON (builtins.readFile ./alsa-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));
};
# Helpers for generating the pipewire JSON config file

View file

@ -4,25 +4,35 @@
"audio.convert.*": "audioconvert/libspa-audioconvert",
"support.*": "support/libspa-support"
},
"context.modules": {
"libpipewire-module-rtkit": {
"context.modules": [
{
"name": "libpipewire-module-rtkit",
"args": {},
"flags": [
"ifexists",
"nofail"
]
},
"libpipewire-module-protocol-native": null,
"libpipewire-module-client-node": null,
"libpipewire-module-adapter": null,
"libpipewire-module-metadata": null,
"libpipewire-module-protocol-pulse": {
{
"name": "libpipewire-module-protocol-native"
},
{
"name": "libpipewire-module-client-node"
},
{
"name": "libpipewire-module-adapter"
},
{
"name": "libpipewire-module-metadata"
},
{
"name": "libpipewire-module-protocol-pulse",
"args": {
"server.address": [
"unix:native"
]
}
}
},
],
"stream.properties": {}
}

View file

@ -14,42 +14,66 @@
"api.jack.*": "jack/libspa-jack",
"support.*": "support/libspa-support"
},
"context.modules": {
"libpipewire-module-rtkit": {
"context.modules": [
{
"name": "libpipewire-module-rtkit",
"args": {},
"flags": [
"ifexists",
"nofail"
]
},
"libpipewire-module-protocol-native": null,
"libpipewire-module-profiler": null,
"libpipewire-module-metadata": null,
"libpipewire-module-spa-device-factory": null,
"libpipewire-module-spa-node-factory": null,
"libpipewire-module-client-node": null,
"libpipewire-module-client-device": null,
"libpipewire-module-portal": {
{
"name": "libpipewire-module-protocol-native"
},
{
"name": "libpipewire-module-profiler"
},
{
"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": [
"ifexists",
"nofail"
]
},
"libpipewire-module-access": {
{
"name": "libpipewire-module-access",
"args": {}
},
"libpipewire-module-adapter": null,
"libpipewire-module-link-factory": null,
"libpipewire-module-session-manager": null
},
"context.objects": {
"spa-node-factory": {
{
"name": "libpipewire-module-adapter"
},
{
"name": "libpipewire-module-link-factory"
},
{
"name": "libpipewire-module-session-manager"
}
],
"context.objects": [
{
"factory": "spa-node-factory",
"args": {
"factory.name": "support.node.driver",
"node.name": "Dummy-Driver",
"priority.driver": 8000
}
}
},
"context.exec": {}
],
"context.exec": []
}

View file

@ -18,45 +18,15 @@ let
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
# Patched here as necessary for them to work with this module
defaults = {
client = recursiveUpdate (builtins.fromJSON (builtins.readFile ./client.conf.json)) prioritizeNativeProtocol;
client-rt = recursiveUpdate (builtins.fromJSON (builtins.readFile ./client-rt.conf.json)) prioritizeNativeProtocol;
jack = recursiveUpdate (builtins.fromJSON (builtins.readFile ./jack.conf.json)) prioritizeNativeProtocol;
client = builtins.fromJSON (builtins.readFile ./client.conf.json);
client-rt = builtins.fromJSON (builtins.readFile ./client-rt.conf.json);
jack = builtins.fromJSON (builtins.readFile ./jack.conf.json);
# 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-pulse = recursiveUpdate (builtins.fromJSON (builtins.readFile ./pipewire-pulse.conf.json)) prioritizeNativeProtocol;
pipewire = builtins.fromJSON (builtins.readFile ./pipewire.conf.json);
pipewire-pulse = builtins.fromJSON (builtins.readFile ./pipewire-pulse.conf.json);
};
# Helpers for generating the pipewire JSON config file

View file

@ -118,8 +118,9 @@ in
[network]
cni_plugin_dirs = ["${pkgs.cni-plugins}/bin/"]
${lib.optionalString (cfg.ociSeccompBpfHook.enable == true) ''
[engine]
init_path = "${pkgs.catatonit}/bin/catatonit"
${lib.optionalString (cfg.ociSeccompBpfHook.enable) ''
hooks_dir = [
"${config.boot.kernelPackages.oci-seccomp-bpf-hook}",
]

View file

@ -96,6 +96,15 @@ import ./make-test-python.nix (
podman.succeed(su_cmd("podman ps | grep sleeping"))
podman.succeed(su_cmd("podman stop 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"
'';
}
)

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

View file

@ -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`
};
} // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
crossVersion = "1.3.5"; # Jan 24, 2021
crossVersion = "e53999d0c340769792ba18d749751b0df3d1d177"; # Mar 21, 2021
perl-cross-src = fetchurl {
url = "https://github.com/arsv/perl-cross/archive/${crossVersion}.tar.gz";
sha256 = "1sa2f8s1hc604g5y98w6m6y5q43s9jiyrpnp4b34zkfx1qs3w6l4";
sha256 = "14vcpwjhq667yh0cs7ism70df8l7068vn4a0ww59hdjyj7yc84i6";
};
depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ];
@ -211,7 +211,7 @@ in {
perldevel = common {
perl = pkgs.perldevel;
buildPerl = buildPackages.perldevel;
version = "5.33.6";
sha256 = "1fx6b2q7wzd0xwy7qkmkvd5bdm09d3zfnynrb6afl9ghd8ww56fv";
version = "5.33.8";
sha256 = "1zr6sdsfcmk86n3f8j65x07xkv29v0pi8bwc986ahmjx7x92xzgl";
};
}

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "zef";
version = "0.11.4";
version = "0.11.5";
src = fetchFromGitHub {
owner = "ugexe";
repo = "zef";
rev = "v${version}";
sha256 = "sha256-wccVMEUAfTWs/8hnrT7nrxfYPHyNl+lXt+KUDkyplto=";
sha256 = "sha256-LLUAwqky/q9KvFltrcff5U2BSLvOk/BbDSj07QlePSg=";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -1,19 +1,19 @@
diff --git a/meson_options.txt b/meson_options.txt
index a6c8af72..8e5c3d73 100644
index e2a1e028..310029f2 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -10,6 +10,9 @@ option('media-session',
description: 'Build and install pipewire-media-session',
type: 'boolean',
value: true)
type: 'feature',
value: 'auto')
+option('media-session-prefix',
+ description: 'Install directory for pipewire-media-session and its support files',
+ type: 'string')
option('man',
description: 'Build manpages',
type: 'boolean',
type: 'feature',
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
+++ b/src/daemon/systemd/user/meson.build
@@ -10,7 +10,7 @@ install_data(

View file

@ -1,29 +1,29 @@
diff --git a/meson.build b/meson.build
index ffee41b4..bab6f019 100644
index 97d4d939..b17358e5 100644
--- a/meson.build
+++ b/meson.build
@@ -318,8 +318,8 @@ alsa_dep = (get_option('pipewire-alsa')
? dependency('alsa', version : '>=1.1.7')
: dependency('', required: false))
@@ -353,8 +353,8 @@ libinotify_dep = (build_machine.system() == 'freebsd'
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_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_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')
diff --git a/meson_options.txt b/meson_options.txt
index f03033c3..32df6c53 100644
index fba0d647..8c6106cd 100644
--- a/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',
type: 'boolean',
value: false)
type: 'feature',
value: 'disabled')
+option('installed_test_prefix',
+ description: 'Prefix for installed tests',
+ type: 'string')
option('gstreamer',
description: 'Build GStreamer plugins',
type: 'boolean',
type: 'feature',

View file

@ -39,11 +39,11 @@ let
fontDirectories = [];
};
mesonBool = b: if b then "true" else "false";
mesonEnable = b: if b then "enabled" else "disabled";
self = stdenv.mkDerivation rec {
pname = "pipewire";
version = "0.3.23";
version = "0.3.24";
outputs = [
"out"
@ -61,7 +61,7 @@ let
owner = "pipewire";
repo = "pipewire";
rev = version;
hash = "sha256:1HMUrE1NBmrdBRMKX3LRlXaCEH3wqP2jGtW8Rp9oyQA=";
hash = "sha256:PcY20FTtUtJYAwCscEs+HfkdwDksYPFZIVTVORP1ooI=";
};
patches = [
@ -103,22 +103,23 @@ let
++ lib.optionals bluezSupport [ bluez libopenaptx ldacbt sbc fdk_aac ];
mesonFlags = [
"-Ddocs=true"
"-Dman=false" # we don't have xmltoman
"-Dexamples=${mesonBool withMediaSession}" # only needed for `pipewire-media-session`
"-Ddocs=enabled"
"-Dman=disabled" # we don't have xmltoman
"-Dexamples=${mesonEnable withMediaSession}" # only needed for `pipewire-media-session`
"-Dudevrulesdir=lib/udev/rules.d"
"-Dinstalled_tests=true"
"-Dinstalled_tests=enabled"
"-Dinstalled_test_prefix=${placeholder "installedTests"}"
"-Dpipewire_pulse_prefix=${placeholder "pulse"}"
"-Dmedia-session-prefix=${placeholder "mediaSession"}"
"-Dlibjack-path=${placeholder "jack"}/lib"
"-Dgstreamer=${mesonBool gstreamerSupport}"
"-Dffmpeg=${mesonBool ffmpegSupport}"
"-Dbluez5=${mesonBool bluezSupport}"
"-Dbluez5-backend-hsp-native=${mesonBool nativeHspSupport}"
"-Dbluez5-backend-hfp-native=${mesonBool nativeHfpSupport}"
"-Dbluez5-backend-ofono=${mesonBool ofonoSupport}"
"-Dbluez5-backend-hsphfpd=${mesonBool hsphfpdSupport}"
"-Dlibcamera=disabled"
"-Dgstreamer=${mesonEnable gstreamerSupport}"
"-Dffmpeg=${mesonEnable ffmpegSupport}"
"-Dbluez5=${mesonEnable bluezSupport}"
"-Dbluez5-backend-hsp-native=${mesonEnable nativeHspSupport}"
"-Dbluez5-backend-hfp-native=${mesonEnable nativeHfpSupport}"
"-Dbluez5-backend-ofono=${mesonEnable ofonoSupport}"
"-Dbluez5-backend-hsphfpd=${mesonEnable hsphfpdSupport}"
"-Dpipewire_config_dir=/etc/pipewire"
];

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

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

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

View file

@ -1,31 +1,26 @@
{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
, colorama, mypy, pyyaml, regex
, dataclasses, typing
, pytestrunner, pytest-mypy
, colorama, regex
, pytestrunner, pytestCheckHook, pytest-mypy
}:
buildPythonPackage rec {
pname = "TatSu";
version = "5.5.0";
pname = "tatsu";
version = "5.6.0";
src = fetchFromGitHub {
owner = "neogeny";
repo = pname;
repo = "TatSu";
rev = "v${version}";
sha256 = "07bmdnwh99p60cgzhlb8s5vwi5v4r5zi8shymxnnarannkc66hzn";
sha256 = "sha256-kC2MxMebS4TQEZBgTmYRBWaWSF36rVS3bXIsQgRrF0Y=";
};
disabled = pythonOlder "3.8";
nativeBuildInputs = [ pytestrunner ];
propagatedBuildInputs = [ colorama mypy pyyaml regex ]
++ lib.optionals (pythonOlder "3.7") [ dataclasses ]
++ lib.optionals (pythonOlder "3.5") [ typing ];
checkInputs = [ pytest-mypy ];
propagatedBuildInputs = [ colorama regex ];
checkInputs = [ pytestCheckHook pytest-mypy ];
checkPhase = ''
pytest test/
'';
pythonImportsCheck = [ "tatsu" ];
meta = with lib; {
description = "Generates Python parsers from grammars in a variation of EBNF";

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "flow";
version = "0.146.0";
version = "0.147.0";
src = fetchFromGitHub {
owner = "facebook";
repo = "flow";
rev = "refs/tags/v${version}";
sha256 = "0kxws51hri0b4z7k05li6vg1arcdc7i5jzfibi0iplsfyy14159q";
sha256 = "sha256-3U8BOYUHl1YiOnxAIV2V6Ib+LZ0DydtSfwAxN2Hj09g=";
};
installPhase = ''
@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
changelog = "https://github.com/facebook/flow/releases/tag/v${version}";
license = licenses.mit;
platforms = ocamlPackages.ocaml.meta.platforms;
broken = stdenv.isAarch64; # https://github.com/facebook/flow/issues/7556
maintainers = with maintainers; [ marsam puffnfresh ];
};
}

View file

@ -1,16 +1,16 @@
{ lib, buildGoPackage, fetchFromGitLab, fetchurl }:
let
version = "13.9.0";
version = "13.10.0";
# Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
docker_x86_64 = fetchurl {
url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-x86_64.tar.xz";
sha256 = "0zgnp6l0p1i7x6lppd24nfb6kqa8mw7rnr2p5gmwbmjv9i9zkycs";
sha256 = "0lw087xcbzf4d68mq0h0s31na7lww2d9nv43icw9qx05aknlcddv";
};
docker_arm = fetchurl {
url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
sha256 = "06b5p9ygcnrjrisp6bcgw9s3j2zlycp8jsri259bjf7rrfbwpkma";
sha256 = "1mf3w85ivc8r2rmb78r4b87rrxmbb1zda9pp8n4nvd0igg23xqk8";
};
in
buildGoPackage rec {
@ -30,7 +30,7 @@ buildGoPackage rec {
owner = "gitlab-org";
repo = "gitlab-runner";
rev = "v${version}";
sha256 = "0wzqrfjg43wnf9lr34jn3ydlxi7vsnqs55pm5igba592q8ykfbxk";
sha256 = "0xy5mpcpxcmwfdrspd29z8nyn1m9i4ma7d5kbihwa2yxznylydpx";
};
patches = [ ./fix-shell-path.patch ];

View file

@ -2,7 +2,7 @@
, coreutils, git, gnused, nix, nixfmt }:
let
version = "2.0.14";
version = "2.0.15";
zshCompletion = fetchurl {
url =
@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url =
"https://github.com/coursier/coursier/releases/download/v${version}/coursier";
sha256 = "sha256-mGVOg+I42O3VYj7RStEOfZajS9RZo9hLWKap6UdjJCE=";
sha256 = "sha256-XfTW8GNoPsNXamy0K9Ai3SSzBSyS1dNNCeWsbD8xCQI=";
};
nativeBuildInputs = [ makeWrapper ];

View 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

View file

@ -197,6 +197,8 @@ in
inherit (python3Packages) sphinx;
};
catatonit = callPackage ../applications/virtualization/catatonit { };
cen64 = callPackage ../misc/emulators/cen64 { };
cereal = callPackage ../development/libraries/cereal { };
@ -7916,6 +7918,8 @@ in
pulseSupport = config.pulseaudio or false;
};
scimark = callPackage ../misc/scimark { };
screen = callPackage ../tools/misc/screen {
inherit (darwin.apple_sdk.libs) utmp;
};

View file

@ -345,6 +345,12 @@ let
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 { };
fdkaac = callPackage ../development/ocaml-modules/fdkaac { };