Merge master into haskell-updates

This commit is contained in:
github-actions[bot]
2024-06-19 00:13:37 +00:00
committed by GitHub
353 changed files with 5552 additions and 4538 deletions

View File

@@ -39,6 +39,9 @@ jobs:
pkgs/development/cuda-modules
pkgs/test/cuda
pkgs/top-level/cuda-packages.nix
NIX_FMT_PATHS_MAINTAINERS: |
maintainers/maintainer-list.nix
maintainers/team-list.nix
NIX_FMT_PATHS_K3S: |
nixos/modules/services/cluster/k3s
nixos/tests/k3s

View File

@@ -46,7 +46,8 @@
checks = forAllSystems (system: {
tarball = jobs.${system}.tarball;
} // lib.optionalAttrs (self.legacyPackages.${system}.stdenv.isLinux) {
# Exclude power64 due to "libressl is not available on the requested hostPlatform" with hostPlatform being power64
} // lib.optionalAttrs (self.legacyPackages.${system}.stdenv.isLinux && !self.legacyPackages.${system}.targetPlatform.isPower64) {
# Test that ensures that the nixosSystem function can accept a lib argument
# Note: prefer not to extend or modify `lib`, especially if you want to share reusable modules
# alternatives include: `import` a file, or put a custom library in an option or in `_module.args.<libname>`

View File

@@ -81,7 +81,7 @@ let
&& final.parsed.kernel == platform.parsed.kernel;
isCompatible = _: throw "2022-05-23: isCompatible has been removed in favor of canExecute, refer to the 22.11 changelog for details";
# Derived meta-data
useLLVM = final.isFreeBSD;
useLLVM = final.isFreeBSD || final.isOpenBSD;
libc =
/**/ if final.isDarwin then "libSystem"

View File

@@ -16,12 +16,12 @@
"armv6l-linux"
"armv7l-linux"
"i686-linux"
"mipsel-linux"
# "mipsel-linux" is excluded because it is not bootstrapped
# Other platforms with sufficient support in stdenv which is not formally
# mandated by their platform tier.
"aarch64-darwin"
"armv5tel-linux"
# "armv5tel-linux" is excluded because it is not bootstrapped
"powerpc64le-linux"
"riscv64-linux"

View File

@@ -535,11 +535,9 @@ rec {
name = "riscv-multiplatform";
target = "Image";
autoModules = true;
preferBuiltin = true;
baseConfig = "defconfig";
DTB = true;
extraConfig = ''
SERIAL_OF_PLATFORM y
'';
};
};

File diff suppressed because it is too large Load Diff

View File

@@ -27,8 +27,13 @@ import utils
),
default=pathlib.Path(__file__).parent.parent.parent.parent
)
def main(repo_metadata: pathlib.Path, nixpkgs: pathlib.Path):
metadata = utils.KDERepoMetadata.from_repo_metadata_checkout(repo_metadata)
@click.option(
"--unstable",
default=False,
is_flag=True
)
def main(repo_metadata: pathlib.Path, nixpkgs: pathlib.Path, unstable: bool):
metadata = utils.KDERepoMetadata.from_repo_metadata_checkout(repo_metadata, unstable)
out_dir = nixpkgs / "pkgs/kde/generated"
metadata.write_json(out_dir)

View File

@@ -104,7 +104,7 @@ class KDERepoMetadata:
return project
@classmethod
def from_repo_metadata_checkout(cls, repo_metadata: pathlib.Path):
def from_repo_metadata_checkout(cls, repo_metadata: pathlib.Path, unstable=False):
projects = [
Project.from_yaml(metadata_file)
for metadata_file in repo_metadata.glob("projects-invent/**/metadata.yaml")
@@ -122,29 +122,32 @@ class KDERepoMetadata:
dep_graph={},
)
dep_specs = ["dependency-data-stable-kf6-qt6"]
dep_graph = collections.defaultdict(set)
for spec in dep_specs:
spec_path = repo_metadata / "dependencies" / spec
for line in spec_path.open():
line = line.strip()
if line.startswith("#"):
continue
if not line:
continue
if unstable:
spec_name = "dependency-data-kf6-qt6"
else:
spec_name = "dependency-data-stable-kf6-qt6"
dependent, dependency = line.split(": ")
spec_path = repo_metadata / "dependencies" / spec_name
for line in spec_path.open():
line = line.strip()
if line.startswith("#"):
continue
if not line:
continue
dependent = self.try_lookup_package(dependent)
if dependent is None:
continue
dependent, dependency = line.split(": ")
dependency = self.try_lookup_package(dependency)
if dependency is None:
continue
dependent = self.try_lookup_package(dependent)
if dependent is None:
continue
dep_graph[dependent].add(dependency)
dependency = self.try_lookup_package(dependency)
if dependency is None:
continue
dep_graph[dependent].add(dependency)
self.dep_graph = dep_graph

View File

@@ -1,4 +1,5 @@
/* List of maintainer teams.
/*
List of maintainer teams.
name = {
# Required
members = [ maintainer1 maintainer2 ];
@@ -25,10 +26,11 @@
* keep the list alphabetically sorted
* test the validity of the format with:
nix-build lib/tests/teams.nix
*/
*/
{ lib }:
with lib.maintainers; {
with lib.maintainers;
{
acme = {
members = [
aanderse
@@ -67,9 +69,7 @@ with lib.maintainers; {
minijackson
yurrriq
];
githubTeams = [
"beam"
];
githubTeams = [ "beam" ];
scope = "Maintain BEAM-related packages and modules.";
shortName = "BEAM";
enableFeatureFreezePing = true;
@@ -95,9 +95,7 @@ with lib.maintainers; {
};
budgie = {
members = [
bobby285271
];
members = [ bobby285271 ];
scope = "Maintain Budgie desktop environment";
shortName = "Budgie";
};
@@ -144,9 +142,7 @@ with lib.maintainers; {
};
cloudposse = {
members = [
dudymas
];
members = [ dudymas ];
scope = "Maintain atmos and applications made by the Cloud Posse team.";
shortName = "CloudPosse";
enableFeatureFreezePing = true;
@@ -178,12 +174,8 @@ with lib.maintainers; {
};
darwin = {
members = [
toonn
];
githubTeams = [
"darwin-maintainers"
];
members = [ toonn ];
githubTeams = [ "darwin-maintainers" ];
scope = "Maintain Darwin compatibility of packages and Darwin-only packages.";
shortName = "Darwin";
enableFeatureFreezePing = true;
@@ -213,9 +205,7 @@ with lib.maintainers; {
};
deepin = {
members = [
rewine
];
members = [ rewine ];
scope = "Maintain deepin desktop environment and related packages.";
shortName = "DDE";
enableFeatureFreezePing = true;
@@ -262,29 +252,21 @@ with lib.maintainers; {
docs = {
members = [ ];
githubTeams = [
"documentation-team"
];
githubTeams = [ "documentation-team" ];
scope = "Maintain nixpkgs/NixOS documentation and tools for building it.";
shortName = "Docs";
enableFeatureFreezePing = true;
};
emacs = {
members = [
adisbladis
];
members = [ adisbladis ];
scope = "Maintain the Emacs editor and packages.";
shortName = "Emacs";
};
enlightenment = {
members = [
romildo
];
githubTeams = [
"enlightenment"
];
members = [ romildo ];
githubTeams = [ "enlightenment" ];
scope = "Maintain Enlightenment desktop environment and related packages.";
shortName = "Enlightenment";
enableFeatureFreezePing = true;
@@ -303,7 +285,12 @@ with lib.maintainers; {
};
flutter = {
members = [ mkg20001 RossComputerGuy FlafyDev hacker1024 ];
members = [
mkg20001
RossComputerGuy
FlafyDev
hacker1024
];
scope = "Maintain Flutter and Dart-related packages and build tools";
shortName = "flutter";
enableFeatureFreezePing = false;
@@ -373,9 +360,7 @@ with lib.maintainers; {
sikmir
willcohen
];
githubTeams = [
"geospatial"
];
githubTeams = [ "geospatial" ];
scope = "Maintain geospatial packages.";
shortName = "Geospatial";
enableFeatureFreezePing = true;
@@ -400,9 +385,7 @@ with lib.maintainers; {
qbit
mfrw
];
githubTeams = [
"golang"
];
githubTeams = [ "golang" ];
scope = "Maintain Golang compilers.";
shortName = "Go";
enableFeatureFreezePing = true;
@@ -415,9 +398,7 @@ with lib.maintainers; {
jtojnar
dasj19
];
githubTeams = [
"gnome"
];
githubTeams = [ "gnome" ];
scope = "Maintain GNOME desktop environment and platform.";
shortName = "GNOME";
enableFeatureFreezePing = true;
@@ -443,9 +424,7 @@ with lib.maintainers; {
ncfavier
sternenseemann
];
githubTeams = [
"haskell"
];
githubTeams = [ "haskell" ];
scope = "Maintain Haskell packages and infrastructure.";
shortName = "Haskell";
enableFeatureFreezePing = true;
@@ -472,9 +451,7 @@ with lib.maintainers; {
};
infisical = {
members = [
akhilmhdh
];
members = [ akhilmhdh ];
scope = "Maintain Infisical";
shortName = "Infisical";
};
@@ -568,9 +545,7 @@ with lib.maintainers; {
uthar
hraban
];
githubTeams = [
"lisp"
];
githubTeams = [ "lisp" ];
scope = "Maintain the Lisp ecosystem.";
shortName = "lisp";
enableFeatureFreezePing = true;
@@ -586,18 +561,14 @@ with lib.maintainers; {
rrbutani
sternenseemann
];
githubTeams = [
"llvm"
];
githubTeams = [ "llvm" ];
scope = "Maintain LLVM package sets and related packages";
shortName = "LLVM";
enableFeatureFreezePing = true;
};
lomiri = {
members = [
OPNA2608
];
members = [ OPNA2608 ];
scope = "Maintain Lomiri desktop environment and related packages.";
shortName = "Lomiri";
enableFeatureFreezePing = true;
@@ -614,21 +585,15 @@ with lib.maintainers; {
};
lua = {
githubTeams = [
"lua"
];
githubTeams = [ "lua" ];
scope = "Maintain the lua ecosystem.";
shortName = "lua";
enableFeatureFreezePing = true;
};
lumina = {
members = [
romildo
];
githubTeams = [
"lumina"
];
members = [ romildo ];
githubTeams = [ "lumina" ];
scope = "Maintain lumina desktop environment and related packages.";
shortName = "Lumina";
enableFeatureFreezePing = true;
@@ -647,12 +612,8 @@ with lib.maintainers; {
};
lxqt = {
members = [
romildo
];
githubTeams = [
"lxqt"
];
members = [ romildo ];
githubTeams = [ "lxqt" ];
scope = "Maintain LXQt desktop environment and related packages.";
shortName = "LXQt";
enableFeatureFreezePing = true;
@@ -717,9 +678,7 @@ with lib.maintainers; {
};
mobile = {
members = [
samueldr
];
members = [ samueldr ];
scope = "Maintain Mobile NixOS.";
shortName = "Mobile";
};
@@ -766,21 +725,15 @@ with lib.maintainers; {
};
ocaml = {
members = [
alizter
];
githubTeams = [
"ocaml"
];
members = [ alizter ];
githubTeams = [ "ocaml" ];
scope = "Maintain the OCaml compiler and package set.";
shortName = "OCaml";
enableFeatureFreezePing = true;
};
openstack = {
members = [
SuperSandro2000
];
members = [ SuperSandro2000 ];
scope = "Maintain the ecosystem around OpenStack";
shortName = "OpenStack";
};
@@ -801,18 +754,14 @@ with lib.maintainers; {
davidak
bobby285271
];
githubTeams = [
"pantheon"
];
githubTeams = [ "pantheon" ];
scope = "Maintain Pantheon desktop environment and platform.";
shortName = "Pantheon";
enableFeatureFreezePing = true;
};
perl = {
members = [
sgo
];
members = [ sgo ];
scope = "Maintain the Perl interpreter and Perl packages.";
shortName = "Perl";
enableFeatureFreezePing = true;
@@ -826,9 +775,7 @@ with lib.maintainers; {
patka
talyz
];
githubTeams = [
"php"
];
githubTeams = [ "php" ];
scope = "Maintain PHP related packages and extensions.";
shortName = "PHP";
enableFeatureFreezePing = true;
@@ -839,17 +786,13 @@ with lib.maintainers; {
saschagrunert
vdemeester
];
githubTeams = [
"podman"
];
githubTeams = [ "podman" ];
scope = "Maintain Podman and CRI-O related packages and modules.";
shortName = "Podman";
};
postgres = {
members = [
thoughtpolice
];
members = [ thoughtpolice ];
scope = "Maintain the PostgreSQL package and plugins along with the NixOS module.";
shortName = "PostgreSQL";
};
@@ -875,9 +818,7 @@ with lib.maintainers; {
SuperSandro2000
ttuegel
];
githubTeams = [
"qt-kde"
];
githubTeams = [ "qt-kde" ];
scope = "Maintain the Qt framework, KDE application suite, Plasma desktop environment and related projects.";
shortName = "Qt / KDE";
enableFeatureFreezePing = true;
@@ -907,9 +848,7 @@ with lib.maintainers; {
release = {
members = [ ];
githubTeams = [
"nixos-release-managers"
];
githubTeams = [ "nixos-release-managers" ];
scope = "Manage the current nixpkgs/NixOS release.";
shortName = "Release";
};
@@ -920,16 +859,13 @@ with lib.maintainers; {
Flakebi
mschwaig
];
githubTeams = [
"rocm-maintainers"
];
githubTeams = [ "rocm-maintainers" ];
scope = "Maintain ROCm and related packages.";
shortName = "ROCm";
};
ruby = {
members = [
];
members = [ ];
scope = "Maintain the Ruby interpreter and related packages.";
shortName = "Ruby";
enableFeatureFreezePing = true;
@@ -943,9 +879,7 @@ with lib.maintainers; {
winter
zowoq
];
githubTeams = [
"rust"
];
githubTeams = [ "rust" ];
scope = "Maintain the Rust compiler toolchain and nixpkgs integration.";
shortName = "Rust";
enableFeatureFreezePing = true;
@@ -976,9 +910,7 @@ with lib.maintainers; {
serokell = {
# Verify additions by approval of an already existing member of the team.
members = [
balsoft
];
members = [ balsoft ];
scope = "Group registration for Serokell employees who collectively maintain packages.";
shortName = "Serokell employees";
};
@@ -997,27 +929,21 @@ with lib.maintainers; {
systemd = {
members = [ ];
githubTeams = [
"systemd"
];
githubTeams = [ "systemd" ];
scope = "Maintain systemd for NixOS.";
shortName = "systemd";
enableFeatureFreezePing = true;
};
tests = {
members = [
tfc
];
members = [ tfc ];
scope = "Maintain the NixOS VM test runner.";
shortName = "NixOS tests";
enableFeatureFreezePing = true;
};
tts = {
members = [
mic92
];
members = [ mic92 ];
scope = "coqui-ai TTS (formerly Mozilla TTS) and leaf packages";
shortName = "coqui-ai TTS";
};

View File

@@ -15,6 +15,8 @@
- [Quickwit](https://quickwit.io), sub-second search & analytics engine on cloud storage. Available as [services.quickwit](options.html#opt-services.quickwit).
- [Flood](https://flood.js.org/), a beautiful WebUI for various torrent clients. Available as [services.flood](options.html#opt-services.flood).
- [Renovate](https://github.com/renovatebot/renovate), a dependency updating tool for various git forges and language ecosystems. Available as [services.renovate](#opt-services.renovate.enable).
## Backward Incompatibilities {#sec-release-24.11-incompatibilities}

View File

@@ -1316,6 +1316,7 @@
./services/system/zram-generator.nix
./services/torrent/deluge.nix
./services/torrent/flexget.nix
./services/torrent/flood.nix
./services/torrent/magnetico.nix
./services/torrent/opentracker.nix
./services/torrent/peerflix.nix

View File

@@ -244,6 +244,27 @@ The upgrade process is:
$ ./delete_old_cluster.sh
```
## Versioning and End-of-Life {#module-services-postgres-versioning}
PostgreSQL's versioning policy is described [here](https://www.postgresql.org/support/versioning/). TLDR:
- Each major version is supported for 5 years.
- Every three months there will be a new minor release, containing bug and security fixes.
- For criticial/security fixes there could be more minor releases inbetween. This happens *very* infrequently.
- After five years, a final minor version is released. This usually happens in early November.
- After that a version is considered end-of-life (EOL).
- Around February each year is the first time an EOL-release will not have received regular updates anymore.
Technically, we'd not want to have EOL'ed packages in a stable NixOS release, which is to be supported until one month after the previous release. Thus, with NixOS' release schedule in May and November, the oldest PostgreSQL version in nixpkgs would have to be supported until December. It could be argued that a soon-to-be-EOL-ed version should thus be removed in May for the .05 release already. But since new security vulnerabilities are first disclosed in Februrary of the following year, we agreed on keeping the oldest PostgreSQL major version around one more cycle in [#310580](https://github.com/NixOS/nixpkgs/pull/310580#discussion_r1597284693).
Thus:
- In September/October the new major version will be released and added to nixos-unstable.
- In November the last minor version for the oldest major will be released.
- Both the current stable .05 release and nixos-unstable should be updated to the latest minor.
- In November, before branch-off for the .11 release, the EOL-ed major will be removed from nixos-unstable.
This leaves a small gap of a couple of weeks after the latest minor release and the end of our support window for the .05 release, in which there could be an emergency release to other major versions of PostgreSQL - but not the oldest major we have in that branch. In that case: If we can't trivially patch the issue, we will mark the package/version as insecure **immediately**.
## Options {#module-services-postgres-options}
A complete list of options for the PostgreSQL module may be found [here](#opt-services.postgresql.enable).

View File

@@ -146,6 +146,7 @@ in {
dolphin-plugins
spectacle
ffmpegthumbs
krdp
];
in
requiredPackages

View File

@@ -196,7 +196,7 @@ in
Group = "archisteamfarm";
WorkingDirectory = cfg.dataDir;
Type = "simple";
ExecStart = "${lib.getExe cfg.package} --no-restart --process-required --service --system-required --path ${cfg.dataDir}";
ExecStart = "${lib.getExe cfg.package} --no-restart --service --system-required --path ${cfg.dataDir}";
Restart = "always";
# copied from the default systemd service at

View File

@@ -120,14 +120,9 @@ in {
if [ ! -e "${cfg.secretsFile}" ]; then
echo "WARNING: secrets file not found, autogenerating!"
DIR="$(dirname "${cfg.secretsFile}")"
if [ ! -d "$DIR" ]; then
mkdir -p -m750 "$DIR"
chown "${cfg.user}:${cfg.group}" "$DIR"
fi
dd if=/dev/random bs=18 count=1 | base64 > "${cfg.secretsFile}"
chmod 600 "${cfg.secretsFile}"
install -m 750 -o ${cfg.user} -g ${cfg.group} -d "$DIR"
install -m 600 -o ${cfg.user} -g ${cfg.group} <(dd if=/dev/random bs=18 count=1 | base64) "${cfg.secretsFile}"
fi
chown "${cfg.user}:${cfg.group}" "${cfg.secretsFile}"
'';
};

View File

@@ -60,6 +60,7 @@ in {
config = mkIf cfg.enable {
services.qdrant.settings = {
service.static_content_dir = mkDefault pkgs.qdrant-web-ui;
storage.storage_path = mkDefault "/var/lib/qdrant/storage";
storage.snapshots_path = mkDefault "/var/lib/qdrant/snapshots";
# The following default values are the same as in the default config,

View File

@@ -73,6 +73,7 @@ in
virtualHosts.${cfg.domain}.locations."/oauth2/" = {
proxyPass = cfg.proxy;
extraConfig = ''
auth_request off;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Auth-Request-Redirect $scheme://$host$request_uri;
'';

View File

@@ -0,0 +1,85 @@
{ config, lib, pkgs, utils, ... }:
let
cfg = config.services.flood;
in
{
meta.maintainers = with lib.maintainers; [ thiagokokada ];
options.services.flood = {
enable = lib.mkEnableOption "flood";
package = lib.mkPackageOption pkgs "flood" { };
openFirewall = lib.mkEnableOption "" // {
description = "Whether to open the firewall for the port in {option}`services.flood.port`.";
};
port = lib.mkOption {
type = lib.types.int;
description = "Port to bind webserver.";
default = 3000;
example = 3001;
};
host = lib.mkOption {
type = lib.types.str;
description = "Host to bind webserver.";
default = "localhost";
example = "::";
};
extraArgs = lib.mkOption {
type = with lib.types; listOf str;
description = "Extra arguments passed to `flood`.";
default = [ ];
example = [ "--baseuri=/" ];
};
};
config = lib.mkIf cfg.enable {
systemd.services.flood = {
description = "A modern web UI for various torrent clients.";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
unitConfig = {
Documentation = "https://github.com/jesec/flood/wiki";
};
serviceConfig = {
Restart = "on-failure";
RestartSec = "3s";
ExecStart = utils.escapeSystemdExecArgs ([
(lib.getExe cfg.package)
"--host"
cfg.host
"--port"
(toString cfg.port)
"--rundir=/var/lib/flood"
] ++ cfg.extraArgs);
CapabilityBoundingSet = [ "" ];
DynamicUser = true;
LockPersonality = true;
NoNewPrivileges = true;
PrivateDevices = true;
PrivateTmp = true;
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "invisible";
ProtectSystem = "strict";
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
StateDirectory = "flood";
SystemCallArchitectures = "native";
SystemCallFilter = [ "@system-service" "@pkey" "~@privileged" ];
};
};
networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [
cfg.port
];
};
}

View File

@@ -1136,6 +1136,6 @@ in {
};
};
meta.maintainers = with maintainers; [ mvs tcmal ];
meta.maintainers = with maintainers; [ mvs ];
meta.doc = ./akkoma.md;
}

View File

@@ -46,10 +46,10 @@ let
version = src.version;
src = pkgs.invoiceplane;
postPhase = ''
postPatch = ''
# Patch index.php file to load additional config file
substituteInPlace index.php \
--replace "require('vendor/autoload.php');" "require('vendor/autoload.php'); \$dotenv = Dotenv\Dotenv::createImmutable(__DIR__, 'extraConfig.php'); \$dotenv->load();";
--replace-fail "require('vendor/autoload.php');" "require('vendor/autoload.php'); \$dotenv = Dotenv\Dotenv::createImmutable(__DIR__, 'extraConfig.php'); \$dotenv->load();";
'';
installPhase = ''

View File

@@ -323,15 +323,15 @@ in {
assertions = [
{
assertion = (hasPrefix "/" efi.efiSysMountPoint);
message = "The ESP mount point '${efi.efiSysMountPoint}' must be an absolute path";
message = "The ESP mount point '${toString efi.efiSysMountPoint}' must be an absolute path";
}
{
assertion = cfg.xbootldrMountPoint == null || (hasPrefix "/" cfg.xbootldrMountPoint);
message = "The XBOOTLDR mount point '${cfg.xbootldrMountPoint}' must be an absolute path";
message = "The XBOOTLDR mount point '${toString cfg.xbootldrMountPoint}' must be an absolute path";
}
{
assertion = cfg.xbootldrMountPoint != efi.efiSysMountPoint;
message = "The XBOOTLDR mount point '${cfg.xbootldrMountPoint}' cannot be the same as the ESP mount point '${efi.efiSysMountPoint}'";
message = "The XBOOTLDR mount point '${toString cfg.xbootldrMountPoint}' cannot be the same as the ESP mount point '${toString efi.efiSysMountPoint}'";
}
{
assertion = (config.boot.kernelPackages.kernel.features or { efiBootStub = true; }) ? efiBootStub;

View File

@@ -328,6 +328,7 @@ in {
firewall-nftables = handleTest ./firewall.nix { nftables = true; };
fish = handleTest ./fish.nix {};
flannel = handleTestOn ["x86_64-linux"] ./flannel.nix {};
flood = handleTest ./flood.nix {};
floorp = handleTest ./firefox.nix { firefoxPackage = pkgs.floorp; };
fluentd = handleTest ./fluentd.nix {};
fluidd = handleTest ./fluidd.nix {};

27
nixos/tests/flood.nix Normal file
View File

@@ -0,0 +1,27 @@
import ./make-test-python.nix ({ pkgs, ... }:
let
port = 3001;
in
{
name = "flood";
meta = {
maintainers = with pkgs.lib.maintainers; [ thiagokokada ];
};
nodes.machine = { pkgs, ... }: {
services.flood = {
inherit port;
enable = true;
openFirewall = true;
extraArgs = [ "--baseuri=/" ];
};
};
testScript = /* python */ ''
machine.start()
machine.wait_for_unit("flood.service")
machine.wait_for_open_port(${toString port})
machine.succeed("curl --fail http://localhost:${toString port}")
'';
})

View File

@@ -1,27 +1,27 @@
args@{ pkgs, nextcloudVersion ? 22, ... }:
{ name, pkgs, testBase, system,... }:
(import ../make-test-python.nix ({ pkgs, ...}: let
adminpass = "notproduction";
adminuser = "root";
in {
name = "nextcloud-basic";
with import ../../lib/testing-python.nix { inherit system pkgs; };
runTest ({ config, ... }: {
inherit name;
meta = with pkgs.lib.maintainers; {
maintainers = [ globin eqyiel ];
maintainers = [ globin eqyiel ma27 ];
};
nodes = rec {
imports = [ testBase ];
nodes = {
# The only thing the client needs to do is download a file.
client = { ... }: {
services.davfs2.enable = true;
systemd.tmpfiles.settings.nextcloud = {
"/tmp/davfs2-secrets"."f+" = {
mode = "0600";
argument = "http://nextcloud/remote.php/dav/files/${adminuser} ${adminuser} ${adminpass}";
argument = "http://nextcloud/remote.php/dav/files/${config.adminuser} ${config.adminuser} ${config.adminpass}";
};
};
virtualisation.fileSystems = {
"/mnt/dav" = {
device = "http://nextcloud/remote.php/dav/files/${adminuser}";
device = "http://nextcloud/remote.php/dav/files/${config.adminuser}";
fsType = "davfs";
options = let
davfs2Conf = (pkgs.writeText "davfs2.conf" "secrets /tmp/davfs2-secrets");
@@ -30,11 +30,7 @@ in {
};
};
nextcloud = { config, pkgs, ... }: let
cfg = config;
in {
networking.firewall.allowedTCPPorts = [ 80 ];
nextcloud = { config, pkgs, ... }: {
systemd.tmpfiles.rules = [
"d /var/lib/nextcloud-data 0750 nextcloud nginx - -"
];
@@ -42,14 +38,7 @@ in {
services.nextcloud = {
enable = true;
datadir = "/var/lib/nextcloud-data";
hostName = "nextcloud";
database.createLocally = true;
config = {
# Don't inherit adminuser since "root" is supposed to be the default
adminpassFile = "${pkgs.writeText "adminpass" adminpass}"; # Don't try this at home!
dbtableprefix = "nixos_";
};
package = pkgs.${"nextcloud" + (toString nextcloudVersion)};
config.dbtableprefix = "nixos_";
autoUpdateApps = {
enable = true;
startAt = "20:00";
@@ -57,64 +46,31 @@ in {
phpExtraExtensions = all: [ all.bz2 ];
};
environment.systemPackages = [ cfg.services.nextcloud.occ ];
specialisation.withoutMagick.configuration = {
services.nextcloud.enableImagemagick = false;
};
};
nextcloudWithoutMagick = args@{ config, pkgs, lib, ... }:
lib.mkMerge
[ (nextcloud args)
{ services.nextcloud.enableImagemagick = false; } ];
};
testScript = { nodes, ... }: let
withRcloneEnv = pkgs.writeScript "with-rclone-env" ''
#!${pkgs.runtimeShell}
export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/dav/files/${adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
export RCLONE_CONFIG_NEXTCLOUD_USER="${adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${adminpass})"
"''${@}"
'';
copySharedFile = pkgs.writeScript "copy-shared-file" ''
#!${pkgs.runtimeShell}
echo 'hi' | ${withRcloneEnv} ${pkgs.rclone}/bin/rclone rcat nextcloud:test-shared-file
'';
diffSharedFile = pkgs.writeScript "diff-shared-file" ''
#!${pkgs.runtimeShell}
diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
'';
test-helpers.extraTests = { nodes, ... }: let
findInClosure = what: drv: pkgs.runCommand "find-in-closure" { exportReferencesGraph = [ "graph" drv ]; inherit what; } ''
test -e graph
grep "$what" graph >$out || true
'';
nextcloudUsesImagick = findInClosure "imagick" nodes.nextcloud.system.build.vm;
nextcloudWithoutDoesntUseIt = findInClosure "imagick" nodes.nextcloudWithoutMagick.system.build.vm;
nexcloudWithImagick = findInClosure "imagick" nodes.nextcloud.system.build.vm;
nextcloudWithoutImagick = findInClosure "imagick" nodes.nextcloud.specialisation.withoutMagick.configuration.system.build.vm;
in ''
assert open("${nextcloudUsesImagick}").read() != ""
assert open("${nextcloudWithoutDoesntUseIt}").read() == ""
with subtest("File is in proper nextcloud home"):
nextcloud.succeed("test -f ${nodes.nextcloud.services.nextcloud.datadir}/data/root/files/test-shared-file")
nextcloud.start()
client.start()
nextcloud.wait_for_unit("multi-user.target")
# This is just to ensure the nextcloud-occ program is working
nextcloud.succeed("nextcloud-occ status")
nextcloud.succeed("curl -sSf http://nextcloud/login")
# Ensure that no OpenSSL 1.1 is used.
nextcloud.succeed(
"${nodes.nextcloud.services.phpfpm.pools.nextcloud.phpPackage}/bin/php -i | grep 'OpenSSL Library Version' | awk -F'=>' '{ print $2 }' | awk '{ print $2 }' | grep -v 1.1"
)
nextcloud.succeed(
"${withRcloneEnv} ${copySharedFile}"
)
client.wait_for_unit("multi-user.target")
nextcloud.succeed("test -f /var/lib/nextcloud-data/data/root/files/test-shared-file")
client.succeed(
"${withRcloneEnv} ${diffSharedFile}"
)
assert "hi" in client.succeed("cat /mnt/dav/test-shared-file")
nextcloud.succeed("grep -vE '^HBEGIN:oc_encryption_module' /var/lib/nextcloud-data/data/root/files/test-shared-file")
with subtest("Closure checks"):
assert open("${nexcloudWithImagick}").read() != ""
assert open("${nextcloudWithoutImagick}").read() == ""
with subtest("Davfs2"):
assert "hi" in client.succeed("cat /mnt/dav/test-shared-file")
with subtest("Ensure SSE is disabled by default"):
nextcloud.succeed("grep -vE '^HBEGIN:oc_encryption_module' /var/lib/nextcloud-data/data/root/files/test-shared-file")
'';
})) args
})

View File

@@ -5,21 +5,108 @@
with pkgs.lib;
foldl
(matrix: ver: matrix // {
"basic${toString ver}" = import ./basic.nix { inherit system pkgs; nextcloudVersion = ver; };
"with-postgresql-and-redis${toString ver}" = import ./with-postgresql-and-redis.nix {
inherit system pkgs;
nextcloudVersion = ver;
let
baseModule = { config, ... }: {
imports = [
{
options.test-helpers = {
rclone = mkOption { type = types.str; };
upload-sample = mkOption { type = types.str; };
check-sample = mkOption { type = types.str; };
init = mkOption { type = types.str; default = ""; };
extraTests = mkOption { type = types.either types.str (types.functionTo types.str); default = ""; };
};
options.adminuser = mkOption { type = types.str; };
options.adminpass = mkOption { type = types.str; };
}
];
adminuser = "root";
adminpass = "hunter2";
test-helpers.rclone = "${pkgs.writeShellScript "rclone" ''
set -euo pipefail
export PATH="${pkgs.rclone}/bin:$PATH"
export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/dav/files/${config.adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
export RCLONE_CONFIG_NEXTCLOUD_USER="${config.adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_PASS="$(rclone obscure ${config.adminpass})"
exec "$@"
''}";
test-helpers.upload-sample = "${pkgs.writeShellScript "rclone-upload" ''
<<<'hi' rclone rcat nextcloud:test-shared-file
''}";
test-helpers.check-sample = "${pkgs.writeShellScript "check-sample" ''
set -e
diff <(echo 'hi') <(rclone cat nextcloud:test-shared-file)
''}";
nodes = {
client = { ... }: {};
nextcloud = {
networking.firewall.allowedTCPPorts = [ 80 ];
services.nextcloud = {
enable = true;
hostName = "nextcloud";
https = false;
database.createLocally = true;
config = {
adminpassFile = "${pkgs.writeText "adminpass" config.adminpass}"; # Don't try this at home!
};
};
};
};
"with-mysql-and-memcached${toString ver}" = import ./with-mysql-and-memcached.nix {
inherit system pkgs;
nextcloudVersion = ver;
};
"with-declarative-redis-and-secrets${toString ver}" = import ./with-declarative-redis-and-secrets.nix {
inherit system pkgs;
nextcloudVersion = ver;
};
})
{ }
[ 27 28 29 ]
testScript = args@{ nodes, ... }: let
inherit (config) test-helpers;
in mkBefore ''
nextcloud.start()
client.start()
nextcloud.wait_for_unit("multi-user.target")
${test-helpers.init}
with subtest("Ensure nextcloud-occ is working"):
nextcloud.succeed("nextcloud-occ status")
nextcloud.succeed("curl -sSf http://nextcloud/login")
with subtest("Upload/Download test"):
nextcloud.succeed(
"${test-helpers.rclone} ${test-helpers.upload-sample}"
)
client.wait_for_unit("multi-user.target")
client.succeed(
"${test-helpers.rclone} ${test-helpers.check-sample}"
)
${if builtins.isFunction test-helpers.extraTests then test-helpers.extraTests args else test-helpers.extraTests}
'';
};
genTests = version:
let
testBase.imports = [
baseModule
{
nodes.nextcloud = { pkgs, ... }: {
services.nextcloud.package = pkgs.${"nextcloud${toString version}"};
};
}
];
callNextcloudTest = path:
let
name = "${removeSuffix ".nix" (baseNameOf path)}${toString version}";
in nameValuePair name (import path {
inherit system pkgs testBase;
name = "nextcloud-${name}";
});
in map callNextcloudTest [
./basic.nix
./with-mysql-and-memcached.nix
./with-postgresql-and-redis.nix
./with-objectstore.nix
];
in
listToAttrs (concatMap genTests [ 27 28 29 ])

View File

@@ -1,79 +1,37 @@
args@{ pkgs, nextcloudVersion ? 22, ... }:
{ pkgs, testBase, system, ... }:
(import ../make-test-python.nix ({ pkgs, ...}: let
adminpass = "hunter2";
adminuser = "root";
in {
with import ../../lib/testing-python.nix { inherit system pkgs; };
runTest ({ config, ... }: {
name = "nextcloud-with-mysql-and-memcached";
meta = with pkgs.lib.maintainers; {
maintainers = [ eqyiel ];
};
imports = [ testBase ];
nodes = {
# The only thing the client needs to do is download a file.
client = { ... }: {};
nextcloud = { config, pkgs, ... }: {
networking.firewall.allowedTCPPorts = [ 80 ];
services.nextcloud = {
enable = true;
hostName = "nextcloud";
https = true;
package = pkgs.${"nextcloud" + (toString nextcloudVersion)};
caching = {
apcu = true;
redis = false;
memcached = true;
};
database.createLocally = true;
config = {
dbtype = "mysql";
# Don't inherit adminuser since "root" is supposed to be the default
adminpassFile = "${pkgs.writeText "adminpass" adminpass}"; # Don't try this at home!
};
config.dbtype = "mysql";
};
services.memcached.enable = true;
};
};
testScript = let
test-helpers.init = let
configureMemcached = pkgs.writeScript "configure-memcached" ''
#!${pkgs.runtimeShell}
nextcloud-occ config:system:set memcached_servers 0 0 --value 127.0.0.1 --type string
nextcloud-occ config:system:set memcached_servers 0 1 --value 11211 --type integer
nextcloud-occ config:system:set memcache.local --value '\OC\Memcache\APCu' --type string
nextcloud-occ config:system:set memcache.distributed --value '\OC\Memcache\Memcached' --type string
'';
withRcloneEnv = pkgs.writeScript "with-rclone-env" ''
#!${pkgs.runtimeShell}
export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/dav/files/${adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
export RCLONE_CONFIG_NEXTCLOUD_USER="${adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${adminpass})"
'';
copySharedFile = pkgs.writeScript "copy-shared-file" ''
#!${pkgs.runtimeShell}
echo 'hi' | ${pkgs.rclone}/bin/rclone rcat nextcloud:test-shared-file
'';
diffSharedFile = pkgs.writeScript "diff-shared-file" ''
#!${pkgs.runtimeShell}
diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
'';
in ''
start_all()
nextcloud.wait_for_unit("multi-user.target")
nextcloud.succeed("${configureMemcached}")
nextcloud.succeed("curl -sSf http://nextcloud/login")
nextcloud.succeed(
"${withRcloneEnv} ${copySharedFile}"
)
client.wait_for_unit("multi-user.target")
client.succeed(
"${withRcloneEnv} ${diffSharedFile}"
)
'';
})) args
})

View File

@@ -0,0 +1,96 @@
{ name, pkgs, testBase, system, ... }:
with import ../../lib/testing-python.nix { inherit system pkgs; };
runTest ({ config, lib, ... }: let
accessKey = "BKIKJAA5BMMU2RHO6IBB";
secretKey = "V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12";
rootCredentialsFile = pkgs.writeText "minio-credentials-full" ''
MINIO_ROOT_USER=${accessKey}
MINIO_ROOT_PASSWORD=${secretKey}
'';
in {
inherit name;
meta = with pkgs.lib.maintainers; {
maintainers = [ onny ma27 ];
};
imports = [ testBase ];
nodes = {
nextcloud = { config, pkgs, ... }: {
networking.firewall.allowedTCPPorts = [ 9000 ];
environment.systemPackages = [ pkgs.minio-client ];
services.nextcloud.config.objectstore.s3 = {
enable = true;
bucket = "nextcloud";
autocreate = true;
key = accessKey;
secretFile = "${pkgs.writeText "secretKey" secretKey}";
hostname = "nextcloud";
useSsl = false;
port = 9000;
usePathStyle = true;
region = "us-east-1";
};
services.minio = {
enable = true;
listenAddress = "0.0.0.0:9000";
consoleAddress = "0.0.0.0:9001";
inherit rootCredentialsFile;
};
};
};
test-helpers.init = ''
nextcloud.wait_for_open_port(9000)
'';
test-helpers.extraTests = { nodes, ... }: ''
with subtest("File is not on the filesystem"):
nextcloud.succeed("test ! -e ${nodes.nextcloud.services.nextcloud.home}/data/root/files/test-shared-file")
with subtest("Check if file is in S3"):
nextcloud.succeed(
"mc config host add minio http://localhost:9000 ${accessKey} ${secretKey} --api s3v4"
)
files = nextcloud.succeed('mc ls minio/nextcloud|sort').strip().split('\n')
# Cannot assert an exact number here, nc27 writes more stuff initially into S3.
# For now let's assume it's always the most recently added file.
assert len(files) > 0, f"""
Expected to have at least one object in minio/nextcloud. But `mc ls` gave output:
'{files}'
"""
import re
ptrn = re.compile("^\[[A-Z0-9 :-]+\] +(?P<details>[A-Za-z0-9 :]+)$")
match = ptrn.match(files[-1].strip())
assert match, "Cannot match mc client output!"
size, type_, file = tuple(match.group('details').split(' '))
assert size == "3B", f"""
Expected size of uploaded file to be 3 bytes, got {size}
"""
assert type_ == 'STANDARD', f"""
Expected type of bucket entry to be a file, i.e. 'STANDARD'. Got {type_}
"""
assert file.startswith('urn:oid'), """
Expected filename to start with 'urn:oid', instead got '{file}.
"""
with subtest("Test download from S3"):
client.succeed(
"env AWS_ACCESS_KEY_ID=${accessKey} AWS_SECRET_ACCESS_KEY=${secretKey} "
+ f"${lib.getExe pkgs.awscli2} s3 cp s3://nextcloud/{file} test --endpoint-url http://nextcloud:9000 "
+ "--region us-east-1"
)
client.succeed("test hi = $(cat test)")
'';
})

View File

@@ -1,45 +1,30 @@
args@{ pkgs, nextcloudVersion ? 22, ... }:
{ name, pkgs, testBase, system, ... }:
(import ../make-test-python.nix ({ pkgs, ...}: let
adminpass = "hunter2";
adminuser = "custom-admin-username";
in {
name = "nextcloud-with-postgresql-and-redis";
with import ../../lib/testing-python.nix { inherit system pkgs; };
runTest ({ config, ... }: {
inherit name;
meta = with pkgs.lib.maintainers; {
maintainers = [ eqyiel ];
maintainers = [ eqyiel ma27 ];
};
imports = [ testBase ];
nodes = {
# The only thing the client needs to do is download a file.
client = { ... }: {};
nextcloud = { config, pkgs, lib, ... }: {
networking.firewall.allowedTCPPorts = [ 80 ];
services.nextcloud = {
enable = true;
hostName = "nextcloud";
package = pkgs.${"nextcloud" + (toString nextcloudVersion)};
caching = {
apcu = false;
redis = true;
memcached = false;
};
database.createLocally = true;
config = {
dbtype = "pgsql";
inherit adminuser;
adminpassFile = toString (pkgs.writeText "admin-pass-file" ''
${adminpass}
'');
};
config.dbtype = "pgsql";
notify_push = {
enable = true;
logLevel = "debug";
};
extraAppsEnable = true;
extraApps = {
inherit (pkgs."nextcloud${lib.versions.major config.services.nextcloud.package.version}Packages".apps) notify_push notes;
extraApps = with config.services.nextcloud.package.packages.apps; {
inherit notify_push notes;
};
settings.trusted_proxies = [ "::1" ];
};
@@ -49,50 +34,27 @@ in {
};
};
testScript = let
test-helpers.init = let
configureRedis = pkgs.writeScript "configure-redis" ''
#!${pkgs.runtimeShell}
nextcloud-occ config:system:set redis 'host' --value 'localhost' --type string
nextcloud-occ config:system:set redis 'port' --value 6379 --type integer
nextcloud-occ config:system:set memcache.local --value '\OC\Memcache\Redis' --type string
nextcloud-occ config:system:set memcache.locking --value '\OC\Memcache\Redis' --type string
'';
withRcloneEnv = pkgs.writeScript "with-rclone-env" ''
#!${pkgs.runtimeShell}
export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/dav/files/${adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
export RCLONE_CONFIG_NEXTCLOUD_USER="${adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${adminpass})"
"''${@}"
'';
copySharedFile = pkgs.writeScript "copy-shared-file" ''
#!${pkgs.runtimeShell}
echo 'hi' | ${pkgs.rclone}/bin/rclone rcat nextcloud:test-shared-file
'';
diffSharedFile = pkgs.writeScript "diff-shared-file" ''
#!${pkgs.runtimeShell}
diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
'';
in ''
start_all()
nextcloud.wait_for_unit("multi-user.target")
nextcloud.succeed("${configureRedis}")
nextcloud.succeed("curl -sSf http://nextcloud/login")
nextcloud.succeed(
"${withRcloneEnv} ${copySharedFile}"
)
client.wait_for_unit("multi-user.target")
client.execute("${pkgs.lib.getExe pkgs.nextcloud-notify_push.passthru.test_client} http://nextcloud ${adminuser} ${adminpass} >&2 &")
client.succeed(
"${withRcloneEnv} ${diffSharedFile}"
)
nextcloud.wait_until_succeeds("journalctl -u nextcloud-notify_push | grep -q \"Sending ping to ${adminuser}\"")
# redis cache should not be empty
nextcloud.fail('test "[]" = "$(redis-cli --json KEYS "*")"')
nextcloud.fail("curl -f http://nextcloud/nix-apps/notes/lib/AppInfo/Application.php")
'';
})) args
test-helpers.extraTests = ''
with subtest("notify-push"):
client.execute("${pkgs.lib.getExe pkgs.nextcloud-notify_push.passthru.test_client} http://nextcloud ${config.adminuser} ${config.adminpass} >&2 &")
nextcloud.wait_until_succeeds("journalctl -u nextcloud-notify_push | grep -q \"Sending ping to ${config.adminuser}\"")
with subtest("Redis is used for caching"):
# redis cache should not be empty
nextcloud.fail('test "[]" = "$(redis-cli --json KEYS "*")"')
with subtest("No code is returned when requesting PHP files (regression test)"):
nextcloud.fail("curl -f http://nextcloud/nix-apps/notes/lib/AppInfo/Application.php")
'';
})

View File

@@ -2,24 +2,25 @@
let
pname = "plexamp";
version = "4.8.3";
version = "4.10.1";
src = fetchurl {
url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
name="${pname}-${version}.AppImage";
hash = "sha512-CrSXmRVatVSkMyB1QaNSL/tK60rQvT9JraRtYYLl0Fau3M1LJXK9yqvt77AjwIwIvi2Dm5SROG+c4rA1XtI4Yg==";
name = "${pname}-${version}.AppImage";
hash = "sha512-Y43W6aPnZEMnkBQwSHbT8PWjuhkfNxce79Y9cixEPnq4VybROHGb9s6ghV7kP81TSWkb9QruFhmXfuJRSkXxTw==";
};
appimageContents = appimageTools.extractType2 {
inherit pname version src;
};
in appimageTools.wrapType2 {
in
appimageTools.wrapType2 {
inherit pname version src;
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/plexamp.desktop $out/share/applications/plexamp.desktop
install -m 444 -D ${appimageContents}/plexamp.png \
$out/share/icons/hicolor/512x512/apps/plexamp.png
install -m 444 -D ${appimageContents}/plexamp.svg \
$out/share/icons/hicolor/scalable/apps/plexamp.svg
substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}'
'';
@@ -29,9 +30,9 @@ in appimageTools.wrapType2 {
meta = with lib; {
description = "Beautiful Plex music player for audiophiles, curators, and hipsters";
homepage = "https://plexamp.com/";
changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/53";
changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/73";
license = licenses.unfree;
maintainers = with maintainers; [ killercup synthetica ];
maintainers = with maintainers; [ killercup redhawk synthetica ];
platforms = [ "x86_64-linux" ];
};
}

View File

@@ -5,7 +5,7 @@
set -Eeuxo pipefail
cleanup() {
rm -rf "$TMPDIR"
rm -rf "$TMPDIR"
}
trap cleanup EXIT
@@ -42,9 +42,10 @@ if diff "$DEFAULT_NIX" "$WORKING_NIX"; then
fi
# update sha hash (convenietly provided)
sed -i "s@sha.* = .*;@sha512 = \"$SHA512\";@g" "$WORKING_NIX"
sed -i "s@hash.* = .*;@hash = \"sha512-$SHA512\";@g" "$WORKING_NIX"
# update the changelog ("just" increment the number)
# manually check that the changelog corresponds to our Plexamp version
CHANGELOG_URL=$(rg --only-matching 'changelog = "(.+)";' --replace '$1' $WORKING_NIX)
CHANGELOG_NUMBER=$(rg --only-matching '.*/([0-9]+)' --replace '$1' <<< $CHANGELOG_URL)
NEXT_CHANGELOG=$(($CHANGELOG_NUMBER + 1))

View File

@@ -457,15 +457,17 @@
dependencies = with self; [ copilot-lua plenary-nvim ];
};
copilot-vim = super.copilot-vim.overrideAttrs {
copilot-vim = super.copilot-vim.overrideAttrs (old: {
postInstall = ''
substituteInPlace $out/autoload/copilot/client.vim \
--replace " let node = get(g:, 'copilot_node_command', ''\'''\')" \
" let node = get(g:, 'copilot_node_command', '${nodejs}/bin/node')"
'';
meta.license = lib.licenses.unfree;
};
meta = old.meta // {
license = lib.licenses.unfree;
};
});
coq_nvim = super.coq_nvim.overrideAttrs {
passthru.python3Dependencies = ps:

View File

@@ -484,6 +484,23 @@ let
};
};
banacorn.agda-mode = buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "banacorn";
name = "agda-mode";
version = "0.4.7";
hash = "sha256-gNa3n16lP3ooBRvGaugTua4IXcIzpMk7jBYMJDQsY00=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/banacorn.agda-mode/changelog";
description = "agda-mode on VS Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=banacorn.agda-mode";
homepage = "https://github.com/banacorn/agda-mode-vscode";
maintainers = with lib.maintainers; [ Anillc ];
license = lib.licenses.mit;
};
};
batisteo.vscode-django = buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "batisteo";
@@ -655,6 +672,23 @@ let
};
};
bierner.markdown-preview-github-styles = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "markdown-preview-github-styles";
publisher = "bierner";
version = "2.0.4";
hash = "sha256-jJulxvjMNsqQqmsb5szQIAUuLWuHw824Caa0KArjUVw=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/bierner.markdown-preview-github-styles/changelog";
description = "Changes VS Code's built-in markdown preview to match GitHub's styling";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=bierner.markdown-preview-github-styles";
homepage = "https://github.com/mjbvz/vscode-github-markdown-preview-style";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
biomejs.biome = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "biome";
@@ -680,10 +714,17 @@ let
mktplcRef = {
name = "vscode-fish";
publisher = "bmalehorn";
version = "1.0.35";
hash = "sha256-V51Qe6M1CMm9fLOSFEwqeZiC8tWCbVH0AzkLe7kR2vY=";
version = "1.0.38";
hash = "sha256-QEifCTlzYMX+5H6+k2o1lsQrhW3vxVpn+KFg/3WVVFo=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/bmalehorn.vscode-fish/changelog";
description = "Fish syntax highlighting and formatting for VS Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=bmalehorn.vscode-fish";
homepage = "https://github.com/bmalehorn/vscode-fish";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
meta.license = lib.licenses.mit;
};
bmewburn.vscode-intelephense-client = buildVscodeMarketplaceExtension {
@@ -1698,6 +1739,23 @@ let
};
};
fabiospampinato.vscode-open-in-github = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-open-in-github";
publisher = "fabiospampinato";
version = "2.3.0";
hash = "sha256-vrW6uZyeEJipGtfz7BEeeAwiwtBlfQLjC7jAP1v5GoE=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/fabiospampinato.vscode-open-in-github/changelog";
description = "VS Code extension to open the current project or file in github.com";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=fabiospampinato.vscode-open-in-github";
homepage = "https://github.com/fabiospampinato/vscode-open-in-github";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
file-icons.file-icons = buildVscodeMarketplaceExtension {
meta = {
changelog = "https://marketplace.visualstudio.com/items/file-icons.file-icons/changelog";
@@ -2667,6 +2725,23 @@ let
};
};
kravets.vscode-publint = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-publint";
publisher = "Kravets";
version = "0.0.1";
hash = "sha256-6nG5Yqi8liumQ2K9ynV8mNXiXGaGo/cp4Cib1kqdp1c=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/Kravets.vscode-publint/changelog";
description = "Lint packaging errors in VS Code with publint";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=Kravets.vscode-publint";
homepage = "https://github.com/kravetsone/vscode-publint";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
kubukoz.nickel-syntax = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "nickel-syntax";
@@ -2872,6 +2947,23 @@ let
};
};
mesonbuild.mesonbuild = buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "mesonbuild";
name = "mesonbuild";
version = "1.24.0";
hash = "sha256-n7c2CUiTIej2Y/QMGWpv6anuCDjqpo2W+hJylfvvMVE=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/mesonbuild.mesonbuild/changelog";
description = "Meson language support for Visual Studio Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=mesonbuild.mesonbuild";
homepage = "https://github.com/mesonbuild/vscode-meson";
maintainers = with lib.maintainers; [ Anillc ];
license = lib.licenses.asl20;
};
};
mgt19937.typst-preview = callPackage ./mgt19937.typst-preview { };
mhutchie.git-graph = buildVscodeMarketplaceExtension {
@@ -3364,6 +3456,23 @@ let
};
};
nefrob.vscode-just-syntax = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-just-syntax";
publisher = "nefrob";
version = "0.3.0";
hash = "sha256-WBoqH9TNco9lyjOJfP54DynjmYZmPUY+YrZ1rQlC518=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/nefrob.vscode-just-syntax/changelog";
description = "Justfile syntax support for Visual Studio Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=nefrob.vscode-just-syntax";
homepage = "https://github.com/nefrob/vscode-just";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
njpwerner.autodocstring = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "autodocstring";
@@ -5046,6 +5155,22 @@ let
};
};
zguolee.tabler-icons = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "tabler-icons";
publisher = "zguolee";
version = "0.3.4";
hash = "sha256-0XvB9UXqKHbL/ejUfciSvFzZ3GacaQ7pq6hJqRaxq+8=";
};
meta = {
description = "Tabler product icon theme for Visual Studio Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=zguolee.tabler-icons";
homepage = "https://github.com/zguolee/vscode-tabler-icons";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
zhuangtongfa.material-theme = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "material-theme";

View File

@@ -15,11 +15,11 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "1zmgvadhsnsbmqb559kvf66i7h6iq7vw99m7vdxcfmdl6c1pwyvb";
x86_64-darwin = "061h423vay3d28d2015llz7pwlqcrjy0lmw47xgy3iy6hfadrra2";
aarch64-linux = "0n288h6369bazykp6jyapi6yz0k7nivql6wz68fgkagfdyxzl1yb";
aarch64-darwin = "13k9hvbzj8xyfi29g0x4nz80gmjq3s693zi5fi4lbf4bj7jmcamq";
armv7l-linux = "19p6k1rgy83vs76hksjx5d4v32jq31r6aw5kzcc8gsq114xj9c2a";
x86_64-linux = "1r76ikfikagg9v278pgiqhnjsv7pqn0xi372y1l0wsashlxl7kb0";
x86_64-darwin = "156604xzazmb54p0rdkv5wy9livg0xz2jviycdizablmvsxybs57";
aarch64-linux = "0cp120pcjpgf9qvmks9f8l2caxqlvnqvmxa7fh9mf83zpkdmnsnl";
aarch64-darwin = "1k06648jx64irshs0v4qy6xlkd9mk514xf21dlfhvic4aj89kcx9";
armv7l-linux = "0jy8hkbxh1969kskggg2y86cphly9l9gs7y4plj90jmlvlzjjjxm";
}.${system} or throwSystem;
sourceRoot = lib.optionalString (!stdenv.isDarwin) ".";
@@ -29,7 +29,7 @@ in
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.90.0.24158";
version = "1.90.1.24165";
pname = "vscodium";
executableName = "codium";

View File

@@ -55,20 +55,20 @@
"src": {
"owner": "libretro",
"repo": "beetle-pce-libretro",
"rev": "0eb4b423452da40dbf4393e09d4126c3090a1210",
"hash": "sha256-PhhItDKvlvx3uBDx+xEUVr0sW2Y9HiTR/IvsnXVNAqo="
"rev": "3d91a940b3a48254152a8789b79616ceefe4067f",
"hash": "sha256-6zXl49Rns6wCZmcEUWkWqYeSH6W1+qs6Sb998pQ/+Lo="
},
"version": "unstable-2024-05-17"
"version": "unstable-2024-06-14"
},
"beetle-pce-fast": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "libretro",
"repo": "beetle-pce-fast-libretro",
"rev": "414149d335ce2a3284db6cdffbb8ed2ce42dbe5f",
"hash": "sha256-sta71o4NJIPDZlQkAFLzx+XlHVA8MmUjuZ17MuCKhOY="
"rev": "a653bbbdc5cf2bf960e614efdcf9446a9aa8cdf9",
"hash": "sha256-ty4Uluo8D8x+jB7fOqI/AgpTxdttzpbeARiICd3oh9c="
},
"version": "unstable-2024-05-17"
"version": "unstable-2024-06-14"
},
"beetle-pcfx": {
"fetcher": "fetchFromGitHub",
@@ -85,10 +85,10 @@
"src": {
"owner": "libretro",
"repo": "beetle-psx-libretro",
"rev": "b8e10a3039391db6e4fbdc96720d3428a2dbd039",
"hash": "sha256-F38lUBhe9JR3dPwkLqhAAlvLtAeas8bnPuiK6eOpUuU="
"rev": "6e881f9939dd9b33fb5f5587745524a0828c9ef4",
"hash": "sha256-mFIqsybkpSF17HmrfReazYUqVLzuDGwCjzaV7BTLKJ8="
},
"version": "unstable-2024-06-07"
"version": "unstable-2024-06-14"
},
"beetle-saturn": {
"fetcher": "fetchFromGitHub",
@@ -115,10 +115,10 @@
"src": {
"owner": "libretro",
"repo": "beetle-supergrafx-libretro",
"rev": "e3f68c1311d4684a5a59d3d1662d5c4f32662c02",
"hash": "sha256-jTO2SDOefpB+cfahiPkReYID0pjP437h53hZElSLsdY="
"rev": "29b2a6e12c13d623ad94dcb64e1cb341d93ff02d",
"hash": "sha256-sbpCG3QsSn8NOjWC0snvsd7jZYClSbKI79QUnigQwzc="
},
"version": "unstable-2024-06-07"
"version": "unstable-2024-06-14"
},
"beetle-vb": {
"fetcher": "fetchFromGitHub",
@@ -165,10 +165,10 @@
"src": {
"owner": "libretro",
"repo": "bsnes-libretro",
"rev": "44f6ce5dedb138ded8e59d71df18cae5b0655eba",
"hash": "sha256-7iB2VQ3f8YVOV3C+Rkviaj7USoZdO/riDnT9kCdzc8k="
"rev": "9131a4c705e18f7b96e7dbfcfe70b158d10afed1",
"hash": "sha256-NotqQMBHV6E3LSXJHQ5FqIbq2OQbXx6xCbLYV9g12kQ="
},
"version": "unstable-2024-05-31"
"version": "unstable-2024-06-16"
},
"bsnes-hd": {
"fetcher": "fetchFromGitHub",
@@ -297,21 +297,21 @@
"src": {
"owner": "libretro",
"repo": "libretro-fceumm",
"rev": "bc9d865f9427384e40084cb090d94d72d4970e78",
"hash": "sha256-/g7gRNWDbW5LFZ+uBkIf5DMELas0/ilqbmUbvq8YSsE="
"rev": "fe4a4f8a53cc7f91278f393710abb4f32c4e0a8f",
"hash": "sha256-/rZoARZf3SfN8E0o0qm34FYCYscqeEcLg3eYSXenK8s="
},
"version": "unstable-2024-06-09"
"version": "unstable-2024-06-15"
},
"flycast": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "flyinghead",
"repo": "flycast",
"rev": "4cd62781043cd9193c6c5ec04f6a8084375bed0d",
"hash": "sha256-EKK9PNFHWm1Jakq0E6fIqmcDiiiOSgHEbixB3X/H77g=",
"rev": "ca613db70d8897e06562fe089e3e9543b41526a0",
"hash": "sha256-wYKHC+EvLnq+PnL1/hNcrhDyCY+4kaiSjIUKJ9SGPHc=",
"fetchSubmodules": true
},
"version": "unstable-2024-06-08"
"version": "unstable-2024-06-11"
},
"fmsx": {
"fetcher": "fetchFromGitHub",
@@ -338,30 +338,30 @@
"src": {
"owner": "libretro",
"repo": "fuse-libretro",
"rev": "847dbbd6f787823ac9a5dfacdd68ab181063374e",
"hash": "sha256-jzS7SFALV/YjI77ST+IWHwUsuhT+Zr5w4t6C7O8yzFM="
"rev": "9fc41a5f153e1f2fa2dbcfdd215c7ec97d98a29c",
"hash": "sha256-eEgPnSIpKC7s+4JoEHDGPlwYPa5Y8EpoxmNhyOIIcU8="
},
"version": "unstable-2023-06-23"
"version": "unstable-2024-06-16"
},
"gambatte": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "libretro",
"repo": "gambatte-libretro",
"rev": "e2031a4010463adcd00ce3f34acbbb6db2ad1266",
"hash": "sha256-yFj9ZkvDliaTO43l0fjg8FwD17MxjV4wszY7AVjTiNY="
"rev": "863002046a812758da6064daaf579fef1cec19a3",
"hash": "sha256-7rkyMcaKDNOESNrmwYCKM71x3WM8eSN9LBX0xOQRhJ0="
},
"version": "unstable-2024-06-07"
"version": "unstable-2024-06-14"
},
"genesis-plus-gx": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "libretro",
"repo": "Genesis-Plus-GX",
"rev": "60955a01f601ef73c02b07581dd7d5aa3b6a4788",
"hash": "sha256-h0T6i1kiN58TagFo5XHzXMLaEwkGGTyuZpyS1QGNrb8="
"rev": "4e54d585d540d461ecc412c91ca4a79e2338f3b6",
"hash": "sha256-7P6w6pXplOfpP7w+JztNd49FdKBPM8eQeSh93YAG0Y4="
},
"version": "unstable-2024-06-07"
"version": "unstable-2024-06-14"
},
"gpsp": {
"fetcher": "fetchFromGitHub",
@@ -408,11 +408,11 @@
"src": {
"owner": "libretro",
"repo": "mame",
"rev": "4ee35952a8fdb1332e970fa14c3e79c8c968050c",
"hash": "sha256-UIAMq8AIdLKX8SIF2V0+Vc6kHPJ0rmdx4BeqoSrCfFE=",
"rev": "db65a583bd2da39514a544c58362a6ac170179ac",
"hash": "sha256-FTsoLsx7IhyAw/pdaGAeNzysc7vZ3CcyXKWcBJ0pOb8=",
"fetchSubmodules": true
},
"version": "unstable-2024-05-21"
"version": "unstable-2024-06-13"
},
"mame2000": {
"fetcher": "fetchFromGitHub",
@@ -550,10 +550,10 @@
"src": {
"owner": "libretro",
"repo": "neocd_libretro",
"rev": "71ebe5044639b825e5bd1bd590fef3e918133b80",
"hash": "sha256-YVxt3bJ54DD91VHkeQyYdo/BEq//lnBKd9Y42Vby3qc="
"rev": "c5a266254ffbaa2730d2814195f60e7be153fc86",
"hash": "sha256-MJhUYFNrtt2SSLun75OXKrT7nZzLBtyslqG9mziQuRk="
},
"version": "unstable-2024-02-01"
"version": "unstable-2024-06-16"
},
"nestopia": {
"fetcher": "fetchFromGitHub",
@@ -611,10 +611,10 @@
"src": {
"owner": "libretro",
"repo": "parallel-n64",
"rev": "1b57f9199b1f8a4510f7f89f14afa9cabf9b3bdd",
"hash": "sha256-L20RGav0FJfydOICCNhAMGxIuIvPABDtCs5tWzrh768="
"rev": "330fa5efd306ad116c44faf6833a8108ed4144b0",
"hash": "sha256-pltPoWfXFh9OhWnQ+XMhHVZCo6BCGr6jCDhiL5T7LNM="
},
"version": "unstable-2024-01-15"
"version": "unstable-2024-06-10"
},
"pcsx2": {
"fetcher": "fetchFromGitHub",
@@ -631,43 +631,43 @@
"src": {
"owner": "libretro",
"repo": "pcsx_rearmed",
"rev": "1f8c6be323aa8fad329e38682158197e822d27c1",
"hash": "sha256-f1U7hmSywECmXwRi6vhAFjG971XsDXhsYzSAKMa2ZVY="
"rev": "1cdeae2b66fc3ef486ec8016ed5fad437f1a4409",
"hash": "sha256-Zw5CWDeAy3pUV4qXFIfs6kFlEaYhNhl+6pu5fOx34j0="
},
"version": "unstable-2024-05-30"
"version": "unstable-2024-06-17"
},
"picodrive": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "libretro",
"repo": "picodrive",
"rev": "ad93670449a28825d4b2cebf2eeff72cf03377a9",
"hash": "sha256-AGupXJVUkOt7XjXE1s5Y3SzZjZBAujaAAsR0CgxfKe0=",
"rev": "535217f16bc2848ec70985c41e1d131709352641",
"hash": "sha256-K96eN3Erw1G+vQa8pag72hrtgf+tttoNIMXdgCGNy6k=",
"fetchSubmodules": true
},
"version": "unstable-2024-03-26"
"version": "unstable-2024-06-15"
},
"play": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "jpd002",
"repo": "Play-",
"rev": "2f3d8252a2ba398078538abfe8a633b667a858a4",
"hash": "sha256-Trr+xJWcWfQW5TnSTxqAsUK3HSMsoLaAkz7UIwp6L4c=",
"rev": "a5753e582963e8555985abdfe6b5692bac52d701",
"hash": "sha256-OabW7OYitDzMh2bbAokfM+HwMaLo2cY3/FB78/ouvrY=",
"fetchSubmodules": true
},
"version": "unstable-2024-06-04"
"version": "unstable-2024-06-10"
},
"ppsspp": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "hrydgard",
"repo": "ppsspp",
"rev": "5dec3ca2db10943dcdf5e483cc8c28e0524d1a43",
"hash": "sha256-B9/0uGpBrM+qndvO2BC9sQCNkSK3qR2fUtWx5Vx16xU=",
"rev": "cfcca0ed13ca86eb6e1ee7bb4161aabee6c2af06",
"hash": "sha256-K96Ajh/jXxILiKXBaTiNh6FwptPQQG39jGq45aQ7veY=",
"fetchSubmodules": true
},
"version": "unstable-2024-06-09"
"version": "unstable-2024-06-16"
},
"prboom": {
"fetcher": "fetchFromGitHub",
@@ -754,10 +754,10 @@
"src": {
"owner": "snes9xgit",
"repo": "snes9x",
"rev": "c7b77d4a763e8fa3ee2c4ef63b3974527056b7ad",
"hash": "sha256-a9IKbuSrlzrhrRrLRFAnhHWBhaYIf58oRFYjWSqbNTU="
"rev": "a9e64edf73f36fb1a4ac616b11131f6380d8e968",
"hash": "sha256-3m2YTy1Y/ENhI4qmH3FQBZMEKNHsDJVZeOOLRrLj8lw="
},
"version": "unstable-2024-06-07"
"version": "unstable-2024-06-13"
},
"snes9x2002": {
"fetcher": "fetchFromGitHub",
@@ -794,10 +794,10 @@
"src": {
"owner": "stella-emu",
"repo": "stella",
"rev": "1c2dceab2b74980effb8d6497ea64fc3bd6b0be3",
"hash": "sha256-UeuSHHAZV798sSws32PhcBq9q2bGfX758mR+mIEnX+I="
"rev": "b477cb56bc6fd8b6977dcee279f16de01348bdae",
"hash": "sha256-jGyEah9eBEvNB4HewL60yXZvpHseeScYrHsRtzUtjN8="
},
"version": "unstable-2024-06-08"
"version": "unstable-2024-06-15"
},
"stella2014": {
"fetcher": "fetchFromGitHub",

View File

@@ -11,7 +11,7 @@
, flann
, gdal
, gmp
, LASzip
, laszip
, mpfr
, pdal
, pcl
@@ -48,7 +48,7 @@ mkDerivation rec {
flann
gdal
gmp
LASzip
laszip
mpfr
pdal
pcl

View File

@@ -11,13 +11,13 @@
buildDotnetModule rec {
pname = "ArchiSteamFarm";
# nixpkgs-update: no auto update
version = "6.0.1.24";
version = "6.0.3.4";
src = fetchFromGitHub {
owner = "JustArchiNET";
repo = "ArchiSteamFarm";
rev = version;
hash = "sha256-IgsiL5YUeOWQ/WIaTfs0Kmv2XFori8ntGZhrx7xeMkg=";
hash = "sha256-qYB94SJYCwcUrXdKtD+ZdiPRpwXg3rOHVmFWD+Y1ZXg=";
};
dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
@@ -26,15 +26,13 @@ buildDotnetModule rec {
nugetDeps = ./deps.nix;
projectFile = "ArchiSteamFarm.sln";
executables = [ "ArchiSteamFarm" ];
executable = "ArchiSteamFarm";
dotnetFlags = [
"-p:PublishSingleFile=true"
"-p:PublishTrimmed=true"
"-p:UseAppHost=false"
];
dotnetInstallFlags = [
"--framework=net8.0"
];
selfContainedBuild = true;
runtimeDeps = [ libkrb5 zlib openssl ];
@@ -58,11 +56,17 @@ buildDotnetModule rec {
dotnet publish $1 -p:ContinuousIntegrationBuild=true -p:Deterministic=true \
--output $out/lib/ArchiSteamFarm/plugins/$1 --configuration Release \
-p:UseAppHost=false
}
}
buildPlugin ArchiSteamFarm.OfficialPlugins.ItemsMatcher
buildPlugin ArchiSteamFarm.OfficialPlugins.MobileAuthenticator
buildPlugin ArchiSteamFarm.OfficialPlugins.SteamTokenDumper
buildPlugin ArchiSteamFarm.OfficialPlugins.ItemsMatcher
buildPlugin ArchiSteamFarm.OfficialPlugins.MobileAuthenticator
buildPlugin ArchiSteamFarm.OfficialPlugins.Monitoring
buildPlugin ArchiSteamFarm.OfficialPlugins.SteamTokenDumper
chmod +x $out/lib/ArchiSteamFarm/ArchiSteamFarm.dll
wrapDotnetProgram $out/lib/ArchiSteamFarm/ArchiSteamFarm.dll $out/bin/ArchiSteamFarm
substituteInPlace $out/bin/ArchiSteamFarm \
--replace-fail "exec " "exec dotnet "
'';
passthru = {

View File

@@ -57,10 +57,14 @@
(fetchNuGet { pname = "Humanizer.Core.zh-Hans"; version = "2.14.1"; sha256 = "0zn99311zfn602phxyskfjq9vly0w5712z6fly8r4q0h94qa8c85"; })
(fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.14.1"; sha256 = "0qxjnbdj645l5sd6y3100yyrq1jy5misswg6xcch06x8jv7zaw1p"; })
(fetchNuGet { pname = "JetBrains.Annotations"; version = "2023.3.0"; sha256 = "0vp4mpn6gfckn8grzjm1jxlbqiq2fglm2rk9wq787adw7rxs8k7w"; })
(fetchNuGet { pname = "Markdig.Signed"; version = "0.36.2"; sha256 = "02d658sjxd853lmqhhh13yhycm9nlmghl3p3fdn6iwmwhkly9qvy"; })
(fetchNuGet { pname = "Microsoft.ApplicationInsights"; version = "2.21.0"; sha256 = "1q034jbqkxb8lddkd0ijp0wp0ymnnf3bg2mjpay027zv7jswnc4x"; })
(fetchNuGet { pname = "Markdig.Signed"; version = "0.37.0"; sha256 = "0pcysg74pvhqs13087dh5r90xnixklmnz7bwv02304927mkv5345"; })
(fetchNuGet { pname = "Microsoft.ApplicationInsights"; version = "2.22.0"; sha256 = "0h5qkhmazlvwvjmxxj9pp2404rmvk55yf6npwcmlskv9mgfkli4r"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "8.0.0"; sha256 = "05y1xb5fw8lzvb4si77a5qwfwfz1855crqbphrwky6x9llivbhkx"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "8.0.0"; sha256 = "18zdbcb2bn7wy1dp14z5jyqiiwr9rkad1lcb158r5ikjfq1rg5iw"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "8.0.0"; sha256 = "1nbxzmj6cnccylxis67c54c0ik38ma4rwdvgg6sxd6r04219maqm"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "8.0.0"; sha256 = "1wqkbjd1ywv9w397l7rsb89mijc5n0hv7jq9h09xfz6wn9qsp152"; })
(fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; })
(fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.8.0"; sha256 = "173wjadp3gan4x2jfjchngnc4ca4mb95h1sbb28jydfkfw0z1zvj"; })
(fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.10.0"; sha256 = "0s0v7jmrq85n356xv7zixvwa4z94fszjcr5vll8x4im1a2lp00f9"; })
(fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "6.0.5"; sha256 = "1pi2bm3cm0a7jzqzmfc2r7bpcdkmk3hhjfvb2c81j7wl7xdw3624"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "8.0.0"; sha256 = "080kab87qgq2kh0ijry5kfdiq9afyzb8s0k3jqi5zbbi540yq4zl"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; sha256 = "1jlpa4ggl1gr5fs7fdcw04li3y3iy05w3klr9lrrlc7v8w76kq71"; })
@@ -76,54 +80,60 @@
(fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; sha256 = "0p50qn6zhinzyhq9sy5svnmqqwhw2jajs2pbjh9sah504wjvhscz"; })
(fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "8.0.0"; sha256 = "04nm8v5a3zp0ill7hjnwnja3s2676b4wffdri8hdk2341p7mp403"; })
(fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; sha256 = "0aldaz5aapngchgdr7dax9jw5wy7k7hmjgjpfgfv1wfif27jlkqm"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "7.5.0"; sha256 = "0nigij1vz1biw1sl64mflx68fgm34lmnvq47z2n5p0qs534kvkhb"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "7.5.0"; sha256 = "025ixbv7jq294n8yw4y1bbd92iz08q4jqnnzqp0s8lgi49sk9dad"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "7.5.0"; sha256 = "1qyyfxww980s7xzw048kc8iqzarzbaj11cb5lrsisv777ccipma5"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "7.5.0"; sha256 = "0ns56pws3zlwjk8mjyfr02zl3nnhzka76wabfabplfci62bgi3h0"; })
(fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.8.0"; sha256 = "1syvl3g0hbrcgfi9rq6pld8s8hqqww4dflf1lxn59ccddyyx0gmv"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "7.6.0"; sha256 = "18g4j9n47387k4ym3kl2dzhhhs6fs5rq96757fc4lcdql2rpkmp0"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "7.6.0"; sha256 = "11znwbbg44hhz3ly6j6q81qz83yqf97jj5zhpldng5zq0h791srl"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "7.6.0"; sha256 = "1slkzygcn4abpqip4rmi73h9096ihjkkaiwgmkaiba9pidn9lzlx"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "7.6.0"; sha256 = "1blj1ayw9qpjpsnb4k95s03pdkin0032mxgznfaw1z1qhhiqdnsi"; })
(fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.10.0"; sha256 = "13g8fwl09li8fc71nk13dgkb7gahd4qhamyg2xby7am63nlchhdf"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "8.0.0"; sha256 = "0gwqmkmr7jy3sjh9gha82amlry41gp8nwswy2iqfw54f28db63n7"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "8.0.0"; sha256 = "042cjvnwrrjs3mw5q8q5kinh0cwkks33i3n1vyifaid2jbr3wlc0"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "8.0.0"; sha256 = "06ndp4wh1cap01dql3nixka4g56bf6ipmqys7xaxvg4xisf79x8d"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "8.0.0"; sha256 = "1kh5bnaf6h9mr4swcalrp304625frjiw6mlz1052rxwzsdq98a96"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
(fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.2.3"; sha256 = "07b19k89whj69j87afkz86gp9b3iybw8jqwvlgcn43m7fb2y99rr"; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.Telemetry"; version = "1.0.2"; sha256 = "00psv2mvynd2bz8xnzvqvb32qr33glqxg4ni5j91b93k84yjy5ma"; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.TrxReport.Abstractions"; version = "1.0.2"; sha256 = "09yn3hi9npgi8rs2vyfyzcl8vbfa1lqcl6lgpymw5d7lg0hc511w"; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.VSTestBridge"; version = "1.0.2"; sha256 = "0c65fsc23xxw648xh83sjcmrn9hvs9q58l5lb36wflvaajbsjf2r"; })
(fetchNuGet { pname = "Microsoft.Testing.Platform"; version = "1.0.2"; sha256 = "0bq46f4v2r4nzwly7g0dsakyc1lcql9nh85sp59d1fwzaknf1n94"; })
(fetchNuGet { pname = "Microsoft.Testing.Platform.MSBuild"; version = "1.0.2"; sha256 = "1vjqrpqjx3z1irqgy0ckmkgyvrzqqqcikxs36q6gadyj643ra1c5"; })
(fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.6.14"; sha256 = "1wr8crmjg4gznm3jqgz9s9p285vrwb8a6baqc6gz3b58rn4m88km"; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.Telemetry"; version = "1.2.1"; sha256 = "1a6hyd3szjjpjkbr0ncfria0x2qijv3lwr4drhxm15xamfy23azw"; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.TrxReport.Abstractions"; version = "1.2.1"; sha256 = "19309m0b9cjy1642m99ipjvr6gxq6qb008bam3l10m1mz8m81j31"; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.VSTestBridge"; version = "1.2.1"; sha256 = "1bly8375zng21yjbfdi08c14lgapngv06p1dlzbryimxicqzxixx"; })
(fetchNuGet { pname = "Microsoft.Testing.Platform"; version = "1.2.1"; sha256 = "0zlbqmvdb1vxnvmxh6lk65mz57c7mz6dqb1s8in0cfww8kxg058k"; })
(fetchNuGet { pname = "Microsoft.Testing.Platform.MSBuild"; version = "1.2.1"; sha256 = "07674xnhc84h36pvzswx6ibjy0bgfi2bxhqm1zyq9fidmim0ch07"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.10.0"; sha256 = "07j69cw8r39533w4p39mnj00kahazz38760in3jfc45kmlcdb26x"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.5.0"; sha256 = "0qkjyf3ky6xpjg5is2sdsawm99ka7fzgid2bvpglwmmawqgm8gls"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.8.0"; sha256 = "0b0i7lmkrcfvim8i3l93gwqvkhhhfzd53fqfnygdqvkg6np0cg7m"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.8.0"; sha256 = "0f5jah93kjkvxwmhwb78lw11m9pkkq9fvf135hpymmmpxqbdh97q"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.10.0"; sha256 = "1bl471s7fx9jycr0cc8rylwf34mrvlg9qn1an6l86nisavfcyb7v"; })
(fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; })
(fetchNuGet { pname = "MSTest"; version = "3.2.2"; sha256 = "19pkywdlmgccv2ri52gbpb3pgci1ymb2ba5qhyp9j19vks6gf6cj"; })
(fetchNuGet { pname = "MSTest.Analyzers"; version = "3.2.2"; sha256 = "1ap7imbqxmz2namgli796pxj91gyn01k6xxnllldpwwbxpd0ijgd"; })
(fetchNuGet { pname = "MSTest.TestAdapter"; version = "3.2.2"; sha256 = "14nrxg1cd3lzaxw7zz8z91168sgnsf1xxnrpdy7wkd6ggk22hi19"; })
(fetchNuGet { pname = "MSTest.TestFramework"; version = "3.2.2"; sha256 = "0igdrjr300bqz5lnibf9vl8pkaky1l27f889gza3a9xs83mpd06p"; })
(fetchNuGet { pname = "MSTest"; version = "3.4.3"; sha256 = "070avma2zdxdpn23a9chgz9n1kglxh8nbb1g2ggzk3xxi5sdjj0n"; })
(fetchNuGet { pname = "MSTest.Analyzers"; version = "3.4.3"; sha256 = "14a6rzh4cvaf9bw63qlxw242fbmk4agyx9qgl19swpciqcaq7pxi"; })
(fetchNuGet { pname = "MSTest.TestAdapter"; version = "3.4.3"; sha256 = "0hsslndnfyb6shgkmgy10f1c9p6b47ry20zr2l1msagmkrk49s5q"; })
(fetchNuGet { pname = "MSTest.TestFramework"; version = "3.4.3"; sha256 = "0hviglzfv16dd3aczny455sy1k0rikzd5w34smfpjyxc0wqx6xvp"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
(fetchNuGet { pname = "Nito.AsyncEx.Coordination"; version = "5.1.2"; sha256 = "0sxvmqnv8a94k3pq1w3lh1vgjb8l62h1qamxcjl3pkq634h2fwrl"; })
(fetchNuGet { pname = "Nito.AsyncEx.Tasks"; version = "5.1.2"; sha256 = "11wp47kc69sjdxrbg5pgx0wlffqlp0x5kr54ggnz2v19kmjz362v"; })
(fetchNuGet { pname = "Nito.Collections.Deque"; version = "1.1.1"; sha256 = "152564q3s0n5swfv5p5rx0ghn2sm0g2xsnbd7gv8vb9yfklv7yg8"; })
(fetchNuGet { pname = "Nito.Disposables"; version = "2.2.1"; sha256 = "1hx5k8497j34kxxgh060bvij0vfnraw90dmm3h9bmamcdi8wp80l"; })
(fetchNuGet { pname = "NLog"; version = "5.2.8"; sha256 = "1z3h20m5rjnizm1jbf5j0vpdc1f373rzzkg6478p1lxv5j385c12"; })
(fetchNuGet { pname = "NLog.Extensions.Logging"; version = "5.3.8"; sha256 = "1qnz91099f51vk7f5g2ig0041maw5hcbyqllxvj5zj7zkp0qw9b8"; })
(fetchNuGet { pname = "NLog.Web.AspNetCore"; version = "5.3.8"; sha256 = "05a6bzvdf63lbnn6sj3yfggxcgv96j91kdbcw0ac5hxl58df58r6"; })
(fetchNuGet { pname = "NLog"; version = "5.3.2"; sha256 = "01qnzmwvc93yywhvy5g29fb8jnalfi82az7296nblyqjalhbzz3g"; })
(fetchNuGet { pname = "NLog.Extensions.Logging"; version = "5.3.11"; sha256 = "0j276q0a14qk9nc3f03265jl5wp38bnm7dyyx0s4kxkyb3kx3z8c"; })
(fetchNuGet { pname = "NLog.Web.AspNetCore"; version = "5.3.11"; sha256 = "17xvaj54liyk9zq0f80z1ai6wq4rgj6xy93znvsdcnldmin1icz9"; })
(fetchNuGet { pname = "NuGet.Frameworks"; version = "5.11.0"; sha256 = "0wv26gq39hfqw9md32amr5771s73f5zn1z9vs4y77cgynxr73s4z"; })
(fetchNuGet { pname = "NuGet.Frameworks"; version = "6.5.0"; sha256 = "0s37d1p4md0k6d4cy6sq36f2dgkd9qfbzapxhkvi8awwh0vrynhj"; })
(fetchNuGet { pname = "OpenTelemetry"; version = "1.8.0-rc.1"; sha256 = "0scpylqwqmp7lpmixci88v6zf7jzf3zrcbrhl30bd4p7r4alw2lp"; })
(fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.7.0"; sha256 = "099yivazj5078076xydssf38r71c5nk3n7hy0lr51p80gln1vdha"; })
(fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.8.0-rc.1"; sha256 = "0rnl9pkwbz2srkss3ay05jjrfkyzibxa6vx0hg7rzfpyjinhaycs"; })
(fetchNuGet { pname = "OpenTelemetry.Api.ProviderBuilderExtensions"; version = "1.7.0"; sha256 = "1j7bxhpwpcrjr4am7s4mavjjpasikv4kp8glmxiw5x9zvc0x0ix7"; })
(fetchNuGet { pname = "OpenTelemetry.Api.ProviderBuilderExtensions"; version = "1.8.0-rc.1"; sha256 = "18r7m4zjimkkwjqw8hd9xa85lnj1fy45xyd338fbpp9nm73j9r2g"; })
(fetchNuGet { pname = "OpenTelemetry.Exporter.Prometheus.AspNetCore"; version = "1.8.0-rc.1"; sha256 = "0fiz7qpzn64by4dlc5r9ha2qrp1j9w9lm6c7bzpvshzwz8ifamv7"; })
(fetchNuGet { pname = "OpenTelemetry.Extensions.Hosting"; version = "1.8.0-rc.1"; sha256 = "0p5sybp1b8fkccibhlmjlvdnhryscqh9f435c34bwp6vvllxf17z"; })
(fetchNuGet { pname = "OpenTelemetry.Instrumentation.AspNetCore"; version = "1.7.1"; sha256 = "19r12csxwdrvl5yx88mv68rzj2cy43004pwldy6q89v42sr01kyi"; })
(fetchNuGet { pname = "OpenTelemetry.Instrumentation.Http"; version = "1.7.1"; sha256 = "0mvrcz2mg3caf4lcwi1ai7i7ldb27p4y2qx9vckfjal203bps352"; })
(fetchNuGet { pname = "OpenTelemetry.Instrumentation.Runtime"; version = "1.7.0"; sha256 = "0klyd24akymj2hpjlnzmz7x9kggj4amhaqx1zh9nxjvlmmy64gxy"; })
(fetchNuGet { pname = "OpenTelemetry"; version = "1.7.0-rc.1"; sha256 = "0y16qp3xrypk48f27pfvccic47p9wpl4qx8mar4rf2b78ca21c9p"; })
(fetchNuGet { pname = "OpenTelemetry"; version = "1.8.1"; sha256 = "1slyjdzbiv179sq91bq6bhbqw20jmk6j9x1g5fhvnqsymfqmnmq2"; })
(fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.7.0-rc.1"; sha256 = "1i09vjjrimg0bwraamsjdqx886apscwj72skds3ysvc9c7n0hpl2"; })
(fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.8.0"; sha256 = "0s402mz4gz1chlg29159awawpi6ms4ln5gdds01y38wx6cia6lb9"; })
(fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.8.1"; sha256 = "0c2dvnnnizn5g50js336lkgfxh6klcdb0h8pppf68v3liwlhxly5"; })
(fetchNuGet { pname = "OpenTelemetry.Api.ProviderBuilderExtensions"; version = "1.7.0-rc.1"; sha256 = "1ayy2q9cg6482ahvz3cx7a3cikjrnmr5kr7yk9qnbbwy0wfmb6gw"; })
(fetchNuGet { pname = "OpenTelemetry.Api.ProviderBuilderExtensions"; version = "1.8.0"; sha256 = "1vhl02w068ynhpak0pyjn2xmrnisl9m73lmsckwkncrhinplw7hz"; })
(fetchNuGet { pname = "OpenTelemetry.Api.ProviderBuilderExtensions"; version = "1.8.1"; sha256 = "0lys1l0qsna2h82j2rbxi5fc8barrq43fs0lradr85r7sy3x91cg"; })
(fetchNuGet { pname = "OpenTelemetry.Exporter.Prometheus.AspNetCore"; version = "1.7.0-rc.1"; sha256 = "1777nbj78yppmqmwvv0bsl4l0vp8lfc5fpsdmknf6wl354f0z1f8"; })
(fetchNuGet { pname = "OpenTelemetry.Extensions.Hosting"; version = "1.8.1"; sha256 = "01vi9sqb2j25i6926c581w067nadf4q4hs0hkwjg8wpzhxz0n3xq"; })
(fetchNuGet { pname = "OpenTelemetry.Instrumentation.AspNetCore"; version = "1.8.1"; sha256 = "0s5kxqjhmwm2p2sblmmsavvmknqb8yr0b07ngq8hk0w8b48kyc0h"; })
(fetchNuGet { pname = "OpenTelemetry.Instrumentation.Http"; version = "1.8.1"; sha256 = "0p3mw08vi9ljf06239n8b1hfj0cqqb198qn89sf39mdjsy13ca95"; })
(fetchNuGet { pname = "OpenTelemetry.Instrumentation.Runtime"; version = "1.8.1"; sha256 = "0j2i01378848nvib1krk948lp74x8ykgspka05g37a3s284p1nyd"; })
(fetchNuGet { pname = "protobuf-net"; version = "3.2.30"; sha256 = "08bjdn8dbqpzn5c9fw89y5766irwplgyzhyxcrjzpywkwpj75r4i"; })
(fetchNuGet { pname = "protobuf-net.Core"; version = "3.2.30"; sha256 = "01mgw4s0b2vxf55v6fa3n5l9jwk6bkl60aaqv7azl198wwslkjhq"; })
(fetchNuGet { pname = "SteamKit2"; version = "3.0.0-alpha.1"; sha256 = "01lrbkbpfqdkhba9hsfg9fqyh1sa9r2cp54r2wlb83zfr3f5q8l8"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.5.0"; sha256 = "0k61chpz5j59s1yax28vx0mppx20ff8vg8grwja112hfrzj1f45n"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.Annotations"; version = "6.5.0"; sha256 = "00n8s45xwbayj3p6x3awvs87vqvmzypny21nqc61m7a38d1asijv"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.5.0"; sha256 = "1s6axf6fin8sss3bvzp0s039rxrx71vx4rl559miw12bz3lld8kc"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.5.0"; sha256 = "0hq93gy5vyrigpdk9lhqwxglxwkbxa8ydllwcqs4bwfcsspzrs83"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.5.0"; sha256 = "17hx7kc187higm0gk67dndng3n7932sn3fwyj48l45cvyr3025h7"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.6.2"; sha256 = "0lq774iggpvsmykbrplvv2a5z2ylsslv5wynmvpnlznd4lvgxb4h"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.Annotations"; version = "6.6.2"; sha256 = "1snz71ws87kr8pz4c3zcla51mqbly015ib6b0y20xvkj25qx7gl8"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.6.2"; sha256 = "0j93y0krn5fzvji0k7g4cxi22b7j8n3brxw4698pjq2pqqf2d8qy"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.6.2"; sha256 = "00lar7246mncidflm15xz5b9hpni9bf8wj37dc0l2sj3hhv9nvwj"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.6.2"; sha256 = "0w0h2cs8n5avczzm5plzmkvkc6xn0pj425f4400fk21h8ysvhg8h"; })
(fetchNuGet { pname = "System.Collections.Immutable"; version = "1.7.1"; sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq"; })
(fetchNuGet { pname = "System.Collections.Immutable"; version = "7.0.0"; sha256 = "1n9122cy6v3qhsisc9lzwa1m1j62b8pi2678nsmnlyvfpk0zdagm"; })
(fetchNuGet { pname = "System.Composition"; version = "8.0.0"; sha256 = "0y7rp5qwwvh430nr0r15zljw01gny8yvr0gg6w5cmsk3q7q7a3dc"; })
@@ -141,5 +151,4 @@
(fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "8.0.0"; sha256 = "1ysjx3b5ips41s32zacf4vs7ig41906mxrsbmykdzi0hvdmjkgbx"; })
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; })
(fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "8.0.0"; sha256 = "1lgdd78cik4qyvp2fggaa0kzxasw6kc9a6cjqw46siagrm0qnc3y"; })
(fetchNuGet { pname = "zxcvbn-core"; version = "7.0.92"; sha256 = "1pbi0n3za8zsnkbvq19njy4h4hy12a6rv4rknf4a2m1kdhxb3cgx"; })
]

View File

@@ -2,7 +2,7 @@
buildNpmPackage rec {
pname = "asf-ui";
version = "f70253c96e76fff5c5537c7be57a57de4e273eb8";
version = "78188871dfce90fb04096e9fd0b6ce2411312dae";
src = fetchFromGitHub {
owner = "JustArchiNET";
@@ -10,10 +10,10 @@ buildNpmPackage rec {
# updated by the update script
# this is always the commit that should be used with asf-ui from the latest asf version
rev = version;
hash = "sha256-hw6M8O486vnWqdO4DqljOoGEevykpxhez3QL745VfIk=";
hash = "sha256-NBxN3pQFiDsRYp2Ro0WwWdGzKVjPTKx4/xWQrMNuv0M=";
};
npmDepsHash = "sha256-GpGVM9c5yaLHi77qpShm30/uObg1TdLFCIhmFvLEhaU=";
npmDepsHash = "sha256-9pLbSOMfKwkWtzmKNmeKNrgdtzh3riWWJlrbuoDRUrw=";
installPhase = ''
runHook preInstall

View File

@@ -118,7 +118,7 @@ mkDerivation rec {
homepage = "https://www.google.com/earth/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ friedelino shamilton ];
maintainers = with maintainers; [ shamilton ];
platforms = platforms.linux;
knownVulnerabilities = [ "Includes vulnerable versions of bundled libraries: openssl, ffmpeg, gdal, and proj." ];
};

View File

@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "tickrs";
version = "0.14.9";
version = "0.14.10";
src = fetchFromGitHub {
owner = "tarkah";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-cN5GtU3bmsdJvfjVdWvWAshiU3Ged7L9pc8wid8GQwA=";
hash = "sha256-6iMThVLIkFoNa7Z0MuyhUNGCwFtCfmG7jHvDfrEZE2I=";
};
cargoHash = "sha256-ngDA085V3+2oBH13Fs+pJez2W2/i1pEKoWdqJ4/3Q0I=";
cargoHash = "sha256-gfBmoN91xUcjBafxBoLP41Fl8FuH2taAu3P6sgJPNWI=";
nativeBuildInputs = [
pkg-config

View File

@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "tuckr";
version = "0.8.0";
version = "0.8.1";
src = fetchFromGitHub {
owner = "RaphGL";
repo = "Tuckr";
rev = version;
hash = "sha256-S4mHNCyK7WGYRBckxQkwA3+eu7QhUyKkOZ/KqhMJf+s=";
hash = "sha256-oQSuR0Zt1T8YU3O2Dq/qHl4ysVDl+3EVvp9r2mD3hRA=";
};
cargoHash = "sha256-aUhiMJUKV+Da3WLUY9Jr3oDB8yqcUm0pP05yKaITjM0=";
cargoHash = "sha256-ESDfUZsoqwBurXuwNIRSqxoDWnA2VpDZ9Q9GGaV8B4Y=";
doCheck = false; # test result: FAILED. 5 passed; 3 failed;

View File

@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "argo-rollouts";
version = "1.6.0";
version = "1.7.0";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo-rollouts";
rev = "v${version}";
sha256 = "sha256-WJ5vIfQQguwjInS5p+bUYorM90MUAbH8endV/nkgQ00=";
sha256 = "sha256-b1oaLVwom06XUCjMF3/O/SdLt2s0MFuF+et6+MO2jBQ=";
};
vendorHash = "sha256-vBSS1KMfloK5pvVc8nHE5B8PsVZTS/iA9GyrLaeR6ps=";
vendorHash = "sha256-38BLPNc6en70+UxlldmrwtRTMRLh/fCPL6FtuA2ODGM=";
# Disable tests since some test fail because of missing test data
doCheck = false;

View File

@@ -34,16 +34,16 @@ let
in
buildGoModule rec {
pname = "argo";
version = "3.5.7";
version = "3.5.8";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo";
rev = "refs/tags/v${version}";
hash = "sha256-OJkC+uqOuXA6NBpVxmQAFs+N99d4Zonh9dcZnuB26Ts=";
hash = "sha256-BYUP/Gu+N8KK9mfjRAXupXqrwfZMZlYPxxuZCmUDFfE=";
};
vendorHash = "sha256-O7Lv5RLcqB4JbdXHKXFWkg/dvids8QH619urpeACuN8=";
vendorHash = "sha256-pVOTeH6fq4Gqarjvi7w2wYJ3FSqV6yNZERmOmbVGxLM=";
doCheck = false;

View File

@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "cni";
version = "1.2.0";
version = "1.2.1";
src = fetchFromGitHub {
owner = "containernetworking";
repo = pname;
rev = "v${version}";
hash = "sha256-32rmfBjPtc9w+B8PIb8sFOIlzZ7PnS6XSZRNLreMVl4=";
hash = "sha256-aS7THDTpfNQPw+70ZgFzvurpq/vMKE6xSxJ19ERbtOA=";
};
vendorHash = "sha256-JWaQacekMQGT710U5UgiIpmEYgyUCh1uks5eSV5nhWc=";
vendorHash = "sha256-5VsJ3Osm9w09t3x0dItC2iWwbPMf/IIBOSqUfcbQKK4=";
subPackages = [
"./cnitool"

View File

@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "cni-plugins";
version = "1.5.0";
version = "1.5.1";
src = fetchFromGitHub {
owner = "containernetworking";
repo = "plugins";
rev = "v${version}";
hash = "sha256-gJp1w2H+hPSSu1Y4BY9Sa8lLnhpiZJu2Dz9OenYlQFo=";
hash = "sha256-Veuv7DwwnSUnz2p5gemqQB9pr05nLLQ6gG4JvqFbZ/U=";
};
vendorHash = null;

View File

@@ -5,16 +5,16 @@
buildGoModule rec {
pname = "kubefirst";
version = "2.4.9";
version = "2.4.10";
src = fetchFromGitHub {
owner = "kubefirst";
repo = "kubefirst";
rev = "refs/tags/v${version}";
hash = "sha256-BuGE+SVLklToKnH7pptfuHqwddncUQq523RZtfmtkLg=";
hash = "sha256-EgJ+ymddMsB37ygREwdF6qmGcgJKPz06//dwwa1pXd0=";
};
vendorHash = "sha256-ZcZl4knlyKAwTsiyZvlkN5e2ox30B5aNzutI/2UEE9U=";
vendorHash = "sha256-5UdKjxs0f8dHTzWvHpMbYSCcIqTU5aT5anNVk0O94tw=";
ldflags = [
"-s"

View File

@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kubeshark";
version = "52.3.62";
version = "52.3.68";
src = fetchFromGitHub {
owner = "kubeshark";
repo = "kubeshark";
rev = "v${version}";
hash = "sha256-mYFjs/6aO7tzopOZij9rNoOu2a/UUQqpDg16gCoeR8w=";
hash = "sha256-GDK+GR3MUYUgfY3cgaxWIYSE3uiEscp9DeeY36/zOYo=";
};
vendorHash = "sha256-0WRmAqslZj63m+kCFKIBgoRX47ZyRuU7ZihmF6wmZy4=";

View File

@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "temporal";
version = "1.24.1";
version = "1.24.2";
src = fetchFromGitHub {
owner = "temporalio";
repo = "temporal";
rev = "v${version}";
hash = "sha256-GEmlmVTxQPoKsb9RtS6RcHY/0iDZsj3jG/Les2VPMAc=";
hash = "sha256-hQkus8BZvtR2ObCJbtP2SZST9tRxuPjFwR+jKDYH8Bs=";
};
vendorHash = "sha256-u9xQFTwVKEGRPhBwcBgexCQhlNO91yP4m4vchCdBt9E=";

View File

@@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "tftui";
version = "0.13.3";
version = "0.13.5";
pyproject = true;
src = fetchFromGitHub {
owner = "idoavrah";
repo = "terraform-tui";
rev = "refs/tags/v${version}";
hash = "sha256-ojmq5m2BRB2Jwvg4j4zc0/jtv4rg1OKJpQiUQoBn+s0=";
hash = "sha256-xOlPuPVwfVT7jfBJPqZ5FbOs80HE0k2ZqcA+Jcxh9p4=";
};
pythonRelaxDeps = [

View File

@@ -176,10 +176,10 @@ stdenv.mkDerivation {
# Wrap feishu and vulcan
# Feishu is the main executable, vulcan is the builtin browser
for executable in $out/opt/bytedance/feishu/{feishu,vulcan/vulcan}; do
# FIXME: Add back NIXOS_OZONE_WL support once upstream fixes the crash on native Wayland (see #318035)
wrapProgram $executable \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
--prefix LD_LIBRARY_PATH : ${rpath}:$out/opt/bytedance/feishu:${addOpenGLRunpath.driverLink}/share \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
${lib.optionalString (commandLineArgs!="") "--add-flags ${lib.escapeShellArg commandLineArgs}"}
done

View File

@@ -1,6 +1,7 @@
{ lib
, buildNpmPackage
, fetchFromGitHub
, nixosTests
}:
buildNpmPackage rec {
@@ -16,6 +17,10 @@ buildNpmPackage rec {
npmDepsHash = "sha256-md76I7W5QQvfbOmk5ODssMtJAVOj8nvaJ2PakEZ8WUA=";
passthru.tests = {
inherit (nixosTests) flood;
};
meta = with lib; {
description = "Modern web UI for various torrent clients with a Node.js backend and React frontend";
homepage = "https://flood.js.org";

View File

@@ -44,6 +44,17 @@ let
x86hash = "";
x64suffix = "65";
x86suffix = "";
homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest12.html";
};
"24.05.0" = {
major = "24";
minor = "5";
patch = "0";
x64hash = "sha256-pye2JOilSbp8PFCpVXFkrRW98E8klCqoisVSWjR38nE=";
x86hash = "";
x64suffix = "76";
x86suffix = "";
homepage = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html";
};
};

View File

@@ -15,11 +15,11 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ticktick";
version = "2.0.10";
version = "2.0.20";
src = fetchurl {
url = "https://d2atcrkye2ik4e.cloudfront.net/download/linux/linux_deb_x64/${finalAttrs.pname}-${finalAttrs.version}-amd64.deb";
hash = "sha256-wign7U1p4HX6/RwnMm2iVSNaYRhn8Ia6QQd5X6m3B0E=";
hash = "sha256-5w50QMSMmkpuhSOqv3LjrcQQDwaD7pIdKUo+8YUgvpk=";
};
nativeBuildInputs = [

View File

@@ -1,23 +0,0 @@
{ lib, python2Packages, fetchFromGitHub }:
python2Packages.buildPythonPackage rec {
pname = "poretools";
version = "unstable-2016-07-10";
src = fetchFromGitHub {
repo = pname;
owner = "arq5x";
rev = "e426b1f09e86ac259a00c261c79df91510777407";
sha256 = "0bglj833wxpp3cq430p1d3xp085ls221js2y90w7ir2x5ay8l7am";
};
propagatedBuildInputs = [ python2Packages.h5py python2Packages.matplotlib python2Packages.seaborn python2Packages.pandas ];
meta = {
description = "Toolkit for working with nanopore sequencing data from Oxford Nanopore";
license = lib.licenses.mit;
homepage = "https://poretools.readthedocs.io/en/latest/";
maintainers = [ lib.maintainers.rybern ];
broken = true; # Build error: h5py-3.9.0 not supported for interpreter python2.7
};
}

View File

@@ -43,13 +43,13 @@ let
in
stdenv.mkDerivation rec {
pname = "openmolcas";
version = "24.02";
version = "24.06";
src = fetchFromGitLab {
owner = "Molcas";
repo = "OpenMolcas";
rev = "v${version}";
hash = "sha256-4Ek0cnaRfLEbj1Nj31rRp9b2sois4rIFTcpOUq9h2mw=";
hash = "sha256-/y6vEvA1Zf+p7Z0WpcN4P5voLN8MmfbKz1FuthgVQp0=";
};
patches = [

View File

@@ -3,23 +3,23 @@
{
"kicad" = {
kicadVersion = {
version = "8.0.2";
version = "8.0.3";
src = {
rev = "55a4d4f5e2f54be6ccf74a8919d04684c9df4c50";
sha256 = "069ycii9zvdxwxd73afd6bp975r1555yvifi9zdb77qyvn0d9nr9";
rev = "8ba5ba46af8502ea7a7d2a9754363167c2742399";
sha256 = "0hafvcjjwylgcpgyyasmb2q210k82wvcswvgjvwwh76bwshwcpwa";
};
};
libVersion = {
version = "8.0.2";
version = "8.0.3";
libSources = {
symbols.rev = "099ac0c8ac402a685fde00b1369e34a116e29661";
symbols.sha256 = "0w333f89yw2m0zlpkg0k6hfwlj10snm8laihdjnsb22asyz4pbhn";
templates.rev = "2e2da58e02707d327d59d4101c401a82dc9a26f6";
templates.sha256 = "073a6cyvzzy0vmkj3ip4ziq7b7pcizs70nm5acw838dxghjfyv3v";
footprints.rev = "e8c30550cde4945cbe1bf30cccf0b3c1e2bda6c6";
footprints.sha256 = "10j8qjljc1fv8k4zp3zn0da33g57hn6pgrgmbgp18dsa539xvxcz";
packages3d.rev = "249f7947587529026e1676cd70c8d7493a8d8162";
packages3d.sha256 = "04gvfb54jhnww2qwrxc27wpyrvmjasdc4xhr0ridl7dglh4qcp35";
symbols.rev = "2bc103c46a8daacbba2cded8b9f095b330ba928d";
symbols.sha256 = "1za0spq09bbj7xwfwr1abmwjnqfd3zx0crayaz7915ja0ifi75hd";
templates.rev = "0f57b59d365d1f8b8fdd0745e10beb035e88ba37";
templates.sha256 = "03idwrk3vj9h2az8j8lqpbdbnfxdbkzh4db68kq3644yj3cnlcza";
footprints.rev = "539ffd8c0898ad8c8c51c2ab85ba56bfd77271c7";
footprints.sha256 = "0ik4hjl5m65wnpaymg58zbvsfvchhyq5x3psvj6005mgv2hrican";
packages3d.rev = "3172a1cc0931c1734efad68623374d5277f8ab60";
packages3d.sha256 = "1yjlg7cxwhlzcdbxjqyqamr140sz8gvzi63k2401mhdbh88c9kii";
};
};
};

View File

@@ -1,4 +1,4 @@
{ fetchFromGitHub, buildGoModule, lib, testers, gitmux }:
{ fetchFromGitHub, buildGoModule, lib, testers, gitmux, git }:
buildGoModule rec {
pname = "gitmux";
@@ -13,9 +13,8 @@ buildGoModule rec {
vendorHash = "sha256-PHY020MIuLlC1LqNGyBJRNd7J+SzoHbNMPAil7CKP/M=";
# GitHub source does contain a regression test for the module
# but it requires networking as it git clones a repo from github
doCheck = false;
nativeCheckInputs = [ git ];
doCheck = true;
ldflags = [ "-X main.version=${version}" ];

View File

@@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "gource";
version = "0.54";
version = "0.55";
src = fetchurl {
url = "https://github.com/acaudwell/Gource/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
hash = "sha256-HcvO32XSz01p/gtjPlTCApJsCLgpvK0Lc+r54pzW+uU=";
hash = "sha256-yCOSEtKLB1CNnkd2GZdoAmgWKPwl6z4E9mcRdwE8AUI=";
};
postPatch = ''

View File

@@ -21,24 +21,21 @@
, qtwebchannel
, qtwebengine
, qtx11extras
, jellyfin-web
, withDbus ? stdenv.isLinux
}:
mkDerivation rec {
pname = "jellyfin-media-player";
version = "1.10.1";
version = "1.11.1";
src = fetchFromGitHub {
owner = "jellyfin";
repo = "jellyfin-media-player";
rev = "v${version}";
sha256 = "sha256-l1jNrEUrDCc4R1CZ0b0Omjka6wTryjWqnEJbfCSJ0ZE=";
sha256 = "sha256-Jsn4kWQzUaQI9MpbsLJr6JSJk9ZSnMEcrebQ2DYegSU=";
};
patches = [
# fix the location of the jellyfin-web path
./fix-web-path.patch
# disable update notifications since the end user can't simply download the release artifacts to update
./disable-update-notifications.patch
];
@@ -77,11 +74,6 @@ mkDerivation rec {
"-DLINUX_X11POWER=ON"
];
preConfigure = ''
# link the jellyfin-web files to be copied by cmake (see fix-web-path.patch)
ln -s ${jellyfin-web}/share/jellyfin-web .
'';
postInstall = lib.optionalString stdenv.isDarwin ''
mkdir -p $out/bin $out/Applications
mv "$out/Jellyfin Media Player.app" $out/Applications

View File

@@ -1,28 +0,0 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 5abca9b..d09176b 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -107,10 +107,8 @@ endif()
set(RESOURCE_ROOT .)
if(APPLE)
set(RESOURCE_ROOT Resources)
- if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/../dist/)
- add_resources(TARGET ${MAIN_TARGET} SOURCES ${CMAKE_CURRENT_BINARY_DIR}/../dist/ DEST ${RESOURCE_ROOT}/web-client/desktop)
- endif()
- add_resources(TARGET ${MAIN_TARGET} SOURCES ${CMAKE_SOURCE_DIR}/native/ DEST ${RESOURCE_ROOT}/web-client/extension)
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../../jellyfin-web/ DESTINATION ${RESOURCE_ROOT}/web-client/desktop)
+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/native/ DESTINATION ${RESOURCE_ROOT}/web-client/extension)
endif()
if(NOT APPLE)
@@ -123,9 +121,7 @@ if(NOT APPLE)
install(FILES ${loc}/qtwebengine_devtools_resources.pak DESTINATION resources)
endif()
endforeach()
- if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/../dist/)
- install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../dist/ DESTINATION ${INSTALL_RESOURCE_DIR}/web-client/desktop)
- endif()
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../../jellyfin-web/ DESTINATION ${INSTALL_RESOURCE_DIR}/web-client/desktop)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/native/ DESTINATION ${INSTALL_RESOURCE_DIR}/web-client/extension)
endif()

View File

@@ -10,11 +10,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "tart";
version = "2.11.1";
version = "2.12.0";
src = fetchurl {
url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart-arm64.tar.gz";
hash = "sha256-LOU7nCJChXgYq10AeZVAMa/QSUD4AKUSLLUKUBrk4UA=";
hash = "sha256-+33Z7M9Y8fWFfCBNJrXHljwoAn7p70+yvTmBwx1X68M=";
};
sourceRoot = ".";

View File

@@ -28,6 +28,11 @@ python3.pkgs.buildPythonApplication rec {
url = "https://github.com/virt-manager/virt-manager/commit/83fcc5b2e8f2cede84564387756fe8971de72188.patch";
hash = "sha256-yEk+md5EkwYpP27u3E+oTJ8thgtH2Uy1x3JIWPBhqeE=";
})
# fix crash with some cursor themes
(fetchpatch {
url = "https://github.com/virt-manager/virt-manager/commit/cc4a39ea94f42bc92765eb3bb56e2b7f9198be67.patch";
hash = "sha256-dw6yrMaAOnTh8Z6xJQQKmYelOkOl6EBAOfJQU9vQ8Ws=";
})
];
nativeBuildInputs = [

View File

@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "ast-grep";
version = "0.22.6";
version = "0.23.0";
src = fetchFromGitHub {
owner = "ast-grep";
repo = "ast-grep";
rev = version;
hash = "sha256-QE8bTFlKlaxUeYJoaZyiuv/7zk+Pi3s64Er5YNTUh7I=";
hash = "sha256-QW3ZwALvfSTcvXuH/ploqUD1UJ5fGySIAc3N/TMlB4g=";
};
cargoHash = "sha256-tTEZUGC4RHjnAK+fMNkVqgsngBSdVAtoZ5ij3VbzKb4=";
cargoHash = "sha256-MUdHDP+1KQBXy2itOhW6pDuOTwIwXHy4oDfifDRdM94=";
nativeBuildInputs = [ installShellFiles ];

View File

@@ -5,16 +5,16 @@
rustPlatform.buildRustPackage rec {
pname = "audion";
version = "0.2.0";
version = "0.2.1";
src = fetchFromGitHub {
owner = "audiusGmbH";
repo = "audion";
rev = "refs/tags/${version}";
hash = "sha256-j8sQCeHpxrpzyY75DypWI9z+JBWq7aaaXPnZh7ksRjc=";
hash = "sha256-NtAzh7n5bJXMt73L+FJU3vuNoNgga3wYXdZ2TY8AjIA=";
};
cargoHash = "sha256-/x2gjLz73uPY+ouQOxLN2ViET+V/s9jgkgw97yzVj24=";
cargoHash = "sha256-0jPAidJu3f3exXkVCLowR1zHsZ3bctWu+O2mQmSwSpE=";
meta = with lib; {
description = "Ping the host continuously and write results to a file";

View File

@@ -0,0 +1,51 @@
{ lib
, python3
, fetchFromGitHub
, fetchpatch
}:
python3.pkgs.buildPythonApplication rec {
pname = "autotools-language-server";
version = "0.0.19";
pyproject = true;
src = fetchFromGitHub {
owner = "Freed-Wu";
repo = "autotools-language-server";
rev = "refs/tags/${version}";
hash = "sha256-V0EOV1ZmeC+4svc2fqV6AIiL37dkrxUJAnjywMZcENw=";
};
patches = [
# Right before the release, upstream decided to replace the
# tree-sitter-languages dependency with tree-sitter-make, which is yanked
# from some reason. Hopefully upstream will fix this dependency a bit
# better in the next release. See also:
# https://github.com/Freed-Wu/autotools-language-server/commit/f149843becfcfd6b2bb4a98eb1f3984c01d5fd33#r142659163
(fetchpatch {
url = "https://github.com/Freed-Wu/autotools-language-server/commit/f149843becfcfd6b2bb4a98eb1f3984c01d5fd33.patch";
hash = "sha256-TrzHbfR6GYAEqDIFiCqSX2+Qv4JeFJ5faiKJhNYojf0=";
revert = true;
})
];
build-system = [
python3.pkgs.setuptools-generate
python3.pkgs.setuptools-scm
];
dependencies = with python3.pkgs; [
tree-sitter-languages
lsp-tree-sitter
];
nativeCheckInputs = [
python3.pkgs.pytestCheckHook
];
meta = with lib; {
description = "Autotools language server, support configure.ac, Makefile.am, Makefile";
homepage = "https://github.com/Freed-Wu/autotools-language-server";
license = licenses.gpl3Only;
maintainers = with maintainers; [ doronbehar ];
mainProgram = "autotools-language-server";
};
}

View File

@@ -0,0 +1,80 @@
{
lib,
stdenv,
fetchurl,
gitUpdater,
autoreconfHook,
pkg-config,
glib,
libuuid,
popt,
elfutils,
enablePython ? false,
pythonPackages ? null,
swig2,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "babeltrace";
version = "1.5.11";
src = fetchurl {
url = "https://www.efficios.com/files/babeltrace/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2";
sha256 = "Z7Q6qu9clR+nrxpVfPcgGhH+iYdrfCK6CgPLwxbbWpw=";
};
nativeBuildInputs =
[
# The pre-generated ./configure script uses an old autoconf version which
# breaks cross-compilation (replaces references to malloc with rpl_malloc).
# Re-generate with nixpkgs's autoconf. This requires glib to be present in
# nativeBuildInputs for its m4 macros to be present.
autoreconfHook
glib
pkg-config
]
++ lib.optionals enablePython [
swig2
pythonPackages.setuptools
];
buildInputs = [
glib
libuuid
popt
elfutils
];
configureFlags =
[
# --enable-debug-info (default) requires the configure script to run host
# executables to determine the elfutils library version, which cannot be done
# while cross compiling.
(lib.enableFeature (stdenv.hostPlatform == stdenv.buildPlatform) "debug-info")
]
++ lib.optionals enablePython [
# Using (lib.enableFeature enablePython "python-bindings") makes the
# configure script look for python dependencies even when
# enablePython==false. Adding the configure flag conditionally seems to
# solve this.
"--enable-python-bindings"
];
#
passthru.updateScript = gitUpdater {
url = "https://git.efficios.com/babeltrace.git";
rev-prefix = "v";
# Versions 2.x are packaged independently as babeltrace2
ignoredVersions = "^[^1]";
};
meta = {
description = "Command-line tool and library to read and convert LTTng tracefiles";
homepage = "https://www.efficios.com/babeltrace";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
bjornfor
wentasah
];
};
})

View File

@@ -0,0 +1,101 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
autoreconfHook,
pkg-config,
glib,
elfutils,
bison,
flex,
asciidoc,
xmlto,
docbook_xml_dtd_45,
docbook_xsl,
enablePython ? false,
python ? null,
pythonPackages ? null,
swig,
ensureNewerSourcesForZipFilesHook,
}:
stdenv.mkDerivation rec {
pname = "babeltrace2";
version = "2.0.6";
src = fetchFromGitHub {
owner = "efficios";
repo = "babeltrace";
rev = "v${version}";
hash = "sha256-L4YTqPxvWynUBnmAQnlJ2RNbEv9MhBxQOsqbWix8ZwU=";
};
patches = [
# Patches needed for Python 3.12
(fetchpatch {
# python: Use standalone 'sysconfig' module
url = "https://github.com/efficios/babeltrace/commit/452480eb6820df9973d50431a479ca547815ae08.patch";
hash = "sha256-YgUKHJzdliNUsTY29E0xxcUjqVWn4EvxyTs0B+O+jrI=";
})
(fetchpatch {
# python: replace distutils with setuptools
url = "https://github.com/efficios/babeltrace/commit/6ec97181a525a3cd64cedbcd0df905ed9e84ba03.patch";
hash = "sha256-1hlEkPcRUpf2+iEXqHXcCDOaLTg+eaVcahqZlA8m5QY=";
})
(fetchpatch {
# fix: python: monkey patch the proper sysconfig implementation
url = "https://github.com/efficios/babeltrace/commit/927263e4ea62877af7240cfdb1514ae949dbfc2e.patch";
hash = "sha256-HNRQ7uw26FUKCQ/my6//OL2xsHdOGlQUq5zIKtg9OGw=";
})
];
outputs = [
"out"
"man"
"dev"
];
nativeBuildInputs =
[
autoreconfHook
pkg-config
glib
bison
flex
asciidoc
xmlto
docbook_xml_dtd_45
docbook_xsl
]
++ lib.optionals enablePython [
swig
pythonPackages.setuptools
ensureNewerSourcesForZipFilesHook
];
buildInputs = [
glib
elfutils
] ++ lib.optional enablePython python;
configureFlags = [
(lib.enableFeature enablePython "python-bindings")
(lib.enableFeature enablePython "python-plugins")
(lib.enableFeature (stdenv.hostPlatform == stdenv.buildPlatform) "debug-info")
];
# For cross-compilation of Python bindings
makeFlags = [ "CFLAGS=-Wno-error=stringop-truncation -Wno-error=null-dereference" ];
enableParallelBuilding = true;
meta = {
description = "Babeltrace /ˈbæbəltreɪs/ is an open-source trace manipulation toolkit";
homepage = "https://babeltrace.org";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ wentasah ];
mainProgram = "babeltrace2";
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,23 @@
{ lib, fetchFromGitHub, rustPlatform }:
let version = "2.4.0";
in rustPlatform.buildRustPackage {
pname = "catppuccin-whiskers";
inherit version;
src = fetchFromGitHub {
owner = "catppuccin";
repo = "whiskers";
rev = "refs/tags/v${version}";
hash = "sha256-rbPr5eSs99nS70J785SWO7tVBdiX/S7XUNHuo3aOQU4=";
};
cargoHash = "sha256-T7dreELSHfJizfbJEvvgkOmkMwlOETZVUdLwRFJOJEo=";
meta = {
homepage = "https://github.com/catppuccin/whiskers";
description = "A templating tool to simplify the creation of Catppuccin ports";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ Name ];
mainProgram = "whiskers";
};
}

View File

@@ -1,34 +1,37 @@
{ lib, stdenv, fetchFromGitHub
, addOpenGLRunpath
, wrapGAppsHook3
, cmake
, glslang
, nasm
, pkg-config
, SDL2
, boost
, cubeb
, curl
, fmt_9
, glm
, gtk3
, hidapi
, imgui
, libpng
, libusb1
, libzip
, libXrender
, pugixml
, rapidjson
, vulkan-headers
, wayland
, wxGTK32
, zarchive
, gamemode
, vulkan-loader
, nix-update-script
{
lib,
SDL2,
addOpenGLRunpath,
boost,
cmake,
cubeb,
curl,
fetchFromGitHub,
fmt_9,
gamemode,
glm,
glslang,
gtk3,
hidapi,
imgui,
libXrender,
libpng,
libusb1,
libzip,
nasm,
ninja,
nix-update-script,
pkg-config,
pugixml,
rapidjson,
stdenv,
testers,
vulkan-headers,
vulkan-loader,
wayland,
wrapGAppsHook3,
wxGTK32,
zarchive,
}:
let
@@ -43,31 +46,32 @@ let
sha256 = "sha256-gf47uLeNiXQic43buB5ZnMqiotlUfIyAsP+3H7yJuFg=";
};
};
in stdenv.mkDerivation rec {
in stdenv.mkDerivation (finalAttrs: {
pname = "cemu";
version = "2.0-85";
version = "2.0-86";
src = fetchFromGitHub {
owner = "cemu-project";
repo = "Cemu";
rev = "v${version}";
hash = "sha256-uMVbKJhdHLLKsJnj7YFIG+S5pm7rSZfBSWebhTP01Y8=";
rev = "v${finalAttrs.version}";
hash = "sha256-AS5Qo4J0U1MeTYWl4jiJMi879bhBuioU1BikxGKtUrE=";
};
patches = [
# glslangTargets want SPIRV-Tools-opt to be defined:
# > The following imported targets are referenced, but are missing:
# > SPIRV-Tools-opt
./cmakelists.patch
./0000-spirv-tools-opt-cmakelists.patch
];
nativeBuildInputs = [
SDL2
addOpenGLRunpath
wrapGAppsHook3
cmake
glslang
nasm
ninja
pkg-config
];
@@ -94,24 +98,26 @@ in stdenv.mkDerivation rec {
];
cmakeFlags = [
"-DCMAKE_C_FLAGS_RELEASE=-DNDEBUG"
"-DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG"
"-DENABLE_VCPKG=OFF"
"-DENABLE_FERAL_GAMEMODE=ON"
(lib.cmakeFeature "CMAKE_C_FLAGS_RELEASE" "-DNDEBUG")
(lib.cmakeFeature "CMAKE_CXX_FLAGS_RELEASE" "-DNDEBUG")
(lib.cmakeBool "ENABLE_VCPKG" false)
(lib.cmakeBool "ENABLE_FERAL_GAMEMODE" true)
# PORTABLE:
# "All data created and maintained by Cemu will be in the directory where the executable file is located"
"-DPORTABLE=OFF"
# PORTABLE: "All data created and maintained by Cemu will be in
# the directory where the executable file is located"
(lib.cmakeBool "PORTABLE" false)
];
preConfigure = with lib; let
tag = last (splitString "-" version);
strictDeps = true;
preConfigure = let
tag = lib.last (lib.splitString "-" finalAttrs.version);
in ''
rm -rf dependencies/imgui
# cemu expects imgui source code, not just header files
ln -s ${imgui'.src} dependencies/imgui
substituteInPlace src/Common/version.h --replace " (experimental)" "-${tag} (experimental)"
substituteInPlace dependencies/gamemode/lib/gamemode_client.h --replace "libgamemode.so.0" "${gamemode.lib}/lib/libgamemode.so.0"
substituteInPlace src/Common/version.h --replace-fail " (experimental)" "-${tag} (experimental)"
substituteInPlace dependencies/gamemode/lib/gamemode_client.h --replace-fail "libgamemode.so.0" "${gamemode.lib}/lib/libgamemode.so.0"
'';
installPhase = ''
@@ -138,14 +144,21 @@ in stdenv.mkDerivation rec {
)
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Cemu is a Wii U emulator";
homepage = "https://cemu.info";
license = licenses.mpl20;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ zhaofengli baduhai ];
mainProgram = "cemu";
passthru = {
updateScript = nix-update-script { };
tests = {
version = testers.testVersion {
package = finalAttrs.finalPackage;
};
};
};
}
meta = {
description = "Software to emulate Wii U games and applications on PC";
homepage = "https://cemu.info";
license = lib.licenses.mpl20;
mainProgram = "cemu";
maintainers = with lib.maintainers; [ zhaofengli baduhai AndersonTorres ];
platforms = [ "x86_64-linux" ];
};
})

View File

@@ -2,14 +2,14 @@
, xcbutilcursor, xcbutilkeysyms, xcbutil, libXrandr, libXinerama, libXcursor
, alsa-lib, libjack2, lv2, gcc-unwrapped }:
stdenv.mkDerivation rec {
pname = "ChowCentaur";
stdenv.mkDerivation (finalAttrs: {
pname = "chow-centaur";
version = "1.4.0";
src = fetchFromGitHub {
owner = "jatinchowdhury18";
repo = "KlonCentaur";
rev = "v${version}";
rev = "v${finalAttrs.version}";
sha256 = "0mrzlf4a6f25xd7z9xanpyq7ybb4al01dzpjsgi0jkmlmadyhc4h";
fetchSubmodules = true;
};
@@ -50,4 +50,4 @@ stdenv.mkDerivation rec {
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ magnetophon ];
};
}
})

View File

@@ -35,14 +35,14 @@
, webkitgtk
}:
stdenv.mkDerivation rec {
pname = "ChowKick";
stdenv.mkDerivation (finalAttrs: {
pname = "chow-kick";
version = "1.1.1";
src = fetchFromGitHub {
owner = "Chowdhury-DSP";
repo = pname;
rev = "v${version}";
repo = "ChowKick";
rev = "v${finalAttrs.version}";
sha256 = "0amnp0p7ckbbr9dcbdnld1ryv46kvza2dj8m6hzmi7c1s4df8x5q";
fetchSubmodules = true;
};
@@ -91,9 +91,9 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/lib/lv2 $out/lib/vst3 $out/bin
cp -r ChowKick_artefacts/Release/LV2//${pname}.lv2 $out/lib/lv2
cp -r ChowKick_artefacts/Release/VST3/${pname}.vst3 $out/lib/vst3
cp ChowKick_artefacts/Release/Standalone/${pname} $out/bin
cp -r ChowKick_artefacts/Release/LV2/ChowKick.lv2 $out/lib/lv2
cp -r ChowKick_artefacts/Release/VST3/ChowKick.vst3 $out/lib/vst3
cp ChowKick_artefacts/Release/Standalone/ChowKick $out/bin
'';
meta = with lib; {
@@ -104,4 +104,4 @@ stdenv.mkDerivation rec {
platforms = platforms.linux;
mainProgram = "ChowKick";
};
}
})

View File

@@ -4,14 +4,14 @@
, libsepol, libsysprof-capture, libthai, libxkbcommon, pcre, pkg-config
, python3, sqlite, stdenv }:
stdenv.mkDerivation rec {
pname = "ChowPhaser";
stdenv.mkDerivation (finalAttrs: {
pname = "chow-phaser";
version = "1.1.1";
src = fetchFromGitHub {
owner = "jatinchowdhury18";
repo = "ChowPhaser";
rev = "v${version}";
rev = "v${finalAttrs.version}";
fetchSubmodules = true;
sha256 = "sha256-9wo7ZFMruG3QNvlpILSvrFh/Sx6J1qnlWc8+aQyS4tQ=";
};
@@ -70,7 +70,8 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/jatinchowdhury18/ChowPhaser";
description = "Phaser effect based loosely on the Schulte Compact Phasing 'A'";
license = with licenses; [ bsd3 ];
mainProgram = "ChowPhaserStereo";
maintainers = with maintainers; [ magnetophon ];
platforms = platforms.linux;
};
}
})

View File

@@ -39,14 +39,14 @@ let
# See here: https://forum.juce.com/t/build-fails-on-fedora-wrong-c-version/50902/2
stdenv = gcc11Stdenv;
in
stdenv.mkDerivation rec {
pname = "CHOWTapeModel";
stdenv.mkDerivation (finalAttrs: {
pname = "chow-tape-model";
version = "2.11.4";
src = fetchFromGitHub {
owner = "jatinchowdhury18";
repo = "AnalogTapeModel";
rev = "v${version}";
rev = "v${finalAttrs.version}";
sha256 = "sha256-WriHi68Y6hAsrwE+74JtVlAKUR9lfTczj6UK9h2FOGM=";
fetchSubmodules = true;
};
@@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/lib/lv2 $out/lib/vst3 $out/lib/clap $out/bin $out/share/doc/CHOWTapeModel/
cd CHOWTapeModel_artefacts/${cmakeBuildType}
cd CHOWTapeModel_artefacts/${finalAttrs.cmakeBuildType}
cp -r LV2/CHOWTapeModel.lv2 $out/lib/lv2
cp -r VST3/CHOWTapeModel.vst3 $out/lib/vst3
cp -r CLAP/CHOWTapeModel.clap $out/lib/clap
@@ -129,4 +129,4 @@ stdenv.mkDerivation rec {
broken = stdenv.isAarch64; # since 2021-12-27 on hydra (update to 2.10): https://hydra.nixos.org/build/162558991
mainProgram = "CHOWTapeModel";
};
}
})

View File

@@ -8,7 +8,7 @@
buildGoModule rec {
pname = "consul";
version = "1.18.2";
version = "1.19.0";
# Note: Currently only release tags are supported, because they have the Consul UI
# vendored. See
@@ -22,7 +22,7 @@ buildGoModule rec {
owner = "hashicorp";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-9feeWsCAZKip+AYUJTCcqFOTfxsUFMzTRqHjo/Pptho=";
hash = "sha256-GO2BfdozsAo1r4iSyQdAEG8Tm6OkJhSUrH3bZ9lWuO8=";
};
# This corresponds to paths with package main - normally unneeded but consul
@@ -32,7 +32,7 @@ buildGoModule rec {
"connect/certgen"
];
vendorHash = "sha256-bBc3qgPUOmR8c/sFyiskePKLKjHTQcWVTLY6esFIRTc=";
vendorHash = "sha256-h3eTCj/0FPiY/Dj4cMj9VqKBs28ArnTPjRIC3LT06j0=";
doCheck = false;

View File

@@ -492,8 +492,9 @@ dependencies = [
[[package]]
name = "libusb1-sys"
version = "0.6.4"
source = "git+https://github.com/a1ien/rusb.git#c38563efeb7733f0f8b5ac01703fd2ad1d84fea2"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da050ade7ac4ff1ba5379af847a10a10a8e284181e060105bf8d86960ce9ce0f"
dependencies = [
"cc",
"libc",
@@ -697,8 +698,9 @@ checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
[[package]]
name = "rusb"
version = "0.9.3"
source = "git+https://github.com/a1ien/rusb.git#c38563efeb7733f0f8b5ac01703fd2ad1d84fea2"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab9f9ff05b63a786553a4c02943b74b34a988448671001e9a27e2f0565cc05a4"
dependencies = [
"libc",
"libusb1-sys",

View File

@@ -14,20 +14,19 @@
rustPlatform.buildRustPackage rec {
pname = "cyme";
version = "1.6.0";
version = "1.6.1";
src = fetchFromGitHub {
owner = "tuna-f1sh";
repo = "cyme";
rev = "v${version}";
hash = "sha256-97sxK2zhUKBS238F9mNk8a2VbTVpvbDlN1yDas4Fls4=";
hash = "sha256-HIOrdVChTfYX8AKqytWU+EudFDiqoVELb+yL3jsPQwM=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"libudev-sys-0.1.4" = "sha256-7dUqPH8bQ/QSBIppxQbymwQ44Bvi1b6N2AMUylbyKK8=";
"libusb1-sys-0.6.4" = "sha256-Y3K3aEZnpLud/g4Tx+1HDEkNRKi5s4Fo0QSWya/L+L4=";
};
};

View File

@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
buildInputs = [ (stdenv.cc.cc.libgcc or null) ];
nativeBuildInputs = [ autoPatchelfHook ];
nativeBuildInputs = lib.optional stdenv.isLinux autoPatchelfHook;
installPhase =
let

View File

@@ -1,6 +1,7 @@
{ lib
, buildNpmPackage
, fetchFromGitHub
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
@@ -24,6 +25,9 @@ buildNpmPackage rec {
homepage = "https://emacs-eask.github.io/";
license = lib.licenses.gpl3Plus;
mainProgram = "eask";
maintainers = with lib.maintainers; [ jcs090218 ];
maintainers = with lib.maintainers; [
jcs090218
piotrkwiecinski
];
};
}

View File

@@ -0,0 +1,62 @@
{
lib,
python3Packages,
fetchFromGitHub,
meson,
ninja,
pkg-config,
gobject-introspection,
blueprint-compiler,
wrapGAppsHook4,
desktop-file-utils,
libadwaita,
gtksourceview5,
}:
python3Packages.buildPythonApplication rec {
pname = "escambo";
version = "0.1.2";
pyproject = false; # built with meson
src = fetchFromGitHub {
owner = "CleoMenezesJr";
repo = "escambo";
rev = version;
hash = "sha256-jMlix8nlCaVLZEhqzb6LRNrD3DUZMTIjqrRKo6nFbQA=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
gobject-introspection
blueprint-compiler
wrapGAppsHook4
desktop-file-utils
];
buildInputs = [
libadwaita
gtksourceview5
];
dependencies = with python3Packages; [
pygobject3
requests
];
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
meta = {
description = "HTTP-based APIs test application for GNOME";
homepage = "https://github.com/CleoMenezesJr/escambo";
license = lib.licenses.gpl3Plus;
mainProgram = "escambo";
maintainers = with lib.maintainers; [ aleksana ];
platforms = lib.platforms.linux;
};
}

View File

@@ -5,10 +5,10 @@
let
pname = "fflogs";
version = "8.5.12";
version = "8.5.16";
src = fetchurl {
url = "https://github.com/RPGLogs/Uploaders-fflogs/releases/download/v${version}/fflogs-v${version}.AppImage";
hash = "sha256-mlqQm9o001+pSMfMbOwa+gKcIIC6SBg7Rott9+XkB2E=";
hash = "sha256-eUXri4aVMnZtXzCDL3NZTdCR7y0VD5kG4D9YfXQVuzo=";
};
extracted = appimageTools.extractType2 { inherit pname version src; };
in

View File

@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "files-cli";
version = "2.13.65";
version = "2.13.72";
src = fetchFromGitHub {
repo = "files-cli";
owner = "files-com";
rev = "v${version}";
hash = "sha256-SUxITjWgUQcF7G6w5PZUpjvBH3tGhK/A1sOVg6SEfTU=";
hash = "sha256-u5hAUGGaMpUub4WL8CGEzbnfXPRouaGbb8SQ6ep3X3Q=";
};
vendorHash = "sha256-QVQi60j0XR1OApLG/WPq9aAP4P/2hYCbTLL/3sHAisw=";
vendorHash = "sha256-y4XZeugjqy6ydAq6KQ8iIgMgE6iHAEqzzi2A+N1LB3M=";
ldflags = [
"-s"

View File

@@ -1,24 +1,27 @@
{ lib, stdenvNoCC, fetchzip }:
{ lib
, stdenvNoCC
, fetchzip
}:
stdenvNoCC.mkDerivation rec {
pname = "fira-mono";
version = "4.202";
version = "3.2";
src = fetchzip {
url = "https://github.com/mozilla/Fira/archive/${version}.zip";
hash = "sha256-HLReqgL0PXF5vOpwLN0GiRwnzkjGkEVEyOEV2Z4R0oQ=";
url = "https://bboxtype.com/downloads/Fira/Fira_Mono_${lib.replaceStrings ["."] ["_"] version}.zip";
hash = "sha256-Ukc+K2sdSz+vUQFD8mmwJHZQ3N68oM4fk6YzGLwzAfQ=";
};
installPhase = ''
runHook preInstall
install -Dm644 otf/FiraMono*.otf -t $out/share/fonts/opentype
install -Dm644 Fonts/FiraMono_OTF*/*.otf -t $out/share/fonts/opentype
runHook postInstall
'';
meta = with lib; {
homepage = "https://mozilla.github.io/Fira/";
homepage = "https://bboxtype.com/fira/";
description = "Monospace font for Firefox OS";
longDescription = ''
Fira Mono is a monospace font designed by Erik Spiekermann,

View File

@@ -1,22 +1,28 @@
{ lib
, stdenvNoCC
, fira-mono
, fetchzip
}:
stdenvNoCC.mkDerivation {
stdenvNoCC.mkDerivation rec {
pname = "fira-sans";
inherit (fira-mono) version src;
version = "4.301";
src = fetchzip {
url = "https://bboxtype.com/downloads/Fira/Download_Folder_FiraSans_${lib.replaceStrings ["."] [""] version}.zip";
hash = "sha256-WBt3oqPK7ACqMhilYkyFx9Ek2ugwdCDFZN+8HLRnGRs";
stripRoot = false;
};
installPhase = ''
runHook preInstall
install --mode=-x -Dt $out/share/fonts/opentype otf/FiraSans*.otf
install --mode=-x -Dt $out/share/fonts/opentype Download_Folder_FiraSans*/Fonts/Fira_Sans_OTF*/*/*/*.otf
runHook postInstall
'';
meta = with lib; {
homepage = "https://mozilla.github.io/Fira/";
homepage = "https://bboxtype.com/fira/";
description = "Sans-serif font for Firefox OS";
longDescription = ''
Fira Sans is a sans-serif font designed by Erik Spiekermann,

View File

@@ -6,7 +6,7 @@
symlinkJoin rec {
pname = "fira";
inherit (fira-mono) version;
inherit (fira-sans) version;
name = "${pname}-${version}";
paths = [
@@ -16,7 +16,7 @@ symlinkJoin rec {
meta = {
description = "Fira font family including Fira Sans and Fira Mono";
homepage = "https://mozilla.github.io/Fira/";
homepage = "https://bboxtype.com/fira/";
license = lib.licenses.ofl;
platforms = lib.platforms.all;
};

View File

@@ -2,71 +2,55 @@
, cargo
, rustc
, fetchFromGitHub
, glib
, gtk4
, libadwaita
, rustPlatform
, openssl
, pkg-config
, lib
, wrapGAppsHook4
, meson
, ninja
, gdk-pixbuf
, cmake
, desktop-file-utils
, gettext
, blueprint-compiler
, appstream-glib
, glib-networking
}:
stdenv.mkDerivation rec {
pname = "geopard";
version = "1.4.0";
version = "1.5.0";
src = fetchFromGitHub {
owner = "ranfdev";
repo = pname;
rev = version;
hash = "sha256-elHxtFEGkdhEPHxuJtcMYwWnvo6vDaHiOyN51EOzym0=";
repo = "geopard";
rev = "v${version}";
hash = "sha256-QHqhjoiKiwTBDMDhb7Agqe0/o2LyLDs2kl/HC4UfayY=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit pname version src;
hash = "sha256-80YujPjcmAxH1gITT4OJk8w4m8Z/pAYtBUpCPQOKe3E=";
hash = "sha256-AmGwsSRrZK+oSnkn9Xzmia/Kbkw19v0nb1kFJtymqOs=";
};
nativeBuildInputs = [
openssl
gettext
glib # for glib-compile-schemas
meson
ninja
pkg-config
wrapGAppsHook4
cmake
blueprint-compiler
desktop-file-utils
appstream-glib
blueprint-compiler
cargo
rustc
rustPlatform.cargoSetupHook
];
buildInputs = [
desktop-file-utils
gdk-pixbuf
glib
gtk4
libadwaita
openssl
glib-networking
];
meta = with lib; {
homepage = "https://github.com/ranfdev/Geopard";
description = "Colorful, adaptive gemini browser";
maintainers = with maintainers; [ jfvillablanca ];
maintainers = with maintainers; [ jfvillablanca aleksana ];
license = licenses.gpl3Plus;
platforms = platforms.linux;
mainProgram = "geopard";

View File

@@ -5,14 +5,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "getmail6";
version = "6.19.00";
version = "6.19.01";
pyproject = true;
src = fetchFromGitHub {
owner = "getmail6";
repo = "getmail6";
rev = "refs/tags/v${version}";
hash = "sha256-cAho0fAvxUoxKrvS7XJaKYGEGgtA8Xl6dOEtVtUvK10=";
hash = "sha256-Q3FQmliWQ8BB/U4RWw1z5I721jw8LGRLPjI9eKELd0g=";
};
build-system = with python3.pkgs; [

View File

@@ -0,0 +1,40 @@
{ lib
, buildGoModule
, fetchFromGitHub
, fetchpatch
}:
buildGoModule {
pname = "glock";
version = "0-unstable-2021-03-19";
src = fetchFromGitHub {
owner = "robfig";
repo = "glock";
rev = "0ac7e52a4c8a9a7039a72b3c6a10e8be59bc6599";
hash = "sha256-EDaLk83u1gRcvEjrfBrLZBQZ5unyD9LQA2TccOawXII=";
};
patches = [
# Migrate to Go modules
(fetchpatch {
url = "https://github.com/robfig/glock/commit/943afe5e26dd64ebad5ca17613ae3700c53fb25d.patch";
hash = "sha256-nk+5uHlCv7Hxbo0Axvi15nJVzEcb++gOJpF3w06yQsk=";
})
];
vendorHash = "sha256-v3lfb+CXbTxzObDpubufD3Q1h6IhULcC/6spA6StfGw=";
checkFlags = [ "-skip=^TestSave$" ];
meta = {
homepage = "https://github.com/robfig/glock";
description = "Command-line tool to lock Go dependencies to specific revisions";
mainProgram = "glock";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
luftmensch-luftmensch
rushmorem
];
};
}

View File

@@ -41,8 +41,8 @@ stdenv.mkDerivation (finalAttrs: {
# Reference: src/Makefile, directive gmic_stdlib_community.h
gmic_stdlib = fetchurl {
name = "gmic_stdlib_community.h";
url = "http://gmic.eu/gmic_stdlib_community${lib.replaceStrings ["."] [""] finalAttrs.version}.h";
hash = "sha256-wq8yQ0pxEGH3sOmwmgQfRVluHAC4JBYgs2mto1PNLP4=";
url = "https://gmic.eu/gmic_stdlib_community${lib.replaceStrings ["."] [""] finalAttrs.version}.h";
hash = "sha256-LoqK8ADwzPpxhy2GvaxVjGyYEHAbhspyoIXuBXCLRtQ=";
};
nativeBuildInputs = [

View File

@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "gmid";
version = "2.0.4";
version = "2.0.5";
src = fetchFromGitHub {
owner = "omar-polo";
repo = pname;
rev = version;
hash = "sha256-ioyQS5jjOICAWtZG8no+WUmLybEVLvum6TFFFdnMdfY=";
hash = "sha256-xuA5yLtRu9GDrSr7FBlAwEjCjFVRmnOuBM62AHOHDhc=";
};
nativeBuildInputs = [ bison ];

View File

@@ -39,7 +39,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "goofcord";
version = "1.4.2";
version = "1.4.3";
src =
let
@@ -48,11 +48,11 @@ stdenv.mkDerivation (finalAttrs: {
{
x86_64-linux = fetchurl {
url = "${base}/v${finalAttrs.version}/GoofCord-${finalAttrs.version}-linux-amd64.deb";
hash = "sha256-fUP/se3hOhs+aAoew25YhRyxnodYPrgqN68RIg1A1Kw=";
hash = "sha256-XO/T5O6+hJ6QT8MCVorrdXPZZlrywa6u0UKPk9WIQBE=";
};
aarch64-linux = fetchurl {
url = "${base}/v${finalAttrs.version}/GoofCord-${finalAttrs.version}-linux-arm64.deb";
hash = "sha256-hVpXmBSIgoON683f/sRtmpHwqxcO6IrFCCRPZjsUqjw=";
hash = "sha256-4mJ3kDQ+eh9LnyzxyNYvd2hMmgiJtBMXKup7ILlHk0Y=";
};
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");

View File

@@ -7,11 +7,11 @@
buildNpmPackage rec {
pname = "graphite-cli";
version = "1.3.6";
version = "1.3.8";
src = fetchurl {
url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-${version}.tgz";
hash = "sha256-rD/YWFRHzoM9Gsd9tnCF56RChckaeWGFphYgHa0UvUU=";
hash = "sha256-FJaDSg+scrmqYkCGCrb+yT8TtKT09xu6BS5AjTlfhzo=";
};
npmDepsHash = "sha256-WyV0f5thWG7hg7Vm1UUIlcFCgP83HfXQFBUVHcQdjRo=";

View File

@@ -7,10 +7,10 @@
}:
stdenv.mkDerivation rec {
pname = "halo";
version = "2.16.2";
version = "2.16.3";
src = fetchurl {
url = "https://github.com/halo-dev/halo/releases/download/v${version}/${pname}-${version}.jar";
hash = "sha256-bHMcJvM+ZBjiGUAZzjnEupWW9L8viE/Ix8IK2y4KDoA=";
hash = "sha256-sl2b9zKugnCEMHyvEqBWZPidoANth5gRfh34NAaqg7A=";
};
nativeBuildInputs = [

View File

@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "havn";
version = "0.1.11";
version = "0.1.12";
src = fetchFromGitHub {
owner = "mrjackwills";
repo = "havn";
rev = "refs/tags/v${version}";
hash = "sha256-iotSSKId2y3Y7Dh8iSW1/y3xDbXHHPl6RQ3uA/+JdE8=";
hash = "sha256-BCg572435CdQMOldm3Ao4D+sDxbXUlDxMWmxa+aqTY0=";
};
cargoHash = "sha256-Tec1YeP1zwE8nurQOYxa9hzGBy3uxkjDUFlh0BppUTo=";
cargoHash = "sha256-JaAlWiaOUoXSV6O4wmU7zCR5h5olO2zkB5WEGk2/ZdE=";
checkFlags = [
# Skip tests that require network access

View File

@@ -1,28 +1,32 @@
{ buildPackages
, fetchzip
, javaOpts ? "-XX:+UseZGC"
, jdk
, jre_headless
, lib
, makeWrapper
, stdenvNoCC
,
{
lib,
stdenvNoCC,
fetchzip,
jdk,
makeWrapper,
buildPackages,
jre_headless,
javaOpts ? "-XX:+UseZGC",
}:
stdenvNoCC.mkDerivation rec {
pname = "HentaiAtHome";
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "hentai-at-home";
version = "1.6.3";
src = fetchzip {
url = "https://repo.e-hentai.org/hath/HentaiAtHome_${version}_src.zip";
url = "https://repo.e-hentai.org/hath/HentaiAtHome_${finalAttrs.version}_src.zip";
hash = "sha512-kBB5mn9MwpkZ0z+Fl5ABs4YWBkXkMRcADYSAPkeifyhbYQQPOnijXKYZCkzE4UB3uQ1j6Kj6WnpO/4jquYEiOQ==";
stripRoot = false;
};
nativeBuildInputs = [ jdk makeWrapper ];
nativeBuildInputs = [
jdk
makeWrapper
];
LANG = "en_US.UTF-8";
LOCALE_ARCHIVE = lib.optionalString (stdenvNoCC.buildPlatform.libc == "glibc")
"${buildPackages.glibcLocales}/lib/locale/locale-archive";
LOCALE_ARCHIVE = lib.optionalString (
stdenvNoCC.buildPlatform.libc == "glibc"
) "${buildPackages.glibcLocales}/lib/locale/locale-archive";
buildPhase = ''
make all
@@ -48,10 +52,10 @@ stdenvNoCC.mkDerivation rec {
meta = with lib; {
homepage = "https://ehwiki.org/wiki/Hentai@Home";
description =
"Hentai@Home is an open-source P2P gallery distribution system which reduces the load on the E-Hentai Galleries";
description = "Open-source P2P gallery distribution system which reduces the load on the E-Hentai Galleries";
license = licenses.gpl3;
maintainers = with maintainers; [ terrorjack ];
mainProgram = "HentaiAtHome";
platforms = jdk.meta.platforms;
};
}
})

View File

@@ -5,16 +5,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "impala";
version = "0.1.1";
version = "0.2";
src = fetchFromGitHub {
owner = "pythops";
repo = "impala";
rev = "v${version}";
hash = "sha256-r/aWzSn/Dci69oS/yopG6Ro34U8hniHVanctyM7RvDw=";
hash = "sha256-7UMHkm3AtPqUILrsUnM0SbZT4Sq55dEElMN0KonjwtE=";
};
cargoHash = "sha256-IV1ftsRyM0CUlQMVmLip1FiqnouT5TsKASpF/KLARqY=";
cargoHash = "sha256-CtEirsSQAg2Fv44YoKKmSjQs85++QWFRcWoA4VrBbgU=";
meta = {
description = "TUI for managing wifi";

View File

@@ -0,0 +1,58 @@
{
lib,
python3Packages,
fetchFromGitHub,
meson,
ninja,
pkg-config,
gobject-introspection,
wrapGAppsHook4,
desktop-file-utils,
libadwaita,
}:
python3Packages.buildPythonPackage rec {
pname = "iplookup-gtk";
version = "0.3.4";
pyproject = false; # Built with meson
src = fetchFromGitHub {
owner = "Bytezz";
repo = "IPLookup-gtk";
rev = "v${version}";
hash = "sha256-NqFE6vRdLpnlCzGAUE4iOfLmTnUgX3CHtoXfsbT3zm4=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
gobject-introspection
wrapGAppsHook4
desktop-file-utils
];
buildInputs = [
libadwaita
];
dependencies = with python3Packages; [
pygobject3
];
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
meta = {
description = "Find info about an IP address";
homepage = "https://github.com/Bytezz/IPLookup-gtk";
changelog = "https://github.com/Bytezz/IPLookup-gtk/releases/tag/${src.rev}";
license = lib.licenses.gpl3Plus;
mainProgram = "iplookup";
maintainers = with lib.maintainers; [ aleksana ];
platforms = lib.platforms.linux;
};
}

View File

@@ -36,12 +36,10 @@ buildDotnetModule rec {
dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
dotnetBuildFlags = [ "--no-self-contained" ];
preInstall = ''
makeWrapperArgs+=(
--add-flags "--ffmpeg ${jellyfin-ffmpeg}/bin/ffmpeg"
--add-flags "--webdir ${jellyfin-web}/share/jellyfin-web"
)
'';
makeWrapperArgs = [
"--add-flags" "--ffmpeg=${jellyfin-ffmpeg}/bin/ffmpeg"
"--add-flags" "--webdir=${jellyfin-web}/share/jellyfin-web"
];
passthru.tests = {
smoke-test = nixosTests.jellyfin;

View File

@@ -7,7 +7,7 @@
stdenv.mkDerivation (finalAttrs: {
version = "3.4.3";
pname = "LASzip";
pname = "laszip";
src = fetchFromGitHub {
owner = "LASzip";

View File

@@ -1,13 +1,13 @@
{ lib, stdenv, fetchFromGitHub, cmake }:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
version = "2.2.0";
pname = "LASzip";
pname = "laszip";
src = fetchFromGitHub {
owner = "LASzip";
repo = "LASzip";
rev = "v${version}";
rev = "v${finalAttrs.version}";
sha256 = "sha256-TXzse4oLjNX5R2xDR721iV+gW/rP5z3Zciv4OgxfeqA=";
};
@@ -20,4 +20,4 @@ stdenv.mkDerivation rec {
maintainers = [ maintainers.michelk ];
platforms = platforms.unix;
};
}
})

Some files were not shown because too many files have changed in this diff Show More