Merge master into staging-next
This commit is contained in:
commit
342b5f4f7b
@ -4309,6 +4309,12 @@
|
||||
githubId = 10998835;
|
||||
name = "Doron Behar";
|
||||
};
|
||||
dotemup = {
|
||||
email = "dotemup.designs+nixpkgs@gmail.com";
|
||||
github = "dotemup";
|
||||
githubId = 11077277;
|
||||
name = "Dote";
|
||||
};
|
||||
dotlambda = {
|
||||
email = "rschuetz17@gmail.com";
|
||||
matrix = "@robert:funklause.de";
|
||||
|
@ -1255,6 +1255,7 @@
|
||||
./services/web-apps/rss-bridge.nix
|
||||
./services/web-apps/selfoss.nix
|
||||
./services/web-apps/shiori.nix
|
||||
./services/web-apps/slskd.nix
|
||||
./services/web-apps/snipe-it.nix
|
||||
./services/web-apps/sogo.nix
|
||||
./services/web-apps/trilium.nix
|
||||
|
@ -11,13 +11,6 @@ in {
|
||||
enable = mkEnableOption (lib.mdDoc ''
|
||||
Web Services Dynamic Discovery host daemon. This enables (Samba) hosts, like your local NAS device,
|
||||
to be found by Web Service Discovery Clients like Windows.
|
||||
|
||||
::: {.note}
|
||||
If you use the firewall consider adding the following:
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 5357 ];
|
||||
networking.firewall.allowedUDPPorts = [ 3702 ];
|
||||
:::
|
||||
'');
|
||||
interface = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
@ -31,6 +24,13 @@ in {
|
||||
example = 2;
|
||||
description = lib.mdDoc "Hop limit for multicast packets (default = 1).";
|
||||
};
|
||||
openFirewall = mkOption {
|
||||
description = lib.mdDoc ''
|
||||
Whether to open the required firewall ports in the firewall.
|
||||
'';
|
||||
default = false;
|
||||
type = lib.types.bool;
|
||||
};
|
||||
workgroup = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
@ -120,5 +120,10 @@ in {
|
||||
SystemCallFilter = "~@cpu-emulation @debug @mount @obsolete @privileged @resources";
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall = mkIf cfg.openFirewall {
|
||||
allowedTCPPorts = [ 5357 ];
|
||||
allowedUDPPorts = [ 3702 ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
211
nixos/modules/services/web-apps/slskd.nix
Normal file
211
nixos/modules/services/web-apps/slskd.nix
Normal file
@ -0,0 +1,211 @@
|
||||
{ lib, pkgs, config, ... }:
|
||||
|
||||
let
|
||||
settingsFormat = pkgs.formats.yaml {};
|
||||
in {
|
||||
options.services.slskd = with lib; with types; {
|
||||
enable = mkEnableOption "enable slskd";
|
||||
|
||||
rotateLogs = mkEnableOption "enable an unit and timer that will rotate logs in /var/slskd/logs";
|
||||
|
||||
package = mkPackageOptionMD pkgs "slskd" { };
|
||||
|
||||
nginx = mkOption {
|
||||
description = lib.mdDoc "options for nginx";
|
||||
example = {
|
||||
enable = true;
|
||||
domain = "example.com";
|
||||
contextPath = "/slskd";
|
||||
};
|
||||
type = submodule ({name, config, ...}: {
|
||||
options = {
|
||||
enable = mkEnableOption "enable nginx as a reverse proxy";
|
||||
|
||||
domainName = mkOption {
|
||||
type = str;
|
||||
description = "Domain you want to use";
|
||||
};
|
||||
contextPath = mkOption {
|
||||
type = types.path;
|
||||
default = "/";
|
||||
description = lib.mdDoc ''
|
||||
The context path, i.e., the last part of the slskd
|
||||
URL. Typically '/' or '/slskd'. Default '/'
|
||||
'';
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
environmentFile = mkOption {
|
||||
type = path;
|
||||
description = ''
|
||||
Path to a file containing secrets.
|
||||
It must at least contain the variable `SLSKD_SLSK_PASSWORD`
|
||||
'';
|
||||
};
|
||||
|
||||
openFirewall = mkOption {
|
||||
type = bool;
|
||||
description = ''
|
||||
Whether to open the firewall for services.slskd.settings.listen_port";
|
||||
'';
|
||||
default = false;
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
description = lib.mdDoc ''
|
||||
Configuration for slskd, see
|
||||
[available options](https://github.com/slskd/slskd/blob/master/docs/config.md)
|
||||
`APP_DIR` is set to /var/lib/slskd, where default download & incomplete directories,
|
||||
log and databases will be created.
|
||||
'';
|
||||
default = {};
|
||||
type = submodule {
|
||||
freeformType = settingsFormat.type;
|
||||
options = {
|
||||
|
||||
soulseek = {
|
||||
username = mkOption {
|
||||
type = str;
|
||||
description = "Username on the Soulseek Network";
|
||||
};
|
||||
listen_port = mkOption {
|
||||
type = port;
|
||||
description = "Port to use for communication on the Soulseek Network";
|
||||
default = 50000;
|
||||
};
|
||||
};
|
||||
|
||||
web = {
|
||||
port = mkOption {
|
||||
type = port;
|
||||
default = 5001;
|
||||
description = "The HTTP listen port";
|
||||
};
|
||||
url_base = mkOption {
|
||||
type = path;
|
||||
default = config.services.slskd.nginx.contextPath;
|
||||
defaultText = "config.services.slskd.nginx.contextPath";
|
||||
description = lib.mdDoc ''
|
||||
The context path, i.e., the last part of the slskd URL
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
shares = {
|
||||
directories = mkOption {
|
||||
type = listOf str;
|
||||
description = lib.mdDoc ''
|
||||
Paths to your shared directories. See
|
||||
[documentation](https://github.com/slskd/slskd/blob/master/docs/config.md#directories)
|
||||
for advanced usage
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
directories = {
|
||||
incomplete = mkOption {
|
||||
type = nullOr path;
|
||||
description = "Directory where downloading files are stored";
|
||||
defaultText = "<APP_DIR>/incomplete";
|
||||
default = null;
|
||||
};
|
||||
downloads = mkOption {
|
||||
type = nullOr path;
|
||||
description = "Directory where downloaded files are stored";
|
||||
defaultText = "<APP_DIR>/downloads";
|
||||
default = null;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = let
|
||||
cfg = config.services.slskd;
|
||||
|
||||
confWithoutNullValues = (lib.filterAttrs (key: value: value != null) cfg.settings);
|
||||
|
||||
configurationYaml = settingsFormat.generate "slskd.yml" confWithoutNullValues;
|
||||
|
||||
in lib.mkIf cfg.enable {
|
||||
|
||||
users = {
|
||||
users.slskd = {
|
||||
isSystemUser = true;
|
||||
group = "slskd";
|
||||
};
|
||||
groups.slskd = {};
|
||||
};
|
||||
|
||||
# Reverse proxy configuration
|
||||
services.nginx.enable = true;
|
||||
services.nginx.virtualHosts."${cfg.nginx.domainName}" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations = {
|
||||
"${cfg.nginx.contextPath}" = {
|
||||
proxyPass = "http://localhost:${toString cfg.settings.web.port}";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Hide state & logs
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /var/lib/slskd/data 0750 slskd slskd - -"
|
||||
"d /var/lib/slskd/logs 0750 slskd slskd - -"
|
||||
];
|
||||
|
||||
systemd.services.slskd = {
|
||||
description = "A modern client-server application for the Soulseek file sharing network";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
User = "slskd";
|
||||
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
|
||||
StateDirectory = "slskd";
|
||||
ExecStart = "${cfg.package}/bin/slskd --app-dir /var/lib/slskd --config ${configurationYaml}";
|
||||
Restart = "on-failure";
|
||||
ReadOnlyPaths = map (d: builtins.elemAt (builtins.split "[^/]*(/.+)" d) 1) cfg.settings.shares.directories;
|
||||
LockPersonality = true;
|
||||
NoNewPrivileges = true;
|
||||
PrivateDevices = true;
|
||||
PrivateMounts = true;
|
||||
PrivateTmp = true;
|
||||
PrivateUsers = true;
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectProc = "invisible";
|
||||
ProtectSystem = "strict";
|
||||
RemoveIPC = true;
|
||||
RestrictNamespaces = true;
|
||||
RestrictSUIDSGID = true;
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = lib.optional cfg.openFirewall cfg.settings.soulseek.listen_port;
|
||||
|
||||
systemd.services.slskd-rotatelogs = lib.mkIf cfg.rotateLogs {
|
||||
description = "Rotate slskd logs";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
User = "slskd";
|
||||
ExecStart = [
|
||||
"${pkgs.findutils}/bin/find /var/lib/slskd/logs/ -type f -mtime +10 -delete"
|
||||
"${pkgs.findutils}/bin/find /var/lib/slskd/logs/ -type f -mtime +1 -exec ${pkgs.gzip}/bin/gzip -q {} ';'"
|
||||
];
|
||||
};
|
||||
startAt = "daily";
|
||||
};
|
||||
|
||||
};
|
||||
}
|
@ -8,25 +8,23 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
||||
client_wsdd = { pkgs, ... }: {
|
||||
services.samba-wsdd = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
interface = "eth1";
|
||||
workgroup = "WORKGROUP";
|
||||
hostname = "CLIENT-WSDD";
|
||||
discovery = true;
|
||||
extraOptions = [ "--no-host" ];
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ 5357 ];
|
||||
networking.firewall.allowedUDPPorts = [ 3702 ];
|
||||
};
|
||||
|
||||
server_wsdd = { ... }: {
|
||||
services.samba-wsdd = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
interface = "eth1";
|
||||
workgroup = "WORKGROUP";
|
||||
hostname = "SERVER-WSDD";
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ 5357 ];
|
||||
networking.firewall.allowedUDPPorts = [ 3702 ];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -5,13 +5,13 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "10.16";
|
||||
version = "10.17";
|
||||
pname = "monkeys-audio";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://monkeysaudio.com/files/MAC_${
|
||||
builtins.concatStringsSep "" (lib.strings.splitString "." version)}_SDK.zip";
|
||||
sha256 = "sha256-gRI2tzcybJx4ju2LCVc21Gb1ppd40qSA1J0TxNEk/Qs=";
|
||||
sha256 = "sha256-yWoYeOGELXub/3kLC51SNPMC91u1aWAtdRsU6fRuX98=";
|
||||
stripRoot = false;
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation {
|
||||
# link .desktop file
|
||||
mkdir -p $out/share/pixmaps
|
||||
ln -s ${unwrapped}/share/applications $out/share/applications
|
||||
ln -s ${unwrapped}/share/pixmaps/nvim-qt.png $out/share/pixmaps/nvim-qt.png
|
||||
ln -s ${unwrapped}/share/icons $out/share/icons
|
||||
'';
|
||||
|
||||
preferLocalBuild = true;
|
||||
|
@ -17,18 +17,18 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "teams-for-linux";
|
||||
version = "1.1.11";
|
||||
version = "1.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "IsmaelMartinez";
|
||||
repo = "teams-for-linux";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-D0qZvKGfLE6VreCYn4Io2KmHcAHCVegG8xZwmxsQH5c=";
|
||||
hash = "sha256-x5OYSU396FIgFbs4VchEpKI8Xv0mk2XPraejBgzWta0=";
|
||||
};
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${finalAttrs.src}/yarn.lock";
|
||||
hash = "sha256-Zk3TAoGAPeki/ogfNl/XqeBBn6N/kbNcktRHEyqPOAA=";
|
||||
hash = "sha256-HiNBXDQuPM8MnSkxYS5f+kop5QeUintNPBWtp6uhiz8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
24
pkgs/applications/radio/pat/default.nix
Normal file
24
pkgs/applications/radio/pat/default.nix
Normal file
@ -0,0 +1,24 @@
|
||||
{ lib, stdenv, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "pat";
|
||||
version = "0.15.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "la5nta";
|
||||
repo = "pat";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ydv7RQ6MJ+ifWr+babdsDRnaS7DSAU+jiFJkQszy/Ro=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-TMi5l9qzhhtdJKMkKdy7kiEJJ5UPPJLkfholl+dm/78=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Pat is a cross platform Winlink client written in Go.";
|
||||
homepage = "https://getpat.io/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ dotemup ];
|
||||
};
|
||||
}
|
1084
pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock
generated
1084
pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -2,27 +2,28 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cloud-hypervisor";
|
||||
version = "32.0";
|
||||
version = "33.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloud-hypervisor";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "aSBzbxL9TOYVQUZBgHI8GHELfx9avRDHh/MWmN+/nY0=";
|
||||
sha256 = "sha256-ODhiK0lAN5G9FLBjIdvDl9ya5JKwg8Sv06iDkt44vWc=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"acpi_tables-0.1.0" = "sha256-aT0p85QDGjBEnbABedm0q7JPpiNjhupoIzBWifQ0RaQ=";
|
||||
"acpi_tables-0.1.0" = "sha256-OdtnF2fV6oun3NeCkXdaGU3U7ViBcgFKqHKdyZsRsPA=";
|
||||
"kvm-bindings-0.6.0" = "sha256-wGdAuPwsgRIqx9dh0m+hC9A/Akz9qg9BM+p06Fi5ACM=";
|
||||
"kvm-ioctls-0.13.0" = "sha256-jHnFGwBWnAa2lRu4a5eRNy1Y26NX5MV8alJ86VR++QE=";
|
||||
"micro_http-0.1.0" = "sha256-w2witqKXE60P01oQleujmHSnzMKxynUGKWyq5GEh1Ew=";
|
||||
"mshv-bindings-0.1.1" = "sha256-Pg7UPhW6UOahCQu1jU27lenrsmLT/VdceDqL6lOdmFU=";
|
||||
"versionize_derive-0.1.4" = "sha256-BPl294UqjVl8tThuvylXUFjFNjJx8OSfBGJLg8jIkWw=";
|
||||
"vfio-bindings-0.4.0" = "sha256-lKdoo/bmnZTRV7RRWugwHDFFCB6FKxpzxDEEMVqSbwA=";
|
||||
"vfio_user-0.1.0" = "sha256-JYNiONQNNpLu57Pjdn2BlWOdmSf3c4/XJg/RsVxH3uk=";
|
||||
"vm-fdt-0.2.0" = "sha256-gVKGiE3ZSe+z3oOHR3zqVdc7XMHzkp4kO4p/WfK0VI8=";
|
||||
"mshv-bindings-0.1.1" = "sha256-hmOTu/e1WFk6rc+oXxBja+gFlDqnAIXzyWdiUd+Al1E=";
|
||||
"versionize_derive-0.1.4" = "sha256-oGuREJ5+FDs8ihmv99WmjIPpL2oPdOr4REk6+7cV/7o=";
|
||||
"vfio-bindings-0.4.0" = "sha256-8zdpLD9e1TAwG+m6ifS7/Fh39fAs5VxtnS5gUj/eKmY=";
|
||||
"vfio_user-0.1.0" = "sha256-b/gL6vPMW44O44lBIjqS+hgqVUUskBmttGk5UKIMgZk=";
|
||||
"vm-fdt-0.2.0" = "sha256-lKW4ZUraHomSDyxgNlD5qTaBTZqM0Fwhhh/08yhrjyE=";
|
||||
"vhost-0.7.0" = "sha256-KdVROh44UzZJqtzxfM6gwAokzY6El8iDPfw2nnkmhiQ=";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "nixpacks";
|
||||
version = "1.10.0";
|
||||
version = "1.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "railwayapp";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ltssKi78lBkHEgdlVSRPWXEczWIACwHTz0SW57/sTAQ=";
|
||||
sha256 = "sha256-1XaIdnIBLHrT/w41pMm6EUEsvM8oY4r868MzK1vme44=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-nUP4g3RFBCC13beSHRqRKdlf3HtHUthGo/friKvce+Q=";
|
||||
cargoHash = "sha256-8b5fLmhEJozk0j2z5B8wCcza4ZKiKbFYsoVBwz/urK8=";
|
||||
|
||||
# skip test due FHS dependency
|
||||
doCheck = false;
|
||||
|
56
pkgs/build-support/fetchpijul/default.nix
Normal file
56
pkgs/build-support/fetchpijul/default.nix
Normal file
@ -0,0 +1,56 @@
|
||||
{ lib, stdenvNoCC, pijul }:
|
||||
|
||||
lib.makeOverridable (
|
||||
{ url
|
||||
, hash ? ""
|
||||
, change ? null
|
||||
, state ? null
|
||||
, channel ? "main"
|
||||
, name ? "fetchpijul"
|
||||
, # TODO: Changes in pijul are unordered so there's many ways to end up with the same repository state.
|
||||
# This makes leaveDotPijul unfeasible to implement until pijul CLI implements
|
||||
# a way of reordering changes to sort them in a consistent and deterministic manner.
|
||||
# leaveDotPijul ? false
|
||||
}:
|
||||
if change != null && state != null then
|
||||
throw "Only one of 'change' or 'state' can be set"
|
||||
else
|
||||
stdenvNoCC.mkDerivation {
|
||||
inherit name;
|
||||
nativeBuildInputs = [ pijul ];
|
||||
|
||||
dontUnpack = true;
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
pijul clone \
|
||||
''${change:+--change "$change"} \
|
||||
''${state:+--state "$state"} \
|
||||
--channel "$channel" \
|
||||
"$url" \
|
||||
"$out"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
fixupPhase = ''
|
||||
runHook preFixup
|
||||
|
||||
rm -rf "$out/.pijul"
|
||||
|
||||
runHook postFixup
|
||||
'';
|
||||
|
||||
outputHashAlgo = if hash != "" then null else "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = if hash != "" then
|
||||
hash
|
||||
else
|
||||
lib.fakeSha256;
|
||||
|
||||
inherit url change state channel;
|
||||
}
|
||||
)
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "cozette";
|
||||
version = "1.19.2";
|
||||
version = "1.20.1";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/slavfox/Cozette/releases/download/v.${version}/CozetteFonts.zip";
|
||||
hash = "sha256-+TnKUgrAafR5irS9XeXWfb1a2PfUKOXf8CAmqJbf6y4=";
|
||||
url = "https://github.com/slavfox/Cozette/releases/download/v.${version}/CozetteFonts-v-${builtins.replaceStrings ["."] ["-"] version}.zip";
|
||||
hash = "sha256-5JODQhwKJRRBypAuVFulv9FiaVNchVi/TPb4HYQgvzk=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
@ -23,6 +23,7 @@ stdenvNoCC.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
description = "A bitmap programming font optimized for coziness";
|
||||
homepage = "https://github.com/slavfox/cozette";
|
||||
changelog = "https://github.com/slavfox/Cozette/blob/v.${version}/CHANGELOG.md";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ brettlyons marsam ];
|
||||
|
@ -2,10 +2,10 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "apache-activemq";
|
||||
version = "5.18.1";
|
||||
version = "5.18.2";
|
||||
|
||||
src = fetchurl {
|
||||
sha256 = "sha256-/t173pr1urrrByv3rrIGXZAhwmFj3tY5yHoy1nN5VHI=";
|
||||
sha256 = "sha256-zT3z7C95HUf0NRvA5dX5iAwiCkUaMYIO2/g5li7IQwo=";
|
||||
url = "mirror://apache/activemq/${version}/${pname}-${version}-bin.tar.gz";
|
||||
};
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, callPackage
|
||||
, fetchFromGitHub
|
||||
|
||||
, bison
|
||||
, cmake
|
||||
, gtest
|
||||
@ -61,15 +63,15 @@
|
||||
, zstd
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gdal";
|
||||
version = "3.7.0";
|
||||
version = "3.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OSGeo";
|
||||
repo = "gdal";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-hAuhftIuF9W0bQx73Mz8bAEegrX9g40ippqwv9mdstg=";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-RXX21tCq0xJQli3NTertM9IweONrJfGeaFj3utMFjpM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -89,7 +91,7 @@ stdenv.mkDerivation rec {
|
||||
"-DGEOTIFF_LIBRARY_RELEASE=${lib.getLib libgeotiff}/lib/libgeotiff${stdenv.hostPlatform.extensions.sharedLibrary}"
|
||||
"-DMYSQL_INCLUDE_DIR=${lib.getDev libmysqlclient}/include/mysql"
|
||||
"-DMYSQL_LIBRARY=${lib.getLib libmysqlclient}/lib/${lib.optionalString (libmysqlclient.pname != "mysql") "mysql/"}libmysqlclient${stdenv.hostPlatform.extensions.sharedLibrary}"
|
||||
] ++ lib.optionals doInstallCheck [
|
||||
] ++ lib.optionals finalAttrs.doInstallCheck [
|
||||
"-DBUILD_TESTING=ON"
|
||||
] ++ lib.optionals (!stdenv.isDarwin) [
|
||||
"-DCMAKE_SKIP_BUILD_RPATH=ON" # without, libgdal.so can't find libmariadb.so
|
||||
@ -213,14 +215,18 @@ stdenv.mkDerivation rec {
|
||||
popd # autotest
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
gdal = callPackage ./tests.nix { gdal = finalAttrs.finalPackage; };
|
||||
};
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/OSGeo/gdal/blob/${src.rev}/NEWS.md";
|
||||
changelog = "https://github.com/OSGeo/gdal/blob/v${finalAttrs.version}/NEWS.md";
|
||||
description = "Translator library for raster geospatial data formats";
|
||||
homepage = "https://www.gdal.org/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; teams.geospatial.members ++ [ marcweber dotlambda ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
46
pkgs/development/libraries/gdal/tests.nix
Normal file
46
pkgs/development/libraries/gdal/tests.nix
Normal file
@ -0,0 +1,46 @@
|
||||
{ runCommand, gdal }:
|
||||
|
||||
let
|
||||
inherit (gdal) pname version;
|
||||
|
||||
in
|
||||
runCommand "${pname}-tests" {
|
||||
nativeBuildInputs = [ gdal ];
|
||||
meta.timeout = 60;
|
||||
} ''
|
||||
# test version
|
||||
ogrinfo --version \
|
||||
| grep 'GDAL ${version}'
|
||||
|
||||
gdalinfo --version \
|
||||
| grep 'GDAL ${version}'
|
||||
|
||||
|
||||
# test formats
|
||||
ogrinfo --formats \
|
||||
| grep 'GPKG.*GeoPackage'
|
||||
|
||||
gdalinfo --formats \
|
||||
| grep 'GTiff.*GeoTIFF'
|
||||
|
||||
|
||||
# test vector file
|
||||
echo -e "Latitude,Longitude,Name\n48.1,0.25,'Test point'" > test.csv
|
||||
ogrinfo ./test.csv
|
||||
|
||||
|
||||
# test raster file
|
||||
gdal_create \
|
||||
-a_srs "EPSG:4326" \
|
||||
-of GTiff \
|
||||
-ot UInt16 \
|
||||
-a_nodata 255 \
|
||||
-burn 0 \
|
||||
-outsize 800 600 \
|
||||
-co COMPRESS=LZW \
|
||||
test.tif
|
||||
|
||||
gdalinfo ./test.tif
|
||||
|
||||
touch $out
|
||||
''
|
@ -6,47 +6,38 @@
|
||||
, pytestCheckHook
|
||||
, aiohttp
|
||||
, dask
|
||||
, distributed
|
||||
, fsspec
|
||||
, numpy
|
||||
, requests
|
||||
, scikit-image
|
||||
, s3fs
|
||||
, toolz
|
||||
, zarr
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ome-zarr";
|
||||
version = "0.6.1";
|
||||
version = "0.8.0";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ome";
|
||||
repo = "ome-zarr-py";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-dpweOuqruh7mAqmSaNbehLCr8OCLe1IZNWV4bpHpTl0=";
|
||||
hash = "sha256-DMBTrDyUmNsrjOsFKrqukJNZ1f/mAjz4aunNUcwVMKg=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# remove after next release:
|
||||
(fetchpatch {
|
||||
name = "fix-writer-bug";
|
||||
url = "https://github.com/ome/ome-zarr-py/commit/c1302e05998dfe2faf94b0f958c92888681f5ffa.patch";
|
||||
hash = "sha256-1WANObABUXkjqeGdnmg0qJ48RcZcuAwgitZyMwiRYUw=";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
numpy
|
||||
dask
|
||||
distributed
|
||||
zarr
|
||||
fsspec
|
||||
aiohttp
|
||||
requests
|
||||
s3fs
|
||||
scikit-image
|
||||
toolz
|
||||
];
|
||||
] ++ fsspec.passthru.optional-dependencies.s3;
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
|
@ -6,26 +6,25 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ast-grep";
|
||||
version = "0.8.0";
|
||||
version = "0.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ast-grep";
|
||||
repo = "ast-grep";
|
||||
rev = version;
|
||||
hash = "sha256-jLb2xMrsBuw+ty1S4X+YdvPfiDyDUuLdJH5dw+e+9Pk=";
|
||||
hash = "sha256-gAzO5ganbwxarqHGVhAl9PtiHEr89puoPJK+iXtrvyU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-ayzR0LjKPXWgtMFznjDDFJM4Ef2HW1HK8aOCcDiwvAA=";
|
||||
cargoHash = "sha256-SvGxDXC1nN6LitWHGcVieHJpEEuY1omqAvjaJmHPauE=";
|
||||
|
||||
# error: linker `aarch64-linux-gnu-gcc` not found
|
||||
postPatch = ''
|
||||
rm .cargo/config.toml
|
||||
'';
|
||||
|
||||
checkFlags = lib.optionals (stdenv.isx86_64 && stdenv.isDarwin) [
|
||||
# fails on emulated x86_64-darwin
|
||||
# mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')
|
||||
"--skip=test::test_load_parser"
|
||||
checkFlags = [
|
||||
# disable flaky test
|
||||
"--skip=test::test_load_parser_mac"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "oh-my-posh";
|
||||
version = "17.9.0";
|
||||
version = "17.11.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jandedobbeleer";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Wcn+3hb90QFlQ/jf4jHQubmCH4P/cA0xP8ZWU7h5xd8=";
|
||||
hash = "sha256-cDuHjkbsX8YmAHCchgLEY2B81f3qtrm6DVcee+z4KfQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-FDVzJQuxrzypqke9gbDdQfMR3dM/y8msAvZYyrlMv+o=";
|
||||
|
@ -9,14 +9,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-show-asm";
|
||||
version = "0.2.19";
|
||||
version = "0.2.20";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-bIaEXlMIEQ2pnzjp7ll6iJFGAQjGb3HVBTbfGSPHrvg=";
|
||||
hash = "sha256-uLF/xDRxw8sLWXkxxHa2cQ6MVMhcN5dop/qfWNEdyIE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-qmxd6qt8pL/5TWPDCiBQrvqb6r7VAJOrSR1OSpibQFU=";
|
||||
cargoHash = "sha256-HDHsTc7JKvLp5Ezaxctjlhd304TXdcVndkuiE9GBSZ0=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
@ -39,6 +39,7 @@ rustPlatform.buildRustPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Cargo subcommand showing the assembly, LLVM-IR and MIR generated for Rust code";
|
||||
homepage = "https://github.com/pacak/cargo-show-asm";
|
||||
changelog = "https://github.com/pacak/cargo-show-asm/blob/${version}/Changelog.md";
|
||||
license = with licenses; [ asl20 mit ];
|
||||
maintainers = with maintainers; [ figsoda oxalica ];
|
||||
mainProgram = "cargo-asm";
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "yq-go";
|
||||
version = "4.34.1";
|
||||
version = "4.34.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mikefarah";
|
||||
repo = "yq";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-rkf3yoTB7umGHvbVb7eg21a4AJTyYOuWf4jHs274SGc=";
|
||||
hash = "sha256-g+IqMYUgsab3bC9SX7Kgo6UGKfMQRtxTUxPg6MgFsXg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-726kRRxFj7tqVguPDiHuPpHRN2+FDsqBtIJ4J8I/0Oc=";
|
||||
vendorHash = "sha256-iI0BHSXiOTm5TlLWTDPVlZRGdTHJS9aNzEXimk8xJUM=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
63
pkgs/games/chiaki4deck/default.nix
Normal file
63
pkgs/games/chiaki4deck/default.nix
Normal file
@ -0,0 +1,63 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, mkDerivation
|
||||
, cmake
|
||||
, pkg-config
|
||||
, protobuf
|
||||
, python3
|
||||
, ffmpeg_6
|
||||
, libopus
|
||||
, qtbase
|
||||
, qtmultimedia
|
||||
, qtsvg
|
||||
, SDL2
|
||||
, libevdev
|
||||
, udev
|
||||
, hidapi
|
||||
, fftw
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "chiaki4deck";
|
||||
version = "1.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "streetpea";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-DXer39+j8QaI1IAIcLhVzSVNyGvwoT93knRibpFsEeY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
protobuf
|
||||
python3
|
||||
python3.pkgs.protobuf
|
||||
python3.pkgs.setuptools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
ffmpeg_6
|
||||
libopus
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtsvg
|
||||
protobuf
|
||||
SDL2
|
||||
hidapi
|
||||
fftw
|
||||
libevdev
|
||||
udev
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://streetpea.github.io/chiaki4deck/";
|
||||
description = "Fork of Chiaki (Open Source Playstation Remote Play) with Enhancements for Steam Deck";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ devusb ];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "chiaki";
|
||||
};
|
||||
}
|
@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "intel-compute-runtime";
|
||||
version = "23.17.26241.24";
|
||||
version = "23.22.26516.18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
repo = "compute-runtime";
|
||||
rev = version;
|
||||
sha256 = "sha256-FcI9bBJc23UlPP7qSBUc+t4e1X3UEJTYiy86N3KVWrs=";
|
||||
sha256 = "sha256-SeNmCXqoUqTo1F3ia+4fAMHWJgdEz/PsNFEkrqM+0k4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ferretdb";
|
||||
version = "1.5.0";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FerretDB";
|
||||
repo = "FerretDB";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-PBxpb6lXLtOM9nxw2rNlMoevyWbmuTZMIjzr4y3UCMc=";
|
||||
hash = "sha256-HRU2s+i6Be0gRsU7kNfloouBLbgZtnn6OiXYaeUYtiQ=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -19,7 +19,7 @@ buildGoModule rec {
|
||||
echo nixpkgs > build/version/package.txt
|
||||
'';
|
||||
|
||||
vendorSha256 = "sha256-AsjKqlUwP+IgTErsGhBrELhVHMJ88twU3U4E9U/rP24=";
|
||||
vendorSha256 = "sha256-mkUV8CGVCfGetkU1DO1F6c17C4xFVEVWxQkYMmfo2cM=";
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
|
@ -1,31 +1,18 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub, fetchpatch, nixosTests }:
|
||||
{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "VictoriaMetrics";
|
||||
version = "1.91.0";
|
||||
version = "1.91.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ZGUJfziqQCCv/9p+z8UJpvHkg6fKOIMv1tJ679f9NTo=";
|
||||
hash = "sha256-xW31Lm+WiJ1quMaIDa7tbZuKhILTMdUviIDTRJT1Cqg=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "vmctl-fix-tests.patch";
|
||||
url = "https://github.com/VictoriaMetrics/VictoriaMetrics/commit/4060f3f261cb41d97df719e6c60b71be19829301.patch";
|
||||
hash = "sha256-SCeSdSLzZZodMiL7Kts0L8R5XD7TbOc5+/oidmithCY=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "graphite-fixes-tests-for-arm.patch";
|
||||
url = "https://github.com/VictoriaMetrics/VictoriaMetrics/commit/228ea03bda0eda3507d782cb627d946843f29c30.patch";
|
||||
hash = "sha256-FnN5O9H1tNtBs5Fr4tXrnyted8SZwX82ZdBmeHlIQ2Y=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# main module (github.com/VictoriaMetrics/VictoriaMetrics) does not contain package
|
||||
# github.com/VictoriaMetrics/VictoriaMetrics/app/vmui/packages/vmui/web
|
||||
@ -47,6 +34,8 @@ buildGoModule rec {
|
||||
export ldflags=''${ldflags//=${version}/=}
|
||||
'';
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
passthru.tests = { inherit (nixosTests) victoriametrics; };
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -7,11 +7,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "snappymail";
|
||||
version = "2.28.3";
|
||||
version = "2.28.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/the-djmaze/snappymail/releases/download/v${version}/snappymail-${version}.tar.gz";
|
||||
sha256 = "sha256-N7g0xP0ibJWuzp1zNALw/GdZseLwzQnX4H9W0UJsBaU=";
|
||||
sha256 = "sha256-tXP7jxpqBASNShNe9rHiewSgdW/KgkH80V24VgJlXZE=";
|
||||
};
|
||||
|
||||
sourceRoot = "snappymail";
|
||||
|
@ -921,6 +921,8 @@ with pkgs;
|
||||
|
||||
fetchMavenArtifact = callPackage ../build-support/fetchmavenartifact { };
|
||||
|
||||
fetchpijul = callPackage ../build-support/fetchpijul { };
|
||||
|
||||
inherit (callPackage ../build-support/node/fetch-yarn-deps { })
|
||||
prefetch-yarn-deps
|
||||
fetchYarnDeps;
|
||||
@ -32014,6 +32016,8 @@ with pkgs;
|
||||
|
||||
passky-desktop = callPackage ../applications/misc/passky-desktop { };
|
||||
|
||||
pat = callPackage ../applications/radio/pat { };
|
||||
|
||||
pinboard = with python3Packages; toPythonApplication pinboard;
|
||||
|
||||
pinboard-notes-backup = haskell.lib.compose.justStaticExecutables haskellPackages.pinboard-notes-backup;
|
||||
@ -36943,6 +36947,8 @@ with pkgs;
|
||||
|
||||
chiaki = libsForQt5.callPackage ../games/chiaki { };
|
||||
|
||||
chiaki4deck = libsForQt5.callPackage ../games/chiaki4deck { };
|
||||
|
||||
chromium-bsu = callPackage ../games/chromium-bsu { };
|
||||
|
||||
clonehero = callPackage ../games/clonehero { };
|
||||
|
Loading…
Reference in New Issue
Block a user