mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-17 23:36:17 +01:00
Merge master into staging-next
This commit is contained in:
commit
6b41a98c6c
28 changed files with 412 additions and 142 deletions
|
@ -895,6 +895,12 @@
|
|||
githubId = 160476;
|
||||
name = "Amanjeev Sethi";
|
||||
};
|
||||
amanse = {
|
||||
email = "amansetiarjp@gmail.com";
|
||||
github = "amanse";
|
||||
githubId = 13214574;
|
||||
name = "Aman Setia";
|
||||
};
|
||||
amar1729 = {
|
||||
email = "amar.paul16@gmail.com";
|
||||
github = "Amar1729";
|
||||
|
@ -18593,6 +18599,12 @@
|
|||
githubId = 7121530;
|
||||
name = "Wolf Honoré";
|
||||
};
|
||||
wietsedv = {
|
||||
email = "wietsedv@proton.me";
|
||||
github = "wietsedv";
|
||||
githubId = 13139101;
|
||||
name = "Wietse de Vries";
|
||||
};
|
||||
wigust = {
|
||||
name = "Oleg Pykhalov";
|
||||
email = "go.wigust@gmail.com";
|
||||
|
|
|
@ -91,6 +91,8 @@
|
|||
|
||||
- [tuxedo-rs](https://github.com/AaronErhardt/tuxedo-rs), Rust utilities for interacting with hardware from TUXEDO Computers.
|
||||
|
||||
- [audiobookshelf](https://github.com/advplyr/audiobookshelf/), a self-hosted audiobook and podcast server. Available as [services.audiobookshelf](#opt-services.audiobookshelf.enable).
|
||||
|
||||
## Backward Incompatibilities {#sec-release-23.11-incompatibilities}
|
||||
|
||||
- The `boot.loader.raspberryPi` options have been marked deprecated, with intent for removal for NixOS 24.11. They had a limited use-case, and do not work like people expect. They required either very old installs ([before mid-2019](https://github.com/NixOS/nixpkgs/pull/62462)) or customized builds out of scope of the standard and generic AArch64 support. That option set never supported the Raspberry Pi 4 family of devices.
|
||||
|
|
|
@ -1211,6 +1211,7 @@
|
|||
./services/web-apps/atlassian/confluence.nix
|
||||
./services/web-apps/atlassian/crowd.nix
|
||||
./services/web-apps/atlassian/jira.nix
|
||||
./services/web-apps/audiobookshelf.nix
|
||||
./services/web-apps/bookstack.nix
|
||||
./services/web-apps/calibre-web.nix
|
||||
./services/web-apps/coder.nix
|
||||
|
|
90
nixos/modules/services/web-apps/audiobookshelf.nix
Normal file
90
nixos/modules/services/web-apps/audiobookshelf.nix
Normal file
|
@ -0,0 +1,90 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.audiobookshelf;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
services.audiobookshelf = {
|
||||
enable = mkEnableOption "Audiobookshelf, self-hosted audiobook and podcast server.";
|
||||
|
||||
package = mkPackageOption pkgs "audiobookshelf" { };
|
||||
|
||||
dataDir = mkOption {
|
||||
description = "Path to Audiobookshelf config and metadata inside of /var/lib.";
|
||||
default = "audiobookshelf";
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
host = mkOption {
|
||||
description = "The host Audiobookshelf binds to.";
|
||||
default = "127.0.0.1";
|
||||
example = "0.0.0.0";
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
description = "The TCP port Audiobookshelf will listen on.";
|
||||
default = 8000;
|
||||
type = types.port;
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
description = "User account under which Audiobookshelf runs.";
|
||||
default = "audiobookshelf";
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
description = "Group under which Audiobookshelf runs.";
|
||||
default = "audiobookshelf";
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
openFirewall = mkOption {
|
||||
description = "Open ports in the firewall for the Audiobookshelf web interface.";
|
||||
default = false;
|
||||
type = types.bool;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.audiobookshelf = {
|
||||
description = "Audiobookshelf is a self-hosted audiobook and podcast server";
|
||||
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
StateDirectory = cfg.dataDir;
|
||||
WorkingDirectory = "/var/lib/${cfg.dataDir}";
|
||||
ExecStart = "${cfg.package}/bin/audiobookshelf --host ${cfg.host} --port ${toString cfg.port}";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
|
||||
users.users = mkIf (cfg.user == "audiobookshelf") {
|
||||
audiobookshelf = {
|
||||
isSystemUser = true;
|
||||
group = cfg.group;
|
||||
home = "/var/lib/${cfg.dataDir}";
|
||||
};
|
||||
};
|
||||
|
||||
users.groups = mkIf (cfg.group == "audiobookshelf") {
|
||||
audiobookshelf = { };
|
||||
};
|
||||
|
||||
networking.firewall = mkIf cfg.openFirewall {
|
||||
allowedTCPPorts = [ cfg.port ];
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ wietsedv ];
|
||||
}
|
|
@ -517,17 +517,24 @@ let
|
|||
(assertValueOneOf "Unmanaged" boolValues)
|
||||
(assertInt "Group")
|
||||
(assertRange "Group" 0 2147483647)
|
||||
(assertValueOneOf "RequiredForOnline" (boolValues ++ [
|
||||
"missing"
|
||||
"off"
|
||||
"no-carrier"
|
||||
"dormant"
|
||||
"degraded-carrier"
|
||||
"carrier"
|
||||
"degraded"
|
||||
"enslaved"
|
||||
"routable"
|
||||
]))
|
||||
(assertValueOneOf "RequiredForOnline" (boolValues ++ (
|
||||
let
|
||||
# https://freedesktop.org/software/systemd/man/networkctl.html#missing
|
||||
operationalStates = [
|
||||
"missing"
|
||||
"off"
|
||||
"no-carrier"
|
||||
"dormant"
|
||||
"degraded-carrier"
|
||||
"carrier"
|
||||
"degraded"
|
||||
"enslaved"
|
||||
"routable"
|
||||
];
|
||||
operationalStateRanges = concatLists (imap0 (i: min: map (max: "${min}:${max}") (drop i operationalStates)) operationalStates);
|
||||
in
|
||||
operationalStates ++ operationalStateRanges
|
||||
)))
|
||||
(assertValueOneOf "RequiredFamilyForOnline" [
|
||||
"ipv4"
|
||||
"ipv6"
|
||||
|
|
|
@ -119,6 +119,7 @@ in {
|
|||
atd = handleTest ./atd.nix {};
|
||||
atop = handleTest ./atop.nix {};
|
||||
atuin = handleTest ./atuin.nix {};
|
||||
audiobookshelf = handleTest ./audiobookshelf.nix {};
|
||||
auth-mysql = handleTest ./auth-mysql.nix {};
|
||||
authelia = handleTest ./authelia.nix {};
|
||||
avahi = handleTest ./avahi.nix {};
|
||||
|
|
23
nixos/tests/audiobookshelf.nix
Normal file
23
nixos/tests/audiobookshelf.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
import ./make-test-python.nix ({ lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
name = "audiobookshelf";
|
||||
meta.maintainers = with maintainers; [ wietsedv ];
|
||||
|
||||
nodes.machine =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.audiobookshelf = {
|
||||
enable = true;
|
||||
port = 1234;
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("audiobookshelf.service")
|
||||
machine.wait_for_open_port(1234)
|
||||
machine.succeed("curl --fail http://localhost:1234/")
|
||||
'';
|
||||
})
|
|
@ -6,19 +6,18 @@
|
|||
, callPackage
|
||||
}:
|
||||
|
||||
# https://download.eclipse.org/eclipse/downloads/ is the main place to
|
||||
# find the downloads needed for new versions
|
||||
# use ./update.sh to help with updating for each quarterly release
|
||||
#
|
||||
# to test:
|
||||
# then, to test:
|
||||
# for e in cpp modeling platform sdk java jee committers rcp; do for s in pkgs pkgsCross.aarch64-multiplatform; do echo; echo $s $e; nix build -f default.nix ${s}.eclipses.eclipse-${e} -o eclipse-${s}-${e}; done; done
|
||||
|
||||
let
|
||||
platform_major = "4";
|
||||
platform_minor = "27";
|
||||
platform_minor = "28";
|
||||
year = "2023";
|
||||
month = "03"; #release month
|
||||
buildmonth = "03"; #sometimes differs from release month
|
||||
timestamp = "${year}${buildmonth}020300";
|
||||
month = "06"; #release month
|
||||
buildmonth = "06"; #sometimes differs from release month
|
||||
timestamp = "${year}${buildmonth}050440";
|
||||
gtk = gtk3;
|
||||
arch = if stdenv.hostPlatform.isx86_64 then
|
||||
"x86_64"
|
||||
|
@ -44,8 +43,8 @@ in rec {
|
|||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-MBng3ETarHMlUUPpVvMIZxVqpe9JW5xNHonnN6CHRcw=";
|
||||
aarch64 = "sha256-7FgpPzp5MY/fB6Q/wvrvi+Lpcm3tmH7bUTLh7q2Rjek=";
|
||||
x86_64 = "sha256-0VFg68+M84SEPbLv2f3hNTK1tvUjN3u0X3DYFCMAFX8=";
|
||||
aarch64 = "sha256-K1e1Q//X+R4FfY60eE4nPgEaF0wUkUIO/AFzzjIrGRY=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
@ -59,8 +58,8 @@ in rec {
|
|||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-BXofrKElgCG3+WUCanpX1sGLhirj2pLi+pi24Z+WjBk=";
|
||||
aarch64 = "sha256-CdePRa6jmWlt3Wismt3RahGzYOm1ZDwQRt82kRVXSdM=";
|
||||
x86_64 = "sha256-wdZninKynNQ5o2nxyOxA7GDQ75tWs1TB2jh21O0fEpg=";
|
||||
aarch64 = "sha256-5iAoMyesBjmdAy/eSMkgtuYv5rnXAEjgLb0yNX02mdw=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
@ -74,8 +73,8 @@ in rec {
|
|||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-aprXjNv2NMoIDCNkFxwmMKcGUt2ssRonzTZ/hH57Mig=";
|
||||
aarch64 = "sha256-Aq9PDVo/9zTeQ2j6q5bf1aIKjKM7oonIr1mEQ7rX48Y=";
|
||||
x86_64 = "sha256-SYeCXWGSi8bPbqngGC+ZSBQaKyZrDTFeT+RLKC+ZsDk=";
|
||||
aarch64 = "sha256-DN6fl7p+q96wsg9Mq6v3lTV0/7b87MFKTJSFuNrjLgs=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
@ -106,8 +105,8 @@ in rec {
|
|||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-39DXU7wIsdxkUpNKnYPT7+qPJ2DrF7G7UJqPfhEDGGs=";
|
||||
aarch64 = "sha256-7GwKGNHWPZ3uOFyzQj1dftFFz/3oa2j8XWkRn0wnllY=";
|
||||
x86_64 = "sha256-QY16KSNZj6rq7YL+gOajI80XVtSdCh7MJGPscRJuf1o=";
|
||||
aarch64 = "sha256-oZXx87dlLZ61ezwDD0WnV48ZMjcK0FkSGl83LhkJvmc=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
@ -121,8 +120,8 @@ in rec {
|
|||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-zNBzFHmNaxUutzMh/5pOglJiKh5NAvSVwvPYyA6RVr4=";
|
||||
aarch64 = "sha256-RtLXB9kgpLERfhpvDTaJG84qVyN1Puud1PTZtk/WIO0=";
|
||||
x86_64 = "sha256-FC4zgx+75S9TJVp0azWgON/wNmoEy0074tj+DOdvNOg=";
|
||||
aarch64 = "sha256-wnRQKqg1V4hrD9VAg6sw8yypB97Wcivt4cH6MFP4KPs=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
@ -136,8 +135,8 @@ in rec {
|
|||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-jee-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-vpvmKZKVl6ubfq8QMDr0xprXYMWl576hu+ovvREN4ak=";
|
||||
aarch64 = "sha256-5Yqxgl4kkN3Bb7hsTnd9q5TsCpVBVkEVvqPbL5MYEyg=";
|
||||
x86_64 = "sha256-eSYWuw6s3H1ht4zPDwjd4oZ49KhIn1OaywtwKHyS0wI=";
|
||||
aarch64 = "sha256-9O0+S3G3vtjN1Vd4euf3gYRPPtrVxoBB+Uj7BlDAS5M=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
@ -151,8 +150,8 @@ in rec {
|
|||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-committers-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-4SAiEZWSUaiK8QO2Hg39FBcj1aYRtbOJkeF1W1AMQBo=";
|
||||
aarch64 = "sha256-+KGDlo6QK3o/n2vSiD0HpIkBwqwIiMXzdFUpfE48gps=";
|
||||
x86_64 = "sha256-kJoXaSwsjArpe4tqeSkZiU4AcR5dLBvdsyU7tBTiTdc=";
|
||||
aarch64 = "sha256-qydFxa0lQEwsxZQPlBXV/wiuXGuIcBHRasKZEmXJaOk=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
@ -166,8 +165,8 @@ in rec {
|
|||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-rcp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-bhcpzsS9cci3Y3Pk9DOrtPonKjRg/vzDqDr3Be/xfks=";
|
||||
aarch64 = "sha256-YCb4leFWRtx4VPwK/5vgwwDH3/f0/0OWEy4ueAS7sUw=";
|
||||
x86_64 = "sha256-BAEXN6sx4f+BJnKz0lkPoAmRXnlbl5s5ETAyfE/AZak=";
|
||||
aarch64 = "sha256-xayvsFAglBxAB49j2tnt52d6KX6LxMBRfx0wR/p8K70=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -255,12 +255,12 @@ rec {
|
|||
cdt = buildEclipseUpdateSite rec {
|
||||
name = "cdt-${version}";
|
||||
# find current version at https://github.com/eclipse-cdt/cdt/releases
|
||||
version = "11.1.1";
|
||||
version = "11.2.0";
|
||||
|
||||
src = fetchzip {
|
||||
stripRoot = false;
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/${lib.versions.majorMinor version}/${name}/${name}.zip";
|
||||
hash = "sha256-k78QKPIb3Lr0Wcg2tTlX1abdpcvxspjaxJiP2Hrgb4A=";
|
||||
hash = "sha256-YEmoAFzyGOyreg8FiL/gcwXROHT5VoLb1DfHhBp1tsQ=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
|
72
pkgs/applications/editors/eclipse/update.sh
Executable file
72
pkgs/applications/editors/eclipse/update.sh
Executable file
|
@ -0,0 +1,72 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i bash --pure -p curl cacert libxml2 yq nix jq
|
||||
#! nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/3c7487575d9445185249a159046cc02ff364bff8.tar.gz
|
||||
# ^
|
||||
# |
|
||||
# nixos-unstable ~ 2023-07-06 -----------------/
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
|
||||
# scrape the downloads page for release info
|
||||
|
||||
curl -s -o eclipse-dl.html https://download.eclipse.org/eclipse/downloads/
|
||||
trap "rm eclipse-dl.html" EXIT
|
||||
|
||||
dlquery() {
|
||||
q=$1
|
||||
xmllint --html eclipse-dl.html --xmlout 2>/dev/null | xq -r ".html.body.main.div.table[3].tr[1].td[0].a${q}";
|
||||
}
|
||||
|
||||
# extract release info from download page HTML
|
||||
|
||||
platform_major=$(dlquery '."#text" | split(".") | .[0]' -r);
|
||||
platform_minor=$(dlquery '."#text" | split(".") | .[1]' -r);
|
||||
|
||||
year=$(dlquery '."@href" | split("/") | .[] | select(. | startswith("R")) | split("-") | .[2] | .[0:4]')
|
||||
buildmonth=$(dlquery '."@href" | split("/") | .[] | select(. | startswith("R")) | split("-") | .[2] | .[4:6]')
|
||||
builddaytime=$(dlquery '."@href" | split("/") | .[] | select(. | startswith("R")) | split("-") | .[2] | .[6:12]')
|
||||
timestamp="${year}${buildmonth}${builddaytime}";
|
||||
|
||||
# account for possible release-month vs. build-month mismatches
|
||||
|
||||
month=$buildmonth;
|
||||
case "$buildmonth" in
|
||||
'02'|'04') month='03' ;;
|
||||
'05'|'07') month='06' ;;
|
||||
'08'|'10') month='09' ;;
|
||||
'11'|'01') month='12' ;;
|
||||
esac
|
||||
|
||||
cat <<EOF
|
||||
|
||||
paste the following into the 'let' block near the top of pkgs/applications/editors/eclipse/default.nix:
|
||||
|
||||
platform_major = "${platform_major}";
|
||||
platform_minor = "${platform_minor}";
|
||||
year = "${year}";
|
||||
month = "${month}"; #release month
|
||||
buildmonth = "${buildmonth}"; #sometimes differs from release month
|
||||
timestamp = "\${year}\${buildmonth}${builddaytime}";
|
||||
EOF
|
||||
|
||||
# strip existing download hashes
|
||||
|
||||
sed -i 's/64 = ".*";$/64 = "";/g' pkgs/applications/editors/eclipse/default.nix
|
||||
|
||||
# prefetch new download hashes
|
||||
|
||||
echo;
|
||||
echo "paste the following url + hash blocks into pkgs/applications/editors/eclipse/default.nix:";
|
||||
|
||||
for u in $(grep 'url = ' pkgs/applications/editors/eclipse/default.nix | grep arch | cut -d '"' -f 2 | sed 's/&/\\&/g'); do
|
||||
echo;
|
||||
echo " url = \"${u}\";";
|
||||
echo " hash = {";
|
||||
for arch in x86_64 aarch64; do
|
||||
us=$(eval echo "$u");
|
||||
h=$(nix store prefetch-file --json "$us" | jq -r .hash);
|
||||
echo " $arch = \"${h}\";";
|
||||
done
|
||||
echo ' }.${arch};';
|
||||
done
|
|
@ -2,29 +2,35 @@
|
|||
, stdenv
|
||||
, fetchFromSourcehut
|
||||
, redo-apenwarr
|
||||
, testers
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "slweb";
|
||||
version = "0.6.9";
|
||||
version = "0.6.11";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~strahinja";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-YSHJJ+96Xj2zaDtPi8jftPWIyeIG9LwQ/eYT/oh2Y2c=";
|
||||
repo = "slweb";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-+bKapK/s1pmo1NRRslf7V4ogWTtchFNWpzi+S8YG6+4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ redo-apenwarr ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
export FALLBACKVER=${finalAttrs.version}
|
||||
PREFIX=$out redo install
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = finalAttrs.finalPackage;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A static website generator which aims at being simplistic";
|
||||
homepage = "https://strahinja.srht.site/slweb/";
|
||||
|
@ -32,4 +38,4 @@ stdenv.mkDerivation rec {
|
|||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ GaetanLepage ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
(if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec {
|
||||
pname = "signalbackup-tools";
|
||||
version = "20230928-1";
|
||||
version = "20230929";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bepaald";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-wL9Yv6+7PynbBr+GgA8ohS5w5/iVTtrC3R2SG5MWJVQ=";
|
||||
hash = "sha256-5U8znPKCe4auQRfysVUzXawnvnSj86MD3J2vfAwxofE=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -1,7 +1,18 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, alsa-lib, espeak, gpsd
|
||||
, hamlib, perl, python3, udev }:
|
||||
|
||||
with lib;
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, alsa-lib
|
||||
, gpsd
|
||||
, gpsdSupport ? false
|
||||
, hamlib
|
||||
, hamlibSupport ? true
|
||||
, perl
|
||||
, python3
|
||||
, espeak
|
||||
, udev
|
||||
, extraScripts ? false
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "direwolf";
|
||||
|
@ -20,9 +31,14 @@ stdenv.mkDerivation rec {
|
|||
|
||||
strictDeps = true;
|
||||
|
||||
buildInputs = [
|
||||
espeak gpsd hamlib perl python3
|
||||
] ++ (optionals stdenv.isLinux [alsa-lib udev]);
|
||||
buildInputs = lib.optionals stdenv.isLinux [ alsa-lib udev ]
|
||||
++ lib.optionals gpsdSupport [ gpsd ]
|
||||
++ lib.optionals hamlibSupport [ hamlib ]
|
||||
++ lib.optionals extraScripts [ python3 perl espeak ];
|
||||
|
||||
preConfigure = lib.optionals (!extraScripts) ''
|
||||
echo "" > scripts/CMakeLists.txt
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace conf/CMakeLists.txt \
|
||||
|
@ -33,21 +49,23 @@ stdenv.mkDerivation rec {
|
|||
substituteInPlace src/decode_aprs.c \
|
||||
--replace /usr/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt \
|
||||
--replace /opt/local/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt
|
||||
patchShebangs scripts/dwespeak.sh
|
||||
substituteInPlace scripts/dwespeak.sh \
|
||||
--replace espeak ${espeak}/bin/espeak
|
||||
substituteInPlace cmake/cpack/direwolf.desktop.in \
|
||||
--replace 'Terminal=false' 'Terminal=true' \
|
||||
--replace 'Exec=@APPLICATION_DESKTOP_EXEC@' 'Exec=direwolf'
|
||||
substituteInPlace src/dwgpsd.c \
|
||||
--replace 'GPSD_API_MAJOR_VERSION > 11' 'GPSD_API_MAJOR_VERSION > 14'
|
||||
''
|
||||
+ lib.optionalString extraScripts ''
|
||||
patchShebangs scripts/dwespeak.sh
|
||||
substituteInPlace scripts/dwespeak.sh \
|
||||
--replace espeak ${espeak}/bin/espeak
|
||||
'';
|
||||
|
||||
meta = {
|
||||
meta = with lib; {
|
||||
description = "A Soundcard Packet TNC, APRS Digipeater, IGate, APRStt gateway";
|
||||
homepage = "https://github.com/wb2osz/direwolf/";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ lasandell ];
|
||||
maintainers = with maintainers; [ lasandell sarcasticadmin ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "5.12.152";
|
||||
version = "5.12.153";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "git-mit";
|
||||
|
@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
|
|||
owner = "PurpleBooth";
|
||||
repo = "git-mit";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-FW7vstYJNJ29v3BNsyRFk57sW3jjA7aurXzz6je1nuo=";
|
||||
hash = "sha256-bYSWNNMDH1iTGmpLB3m/LCS8GltTdjfjeMwtB5Ss7dk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-FQmWAvSuif0/mTVl2xzI4JVLCxn7CXYubGdi55kk2Mk=";
|
||||
cargoHash = "sha256-FAihHJTnnHYCphEVMPA1YPT/Nj9m4DwkbhGbZJOlm0o=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
|
32
pkgs/by-name/ga/game-rs/package.nix
Normal file
32
pkgs/by-name/ga/game-rs/package.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, steam-run
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "game-rs";
|
||||
version = "0.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "amanse";
|
||||
repo = "game-rs";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-M9/hFItoCL8fSrc0dFNn43unqkIaD179OGUdbXL6/Rs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-aq58sFK4/Zd8S4dOWjag+g5PmTeaVAK3FS3fW/YlCLs=";
|
||||
|
||||
buildFeatures = [ "nixos" ];
|
||||
|
||||
propagatedBuildInputs = [ steam-run ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Minimal CLI game launcher for linux";
|
||||
homepage = "https://github.com/amanse/game-rs";
|
||||
changelog = "https://github.com/Amanse/game-rs/releases/tag/v${version}";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ amanse ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -19,12 +19,12 @@ let
|
|||
sha256 = "189gjqzdz10xh3ybiy4ch1r98bsmkcb4hpnrmggd4y2g5kqnyx4y";
|
||||
};
|
||||
|
||||
"2.3.7" = {
|
||||
sha256 = "sha256-aYFE+4BaMZGaYQ3pmauYOR1S62mK2qjKGbKPxu0Nmfc=";
|
||||
};
|
||||
"2.3.8" = {
|
||||
sha256 = "sha256-QhVxsqyRbli+jrzqXvSr+NeQKGPbah0KXvqVAK3KDSk=";
|
||||
};
|
||||
"2.3.9" = {
|
||||
sha256 = "sha256-fSiakSMgIgKL8BKJAMMr8A5MVDDDLyivBZTIpZKphlQ=";
|
||||
};
|
||||
};
|
||||
|
||||
in with versionMap.${version};
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
, xorgproto
|
||||
, coreutils
|
||||
# build options
|
||||
, threadSupport ? stdenv.hostPlatform.isx86
|
||||
, x11Support ? stdenv.hostPlatform.isx86
|
||||
, threadSupport ? (stdenv.hostPlatform.isx86 && ! stdenv.hostPlatform.isDarwin)
|
||||
, x11Support ? (stdenv.hostPlatform.isx86 && ! stdenv.hostPlatform.isDarwin)
|
||||
, dllSupport ? true
|
||||
, withModules ? [
|
||||
"pcre"
|
||||
|
@ -82,13 +82,16 @@ stdenv.mkDerivation {
|
|||
'';
|
||||
|
||||
preConfigure = lib.optionalString stdenv.isDarwin (''
|
||||
cd src
|
||||
autoreconf -f -i -I m4 -I glm4
|
||||
cd -
|
||||
(
|
||||
cd src
|
||||
autoreconf -f -i -I m4 -I glm4
|
||||
)
|
||||
'' + lib.concatMapStrings (x: ''
|
||||
cd modules/${x}
|
||||
autoreconf -f -i -I ../../src -I ../../src/m4 -I ../../src/glm4
|
||||
cd -
|
||||
(
|
||||
root="$PWD"
|
||||
cd modules/${x}
|
||||
autoreconf -f -i -I "$root/src" -I "$root/src/m4" -I "$root/src/glm4"
|
||||
)
|
||||
'') withModules);
|
||||
|
||||
configureFlags = [ "builddir" ]
|
||||
|
|
|
@ -1,12 +1,19 @@
|
|||
{ lib, stdenv, fetchurl, autoreconfHook, sqlite }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, sqlite
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mps";
|
||||
version = "1.117.0";
|
||||
version = "1.118.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.ravenbrook.com/project/mps/release/${version}/mps-kit-${version}.tar.gz";
|
||||
sha256 = "04ix4l7lk6nxxk9sawpnxbybvqb82lks5606ym10bc1qbc2kqdcz";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Ravenbrook";
|
||||
repo = "mps";
|
||||
rev = "refs/tags/release-${version}";
|
||||
hash = "sha256-3ql3jWLccgnQHKf23B1en+nJ9rxqmHcWd7aBr93YER0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
@ -21,7 +28,6 @@ stdenv.mkDerivation rec {
|
|||
|
||||
|
||||
meta = {
|
||||
broken = true;
|
||||
description = "A flexible memory management and garbage collection library";
|
||||
homepage = "https://www.ravenbrook.com/project/mps";
|
||||
license = lib.licenses.sleepycat;
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "utf8cpp";
|
||||
version = "3.2.4";
|
||||
version = "3.2.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nemtrif";
|
||||
repo = "utfcpp";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-cpy1lg/9pWgI5uyOO9lfSt8llfGEjnu/O4P9688XVEA=";
|
||||
sha256 = "sha256-cWiGggn2GP25K/8eopvnFPq6iwcBteNI3i9Lo1Sr+ig=";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
|
@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/nemtrif/utfcpp";
|
||||
changelog = "https://github.com/nemtrif/utfcpp/releases/tag/v${version}";
|
||||
description = "UTF-8 with C++ in a Portable Way";
|
||||
license = licenses.boost;
|
||||
maintainers = with maintainers; [ jobojeha ];
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
let version_sha = if lib.versionAtLeast ocaml.version "4.08"
|
||||
then
|
||||
{
|
||||
version = "1.10.4";
|
||||
sha256 = "sha256-g+s+QwCqmx3HggdJAQ9DYuqDUkdCEwUk14wgzpnKdHw=";
|
||||
version = "1.11.0";
|
||||
sha256 = "sha256-AfwkR4DA9r5yrnlrH7dQ82feGGJP110H7nl4LtbfjU8=";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -10,14 +10,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "enlighten";
|
||||
version = "1.11.2";
|
||||
version = "1.12.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-koSGHe5aJy4OGjdYzT87cYCxvRdUh12naHbyp/Rsy2E=";
|
||||
hash = "sha256-a4r20HG13gUBOjjoDhaHJtxv+yhY3oF/d+QV+Fss6Bk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, ffmpeg
|
||||
, ffmpeg-headless
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
|
@ -20,7 +20,10 @@ buildPythonPackage rec {
|
|||
|
||||
postPatch = ''
|
||||
substituteInPlace videoprops/__init__.py \
|
||||
--replace "which('ffprobe')" "'${ffmpeg}/bin/ffprobe'"
|
||||
--replace "which('ffprobe')" "'${ffmpeg-headless}/bin/ffprobe'"
|
||||
|
||||
# unused and vulnerable to various CVEs
|
||||
rm -r videoprops/binary_dependencies
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [ "videoprops" ];
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "nextcord";
|
||||
version = "2.5.0";
|
||||
version = "2.6.1";
|
||||
|
||||
format = "setuptools";
|
||||
|
||||
|
@ -26,7 +26,7 @@ buildPythonPackage rec {
|
|||
owner = "nextcord";
|
||||
repo = "nextcord";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Oo1C2tasuNIpUaKACbapnoZs7WVS1uncS1akErzQrqI=";
|
||||
hash = "sha256-bv4I+Ol/N4kbp/Ch7utaUpo0GmF+Mpx4zWmHL7uIveM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -14,10 +14,13 @@ callPackage ./generic.nix args {
|
|||
# check the release notes for compatible kernels
|
||||
kernelCompatible =
|
||||
if stdenv'.isx86_64 || removeLinuxDRM
|
||||
then kernel.kernelOlder "6.4"
|
||||
then kernel.kernelOlder "6.6"
|
||||
else kernel.kernelOlder "6.2";
|
||||
latestCompatibleLinuxPackages = linuxKernel.packages.linux_6_1;
|
||||
latestCompatibleLinuxPackages = if stdenv'.isx86_64 || removeLinuxDRM
|
||||
then linuxKernel.packages.linux_6_5
|
||||
else linuxKernel.packages.linux_6_1;
|
||||
extraPatches = [
|
||||
# applied in version 2.2.x
|
||||
(fetchpatch {
|
||||
name = "musl.patch";
|
||||
url = "https://github.com/openzfs/zfs/commit/1f19826c9ac85835cbde61a7439d9d1fefe43a4a.patch";
|
||||
|
@ -26,7 +29,7 @@ callPackage ./generic.nix args {
|
|||
];
|
||||
|
||||
# this package should point to the latest release.
|
||||
version = "2.1.12";
|
||||
version = "2.1.13";
|
||||
|
||||
sha256 = "eYUR5d4gpTrlFu6j1uL83DWL9uPGgAUDRdSEb73V5i4=";
|
||||
sha256 = "tqUCn/Hf/eEmyWRQthWQdmTJK2sDspnHiiEfn9rz2Kc=";
|
||||
}
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
{ lib, buildGoPackage, fetchFromGitHub, stdenv }:
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "etcd";
|
||||
version = "3.3.27";
|
||||
|
||||
goPackagePath = "github.com/coreos/etcd";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "etcd-io";
|
||||
repo = "etcd";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-zO+gwzaTgeFHhlkY/3AvRTEA4Yltlp+NqdlDe4dLJYg=";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
cd go/src/${goPackagePath}
|
||||
patchShebangs .
|
||||
./build
|
||||
./functional/build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -Dm755 bin/* bin/functional/cmd/* -t $out/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Distributed reliable key-value store for the most critical data of a distributed system";
|
||||
license = licenses.asl20;
|
||||
homepage = "https://etcd.io/";
|
||||
maintainers = with maintainers; [ offline ];
|
||||
broken = stdenv.isDarwin; # outdated golang.org/x/sys
|
||||
knownVulnerabilities = [ "CVE-2023-32082" ];
|
||||
};
|
||||
}
|
|
@ -1,26 +1,52 @@
|
|||
{ lib, fetchurl, perlPackages }:
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, perlPackages
|
||||
}:
|
||||
|
||||
perlPackages.buildPerlPackage rec {
|
||||
pname = "shelldap";
|
||||
version = "1.4.0";
|
||||
src = fetchurl {
|
||||
url = "https://bitbucket.org/mahlon/shelldap/downloads/shelldap-${version}.tar.gz";
|
||||
sha256 = "07gkvvxcgw3pgkfy8p9mmidakciaq1rsq5zhmdqd8zcwgqkrr24i";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mahlonsmith";
|
||||
repo = "shelldap";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-67ttAXzu9pfeqjfhMfLMb9vWCXTrE+iUDCbamqswaLg=";
|
||||
};
|
||||
buildInputs = with perlPackages; [ perl YAMLSyck perlldap AlgorithmDiff IOSocketSSL AuthenSASL TermReadLineGnu TermShell ];
|
||||
|
||||
buildInputs = with perlPackages; [
|
||||
AlgorithmDiff
|
||||
AuthenSASL
|
||||
IOSocketSSL
|
||||
perl
|
||||
perlldap
|
||||
TermReadLineGnu
|
||||
TermShell
|
||||
TieIxHash
|
||||
YAMLSyck
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
touch Makefile.PL
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm555 -t $out/bin shelldap
|
||||
runHook preInstall
|
||||
'';
|
||||
|
||||
# no make target 'test', not tests provided by source
|
||||
doCheck = false;
|
||||
|
||||
outputs = [ "out" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://bitbucket.org/mahlon/shelldap/";
|
||||
homepage = "https://github.com/mahlonsmith/shelldap/";
|
||||
description = "A handy shell-like interface for browsing LDAP servers and editing their content";
|
||||
changelog = "https://github.com/mahlonsmith/shelldap/blob/v${version}/CHANGELOG";
|
||||
license = with licenses; [ bsd3 ];
|
||||
maintainers = with maintainers; [ tobiasBora ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ clerie tobiasBora ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -496,6 +496,7 @@ mapAliases ({
|
|||
erlang_23 = throw "erlangR23 has been removed in favor of newer versions."; # added 2023-09-11
|
||||
erlangR23 = erlang_23;
|
||||
esniper = throw "esniper has been removed because upstream no longer maintains it (and it no longer works)"; # Added 2021-04-12
|
||||
etcd_3_3 = throw "etcd_3_3 has been removed because upstream no longer maintains it"; # Added 2023-09-29
|
||||
etcdctl = throw "'etcdctl' has been renamed to/replaced by 'etcd'"; # Converted to throw 2022-02-22
|
||||
eterm = throw "eterm was removed because it is still insecure: https://github.com/mej/Eterm/issues/7"; # Added 2023-09-10
|
||||
eteroj.lv2 = throw "'eteroj.lv2' has been renamed to/replaced by 'open-music-kontrollers.eteroj'"; # Added 2022-03-09
|
||||
|
|
|
@ -24199,7 +24199,7 @@ with pkgs;
|
|||
|
||||
nanomq = callPackage ../servers/mqtt/nanomq { };
|
||||
|
||||
mps = callPackage ../development/libraries/mps { stdenv = gcc10StdenvCompat; };
|
||||
mps = callPackage ../development/libraries/mps { };
|
||||
|
||||
libmpeg2 = callPackage ../development/libraries/libmpeg2 { };
|
||||
|
||||
|
@ -26212,17 +26212,17 @@ with pkgs;
|
|||
pkg = callPackage ../development/compilers/sbcl/bootstrap.nix {};
|
||||
faslExt = "fasl";
|
||||
};
|
||||
sbcl_2_3_7 = wrapLisp {
|
||||
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.7"; };
|
||||
faslExt = "fasl";
|
||||
flags = [ "--dynamic-space-size" "3000" ];
|
||||
};
|
||||
sbcl_2_3_8 = wrapLisp {
|
||||
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.8"; };
|
||||
faslExt = "fasl";
|
||||
flags = [ "--dynamic-space-size" "3000" ];
|
||||
};
|
||||
sbcl = sbcl_2_3_8;
|
||||
sbcl_2_3_9 = wrapLisp {
|
||||
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.9"; };
|
||||
faslExt = "fasl";
|
||||
flags = [ "--dynamic-space-size" "3000" ];
|
||||
};
|
||||
sbcl = sbcl_2_3_9;
|
||||
|
||||
sbclPackages = recurseIntoAttrs sbcl.pkgs;
|
||||
|
||||
|
@ -26525,7 +26525,6 @@ with pkgs;
|
|||
ergochat = callPackage ../servers/irc/ergochat { };
|
||||
|
||||
etcd = etcd_3_5;
|
||||
etcd_3_3 = callPackage ../servers/etcd/3.3.nix { };
|
||||
etcd_3_4 = callPackage ../servers/etcd/3.4.nix { };
|
||||
etcd_3_5 = callPackage ../servers/etcd/3.5.nix { };
|
||||
|
||||
|
|
Loading…
Reference in a new issue