Merge master into haskell-updates
This commit is contained in:
@@ -10,13 +10,18 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
# required to find all branches
|
||||
fetch-depth: 0
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
- name: Create backport PRs
|
||||
uses: zeebe-io/backport-action@v0.0.7
|
||||
# should be kept in sync with `version`
|
||||
uses: zeebe-io/backport-action@v0.0.5
|
||||
with:
|
||||
# Config README: https://github.com/zeebe-io/backport-action#backport-action
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
github_workspace: ${{ github.workspace }}
|
||||
# should be kept in sync with `uses`
|
||||
version: v0.0.5
|
||||
pull_description: |-
|
||||
Bot-based backport to `${target_branch}`, triggered by a label in #${pull_number}.
|
||||
|
||||
|
||||
@@ -3271,6 +3271,7 @@
|
||||
};
|
||||
ekleog = {
|
||||
email = "leo@gaspard.io";
|
||||
matrix = "@leo:gaspard.ninja";
|
||||
github = "ekleog";
|
||||
githubId = 411447;
|
||||
name = "Leo Gaspard";
|
||||
|
||||
@@ -114,7 +114,7 @@ async def check_changes(package: Dict, worktree: str, update_info: str):
|
||||
changes[0]['newVersion'] = json.loads((await obtain_new_version_process.stdout.read()).decode('utf-8'))
|
||||
|
||||
if 'files' not in changes[0]:
|
||||
changed_files_process = await check_subprocess('git', 'diff', '--name-only', stdout=asyncio.subprocess.PIPE, cwd=worktree)
|
||||
changed_files_process = await check_subprocess('git', 'diff', '--name-only', 'HEAD', stdout=asyncio.subprocess.PIPE, cwd=worktree)
|
||||
changed_files = (await changed_files_process.stdout.read()).splitlines()
|
||||
changes[0]['files'] = changed_files
|
||||
|
||||
|
||||
@@ -556,6 +556,17 @@ Superuser created successfully.
|
||||
<link xlink:href="options.html#opt-services.geoipupdate.enable">services.geoipupdate</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>ihatemoney</literal> has been updated to version
|
||||
5.1.1
|
||||
(<link xlink:href="https://github.com/spiral-project/ihatemoney/blob/5.1.1/CHANGELOG.rst">release
|
||||
notes</link>). If you serve ihatemoney by HTTP rather than
|
||||
HTTPS, you must set
|
||||
<link xlink:href="options.html#opt-services.ihatemoney.secureCookie">services.ihatemoney.secureCookie</link>
|
||||
to <literal>false</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
PHP 7.3 is no longer supported due to upstream not supporting
|
||||
|
||||
@@ -204,6 +204,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
|
||||
- `services.geoip-updater` was broken and has been replaced by [services.geoipupdate](options.html#opt-services.geoipupdate.enable).
|
||||
|
||||
- `ihatemoney` has been updated to version 5.1.1 ([release notes](https://github.com/spiral-project/ihatemoney/blob/5.1.1/CHANGELOG.rst)). If you serve ihatemoney by HTTP rather than HTTPS, you must set [services.ihatemoney.secureCookie](options.html#opt-services.ihatemoney.secureCookie) to `false`.
|
||||
|
||||
- PHP 7.3 is no longer supported due to upstream not supporting this version for the entire lifecycle of the 21.11 release.
|
||||
|
||||
- Those making use of `buildBazelPackage` will need to regenerate the fetch hashes (preferred), or set `fetchConfigured = false;`.
|
||||
|
||||
@@ -218,6 +218,7 @@ rec {
|
||||
build-vms = import ./build-vms.nix {
|
||||
inherit system lib pkgs minimal specialArgs;
|
||||
extraConfigurations = extraConfigurations ++ [(
|
||||
{ config, ... }:
|
||||
{
|
||||
virtualisation.qemu.package = qemu_pkg;
|
||||
|
||||
@@ -230,7 +231,17 @@ rec {
|
||||
# copied to the image.
|
||||
virtualisation.additionalPaths =
|
||||
lib.optional
|
||||
(builtins.hasContext testScript')
|
||||
# A testScript may evaluate nodes, which has caused
|
||||
# infinite recursions. The demand cycle involves:
|
||||
# testScript -->
|
||||
# nodes -->
|
||||
# toplevel -->
|
||||
# additionalPaths -->
|
||||
# hasContext testScript' -->
|
||||
# testScript (ad infinitum)
|
||||
# If we don't need to build an image, we can break this
|
||||
# cycle by short-circuiting when useNixStoreImage is false.
|
||||
(config.virtualisation.useNixStoreImage && builtins.hasContext testScript')
|
||||
(pkgs.writeStringReferencesToFile testScript');
|
||||
|
||||
# Ensure we do not use aliases. Ideally this is only set
|
||||
|
||||
@@ -13,10 +13,10 @@ let
|
||||
# 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 = (builtins.fromJSON (builtins.readFile ./media-session.conf.json));
|
||||
v4l2-monitor = (builtins.fromJSON (builtins.readFile ./v4l2-monitor.conf.json));
|
||||
alsa-monitor = (builtins.fromJSON (builtins.readFile ./media-session/alsa-monitor.conf.json));
|
||||
bluez-monitor = (builtins.fromJSON (builtins.readFile ./media-session/bluez-monitor.conf.json));
|
||||
media-session = (builtins.fromJSON (builtins.readFile ./media-session/media-session.conf.json));
|
||||
v4l2-monitor = (builtins.fromJSON (builtins.readFile ./media-session/v4l2-monitor.conf.json));
|
||||
};
|
||||
|
||||
configs = {
|
||||
@@ -43,8 +43,8 @@ in {
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.pipewire.mediaSession;
|
||||
defaultText = literalExpression "pkgs.pipewire.mediaSession";
|
||||
default = pkgs.pipewire-media-session;
|
||||
defaultText = literalExpression "pkgs.pipewire-media-session";
|
||||
description = ''
|
||||
The pipewire-media-session derivation to use.
|
||||
'';
|
||||
@@ -55,7 +55,7 @@ in {
|
||||
type = json.type;
|
||||
description = ''
|
||||
Configuration for the media session core. For details see
|
||||
https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/media-session.d/media-session.conf
|
||||
https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/media-session.conf
|
||||
'';
|
||||
default = {};
|
||||
};
|
||||
@@ -64,7 +64,7 @@ in {
|
||||
type = json.type;
|
||||
description = ''
|
||||
Configuration for the alsa monitor. For details see
|
||||
https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/media-session.d/alsa-monitor.conf
|
||||
https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/alsa-monitor.conf
|
||||
'';
|
||||
default = {};
|
||||
};
|
||||
@@ -73,7 +73,7 @@ in {
|
||||
type = json.type;
|
||||
description = ''
|
||||
Configuration for the bluez5 monitor. For details see
|
||||
https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/media-session.d/bluez-monitor.conf
|
||||
https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/bluez-monitor.conf
|
||||
'';
|
||||
default = {};
|
||||
};
|
||||
@@ -82,7 +82,7 @@ in {
|
||||
type = json.type;
|
||||
description = ''
|
||||
Configuration for the V4L2 monitor. For details see
|
||||
https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/media-session.d/v4l2-monitor.conf
|
||||
https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/v4l2-monitor.conf
|
||||
'';
|
||||
default = {};
|
||||
};
|
||||
|
||||
@@ -22,12 +22,11 @@ let
|
||||
# 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 = 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 = builtins.fromJSON (builtins.readFile ./pipewire.conf.json);
|
||||
pipewire-pulse = builtins.fromJSON (builtins.readFile ./pipewire-pulse.conf.json);
|
||||
client = builtins.fromJSON (builtins.readFile ./daemon/client.conf.json);
|
||||
client-rt = builtins.fromJSON (builtins.readFile ./daemon/client-rt.conf.json);
|
||||
jack = builtins.fromJSON (builtins.readFile ./daemon/jack.conf.json);
|
||||
pipewire = builtins.fromJSON (builtins.readFile ./daemon/pipewire.conf.json);
|
||||
pipewire-pulse = builtins.fromJSON (builtins.readFile ./daemon/pipewire-pulse.conf.json);
|
||||
};
|
||||
|
||||
configs = {
|
||||
|
||||
@@ -42,6 +42,8 @@ in
|
||||
}
|
||||
];
|
||||
|
||||
environment.systemPackages = [ package ];
|
||||
|
||||
services.dbus.packages = [ package ];
|
||||
|
||||
services.udev.packages = [ package ];
|
||||
|
||||
@@ -13,7 +13,7 @@ in
|
||||
{
|
||||
###### interface
|
||||
|
||||
meta.maintainers = with maintainers; [ philandstuff rawkode ];
|
||||
meta.maintainers = with maintainers; [ philandstuff rawkode jwoudenberg ];
|
||||
|
||||
options = {
|
||||
|
||||
@@ -49,6 +49,12 @@ in
|
||||
# yubikey-agent package
|
||||
systemd.user.services.yubikey-agent = mkIf (pinentryFlavor != null) {
|
||||
path = [ pkgs.pinentry.${pinentryFlavor} ];
|
||||
wantedBy = [
|
||||
(if pinentryFlavor == "tty" || pinentryFlavor == "curses" then
|
||||
"default.target"
|
||||
else
|
||||
"graphical-session.target")
|
||||
];
|
||||
};
|
||||
|
||||
environment.extraInit = ''
|
||||
|
||||
@@ -33,11 +33,14 @@ let
|
||||
then "sqlite:////var/lib/ihatemoney/ihatemoney.sqlite"
|
||||
else "postgresql:///${db}"}'
|
||||
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||||
MAIL_DEFAULT_SENDER = ("${cfg.defaultSender.name}", "${cfg.defaultSender.email}")
|
||||
MAIL_DEFAULT_SENDER = (r"${cfg.defaultSender.name}", r"${cfg.defaultSender.email}")
|
||||
ACTIVATE_DEMO_PROJECT = ${toBool cfg.enableDemoProject}
|
||||
ADMIN_PASSWORD = "${toString cfg.adminHashedPassword /*toString null == ""*/}"
|
||||
ADMIN_PASSWORD = r"${toString cfg.adminHashedPassword /*toString null == ""*/}"
|
||||
ALLOW_PUBLIC_PROJECT_CREATION = ${toBool cfg.enablePublicProjectCreation}
|
||||
ACTIVATE_ADMIN_DASHBOARD = ${toBool cfg.enableAdminDashboard}
|
||||
SESSION_COOKIE_SECURE = ${toBool cfg.secureCookie}
|
||||
ENABLE_CAPTCHA = ${toBool cfg.enableCaptcha}
|
||||
LEGAL_LINK = r"${toString cfg.legalLink}"
|
||||
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
@@ -79,9 +82,20 @@ in
|
||||
description = "The email of the sender of ihatemoney emails";
|
||||
};
|
||||
};
|
||||
secureCookie = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Use secure cookies. Disable this when ihatemoney is served via http instead of https";
|
||||
};
|
||||
enableDemoProject = mkEnableOption "access to the demo project in ihatemoney";
|
||||
enablePublicProjectCreation = mkEnableOption "permission to create projects in ihatemoney by anyone";
|
||||
enableAdminDashboard = mkEnableOption "ihatemoney admin dashboard";
|
||||
enableCaptcha = mkEnableOption "a simplistic captcha for some forms";
|
||||
legalLink = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "The URL to a page explaining legal statements about your service, eg. GDPR-related information.";
|
||||
};
|
||||
extraConfig = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
|
||||
@@ -586,7 +586,7 @@ in {
|
||||
{ systemd.timers.nextcloud-cron = {
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig.OnBootSec = "5m";
|
||||
timerConfig.OnUnitActiveSec = "15m";
|
||||
timerConfig.OnUnitActiveSec = "5m";
|
||||
timerConfig.Unit = "nextcloud-cron.service";
|
||||
};
|
||||
|
||||
|
||||
@@ -17,19 +17,28 @@ import glob
|
||||
import os.path
|
||||
from typing import Tuple, List, Optional
|
||||
|
||||
SystemIdentifier = Tuple[Optional[str], int, Optional[str]]
|
||||
|
||||
|
||||
def copy_if_not_exists(source: str, dest: str) -> None:
|
||||
if not os.path.exists(dest):
|
||||
shutil.copyfile(source, dest)
|
||||
|
||||
|
||||
def system_dir(profile: Optional[str], generation: int) -> str:
|
||||
def generation_dir(profile: Optional[str], generation: int) -> str:
|
||||
if profile:
|
||||
return "/nix/var/nix/profiles/system-profiles/%s-%d-link" % (profile, generation)
|
||||
else:
|
||||
return "/nix/var/nix/profiles/system-%d-link" % (generation)
|
||||
|
||||
BOOT_ENTRY = """title NixOS{profile}
|
||||
def system_dir(profile: Optional[str], generation: int, specialisation: Optional[str]) -> str:
|
||||
d = generation_dir(profile, generation)
|
||||
if specialisation:
|
||||
return os.path.join(d, "specialisation", specialisation)
|
||||
else:
|
||||
return d
|
||||
|
||||
BOOT_ENTRY = """title NixOS{profile}{specialisation}
|
||||
version Generation {generation} {description}
|
||||
linux {kernel}
|
||||
initrd {initrd}
|
||||
@@ -46,26 +55,34 @@ efi /efi/memtest86/BOOTX64.efi
|
||||
"""
|
||||
|
||||
|
||||
def write_loader_conf(profile: Optional[str], generation: int) -> None:
|
||||
def generation_conf_filename(profile: Optional[str], generation: int, specialisation: Optional[str]) -> str:
|
||||
pieces = [
|
||||
"nixos",
|
||||
profile or None,
|
||||
"generation",
|
||||
str(generation),
|
||||
f"specialisation-{specialisation}" if specialisation else None,
|
||||
]
|
||||
return "-".join(p for p in pieces if p) + ".conf"
|
||||
|
||||
|
||||
def write_loader_conf(profile: Optional[str], generation: int, specialisation: Optional[str]) -> None:
|
||||
with open("@efiSysMountPoint@/loader/loader.conf.tmp", 'w') as f:
|
||||
if "@timeout@" != "":
|
||||
f.write("timeout @timeout@\n")
|
||||
if profile:
|
||||
f.write("default nixos-%s-generation-%d.conf\n" % (profile, generation))
|
||||
else:
|
||||
f.write("default nixos-generation-%d.conf\n" % (generation))
|
||||
f.write("default %s\n" % generation_conf_filename(profile, generation, specialisation))
|
||||
if not @editor@:
|
||||
f.write("editor 0\n");
|
||||
f.write("console-mode @consoleMode@\n");
|
||||
os.rename("@efiSysMountPoint@/loader/loader.conf.tmp", "@efiSysMountPoint@/loader/loader.conf")
|
||||
|
||||
|
||||
def profile_path(profile: Optional[str], generation: int, name: str) -> str:
|
||||
return os.path.realpath("%s/%s" % (system_dir(profile, generation), name))
|
||||
def profile_path(profile: Optional[str], generation: int, specialisation: Optional[str], name: str) -> str:
|
||||
return os.path.realpath("%s/%s" % (system_dir(profile, generation, specialisation), name))
|
||||
|
||||
|
||||
def copy_from_profile(profile: Optional[str], generation: int, name: str, dry_run: bool = False) -> str:
|
||||
store_file_path = profile_path(profile, generation, name)
|
||||
def copy_from_profile(profile: Optional[str], generation: int, specialisation: Optional[str], name: str, dry_run: bool = False) -> str:
|
||||
store_file_path = profile_path(profile, generation, specialisation, name)
|
||||
suffix = os.path.basename(store_file_path)
|
||||
store_dir = os.path.basename(os.path.dirname(store_file_path))
|
||||
efi_file_path = "/efi/nixos/%s-%s.efi" % (store_dir, suffix)
|
||||
@@ -95,19 +112,17 @@ def describe_generation(generation_dir: str) -> str:
|
||||
return description
|
||||
|
||||
|
||||
def write_entry(profile: Optional[str], generation: int, machine_id: str) -> None:
|
||||
kernel = copy_from_profile(profile, generation, "kernel")
|
||||
initrd = copy_from_profile(profile, generation, "initrd")
|
||||
def write_entry(profile: Optional[str], generation: int, specialisation: Optional[str], machine_id: str) -> None:
|
||||
kernel = copy_from_profile(profile, generation, specialisation, "kernel")
|
||||
initrd = copy_from_profile(profile, generation, specialisation, "initrd")
|
||||
try:
|
||||
append_initrd_secrets = profile_path(profile, generation, "append-initrd-secrets")
|
||||
append_initrd_secrets = profile_path(profile, generation, specialisation, "append-initrd-secrets")
|
||||
subprocess.check_call([append_initrd_secrets, "@efiSysMountPoint@%s" % (initrd)])
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
if profile:
|
||||
entry_file = "@efiSysMountPoint@/loader/entries/nixos-%s-generation-%d.conf" % (profile, generation)
|
||||
else:
|
||||
entry_file = "@efiSysMountPoint@/loader/entries/nixos-generation-%d.conf" % (generation)
|
||||
generation_dir = os.readlink(system_dir(profile, generation))
|
||||
entry_file = "@efiSysMountPoint@/loader/entries/%s" % (
|
||||
generation_conf_filename(profile, generation, specialisation))
|
||||
generation_dir = os.readlink(system_dir(profile, generation, specialisation))
|
||||
tmp_path = "%s.tmp" % (entry_file)
|
||||
kernel_params = "init=%s/init " % generation_dir
|
||||
|
||||
@@ -115,6 +130,7 @@ def write_entry(profile: Optional[str], generation: int, machine_id: str) -> Non
|
||||
kernel_params = kernel_params + params_file.read()
|
||||
with open(tmp_path, 'w') as f:
|
||||
f.write(BOOT_ENTRY.format(profile=" [" + profile + "]" if profile else "",
|
||||
specialisation=" (%s)" % specialisation if specialisation else "",
|
||||
generation=generation,
|
||||
kernel=kernel,
|
||||
initrd=initrd,
|
||||
@@ -133,7 +149,7 @@ def mkdir_p(path: str) -> None:
|
||||
raise
|
||||
|
||||
|
||||
def get_generations(profile: Optional[str] = None) -> List[Tuple[Optional[str], int]]:
|
||||
def get_generations(profile: Optional[str] = None) -> List[SystemIdentifier]:
|
||||
gen_list = subprocess.check_output([
|
||||
"@nix@/bin/nix-env",
|
||||
"--list-generations",
|
||||
@@ -145,10 +161,19 @@ def get_generations(profile: Optional[str] = None) -> List[Tuple[Optional[str],
|
||||
gen_lines.pop()
|
||||
|
||||
configurationLimit = @configurationLimit@
|
||||
return [ (profile, int(line.split()[0])) for line in gen_lines ][-configurationLimit:]
|
||||
configurations: List[SystemIdentifier] = [ (profile, int(line.split()[0]), None) for line in gen_lines ]
|
||||
return configurations[-configurationLimit:]
|
||||
|
||||
|
||||
def remove_old_entries(gens: List[Tuple[Optional[str], int]]) -> None:
|
||||
def get_specialisations(profile: Optional[str], generation: int, _: Optional[str]) -> List[SystemIdentifier]:
|
||||
specialisations_dir = os.path.join(
|
||||
system_dir(profile, generation, None), "specialisation")
|
||||
if not os.path.exists(specialisations_dir):
|
||||
return []
|
||||
return [(profile, generation, spec) for spec in os.listdir(specialisations_dir)]
|
||||
|
||||
|
||||
def remove_old_entries(gens: List[SystemIdentifier]) -> None:
|
||||
rex_profile = re.compile("^@efiSysMountPoint@/loader/entries/nixos-(.*)-generation-.*\.conf$")
|
||||
rex_generation = re.compile("^@efiSysMountPoint@/loader/entries/nixos.*-generation-(.*)\.conf$")
|
||||
known_paths = []
|
||||
@@ -243,6 +268,8 @@ def main() -> None:
|
||||
for gen in gens:
|
||||
try:
|
||||
write_entry(*gen, machine_id)
|
||||
for specialisation in get_specialisations(*gen):
|
||||
write_entry(*specialisation, machine_id)
|
||||
if os.readlink(system_dir(*gen)) == args.default_config:
|
||||
write_loader_conf(*gen)
|
||||
except OSError as e:
|
||||
|
||||
@@ -26,13 +26,11 @@ in
|
||||
agda = handleTest ./agda.nix {};
|
||||
airsonic = handleTest ./airsonic.nix {};
|
||||
amazon-init-shell = handleTest ./amazon-init-shell.nix {};
|
||||
ammonite = handleTest ./ammonite.nix {};
|
||||
apparmor = handleTest ./apparmor.nix {};
|
||||
atd = handleTest ./atd.nix {};
|
||||
atop = handleTest ./atop.nix {};
|
||||
avahi = handleTest ./avahi.nix {};
|
||||
avahi-with-resolved = handleTest ./avahi.nix { networkd = true; };
|
||||
awscli = handleTest ./awscli.nix { };
|
||||
babeld = handleTest ./babeld.nix {};
|
||||
bazarr = handleTest ./bazarr.nix {};
|
||||
bcachefs = handleTestOn ["x86_64-linux"] ./bcachefs.nix {}; # linux-4.18.2018.10.12 is unsupported on aarch64
|
||||
@@ -191,7 +189,7 @@ in
|
||||
i3wm = handleTest ./i3wm.nix {};
|
||||
icingaweb2 = handleTest ./icingaweb2.nix {};
|
||||
iftop = handleTest ./iftop.nix {};
|
||||
ihatemoney = handleTest ./ihatemoney.nix {};
|
||||
ihatemoney = handleTest ./ihatemoney {};
|
||||
incron = handleTest ./incron.nix {};
|
||||
influxdb = handleTest ./influxdb.nix {};
|
||||
initrd-network-openvpn = handleTest ./initrd-network-openvpn {};
|
||||
@@ -369,6 +367,7 @@ in
|
||||
postgresql = handleTest ./postgresql.nix {};
|
||||
postgresql-wal-receiver = handleTest ./postgresql-wal-receiver.nix {};
|
||||
powerdns = handleTest ./powerdns.nix {};
|
||||
power-profiles-daemon = handleTest ./power-profiles-daemon.nix {};
|
||||
pppd = handleTest ./pppd.nix {};
|
||||
predictable-interface-names = handleTest ./predictable-interface-names.nix {};
|
||||
printing = handleTest ./printing.nix {};
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
import ./make-test-python.nix ({ pkgs, ...} : {
|
||||
name = "ammonite";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ nequissimus ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
amm =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = [ (pkgs.ammonite.override { jre = pkgs.jre8; }) ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
amm.succeed("amm -c 'val foo = 21; println(foo * 2)' | grep 42")
|
||||
'';
|
||||
})
|
||||
@@ -1,17 +0,0 @@
|
||||
import ./make-test-python.nix ({ pkgs, ...} : {
|
||||
name = "awscli";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ nequissimus ];
|
||||
};
|
||||
|
||||
machine = { pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = [ pkgs.awscli ];
|
||||
};
|
||||
|
||||
testScript =
|
||||
''
|
||||
assert "${pkgs.python3Packages.botocore.version}" in machine.succeed("aws --version")
|
||||
assert "${pkgs.awscli.version}" in machine.succeed("aws --version")
|
||||
'';
|
||||
})
|
||||
@@ -1,12 +0,0 @@
|
||||
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "cifs-utils";
|
||||
|
||||
machine = { pkgs, ... }: { environment.systemPackages = [ pkgs.cifs-utils ]; };
|
||||
|
||||
testScript = ''
|
||||
machine.succeed("smbinfo -h")
|
||||
machine.succeed("smb2-quota -h")
|
||||
assert "${pkgs.cifs-utils.version}" in machine.succeed("cifs.upcall -v")
|
||||
assert "${pkgs.cifs-utils.version}" in machine.succeed("mount.cifs -V")
|
||||
'';
|
||||
})
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }: import ./make-test-python.nix {
|
||||
|
||||
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
nodes = {
|
||||
backend = { pkgs, ... }: {
|
||||
services.nginx.enable = true;
|
||||
@@ -101,4 +100,4 @@
|
||||
meta.maintainers = with pkgs.lib.maintainers; [
|
||||
roberth
|
||||
];
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,22 +1,36 @@
|
||||
{ system ? builtins.currentSystem,
|
||||
config ? {},
|
||||
pkgs ? import ../.. { inherit system config; }
|
||||
pkgs ? import ../../.. { inherit system config; }
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest;
|
||||
inherit (import ../../lib/testing-python.nix { inherit system pkgs; }) makeTest;
|
||||
f = backend: makeTest {
|
||||
name = "ihatemoney-${backend}";
|
||||
machine = { lib, ... }: {
|
||||
machine = { nodes, lib, ... }: {
|
||||
services.ihatemoney = {
|
||||
enable = true;
|
||||
enablePublicProjectCreation = true;
|
||||
secureCookie = false;
|
||||
inherit backend;
|
||||
uwsgiConfig = {
|
||||
http = ":8000";
|
||||
};
|
||||
};
|
||||
boot.cleanTmpDir = true;
|
||||
# for exchange rates
|
||||
security.pki.certificateFiles = [ ./server.crt ];
|
||||
networking.extraHosts = "127.0.0.1 api.exchangerate.host";
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
virtualHosts."api.exchangerate.host" = {
|
||||
addSSL = true;
|
||||
# openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 1000000 -nodes -subj '/CN=api.exchangerate.host'
|
||||
sslCertificate = ./server.crt;
|
||||
sslCertificateKey = ./server.key;
|
||||
locations."/".return = "200 '${builtins.readFile ./rates.json}'";
|
||||
};
|
||||
};
|
||||
# ihatemoney needs a local smtp server otherwise project creation just crashes
|
||||
services.opensmtpd = {
|
||||
enable = true;
|
||||
@@ -30,11 +44,13 @@ let
|
||||
testScript = ''
|
||||
machine.wait_for_open_port(8000)
|
||||
machine.wait_for_unit("uwsgi.service")
|
||||
machine.wait_until_succeeds("curl http://localhost:8000")
|
||||
machine.wait_until_succeeds("curl --fail https://api.exchangerate.host")
|
||||
machine.wait_until_succeeds("curl --fail http://localhost:8000")
|
||||
|
||||
assert '"yay"' in machine.succeed(
|
||||
"curl -X POST http://localhost:8000/api/projects -d 'name=yay&id=yay&password=yay&contact_email=yay@example.com'"
|
||||
result = machine.succeed(
|
||||
"curl --fail -X POST http://localhost:8000/api/projects -d 'name=yay&id=yay&password=yay&contact_email=yay@example.com&default_currency=XXX'"
|
||||
)
|
||||
assert '"yay"' in result, repr(result)
|
||||
owner, timestamp = machine.succeed(
|
||||
"stat --printf %U:%G___%Y /var/lib/ihatemoney/secret_key"
|
||||
).split("___")
|
||||
@@ -47,13 +63,13 @@ let
|
||||
machine.wait_for_unit("uwsgi.service")
|
||||
|
||||
with subtest("check that the database is really persistent"):
|
||||
machine.succeed("curl --basic -u yay:yay http://localhost:8000/api/projects/yay")
|
||||
machine.succeed("curl --fail --basic -u yay:yay http://localhost:8000/api/projects/yay")
|
||||
|
||||
with subtest("check that the secret key is really persistent"):
|
||||
timestamp2 = machine.succeed("stat --printf %Y /var/lib/ihatemoney/secret_key")
|
||||
assert timestamp == timestamp2
|
||||
|
||||
assert "ihatemoney" in machine.succeed("curl http://localhost:8000")
|
||||
assert "ihatemoney" in machine.succeed("curl --fail http://localhost:8000")
|
||||
'';
|
||||
};
|
||||
in {
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"rates": {
|
||||
"CAD": 1.3420055134,
|
||||
"HKD": 7.7513783598,
|
||||
"ISK": 135.9407305307,
|
||||
"PHP": 49.3762922123,
|
||||
"DKK": 6.4126464507,
|
||||
"HUF": 298.9145416954,
|
||||
"CZK": 22.6292212267,
|
||||
"GBP": 0.7838128877,
|
||||
"RON": 4.1630771881,
|
||||
"SEK": 8.8464851826,
|
||||
"IDR": 14629.5658166782,
|
||||
"INR": 74.8328738801,
|
||||
"BRL": 5.2357856651,
|
||||
"RUB": 71.8416609235,
|
||||
"HRK": 6.4757064094,
|
||||
"JPY": 106.2715368711,
|
||||
"THB": 31.7203652653,
|
||||
"CHF": 0.9243625086,
|
||||
"EUR": 0.8614748449,
|
||||
"MYR": 4.2644727774,
|
||||
"BGN": 1.6848725017,
|
||||
"TRY": 6.8483804273,
|
||||
"CNY": 7.0169710544,
|
||||
"NOK": 9.213731909,
|
||||
"NZD": 1.5080978635,
|
||||
"ZAR": 16.7427636113,
|
||||
"USD": 1,
|
||||
"MXN": 22.4676085458,
|
||||
"SGD": 1.3855099931,
|
||||
"AUD": 1.4107512061,
|
||||
"ILS": 3.4150585803,
|
||||
"KRW": 1203.3339076499,
|
||||
"PLN": 3.794452102
|
||||
},
|
||||
"base": "USD",
|
||||
"date": "2020-07-24"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEvjCCAqYCCQDkTQrENPCZjjANBgkqhkiG9w0BAQsFADAgMR4wHAYDVQQDDBVh
|
||||
cGkuZXhjaGFuZ2VyYXRlLmhvc3QwIBcNMjEwNzE0MTI1MzQ0WhgPNDc1OTA2MTEx
|
||||
MjUzNDRaMCAxHjAcBgNVBAMMFWFwaS5leGNoYW5nZXJhdGUuaG9zdDCCAiIwDQYJ
|
||||
KoZIhvcNAQEBBQADggIPADCCAgoCggIBAL5zpwUYa/ySqvJ/PUnXYsl1ww5SNGJh
|
||||
NujCRxC0Gw+5t5O7USSHRdz7Eb2PNFMa7JR+lliLAWdjHfqPXJWmP10X5ebvyxeQ
|
||||
TJkR1HpDSY6TQQlJvwr/JNGryyoQYjXvnyeyVu4TS3U0TTI631OonDAj+HbFIs9L
|
||||
gr/HfHzFmxRVLwaJ7hebanihc5RzoWTxgswiOwYQu5AivXQqcvUIxELeT7CxWwiw
|
||||
be/SlalDgoezB/poqaa215FUuN2av+nTn+swH3WOi9kwePLgVKn9BnDMwyh8et13
|
||||
yt27RWCSOcZagRSYsSbBaEJbClZvnuYvDqooJEy0GVbGBZpClKRKe92yd0PTf3ZJ
|
||||
GupyNoCFQlGugY//WLrsPv/Q4WwP+qZ6t97sV0CdM+epKVde/LfPKn+tFMv86qIg
|
||||
Q/uGHdDwUI8XH2EysAavhdlssSrovmpl4hyo9UkzTWfJgAbmOZY3Vba41wsq12FT
|
||||
usDsswGLBD10MdXWltR/Hdk8OnosLmeJxfZODAv31KSfd+4b6Ntr9BYQvAQSO+1/
|
||||
Mf7gEQtNhO003VKIyV5cpH4kVQieEcvoEKgq32NVBSKVf6UIPWIefu19kvrttaUu
|
||||
Q2QW2Qm4Ph/4cWpxl0jcrN5rjmgaBtIMmKYjRIS0ThDWzfVkJdmJuATzExJAplLN
|
||||
nYPBG3gOtQQpAgMBAAEwDQYJKoZIhvcNAQELBQADggIBAJzt/aN7wl88WrvBasVi
|
||||
fSJmJjRaW2rYyBUMptQNkm9ElHN2eQQxJgLi8+9ArQxuGKhHx+D1wMGF8w2yOp0j
|
||||
4atfbXDcT+cTQY55qdEeYgU8KhESHHGszGsUpv7hzU2cACZiXG0YbOmORFYcn49Z
|
||||
yPyN98kW8BViLzNF9v+I/NJPuaaCeWKjXCqY2GCzddiuotrlLtz0CODXZJ506I1F
|
||||
38vQgZb10yAe6+R4y0BK7sUlmfr9BBqVcDQ/z74Kph1aB32zwP8KrNitwG1Tyk6W
|
||||
rxD1dStEQyX8uDPAspe2JrToMWsOMje9F5lotmuzyvwRJYfAav300EtIggBqpiHR
|
||||
o0P/1xxBzmaCHxEUJegdoYg8Q27llqsjR2T78uv/BlxpX9Dv5kNex5EZThKqyz4a
|
||||
Fn1VqiA3D9IsvxH4ud+8eDaP24u1yYObSTDIBsw9xDvoV8fV+NWoNNhcAL5GwC0P
|
||||
Goh7/brZSHUprxGpwRB524E//8XmCsRd/+ShtXbi4gEODMH4xLdkD7fZIJC4eG1H
|
||||
GOVc1MwjiYvbQlPs6MOcQ0iKQneSlaEJmyyO5Ro5OKiKj89Az/mLYX3R17AIsu0T
|
||||
Q5pGcmhKVRyu0zXvkGfK352TLwoe+4vbmakDq21Pkkcy8V9M4wP+vpCfQkg1REQ1
|
||||
+mr1Vg+SFya3mlCxpFTy3j8E
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,52 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQC+c6cFGGv8kqry
|
||||
fz1J12LJdcMOUjRiYTbowkcQtBsPubeTu1Ekh0Xc+xG9jzRTGuyUfpZYiwFnYx36
|
||||
j1yVpj9dF+Xm78sXkEyZEdR6Q0mOk0EJSb8K/yTRq8sqEGI1758nslbuE0t1NE0y
|
||||
Ot9TqJwwI/h2xSLPS4K/x3x8xZsUVS8Gie4Xm2p4oXOUc6Fk8YLMIjsGELuQIr10
|
||||
KnL1CMRC3k+wsVsIsG3v0pWpQ4KHswf6aKmmtteRVLjdmr/p05/rMB91jovZMHjy
|
||||
4FSp/QZwzMMofHrdd8rdu0VgkjnGWoEUmLEmwWhCWwpWb57mLw6qKCRMtBlWxgWa
|
||||
QpSkSnvdsndD0392SRrqcjaAhUJRroGP/1i67D7/0OFsD/qmerfe7FdAnTPnqSlX
|
||||
Xvy3zyp/rRTL/OqiIEP7hh3Q8FCPFx9hMrAGr4XZbLEq6L5qZeIcqPVJM01nyYAG
|
||||
5jmWN1W2uNcLKtdhU7rA7LMBiwQ9dDHV1pbUfx3ZPDp6LC5nicX2TgwL99Skn3fu
|
||||
G+jba/QWELwEEjvtfzH+4BELTYTtNN1SiMleXKR+JFUInhHL6BCoKt9jVQUilX+l
|
||||
CD1iHn7tfZL67bWlLkNkFtkJuD4f+HFqcZdI3Kzea45oGgbSDJimI0SEtE4Q1s31
|
||||
ZCXZibgE8xMSQKZSzZ2DwRt4DrUEKQIDAQABAoICAQCpwU465XTDUTvcH/vSCJB9
|
||||
/2BYMH+OvRYDS7+qLM7+Kkxt+oWt6IEmIgfDDZTXCmWbSmXaEDS1IYzEG+qrXN6X
|
||||
rMh4Gn7MxwrvWQwp2jYDRk+u5rPJKnh4Bwd0u9u+NZKIAJcpZ7tXgcHZJs6Os/hb
|
||||
lIRP4RFQ8f5d0IKueDftXKwoyOKW2imB0m7CAHr4DajHKS+xDVMRe1Wg6IFE1YaS
|
||||
D7O6S6tXyGKFZA+QKqN7LuHKmmW1Or5URM7uf5PV6JJfQKqZzu/qLCFyYvA0AFsw
|
||||
SeMeAC5HnxIMp3KETHIA0gTCBgPJBpVWp+1D9AQPKhyJIHSShekcBi9SO0xgUB+s
|
||||
h1UEcC2zf95Vson0KySX9zWRUZkrU8/0KYhYljN2/vdW8XxkRBC0pl3xWzq2kMgz
|
||||
SscZqI/MzyeUHaQno62GRlWn+WKP2NidDfR0Td/ybge1DJX+aDIfjalfCEIbJeqm
|
||||
BHn0CZ5z1RofatDlPj4p8+f2Trpcz/JCVKbGiQXi/08ZlCwkSIiOIcBVvAFErWop
|
||||
GJOBDU3StS/MXhQVb8ZeCkPBz0TM24Sv1az/MuW4w8gavpQuBC4aD5zY/TOwG8ei
|
||||
6S1sAZ0G2uc1A0FOngNvOyYYv+LImZKkWGXrLCRsqq6o/mh3M8bCHEY/lOZW8ZpL
|
||||
FCsDOO8deVZl/OX1VtB0bQKCAQEA3qRWDlUpCAU8BKa5Z1oRUz06e5KD58t2HpG8
|
||||
ndM3UO/F1XNB/6OGMWpL/XuBKOnWIB39UzsnnEtehKURTqqAsB1K3JQ5Q/FyuXRj
|
||||
+o7XnNXe5lHBL5JqBIoESDchSAooQhBlQSjLSL2lg//igk0puv08wMK7UtajkV7U
|
||||
35WDa6ks6jfoSeuVibfdobkTgfw5edirOBE2Q0U2KtGsnyAzsM6tRbtgI1Yhg7eX
|
||||
nSIc4IYgq2hNLBKsegeiz1w4M6O4CQDVYFWKHyKpdrvj/fG7YZMr6YtTkuC+QPDK
|
||||
mmQIEL/lj8E26MnPLKtnTFc06LQry2V3pLWNf4mMLPNLEupEXwKCAQEA2vyg8Npn
|
||||
EZRunIr51rYScC6U6iryDjJWCwJxwr8vGU+bkqUOHTl3EqZOi5tDeYJJ+WSBqjfW
|
||||
IWrPRFZzTITlAslZ02DQ5enS9PwgUUjl7LUEbHHh+fSNIgkVfDhsuNKFzcEaIM1X
|
||||
Dl4lI2T8jEzmBep+k8f6gNmgKBgqlCf7XraorIM5diLFzy2G10zdOQTw5hW3TsVY
|
||||
d968YpfC5j57/hCrf36ahIT7o1vxLD+L27Mm9Eiib45woWjaAR1Nc9kUjqY4yV7t
|
||||
3QOw/Id9+/Sx5tZftOBvHlFyz23e1yaI3VxsiLDO9RxJwAKyA+KOvAybE2VU28hI
|
||||
s5tAYOMV6BpEdwKCAQBqRIQyySERi/YOvkmGdC4KzhHJA7DkBXA2vRcLOdKQVjHW
|
||||
ZPIeg728fmEQ90856QrkP4w3mueYKT1PEL7HDojoBsNBr5n5vRgmPtCtulpdqJOA
|
||||
2YrdGwRxcDMFCRNgoECA7/R0enU1HhgPfiZuTUha0R6bXxcsPfjKnTn8EhAtZg1j
|
||||
KhY8mi7BEjq+Q2l1RJ9mci2fUE/XIgTtwTCkrykc/jkkLICBvU234fyC6tJftIWJ
|
||||
avpSzAL5KAXk9b55n25rFbPDDHEl1VSPsLTs8+GdfDKcgXz9gTouIwCBWreizwVS
|
||||
bUW5LQIu7w0aGhHN9JlmtuK5glKsikmW9vVhbOH/AoIBAE//O7fgwQguBh5Psqca
|
||||
CjBLBAFrQNOo1b/d27r95nHDoBx5CWfppzL75/Od+4825lkhuzB4h1Pb1e2r+yC3
|
||||
54UWEydh1c43leYC+LdY/w1yrzQCgj+yc6A8W0nuvuDhnxmj8iyLdsL752s/p/aE
|
||||
3P7KRAUuZ7eMSLJ86YkH9g8KgSHMKkCawVJG2lxqauI6iNo0kqtG8mOPzZfiwsMj
|
||||
jl4ors27bSz9+4MYwkicyjWvA4r3wcco7MI6MHF5x+KLKbRWyqXddN1pTM1jncVe
|
||||
BWNDauEDn/QeYuedxmsoW5Up/0gL9v6Zn+Nx2KAMsoHFxRzXxqEnUE+0Zlc+fbE1
|
||||
b08CggEBAMiZmWtRmfueu9NMh6mgs+cmMA1ZHmbnIbtFpVjc37lrKUcjLzGF3tmp
|
||||
zQl2wy8IcHpNv8F9aKhwAInxD49RUjyqvRD6Pru+EWN6gOPJIUVuZ6mvaf7BOxbn
|
||||
Rve63hN5k4znQ1MOqGRiUkBxYSJ5wnFyQP0/8Y6+JM5uAuRUcKVNyoGURpfMrmB3
|
||||
r+KHWltM9/5iIfiDNhwStFiuOJj1YBJVzrcAn8Zh5Q0+s1hXoOUs4doLcaPHTCTU
|
||||
3hyX78yROMcZto0pVzxgQrYz31yQ5ocy9WcOYbPbQ5gdlnBEv8d7umNY1siz2wkI
|
||||
NaEkKVO0D0jFtk37s/YqJpCsXg/B7yc=
|
||||
-----END PRIVATE KEY-----
|
||||
@@ -104,5 +104,6 @@ in
|
||||
malcontent = callInstalledTest ./malcontent.nix {};
|
||||
ostree = callInstalledTest ./ostree.nix {};
|
||||
pipewire = callInstalledTest ./pipewire.nix {};
|
||||
power-profiles-daemon = callInstalledTest ./power-profiles-daemon.nix {};
|
||||
xdg-desktop-portal = callInstalledTest ./xdg-desktop-portal.nix {};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
{ pkgs, lib, makeInstalledTest, ... }:
|
||||
|
||||
makeInstalledTest {
|
||||
tested = pkgs.power-profiles-daemon;
|
||||
|
||||
testConfig = {
|
||||
services.power-profiles-daemon.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -27,7 +27,7 @@ let
|
||||
users.users.person.isNormalUser = true;
|
||||
virtualisation.writableStore = true;
|
||||
virtualisation.memorySize = 1024 /*MiB*/;
|
||||
virtualisation.pathsInNixDB = [
|
||||
virtualisation.additionalPaths = [
|
||||
pkgs.hello
|
||||
pkgs.figlet
|
||||
|
||||
|
||||
@@ -39,6 +39,29 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
# Check that specialisations create corresponding boot entries.
|
||||
specialisation = makeTest {
|
||||
name = "systemd-boot-specialisation";
|
||||
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ lukegb ];
|
||||
|
||||
machine = { pkgs, lib, ... }: {
|
||||
imports = [ common ];
|
||||
specialisation.something.configuration = {};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.start()
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
|
||||
machine.succeed(
|
||||
"test -e /boot/loader/entries/nixos-generation-1-specialisation-something.conf"
|
||||
)
|
||||
machine.succeed(
|
||||
"grep -q 'title NixOS (something)' /boot/loader/entries/nixos-generation-1-specialisation-something.conf"
|
||||
)
|
||||
'';
|
||||
};
|
||||
|
||||
# Boot without having created an EFI entry--instead using default "/EFI/BOOT/BOOTX64.EFI"
|
||||
fallback = makeTest {
|
||||
name = "systemd-boot-fallback";
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "btcpayserver";
|
||||
version = "1.2.4";
|
||||
version = "1.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-vjNJ08twsJ036TTFF6srOGshDpP7ZwWCGN0XjrtFT/g=";
|
||||
sha256 = "sha256-gJvUW/U+O83Q0VDo6a5VkWx2RuofMNs/mPn/hnM2XiE=";
|
||||
};
|
||||
|
||||
projectFile = "BTCPayServer/BTCPayServer.csproj";
|
||||
|
||||
+221
-176
@@ -31,38 +31,43 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.All";
|
||||
version = "1.2.12";
|
||||
sha256 = "0sciwh9m7h6ns59bsrzpd6zyxxdkiy33bdsq0phd3r2yxakvw68n";
|
||||
version = "1.2.13";
|
||||
sha256 = "16nhahb6bnjwhw3wh044zfkqpb5k40kyhdazs2h6y4phjhm5hq2r";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.Charge";
|
||||
version = "1.2.7";
|
||||
sha256 = "02x3p0am5zqp8f4fycdlrp26alicxc5vrlvgxg6d8wsa35q473xc";
|
||||
version = "1.2.8";
|
||||
sha256 = "0ldk7kyipgmg0mj1444ins5n014z149j1qa40h12pncr6q1fb0xf";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.CLightning";
|
||||
version = "1.2.8";
|
||||
sha256 = "06c6dnp72iwvnjm3pil24fnk4vp2v1f9gg84a381yn1xah9jghky";
|
||||
version = "1.2.9";
|
||||
sha256 = "0r855lnh6cyj6hpwhdpdhpp39332v7lmk93ri2q8gs9lsnwdyjr8";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.Common";
|
||||
version = "1.2.6";
|
||||
sha256 = "09p2ks1qgy6jnpcfwgdnxvldyyadwnh3mwmq9z89vvzmmgs19xkk";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.Common";
|
||||
version = "1.2.7";
|
||||
sha256 = "1hz4bn3aw537r253ipdpa6sydwhb6dh3r82xp1jizn9a6mnw54x6";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.Eclair";
|
||||
version = "1.2.6";
|
||||
sha256 = "0lf55w8v997kqh808545ry5mlwxpzxzlkbz38fl4nfm85yydw0fc";
|
||||
version = "1.2.7";
|
||||
sha256 = "1h15gic45wps4nvmxyfmfils9nicbz3xkli705hq69g0mafy0f23";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.LND";
|
||||
version = "1.2.8";
|
||||
sha256 = "1g1siy3xwf3rmyl4qrcg42wpww4b2qmfs88x0rxccwxjy5inzkz6";
|
||||
version = "1.2.9";
|
||||
sha256 = "1zyr58kwdyb02dfgxza73fqvzcjlf59msllmf06anl9im4pqcjx6";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.Ptarmigan";
|
||||
version = "1.2.6";
|
||||
sha256 = "10g785jh92z5x7aqh41ma3d1nw0718bk7ibb58ychhdk1v2wwmh4";
|
||||
version = "1.2.7";
|
||||
sha256 = "1mmj8bi32kzgda8v7qdfpm2qlpffv5223c2xnq7351h8ih4bbcvb";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BuildBundlerMinifier";
|
||||
@@ -169,15 +174,20 @@
|
||||
version = "1.0.18";
|
||||
sha256 = "15qzl5k31yaaapqlijr336lh4lzz1qqxlimgxy8fdyig8jdmgszn";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "LNURL";
|
||||
version = "0.0.14";
|
||||
sha256 = "0b2v87k3yi2lyka5zy3sbvxsa7yp04nn72l7dk27cm9i1d9914sq";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "McMaster.NETCore.Plugins.Mvc";
|
||||
version = "1.3.1";
|
||||
sha256 = "1dh58ijwn6q6id0jpzr4hpfl0y4ak43zq4m8rsi5j2qv8vasq1mi";
|
||||
version = "1.4.0";
|
||||
sha256 = "07i0p6236hyh1c3cb5v6zkayq5807rd6msc341v2jh6yd5radasy";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "McMaster.NETCore.Plugins";
|
||||
version = "1.3.1";
|
||||
sha256 = "0jrp7sshnvg7jcb52gfhwmg1jy31k9dxdf4061yggwcgpfskyg7n";
|
||||
version = "1.4.0";
|
||||
sha256 = "1k2qz0qnf2b1kfwbzcynivy93jm7dcwl866d0fl7qlgq5vql7niy";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.AspNet.SignalR.Client";
|
||||
@@ -191,13 +201,13 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.AspNetCore.Cryptography.Internal";
|
||||
version = "3.1.4";
|
||||
sha256 = "0d4djj073bl9kps5jkcpydh92lcp6kpa7njhypjw3myaa987dcsh";
|
||||
version = "3.1.19";
|
||||
sha256 = "1b20hksk2qk2jnkwin4g0n9ap3ma7724pd518fh9qcakf7vfpkl1";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.AspNetCore.Cryptography.KeyDerivation";
|
||||
version = "3.1.4";
|
||||
sha256 = "1rya2775prm8ss0rz6izsqqcz96gcf1rh0bpcvnfy1mwi04rx8bl";
|
||||
version = "3.1.19";
|
||||
sha256 = "1ksi2h3904932igh1g27l91fqdsfxg8zr6y82ym8pqb62m0906a4";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.AspNetCore.Hosting.Abstractions";
|
||||
@@ -221,33 +231,33 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.AspNetCore.Identity.EntityFrameworkCore";
|
||||
version = "3.1.4";
|
||||
sha256 = "0smcpaqm7d95flr0k7i2psrsfvs48lv28kzqgnllv5229hhb670d";
|
||||
version = "3.1.19";
|
||||
sha256 = "0sm7cpccpygwgplbkp0j1q5ilkkiw0dx76qwy3xharv4himakrfm";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.AspNetCore.JsonPatch";
|
||||
version = "3.1.1";
|
||||
sha256 = "0c0aaz9rlh9chc53dnv5jryp0x0415hipaizrmih3kzwd3fmqpml";
|
||||
version = "3.1.19";
|
||||
sha256 = "1fh3k85k988jw35sf5hvm6jwmvzmslzpfvf3jk3sn3f3s6gyk0an";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.AspNetCore.Mvc.NewtonsoftJson";
|
||||
version = "3.1.1";
|
||||
sha256 = "1c2lrlp64kkacnjgdyygr6fqdawk10l8j4qgppii6rq61yjwhcig";
|
||||
version = "3.1.19";
|
||||
sha256 = "1nh08kjdc152m85ycwxn1q8r69f0l02p6cac6q57nzlyy5gyj2rs";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.AspNetCore.Mvc.Razor.Extensions";
|
||||
version = "3.1.1";
|
||||
sha256 = "1iydcr7rfzg3kqky0x70853g6lbzsl9ja9cv8ph6iwpqxnswgdkh";
|
||||
version = "3.1.19";
|
||||
sha256 = "1n22q10n9xlhcjxsm1apd0b7j3j97dd5jmpw6nvymwbv2bw88af4";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation";
|
||||
version = "3.1.1";
|
||||
sha256 = "1q1bblcj9l2dnz46frygsfq7w4v08l96clgryh78wyws83xjm43y";
|
||||
version = "3.1.19";
|
||||
sha256 = "1glmlgrwksv0h8g41wy43wv94ndllq4ihxhdaagig9szvivdh8c1";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.AspNetCore.Razor.Language";
|
||||
version = "3.1.1";
|
||||
sha256 = "0arqmy04dd0r4wm2fin66gxxwj2kirbgxyf3w7kq6f73lrnazhq0";
|
||||
version = "3.1.19";
|
||||
sha256 = "059v85f2qbj403wcnp5mspzvhkbf6d8hsjl26xvfd5s8svnaz4ax";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Bcl.AsyncInterfaces";
|
||||
@@ -256,8 +266,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Bcl.HashCode";
|
||||
version = "1.1.0";
|
||||
sha256 = "1ggsadahlp76zcn1plapszd5v5ja8rh479fwrahqd3knql4dfnr0";
|
||||
version = "1.1.1";
|
||||
sha256 = "0xwfph92p92d8hgrdiaka4cazqsjpg4ywfxfx6qbk3939f29kzl0";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.CodeAnalysis.Analyzers";
|
||||
@@ -266,8 +276,13 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.CodeAnalysis.Analyzers";
|
||||
version = "3.0.0";
|
||||
sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8";
|
||||
version = "3.3.2";
|
||||
sha256 = "162vb5894zxps0cf5n9gc08an7gwybzz87allx3lsszvllr9ldx4";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.CodeAnalysis.Common";
|
||||
version = "3.11.0";
|
||||
sha256 = "0pwidgg4ifm7cirdy3hf61dyvg6lk4vgb6q7lyb4y0h0b6mvkrcl";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.CodeAnalysis.Common";
|
||||
@@ -275,29 +290,24 @@
|
||||
sha256 = "1vwhsp3pjgcfnpapkps9a3z9n2ryiv5bbhzycfljngj5grj63rg2";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.CodeAnalysis.Common";
|
||||
version = "3.6.0";
|
||||
sha256 = "0i8x90700jr30j580mpawj6d90fngrb2zpkjjbn7f8r2p1mz75y7";
|
||||
name = "Microsoft.CodeAnalysis.CSharp";
|
||||
version = "3.11.0";
|
||||
sha256 = "1h16b7dsp1mq7d7picyfhkssqr6xiyywi5x1fd4jwclyrvanyl81";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.CodeAnalysis.CSharp";
|
||||
version = "3.3.0";
|
||||
sha256 = "09nmd5h1r2q0dwp1dfpn4anvs8sfi3rwcgpcv28lrhky8vc51424";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.CodeAnalysis.CSharp";
|
||||
version = "3.6.0";
|
||||
sha256 = "0c44qp7lfpja6cq5nk7851qrswm2z1k2pnvsw43j9ybf10a27jrn";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.CodeAnalysis.Razor";
|
||||
version = "3.1.1";
|
||||
sha256 = "03n5rli6v1kvghha82zar3dvvkbc2vb9g8zp5fjrzhvp4l74ingn";
|
||||
version = "3.1.19";
|
||||
sha256 = "18l0gcpl7i0bfnyzhpm7h72ng2h8bh46fr2azk7d3ns507gi3xmp";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.CodeCoverage";
|
||||
version = "16.6.1";
|
||||
sha256 = "01ffm4nflqdb93vq4xl0j3377x360fgx6c6h12mpkcy85ixbv3rl";
|
||||
version = "16.11.0";
|
||||
sha256 = "0f41l3kks6wk5vjaxpjh8m2flnrvlbvqgqflamhv8rfz4y8ifgdv";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.CSharp";
|
||||
@@ -321,8 +331,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Data.Sqlite.Core";
|
||||
version = "3.1.4";
|
||||
sha256 = "1pahyqjs4l9g1wg9hvxf68kgzzf72ny2i7n7ai97a389p2c86xvh";
|
||||
version = "3.1.19";
|
||||
sha256 = "0ns3rrk011gjw4g1kwr625390yj0mcadb3py49750sji72my7l7s";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.DotNet.PlatformAbstractions";
|
||||
@@ -331,53 +341,53 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.DotNet.PlatformAbstractions";
|
||||
version = "3.1.0";
|
||||
sha256 = "1fg1zggza45pa8zlcf8llqh6v47fqi44azsia68kmsg2q9r1r4mq";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.DotNet.PlatformAbstractions";
|
||||
version = "3.1.4";
|
||||
sha256 = "1s5h96zdc3vh1v03gizmqfw5hmksajw10bdrj79pm8brbyzipxia";
|
||||
version = "3.1.6";
|
||||
sha256 = "0b9myd7gqbpaw9pkd2bx45jhik9mwj0f1ss57sk2cxmag2lkdws5";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.EntityFrameworkCore.Abstractions";
|
||||
version = "3.1.4";
|
||||
sha256 = "07l7137pzwh0k4m53ji5j6a2zmbbzrl164p18wxcri77ds5is4g7";
|
||||
version = "3.1.18";
|
||||
sha256 = "0d00d6wx2mm5bav39bjsikjq0sx6qmp183dbwimfda7wav2bwya8";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.EntityFrameworkCore.Abstractions";
|
||||
version = "3.1.19";
|
||||
sha256 = "0na2jgxs5k2gxqh99ha4v0blya3pwh2qha49iz0qkw0r3kq0vdvv";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.EntityFrameworkCore.Analyzers";
|
||||
version = "3.1.4";
|
||||
sha256 = "1zaqn9z7ns6p6jgnffzkgpziqr2wqs68g2sa0c11kaclhlhgvvbv";
|
||||
version = "3.1.19";
|
||||
sha256 = "02xjz4c6f71mcmdwihi9klrqm28xk84x19vcqi8cgpw50q7d0rly";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.EntityFrameworkCore.Design";
|
||||
version = "3.1.4";
|
||||
sha256 = "10mxnbiw23ia4sln86sd3gn84yhmrb6r2kipzid4h1g15paal9gi";
|
||||
version = "3.1.19";
|
||||
sha256 = "128md0ijqa1wvpdicf09i7kcb2aq2b07skc6j0vddz2jhcbi0irr";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.EntityFrameworkCore.Relational";
|
||||
version = "3.1.0";
|
||||
sha256 = "0javqw6c27ppcysigjvcjcw3mk0gg1pv2pmwfpvvryr1pb4a9n55";
|
||||
version = "3.1.18";
|
||||
sha256 = "0mlq9gmxrmix68mdh0lv803cx15lzrhs5d9622vj8wwdlngg3xdx";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.EntityFrameworkCore.Relational";
|
||||
version = "3.1.4";
|
||||
sha256 = "1344rsavawwg69dx8xsl08hcs43lc6h7z4mn461dcx85rirlwd0v";
|
||||
version = "3.1.19";
|
||||
sha256 = "13rbnd441r4zb52y99zwida0n0phvvw7hmccjy2kpnk1jfrr8xi1";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.EntityFrameworkCore.Sqlite.Core";
|
||||
version = "3.1.4";
|
||||
sha256 = "080qz0b52i7v5c1sgnqlh9px9881cfr1x06np66hdgmh0ni5c1lw";
|
||||
version = "3.1.19";
|
||||
sha256 = "1w8ja5daglnr3ycfwlyskrnacb66p8yz730k838v6bpmpsdybn71";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.EntityFrameworkCore.Sqlite";
|
||||
version = "3.1.4";
|
||||
sha256 = "009mcmakw0p7k8xrz920a8qc0rjv361awiz8jia5i5a8p5ihgkbx";
|
||||
version = "3.1.19";
|
||||
sha256 = "0iwwa44dr2lg9mh5hmnpnkzbhi5v3vi6xy3xlnqg4hja37ji0xyw";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.EntityFrameworkCore";
|
||||
version = "3.1.4";
|
||||
sha256 = "11w63yp7fk9qwmnq3lmpf1h30mlbzfx4zpm89vrs0lprj86g0742";
|
||||
version = "3.1.19";
|
||||
sha256 = "0gl43zk7ashjx49h35w58cn7dfl1ap3nyq9ws8575jcjhcx3c94h";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Caching.Abstractions";
|
||||
@@ -386,13 +396,13 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Caching.Abstractions";
|
||||
version = "3.1.4";
|
||||
sha256 = "09f96pvpyzylpdaiw3lsvr7p6rs4i21mmhsxl6pkivg5lpfb79sk";
|
||||
version = "3.1.19";
|
||||
sha256 = "1y1is16yl69ja67i9n98r44cr0z8b8f8k31d5ighi9djj4yhz4k2";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Caching.Memory";
|
||||
version = "3.1.4";
|
||||
sha256 = "0b8ijxjd8lgq8mgnvh3wl4y4wbjj3v5b763y6gslm75fn43iyad8";
|
||||
version = "3.1.19";
|
||||
sha256 = "1iysxrmchw5ripyrcfi4nv5a00b9a7agsgvbb7y9fwbfq838v3mp";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Configuration.Abstractions";
|
||||
@@ -411,8 +421,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Configuration.Abstractions";
|
||||
version = "3.1.4";
|
||||
sha256 = "0r33m68y1vgpmqams4sgciizl0w6y97qkp93m0hyn0nlkxqf72l6";
|
||||
version = "3.1.19";
|
||||
sha256 = "19s5dpswyad55p191280510sb8cr2b6zyx9zlx79p0lq4zaxwaq6";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Configuration.Abstractions";
|
||||
@@ -426,8 +436,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Configuration.Binder";
|
||||
version = "3.1.4";
|
||||
sha256 = "1bnf213zlrh0m3sbhsv601yx21l5xp254jiy2g4hm7zpm8vsz1hz";
|
||||
version = "3.1.19";
|
||||
sha256 = "0dw1qiyc8j7rk13x6wfm1xnc7drnlvk8xv607hja0af2m0y7a3p2";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Configuration.Binder";
|
||||
@@ -461,8 +471,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Configuration";
|
||||
version = "3.1.4";
|
||||
sha256 = "0npc18pjl86d06czb0fy6ln3prfpwfb16p6709xx2jrsl96dp9bp";
|
||||
version = "3.1.19";
|
||||
sha256 = "04zadl7q5vcak9d77jm5ivfzhhp2zvz5apywvfzrca4h0q38fs45";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Configuration";
|
||||
@@ -481,8 +491,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.DependencyInjection.Abstractions";
|
||||
version = "3.1.4";
|
||||
sha256 = "03ys96pqca93zwxvh0vprzms09i9y0lmq32w98m6klbizq01fc06";
|
||||
version = "3.1.19";
|
||||
sha256 = "0claq9nna6p30zbvd25bn1ild9f3x50d5fxfbq9fsp464rq70b2y";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.DependencyInjection.Abstractions";
|
||||
@@ -496,8 +506,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.DependencyInjection";
|
||||
version = "3.1.4";
|
||||
sha256 = "0rhyjgdpjm56drvrvqd9v1xq1qhyrpwwn2pjsz17g2s462rwliqx";
|
||||
version = "3.1.19";
|
||||
sha256 = "0fsvv5jl95kmdxc4c7b15xanlq3fmfls556m8ghbqqikrgkqhz8m";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.DependencyModel";
|
||||
@@ -506,18 +516,13 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.DependencyModel";
|
||||
version = "3.1.0";
|
||||
sha256 = "12nrdw3q9wl5zry8gb3sw003a0iyk2gvps2ij813l7lim38wy1mi";
|
||||
version = "3.1.6";
|
||||
sha256 = "13m2na8a5mglbbjjp0dxb8ifkf23grkyk1g8585mr7v6cbj098ac";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.DependencyModel";
|
||||
version = "3.1.1";
|
||||
sha256 = "0qa04dspjl4qk7l8d66wqyrvhp5dxcfn2j4r8mmj362xyrp3r8sh";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.DependencyModel";
|
||||
version = "3.1.4";
|
||||
sha256 = "0r0wv4k0ig6mrl6fr184zqbf5f010d6i2an2ws23g2bjvk8jh1bk";
|
||||
version = "5.0.0";
|
||||
sha256 = "1mma1zxi0b40972cwfvkj9y0w9r7vjbi74784jzcb22pric00k5x";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.FileProviders.Abstractions";
|
||||
@@ -551,13 +556,13 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Identity.Core";
|
||||
version = "3.1.4";
|
||||
sha256 = "0kyi03l9d7pnsvrcylc86fcxwnj59mhvmbz4c1d142f8djdrqfid";
|
||||
version = "3.1.19";
|
||||
sha256 = "14mywrm6mv7hzfappgdrmwwk97a4qpfkir5a55443awy8wl3bylr";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Identity.Stores";
|
||||
version = "3.1.4";
|
||||
sha256 = "0jb3syy0glyn4nnd7lb7aj412xnqyrwhfavh98rbc5adq9v09nbw";
|
||||
version = "3.1.19";
|
||||
sha256 = "0pkrhf1vffll986hh49gyvfdqn1vnjd0qnpfkag2b76d681xlvgg";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Logging.Abstractions";
|
||||
@@ -581,8 +586,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Logging.Abstractions";
|
||||
version = "3.1.4";
|
||||
sha256 = "1rkl0yqmi5vfivn641866v2mdsgdy8amym546y6lzbab39g24b5n";
|
||||
version = "3.1.19";
|
||||
sha256 = "07jnqb6518xrw086rqlc28ms80d57xg0pl5x72032rk2x5x8hhnn";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Logging.Abstractions";
|
||||
@@ -601,8 +606,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Logging";
|
||||
version = "3.1.4";
|
||||
sha256 = "04asfrhfrcl3ijilry2pr28ql5m6pgrwapadikgcg66jjxbx75zq";
|
||||
version = "3.1.19";
|
||||
sha256 = "0j2874x847xa1nfbppjn10cnxd486f6lwy53mxmansvlmp96h2sn";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Options.ConfigurationExtensions";
|
||||
@@ -621,8 +626,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Options";
|
||||
version = "3.1.4";
|
||||
sha256 = "0jphncx82l7jm5xi49dfxhbh24wv86sy44022chd7bkizllsypp4";
|
||||
version = "3.1.19";
|
||||
sha256 = "1jm7rd2sbfscyfysvl8zcaypyzpd6d5w52ha2npa9c7q84cmn4r9";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Options";
|
||||
@@ -656,8 +661,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Primitives";
|
||||
version = "3.1.4";
|
||||
sha256 = "12xvysk024aghrcwzv4525vznnk8lqmknl2vqqxhq4k5hjxpsysp";
|
||||
version = "3.1.19";
|
||||
sha256 = "0vcwwqqfwm5vj87psmic6mxix3prgkzw8sqbg5m1c2q662kby380";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Extensions.Primitives";
|
||||
@@ -681,13 +686,13 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.NET.Test.Sdk";
|
||||
version = "16.6.1";
|
||||
sha256 = "0jjdg468jc6pv2z764f3xc19lcr772nzjm9cjfqq3bqw8vkpzmhv";
|
||||
version = "16.11.0";
|
||||
sha256 = "1a2y6vw6p9xp3w72zq2lwrjl8bxv87s9d7zd2dh4zwbzh1c5slxl";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.NetCore.Analyzers";
|
||||
version = "2.9.8";
|
||||
sha256 = "1klybsdy9yw49zlpmix4vjdhmfaibg5h9yx03vszdnijzap7vpsx";
|
||||
version = "3.3.2";
|
||||
sha256 = "1h1bjiiw64qncs61p2idwxswv4kzq06bbl2rlghiagv6sbjk4pnq";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.NETCore.Platforms";
|
||||
@@ -726,13 +731,13 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.TestPlatform.ObjectModel";
|
||||
version = "16.6.1";
|
||||
sha256 = "0q98q1nw6jl4bajm66z4a9vvh928w8ffsd3k6fpsps23ykpsky7h";
|
||||
version = "16.11.0";
|
||||
sha256 = "1fc0ghk1cny4i8w43b94pxhl0srxisv6kaflkkp30ncsa9szhkxh";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.TestPlatform.TestHost";
|
||||
version = "16.6.1";
|
||||
sha256 = "0anzvb2mda548swb2ll1hv65knb8gwjm01hwbl0pzzr607my3lix";
|
||||
version = "16.11.0";
|
||||
sha256 = "0hp1vndf2jhyg1f3miq4g2068z5kpfzy6nmswm25vymghxp1ws4k";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Win32.Primitives";
|
||||
@@ -751,24 +756,34 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "MySqlConnector";
|
||||
version = "0.61.0";
|
||||
sha256 = "0b0mc41dsih4p1ky3kcmibsz4bw14w439nraq5732wjfkq2sqdxg";
|
||||
version = "0.69.10";
|
||||
sha256 = "159xir7czzz291cs0f2dsgmnhar41s4wglm5r5lw3kqpd50q3i9v";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NBitcoin.Altcoins";
|
||||
version = "3.0.4";
|
||||
sha256 = "03aia31sznw81jjr9k6dkwgvm9dc38fgp1z8y5i45vlkf5fp89pb";
|
||||
version = "3.0.8";
|
||||
sha256 = "1qck2nfj8494pxwzhccslq4cbypsgnwcv3nvz24czsd87wn8n618";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NBitcoin";
|
||||
version = "5.0.33";
|
||||
sha256 = "030q609b9lhapq4wfl1w3impjw5m40kz2rg1s9jn3bn8yjfmsi4a";
|
||||
name = "NBitcoin.Secp256k1";
|
||||
version = "1.0.3";
|
||||
sha256 = "08d4db64j1qz8ax9fg8zi6n7g1n53clnkajbbvv2hgaqyfrsnqxj";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NBitcoin";
|
||||
version = "5.0.40";
|
||||
sha256 = "1rqzn84yaww4afagwg8jg1l5qdkvqyjdfcyd5widddqwxabbsjvh";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NBitcoin";
|
||||
version = "5.0.54";
|
||||
sha256 = "0mx2gr8j8bc4mf1vi1fvqj3672qalxvzvincc61if79p46cik24b";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NBitcoin";
|
||||
version = "6.0.15";
|
||||
sha256 = "038dcl2k88w4cijws3pdnjflgy4lmqx70z0l7yqz355kmxjz8ain";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NBitcoin";
|
||||
version = "6.0.3";
|
||||
@@ -786,94 +801,99 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NBXplorer.Client";
|
||||
version = "4.1.0";
|
||||
sha256 = "1al9j14k51ql7m6yd2w89xlnklj64jqjikq8wpl2vwi1zy2gxqrl";
|
||||
version = "4.1.3";
|
||||
sha256 = "1nh4jj7yg81825hr7cc99qlnfmdm6jibap81qqi8a968b61z4251";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.ABI";
|
||||
version = "3.8.0";
|
||||
sha256 = "10saq2qsqqgsf9d5cjji4lay74ydwkvkqgnns6gxikqicci8yx5c";
|
||||
version = "4.1.0";
|
||||
sha256 = "1mhg6mh7wkz93fq3pclkxjipcvzglnk70gr9s1cgr2ak84y3g5lr";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.Accounts";
|
||||
version = "3.8.0";
|
||||
sha256 = "03dq4l1gsd6r2hah5flas8d8pfys7hh5srd279kiidaaxrp8fv2m";
|
||||
version = "4.1.0";
|
||||
sha256 = "0wd4wa2d1dm4ni5l208bn7wi63m1whmbh4x6sfk8m4qh4dlh1bq0";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.BlockchainProcessing";
|
||||
version = "3.8.0";
|
||||
sha256 = "0sz6710a3rvzbj1ghx8dx9adfpsaydw8129c5nj2bqvvh6shi4ax";
|
||||
version = "4.1.0";
|
||||
sha256 = "1986y39mpd61s7kkkbcc9hcg7vwmp9mamhiiy9pzsnfgc2jna6c4";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.Contracts";
|
||||
version = "3.8.0";
|
||||
sha256 = "0989as81dqz4j0h8b5a9f5hnd4lrjdj851cfc4j5h6hd633a13f8";
|
||||
version = "4.1.0";
|
||||
sha256 = "07yj2fqx0p22aayhn7zjczq5xj55b2w48qar8j5q2klzl9q64iwc";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.HdWallet";
|
||||
version = "3.8.0";
|
||||
sha256 = "0dy1bcm0gsp137286q3bx5q9gyd8lymrdmnh1ip3sszs5j31l9k2";
|
||||
version = "4.1.0";
|
||||
sha256 = "052g15iqhkx94igvnv5qr8gxpvbi34c7avqn6j4i4p0yf6kwbwsi";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.Hex";
|
||||
version = "3.8.0";
|
||||
sha256 = "0sbi982jnfs39sp7w85wf8lb51mijpwr9mpsmws08zrm90n93kb6";
|
||||
version = "4.1.0";
|
||||
sha256 = "1bkmbfclbkr3336za7ii5vac7c4h2l1vd4bl3a15s54piwfgx44w";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.JsonRpc.Client";
|
||||
version = "3.8.0";
|
||||
sha256 = "0gmdvsxhs398cj14f16r3dl8yv52iaxr9c9214k2ra28r14gfd1l";
|
||||
version = "4.1.0";
|
||||
sha256 = "1260pr9y83nrfqpgq37s91dbsxdfkvdh55x48554c33ldrqsqk4p";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.JsonRpc.RpcClient";
|
||||
version = "3.8.0";
|
||||
sha256 = "05k5f0dfcx4afbkc1w7cfnz514i7840j2haxyzsxkp8818yvfg0a";
|
||||
version = "4.1.0";
|
||||
sha256 = "0jybgfzy4cj9jx1djjc66vpk9sg88dymy5jrcrply3y6bq85arq3";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.KeyStore";
|
||||
version = "3.8.0";
|
||||
sha256 = "05pj95vcfznlk4saq9dw19377gd1sqgmjcg5h92b5rzpgm9v811s";
|
||||
version = "4.1.0";
|
||||
sha256 = "16xffhfx7k9rfb5kr717cpbircj66gazbkbbwvf5hss3v9a6imzz";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.Model";
|
||||
version = "3.8.0";
|
||||
sha256 = "1qfhzqirj9bi49zb6rdcy7w5bm9jyv3a79q7crmgpq3qx4lmz5yh";
|
||||
version = "4.1.0";
|
||||
sha256 = "03aaizfpjvbf367mprni2ixlyfvz7ic8cn1cfmjk1n3f3q63qbqh";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.RLP";
|
||||
version = "3.8.0";
|
||||
sha256 = "16142ag09h95394ip0ffkci09hchxh2i5xaw2rq46qcr8xd3kiym";
|
||||
version = "4.1.0";
|
||||
sha256 = "19ixlvv91s0xhn3bvwn0yydd5932vcylin037dv4wzgbk2v0vdpm";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.RPC";
|
||||
version = "3.8.0";
|
||||
sha256 = "1m2p10dds1k0r3gci25lh6cxl9z7ciw18g6wwa4yqi1hsw7n59vb";
|
||||
version = "4.1.0";
|
||||
sha256 = "0ivvic38wpay9ry1hp4n88bgglnxcd8id7p5h235ilviq2gxgmmb";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.Signer";
|
||||
version = "3.8.0";
|
||||
sha256 = "175acfqjqacc5zwh2kmrfnwd15jm3fjpv0xlgpyqry52mqxd9khf";
|
||||
version = "4.1.0";
|
||||
sha256 = "1lgyb80l7xwhp4jbfbba0d47p7nxhx0lac08k23nzwnqmg95y4n6";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.StandardTokenEIP20";
|
||||
version = "3.8.0";
|
||||
sha256 = "0xqb32x5b9y9r380frhj52i1lxsfs92nfgcpmys3shjxz6fnwf6g";
|
||||
version = "4.1.0";
|
||||
sha256 = "1i08kpa6knrm3jbhxgfaa2ing5w42j3jsdx72hl6a9xcjdkjr405";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.Util";
|
||||
version = "3.8.0";
|
||||
sha256 = "1ig1zkzpglq2q465n4c0ckv8w9gca9cfxz1qnrdhap0f1z90jyg8";
|
||||
version = "4.1.0";
|
||||
sha256 = "1fp7ii6ic13d1s8n6l63f1kyb03s04fghhfm7sshvk6bhjlynfqw";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Nethereum.Web3";
|
||||
version = "3.8.0";
|
||||
sha256 = "0n18chc9h1cxqp01kncik9lqfgiqrzl2zr8jgzbb05drlf6k0f3i";
|
||||
version = "4.1.0";
|
||||
sha256 = "1b8myc9wr44vf7kcl9rmhc8zimpfda3mmizhiq1x287xs44nam0b";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NETStandard.Library";
|
||||
version = "1.6.1";
|
||||
sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NETStandard.Library";
|
||||
version = "2.0.3";
|
||||
sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Newtonsoft.Json.Bson";
|
||||
version = "1.0.1";
|
||||
@@ -886,8 +906,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Newtonsoft.Json.Schema";
|
||||
version = "3.0.13";
|
||||
sha256 = "04vzjz5fb588rh6ji5a0svfzjsdcfpr1qrz9hxpc64z5zhnh6sf4";
|
||||
version = "3.0.14";
|
||||
sha256 = "1njk1arrf8pbx0i0p3yww459i70p0fcx02vs0jnbb6znvcy4mvh6";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Newtonsoft.Json";
|
||||
@@ -901,13 +921,13 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Newtonsoft.Json";
|
||||
version = "12.0.2";
|
||||
sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5";
|
||||
version = "12.0.3";
|
||||
sha256 = "17dzl305d835mzign8r15vkmav2hq8l6g7942dfjpnzr17wwl89x";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Newtonsoft.Json";
|
||||
version = "12.0.3";
|
||||
sha256 = "17dzl305d835mzign8r15vkmav2hq8l6g7942dfjpnzr17wwl89x";
|
||||
version = "13.0.1";
|
||||
sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Newtonsoft.Json";
|
||||
@@ -941,13 +961,13 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Npgsql.EntityFrameworkCore.PostgreSQL";
|
||||
version = "3.1.4";
|
||||
sha256 = "1ng9pbamh93g0fbnjq8ygaf40d6rs0fy4s08bjmxpa69k3s8c7a4";
|
||||
version = "3.1.18";
|
||||
sha256 = "0yjrp87m0kj8bzybszxnj7n1h21zag3rqpva74xzvm78gz1asc04";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Npgsql";
|
||||
version = "4.1.3.1";
|
||||
sha256 = "0qk3hb8s521c2gy4k3m1i6fhpr133mnw9w85cwsy9j7ghxyca1nv";
|
||||
version = "4.1.9";
|
||||
sha256 = "1b9qp3cjwydd4g1yy8nxxr0b0nwdbijmcmzjpkb9r13ndgdrd8nq";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NSec.Cryptography";
|
||||
@@ -981,8 +1001,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Pomelo.EntityFrameworkCore.MySql";
|
||||
version = "3.1.1";
|
||||
sha256 = "1jvv2q7pmh5wzsfjim7iby4r1scb30kgj9w6sbm2dp60i6vm32dx";
|
||||
version = "3.2.7";
|
||||
sha256 = "018za1ax17ibxld9rk2nc29716qpn2afh1prfrdjchf5cp56ba2p";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Pomelo.JsonObject";
|
||||
@@ -1101,8 +1121,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Selenium.WebDriver.ChromeDriver";
|
||||
version = "90.0.4430.2400";
|
||||
sha256 = "18gjm92nzzvxf0hk7c0nnabs0vmh6yyzq3m4si7p21m6xa3bqiga";
|
||||
version = "94.0.4606.6100";
|
||||
sha256 = "04kn91qcgsx92yhcqlhpm1yy3m34m371k70szf8h93gcwfs42b9c";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Selenium.WebDriver";
|
||||
@@ -1219,6 +1239,11 @@
|
||||
version = "1.7.1";
|
||||
sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Collections.Immutable";
|
||||
version = "5.0.0";
|
||||
sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Collections.NonGeneric";
|
||||
version = "4.3.0";
|
||||
@@ -1391,8 +1416,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.IO.Pipelines";
|
||||
version = "4.7.2";
|
||||
sha256 = "16v4qaypm72cfsfqr8z3k6yrpzn0m3apgkh6aljfwpycdk150sf9";
|
||||
version = "4.7.4";
|
||||
sha256 = "09gv2nz35vmmcjrfj1ppxx32v772i0mb369v7lwqr8mz14zhh86r";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.IO";
|
||||
@@ -1554,6 +1579,11 @@
|
||||
version = "1.6.0";
|
||||
sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Reflection.Metadata";
|
||||
version = "5.0.0";
|
||||
sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Reflection.Primitives";
|
||||
version = "4.0.1";
|
||||
@@ -1629,6 +1659,11 @@
|
||||
version = "4.7.0";
|
||||
sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Runtime.CompilerServices.Unsafe";
|
||||
version = "5.0.0";
|
||||
sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Runtime.Extensions";
|
||||
version = "4.1.0";
|
||||
@@ -1845,15 +1880,20 @@
|
||||
sha256 = "05qp3yivh6gz0vva0v3wjlj3g1b45d5jmz362f2y8ah6yb3rx088";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Text.Json";
|
||||
version = "4.7.0";
|
||||
sha256 = "0fp3xrysccm5dkaac4yb51d793vywxks978kkl5x4db9gw29rfdr";
|
||||
name = "System.Text.Encodings.Web";
|
||||
version = "5.0.0";
|
||||
sha256 = "144pgy65jc3bkar7d4fg1c0rq6qmkx68gj9k1ldk97558w22v1r1";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Text.Json";
|
||||
version = "4.7.2";
|
||||
sha256 = "10xj1pw2dgd42anikvj9qm23ccssrcp7dpznpj4j7xjp1ikhy3y4";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Text.Json";
|
||||
version = "5.0.0";
|
||||
sha256 = "1gpgl18z6qrgmqrikgh99xkjwzb1didrjp77bch7nrlra21gr4ks";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Text.RegularExpressions";
|
||||
version = "4.1.0";
|
||||
@@ -1884,6 +1924,11 @@
|
||||
version = "4.5.3";
|
||||
sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Threading.Tasks.Extensions";
|
||||
version = "4.5.4";
|
||||
sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Threading.Tasks";
|
||||
version = "4.0.11";
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "nbxplorer";
|
||||
version = "2.2.11";
|
||||
version = "2.2.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dgarage";
|
||||
repo = "NBXplorer";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ZDqzkANGMdvv3e5gWCYcacUYKLJRquXRHLr8RAzT9hY=";
|
||||
sha256 = "sha256-6nq5oCEVADZbzQJaEizzt6Lag11bZYLKGMTl2snZob8=";
|
||||
};
|
||||
|
||||
projectFile = "NBXplorer/NBXplorer.csproj";
|
||||
|
||||
+27
-22
@@ -6,23 +6,23 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.AspNetCore.JsonPatch";
|
||||
version = "3.1.5";
|
||||
sha256 = "0agcp9c8zf59bliybjfg5whby7k1i1xc4sccyyyj3qcx1snf6lfx";
|
||||
version = "3.1.19";
|
||||
sha256 = "1fh3k85k988jw35sf5hvm6jwmvzmslzpfvf3jk3sn3f3s6gyk0an";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.AspNetCore.Mvc.NewtonsoftJson";
|
||||
version = "3.1.5";
|
||||
sha256 = "1n76xr3jn4bcxm9f3lk8k76zn39mhyqcj5b0dqhi2xykyvvrqjgc";
|
||||
version = "3.1.19";
|
||||
sha256 = "1nh08kjdc152m85ycwxn1q8r69f0l02p6cac6q57nzlyy5gyj2rs";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Azure.Amqp";
|
||||
version = "2.4.2";
|
||||
sha256 = "0pfgl6fnw3apwasfg1dp5pvi5h0z0vmznhn2bfsgwndn1xlfw1g9";
|
||||
version = "2.4.9";
|
||||
sha256 = "15kvklhfl17713kwin8p71lcxq2jx87bk1d8gsl597z3w6l4cqma";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Azure.ServiceBus";
|
||||
version = "4.1.3";
|
||||
sha256 = "1mj21nal3hv8b5678rah808521c5rkb0yh6hrlqirsdgxwnl6z6g";
|
||||
version = "4.2.1";
|
||||
sha256 = "0akxqds078p7djd5g95i9dh4wrlfarabkq2ybn614cqdgl4z0is5";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Azure.Services.AppAuthentication";
|
||||
@@ -31,8 +31,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.CodeCoverage";
|
||||
version = "16.7.1";
|
||||
sha256 = "1farw63445cdyciplfs6l9j1gayxw16rkzmrwsiswfyjhqz70xd4";
|
||||
version = "16.11.0";
|
||||
sha256 = "0f41l3kks6wk5vjaxpjh8m2flnrvlbvqgqflamhv8rfz4y8ifgdv";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.CSharp";
|
||||
@@ -126,8 +126,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.NET.Test.Sdk";
|
||||
version = "16.7.1";
|
||||
sha256 = "0yqxipj74ax2n76w9ccydppx78ym8m5fda88qnvj4670qjvl0kf8";
|
||||
version = "16.11.0";
|
||||
sha256 = "1a2y6vw6p9xp3w72zq2lwrjl8bxv87s9d7zd2dh4zwbzh1c5slxl";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.NETCore.Platforms";
|
||||
@@ -156,13 +156,13 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.TestPlatform.ObjectModel";
|
||||
version = "16.7.1";
|
||||
sha256 = "0s9dyh99gzdpk1i5v468i2r9m6i3jrr41r394pwdwiajsz99kay0";
|
||||
version = "16.11.0";
|
||||
sha256 = "1fc0ghk1cny4i8w43b94pxhl0srxisv6kaflkkp30ncsa9szhkxh";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.TestPlatform.TestHost";
|
||||
version = "16.7.1";
|
||||
sha256 = "1xik06rxn9ps83in0zn9vcl2ibv3acmdqvrx07qq89lxj1sgqlhs";
|
||||
version = "16.11.0";
|
||||
sha256 = "0hp1vndf2jhyg1f3miq4g2068z5kpfzy6nmswm25vymghxp1ws4k";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Microsoft.Win32.Primitives";
|
||||
@@ -181,18 +181,18 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NBitcoin.Altcoins";
|
||||
version = "3.0.7";
|
||||
sha256 = "0nrkdbsc4k9fd4588axnkfa9gmif9b59wxw8fnmpg0nf4x8scm4n";
|
||||
version = "3.0.8";
|
||||
sha256 = "1qck2nfj8494pxwzhccslq4cbypsgnwcv3nvz24czsd87wn8n618";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NBitcoin.TestFramework";
|
||||
version = "3.0.5";
|
||||
sha256 = "09cgjzbkxvsi65qzns0ignp0x89z630vqacsgwj3b1h30dycwqdr";
|
||||
version = "3.0.6";
|
||||
sha256 = "0yw382238rjv0qmhz1xlb5v696s8sxbjf839c2ck6dqd947q403w";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NBitcoin";
|
||||
version = "6.0.10";
|
||||
sha256 = "00m0j74pqyjqal1wc28j6734rfd9zd7ajqb1p3fsdpqr16kfg56s";
|
||||
version = "6.0.15";
|
||||
sha256 = "038dcl2k88w4cijws3pdnjflgy4lmqx70z0l7yqz355kmxjz8ain";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NETStandard.Library";
|
||||
@@ -699,6 +699,11 @@
|
||||
version = "4.3.0";
|
||||
sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Reflection.Metadata";
|
||||
version = "1.6.0";
|
||||
sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "System.Reflection.Primitives";
|
||||
version = "4.0.1";
|
||||
|
||||
@@ -13,12 +13,12 @@ let
|
||||
sha256Hash = "10gpwb130bzp6a9g958cjqcb2gsm0vdgm08nm5xy45xdh54nxjfg";
|
||||
};
|
||||
betaVersion = {
|
||||
version = "2021.1.1.14"; # "Android Studio Bumblebee (2021.1.1) Beta 1"
|
||||
sha256Hash = "1j1fxl4vzq3bln2z9ycxn9imjgy55yd1nbl7ycmsi90bdp96pzj0";
|
||||
version = "2021.1.1.15"; # "Android Studio Bumblebee (2021.1.1) Beta 2"
|
||||
sha256Hash = "sha256-J+Jw9F8pEE0SMWka//jADOiQ+GSOeRf5GBfp0RDtwqA=";
|
||||
};
|
||||
latestVersion = { # canary & dev
|
||||
version = "2021.2.1.2"; # "Android Studio Chipmunk (2021.2.1) Canary 2"
|
||||
sha256Hash = "0xvn9zgn4cc9lhjynhiavmvx8bdzg4kcllmhg7xv18kp6wz4lh6z";
|
||||
version = "2021.2.1.3"; # "Android Studio Chipmunk (2021.2.1) Canary 3"
|
||||
sha256Hash = "sha256-xIVdM28NDadvJklDIw71iJ7Z5GPVJ1ZDJ+t1y+bt8cE=";
|
||||
};
|
||||
in {
|
||||
# Attributes are named by their corresponding release channels
|
||||
|
||||
@@ -5,9 +5,9 @@ let
|
||||
in
|
||||
{
|
||||
sublime4 = common {
|
||||
buildVersion = "4113";
|
||||
x64sha256 = "13679mnmigy1sgj355zs4si6gnx42rgjl4rn5d6gqgj5qq7zj3lh";
|
||||
aarch64sha256 = "0hg6g3cichma1x82963m7xwazmpdvv5zmz8rpwxs337zq7j3dmb3";
|
||||
buildVersion = "4121";
|
||||
x64sha256 = "CE/PeUV8Mg1Z2h8OWMhaemOVa95B1k2wHsht8lVPxeY=";
|
||||
aarch64sha256 = "eveEW0Aq6pim0lnQ6BfISRaBgogeofgLmOVylSVojwg=";
|
||||
} {};
|
||||
|
||||
sublime4-dev = common {
|
||||
|
||||
@@ -18,13 +18,13 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "imagemagick";
|
||||
version = "7.1.0-11";
|
||||
version = "7.1.0-13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ImageMagick";
|
||||
repo = "ImageMagick";
|
||||
rev = version;
|
||||
sha256 = "sha256-z7ZpoB8NlcS5NVyoW0ngSlakCcb5qC3bh3xDVYuWS6w=";
|
||||
sha256 = "sha256-W/XqgYOlSailHQdNBYsvf2P9go9sblWayDLrQQlekro=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "qimgv";
|
||||
version = "1.0.1";
|
||||
version = "1.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "easymodo";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1wybpmqvj7vj7cl6r4gif7mkrcdr6zpb939mmz46xsil5vb4pirh";
|
||||
sha256 = "sha256-YlV/ysm7bdPverpKpanrL+jPVvMtP1paoAm0PREMaww=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{ lib, stdenv
|
||||
, fetchurl
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, gnome
|
||||
, desktop-file-utils
|
||||
, gettext
|
||||
, itstool
|
||||
@@ -17,17 +17,21 @@
|
||||
, json-glib
|
||||
, gnome-autoar
|
||||
, gspell
|
||||
, libcanberra }:
|
||||
, libcanberra
|
||||
, nix-update-script
|
||||
}:
|
||||
|
||||
let
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-recipes";
|
||||
version = "2.0.2";
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
version = "2.0.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "1yymii3yf823d9x28fbhqdqm1wa30s40j94x0am9fjj0nzyd5s8v";
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "GNOME";
|
||||
repo = "recipes";
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
sha256 = "GyFOwEYmipQdFLtTXn7+NvhDTzxBlOAghr3cZT4QpQw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -53,10 +57,6 @@ in stdenv.mkDerivation rec {
|
||||
libcanberra
|
||||
];
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/36468
|
||||
# https://gitlab.gnome.org/GNOME/recipes/issues/76
|
||||
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
|
||||
|
||||
postPatch = ''
|
||||
chmod +x src/list_to_c.py
|
||||
patchShebangs src/list_to_c.py
|
||||
@@ -64,8 +64,8 @@ in stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
updateScript = nix-update-script {
|
||||
attrPath = pname;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -73,7 +73,7 @@ in stdenv.mkDerivation rec {
|
||||
description = "Recipe management application for GNOME";
|
||||
homepage = "https://wiki.gnome.org/Apps/Recipes";
|
||||
maintainers = teams.gnome.members;
|
||||
license = licenses.gpl3;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,26 +2,14 @@
|
||||
, stdenv
|
||||
, mkDerivation
|
||||
, fetchurl
|
||||
, ffmpeg_3
|
||||
, freetype
|
||||
, gdal_2
|
||||
, glib
|
||||
, libGL
|
||||
, libGLU
|
||||
, libICE
|
||||
, libSM
|
||||
, libXi
|
||||
, libXv
|
||||
, libav_12
|
||||
|
||||
, libXrender
|
||||
, libXrandr
|
||||
, libXfixes
|
||||
, libXcursor
|
||||
, libXinerama
|
||||
, libXext
|
||||
, libX11
|
||||
, libXcomposite
|
||||
|
||||
, libxcb
|
||||
, sqlite
|
||||
@@ -34,11 +22,8 @@
|
||||
, dbus
|
||||
, makeWrapper
|
||||
|
||||
, qtlocation
|
||||
, qtwebkit
|
||||
, qtx11extras
|
||||
, qtsensors
|
||||
, qtscript
|
||||
, cups
|
||||
, alsa-lib
|
||||
|
||||
, xkeyboardconfig
|
||||
, autoPatchelfHook
|
||||
@@ -50,49 +35,34 @@ let
|
||||
in
|
||||
mkDerivation rec {
|
||||
pname = "googleearth-pro";
|
||||
version = "7.3.3.7786";
|
||||
version = "7.3.4.8248";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.google.com/linux/earth/deb/pool/main/g/google-earth-pro-stable/google-earth-pro-stable_${version}-r0_${arch}.deb";
|
||||
sha256 = "1s3cakwrgf702g33rh8qs657d8bl68wgg8k89rksgvswwpd2zbb3";
|
||||
sha256 = "1pbapi267snlrjari5k93y6kbrjsqhqxgkxxqaqv4r25az00dx6d";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook ];
|
||||
propagatedBuildInputs = [ xkeyboardconfig ];
|
||||
buildInputs = [
|
||||
dbus
|
||||
ffmpeg_3
|
||||
cups
|
||||
fontconfig
|
||||
freetype
|
||||
gdal_2
|
||||
glib
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gstreamer
|
||||
libGL
|
||||
libGLU
|
||||
libICE
|
||||
libSM
|
||||
libX11
|
||||
libXcomposite
|
||||
libXcursor
|
||||
libXext
|
||||
libXfixes
|
||||
libXi
|
||||
libXinerama
|
||||
libXrandr
|
||||
libXrender
|
||||
libXv
|
||||
libav_12
|
||||
libproxy
|
||||
libxcb
|
||||
libxml2
|
||||
qtlocation
|
||||
qtscript
|
||||
qtsensors
|
||||
qtwebkit
|
||||
qtx11extras
|
||||
sqlite
|
||||
zlib
|
||||
alsa-lib
|
||||
];
|
||||
|
||||
doInstallCheck = true;
|
||||
@@ -131,17 +101,6 @@ mkDerivation rec {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
find "$out/opt/google/earth/pro" -name "*.so.*" | \
|
||||
egrep -v 'libssl*|libcrypto*|libicu*' | \
|
||||
xargs rm
|
||||
find "$out/opt/google/earth/pro" -name "*.so" | \
|
||||
egrep -v 'libgoogle*|libauth*|libbase*|libcommon*|libcommon_gui*|libcommon_platform*|libcommon_webbrowser*|libcomponentframework*|libgeobase*|libgeobaseutils*|libge_net*|libgdata*|libgoogleapi*|libmath*|libmoduleframework*|libmaps*|libport*|libprintmodule*|libprofile*|librender*|libreporting*|libsgutil*|libspatial*|libxsltransform*|libbase*|libport*|libport*|libbase*|libcomponentframework*|libIGCore*|libIGUtils*|libaction*|libapiloader*|libapiloader*|libIGCore*|libIGUtils*|libIGMath*|libfusioncommon*|libge_exif*|libaction*|libfusioncommon*|libapiloader*|liblayer*|libapiloader*|libIGAttrs*|libIGCore*|libIGGfx*|libIGMath*|libIGSg*|libIGUtils*|libwmsbase*|libwebbrowser*|libevllpro*|libalchemyext*|libge_cache*|libflightsim*|libnpgeinprocessplugin*|libmeasure*|libviewsync*|libcapture*|libtheme*|libgps*|libgisingest*|libsearchmodule*|libinput_plugin*|libnavigate*|libspnav*|libsearch*|libLeap*' | \
|
||||
xargs rm
|
||||
'';
|
||||
|
||||
autoPatchelfIgnoreMissingDeps=true;
|
||||
|
||||
installCheckPhase = ''
|
||||
$out/bin/gpsbabel -V > /dev/null
|
||||
'';
|
||||
@@ -159,5 +118,6 @@ mkDerivation rec {
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ friedelino shamilton ];
|
||||
platforms = platforms.linux;
|
||||
knownVulnerabilities = [ "Includes vulnerable bundled libraries." ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ssh-tools";
|
||||
version = "1.6";
|
||||
version = "1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vaporup";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0m0x9383p9ab4hdirncmrfha130iasa0v4cbif2y5nbxnxgh101r";
|
||||
sha256 = "sha256-PDoljR/e/qraPhG9RRjHx1gBIMtTJ815TZDJws8Qg6o=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
(callPackage ./generic.nix { }) {
|
||||
channel = "stable";
|
||||
version = "2.11.0";
|
||||
sha256 = "172in8vmr7c5sff111rrd5127lz2pv7bbh7p399xafnk8ri0fx2i";
|
||||
version = "2.11.1";
|
||||
sha256 = "09zwxcaqn537ls737js7rcsqarapw5k25gv41d844k73yvxm882c";
|
||||
vendorSha256 = "sha256-c3EyVrblqtFuoP7+YdbyPN0DdN6TcQ5DTtFQ/frKM0Q=";
|
||||
}
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mpop";
|
||||
version = "1.4.15";
|
||||
version = "1.4.16";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-P1KytdS8WO2TzwsRRs7k903oHCwHol7gMu+mWUZaAnA=";
|
||||
sha256 = "sha256-hw61cerm0j+5KtDITXnenDjF9iTjYUk31XS/5Jumh/k=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -9,11 +9,11 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "msmtp";
|
||||
version = "1.8.17";
|
||||
version = "1.8.18";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-D92+dMGp3PZGG0obDbPk00JmGEUAxAPX8QetQttOxNM=";
|
||||
sha256 = "sha256-FPxirzfr3MXtGaJFoF64N27+cBYRjwDJxZS8mZ1VYKU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -18,13 +18,13 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "freerdp";
|
||||
version = "2.4.0";
|
||||
version = "2.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FreeRDP";
|
||||
repo = "FreeRDP";
|
||||
rev = version;
|
||||
sha256 = "sha256-o+9twuyH9keWJriCSNkR63+xZuuOmPjoWg+Jp616CsQ=";
|
||||
sha256 = "sha256-0wwIuE6Gv8khhLAbWSHOBfHGrTUjR4f/C5bzYJpvWIQ=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -1,16 +1,32 @@
|
||||
{ lib, stdenv, fetchFromGitLab, vala, python3, pkg-config, meson, ninja, gtk3
|
||||
, json-glib, libsoup, webkitgtk, geocode-glib, nix-update-script
|
||||
, libappindicator, desktop-file-utils, appstream, wrapGAppsHook }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, nix-update-script
|
||||
, appstream
|
||||
, desktop-file-utils
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, python3
|
||||
, vala
|
||||
, wrapGAppsHook
|
||||
, glib
|
||||
, gtk3
|
||||
, json-glib
|
||||
, libappindicator
|
||||
, libsoup
|
||||
, webkitgtk
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "meteo";
|
||||
version = "0.9.8";
|
||||
version = "0.9.9";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "bitseater";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1ll5fja0dqxcr6hrh2dk4hgw9gf8ms9bcp1ifznd21byxzyhdlr0";
|
||||
sha256 = "sha256-8v6lg66QEVFMNO8sMkh/H6ouS8359Z7gjRQQnJs+lEE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -25,7 +41,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
geocode-glib
|
||||
glib
|
||||
gtk3
|
||||
json-glib
|
||||
libappindicator
|
||||
@@ -44,12 +60,12 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
meta = with lib; {
|
||||
description = "Know the forecast of the next hours & days";
|
||||
homepage = "https://gitlab.com/bitseater/meteo";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ ];
|
||||
maintainers = with maintainers; [ bobby285271 ];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "com.gitlab.bitseater.meteo";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "3.2.6";
|
||||
version = "3.3.0";
|
||||
pname = "hal-hardware-analyzer";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "emsec";
|
||||
repo = "hal";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-GRHRrAxZ10hmAXkGGSQEwNJTbnMbJ9jMyKnOUq+KoWo=";
|
||||
sha256 = "sha256-uNpELHhSAVRJL/4iypvnl3nX45SqB419r37lthd2WmQ=";
|
||||
};
|
||||
# make sure bundled dependencies don't get in the way - install also otherwise
|
||||
# copies them in full to the output, bloating the package
|
||||
|
||||
@@ -3,25 +3,25 @@
|
||||
{
|
||||
"kicad" = {
|
||||
kicadVersion = {
|
||||
version = "5.1.10";
|
||||
version = "5.1.11";
|
||||
src = {
|
||||
rev = "88a1d61d58fdd62149bd1e00984e01540148ca1b";
|
||||
sha256 = "10ix560bqy0lprnik1bprxw9ix4g8w2ipvyikx551ak9ryvgwjcc";
|
||||
rev = "d6b7f2349bcdbc45b223e7fe0460d9f169343209";
|
||||
sha256 = "03658kfd313lnvr4jihq1i72g2dfbzba8j1z2y4fxg3vrs54y7a0";
|
||||
};
|
||||
};
|
||||
libVersion = {
|
||||
version = "5.1.10";
|
||||
version = "5.1.11";
|
||||
libSources = {
|
||||
i18n.rev = "f081afe79be4660d5c49a9d674e3cb666d76d4d0";
|
||||
i18n.rev = "0b8cef6bd08818cc0360f240544733dce509da3f";
|
||||
i18n.sha256 = "0y51l0r62cnxkvpc21732p3cx7pjvaqjih8193502hlv9kv1j9p6";
|
||||
symbols.rev = "6dec5004b6a2679c19d4857bda2f90c5ab3a5726";
|
||||
symbols.sha256 = "0n25rq32jwyigfw26faqraillwv6zbi2ywy26dkz5zqlf5xp56ad";
|
||||
templates.rev = "1ccbaf3704e8ff4030d0915f71e051af621ef7d7";
|
||||
templates.sha256 = "1a8xfcbdbb4ylrb5m7n2jjk9kwvgmlx1pmnn2cwj327a2b3m4jjs";
|
||||
footprints.rev = "302ac78bac21825532f970fb92714fa5973ad79b";
|
||||
footprints.sha256 = "0gyqxryda273hjn2rv8dha461j9bjh054y5dlpiw1wiha65lrf9i";
|
||||
packages3d.rev = "7abe02f30fd79b8f4f66c01589861df7f8f72f04";
|
||||
packages3d.sha256 = "1szcin52fcsyb55bj7xq7lz6ig187dpz3lk7blwab7b9c4dn3c3y";
|
||||
symbols.rev = "7d4cbbddceafa1f69858449e16ac7229abef3c9a";
|
||||
symbols.sha256 = "1zdajim409570xzis53kmrbdcf7000v2vmc90f49h214lrx2zhr2";
|
||||
templates.rev = "f4c74f4130c8432399089c8b2dc21319b769bbe9";
|
||||
templates.sha256 = "1fbhn1l3j2rwc29aida9b408wif55i23bp9ddcs7dvf83smjm05g";
|
||||
footprints.rev = "e53d53ac4a30959b03ed3297d7659ea82244fb45";
|
||||
footprints.sha256 = "0qpii55dgv2gxqg1qq0dngdnbb9din790qi5qv0l6qqrzx843h5s";
|
||||
packages3d.rev = "be0ba9377b4ec0f11a4b9aceda150eed93027f72";
|
||||
packages3d.sha256 = "12w7m5nbk9kcnlnlg4sk1sd7xgb9i2kxfi0jcbd0phs89qyl7wjr";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ stdenv, lib, runCommand, patchelf, makeWrapper, pkg-config, curl
|
||||
, fetchpatch
|
||||
, openssl, gmp, zlib, fetchFromGitHub, rustPlatform, libiconv }:
|
||||
|
||||
let
|
||||
@@ -8,16 +7,16 @@ in
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "elan";
|
||||
version = "1.1.0";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "leanprover";
|
||||
repo = "elan";
|
||||
rev = "v${version}";
|
||||
sha256 = "0xmml81krr0i18b14dymfdq43szpzws7qj8k404qab51lkqxyxsb";
|
||||
sha256 = "0q3gay0j45c6cmykbis14gmc7xm89d0gqyz7lnysl0pgr5k20j6b";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-xjJ39hoSDn0VUH0YcL+mQBXbzFcIvZ38dPjBxV/yVNc=";
|
||||
cargoSha256 = "1cklpi40fbiwz8m9p0cknmslpj0vwpr0x8j02vam6sng9dsb50i9";
|
||||
|
||||
nativeBuildInputs = [ pkg-config makeWrapper ];
|
||||
|
||||
@@ -41,11 +40,6 @@ rustPlatform.buildRustPackage rec {
|
||||
--subst-var dynamicLinker \
|
||||
--subst-var libPath
|
||||
'')
|
||||
# fix build, will be included in 1.1.1
|
||||
(fetchpatch {
|
||||
url = "https://github.com/leanprover/elan/commit/8d1dec09d67b2ac1768b111d24f1a1cabdd563fa.patch";
|
||||
sha256 = "sha256-yMdnXqycu4VF9EKavZ85EuspvAqvzDSIm5894SB+3+A=";
|
||||
})
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
|
||||
@@ -100,6 +100,9 @@ buildPythonApplication rec {
|
||||
else "linux-package/bin";
|
||||
in
|
||||
''
|
||||
# Fontconfig error: Cannot load default config file: No such file: (null)
|
||||
export FONTCONFIG_FILE=${fontconfig.out}/etc/fonts/fonts.conf
|
||||
|
||||
env PATH="${buildBinPath}:$PATH" ${python.interpreter} test.py
|
||||
'';
|
||||
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "git-repo";
|
||||
version = "2.17.2";
|
||||
version = "2.17.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "android";
|
||||
repo = "tools_repo";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-JfT0jW6aUZAYESQI0tFfnITFv20Jk7DWbvz8Ipt4t1Y=";
|
||||
sha256 = "sha256-ez+Egl9vvfEZbeIEx7hHmH2Lhyvl93UHRkvkHaG46RQ=";
|
||||
};
|
||||
|
||||
# Fix 'NameError: name 'ssl' is not defined'
|
||||
|
||||
@@ -4,8 +4,8 @@ let
|
||||
common = opts: callPackage (import ./common.nix opts);
|
||||
in {
|
||||
sublime-merge = common {
|
||||
buildVersion = "2056";
|
||||
sha256 = "08472214kazx9fdw7y8gy0bp63mqxcpa79myn2w95wdp0mrlr119";
|
||||
buildVersion = "2063";
|
||||
sha256 = "l6vxcOIQ3kQqNzLkf3PbuU3DpDfLh0tXCl/LnJsCt2k=";
|
||||
} {};
|
||||
|
||||
sublime-merge-dev = common {
|
||||
|
||||
@@ -0,0 +1,125 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, cmake
|
||||
, libxml2
|
||||
, meson
|
||||
, ninja
|
||||
, perl
|
||||
, python3
|
||||
, pkgconf
|
||||
, wrapGAppsHook
|
||||
, at-spi2-core
|
||||
, dbus
|
||||
, elfutils
|
||||
, epoxy
|
||||
, gexiv2
|
||||
, glib
|
||||
, gobject-introspection
|
||||
, gst-plugins-base
|
||||
, gstreamer
|
||||
, gtk3
|
||||
, lcms2
|
||||
, libdatrie
|
||||
, libgphoto2
|
||||
, libgudev
|
||||
, libpeas
|
||||
, libraw
|
||||
, libselinux
|
||||
, libsepol
|
||||
, libthai
|
||||
, libunwind
|
||||
, libxkbcommon
|
||||
, orc
|
||||
, pcre
|
||||
, udev
|
||||
, util-linux
|
||||
, xorg
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "entangle";
|
||||
version = "3.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "entangle";
|
||||
repo = "entangle";
|
||||
rev = "v${version}";
|
||||
sha256 = "hz2WSDOjriQSavFlDT+35x1X5MeInq80ZrSP1WR/td0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
glib.dev
|
||||
libxml2.bin # for xmllint
|
||||
meson
|
||||
ninja
|
||||
perl # for pod2man and build scripts
|
||||
python3 # for build scripts
|
||||
pkgconf
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
at-spi2-core
|
||||
dbus
|
||||
epoxy
|
||||
elfutils
|
||||
gexiv2
|
||||
glib
|
||||
gobject-introspection
|
||||
gst-plugins-base
|
||||
gstreamer
|
||||
gtk3
|
||||
lcms2
|
||||
libdatrie
|
||||
libgphoto2
|
||||
libgudev
|
||||
libpeas
|
||||
libraw
|
||||
libselinux
|
||||
libsepol
|
||||
libthai
|
||||
libunwind
|
||||
libxkbcommon
|
||||
orc
|
||||
pcre
|
||||
udev
|
||||
util-linux
|
||||
] ++ (with xorg; [
|
||||
libXdmcp
|
||||
libXtst
|
||||
]);
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
# Disable building of doc/reference since it requires network connection to render XML to HTML
|
||||
# Patch build script shebangs
|
||||
postPatch = ''
|
||||
sed -i "/subdir('reference')/d" "docs/meson.build"
|
||||
patchShebangs --build build-aux meson_post_install.py
|
||||
sed -i meson_post_install.py \
|
||||
-e "/print('Update icon cache...')/d" \
|
||||
-e "/gtk-update-icon-cache/d"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
substituteInPlace "$out/share/applications/org.entangle_photo.Manager.desktop" \
|
||||
--replace "Exec=entangle" "Exec=$out/bin/entangle"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tethered camera control and capture";
|
||||
longDescription = ''
|
||||
Entangle uses GTK and libgphoto2 to provide a graphical interface
|
||||
for tethered photography with digital cameras.
|
||||
It includes control over camera shooting and configuration settings
|
||||
and 'hands off' shooting directly from the controlling computer.
|
||||
This app can also serve as a camera app for mobile devices.
|
||||
'';
|
||||
homepage = "https://gitlab.com/entangle/entangle";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ ShamrockLee ];
|
||||
};
|
||||
}
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "sub-batch";
|
||||
version = "0.4.0";
|
||||
version = "0.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kl";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-5fDnSmnnVB1RGrNrnmp40OGFF+OAhppnhOjVgnYxXr0=";
|
||||
sha256 = "sha256-WUW+lOGbZ82NJxmW+Ogxslf3COOp62aZ/08Yn26l4T0=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-+ufa4Cgue8o9CTB3JDcQ38SlUq8PcRDyj+qNSAFpTas=";
|
||||
cargoSha256 = "sha256-m9nBubmuuOcJyegmYGJizY/2b7oamBHKFNIaxOtikcA=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
|
||||
@@ -92,6 +92,11 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "09xz06g57wxbacic617pq9c0qb7nly42gif0raplldn5lw964xl2";
|
||||
revert = true;
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "CVE-2021-3713.patch"; # remove with next release
|
||||
url = "https://gitlab.com/qemu-project/qemu/-/commit/13b250b12ad3c59114a6a17d59caf073ce45b33a.patch";
|
||||
sha256 = "0lkzfc7gdlvj4rz9wk07fskidaqysmx8911g914ds1jnczgk71mf";
|
||||
})
|
||||
] ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch
|
||||
++ lib.optionals stdenv.hostPlatform.isMusl [
|
||||
(fetchpatch {
|
||||
|
||||
@@ -23,14 +23,14 @@ let
|
||||
buildType = "release";
|
||||
# Use maintainers/scripts/update.nix to update the version and all related hashes or
|
||||
# change the hashes in extpack.nix and guest-additions/default.nix as well manually.
|
||||
version = "6.1.26";
|
||||
version = "6.1.28";
|
||||
in stdenv.mkDerivation {
|
||||
pname = "virtualbox";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
|
||||
sha256 = "0212602eea878d6c9fd7f4a3e0182da3e4505f31d25f5539fb8f7b1fbe366195";
|
||||
sha256 = "8d34993d8e9c0cf35e7bd44dd26c8c757f17a3b7d5a64052f945d00fd798ebfe";
|
||||
};
|
||||
|
||||
outputs = [ "out" "modsrc" ];
|
||||
@@ -94,9 +94,6 @@ in stdenv.mkDerivation {
|
||||
})
|
||||
++ [
|
||||
./qtx11extras.patch
|
||||
# Temporary workaround for broken build
|
||||
# https://www.virtualbox.org/pipermail/vbox-dev/2021-July/015670.html
|
||||
./fix-configure-pkgconfig-qt.patch
|
||||
# https://github.com/NixOS/nixpkgs/issues/123851
|
||||
./fix-audio-driver-loading.patch
|
||||
];
|
||||
@@ -202,11 +199,6 @@ in stdenv.mkDerivation {
|
||||
done
|
||||
''}
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/137104
|
||||
${optionalString (enableHardening || headless) ''
|
||||
rm $libexec/components/VBoxREM.so
|
||||
''}
|
||||
|
||||
cp -rv out/linux.*/${buildType}/bin/src "$modsrc"
|
||||
'';
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ fetchurl rec {
|
||||
# Manually sha256sum the extensionPack file, must be hex!
|
||||
# Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
|
||||
# Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS
|
||||
let value = "aaa1a1f8615d5bd2e08b158ce6f415262fbb595e169e2d415c5b1844ac258eee";
|
||||
let value = "85d7858a95d802c41cb86e1b573dc501d782e5d040937e0d8505a37c29509774";
|
||||
in assert (builtins.stringLength value) == 64; value;
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
|
||||
sha256 = "22d02ec417cd7723d7269dbdaa71c48815f580c0ca7a0606c42bd623f84873d7";
|
||||
sha256 = "eab85206cfb9d7087982deb2635d19a4244a3c6783622a4817fb1a31e48e98e5";
|
||||
};
|
||||
|
||||
KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/include/iprt/mangling.h b/include/iprt/mangling.h
|
||||
index c1daa8f..8618371 100644
|
||||
index 25b918d1..1420ff1d 100644
|
||||
--- a/include/iprt/mangling.h
|
||||
+++ b/include/iprt/mangling.h
|
||||
@@ -1440,6 +1440,7 @@
|
||||
@@ -1695,6 +1695,7 @@
|
||||
# define RTPathStripSuffix RT_MANGLER(RTPathStripSuffix)
|
||||
# define RTPathStripFilename RT_MANGLER(RTPathStripFilename)
|
||||
# define RTPathStripTrailingSlash RT_MANGLER(RTPathStripTrailingSlash)
|
||||
@@ -10,7 +10,7 @@ index c1daa8f..8618371 100644
|
||||
# define RTPathTemp RT_MANGLER(RTPathTemp)
|
||||
# define RTPathTraverseList RT_MANGLER(RTPathTraverseList)
|
||||
# define RTPathUnlink RT_MANGLER(RTPathUnlink)
|
||||
@@ -1478,6 +1479,7 @@
|
||||
@@ -1734,6 +1735,7 @@
|
||||
# define RTProcGetAffinityMask RT_MANGLER(RTProcGetAffinityMask)
|
||||
# define RTProcGetExecutablePath RT_MANGLER(RTProcGetExecutablePath)
|
||||
# define RTProcGetPriority RT_MANGLER(RTProcGetPriority)
|
||||
@@ -19,13 +19,14 @@ index c1daa8f..8618371 100644
|
||||
# define RTProcQueryParent RT_MANGLER(RTProcQueryParent)
|
||||
# define RTProcQueryUsername RT_MANGLER(RTProcQueryUsername)
|
||||
diff --git a/include/iprt/path.h b/include/iprt/path.h
|
||||
index 8bd42bc..2c23d3e 100644
|
||||
index 99060e35..ccfbeb76 100644
|
||||
--- a/include/iprt/path.h
|
||||
+++ b/include/iprt/path.h
|
||||
@@ -1064,6 +1064,15 @@ RTDECL(int) RTPathCalcRelative(char *pszPathDst, size_t cbPathDst,
|
||||
@@ -1221,6 +1221,15 @@ RTDECL(int) RTPathCalcRelative(char *pszPathDst, size_t cbPathDst, const char *p
|
||||
*/
|
||||
RTDECL(int) RTPathExecDir(char *pszPath, size_t cchPath);
|
||||
|
||||
/**
|
||||
|
||||
+/**
|
||||
+ * Gets the path to the NixOS setuid wrappers directory.
|
||||
+ *
|
||||
+ * @returns iprt status code.
|
||||
@@ -34,18 +35,18 @@ index 8bd42bc..2c23d3e 100644
|
||||
+ */
|
||||
+RTDECL(int) RTPathSuidDir(char *pszPath, size_t cchPath);
|
||||
+
|
||||
+/**
|
||||
/**
|
||||
* Gets the user home directory.
|
||||
*
|
||||
* @returns iprt status code.
|
||||
diff --git a/include/iprt/process.h b/include/iprt/process.h
|
||||
index 043653e..1070280 100644
|
||||
index f4f67dd4..ab882a19 100644
|
||||
--- a/include/iprt/process.h
|
||||
+++ b/include/iprt/process.h
|
||||
@@ -327,6 +327,16 @@ RTR3DECL(const char *) RTProcShortName(void);
|
||||
@@ -352,6 +352,16 @@ RTR3DECL(const char *) RTProcExecutablePath(void);
|
||||
*/
|
||||
RTR3DECL(char *) RTProcGetExecutablePath(char *pszExecPath, size_t cbExecPath);
|
||||
|
||||
/**
|
||||
|
||||
+/**
|
||||
+ * Gets the path to the NixOS setuid wrappers directory.
|
||||
+ *
|
||||
+ * @returns pszExecPath on success. NULL on buffer overflow or other errors.
|
||||
@@ -55,15 +56,14 @@ index 043653e..1070280 100644
|
||||
+ */
|
||||
+RTR3DECL(char *) RTProcGetSuidPath(char *pszExecPath, size_t cbExecPath);
|
||||
+
|
||||
+/**
|
||||
/**
|
||||
* Daemonize the current process, making it a background process.
|
||||
*
|
||||
* The way this work is that it will spawn a detached / backgrounded /
|
||||
diff --git a/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp b/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
|
||||
index ce0f288..6193108 100644
|
||||
index 75ff8572..18a077b7 100644
|
||||
--- a/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
|
||||
+++ b/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
|
||||
@@ -1502,9 +1502,9 @@ static int supR3HardenedVerifyFsObject(PCSUPR3HARDENEDFSOBJSTATE pFsObjState, bo
|
||||
@@ -1531,9 +1531,9 @@ static int supR3HardenedVerifyFsObject(PCSUPR3HARDENEDFSOBJSTATE pFsObjState, bo
|
||||
bool fBad = !fRelaxed || pFsObjState->Stat.st_gid != 2 /*bin*/ || suplibHardenedStrCmp(pszPath, "/usr/lib/iconv");
|
||||
# else
|
||||
NOREF(fRelaxed);
|
||||
@@ -75,20 +75,46 @@ index ce0f288..6193108 100644
|
||||
return supR3HardenedSetError3(VERR_SUPLIB_WRITE_NON_SYS_GROUP, pErrInfo,
|
||||
"An unknown (and thus untrusted) group has write access to '", pszPath,
|
||||
"' and we therefore cannot trust the directory content or that of any subdirectory");
|
||||
diff --git a/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp b/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp
|
||||
index 2991d3a7..d042a08b 100644
|
||||
--- a/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp
|
||||
+++ b/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp
|
||||
@@ -90,7 +90,7 @@ int MachineLaunchVMCommonWorker(const Utf8Str &aNameOrId,
|
||||
|
||||
/* Get the path to the executable directory w/ trailing slash: */
|
||||
char szPath[RTPATH_MAX];
|
||||
- int vrc = RTPathAppPrivateArch(szPath, sizeof(szPath));
|
||||
+ int vrc = RTStrCopy(szPath, sizeof(szPath) - 1, "/run/wrappers/bin");
|
||||
AssertRCReturn(vrc, vrc);
|
||||
size_t cbBufLeft = RTPathEnsureTrailingSeparator(szPath, sizeof(szPath));
|
||||
AssertReturn(cbBufLeft > 0, VERR_FILENAME_TOO_LONG);
|
||||
diff --git a/src/VBox/Main/src-server/NetworkServiceRunner.cpp b/src/VBox/Main/src-server/NetworkServiceRunner.cpp
|
||||
index 2e57690a..3272c840 100644
|
||||
--- a/src/VBox/Main/src-server/NetworkServiceRunner.cpp
|
||||
+++ b/src/VBox/Main/src-server/NetworkServiceRunner.cpp
|
||||
@@ -188,7 +188,7 @@ int NetworkServiceRunner::start(bool aKillProcessOnStop)
|
||||
* ASSUME it is relative to the directory that holds VBoxSVC.
|
||||
*/
|
||||
char szExePath[RTPATH_MAX];
|
||||
- AssertReturn(RTProcGetExecutablePath(szExePath, RTPATH_MAX), VERR_FILENAME_TOO_LONG);
|
||||
+ AssertReturn(RTProcGetSuidPath(szExePath, RTPATH_MAX), VERR_FILENAME_TOO_LONG);
|
||||
RTPathStripFilename(szExePath);
|
||||
int vrc = RTPathAppend(szExePath, sizeof(szExePath), m->pszProcName);
|
||||
AssertLogRelRCReturn(vrc, vrc);
|
||||
diff --git a/src/VBox/Main/src-server/generic/NetIf-generic.cpp b/src/VBox/Main/src-server/generic/NetIf-generic.cpp
|
||||
index 98dc91a..43a819f 100644
|
||||
index af155966..3b8e793d 100644
|
||||
--- a/src/VBox/Main/src-server/generic/NetIf-generic.cpp
|
||||
+++ b/src/VBox/Main/src-server/generic/NetIf-generic.cpp
|
||||
@@ -47,7 +47,7 @@ static int NetIfAdpCtl(const char * pcszIfName, const char *pszAddr, const char
|
||||
@@ -48,7 +48,7 @@ static int NetIfAdpCtl(const char * pcszIfName, const char *pszAddr, const char
|
||||
const char *args[] = { NULL, pcszIfName, pszAddr, pszOption, pszMask, NULL };
|
||||
|
||||
|
||||
char szAdpCtl[RTPATH_MAX];
|
||||
- int rc = RTPathExecDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME));
|
||||
+ int rc = RTPathSuidDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME));
|
||||
if (RT_FAILURE(rc))
|
||||
{
|
||||
LogRel(("NetIfAdpCtl: failed to get program path, rc=%Rrc.\n", rc));
|
||||
@@ -89,7 +89,7 @@ static int NetIfAdpCtl(HostNetworkInterface * pIf, const char *pszAddr, const ch
|
||||
@@ -95,7 +95,7 @@ static int NetIfAdpCtl(HostNetworkInterface * pIf, const char *pszAddr, const ch
|
||||
int NetIfAdpCtlOut(const char * pcszName, const char * pcszCmd, char *pszBuffer, size_t cBufSize)
|
||||
{
|
||||
char szAdpCtl[RTPATH_MAX];
|
||||
@@ -97,23 +123,23 @@ index 98dc91a..43a819f 100644
|
||||
if (RT_FAILURE(rc))
|
||||
{
|
||||
LogRel(("NetIfAdpCtlOut: Failed to get program path, rc=%Rrc\n", rc));
|
||||
@@ -201,7 +201,7 @@ int NetIfCreateHostOnlyNetworkInterface(VirtualBox *pVirtualBox,
|
||||
@@ -210,7 +210,7 @@ int NetIfCreateHostOnlyNetworkInterface(VirtualBox *pVirtualBox,
|
||||
progress.queryInterfaceTo(aProgress);
|
||||
|
||||
|
||||
char szAdpCtl[RTPATH_MAX];
|
||||
- int rc = RTPathExecDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME " add"));
|
||||
+ int rc = RTPathSuidDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME " add"));
|
||||
if (RT_FAILURE(rc))
|
||||
- vrc = RTPathExecDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME " add"));
|
||||
+ vrc = RTPathSuidDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME " add"));
|
||||
if (RT_FAILURE(vrc))
|
||||
{
|
||||
progress->i_notifyComplete(E_FAIL,
|
||||
diff --git a/src/VBox/Runtime/r3/path.cpp b/src/VBox/Runtime/r3/path.cpp
|
||||
index 944848e..744a261 100644
|
||||
index 4b1a0ada..7f6dd707 100644
|
||||
--- a/src/VBox/Runtime/r3/path.cpp
|
||||
+++ b/src/VBox/Runtime/r3/path.cpp
|
||||
@@ -81,6 +81,12 @@ RTDECL(int) RTPathExecDir(char *pszPath, size_t cchPath)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+RTDECL(int) RTPathSuidDir(char *pszPath, size_t cchPath)
|
||||
+{
|
||||
+ return RTStrCopy(pszPath, cchPath, "/run/wrappers/bin");
|
||||
@@ -124,13 +150,13 @@ index 944848e..744a261 100644
|
||||
{
|
||||
#if !defined(RT_OS_WINDOWS) && defined(RTPATH_APP_PRIVATE)
|
||||
diff --git a/src/VBox/Runtime/r3/process.cpp b/src/VBox/Runtime/r3/process.cpp
|
||||
index 2aab645..9795f21 100644
|
||||
index 5f7c7a87..59461cfa 100644
|
||||
--- a/src/VBox/Runtime/r3/process.cpp
|
||||
+++ b/src/VBox/Runtime/r3/process.cpp
|
||||
@@ -111,6 +111,26 @@ RTR3DECL(char *) RTProcGetExecutablePath(char *pszExecPath, size_t cbExecPath)
|
||||
return NULL;
|
||||
@@ -117,6 +117,25 @@ RTR3DECL(const char *) RTProcExecutablePath(void)
|
||||
return g_szrtProcExePath;
|
||||
}
|
||||
|
||||
|
||||
+/*
|
||||
+ * Note the / at the end! This is important, because the functions using this
|
||||
+ * will cut off everything after the rightmost / as this function is analogous
|
||||
@@ -150,33 +176,6 @@ index 2aab645..9795f21 100644
|
||||
+ AssertMsgFailed(("Buffer too small (%zu <= %zu)\n", cbExecPath, sizeof(SUIDDIR)));
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
|
||||
|
||||
RTR3DECL(const char *) RTProcShortName(void)
|
||||
{
|
||||
diff --git a/src/VBox/Main/src-server/NetworkServiceRunner.cpp b/src/VBox/Main/src-server/NetworkServiceRunner.cpp
|
||||
index 2e57690..3272c84 100644
|
||||
--- a/src/VBox/Main/src-server/NetworkServiceRunner.cpp
|
||||
+++ b/src/VBox/Main/src-server/NetworkServiceRunner.cpp
|
||||
@@ -188,7 +188,7 @@ int NetworkServiceRunner::start(bool aKillProcessOnStop)
|
||||
* ASSUME it is relative to the directory that holds VBoxSVC.
|
||||
*/
|
||||
char szExePath[RTPATH_MAX];
|
||||
- AssertReturn(RTProcGetExecutablePath(szExePath, RTPATH_MAX), VERR_FILENAME_TOO_LONG);
|
||||
+ AssertReturn(RTProcGetSuidPath(szExePath, RTPATH_MAX), VERR_FILENAME_TOO_LONG);
|
||||
RTPathStripFilename(szExePath);
|
||||
int vrc = RTPathAppend(szExePath, sizeof(szExePath), m->pszProcName);
|
||||
AssertLogRelRCReturn(vrc, vrc);
|
||||
diff --git a/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp b/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp
|
||||
index 2991d3a7..d042a08b 100644
|
||||
--- a/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp
|
||||
+++ b/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp
|
||||
@@ -90,7 +90,7 @@ int MachineLaunchVMCommonWorker(const Utf8Str &aNameOrId,
|
||||
|
||||
/* Get the path to the executable directory w/ trailing slash: */
|
||||
char szPath[RTPATH_MAX];
|
||||
- int vrc = RTPathAppPrivateArch(szPath, sizeof(szPath));
|
||||
+ int vrc = RTStrCopy(szPath, sizeof(szPath) - 1, "/run/wrappers/bin");
|
||||
AssertRCReturn(vrc, vrc);
|
||||
size_t cbBufLeft = RTPathEnsureTrailingSeparator(szPath, sizeof(szPath));
|
||||
AssertReturn(cbBufLeft > 0, VERR_FILENAME_TOO_LONG);
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "i3";
|
||||
version = "4.19.2";
|
||||
version = "4.20";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://i3wm.org/downloads/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-im7hd2idzyKWTSC2CTAU7k+gQZNF0/1RXVUS2ZgLsnk=";
|
||||
sha256 = "sha256-jPTxdPbPVU84VjOAaBq+JYaOmVWIN5HgmG7NicU6wyI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -6,16 +6,16 @@ in
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "leftwm";
|
||||
version = "0.2.8";
|
||||
version = "0.2.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "leftwm";
|
||||
repo = "leftwm";
|
||||
rev = version;
|
||||
sha256 = "sha256-T4A9NGT6sUSTKmLcAWjcp3Y8QQzZFAVSXevXtGm3szY=";
|
||||
sha256 = "sha256:0w4afhrp2cxz0nmpvalyaxz1dpywajjj2wschw8dpkvgxqs64gd5";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-2prRtdBxpYc2xI/bLZNlqs3mxESfO9GhNUSlKFF//eE=";
|
||||
cargoSha256 = "sha256:0r0smpv50gim2naaa0qf6yhvqvsa2f40rkgiryi686y69m5ii7mv";
|
||||
|
||||
buildInputs = rpathLibs;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{ lib, fetchzip }:
|
||||
|
||||
let
|
||||
version = "5.1.3";
|
||||
version = "6.0.0";
|
||||
|
||||
in fetchzip {
|
||||
name = "ibm-plex-${version}";
|
||||
@@ -10,14 +10,15 @@ in fetchzip {
|
||||
|
||||
postFetch = ''
|
||||
mkdir -p $out/share/fonts
|
||||
unzip -j $downloadedFile "OpenType/*/*.otf" -d $out/share/fonts/opentype
|
||||
unzip -j $downloadedFile "OpenType/*/*.otf" -x "OpenType/IBM-Plex-Sans-JP/unhinted/*" -d $out/share/fonts/opentype
|
||||
'';
|
||||
|
||||
sha256 = "0w07fkhav2lqdyki7ipnkpji5ngwarlhsyliy0ip7cd29x24ys5h";
|
||||
sha256 = "0zv9kw4hmchf374pl0iajzybmx5wklsplg56j115m46i4spij6mr";
|
||||
|
||||
meta = with lib; {
|
||||
description = "IBM Plex Typeface";
|
||||
homepage = "https://www.ibm.com/plex/";
|
||||
changelog = "https://github.com/IBM/plex/raw/v${version}/CHANGELOG.md";
|
||||
license = licenses.ofl;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
|
||||
@@ -1,26 +1,27 @@
|
||||
{ lib, fetchurl, libarchive }:
|
||||
|
||||
let
|
||||
version = "0.32.9";
|
||||
version = "0.34.7";
|
||||
in fetchurl {
|
||||
name = "sarasa-gothic-${version}";
|
||||
|
||||
url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
|
||||
sha256 = "0mwaj9dq26f36ddywjm7m0is1jml2kpmqm46b16c8avvr97c65z5";
|
||||
url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttf-${version}.7z";
|
||||
sha256 = "094sl6gklrdv9pk4r6451dvz0fjyjmwys7i81qrz4ik1km5dfq9b";
|
||||
|
||||
recursiveHash = true;
|
||||
downloadToTemp = true;
|
||||
|
||||
postFetch = ''
|
||||
mkdir -p $out/share/fonts
|
||||
${libarchive}/bin/bsdtar -xf $downloadedFile -C $out/share/fonts
|
||||
mkdir -p $out/share/fonts/truetype
|
||||
${libarchive}/bin/bsdtar -xf $downloadedFile -C $out/share/fonts/truetype
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "SARASA GOTHIC is a Chinese & Japanese programming font based on Iosevka and Source Han Sans";
|
||||
description = "A CJK programming font based on Iosevka and Source Han Sans";
|
||||
homepage = "https://github.com/be5invis/Sarasa-Gothic";
|
||||
license = licenses.ofl;
|
||||
maintainers = [ maintainers.ChengCat ];
|
||||
hydraPlatforms = [ ]; # disabled from hydra because it's so big
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
let
|
||||
pname = "source-han-code-jp";
|
||||
version = "2.011R";
|
||||
version = "2.012R";
|
||||
in fetchzip {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
@@ -13,7 +13,7 @@ in fetchzip {
|
||||
unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
|
||||
'';
|
||||
|
||||
sha256 = "184vrjkymcm29k1cx00cdvjchzqr1w17925lmh85f0frx7vwljcd";
|
||||
sha256 = "16y5as1k864ghy3vzp8svr3q0sw57rv53za3f48700ksvxz5pwry";
|
||||
|
||||
meta = {
|
||||
description = "A monospaced Latin font suitable for coding";
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
{ lib, fetchFromGitHub }:
|
||||
{ lib, fetchzip }:
|
||||
|
||||
let
|
||||
pname = "victor-mono";
|
||||
version = "1.4.1";
|
||||
in fetchFromGitHub rec {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
owner = "rubjo";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
version = "1.5.0";
|
||||
in
|
||||
fetchzip {
|
||||
name = "victor-mono-${version}";
|
||||
|
||||
# Upstream prefers we download from the website,
|
||||
# but we really insist on a more versioned resource.
|
||||
@@ -17,23 +13,21 @@ in fetchFromGitHub rec {
|
||||
# so we extract it from the tagged release.
|
||||
# Both methods produce the same file, but this way
|
||||
# we can safely reason about what version it is.
|
||||
url = "https://github.com/rubjo/victor-mono/raw/v${version}/public/VictorMonoAll.zip";
|
||||
|
||||
postFetch = ''
|
||||
tar xvf $downloadedFile --strip-components=2 ${pname}-${version}/public/VictorMonoAll.zip
|
||||
|
||||
mkdir -p $out/share/fonts/{true,open}type/${pname}
|
||||
|
||||
unzip -j VictorMonoAll.zip \*.ttf -d $out/share/fonts/truetype/${pname}
|
||||
unzip -j VictorMonoAll.zip \*.otf -d $out/share/fonts/opentype/${pname}
|
||||
mkdir -p $out/share/fonts/
|
||||
unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
|
||||
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
|
||||
'';
|
||||
|
||||
sha256 = "1g3jjrqd2fiw2hdifhff2fn20p5a0xfma3964f67ibdyri976zq5";
|
||||
sha256 = "1x3dnkq8awn5zniywap78qwp5nxmf14bq8snzsywk70ah0jmbawi";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Free programming font with cursive italics and ligatures";
|
||||
homepage = "https://rubjo.github.io/victor-mono";
|
||||
license = with licenses; [ mit ];
|
||||
license = licenses.ofl;
|
||||
maintainers = with maintainers; [ jpotier dtzWill ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "numix-icon-theme";
|
||||
version = "21.04.14";
|
||||
version = "21.10.31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "numixproject";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1ilzqh9f7skdfg5sl97zfgwrzvwa1zna22dpq0954gyyzvy7k7lg";
|
||||
sha256 = "sha256-wyVvXifdbKR2aiBMrki8y/H0khH4eFD1RHVSC+jAT28=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gtk3 ];
|
||||
|
||||
@@ -29,11 +29,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-maps";
|
||||
version = "41.0";
|
||||
version = "41.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-G0CC22wHDp3LCFJZ6+PIpCG44eiyezKEq2BXULudjJI=";
|
||||
sha256 = "sha256-XtyUpXlHDO1HztKSxUq6Z8vnBIGOF0BsCQwB1Dlb4a0=";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
|
||||
@@ -22,11 +22,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-remote-desktop";
|
||||
version = "41.0";
|
||||
version = "41.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-apvIscaHRvSjqsH+dMRKcuJqi7S+HxynMCdwWstlK14=";
|
||||
hash = "sha256-wOiJsO2BGxGAm777FzOElNj1L/USC+bj/9O65angX98=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -27,11 +27,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-terminal";
|
||||
version = "3.42.0";
|
||||
version = "3.42.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-terminal/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "tQ6eVmQjDmyikLzziBKltl4LqsZqSG7iEIlM9nX3Lgs=";
|
||||
sha256 = "wxmxQFUBuMdpPmFvSOztQWldLnhhSMpfnie8fZj0rrE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -34,13 +34,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nautilus";
|
||||
version = "41.0";
|
||||
version = "41.1";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "+blBrcEEcAxn6kB2YiMV8fa3fc7BVMN/PUwLKDlQoeU=";
|
||||
sha256 = "PmMwmIU3EaPpaxL+kiizIBgW5VSygj8WHn2QGoiAWC8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -19,14 +19,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aisleriot";
|
||||
version = "3.22.17";
|
||||
version = "3.22.19";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "GNOME";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-14z/EdEz1XFDrQZlpoeHW73G187XuZX/uQXp+bAUsmI=";
|
||||
sha256 = "sha256-YY0/HkafcbbW0xuE9RmjYMHN50lM0o0zugOyTefT0bE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -19,11 +19,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-chess";
|
||||
version = "41.0";
|
||||
version = "41.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-chess/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "8MKVFSLw5YX6aDdipBk9q2ujLtjOiSB/gIJ7VgRVaO8=";
|
||||
sha256 = "62GYhlljlrQDOj8oo8LjAEtU6+Gzi0DWQiwXufLMF9A=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -20,11 +20,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tali";
|
||||
version = "40.3";
|
||||
version = "40.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/tali/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "neLxCreZjHprLKYvs3nBgby8HtYqp6gkG8VVHVF4/iE=";
|
||||
sha256 = "AsrMdvTuQjD2eqAK2hlOnFSPidJ6DnLyANi9U67nGhc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
@@ -15,28 +14,15 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-autoar";
|
||||
version = "0.4.0";
|
||||
version = "0.4.1";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-autoar/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "6oxtUkurxxKsWeHQ46yL8BN0gtrfM8lP6RE3lKG8RHQ=";
|
||||
sha256 = "ZGvVDrrZLZHBvokJehU2QVYVdELKwUcd7X7LJ9mpFQ4=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Make compatible with older Meson.
|
||||
# https://gitlab.gnome.org/GNOME/gnome-autoar/-/merge_requests/26
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-autoar/-/commit/2d90da6174c03aad546802234a3d77fa0b714e6b.patch";
|
||||
sha256 = "CysDpBJmVPm4gOSV2h041MY2yApfAy8+4QC7Jlka1xE=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-autoar/-/commit/ac21bd0c50584a1905a0da65d4bf9a6926ecd483.patch";
|
||||
sha256 = "aTu6eKFSKjljk0TYkhFjPcD8eJCIk8TR0YhZYO9JE1k=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
gobject-introspection
|
||||
meson
|
||||
|
||||
@@ -14,11 +14,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libgnome-games-support";
|
||||
version = "1.8.1";
|
||||
version = "1.8.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0gs1k88wwafn5cdyb5yq1cxpi9azachb0ysxgwh15sx77g6plyy3";
|
||||
sha256 = "KENGBKewOHMawCMXMTiP8QT1ZbsjMMwk54zaBM/T730=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
mkXfceDerivation {
|
||||
category = "apps";
|
||||
pname = "xfdashboard";
|
||||
version = "0.9.4";
|
||||
version = "0.9.5";
|
||||
rev-prefix = "";
|
||||
odd-unstable = false;
|
||||
|
||||
sha256 = "sha256-ZDrBLSfRBw5/nIs/x1jJQCVgNJer85b8Hm1kkX1Dk3s=";
|
||||
sha256 = "sha256-nb1zY78MUjEOJF59MYIOY1rxo3JFmzH9yTJVUGsOwOA=";
|
||||
|
||||
buildInputs = [
|
||||
clutter
|
||||
|
||||
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
disallowedReferences = [ stdenv.cc.cc ];
|
||||
postFixup = ''
|
||||
remove-references-to -t ${stdenv.cc.cc} "$(readlink -f $out/share/perl6/runtime/dynext/libperl6_ops_moar.so)"
|
||||
remove-references-to -t ${stdenv.cc.cc} "$(readlink -f $out/share/perl6/runtime/dynext/libperl6_ops_moar${stdenv.hostPlatform.extensions.sharedLibrary})"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dleyna-renderer";
|
||||
version = "0.7.1";
|
||||
version = "0.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "phako";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "EaTE5teMkVDHoJuTLdqcsIL7OyM+tOz85T5D9V3KDoo=";
|
||||
sha256 = "sha256-bGasT3XCa7QHV3D7z59TSHoqWksNSIgaO0z9zYfHHuw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dleyna-server";
|
||||
version = "0.7.1";
|
||||
version = "0.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "phako";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "bScgwJGPrCaLrw67WnvSpINgq5Vv9LJ/I0MUP9BeO2E=";
|
||||
sha256 = "sha256-jlF9Lr/NG+Fsy/bB7aLb7xOLqel8GueJK5luo9rsDME=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.4.1";
|
||||
version = "1.4.3";
|
||||
pname = "draco";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "draco";
|
||||
rev = version;
|
||||
sha256 = "14ln4la52x38pf8syr7i5v4vd65ya4zij8zj5kgihah03cih0qcd";
|
||||
sha256 = "sha256-eSu6tkWbRHzJkWwPgljaScAuL0gRkp8PJUHWC8mUvOw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
@@ -22,6 +22,12 @@ stdenv.mkDerivation rec {
|
||||
"-DBUILD_UNITY_PLUGIN=1"
|
||||
];
|
||||
|
||||
# Upstream mistakenly installs to /nix/store/.../nix/store/.../*, work around that
|
||||
postInstall = ''
|
||||
mv $out/nix/store/*/* $out
|
||||
rm -rf $out/nix
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library for compressing and decompressing 3D geometric meshes and point clouds";
|
||||
homepage = "https://google.github.io/draco/";
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "drogon";
|
||||
version = "1.7.2";
|
||||
version = "1.7.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "drogonframework";
|
||||
repo = "drogon";
|
||||
rev = "v${version}";
|
||||
sha256 = "0g2fm8xb2gi7qaib6mxvg6k6y4g2d0a2jg4k5qvsjbd0n7j8746j";
|
||||
sha256 = "0j7bnc6l5hbcf0l7pjzw82i9z1rbh57ni60wpa50q10gwbm4waxn";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 66791f3a..93b5e2a9 100644
|
||||
index 71c2e35e9..a0f380c04 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -172,6 +172,9 @@ option('udev',
|
||||
@@ -176,6 +176,9 @@ option('udev',
|
||||
option('udevrulesdir',
|
||||
type : 'string',
|
||||
description : 'Directory for udev rules (defaults to /lib/udev/rules.d)')
|
||||
@@ -13,7 +13,7 @@ index 66791f3a..93b5e2a9 100644
|
||||
type : 'string',
|
||||
description : 'Directory for user systemd units (defaults to /usr/lib/systemd/user)')
|
||||
diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
|
||||
index aa30a86f..1edebb2d 100644
|
||||
index 5bd134537..5a3ca9ed5 100644
|
||||
--- a/src/daemon/systemd/user/meson.build
|
||||
+++ b/src/daemon/systemd/user/meson.build
|
||||
@@ -9,7 +9,7 @@ install_data(
|
||||
@@ -22,6 +22,6 @@ index aa30a86f..1edebb2d 100644
|
||||
systemd_config.set('PW_BINARY', pipewire_bindir / 'pipewire')
|
||||
-systemd_config.set('PW_PULSE_BINARY', pipewire_bindir / 'pipewire-pulse')
|
||||
+systemd_config.set('PW_PULSE_BINARY', get_option('pipewire_pulse_prefix') / 'bin/pipewire-pulse')
|
||||
systemd_config.set('PW_MEDIA_SESSION_BINARY', pipewire_bindir / 'pipewire-media-session')
|
||||
|
||||
configure_file(input : 'pipewire.service.in',
|
||||
output : 'pipewire.service',
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 93b5e2a9..1b915ac3 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -200,3 +200,6 @@ option('media-session',
|
||||
type: 'feature',
|
||||
value: 'auto')
|
||||
+option('media-session-prefix',
|
||||
+ description: 'Install directory for pipewire-media-session and its support files',
|
||||
+ type: 'string')
|
||||
option('session-managers',
|
||||
diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
|
||||
index 1edebb2d..251270eb 100644
|
||||
--- a/src/daemon/systemd/user/meson.build
|
||||
+++ b/src/daemon/systemd/user/meson.build
|
||||
@@ -10,7 +10,7 @@ install_data(
|
||||
systemd_config = configuration_data()
|
||||
systemd_config.set('PW_BINARY', pipewire_bindir / 'pipewire')
|
||||
systemd_config.set('PW_PULSE_BINARY', get_option('pipewire_pulse_prefix') / 'bin/pipewire-pulse')
|
||||
-systemd_config.set('PW_MEDIA_SESSION_BINARY', pipewire_bindir / 'pipewire-media-session')
|
||||
+systemd_config.set('PW_MEDIA_SESSION_BINARY', get_option('media-session-prefix') / 'bin/pipewire-media-session')
|
||||
|
||||
configure_file(input : 'pipewire.service.in',
|
||||
output : 'pipewire.service',
|
||||
@@ -63,7 +63,7 @@ let
|
||||
|
||||
self = stdenv.mkDerivation rec {
|
||||
pname = "pipewire";
|
||||
version = "0.3.38";
|
||||
version = "0.3.39";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -73,7 +73,6 @@ let
|
||||
"dev"
|
||||
"doc"
|
||||
"man"
|
||||
"mediaSession"
|
||||
"installedTests"
|
||||
];
|
||||
|
||||
@@ -82,7 +81,7 @@ let
|
||||
owner = "pipewire";
|
||||
repo = "pipewire";
|
||||
rev = version;
|
||||
sha256 = "sha256-QENz4MVyKuPJynA+NBdmKa6g1GrcRg9vzXLJ1/i3VJU=";
|
||||
sha256 = "sha256-peTS1+NuQxZg1rrv8DrnJW5BR9yReleqooIwhZWHLjM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -90,8 +89,6 @@ let
|
||||
./0040-alsa-profiles-use-libdir.patch
|
||||
# Change the path of the pipewire-pulse binary in the service definition.
|
||||
./0050-pipewire-pulse-path.patch
|
||||
# Change the path of the pipewire-media-session binary in the service definition.
|
||||
./0055-pipewire-media-session-path.patch
|
||||
# Move installed tests into their own output.
|
||||
./0070-installed-tests-path.patch
|
||||
# Add option for changing the config install directory
|
||||
@@ -100,11 +97,11 @@ let
|
||||
./0090-pipewire-config-template-paths.patch
|
||||
# Place SPA data files in lib output to avoid dependency cycles
|
||||
./0095-spa-data-dir.patch
|
||||
# Fix compilation on AArch64
|
||||
# Fix compilation on some architectures
|
||||
# XXX: REMOVE ON NEXT RELEASE
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/f8817b439433798bd7217dc4ae72197887b0fc96.diff";
|
||||
sha256 = "0j4xds01h20mc606xp90h5v56kf17hf7n06k0xfa9qmmmfrh7i04";
|
||||
url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/651f0decea5f83730c271e9bed03cdd0048fcd49.diff";
|
||||
sha256 = "1bmpi5qn750mcspaw7m57ww0503sl9781jswqby4gr0f7c5wmqvj";
|
||||
})
|
||||
];
|
||||
|
||||
@@ -147,7 +144,6 @@ let
|
||||
"-Dinstalled_tests=enabled"
|
||||
"-Dinstalled_test_prefix=${placeholder "installedTests"}"
|
||||
"-Dpipewire_pulse_prefix=${placeholder "pulse"}"
|
||||
"-Dmedia-session-prefix=${placeholder "mediaSession"}"
|
||||
"-Dlibjack-path=${placeholder "jack"}/lib"
|
||||
"-Dlibcamera=${mesonEnable libcameraSupport}"
|
||||
"-Droc=disabled"
|
||||
@@ -162,7 +158,8 @@ let
|
||||
"-Dbluez5-backend-hsphfpd=${mesonEnable hsphfpdSupport}"
|
||||
"-Dsysconfdir=/etc"
|
||||
"-Dpipewire_confdata_dir=${placeholder "lib"}/share/pipewire"
|
||||
"-Dsession-managers=${mesonList (lib.optional withMediaSession "media-session")}"
|
||||
"-Dsession-managers="
|
||||
"-Dvulkan=enabled"
|
||||
];
|
||||
|
||||
FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
|
||||
@@ -171,29 +168,20 @@ let
|
||||
|
||||
postUnpack = ''
|
||||
patchShebangs source/doc/strip-static.sh
|
||||
patchShebangs source/doc/input-filter.sh
|
||||
patchShebangs source/doc/input-filter-h.sh
|
||||
patchShebangs source/spa/tests/gen-cpp-test.py
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
pushd $lib/share
|
||||
mkdir -p $out/nix-support/etc/pipewire
|
||||
for f in pipewire/*.conf; do
|
||||
mkdir $out/nix-support
|
||||
pushd $lib/share/pipewire
|
||||
for f in *.conf; do
|
||||
echo "Generating JSON from $f"
|
||||
$out/bin/spa-json-dump "$f" > "$out/nix-support/etc/$f.json"
|
||||
done
|
||||
|
||||
mkdir -p $mediaSession/nix-support/etc/pipewire/media-session.d
|
||||
for f in pipewire/media-session.d/*.conf; do
|
||||
echo "Generating JSON from $f"
|
||||
$out/bin/spa-json-dump "$f" > "$mediaSession/nix-support/etc/$f.json"
|
||||
$out/bin/spa-json-dump "$f" > "$out/nix-support/$f.json"
|
||||
done
|
||||
popd
|
||||
|
||||
moveToOutput "share/pipewire/media-session.d/*.conf" "$mediaSession"
|
||||
moveToOutput "share/systemd/user/pipewire-media-session.*" "$mediaSession"
|
||||
moveToOutput "lib/systemd/user/pipewire-media-session.*" "$mediaSession"
|
||||
moveToOutput "bin/pipewire-media-session" "$mediaSession"
|
||||
|
||||
moveToOutput "share/systemd/user/pipewire-pulse.*" "$pulse"
|
||||
moveToOutput "lib/systemd/user/pipewire-pulse.*" "$pulse"
|
||||
moveToOutput "bin/pipewire-pulse" "$pulse"
|
||||
@@ -205,21 +193,14 @@ let
|
||||
installedTests = nixosTests.installed-tests.pipewire;
|
||||
|
||||
# This ensures that all the paths used by the NixOS module are found.
|
||||
test-paths = callPackage ./test-paths.nix {
|
||||
test-paths = callPackage ./test-paths.nix { package = self; } {
|
||||
paths-out = [
|
||||
"share/alsa/alsa.conf.d/50-pipewire.conf"
|
||||
"nix-support/etc/pipewire/client-rt.conf.json"
|
||||
"nix-support/etc/pipewire/client.conf.json"
|
||||
"nix-support/etc/pipewire/jack.conf.json"
|
||||
"nix-support/etc/pipewire/pipewire.conf.json"
|
||||
"nix-support/etc/pipewire/pipewire-pulse.conf.json"
|
||||
];
|
||||
paths-out-media-session = [
|
||||
"nix-support/etc/pipewire/media-session.d/alsa-monitor.conf.json"
|
||||
"nix-support/etc/pipewire/media-session.d/bluez-monitor.conf.json"
|
||||
"nix-support/etc/pipewire/media-session.d/bluez-hardware.conf.json"
|
||||
"nix-support/etc/pipewire/media-session.d/media-session.conf.json"
|
||||
"nix-support/etc/pipewire/media-session.d/v4l2-monitor.conf.json"
|
||||
"nix-support/client-rt.conf.json"
|
||||
"nix-support/client.conf.json"
|
||||
"nix-support/jack.conf.json"
|
||||
"nix-support/pipewire.conf.json"
|
||||
"nix-support/pipewire-pulse.conf.json"
|
||||
];
|
||||
paths-lib = [
|
||||
"lib/alsa-lib/libasound_module_pcm_pipewire.so"
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, doxygen
|
||||
, graphviz
|
||||
, systemd
|
||||
, pipewire
|
||||
, glib
|
||||
, dbus
|
||||
, alsa-lib
|
||||
, callPackage
|
||||
}:
|
||||
|
||||
let
|
||||
mesonEnable = b: if b then "enabled" else "disabled";
|
||||
mesonList = l: "[" + lib.concatStringsSep "," l + "]";
|
||||
|
||||
self = stdenv.mkDerivation rec {
|
||||
pname = "pipewire-media-session";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "pipewire";
|
||||
repo = "media-session";
|
||||
rev = version;
|
||||
sha256 = "sha256-zhOvBlG7DuQkJ+ZZBhBhfKwk+bbLljpt3w4JlK3cJLk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
doxygen
|
||||
graphviz
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
dbus
|
||||
glib
|
||||
pipewire
|
||||
systemd
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Ddocs=enabled"
|
||||
# We generate these empty files from the nixos module, don't bother installing them
|
||||
"-Dwith-module-sets=[]"
|
||||
];
|
||||
|
||||
postUnpack = ''
|
||||
patchShebangs source/doc/input-filter-h.sh
|
||||
patchShebangs source/doc/input-filter.sh
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir $out/nix-support
|
||||
cd $out/share/pipewire/media-session.d
|
||||
for f in *.conf; do
|
||||
echo "Generating JSON from $f"
|
||||
${pipewire}/bin/spa-json-dump "$f" > "$out/nix-support/$f.json"
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
test-paths = callPackage ./test-paths.nix { package = self; } {
|
||||
paths-out = [
|
||||
"nix-support/alsa-monitor.conf.json"
|
||||
"nix-support/bluez-monitor.conf.json"
|
||||
"nix-support/media-session.conf.json"
|
||||
"nix-support/v4l2-monitor.conf.json"
|
||||
];
|
||||
paths-lib = [];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Example session manager for PipeWire";
|
||||
homepage = "https://pipewire.org";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ jtojnar kranzes ];
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
self
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, runCommand, pipewire, paths-out, paths-lib, paths-out-media-session }:
|
||||
{ lib, runCommand, package, paths-out, paths-lib }:
|
||||
|
||||
let
|
||||
check-path = output: path: ''
|
||||
@@ -14,9 +14,8 @@ let
|
||||
in runCommand "pipewire-test-paths" { } ''
|
||||
touch $out
|
||||
|
||||
${check-output pipewire.mediaSession paths-out-media-session}
|
||||
${check-output pipewire.lib paths-lib}
|
||||
${check-output pipewire paths-out}
|
||||
${check-output package.lib paths-lib}
|
||||
${check-output package paths-out}
|
||||
|
||||
if [[ -n "$error" ]]; then
|
||||
exit 1
|
||||
|
||||
@@ -11,14 +11,27 @@ NIXPKGS_ROOT="$(git rev-parse --show-toplevel)"
|
||||
|
||||
cd "$NIXPKGS_ROOT"
|
||||
nix-update pipewire
|
||||
outputs=$(nix-build . -A pipewire -A pipewire.mediaSession)
|
||||
outputs=$(nix-build . -A pipewire)
|
||||
for p in $outputs; do
|
||||
conf_files=$(find "$p/nix-support/etc/pipewire/" -name '*.conf.json')
|
||||
conf_files=$(find "$p/nix-support/" -name '*.conf.json')
|
||||
for c in $conf_files; do
|
||||
file_name=$(basename "$c")
|
||||
if [[ ! -e "nixos/modules/services/desktops/pipewire/$file_name" ]]; then
|
||||
if [[ ! -e "nixos/modules/services/desktops/pipewire/daemon/$file_name" ]]; then
|
||||
echo "New file $file_name found! Add it to the module config and passthru tests!"
|
||||
fi
|
||||
install -m 0644 "$c" "nixos/modules/services/desktops/pipewire/"
|
||||
install -m 0644 "$c" "nixos/modules/services/desktops/pipewire/daemon/"
|
||||
done
|
||||
done
|
||||
|
||||
nix-update pipewire-media-session
|
||||
outputs=$(nix-build . -A pipewire-media-session)
|
||||
for p in $outputs; do
|
||||
conf_files=$(find "$p/nix-support/" -name '*.conf.json')
|
||||
for c in $conf_files; do
|
||||
file_name=$(basename "$c")
|
||||
if [[ ! -e "nixos/modules/services/desktops/pipewire/media-session/$file_name" ]]; then
|
||||
echo "New file $file_name found! Add it to the module config and passthru tests!"
|
||||
fi
|
||||
install -m 0644 "$c" "nixos/modules/services/desktops/pipewire/media-session/"
|
||||
done
|
||||
done
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "spirv-headers";
|
||||
version = "1.5.3";
|
||||
version = "unstable-2021-08-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KhronosGroup";
|
||||
repo = "SPIRV-Headers";
|
||||
rev = version;
|
||||
sha256 = "069sivqajp7z4p44lmrz23lvf237xpkjxd4lzrg27836pwqcz9bj";
|
||||
rev = "e71feddb3f17c5586ff7f4cfb5ed1258b800574b";
|
||||
sha256 = "sha256-9m0EBcgdya+KCNJHC3x+YV2sXoSNToTcgDkpeKzId6U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aenum";
|
||||
version = "3.1.0";
|
||||
version = "3.1.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-h/Dp70+ChXirBq8w5NeUQEO/Ts0/S3vRy+N+IXPN6Uo=";
|
||||
sha256 = "75b96aa148e1335eae6c12015563989a675fcbd0bcbd0ae7ce5786329278929b";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiounifi";
|
||||
version = "28";
|
||||
version = "29";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
@@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "Kane610";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1r86pk80sa1la2s7c6v9svh5cpkci6jcw1xziz0h09jdvv5j5iff";
|
||||
sha256 = "sha256-A2+jLxKpha7HV1m3uzy00o8tsjwx0Uuwn5x3DO9daTI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
{ lib
|
||||
, angr
|
||||
, buildPythonPackage
|
||||
, cmd2
|
||||
, coreutils
|
||||
, fetchFromGitHub
|
||||
, pygments
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "angrcli";
|
||||
version = "1.1.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fmagin";
|
||||
repo = "angr-cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "0mz3yzsw08xwpj6188rxmr7darilh4ismcnh8nhp9945wjyzl4kr";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
angr
|
||||
cmd2
|
||||
pygments
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
coreutils
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Version mismatch, https://github.com/fmagin/angr-cli/pull/11
|
||||
substituteInPlace setup.py \
|
||||
--replace "version='1.1.0'," "version='${version}',"
|
||||
substituteInPlace tests/test_derefs.py \
|
||||
--replace "/bin/ls" "${coreutils}/bin/ls"
|
||||
'';
|
||||
|
||||
disabledTests = [
|
||||
"test_sims"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"angrcli"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python modules to allow easier interactive use of angr";
|
||||
homepage = "https://github.com/fmagin/angr-cli";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
@@ -2,29 +2,32 @@
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, stdenv
|
||||
, darwin
|
||||
, AudioToolbox
|
||||
, AudioUnit
|
||||
, CoreServices
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "audiotools";
|
||||
version = "3.1.1";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
AudioToolbox
|
||||
AudioUnit
|
||||
CoreServices
|
||||
]);
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tuffy";
|
||||
repo = "python-audio-tools";
|
||||
rev = "v3.1.1";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-y+EiK9BktyTWowOiJvOb2YjtbPa7R62Wb5zinkyt1OM=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
meta = with lib; {
|
||||
description = "Utilities and Python modules for handling audio";
|
||||
homepage = "http://audiotools.sourceforge.net/";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "base58";
|
||||
version = "2.1.0";
|
||||
version = "2.1.1";
|
||||
disabled = pythonOlder "3.5";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-FxpUe0o8YeGuOAciSm967HXjZMQ5XnViZJ1zNXaAAaI=";
|
||||
sha256 = "c5d0cb3f5b6e81e8e35da5754388ddcc6d0d14b6c6a132cb93d69ed580a7278c";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-storages";
|
||||
version = "1.12.2";
|
||||
version = "1.12.3";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0013ebe4904521e2fa28f33591a03a7210304d73363e7eadd7cdcf81c12ba003";
|
||||
sha256 = "a475edb2f0f04c4f7e548919a751ecd50117270833956ed5bd585c0575d2a5e7";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ django ];
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "flask-paginate";
|
||||
version = "2021.10.26";
|
||||
version = "2021.10.29";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "f124390664b2cfd835c54cc884d67fdaa550782a0783576f719fec2379cad193";
|
||||
sha256 = "660ba1451e4cb168d3a42ed63914fe507bb5c0b30c26a6286b923077bba2362b";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ flask ];
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user