Merge staging-next into staging
This commit is contained in:
commit
c5b73dc964
50 changed files with 1955 additions and 720 deletions
|
@ -103,7 +103,7 @@ let
|
|||
getName getVersion
|
||||
nameFromURL enableFeature enableFeatureAs withFeature
|
||||
withFeatureAs fixedWidthString fixedWidthNumber isStorePath
|
||||
toInt readPathsFromFile fileContents;
|
||||
toInt toIntBase10 readPathsFromFile fileContents;
|
||||
inherit (self.stringsWithDeps) textClosureList textClosureMap
|
||||
noDepEntry fullDepEntry packEntry stringAfter;
|
||||
inherit (self.customisation) overrideDerivation makeOverridable
|
||||
|
|
|
@ -783,24 +783,105 @@ rec {
|
|||
else
|
||||
false;
|
||||
|
||||
/* Parse a string as an int.
|
||||
/* Parse a string as an int. Does not support parsing of integers with preceding zero due to
|
||||
ambiguity between zero-padded and octal numbers. See toIntBase10.
|
||||
|
||||
Type: string -> int
|
||||
|
||||
Example:
|
||||
|
||||
toInt "1337"
|
||||
=> 1337
|
||||
|
||||
toInt "-4"
|
||||
=> -4
|
||||
|
||||
toInt " 123 "
|
||||
=> 123
|
||||
|
||||
toInt "00024"
|
||||
=> error: Ambiguity in interpretation of 00024 between octal and zero padded integer.
|
||||
|
||||
toInt "3.14"
|
||||
=> error: floating point JSON numbers are not supported
|
||||
*/
|
||||
# Obviously, it is a bit hacky to use fromJSON this way.
|
||||
toInt = str:
|
||||
let may_be_int = fromJSON str; in
|
||||
if isInt may_be_int
|
||||
then may_be_int
|
||||
else throw "Could not convert ${str} to int.";
|
||||
let
|
||||
# RegEx: Match any leading whitespace, then any digits, and finally match any trailing
|
||||
# whitespace.
|
||||
strippedInput = match "[[:space:]]*([[:digit:]]+)[[:space:]]*" str;
|
||||
|
||||
# RegEx: Match a leading '0' then one or more digits.
|
||||
isLeadingZero = match "0[[:digit:]]+" (head strippedInput) == [];
|
||||
|
||||
# Attempt to parse input
|
||||
parsedInput = fromJSON (head strippedInput);
|
||||
|
||||
generalError = "toInt: Could not convert ${escapeNixString str} to int.";
|
||||
|
||||
octalAmbigError = "toInt: Ambiguity in interpretation of ${escapeNixString str}"
|
||||
+ " between octal and zero padded integer.";
|
||||
|
||||
in
|
||||
# Error on presence of non digit characters.
|
||||
if strippedInput == null
|
||||
then throw generalError
|
||||
# Error on presence of leading zero/octal ambiguity.
|
||||
else if isLeadingZero
|
||||
then throw octalAmbigError
|
||||
# Error if parse function fails.
|
||||
else if !isInt parsedInput
|
||||
then throw generalError
|
||||
# Return result.
|
||||
else parsedInput;
|
||||
|
||||
|
||||
/* Parse a string as a base 10 int. This supports parsing of zero-padded integers.
|
||||
|
||||
Type: string -> int
|
||||
|
||||
Example:
|
||||
toIntBase10 "1337"
|
||||
=> 1337
|
||||
|
||||
toIntBase10 "-4"
|
||||
=> -4
|
||||
|
||||
toIntBase10 " 123 "
|
||||
=> 123
|
||||
|
||||
toIntBase10 "00024"
|
||||
=> 24
|
||||
|
||||
toIntBase10 "3.14"
|
||||
=> error: floating point JSON numbers are not supported
|
||||
*/
|
||||
toIntBase10 = str:
|
||||
let
|
||||
# RegEx: Match any leading whitespace, then match any zero padding, capture any remaining
|
||||
# digits after that, and finally match any trailing whitespace.
|
||||
strippedInput = match "[[:space:]]*0*([[:digit:]]+)[[:space:]]*" str;
|
||||
|
||||
# RegEx: Match at least one '0'.
|
||||
isZero = match "0+" (head strippedInput) == [];
|
||||
|
||||
# Attempt to parse input
|
||||
parsedInput = fromJSON (head strippedInput);
|
||||
|
||||
generalError = "toIntBase10: Could not convert ${escapeNixString str} to int.";
|
||||
|
||||
in
|
||||
# Error on presence of non digit characters.
|
||||
if strippedInput == null
|
||||
then throw generalError
|
||||
# In the special case zero-padded zero (00000), return early.
|
||||
else if isZero
|
||||
then 0
|
||||
# Error if parse function fails.
|
||||
else if !isInt parsedInput
|
||||
then throw generalError
|
||||
# Return result.
|
||||
else parsedInput;
|
||||
|
||||
/* Read a list of paths from `file`, relative to the `rootPath`.
|
||||
Lines beginning with `#` are treated as comments and ignored.
|
||||
|
|
|
@ -327,6 +327,77 @@ runTests {
|
|||
expected = "Hello\\x20World";
|
||||
};
|
||||
|
||||
testToInt = testAllTrue [
|
||||
# Naive
|
||||
(123 == toInt "123")
|
||||
(0 == toInt "0")
|
||||
# Whitespace Padding
|
||||
(123 == toInt " 123")
|
||||
(123 == toInt "123 ")
|
||||
(123 == toInt " 123 ")
|
||||
(123 == toInt " 123 ")
|
||||
(0 == toInt " 0")
|
||||
(0 == toInt "0 ")
|
||||
(0 == toInt " 0 ")
|
||||
];
|
||||
|
||||
testToIntFails = testAllTrue [
|
||||
( builtins.tryEval (toInt "") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toInt "123 123") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toInt "0 123") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toInt " 0d ") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toInt " 1d ") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toInt " d0 ") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toInt "00") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toInt "01") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toInt "002") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toInt " 002 ") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toInt " foo ") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toInt " foo 123 ") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toInt " foo123 ") == { success = false; value = false; } )
|
||||
];
|
||||
|
||||
testToIntBase10 = testAllTrue [
|
||||
# Naive
|
||||
(123 == toIntBase10 "123")
|
||||
(0 == toIntBase10 "0")
|
||||
# Whitespace Padding
|
||||
(123 == toIntBase10 " 123")
|
||||
(123 == toIntBase10 "123 ")
|
||||
(123 == toIntBase10 " 123 ")
|
||||
(123 == toIntBase10 " 123 ")
|
||||
(0 == toIntBase10 " 0")
|
||||
(0 == toIntBase10 "0 ")
|
||||
(0 == toIntBase10 " 0 ")
|
||||
# Zero Padding
|
||||
(123 == toIntBase10 "0123")
|
||||
(123 == toIntBase10 "0000123")
|
||||
(0 == toIntBase10 "000000")
|
||||
# Whitespace and Zero Padding
|
||||
(123 == toIntBase10 " 0123")
|
||||
(123 == toIntBase10 "0123 ")
|
||||
(123 == toIntBase10 " 0123 ")
|
||||
(123 == toIntBase10 " 0000123")
|
||||
(123 == toIntBase10 "0000123 ")
|
||||
(123 == toIntBase10 " 0000123 ")
|
||||
(0 == toIntBase10 " 000000")
|
||||
(0 == toIntBase10 "000000 ")
|
||||
(0 == toIntBase10 " 000000 ")
|
||||
];
|
||||
|
||||
testToIntBase10Fails = testAllTrue [
|
||||
( builtins.tryEval (toIntBase10 "") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toIntBase10 "123 123") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toIntBase10 "0 123") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toIntBase10 " 0d ") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toIntBase10 " 1d ") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toIntBase10 " d0 ") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toIntBase10 " foo ") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toIntBase10 " foo 123 ") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toIntBase10 " foo 00123 ") == { success = false; value = false; } )
|
||||
( builtins.tryEval (toIntBase10 " foo00123 ") == { success = false; value = false; } )
|
||||
];
|
||||
|
||||
# LISTS
|
||||
|
||||
testFilter = {
|
||||
|
|
|
@ -162,7 +162,7 @@ checkConfigError 'A definition for option .* is not.*string or signed integer co
|
|||
# Check coerced value with unsound coercion
|
||||
checkConfigOutput '^12$' config.value ./declare-coerced-value-unsound.nix
|
||||
checkConfigError 'A definition for option .* is not of type .*. Definition values:\n\s*- In .*: "1000"' config.value ./declare-coerced-value-unsound.nix ./define-value-string-bigint.nix
|
||||
checkConfigError 'json.exception.parse_error' config.value ./declare-coerced-value-unsound.nix ./define-value-string-arbitrary.nix
|
||||
checkConfigError 'toInt: Could not convert .* to int' config.value ./declare-coerced-value-unsound.nix ./define-value-string-arbitrary.nix
|
||||
|
||||
# Check mkAliasOptionModule.
|
||||
checkConfigOutput '^true$' config.enable ./alias-with-priority.nix
|
||||
|
|
|
@ -38,24 +38,6 @@
|
|||
<literal>stdenv.buildPlatform.canExecute stdenv.hostPlatform</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>polymc</literal> package has been removed due to
|
||||
a rogue maintainer. It has been replaced by
|
||||
<literal>prismlauncher</literal>, a fork by the rest of the
|
||||
maintainers. For more details, see
|
||||
<link xlink:href="https://github.com/NixOS/nixpkgs/pull/196624">the
|
||||
pull request that made this change</link> and
|
||||
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/196460">this
|
||||
issue detailing the vulnerability</link>. Users with existing
|
||||
installations should rename
|
||||
<literal>~/.local/share/polymc</literal> to
|
||||
<literal>~/.local/share/PrismLauncher</literal>. The main
|
||||
config file’s path has also moved from
|
||||
<literal>~/.local/share/polymc/polymc.cfg</literal> to
|
||||
<literal>~/.local/share/PrismLauncher/prismlauncher.cfg</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>nixpkgs.hostPlatform</literal> and
|
||||
|
@ -867,6 +849,24 @@
|
|||
the mtu on interfaces and tag its packets with an fwmark.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>polymc</literal> package has been removed due to
|
||||
a rogue maintainer. It has been replaced by
|
||||
<literal>prismlauncher</literal>, a fork by the rest of the
|
||||
maintainers. For more details, see
|
||||
<link xlink:href="https://github.com/NixOS/nixpkgs/pull/196624">the
|
||||
pull request that made this change</link> and
|
||||
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/196460">this
|
||||
issue detailing the vulnerability</link>. Users with existing
|
||||
installations should rename
|
||||
<literal>~/.local/share/polymc</literal> to
|
||||
<literal>~/.local/share/PrismLauncher</literal>. The main
|
||||
config file’s path has also moved from
|
||||
<literal>~/.local/share/polymc/polymc.cfg</literal> to
|
||||
<literal>~/.local/share/PrismLauncher/prismlauncher.cfg</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>services.matrix-synapse</literal> systemd unit
|
||||
|
|
|
@ -20,16 +20,6 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
built for `stdenv.hostPlatform` (i.e. produced by `stdenv.cc`) by evaluating
|
||||
`stdenv.buildPlatform.canExecute stdenv.hostPlatform`.
|
||||
|
||||
- The `polymc` package has been removed due to a rogue maintainer. It has been
|
||||
replaced by `prismlauncher`, a fork by the rest of the maintainers. For more
|
||||
details, see [the pull request that made this
|
||||
change](https://github.com/NixOS/nixpkgs/pull/196624) and [this issue
|
||||
detailing the vulnerability](https://github.com/NixOS/nixpkgs/issues/196460).
|
||||
Users with existing installations should rename `~/.local/share/polymc` to
|
||||
`~/.local/share/PrismLauncher`. The main config file's path has also moved
|
||||
from `~/.local/share/polymc/polymc.cfg` to
|
||||
`~/.local/share/PrismLauncher/prismlauncher.cfg`.
|
||||
|
||||
- The `nixpkgs.hostPlatform` and `nixpkgs.buildPlatform` options have been added.
|
||||
These cover and override the `nixpkgs.{system,localSystem,crossSystem}` options.
|
||||
|
||||
|
@ -280,6 +270,16 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
|||
|
||||
- The `networking.wireguard` module now can set the mtu on interfaces and tag its packets with an fwmark.
|
||||
|
||||
- The `polymc` package has been removed due to a rogue maintainer. It has been
|
||||
replaced by `prismlauncher`, a fork by the rest of the maintainers. For more
|
||||
details, see [the pull request that made this
|
||||
change](https://github.com/NixOS/nixpkgs/pull/196624) and [this issue
|
||||
detailing the vulnerability](https://github.com/NixOS/nixpkgs/issues/196460).
|
||||
Users with existing installations should rename `~/.local/share/polymc` to
|
||||
`~/.local/share/PrismLauncher`. The main config file's path has also moved
|
||||
from `~/.local/share/polymc/polymc.cfg` to
|
||||
`~/.local/share/PrismLauncher/prismlauncher.cfg`.
|
||||
|
||||
- The `services.matrix-synapse` systemd unit has been hardened.
|
||||
|
||||
- The `services.grafana` options were converted to a [RFC 0042](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md) configuration.
|
||||
|
|
|
@ -13,4 +13,9 @@ with lib;
|
|||
documentation.nixos.enable = mkDefault false;
|
||||
|
||||
programs.command-not-found.enable = mkDefault false;
|
||||
|
||||
xdg.autostart.enable = mkDefault false;
|
||||
xdg.icons.enable = mkDefault false;
|
||||
xdg.mime.enable = mkDefault false;
|
||||
xdg.sounds.enable = mkDefault false;
|
||||
}
|
||||
|
|
|
@ -155,7 +155,7 @@ let
|
|||
|
||||
makeFstabEntries =
|
||||
let
|
||||
fsToSkipCheck = [ "none" "bindfs" "btrfs" "zfs" "tmpfs" "nfs" "vboxsf" "glusterfs" "apfs" "9p" "cifs" "prl_fs" "vmhgfs" ];
|
||||
fsToSkipCheck = [ "none" "bindfs" "btrfs" "zfs" "tmpfs" "nfs" "nfs4" "vboxsf" "glusterfs" "apfs" "9p" "cifs" "prl_fs" "vmhgfs" ];
|
||||
isBindMount = fs: builtins.elem "bind" fs.options;
|
||||
skipCheck = fs: fs.noCheck || fs.device == "none" || builtins.elem fs.fsType fsToSkipCheck || isBindMount fs;
|
||||
# https://wiki.archlinux.org/index.php/fstab#Filepath_spaces
|
||||
|
|
|
@ -9,25 +9,34 @@ in
|
|||
|
||||
nodeComposition.package.override rec {
|
||||
pname = "open-stage-control";
|
||||
inherit (nodeComposition.args) version;
|
||||
version = "1.18.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jean-emmanuel";
|
||||
repo = "open-stage-control";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-q18pRtsHfme+OPmi3LhJDK1AdpfkwhoE9LA2rNenDtY=";
|
||||
hash = "sha256-AXdPxTauy2rMRMdfUjkfTjbNDgOKmoiGUeeLak0wu84=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
makeBinaryWrapper
|
||||
nodejs
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
python3.pkgs.python-rtmidi
|
||||
];
|
||||
|
||||
dontNpmInstall = true;
|
||||
doInstallCheck = true;
|
||||
|
||||
preRebuild = ''
|
||||
# remove electron to prevent building since nixpkgs electron is used instead
|
||||
rm -r node_modules/electron
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# build assets
|
||||
|
@ -48,7 +57,6 @@ nodeComposition.package.override rec {
|
|||
installCheckPhase = ''
|
||||
XDG_CONFIG_HOME="$(mktemp -d)" $out/bin/open-stage-control --help
|
||||
'';
|
||||
doInstallCheck = true;
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
|
@ -62,6 +70,8 @@ nodeComposition.package.override rec {
|
|||
})
|
||||
];
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Libre and modular OSC / MIDI controller";
|
||||
homepage = "https://openstagecontrol.ammd.net/";
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p jq nodePackages.node2nix
|
||||
|
||||
# Get latest release tag
|
||||
tag="$(curl -s https://api.github.com/repos/jean-emmanuel/open-stage-control/releases/latest | jq -r .tag_name)"
|
||||
|
||||
# Download package.json from the latest release
|
||||
curl -s https://raw.githubusercontent.com/jean-emmanuel/open-stage-control/"$tag"/package.json | grep -v '"electron"\|"electron-installer-debian"\|"electron-packager"\|"electron-packager-plugin-non-proprietary-codecs-ffmpeg"' >package.json
|
||||
|
||||
# Lock dependencies with node2nix
|
||||
node2nix \
|
||||
--node-env ../../../development/node-packages/node-env.nix \
|
||||
--nodejs-16 \
|
||||
--input package.json \
|
||||
--output node-packages.nix \
|
||||
--composition node-composition.nix
|
||||
|
||||
rm -f package.json
|
1925
pkgs/applications/audio/open-stage-control/node-packages.nix
generated
1925
pkgs/applications/audio/open-stage-control/node-packages.nix
generated
File diff suppressed because it is too large
Load diff
25
pkgs/applications/audio/open-stage-control/update.sh
Executable file
25
pkgs/applications/audio/open-stage-control/update.sh
Executable file
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p common-updater-scripts jq nodePackages.node2nix
|
||||
set -euo pipefail
|
||||
|
||||
# Find nixpkgs repo
|
||||
nixpkgs="$(git rev-parse --show-toplevel || (printf 'Could not find root of nixpkgs repo\nAre we running from within the nixpkgs git repo?\n' >&2; exit 1))"
|
||||
|
||||
# Get latest release tag
|
||||
tag="$(curl -s https://api.github.com/repos/jean-emmanuel/open-stage-control/releases/latest | jq -r .tag_name)"
|
||||
|
||||
# Download package.json from the latest release
|
||||
curl -sSL https://raw.githubusercontent.com/jean-emmanuel/open-stage-control/"$tag"/package.json | grep -v '"electron"\|"electron-installer-debian"' >"$nixpkgs"/pkgs/applications/audio/open-stage-control/package.json
|
||||
|
||||
# Lock dependencies with node2nix
|
||||
node2nix \
|
||||
--node-env "$nixpkgs"/pkgs/development/node-packages/node-env.nix \
|
||||
--nodejs-16 \
|
||||
--input "$nixpkgs"/pkgs/applications/audio/open-stage-control/package.json \
|
||||
--output "$nixpkgs"/pkgs/applications/audio/open-stage-control/node-packages.nix \
|
||||
--composition "$nixpkgs"/pkgs/applications/audio/open-stage-control/node-composition.nix
|
||||
|
||||
rm -f "$nixpkgs"/pkgs/applications/audio/open-stage-control/package.json
|
||||
|
||||
# Update hash
|
||||
(cd "$nixpkgs" && update-source-version "${UPDATE_NIX_ATTR_PATH:-open-stage-control}" "${tag#v}")
|
|
@ -45,7 +45,7 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "touchosc";
|
||||
version = "1.1.5.145";
|
||||
version = "1.1.6.150";
|
||||
|
||||
suffix = {
|
||||
aarch64-linux = "linux-arm64";
|
||||
|
@ -56,9 +56,9 @@ stdenv.mkDerivation rec {
|
|||
src = fetchurl {
|
||||
url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.deb";
|
||||
hash = {
|
||||
aarch64-linux = "sha256-3qbr9dveeDqP9psZNyN520B2JuG/R9yvpYX9CdqR7TI=";
|
||||
armv7l-linux = "sha256-wns0hb+5s7cEbV+4crUWRJ1yU3pl1N0NJ0GWmM4Uvos=";
|
||||
x86_64-linux = "sha256-LsrR46Epc8x0KTc2lbVN1rbb5KZXYTG8oygJ1BmsCC8=";
|
||||
aarch64-linux = "sha256-sYkAFyXnmzgSzo68OF0oiv8tUvY+g1WCcY783OZO+RM=";
|
||||
armv7l-linux = "sha256-GWpYW1262plxIzPVzBEh4Z3fQIhSmy0N9xAgwnjXrQE=";
|
||||
x86_64-linux = "sha256-LUWlLEsTUqVoWAkjXC/zOziPqO85H8iIlwJU7eqLRcY=";
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
|
@ -96,6 +96,8 @@ stdenv.mkDerivation rec {
|
|||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://hexler.net/touchosc";
|
||||
description = "Next generation modular control surface";
|
||||
|
|
33
pkgs/applications/audio/touchosc/update.sh
Executable file
33
pkgs/applications/audio/touchosc/update.sh
Executable file
|
@ -0,0 +1,33 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p nix curl libxml2 jq common-updater-scripts
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
nixpkgs="$(git rev-parse --show-toplevel || (printf 'Could not find root of nixpkgs repo\nAre we running from within the nixpkgs git repo?\n' >&2; exit 1))"
|
||||
|
||||
attr="${UPDATE_NIX_ATTR_PATH:-touchosc}"
|
||||
version="$(curl -sSL https://hexler.net/touchosc/appcast/linux | xmllint --xpath '/rss/channel/item/enclosure/@*[local-name()="version"]' - | cut -d= -f2- | tr -d '"' | head -n1)"
|
||||
|
||||
findpath() {
|
||||
path="$(nix --extra-experimental-features nix-command eval --json --impure -f "$nixpkgs" "$1.meta.position" | jq -r . | cut -d: -f1)"
|
||||
outpath="$(nix --extra-experimental-features nix-command eval --json --impure --expr "builtins.fetchGit \"$nixpkgs\"")"
|
||||
|
||||
if [ -n "$outpath" ]; then
|
||||
path="${path/$(echo "$outpath" | jq -r .)/$nixpkgs}"
|
||||
fi
|
||||
|
||||
echo "$path"
|
||||
}
|
||||
|
||||
pkgpath="$(findpath "$attr")"
|
||||
|
||||
sed -i -e "/version\s*=/ s|\"$UPDATE_NIX_OLD_VERSION\"|\"$version\"|" "$pkgpath"
|
||||
|
||||
for system in aarch64-linux armv7l-linux x86_64-linux; do
|
||||
url="$(nix --extra-experimental-features nix-command eval --json --impure --argstr system "$system" -f "$nixpkgs" "$attr".src.url | jq -r .)"
|
||||
|
||||
curhash="$(nix --extra-experimental-features nix-command eval --json --impure --argstr system "$system" -f "$nixpkgs" "$attr".src.outputHash | jq -r .)"
|
||||
newhash="$(nix --extra-experimental-features nix-command store prefetch-file --json "$url" | jq -r .hash)"
|
||||
|
||||
sed -i -e "s|\"$curhash\"|\"$newhash\"|" "$pkgpath"
|
||||
done
|
|
@ -3873,6 +3873,18 @@ final: prev:
|
|||
meta.homepage = "https://github.com/rebelot/kanagawa.nvim/";
|
||||
};
|
||||
|
||||
keymap-layer-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "keymap-layer.nvim";
|
||||
version = "2022-07-16";
|
||||
src = fetchFromGitHub {
|
||||
owner = "anuvyklack";
|
||||
repo = "keymap-layer.nvim";
|
||||
rev = "e46840f9f377766e856964a49d7f351de3188a38";
|
||||
sha256 = "1bmvsr14b3hmbyzjx8wh4wyfqwh4vyy9zyvl04sz5kafw63j7wi1";
|
||||
};
|
||||
meta.homepage = "https://github.com/anuvyklack/keymap-layer.nvim/";
|
||||
};
|
||||
|
||||
kommentary = buildVimPluginFrom2Nix {
|
||||
pname = "kommentary";
|
||||
version = "2022-05-27";
|
||||
|
|
|
@ -324,6 +324,7 @@ https://github.com/vito-c/jq.vim/,,
|
|||
https://github.com/neoclide/jsonc.vim/,,
|
||||
https://github.com/JuliaEditorSupport/julia-vim/,,
|
||||
https://github.com/rebelot/kanagawa.nvim/,,
|
||||
https://github.com/anuvyklack/keymap-layer.nvim/,HEAD,
|
||||
https://github.com/b3nj5m1n/kommentary/,,
|
||||
https://github.com/udalov/kotlin-vim/,,
|
||||
https://github.com/qnighy/lalrpop.vim/,,
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "photoflare";
|
||||
version = "1.6.10";
|
||||
version = "1.6.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PhotoFlare";
|
||||
repo = "photoflare";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-lQIzvI6rjcx8pHni9LN15LWyIkMALvyYx54G9WyqpOo=";
|
||||
sha256 = "sha256-nXVTkkfRpbLZ+zUgnSzKNlVixI86eKoG5FO8GqgnrDY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake qttools ];
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
, ninja
|
||||
, pkg-config
|
||||
, wrapGAppsHook
|
||||
, gtk3
|
||||
, atk
|
||||
, libhandy
|
||||
, libnotify
|
||||
|
@ -35,6 +36,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
atk
|
||||
gobject-introspection
|
||||
libhandy
|
||||
|
|
|
@ -11,13 +11,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cpu-x";
|
||||
version = "4.5.0";
|
||||
version = "4.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "X0rg";
|
||||
repo = "CPU-X";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-pkyYfGpACF8kRCCUwEQtA5tMDSShsm+58KzUruc5pXE=";
|
||||
sha256 = "sha256-rmRfKw2KMLsO3qfy2QznCIugvM2CLSxBUDgIzONYULk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config wrapGAppsHook nasm makeWrapper ];
|
||||
|
|
21
pkgs/applications/misc/vym/000-fix-zip-paths.diff
Normal file
21
pkgs/applications/misc/vym/000-fix-zip-paths.diff
Normal file
|
@ -0,0 +1,21 @@
|
|||
diff -Naur source-old/src/main.cpp source-new/src/main.cpp
|
||||
--- source-old/src/main.cpp 1969-12-31 21:00:01.000000000 -0300
|
||||
+++ source-new/src/main.cpp 2022-10-23 22:30:00.463905363 -0300
|
||||
@@ -286,13 +286,10 @@
|
||||
// Platform specific settings
|
||||
vymPlatform = QSysInfo::prettyProductName();
|
||||
|
||||
-#if defined(Q_OS_WINDOWS)
|
||||
- // Only Windows 10 has tar. Older windows versions not supported.
|
||||
- zipToolPath = "tar";
|
||||
-#else
|
||||
- zipToolPath = "/usr/bin/zip";
|
||||
- unzipToolPath = "/usr/bin/unzip";
|
||||
-#endif
|
||||
+ // Nixpkgs-specific hack
|
||||
+ zipToolPath = "@zipPath@";
|
||||
+ unzipToolPath = "@unzipPath@";
|
||||
+
|
||||
iconPath = vymBaseDir.path() + "/icons/";
|
||||
flagsPath = vymBaseDir.path() + "/flags/";
|
||||
|
|
@ -1,59 +1,69 @@
|
|||
{ lib, mkDerivation, fetchurl, pkg-config, qmake, qtscript, qtsvg }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkg-config
|
||||
, qmake
|
||||
, qtbase
|
||||
, qtscript
|
||||
, qtsvg
|
||||
, substituteAll
|
||||
, unzip
|
||||
, wrapQtAppsHook
|
||||
, zip
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "vym";
|
||||
version = "2.7.1";
|
||||
version = "2.8.42";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/vym/${version}/${pname}-${version}.tar.bz2";
|
||||
sha256 = "0lyf0m4y5kn5s47z4sg10215f3jsn3k1bl389jfbh2f5v4srav4g";
|
||||
src = fetchFromGitHub {
|
||||
owner = "insilmaril";
|
||||
repo = "vym";
|
||||
rev = "89f50bcba953c410caf459b0a4bfbd09018010b7"; # not tagged yet (why??)
|
||||
hash = "sha256-xMXvc8gt3nfKWbU+WoS24wCUTGDQRhG0Q9m7yDhY5/w=";
|
||||
};
|
||||
|
||||
# Hardcoded paths scattered about all have form share/vym
|
||||
# which is encouraging, although we'll need to patch them (below).
|
||||
qmakeFlags = [
|
||||
"DATADIR=${placeholder "out"}/share"
|
||||
"DOCDIR=${placeholder "out"}/share/doc/vym"
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./000-fix-zip-paths.diff;
|
||||
zipPath = "${zip}/bin/zip";
|
||||
unzipPath = "${unzip}/bin/unzip";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
for x in \
|
||||
exportoofiledialog.cpp \
|
||||
main.cpp \
|
||||
mainwindow.cpp \
|
||||
tex/*.{tex,lyx}; \
|
||||
do
|
||||
substituteInPlace $x \
|
||||
--replace /usr/share/vym $out/share/vym \
|
||||
--replace /usr/local/share/vym $out/share/vym \
|
||||
--replace /usr/share/doc $out/share/doc/vym
|
||||
done
|
||||
'';
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
buildInputs = [
|
||||
qtbase
|
||||
qtscript
|
||||
qtsvg
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config qmake ];
|
||||
buildInputs = [ qtscript qtsvg ];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm755 -t $out/share/man/man1 doc/*.1.gz
|
||||
'';
|
||||
qtWrapperArgs = [
|
||||
"--prefix PATH : ${lib.makeBinPath [ unzip zip ]}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.insilmaril.de/vym/";
|
||||
description = "A mind-mapping software";
|
||||
longDescription = ''
|
||||
VYM (View Your Mind) is a tool to generate and manipulate maps which show your thoughts.
|
||||
Such maps can help you to improve your creativity and effectivity. You can use them
|
||||
for time management, to organize tasks, to get an overview over complex contexts,
|
||||
to sort your ideas etc.
|
||||
VYM (View Your Mind) is a tool to generate and manipulate maps which show
|
||||
your thoughts. Such maps can help you to improve your creativity and
|
||||
effectivity. You can use them for time management, to organize tasks, to
|
||||
get an overview over complex contexts, to sort your ideas etc.
|
||||
|
||||
Maps can be drawn by hand on paper or a flip chart and help to structure your thoughs.
|
||||
While a tree like structure like shown on this page can be drawn by hand or any drawing software
|
||||
vym offers much more features to work with such maps.
|
||||
Maps can be drawn by hand on paper or a flip chart and help to structure
|
||||
your thoughs. While a tree like structure like shown on this page can be
|
||||
drawn by hand or any drawing software vym offers much more features to
|
||||
work with such maps.
|
||||
'';
|
||||
homepage = "http://www.insilmaril.de/vym/";
|
||||
license = licenses.gpl2;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.AndersonTorres ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -10,13 +10,13 @@ let
|
|||
maintainers = with maintainers; [ fliegendewurst ];
|
||||
};
|
||||
|
||||
version = "0.55.1";
|
||||
version = "0.56.1";
|
||||
|
||||
desktopSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
|
||||
desktopSource.sha256 = "0c12azw0hrax392ymn25nqszdhsy8p5cf970rfq9d98qp0i8ywf0";
|
||||
desktopSource.sha256 = "1h6fwpk317mx341ib84gqxgacd0l65hxw79vqbm2fw25g68dphbb";
|
||||
|
||||
serverSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
|
||||
serverSource.sha256 = "04yjkmz2ck6r0c2593w2ck4w66x9wjzma0vaddx29b9anh9vrln3";
|
||||
serverSource.sha256 = "1c134gi6zaxg19kc1c46fnpk9kg42949xxmivba7w17lx7asc5if";
|
||||
|
||||
in {
|
||||
|
||||
|
|
|
@ -15,14 +15,14 @@ let
|
|||
|
||||
in stdenv.mkDerivation {
|
||||
pname = "openmolcas";
|
||||
version = "22.06";
|
||||
version = "22.10";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "Molcas";
|
||||
repo = "OpenMolcas";
|
||||
# The tag keeps moving, fix a hash instead
|
||||
rev = "17238da5c339c41ddf14ceb88f139d57143d7a14"; # 2022-06-17
|
||||
sha256 = "0g17x5fp27b57f7j284xl3b3i9c4b909q504wpz0ipb0mrcvcpdp";
|
||||
rev = "aedb15be52d6dee285dd3e10e9d05f44e4ca969a"; # 2022-10-22
|
||||
sha256 = "sha256-7d2wBIEg/r5bPZXlngTIZxYdMN0UIop7TA+WFZmzCo8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -9,6 +9,14 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "1hcqg7pvy093bxx8wk7i4gvbmgnxz2grxpyy7b4mphidjbcv7fgl";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchurl {
|
||||
name = "first_deferred.patch";
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/libowfat/files/libowfat-0.32-gcc10.patch?id=129f4ab9f8571c651937c46ba7bd4c82d6d052a2";
|
||||
sha256 = "zxWb9qq5dkDucOsiPfGG1Gb4BZ6HmhBjgSe3tBnydP4=";
|
||||
})
|
||||
];
|
||||
|
||||
# Fix for glibc 2.34 from Gentoo
|
||||
# https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=914a4aa87415dabfe77181a2365766417a5919a4
|
||||
postPatch = ''
|
||||
|
|
|
@ -25,6 +25,7 @@ buildDunePackage rec {
|
|||
propagatedBuildInputs = [
|
||||
cstruct
|
||||
duration
|
||||
ethernet
|
||||
ipaddr
|
||||
logs
|
||||
lwt
|
||||
|
@ -37,7 +38,6 @@ buildDunePackage rec {
|
|||
doCheck = true;
|
||||
checkInputs = [
|
||||
alcotest
|
||||
ethernet
|
||||
mirage-clock-unix
|
||||
mirage-profile
|
||||
mirage-random
|
||||
|
|
|
@ -36,6 +36,23 @@ buildPythonPackage rec {
|
|||
"aiofile"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# Tests (SystemError) fails randomly during nix-review
|
||||
"test_async_open_fp"
|
||||
"test_async_open_iter_chunked"
|
||||
"test_async_open_iter_chunked"
|
||||
"test_async_open_line_iter"
|
||||
"test_async_open_line_iter"
|
||||
"test_async_open_readline"
|
||||
"test_async_open_unicode"
|
||||
"test_async_open"
|
||||
"test_binary_io_wrapper"
|
||||
"test_modes"
|
||||
"test_text_io_wrapper"
|
||||
"test_unicode_writer"
|
||||
"test_write_read_nothing"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "File operations with asyncio support";
|
||||
homepage = "https://github.com/mosquito/aiofile";
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
, six
|
||||
, tabulate
|
||||
, typing-extensions
|
||||
, pythonRelaxDepsHook
|
||||
, pytest-runner
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
|
@ -27,8 +29,11 @@ buildPythonPackage rec {
|
|||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pythonRelaxDepsHook
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [ "protobuf" ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
protobuf
|
||||
numpy
|
||||
|
@ -39,6 +44,7 @@ buildPythonPackage rec {
|
|||
checkInputs = [
|
||||
nbval
|
||||
pytestCheckHook
|
||||
pytest-runner
|
||||
tabulate
|
||||
];
|
||||
|
||||
|
@ -47,8 +53,6 @@ buildPythonPackage rec {
|
|||
patchShebangs tools/protoc-gen-mypy.py
|
||||
substituteInPlace tools/protoc-gen-mypy.sh.in \
|
||||
--replace "/bin/bash" "${bash}/bin/bash"
|
||||
|
||||
sed -i '/pytest-runner/d' setup.py
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "ormar";
|
||||
version = "0.11.3";
|
||||
version = "0.12.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -33,7 +33,7 @@ buildPythonPackage rec {
|
|||
owner = "collerek";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-4tGwhgHLZmvsbaDjmmQ3tXBwUBIxb5EpQrT8VIu/XwY=";
|
||||
hash = "sha256-B6dC9+t/pe7vsPb7rkGAbJWLfCAF7lIElFvt1pUu5yA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "peaqevcore";
|
||||
version = "7.0.8";
|
||||
version = "7.0.10";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-B6N9JLjbezYMO1119OR58cDhKY1ry7FKf+Q9wpHGiBE=";
|
||||
hash = "sha256-97Evn/FT1SCQaiSNKBi0akajc7LkywqzJQEaqxm6s+U=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -7,14 +7,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pex";
|
||||
version = "2.1.111";
|
||||
version = "2.1.112";
|
||||
format = "flit";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-C7ihItw9tRXzaaD3WBZT2HnifnZS///pAODmxmp/sVw=";
|
||||
hash = "sha256-Mwns3l0cUylbMxC55wIZyYklVtqcPEQ02+5oxNd5SbQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "plugwise";
|
||||
version = "0.25.3";
|
||||
version = "0.25.4";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -30,7 +30,7 @@ buildPythonPackage rec {
|
|||
owner = pname;
|
||||
repo = "python-plugwise";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-vfdU0jzbfKJbIN343CWIwCK+tYt3ScgPhjq0+9NSiL8=";
|
||||
sha256 = "sha256-avriroWSgBn80PzGEuvp/5yad9Q4onSxWLaLlpXDReo=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
, onnxruntime
|
||||
, pandas
|
||||
, unittestCheckHook
|
||||
, pythonRelaxDepsHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
|
@ -30,6 +31,12 @@ buildPythonPackage rec {
|
|||
onnxconverter-common
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pythonRelaxDepsHook
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [ "scikit-learn" ];
|
||||
|
||||
checkInputs = [
|
||||
onnxruntime
|
||||
pandas
|
||||
|
|
|
@ -50,13 +50,13 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "quickemu";
|
||||
version = "4.3";
|
||||
version = "4.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "quickemu-project";
|
||||
repo = "quickemu";
|
||||
rev = version;
|
||||
hash = "sha256-+ksv1DBNby3bJx2ylnDkqlQfsFIDRS/hZvsJn2+bcz8=";
|
||||
hash = "sha256-82ojq1WTcgkVh+DQup2ymmqa6d6+LVR2p5cqEHA3hSM=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "codeowners";
|
||||
version = "0.4.0";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hmarr";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-YhGBg7CP5usSyP3ksX3/54M9gCokK2No/fYANUTdJw0=";
|
||||
hash = "sha256-4/e+EnRI2YfSx10mU7oOZ3JVE4TNEFwD2YJv+C0qBhI=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-no1x+g5MThhWw4eTfP33zoY8TyUtkt60FKsV2hTnYUU=";
|
||||
vendorSha256 = "sha256-UMLM9grPSmx3nAh1/y7YhMWk12/JcT75/LQvjnLfCyE=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A CLI and Go library for Github's CODEOWNERS file";
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-cache";
|
||||
version = "0.8.2";
|
||||
version = "0.8.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "matthiaskrgr";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-1/h9o8ldxI/Q1E6AurGfZ1xruf12g1OO5QlzMJLcEGo=";
|
||||
sha256 = "sha256-q9tYKXK8RqiqbDZ/lTxUI1Dm/h28/yZR8rTQuq+roZs=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-yUa40j1yOrczCbp9IsL1e5FlHcSEeHPAmbrA8zpuTpI=";
|
||||
cargoSha256 = "sha256-275QREIcncgBk4ah/CivSz5N2m6s/XPCfp6JGChpr38=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
|
||||
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-pgx";
|
||||
version = "0.5.3";
|
||||
version = "0.5.6";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit version pname;
|
||||
sha256 = "sha256-Glc6MViZeQzfZ+pOcbcJzL5hHEXSoqfksGwVZxOJ6G0=";
|
||||
sha256 = "sha256-CbQWgt/M/QVKpuOzY04OEZNX4DauYPMz2404WQlAvTw=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-Ag9lj3uR4Cijfcr+NFdCFb9K84b8QhGamLECzVpcN0U=";
|
||||
cargoSha256 = "sha256-sqAOhSZXzqxOVkEbqpd+9MoXqEFlkFufQ8O1zAXPnLQ=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rdma-core";
|
||||
version = "42.0";
|
||||
version = "43.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linux-rdma";
|
||||
repo = "rdma-core";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-MtvrKdo6Lkt064ol7+hlU7b1r+Dt5236bmE21wM5aDo=";
|
||||
sha256 = "sha256-tqlanUZpDYT3wgvD0hA1D5RrMdzPzOqoELzuXGhjnz8=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
|
32
pkgs/tools/admin/coldsnap/default.nix
Normal file
32
pkgs/tools/admin/coldsnap/default.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, openssl
|
||||
, stdenv
|
||||
, Security
|
||||
, pkg-config
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "coldsnap";
|
||||
version = "0.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "awslabs";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-+JQjJ4F++S3eLnrqV1v4leepOvZBf8Vp575rnlDx2Cg=";
|
||||
};
|
||||
cargoHash = "sha256-mAnoe9rK4+OpCzD7tzV+FQz+fFr8NapzsXtON3lS/tk";
|
||||
|
||||
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/awslabs/coldsnap";
|
||||
description = "A command line interface for Amazon EBS snapshots";
|
||||
changelog = "https://github.com/awslabs/coldsnap/blob/${src.rev}/CHANGELOG.md";
|
||||
license = licenses.apsl20;
|
||||
maintainers = with maintainers; [ hoverbear ];
|
||||
};
|
||||
}
|
43
pkgs/tools/archivers/payload_dumper/default.nix
Normal file
43
pkgs/tools/archivers/payload_dumper/default.nix
Normal file
|
@ -0,0 +1,43 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, makeWrapper
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "payload_dumper";
|
||||
version = "unstable-2022-04-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vm03";
|
||||
repo = "payload_dumper";
|
||||
rev = "c1eb5dbbc7bd88ac94635ae90ec22ccf92f89881";
|
||||
sha256 = "1j1hbh5vqq33wq2b9gqvm1qs9nl0bmqklbnyyyhwkcha7zxn0aki";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
buildInputs = with python3.pkgs; [ bsdiff4 protobuf ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
sitePackages=$out/${python3.sitePackages}/${finalAttrs.pname}
|
||||
|
||||
install -D ./payload_dumper.py $out/bin/payload_dumper
|
||||
install -D ./update_metadata_pb2.py $sitePackages/update_metadata_pb2.py
|
||||
|
||||
wrapProgram $out/bin/payload_dumper \
|
||||
--set PYTHONPATH "$sitePackages:$PYTHONPATH"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = finalAttrs.src.meta.homepage;
|
||||
description = "Android OTA payload dumper";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ DamienCassou ];
|
||||
};
|
||||
})
|
|
@ -10,11 +10,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "btrfs-progs";
|
||||
version = "5.19.1";
|
||||
version = "6.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
|
||||
sha256 = "sha256-JkKeVANDzMf11LP49CuRZxMoDomMVHHacFAm720sEKY=";
|
||||
sha256 = "sha256-Rp4bLshCpuZISK5j3jAiRG+ACel19765GRkfE3y91TQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "stratis-cli";
|
||||
version = "3.2.0";
|
||||
version = "3.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stratis-storage";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-JQXTzvm4l/pl2T4djZ3HEdDQJdFE+I9doe8Iv5q34kw=";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-tS9kjXE7wn5j13PO8c3C98MpFbgmR4le/PNKoXKPKQg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
, rustPlatform
|
||||
, pkg-config
|
||||
, asciidoc
|
||||
, ncurses
|
||||
, dbus
|
||||
, cryptsetup
|
||||
, util-linux
|
||||
|
@ -23,25 +24,20 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "stratisd";
|
||||
version = "3.2.2";
|
||||
version = "3.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stratis-storage";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-dNbbKGRLSYVnPdKfxlLIwXNEf7P6EvGbOp8sfpaw38g=";
|
||||
hash = "sha256-6CCSs359gPwUMQ2SFpxaWHXCjqqgIbvCaPL2zLuYRKg=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
hash = "sha256-tJT0GKLpZtiQ/AZACkNeC3zgso54k/L03dFI0m1Jbls=";
|
||||
hash = "sha256-9nE/SFGv1tYyGDdemCahxHlRnLms3eK0r4XQMhQBjSQ=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Allow overriding BINARIES_PATHS with environment variable at compile time
|
||||
./paths.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace udev/61-stratisd.rules \
|
||||
--replace stratis-base32-decode "$out/lib/udev/stratis-base32-decode" \
|
||||
|
@ -61,6 +57,7 @@ stdenv.mkDerivation rec {
|
|||
rust.rustc
|
||||
pkg-config
|
||||
asciidoc
|
||||
ncurses # tput
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -70,7 +67,7 @@ stdenv.mkDerivation rec {
|
|||
udev
|
||||
];
|
||||
|
||||
BINARIES_PATHS = lib.makeBinPath ([
|
||||
EXECUTABLES_PATHS = lib.makeBinPath ([
|
||||
xfsprogs
|
||||
thin-provisioning-tools
|
||||
udev
|
||||
|
@ -84,8 +81,8 @@ stdenv.mkDerivation rec {
|
|||
coreutils
|
||||
]);
|
||||
|
||||
makeFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||
buildFlags = [ "release" "release-min" "docs/stratisd.8" ];
|
||||
makeFlags = [ "PREFIX=${placeholder "out"}" "INSTALL=install" ];
|
||||
buildFlags = [ "build" "build-min" "docs/stratisd.8" ];
|
||||
|
||||
doCheck = true;
|
||||
checkTarget = "test";
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
diff --git a/src/engine/strat_engine/cmd.rs b/src/engine/strat_engine/cmd.rs
|
||||
index daaff70f..ed528f7f 100644
|
||||
--- a/src/engine/strat_engine/cmd.rs
|
||||
+++ b/src/engine/strat_engine/cmd.rs
|
||||
@@ -39,8 +39,6 @@ use crate::{
|
||||
// The maximum allowable size of the thinpool metadata device
|
||||
const MAX_META_SIZE: MetaBlocks = MetaBlocks(255 * ((1 << 14) - 64));
|
||||
|
||||
-const BINARIES_PATHS: [&str; 4] = ["/usr/sbin", "/sbin", "/usr/bin", "/bin"];
|
||||
-
|
||||
/// Find the binary with the given name by looking in likely locations.
|
||||
/// Return None if no binary was found.
|
||||
/// Search an explicit list of directories rather than the user's PATH
|
||||
@@ -49,7 +47,7 @@ const BINARIES_PATHS: [&str; 4] = ["/usr/sbin", "/sbin", "/usr/bin", "/bin"];
|
||||
fn find_binary(name: &str) -> Option<PathBuf> {
|
||||
BINARIES_PATHS
|
||||
.iter()
|
||||
- .map(|pre| [pre, name].iter().collect::<PathBuf>())
|
||||
+ .map(|pre| [pre, &name.into()].iter().collect::<PathBuf>())
|
||||
.find(|path| path.exists())
|
||||
}
|
||||
|
||||
@@ -147,6 +145,10 @@ lazy_static! {
|
||||
.and_then(|mut hm| hm
|
||||
.remove(CLEVIS)
|
||||
.and_then(|c| hm.remove(JOSE).map(|j| (c, j))));
|
||||
+ static ref BINARIES_PATHS: Vec<PathBuf> = match std::option_env!("BINARIES_PATHS") {
|
||||
+ Some(paths) => std::env::split_paths(paths).collect(),
|
||||
+ None => ["/usr/sbin", "/sbin", "/usr/bin", "/bin"].iter().map(|p| p.into()).collect(),
|
||||
+ };
|
||||
}
|
||||
|
||||
/// Verify that all binaries that the engine might invoke are available at some
|
||||
@@ -160,7 +162,7 @@ pub fn verify_binaries() -> StratisResult<()> {
|
||||
name,
|
||||
BINARIES_PATHS
|
||||
.iter()
|
||||
- .map(|p| format!("\"{}\"", p))
|
||||
+ .map(|p| format!("\"{}\"", p.display()))
|
||||
.collect::<Vec<_>>()
|
||||
.join(", "),
|
||||
))),
|
|
@ -10,13 +10,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "eget";
|
||||
version = "1.2.0";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zyedidia";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-b1KQjYs9chx724HSSHhaMTQQBzTXx+ssrxNButJE6L0=";
|
||||
sha256 = "sha256-S+L1mr2g+9KHc6AFjlMnlo/K/X3Z5SbFOkFSCvFRaPs=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-axJqi41Fj+MJnaLzSOnSws9/c/0dSkUAtaWkVXNmFxI=";
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "phrase-cli";
|
||||
version = "2.5.2";
|
||||
version = "2.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "phrase";
|
||||
repo = "phrase-cli";
|
||||
rev = version;
|
||||
sha256 = "sha256-VE9HsNZJ6bPgqhWUpxf5/dC6giGaK3H9bawSs0S2SJ8=";
|
||||
sha256 = "sha256-qTZDOiLpStunKE/LW+nrdFdj90jVZRG0jGYRHueG0aY=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-1TXDGs3ByBX8UQWoiT7hFZpwbwFlDhHHU03zw4+Zml0=";
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "trash-cli";
|
||||
version = "0.22.8.27";
|
||||
version = "0.22.10.20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "andreafrancia";
|
||||
repo = "trash-cli";
|
||||
rev = version;
|
||||
hash = "sha256-ym6Z1qZihqw7lIS1GXsExZK5hRsss/aqgMNldV8kUDk=";
|
||||
hash = "sha256-NnFOe471GxcjpTwpsoxKaWiw4lW4tUPIM+WpzCsEdkI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ python3Packages.psutil ];
|
||||
propagatedBuildInputs = with python3Packages; [ psutil six ];
|
||||
|
||||
checkInputs = with python3Packages; [
|
||||
mock
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, libcap, readline, texinfo, nss, nspr
|
||||
, libseccomp, pps-tools, gnutls }:
|
||||
|
||||
assert stdenv.isLinux -> libcap != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "chrony";
|
||||
version = "4.3";
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "s3rs";
|
||||
version = "0.4.8";
|
||||
version = "0.4.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yanganto";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-lYIE5yR7UNUjpqfwT6R0C0ninNvVZdatYd/n+yyGsms=";
|
||||
sha256 = "sha256-n95ejw6EZ4zXzP16xFoUkVn1zIMcVgINy7m5NOz063A=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-vCTJ7TClvuIP9IoqXwNFH7/u9jXt/Ue/Dhefx5rCgmA=";
|
||||
cargoSha256 = "sha256-eecQi03w7lq3VAsv9o+3kulwhAXPoxuDPMu/ZCQEom4=";
|
||||
|
||||
nativeBuildInputs = [ python3 perl pkg-config ];
|
||||
buildInputs = [ openssl ]
|
||||
|
|
|
@ -14,11 +14,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sudo";
|
||||
version = "1.9.11p3";
|
||||
version = "1.9.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.sudo.ws/dist/${pname}-${version}.tar.gz";
|
||||
sha256 = "4687e7d2f56721708f59cca2e1352c056cb23de526c22725615a42bb094f1f70";
|
||||
hash = "sha256-3hVzOIgXDFaDTar9NL+YPbEPshA5dC/Pw5a9MhaNY2I=";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
|
|
|
@ -402,6 +402,10 @@ with pkgs;
|
|||
|
||||
conftest = callPackage ../development/tools/conftest { };
|
||||
|
||||
coldsnap = callPackage ../tools/admin/coldsnap {
|
||||
inherit (darwin.apple_sdk.frameworks) Security;
|
||||
};
|
||||
|
||||
colemak-dh = callPackage ../data/misc/colemak-dh { };
|
||||
|
||||
colmena = callPackage ../tools/admin/colmena { };
|
||||
|
@ -10023,6 +10027,8 @@ with pkgs;
|
|||
|
||||
oxipng = callPackage ../tools/graphics/oxipng { };
|
||||
|
||||
payload_dumper = callPackage ../tools/archivers/payload_dumper { };
|
||||
|
||||
p2pvc = callPackage ../applications/video/p2pvc {};
|
||||
|
||||
p3x-onenote = callPackage ../applications/office/p3x-onenote { };
|
||||
|
@ -11043,7 +11049,6 @@ with pkgs;
|
|||
s3cmd = python3Packages.callPackage ../tools/networking/s3cmd { };
|
||||
|
||||
s3rs = callPackage ../tools/networking/s3rs {
|
||||
openssl = openssl_1_1;
|
||||
inherit (darwin.apple_sdk.frameworks) Security;
|
||||
};
|
||||
|
||||
|
@ -32610,7 +32615,9 @@ with pkgs;
|
|||
|
||||
yeahwm = callPackage ../applications/window-managers/yeahwm { };
|
||||
|
||||
vym = qt5.callPackage ../applications/misc/vym { };
|
||||
vym = callPackage ../applications/misc/vym {
|
||||
inherit (libsForQt5) qmake qtscript qtsvg qtbase wrapQtAppsHook;
|
||||
};
|
||||
|
||||
wad = callPackage ../tools/security/wad { };
|
||||
|
||||
|
|
Loading…
Reference in a new issue