Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-12-08 00:13:08 +00:00 committed by GitHub
commit 31dffd86b8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2576 changed files with 27448 additions and 20858 deletions

View file

@ -68,16 +68,45 @@ All new projects should use the CUDA redistributables available in [`cudaPackage
### Updating CUDA redistributables {#updating-cuda-redistributables} ### Updating CUDA redistributables {#updating-cuda-redistributables}
1. Go to NVIDIA's index of CUDA redistributables: <https://developer.download.nvidia.com/compute/cuda/redist/> 1. Go to NVIDIA's index of CUDA redistributables: <https://developer.download.nvidia.com/compute/cuda/redist/>
2. Copy the `redistrib_*.json` corresponding to the release to `pkgs/development/compilers/cudatoolkit/redist/manifests`. 2. Make a note of the new version of CUDA available.
3. Generate the `redistrib_features_*.json` file by running: 3. Run
```bash ```bash
nix run github:ConnorBaker/cuda-redist-find-features -- <path to manifest> nix run github:connorbaker/cuda-redist-find-features -- \
``` download-manifests \
--log-level DEBUG \
--version <newest CUDA version> \
https://developer.download.nvidia.com/compute/cuda/redist \
./pkgs/development/cuda-modules/cuda/manifests
```
That command will generate the `redistrib_features_*.json` file in the same directory as the manifest. This will download a copy of the manifest for the new version of CUDA.
4. Run
4. Include the path to the new manifest in `pkgs/development/compilers/cudatoolkit/redist/extension.nix`. ```bash
nix run github:connorbaker/cuda-redist-find-features -- \
process-manifests \
--log-level DEBUG \
--version <newest CUDA version> \
https://developer.download.nvidia.com/compute/cuda/redist \
./pkgs/development/cuda-modules/cuda/manifests
```
This will generate a `redistrib_features_<newest CUDA version>.json` file in the same directory as the manifest.
5. Update the `cudaVersionMap` attribute set in `pkgs/development/cuda-modules/cuda/extension.nix`.
### Updating cuTensor {#updating-cutensor}
1. Repeat the steps present in [Updating CUDA redistributables](#updating-cuda-redistributables) with the following changes:
- Use the index of cuTensor redistributables: <https://developer.download.nvidia.com/compute/cutensor/redist>
- Use the newest version of cuTensor available instead of the newest version of CUDA.
- Use `pkgs/development/cuda-modules/cutensor/manifests` instead of `pkgs/development/cuda-modules/cuda/manifests`.
- Skip the step of updating `cudaVersionMap` in `pkgs/development/cuda-modules/cuda/extension.nix`.
### Updating supported compilers and GPUs {#updating-supported-compilers-and-gpus}
1. Update `nvcc-compatibilities.nix` in `pkgs/development/cuda-modules/` to include the newest release of NVCC, as well as any newly supported host compilers.
2. Update `gpus.nix` in `pkgs/development/cuda-modules/` to include any new GPUs supported by the new release of CUDA.
### Updating the CUDA Toolkit runfile installer {#updating-the-cuda-toolkit} ### Updating the CUDA Toolkit runfile installer {#updating-the-cuda-toolkit}
@ -99,7 +128,7 @@ All new projects should use the CUDA redistributables available in [`cudaPackage
nix store prefetch-file --hash-type sha256 <link> nix store prefetch-file --hash-type sha256 <link>
``` ```
4. Update `pkgs/development/compilers/cudatoolkit/versions.toml` to include the release. 4. Update `pkgs/development/cuda-modules/cudatoolkit/releases.nix` to include the release.
### Updating the CUDA package set {#updating-the-cuda-package-set} ### Updating the CUDA package set {#updating-the-cuda-package-set}
@ -107,7 +136,7 @@ All new projects should use the CUDA redistributables available in [`cudaPackage
- NOTE: Changing the default CUDA package set should occur in a separate PR, allowing time for additional testing. - NOTE: Changing the default CUDA package set should occur in a separate PR, allowing time for additional testing.
2. Successfully build the closure of the new package set, updating `pkgs/development/compilers/cudatoolkit/redist/overrides.nix` as needed. Below are some common failures: 2. Successfully build the closure of the new package set, updating `pkgs/development/cuda-modules/cuda/overrides.nix` as needed. Below are some common failures:
| Unable to ... | During ... | Reason | Solution | Note | | Unable to ... | During ... | Reason | Solution | Note |
| --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- |

View file

@ -4131,7 +4131,7 @@
email = "davidlewis@mac.com"; email = "davidlewis@mac.com";
github = "oceanlewis"; github = "oceanlewis";
githubId = 6754950; githubId = 6754950;
name = "David Armstrong Lewis"; name = "Ocean Armstrong Lewis";
}; };
davidcromp = { davidcromp = {
email = "davidcrompton1192@gmail.com"; email = "davidcrompton1192@gmail.com";
@ -5163,6 +5163,12 @@
name = "Edvin Källström"; name = "Edvin Källström";
githubId = 84442052; githubId = 84442052;
}; };
ekimber = {
email = "ekimber@protonmail.com";
github = "ekimber";
name = "Edward Kimber";
githubId = 99987;
};
ekleog = { ekleog = {
email = "leo@gaspard.io"; email = "leo@gaspard.io";
matrix = "@leo:gaspard.ninja"; matrix = "@leo:gaspard.ninja";
@ -11980,7 +11986,7 @@
}; };
milran = { milran = {
email = "milranmike@protonmail.com"; email = "milranmike@protonmail.com";
github = "milran"; github = "wattmto";
githubId = 93639059; githubId = 93639059;
name = "Milran Mike"; name = "Milran Mike";
}; };
@ -11996,6 +12002,12 @@
githubId = 9799623; githubId = 9799623;
name = "Rick van Schijndel"; name = "Rick van Schijndel";
}; };
mindstorms6 = {
email = "breland@bdawg.org";
github = "mindstorms6";
githubId = 92937;
name = "Breland Miley";
};
minijackson = { minijackson = {
email = "minijackson@riseup.net"; email = "minijackson@riseup.net";
github = "minijackson"; github = "minijackson";
@ -15353,7 +15365,7 @@
revol-xut = { revol-xut = {
email = "revol-xut@protonmail.com"; email = "revol-xut@protonmail.com";
name = "Tassilo Tanneberger"; name = "Tassilo Tanneberger";
github = "revol-xut"; github = "tanneberger";
githubId = 32239737; githubId = 32239737;
keys = [{ keys = [{
fingerprint = "91EB E870 1639 1323 642A 6803 B966 009D 57E6 9CC6"; fingerprint = "91EB E870 1639 1323 642A 6803 B966 009D 57E6 9CC6";
@ -16057,8 +16069,8 @@
}; };
SamirTalwar = { SamirTalwar = {
email = "lazy.git@functional.computer"; email = "lazy.git@functional.computer";
github = "abstracte"; github = "SamirTalwar";
githubId = 47852; githubId = 47582;
name = "Samir Talwar"; name = "Samir Talwar";
}; };
samlich = { samlich = {

View file

@ -121,6 +121,7 @@ in
in mkIf (cfg.servers != {}) { in mkIf (cfg.servers != {}) {
systemd.services = mapAttrs' (server: options: systemd.services = mapAttrs' (server: options:
nameValuePair "wyoming-faster-whisper-${server}" { nameValuePair "wyoming-faster-whisper-${server}" {
inherit (options) enable;
description = "Wyoming faster-whisper server instance ${server}"; description = "Wyoming faster-whisper server instance ${server}";
after = [ after = [
"network-online.target" "network-online.target"

View file

@ -116,6 +116,7 @@ in
in mkIf (cfg.servers != {}) { in mkIf (cfg.servers != {}) {
systemd.services = mapAttrs' (server: options: systemd.services = mapAttrs' (server: options:
nameValuePair "wyoming-piper-${server}" { nameValuePair "wyoming-piper-${server}" {
inherit (options) enable;
description = "Wyoming Piper server instance ${server}"; description = "Wyoming Piper server instance ${server}";
after = [ after = [
"network-online.target" "network-online.target"

View file

@ -69,8 +69,8 @@ with lib;
confDir = mkOption { confDir = mkOption {
type = types.path; type = types.path;
description = lib.mdDoc "Spark configuration directory. Spark will use the configuration files (spark-defaults.conf, spark-env.sh, log4j.properties, etc) from this directory."; description = lib.mdDoc "Spark configuration directory. Spark will use the configuration files (spark-defaults.conf, spark-env.sh, log4j.properties, etc) from this directory.";
default = "${cfg.package}/lib/${cfg.package.untarDir}/conf"; default = "${cfg.package}/conf";
defaultText = literalExpression ''"''${package}/lib/''${package.untarDir}/conf"''; defaultText = literalExpression ''"''${package}/conf"'';
}; };
logDir = mkOption { logDir = mkOption {
type = types.path; type = types.path;
@ -111,9 +111,9 @@ with lib;
Type = "forking"; Type = "forking";
User = "spark"; User = "spark";
Group = "spark"; Group = "spark";
WorkingDirectory = "${cfg.package}/lib/${cfg.package.untarDir}"; WorkingDirectory = "${cfg.package}/";
ExecStart = "${cfg.package}/lib/${cfg.package.untarDir}/sbin/start-master.sh"; ExecStart = "${cfg.package}/sbin/start-master.sh";
ExecStop = "${cfg.package}/lib/${cfg.package.untarDir}/sbin/stop-master.sh"; ExecStop = "${cfg.package}/sbin/stop-master.sh";
TimeoutSec = 300; TimeoutSec = 300;
StartLimitBurst=10; StartLimitBurst=10;
Restart = "always"; Restart = "always";
@ -134,9 +134,9 @@ with lib;
serviceConfig = { serviceConfig = {
Type = "forking"; Type = "forking";
User = "spark"; User = "spark";
WorkingDirectory = "${cfg.package}/lib/${cfg.package.untarDir}"; WorkingDirectory = "${cfg.package}/";
ExecStart = "${cfg.package}/lib/${cfg.package.untarDir}/sbin/start-worker.sh spark://${cfg.worker.master}"; ExecStart = "${cfg.package}/sbin/start-worker.sh spark://${cfg.worker.master}";
ExecStop = "${cfg.package}/lib/${cfg.package.untarDir}/sbin/stop-worker.sh"; ExecStop = "${cfg.package}/sbin/stop-worker.sh";
TimeoutSec = 300; TimeoutSec = 300;
StartLimitBurst=10; StartLimitBurst=10;
Restart = "always"; Restart = "always";

View file

@ -4,7 +4,7 @@ with lib;
let let
cfg = config.services.greetd; cfg = config.services.greetd;
tty = "tty${toString cfg.vt}"; tty = "tty${toString cfg.vt}";
settingsFormat = pkgs.formats.toml {}; settingsFormat = pkgs.formats.toml { };
in in
{ {
options.services.greetd = { options.services.greetd = {
@ -27,7 +27,7 @@ in
''; '';
}; };
vt = mkOption { vt = mkOption {
type = types.int; type = types.int;
default = 1; default = 1;
description = lib.mdDoc '' description = lib.mdDoc ''
@ -97,12 +97,18 @@ in
systemd.defaultUnit = "graphical.target"; systemd.defaultUnit = "graphical.target";
# Create directories potentially required by supported greeters
# See https://github.com/NixOS/nixpkgs/issues/248323
systemd.tmpfiles.rules = [
"d '/var/cache/tuigreet' - greeter greeter - -"
];
users.users.greeter = { users.users.greeter = {
isSystemUser = true; isSystemUser = true;
group = "greeter"; group = "greeter";
}; };
users.groups.greeter = {}; users.groups.greeter = { };
}; };
meta.maintainers = with maintainers; [ queezle ]; meta.maintainers = with maintainers; [ queezle ];

View file

@ -100,7 +100,7 @@ in
serviceConfig = { serviceConfig = {
DynamicUser = true; DynamicUser = true;
ExecStart = "${pkgs.teeworlds}/bin/teeworlds_srv -f ${teeworldsConf}"; ExecStart = "${pkgs.teeworlds-server}/bin/teeworlds_srv -f ${teeworldsConf}";
# Hardening # Hardening
CapabilityBoundingSet = false; CapabilityBoundingSet = false;

View file

@ -120,6 +120,12 @@ in {
if [ -z "$(ls -A '${cfg.spoolDir}')" ]; then if [ -z "$(ls -A '${cfg.spoolDir}')" ]; then
touch "${cfg.spoolDir}/.firstRun" touch "${cfg.spoolDir}/.firstRun"
fi fi
if ! test -e ${cfg.spoolDir}/.erlang.cookie; then
touch ${cfg.spoolDir}/.erlang.cookie
chmod 600 ${cfg.spoolDir}/.erlang.cookie
dd if=/dev/random bs=16 count=1 | base64 > ${cfg.spoolDir}/.erlang.cookie
fi
''; '';
postStart = '' postStart = ''

View file

@ -25,7 +25,6 @@ let
maintainers maintainers
catAttrs catAttrs
collect collect
splitString
hasPrefix hasPrefix
; ;
@ -329,7 +328,8 @@ in
}; };
hostname = mkOption { hostname = mkOption {
type = str; type = nullOr str;
default = null;
example = "keycloak.example.com"; example = "keycloak.example.com";
description = lib.mdDoc '' description = lib.mdDoc ''
The hostname part of the public URL used as base for The hostname part of the public URL used as base for
@ -451,7 +451,7 @@ in
keycloakConfig = lib.generators.toKeyValue { keycloakConfig = lib.generators.toKeyValue {
mkKeyValue = lib.flip lib.generators.mkKeyValueDefault "=" { mkKeyValue = lib.flip lib.generators.mkKeyValueDefault "=" {
mkValueString = v: with builtins; mkValueString = v:
if isInt v then toString v if isInt v then toString v
else if isString v then v else if isString v then v
else if true == v then "true" else if true == v then "true"
@ -480,6 +480,14 @@ in
assertion = createLocalPostgreSQL -> config.services.postgresql.settings.standard_conforming_strings or true; assertion = createLocalPostgreSQL -> config.services.postgresql.settings.standard_conforming_strings or true;
message = "Setting up a local PostgreSQL db for Keycloak requires `standard_conforming_strings` turned on to work reliably"; message = "Setting up a local PostgreSQL db for Keycloak requires `standard_conforming_strings` turned on to work reliably";
} }
{
assertion = cfg.settings.hostname != null || cfg.settings.hostname-url or null != null;
message = "Setting the Keycloak hostname is required, see `services.keycloak.settings.hostname`";
}
{
assertion = !(cfg.settings.hostname != null && cfg.settings.hostname-url or null != null);
message = "`services.keycloak.settings.hostname` and `services.keycloak.settings.hostname-url` are mutually exclusive";
}
]; ];
environment.systemPackages = [ keycloakBuild ]; environment.systemPackages = [ keycloakBuild ];

View file

@ -34,7 +34,7 @@ let
# copy additional plugin(s), theme(s) and language(s) # copy additional plugin(s), theme(s) and language(s)
${concatStringsSep "\n" (mapAttrsToList (name: theme: "cp -r ${theme} $out/share/wordpress/wp-content/themes/${name}") cfg.themes)} ${concatStringsSep "\n" (mapAttrsToList (name: theme: "cp -r ${theme} $out/share/wordpress/wp-content/themes/${name}") cfg.themes)}
${concatStringsSep "\n" (mapAttrsToList (name: plugin: "cp -r ${plugin} $out/share/wordpress/wp-content/plugins/${name}") cfg.plugins)} ${concatStringsSep "\n" (mapAttrsToList (name: plugin: "cp -r ${plugin} $out/share/wordpress/wp-content/plugins/${name}") cfg.plugins)}
${concatMapStringsSep "\n" (language: "cp -r ${language}/* $out/share/wordpress/wp-content/languages/") cfg.languages} ${concatMapStringsSep "\n" (language: "cp -r ${language} $out/share/wordpress/wp-content/languages/") cfg.languages}
''; '';
}; };

View file

@ -147,7 +147,7 @@ in
default = configFile; default = configFile;
defaultText = "A Caddyfile automatically generated by values from services.caddy.*"; defaultText = "A Caddyfile automatically generated by values from services.caddy.*";
example = literalExpression '' example = literalExpression ''
pkgs.writeTextDir "Caddyfile" ''' pkgs.writeText "Caddyfile" '''
example.com example.com
root * /var/www/wordpress root * /var/www/wordpress
@ -164,9 +164,9 @@ in
}; };
adapter = mkOption { adapter = mkOption {
default = if (builtins.baseNameOf cfg.configFile) == "Caddyfile" then "caddyfile" else null; default = if ((cfg.configFile != configFile) || (builtins.baseNameOf cfg.configFile) == "Caddyfile") then "caddyfile" else null;
defaultText = literalExpression '' defaultText = literalExpression ''
if (builtins.baseNameOf cfg.configFile) == "Caddyfile" then "caddyfile" else null if ((cfg.configFile != configFile) || (builtins.baseNameOf cfg.configFile) == "Caddyfile") then "caddyfile" else null
''; '';
example = literalExpression "nginx"; example = literalExpression "nginx";
type = with types; nullOr str; type = with types; nullOr str;

View file

@ -48,11 +48,19 @@ import ./make-test-python.nix ({ pkgs, ... }: {
}; };
}; };
}; };
specialisation.explicit-config-file.configuration = {
services.caddy.configFile = pkgs.writeText "Caddyfile" ''
localhost:80
respond "hello world"
'';
};
}; };
}; };
testScript = { nodes, ... }: testScript = { nodes, ... }:
let let
explicitConfigFile = "${nodes.webserver.system.build.toplevel}/specialisation/explicit-config-file";
justReloadSystem = "${nodes.webserver.system.build.toplevel}/specialisation/config-reload"; justReloadSystem = "${nodes.webserver.system.build.toplevel}/specialisation/config-reload";
multipleConfigs = "${nodes.webserver.system.build.toplevel}/specialisation/multiple-configs"; multipleConfigs = "${nodes.webserver.system.build.toplevel}/specialisation/multiple-configs";
rfc42Config = "${nodes.webserver.system.build.toplevel}/specialisation/rfc42"; rfc42Config = "${nodes.webserver.system.build.toplevel}/specialisation/rfc42";
@ -84,5 +92,12 @@ import ./make-test-python.nix ({ pkgs, ... }: {
) )
webserver.wait_for_open_port(80) webserver.wait_for_open_port(80)
webserver.succeed("curl http://localhost | grep hello") webserver.succeed("curl http://localhost | grep hello")
with subtest("explicit configFile"):
webserver.succeed(
"${explicitConfigFile}/bin/switch-to-configuration test >&2"
)
webserver.wait_for_open_port(80)
webserver.succeed("curl http://localhost | grep hello")
''; '';
}) })

View file

@ -1,28 +1,48 @@
import ../make-test-python.nix ({...}: { { pkgs, ... }:
name = "spark";
nodes = { let
worker = { nodes, pkgs, ... }: { inherit (pkgs) lib;
services.spark.worker = { tests = {
enable = true; default = testsForPackage { sparkPackage = pkgs.spark; };
master = "master:7077";
};
virtualisation.memorySize = 2048;
};
master = { config, pkgs, ... }: {
services.spark.master = {
enable = true;
bind = "0.0.0.0";
};
networking.firewall.allowedTCPPorts = [ 22 7077 8080 ];
};
}; };
testScript = '' testsForPackage = args: lib.recurseIntoAttrs {
master.wait_for_unit("spark-master.service") sparkCluster = testSparkCluster args;
worker.wait_for_unit("spark-worker.service") passthru.override = args': testsForPackage (args // args');
worker.copy_from_host( "${./spark_sample.py}", "/spark_sample.py" ) };
assert "<title>Spark Master at spark://" in worker.succeed("curl -sSfkL http://master:8080/") testSparkCluster = { sparkPackage, ... }: pkgs.nixosTest ({
worker.succeed("spark-submit --master spark://master:7077 --executor-memory 512m --executor-cores 1 /spark_sample.py") name = "spark";
'';
}) nodes = {
worker = { nodes, pkgs, ... }: {
services.spark = {
package = sparkPackage;
worker = {
enable = true;
master = "master:7077";
};
};
virtualisation.memorySize = 2048;
};
master = { config, pkgs, ... }: {
services.spark = {
package = sparkPackage;
master = {
enable = true;
bind = "0.0.0.0";
};
};
networking.firewall.allowedTCPPorts = [ 22 7077 8080 ];
};
};
testScript = ''
master.wait_for_unit("spark-master.service")
worker.wait_for_unit("spark-worker.service")
worker.copy_from_host( "${./spark_sample.py}", "/spark_sample.py" )
assert "<title>Spark Master at spark://" in worker.succeed("curl -sSfkL http://master:8080/")
worker.succeed("spark-submit --version | systemd-cat")
worker.succeed("spark-submit --master spark://master:7077 --executor-memory 512m --executor-cores 1 /spark_sample.py")
'';
});
in tests

View file

@ -36,6 +36,11 @@ stdenv.mkDerivation rec {
mkdir -p $out/share/cheesecutter/example_tunes mkdir -p $out/share/cheesecutter/example_tunes
cp -r tunes/* $out/share/cheesecutter/example_tunes cp -r tunes/* $out/share/cheesecutter/example_tunes
install -Dm444 arch/fd/ccutter.desktop -t $out/share/applications
for res in $(ls icons | sed -e 's/cc//g' -e 's/.png//g'); do
install -Dm444 icons/cc$res.png $out/share/icons/hicolor/''${res}x''${res}/apps/cheesecutter.png
done
''; '';
postFixup = postFixup =

View file

@ -36,6 +36,17 @@ mkDerivation rec {
PREFIXSHORTCUT=$out" PREFIXSHORTCUT=$out"
''; '';
postInstall = ''
mkdir -p $out/share/applications
ln -s $out/fmit.desktop $out/share/applications/fmit.desktop
mkdir -p $out/share/icons/hicolor/128x128/apps
ln -s $out/fmit.png $out/share/icons/hicolor/128x128/apps/fmit.png
mkdir -p $out/share/icons/hicolor/scalable/apps
ln -s $out/fmit.svg $out/share/icons/hicolor/scalable/apps/fmit.svg
'';
meta = with lib; { meta = with lib; {
description = "Free Musical Instrument Tuner"; description = "Free Musical Instrument Tuner";
longDescription = '' longDescription = ''

View file

@ -55,6 +55,11 @@ python3.pkgs.buildPythonApplication rec {
librsvg librsvg
]; ];
postInstall = ''
install -Dm444 gspeech.desktop -t $out/share/applications
install -Dm444 icons/*.svg -t $out/share/icons/hicolor/scalable/apps
'';
postFixup = '' postFixup = ''
wrapProgram $out/bin/gspeech --prefix PATH : ${lib.makeBinPath [ picotts sox ]} wrapProgram $out/bin/gspeech --prefix PATH : ${lib.makeBinPath [ picotts sox ]}
wrapProgram $out/bin/gspeech-cli --prefix PATH : ${lib.makeBinPath [ picotts sox ]} wrapProgram $out/bin/gspeech-cli --prefix PATH : ${lib.makeBinPath [ picotts sox ]}

View file

@ -56,6 +56,8 @@ stdenv.mkDerivation rec {
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
cp in-formant $out/bin cp in-formant $out/bin
install -Dm444 $src/dist-res/in-formant.desktop -t $out/share/applications
install -Dm444 $src/dist-res/in-formant.png -t $out/share/icons/hicolor/512x512/apps
''; '';
meta = with lib; { meta = with lib; {

View file

@ -16,7 +16,7 @@ python3.pkgs.buildPythonPackage rec {
postPatch = '' postPatch = ''
substituteInPlace setup.py \ substituteInPlace setup.py \
--replace "'rpi-ws281x>=4.3.0; platform_system == \"Linux\"'," "" \ --replace "'rpi-ws281x>=4.3.0; platform_system == \"Linux\"'," "" \
--replace '"sentry-sdk==1.14.0",' "sentry-sdk" \ --replace "sentry-sdk==1.14.0" "sentry-sdk" \
--replace "~=" ">=" --replace "~=" ">="
''; '';

View file

@ -47,6 +47,11 @@ stdenv.mkDerivation (finalAttrs: {
runHook preInstall runHook preInstall
install -Dt $out/bin praat install -Dt $out/bin praat
install -Dm444 main/praat.desktop -t $out/share/applications
install -Dm444 main/praat-32.ico $out/share/icons/hicolor/32x32/apps/praat.ico
install -Dm444 main/praat-256.ico $out/share/icons/hicolor/256x256/apps/praat.ico
install -Dm444 main/praat-480.png $out/share/icons/hicolor/480x480/apps/praat.png
install -Dm444 main/praat-480.svg $out/share/icons/hicolor/scalable/apps/praat.svg
runHook postInstall runHook postInstall
''; '';

View file

@ -20,6 +20,13 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ SDL2 ] ++ lib.optional stdenv.isLinux alsa-lib; buildInputs = [ SDL2 ] ++ lib.optional stdenv.isLinux alsa-lib;
postInstall = ''
install -Dm444 "$src/release/other/Freedesktop.org Resources/ProTracker 2 clone.desktop" \
-t $out/share/applications
install -Dm444 "$src/release/other/Freedesktop.org Resources/ProTracker 2 clone.png" \
-t $out/share/icons/hicolor/512x512/apps
'';
passthru.tests = { passthru.tests = {
pt2-clone-opens = nixosTests.pt2-clone; pt2-clone-opens = nixosTests.pt2-clone;
}; };

View file

@ -17,7 +17,9 @@
, libxdg_basedir , libxdg_basedir
, wxGTK , wxGTK
# GStreamer # GStreamer
, glib-networking
, gst_all_1 , gst_all_1
, libsoup_3
# User-agent info # User-agent info
, lsb-release , lsb-release
# rt2rtng # rt2rtng
@ -58,6 +60,8 @@ stdenv.mkDerivation rec {
libxdg_basedir libxdg_basedir
lsb-release lsb-release
wxGTK wxGTK
# for https gstreamer / libsoup
glib-networking
] ++ gstInputs ] ++ gstInputs
++ pythonInputs; ++ pythonInputs;
@ -89,6 +93,8 @@ stdenv.mkDerivation rec {
preFixup = '' preFixup = ''
gappsWrapperArgs+=(--suffix PATH : ${lib.makeBinPath [ dbus ]}) gappsWrapperArgs+=(--suffix PATH : ${lib.makeBinPath [ dbus ]})
wrapProgram $out/bin/rt2rtng --prefix PYTHONPATH : $PYTHONPATH wrapProgram $out/bin/rt2rtng --prefix PYTHONPATH : $PYTHONPATH
# for GStreamer
gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${lib.getLib libsoup_3}/lib")
''; '';
meta = with lib; { meta = with lib; {

View file

@ -28,13 +28,13 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "reaper"; pname = "reaper";
version = "7.05"; version = "7.06";
src = fetchurl { src = fetchurl {
url = url_for_platform version stdenv.hostPlatform.qemuArch; url = url_for_platform version stdenv.hostPlatform.qemuArch;
hash = if stdenv.isDarwin then "sha256-jaT+3cIFVfBopgeeTkpNs9rFX50unlPJogdhkI9bsWU=" else { hash = if stdenv.isDarwin then "sha256-4ANi5KhNbJvDCO2iPX/oayGf/ZeIMfkhp0FQRrBYowo=" else {
x86_64-linux = "sha256-P/PnbJPr4ErDz5ho1/dLERhqkKjdetHzKpCpfVZAYb0="; x86_64-linux = "sha256-tq0K2HSDTZg7iw6ypS5oUuQi3HIYzbl9DWo2SOKGDVY=";
aarch64-linux = "sha256-PdnBVlHwoEEv2SPq/p5oyiOlduCEqL35gAY+QIJU1Ys="; aarch64-linux = "sha256-MGpfdSQsMykp6QNq1JqxIsFqdhNyefPnEIyC4t1S6Vs=";
}.${stdenv.hostPlatform.system}; }.${stdenv.hostPlatform.system};
}; };

View file

@ -24,6 +24,10 @@ stdenv.mkDerivation rec {
ruby ruby
]; ];
postInstall = ''
cp -r share $out/
'';
postFixup = '' postFixup = ''
wrapProgram $out/bin/rrip_cli \ wrapProgram $out/bin/rrip_cli \
--prefix PATH : ${lib.makeBinPath [ cddiscid cdparanoia ruby ]} --prefix PATH : ${lib.makeBinPath [ cddiscid cdparanoia ruby ]}

View file

@ -25,11 +25,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = if withGui then "bitcoin-knots" else "bitcoind-knots"; pname = if withGui then "bitcoin-knots" else "bitcoind-knots";
version = "23.0.knots20220529"; version = "25.1.knots20231115";
src = fetchurl { src = fetchurl {
url = "https://bitcoinknots.org/files/23.x/${version}/bitcoin-${version}.tar.gz"; url = "https://bitcoinknots.org/files/25.x/${version}/bitcoin-${version}.tar.gz";
sha256 = "0c6l4bvj4ck8gp5vm4dla3l32swsp6ijk12fyf330wgry4mhqxyi"; sha256 = "b6251beee95cf6701c6ebc443b47fb0e99884880f2661397f964a8828add4002";
}; };
nativeBuildInputs = nativeBuildInputs =

View file

@ -72,6 +72,10 @@ stdenv.mkDerivation rec {
install -Dm644 share/pixmaps/bitcoin256.png $out/share/pixmaps/bitcoin.png install -Dm644 share/pixmaps/bitcoin256.png $out/share/pixmaps/bitcoin.png
''; '';
preConfigure = lib.optionalString stdenv.isDarwin ''
export MACOSX_DEPLOYMENT_TARGET=10.13
'';
configureFlags = [ configureFlags = [
"--with-boost-libdir=${boost.out}/lib" "--with-boost-libdir=${boost.out}/lib"
"--disable-bench" "--disable-bench"

View file

@ -27,13 +27,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "exodus"; pname = "exodus";
version = "23.10.24"; version = "23.11.6";
src = fetchurl { src = fetchurl {
name = "exodus-linux-x64-${version}.zip"; name = "exodus-linux-x64-${version}.zip";
url = "https://downloads.exodus.com/releases/${pname}-linux-x64-${version}.zip"; url = "https://downloads.exodus.com/releases/${pname}-linux-x64-${version}.zip";
curlOptsList = [ "--user-agent" "Mozilla/5.0" ]; curlOptsList = [ "--user-agent" "Mozilla/5.0" ];
sha256 = "sha256-g28jSQaqjnM34sCpyYLSipUoU3pqAcXQIyWhlrR4xz4="; sha256 = "sha256-s7LPOUDDQIgASMr3EmEUgtwWHl6mdDez4H3L+Mj3LQA=";
}; };
nativeBuildInputs = [ unzip ]; nativeBuildInputs = [ unzip ];

View file

@ -21,11 +21,11 @@
let let
pname = "sparrow"; pname = "sparrow";
version = "1.7.9"; version = "1.8.1";
src = fetchurl { src = fetchurl {
url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}-x86_64.tar.gz"; url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}-x86_64.tar.gz";
sha256 = "0bz8mx6mszqadx7nlb4ini45r2r57grdgmrq6k9lxgrgcpd8gasy"; sha256 = "sha256-dpYGMclYMjxjUbIcSZ7V54I1LTVfHxAKH9+7CaprD4U=";
}; };
launcher = writeScript "sparrow" '' launcher = writeScript "sparrow" ''

View file

@ -9,17 +9,18 @@
, openssl , openssl
, readline , readline
, zlib , zlib
, nix-update-script
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ton"; pname = "ton";
version = "2023.06"; version = "2023.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ton-blockchain"; owner = "ton-blockchain";
repo = "ton"; repo = "ton";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-mDYuOokCGS1sDP6fHDXhGboDjn4JeyA5ea4/6RRt9x4="; sha256 = "sha256-K1RhhW7EvwYV7/ng3NPjSGdHEQvJZ7K97YXd7s5wghc=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@ -39,6 +40,8 @@ stdenv.mkDerivation rec {
zlib zlib
]; ];
passthru.updateScript = nix-update-script { };
meta = with lib; { meta = with lib; {
description = "A fully decentralized layer-1 blockchain designed by Telegram"; description = "A fully decentralized layer-1 blockchain designed by Telegram";
homepage = "https://ton.org/"; homepage = "https://ton.org/";

View file

@ -32,20 +32,6 @@ lib.makeScope pkgs.newScope (self:
fetchFromSavannah; fetchFromSavannah;
}; };
emacs28 = callPackage (self.sources.emacs28) inheritedArgs;
emacs28-gtk2 = self.emacs28.override {
withGTK2 = true;
};
emacs28-gtk3 = self.emacs28.override {
withGTK3 = true;
};
emacs28-nox = pkgs.lowPrio (self.emacs28.override {
noGui = true;
});
emacs29 = callPackage (self.sources.emacs29) inheritedArgs; emacs29 = callPackage (self.sources.emacs29) inheritedArgs;
emacs29-gtk3 = self.emacs29.override { emacs29-gtk3 = self.emacs29.override {
@ -60,7 +46,5 @@ lib.makeScope pkgs.newScope (self:
withPgtk = true; withPgtk = true;
}; };
emacs28-macport = callPackage (self.sources.emacs28-macport) inheritedArgs;
emacs29-macport = callPackage (self.sources.emacs29-macport) inheritedArgs; emacs29-macport = callPackage (self.sources.emacs29-macport) inheritedArgs;
}) })

View file

@ -10,13 +10,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "emacspeak"; pname = "emacspeak";
version = "56.0"; version = "58.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tvraman"; owner = "tvraman";
repo = pname; repo = pname;
rev = version; rev = version;
hash= "sha256-juy+nQ7DrG818/uTH6Dv/lrrzu8qzPWwi0sX7JrhHK8="; hash= "sha256-5pWC17nvy3ZuG0bR//LqDVpKsH5hFSFf63Q33a1BfBk=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -67,14 +67,6 @@ let
}; };
in in
{ {
emacs28 = import ./make-emacs.nix (mkArgs {
pname = "emacs";
version = "28.2";
variant = "mainline";
rev = "28.2";
hash = "sha256-4oSLcUDR0MOEt53QOiZSVU8kPJ67GwugmBxdX3F15Ag=";
});
emacs29 = import ./make-emacs.nix (mkArgs { emacs29 = import ./make-emacs.nix (mkArgs {
pname = "emacs"; pname = "emacs";
version = "29.1"; version = "29.1";
@ -83,14 +75,6 @@ in
hash = "sha256-3HDCwtOKvkXwSULf3W7YgTz4GV8zvYnh2RrL28qzGKg="; hash = "sha256-3HDCwtOKvkXwSULf3W7YgTz4GV8zvYnh2RrL28qzGKg=";
}); });
emacs28-macport = import ./make-emacs.nix (mkArgs {
pname = "emacs-mac";
version = "28.2";
variant = "macport";
rev = "emacs-28.2-mac-9.1";
hash = "sha256-Ne2jQ2nVLNiQmnkkOXVc5AkLVkTpm8pFC7VNY2gQjPE=";
});
emacs29-macport = import ./make-emacs.nix (mkArgs { emacs29-macport = import ./make-emacs.nix (mkArgs {
pname = "emacs-mac"; pname = "emacs-mac";
version = "29.1"; version = "29.1";

View file

@ -2123,19 +2123,19 @@ let
kddejong.vscode-cfn-lint = kddejong.vscode-cfn-lint =
let let
inherit (python3Packages) cfn-lint; inherit (python3Packages) cfn-lint pydot;
in in
buildVscodeMarketplaceExtension { buildVscodeMarketplaceExtension {
mktplcRef = { mktplcRef = {
name = "vscode-cfn-lint"; name = "vscode-cfn-lint";
publisher = "kddejong"; publisher = "kddejong";
version = "0.21.0"; version = "0.25.1";
sha256 = "sha256-IueXiN+077tiecAsVCzgYksWYTs00mZv6XJVMtRJ/PQ="; sha256 = "sha256-IueXiN+077tiecAsVCzgYksWYTs00mZv6XJVMtRJ/PQ=";
}; };
nativeBuildInputs = [ jq moreutils ]; nativeBuildInputs = [ jq moreutils ];
buildInputs = [ cfn-lint ]; buildInputs = [ cfn-lint pydot ];
postInstall = '' postInstall = ''
cd "$out/$installPrefix" cd "$out/$installPrefix"

View file

@ -28,6 +28,9 @@ vscode-utils.buildVscodeMarketplaceExtension {
EOF EOF
} }
jq "$(print_jq_query)" ./package.json | sponge ./package.json jq "$(print_jq_query)" ./package.json | sponge ./package.json
# Add a link from temp to /tmp so that the extension gets a writable
# directory to write to.
ln -s /tmp temp
''; '';
meta = { meta = {

View file

@ -247,7 +247,11 @@ in
); );
postFixup = lib.optionalString stdenv.isLinux '' postFixup = lib.optionalString stdenv.isLinux ''
patchelf --add-needed ${libglvnd}/lib/libGLESv2.so.2 $out/lib/vscode/${executableName} patchelf \
--add-needed ${libglvnd}/lib/libGLESv2.so.2 \
--add-needed ${libglvnd}/lib/libGL.so.1 \
--add-needed ${libglvnd}/lib/libEGL.so.1 \
$out/lib/vscode/${executableName}
''; '';
inherit meta; inherit meta;

View file

@ -95,6 +95,15 @@ mkDerivation rec {
dontWrapGApps = true; dontWrapGApps = true;
postInstall = ''
install -Dm444 $src/snap/gui/{ccViewer,cloudcompare}.png -t $out/share/icons/hicolor/256x256/apps
install -Dm444 $src/snap/gui/{ccViewer,cloudcompare}.desktop -t $out/share/applications
substituteInPlace $out/share/applications/{ccViewer,cloudcompare}.desktop \
--replace 'Exec=cloudcompare.' 'Exec=' \
--replace 'Icon=''${SNAP}/meta/gui/' 'Icon=' \
--replace '.png' ""
'';
# fix file dialogs crashing on non-NixOS (and avoid double wrapping) # fix file dialogs crashing on non-NixOS (and avoid double wrapping)
preFixup = '' preFixup = ''
qtWrapperArgs+=("''${gappsWrapperArgs[@]}") qtWrapperArgs+=("''${gappsWrapperArgs[@]}")

View file

@ -41,6 +41,12 @@ rustPlatform.buildRustPackage rec {
AppKit AppKit
]; ];
postInstall = ''
install -Dm444 assets/epick.desktop -t $out/share/applications
install -Dm444 assets/icon.svg $out/share/icons/hicolor/scalable/apps/epick.svg
install -Dm444 assets/icon.png $out/share/icons/hicolor/48x48/apps/epick.png
'';
postFixup = lib.optionalString stdenv.isLinux '' postFixup = lib.optionalString stdenv.isLinux ''
patchelf $out/bin/epick --add-rpath ${lib.makeLibraryPath [ libGL ]} patchelf $out/bin/epick --add-rpath ${lib.makeLibraryPath [ libGL ]}
''; '';

View file

@ -21,6 +21,14 @@ stdenv.mkDerivation rec {
installPhase = '' installPhase = ''
install -D ./goxel $out/bin/goxel install -D ./goxel $out/bin/goxel
for res in $(ls data/icons | sed -e 's/icon//g' -e 's/.png//g'); do
install -Dm444 data/icons/icon$res.png $out/share/icons/hicolor/''${res}x''${res}/apps/goxel.png
done
install -Dm444 snap/gui/goxel.desktop -t $out/share/applications
substituteInPlace $out/share/applications/goxel.desktop \
--replace 'Icon=''${SNAP}/icon.png' 'Icon=goxel'
''; '';
meta = with lib; { meta = with lib; {

View file

@ -66,6 +66,11 @@ rustPlatform.buildRustPackage rec {
"--skip=bench" "--skip=bench"
]; ];
postInstall = ''
install -Dm444 $src/res/oculante.png -t $out/share/icons/hicolor/128x128/apps/
install -Dm444 $src/res/oculante.desktop -t $out/share/applications
'';
postFixup = lib.optionalString stdenv.isLinux '' postFixup = lib.optionalString stdenv.isLinux ''
patchelf $out/bin/oculante --add-rpath ${lib.makeLibraryPath [ libxkbcommon libX11 ]} patchelf $out/bin/oculante --add-rpath ${lib.makeLibraryPath [ libxkbcommon libX11 ]}
''; '';

View file

@ -30,6 +30,15 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ gtk3-x11 atk glib librsvg ]; buildInputs = [ gtk3-x11 atk glib librsvg ];
postInstall = ''
install -Dm444 res/icons/tk.categulario.pizarra.svg $out/share/icons/hicolor/scalable/apps/pizarra.svg
install -Dm444 res/pizarra.desktop -t $out/share/applications
substituteInPlace $out/share/applications/pizarra.desktop \
--replace "TryExec=/usr/bin/" "TryExec=" \
--replace "Exec=/usr/bin/" "Exec=" \
--replace "Icon=/usr/share/icons/hicolor/scalable/apps/pizarra.svg" "Icon=pizarra"
'';
meta = with lib; { meta = with lib; {
description = "A simple blackboard written in GTK"; description = "A simple blackboard written in GTK";
longDescription = '' longDescription = ''

View file

@ -52,6 +52,11 @@ stdenv.mkDerivation (finalAttrs: {
cp activate-linux $out/bin cp activate-linux $out/bin
cp activate-linux.1 $out/share/man/man1 cp activate-linux.1 $out/share/man/man1
install -Dm444 res/icon.png $out/share/icons/hicolor/128x128/apps/activate-linux.png
install -Dm444 res/activate-linux.desktop -t $out/share/applications
substituteInPlace $out/share/applications/activate-linux.desktop \
--replace 'Icon=icon' 'Icon=activate-linux'
runHook postInstall runHook postInstall
''; '';

View file

@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "clipcat"; pname = "clipcat";
version = "0.11.0"; version = "0.13.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "xrelkd"; owner = "xrelkd";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-6L6u8inHkiEz7lp3T0a237z3JQwGDWKXtTBVNIKct64="; hash = "sha256-BpJI6IseQpAHrdZ+rbh9Ar8HhAVD6grdM2tpviKd51c=";
}; };
cargoHash = "sha256-uzIqIGjCZEmChM3uVAnAp7eTIznTLXW/4t+NVoryjtk="; cargoHash = "sha256-BcqrQ4oUZazTSVtaAPgNKmLxhBbxR+sfpFFD1WiYP40=";
nativeBuildInputs = [ nativeBuildInputs = [
protobuf protobuf

View file

@ -46,6 +46,11 @@ python3.pkgs.buildPythonApplication rec {
pygobject3 pygobject3
]; ];
postInstall = ''
install -Dm444 fluxboxlauncher.desktop -t $out/share/applications
install -Dm444 fluxboxlauncher.svg -t $out/share/icons/hicolor/scalable/apps
'';
meta = with lib; { meta = with lib; {
description = "A Gui editor (gtk) to configure applications launching on a fluxbox session"; description = "A Gui editor (gtk) to configure applications launching on a fluxbox session";
homepage = "https://github.com/mothsART/fluxboxlauncher"; homepage = "https://github.com/mothsART/fluxboxlauncher";

View file

@ -43,6 +43,9 @@ mkDerivation rec {
postBuild = '' postBuild = ''
mkdir $out/bin mkdir $out/bin
mv $out/lib/klayout $out/bin/ mv $out/lib/klayout $out/bin/
install -Dm444 etc/klayout.desktop -t $out/share/applications
install -Dm444 etc/logo.png $out/share/icons/hicolor/256x256/apps/klayout.png
''; '';
env.NIX_CFLAGS_COMPILE = toString [ "-Wno-parentheses" ]; env.NIX_CFLAGS_COMPILE = toString [ "-Wno-parentheses" ];

View file

@ -56,6 +56,7 @@ stdenv.mkDerivation rec {
install -d $out/bin install -d $out/bin
install build/llpp $out/bin install build/llpp $out/bin
install misc/llpp.inotify $out/bin/llpp.inotify install misc/llpp.inotify $out/bin/llpp.inotify
install -Dm444 misc/llpp.desktop -t $out/share/applications
'' + lib.optionalString stdenv.isLinux '' '' + lib.optionalString stdenv.isLinux ''
wrapProgram $out/bin/llpp \ wrapProgram $out/bin/llpp \
--prefix PATH ":" "${xclip}/bin" --prefix PATH ":" "${xclip}/bin"

View file

@ -2,11 +2,11 @@
let let
pname = "mobilecoin-wallet"; pname = "mobilecoin-wallet";
version = "1.5.0"; version = "1.8.0";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/mobilecoinofficial/desktop-wallet/releases/download/v${version}/MobileCoin-Wallet-${version}.AppImage"; url = "https://github.com/mobilecoinofficial/desktop-wallet/releases/download/v${version}/MobileCoin.Wallet-${version}.AppImage";
sha256 = "sha256-zSTtnKvgcDSiicEDuVK2LN2d8WHiGReYI3XLBmm3Fbo="; hash = "sha256-XGU/xxsMhOBAh+MeMtL2S707yH8HnoO9w5l7zqjO6rs=";
}; };
appimageContents = appimageTools.extractType2 { inherit name src; }; appimageContents = appimageTools.extractType2 { inherit name src; };
@ -34,6 +34,7 @@ in appimageTools.wrapType2 {
homepage = "https://github.com/mobilecoinofficial/desktop-wallet"; homepage = "https://github.com/mobilecoinofficial/desktop-wallet";
license = licenses.gpl3Only; license = licenses.gpl3Only;
maintainers = with maintainers; [ wolfangaukang ]; maintainers = with maintainers; [ wolfangaukang ];
mainProgram = "mobilecoin-wallet";
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
}; };
} }

View file

@ -46,6 +46,11 @@ python310Packages.buildPythonApplication rec {
dontWrapGApps = true; dontWrapGApps = true;
postInstall = ''
install -Dm444 nwg-displays.svg -t $out/share/icons/hicolor/scalable/apps
install -Dm444 nwg-displays.desktop -t $out/share/applications
'';
preFixup = '' preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}"); makeWrapperArgs+=("''${gappsWrapperArgs[@]}");
''; '';

View file

@ -57,6 +57,11 @@ python3Packages.buildPythonApplication rec {
doCheck = false; # there are no tests doCheck = false; # there are no tests
postInstall = ''
install -Dm444 org.skytemple.SkyTemple.desktop -t $out/share/applications
install -Dm444 installer/skytemple.ico $out/share/icons/hicolor/256x256/apps/org.skytemple.SkyTemple.ico
'';
meta = with lib; { meta = with lib; {
homepage = "https://github.com/SkyTemple/skytemple"; homepage = "https://github.com/SkyTemple/skytemple";
description = "ROM hacking tool for Pokémon Mystery Dungeon Explorers of Sky"; description = "ROM hacking tool for Pokémon Mystery Dungeon Explorers of Sky";

View file

@ -30,6 +30,11 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-S4+cS4m69nqDN2h0vwyO35fFFBEa0Rcxx0XDBfSNLp0="; cargoHash = "sha256-S4+cS4m69nqDN2h0vwyO35fFFBEa0Rcxx0XDBfSNLp0=";
postInstall = ''
install -Dm444 linux/com.system76.keyboardconfigurator.desktop -t $out/share/applications
cp -r data/icons $out/share
'';
meta = with lib; { meta = with lib; {
description = "Keyboard configuration application for System76 keyboards and laptops"; description = "Keyboard configuration application for System76 keyboards and laptops";
homepage = "https://github.com/pop-os/keyboard-configurator"; homepage = "https://github.com/pop-os/keyboard-configurator";

View file

@ -31,6 +31,9 @@ stdenv.mkDerivation rec {
mv usr $out mv usr $out
mv opt $out mv opt $out
# binary is not used and probably vulnerable to CVE(s)
rm $out/opt/TheDesk/thedesk
substituteInPlace $out/share/applications/thedesk.desktop \ substituteInPlace $out/share/applications/thedesk.desktop \
--replace '/opt/TheDesk' $out/bin --replace '/opt/TheDesk' $out/bin

View file

@ -26,6 +26,10 @@ stdenv.mkDerivation rec {
wrapQtApp $out/XyGrib/XyGrib wrapQtApp $out/XyGrib/XyGrib
mkdir -p $out/bin mkdir -p $out/bin
ln -s $out/XyGrib/XyGrib $out/bin/xygrib ln -s $out/XyGrib/XyGrib $out/bin/xygrib
install -Dm444 $src/debian/xygrib.png -t $out/share/icons/hicolor/32x32/apps
install -Dm444 $src/debian/xygrib.desktop -t $out/share/applications
substituteInPlace $out/share/applications/xygrib.desktop \
--replace 'Exec=XyGrib' 'Exec=xygrib'
''; '';
meta = with lib; { meta = with lib; {

View file

@ -17,13 +17,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "lagrange"; pname = "lagrange";
version = "1.17.4"; version = "1.17.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "skyjake"; owner = "skyjake";
repo = "lagrange"; repo = "lagrange";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-vzdlcyA+RCr8RH0KbTiUah8lS++Xq6gLCHbgHHBFEig="; hash = "sha256-q50r0jH7opIh3r08jAwYmFWl1e/x9qVL+mUEf8JVfuc=";
}; };
nativeBuildInputs = [ cmake pkg-config zip ]; nativeBuildInputs = [ cmake pkg-config zip ];

View file

@ -14,16 +14,17 @@
let let
package = buildGoModule rec { package = buildGoModule rec {
pname = "opentofu"; pname = "opentofu";
version = "1.6.0-beta1"; version = "1.6.0-beta2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "opentofu"; owner = "opentofu";
repo = "opentofu"; repo = "opentofu";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-bOZzMraJ1Bc5CauYkJLH4riCOhAbZlXh9TdBjJsp4Ds="; hash = "sha256-zUMRjUcFIgLgNcUp+I48dDyncI4cjup4+HMXxxJdXU4=";
}; };
vendorHash = "sha256-T67VFtAsw6Dn+Ma0znwaa53GvzmrNLFoU17rCeJehKw=";
ldflags = [ "-s" "-w" ]; vendorHash = "sha256-kSm5RZqQRgbmPaKt5IWmuMhHwAu+oJKTX1q1lbE7hWk=";
ldflags = [ "-s" "-w" "-X" "github.com/opentofu/opentofu/version.dev=no" ];
postConfigure = '' postConfigure = ''
# speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22 # speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "rke2"; pname = "rke2";
version = "1.28.2+rke2r1"; version = "1.28.3+rke2r1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rancher"; owner = "rancher";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-PkBnM6mKE90e8VZ3QHYp2mM4RgD9u1gNjFea3RaPGy0="; hash = "sha256-0a659XE/Pg8g5Ui3ugUQeFnXJiWqkPbvhtdpLp4/5i8=";
}; };
vendorHash = "sha256-aW8en8KJsPITKT4fIyhhtLiYdk+98iL14wQXG4HsM3U="; vendorHash = "sha256-Kexu3l4iV8bIIFFae0KVypy2bTKwtl5ibEDQ7YP0JK0=";
postPatch = '' postPatch = ''
# Patch the build scripts so they work in the Nix build environment. # Patch the build scripts so they work in the Nix build environment.

View file

@ -3,63 +3,55 @@
, fetchzip , fetchzip
, makeWrapper , makeWrapper
, jdk8 , jdk8
, python3Packages , python3
, extraPythonPackages ? [ ] , python310
, coreutils , coreutils
, hadoopSupport ? true
, hadoop , hadoop
, RSupport ? true , RSupport ? true
, R , R
, nixosTests
}: }:
let let
spark = { pname, version, hash, extraMeta ? {} }: spark = { pname, version, hash, extraMeta ? {}, pysparkPython ? python3 }:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
inherit pname version; inherit pname version hash hadoop R pysparkPython;
jdk = if hadoopSupport then hadoop.jdk else jdk8; inherit (finalAttrs.hadoop) jdk;
src = fetchzip { src = fetchzip {
url = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz"; url = with finalAttrs; "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz";
inherit hash; inherit (finalAttrs) hash;
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jdk python3Packages.python ] buildInputs = with finalAttrs; [ jdk pysparkPython ]
++ extraPythonPackages ++ lib.optional RSupport finalAttrs.R;
++ lib.optional RSupport R;
untarDir = "${pname}-${version}";
installPhase = '' installPhase = ''
mkdir -p $out/{lib/${untarDir}/conf,bin,/share/java} mkdir -p "$out/opt"
mv * $out/lib/${untarDir} mv * $out/
for n in $(find $out/bin -type f -executable ! -name "find-spark-home"); do
cp $out/lib/${untarDir}/conf/log4j.properties{.template,} || \ wrapProgram "$n" --set JAVA_HOME "${finalAttrs.jdk}" \
cp $out/lib/${untarDir}/conf/log4j2.properties{.template,} --run "[ -z $SPARK_DIST_CLASSPATH ] && export SPARK_DIST_CLASSPATH=$(${finalAttrs.hadoop}/bin/hadoop classpath)" \
${lib.optionalString RSupport ''--set SPARKR_R_SHELL "${finalAttrs.R}/bin/R"''} \
cat > $out/lib/${untarDir}/conf/spark-env.sh <<- EOF --prefix PATH : "${
export JAVA_HOME="${jdk}" lib.makeBinPath (
export SPARK_HOME="$out/lib/${untarDir}" [ finalAttrs.pysparkPython ] ++
'' + lib.optionalString hadoopSupport '' (lib.optionals RSupport [ finalAttrs.R ])
export SPARK_DIST_CLASSPATH=$(${hadoop}/bin/hadoop classpath) )}"
'' + ''
export PYSPARK_PYTHON="${python3Packages.python}/bin/${python3Packages.python.executable}"
export PYTHONPATH="\$PYTHONPATH:$PYTHONPATH"
${lib.optionalString RSupport ''
export SPARKR_R_SHELL="${R}/bin/R"
export PATH="\$PATH:${R}/bin"''}
EOF
for n in $(find $out/lib/${untarDir}/bin -type f ! -name "*.*"); do
makeWrapper "$n" "$out/bin/$(basename $n)"
substituteInPlace "$n" --replace dirname ${coreutils.out}/bin/dirname
done done
for n in $(find $out/lib/${untarDir}/sbin -type f); do ln -s ${finalAttrs.hadoop} "$out/opt/hadoop"
# Spark deprecated scripts with "slave" in the name. ${lib.optionalString RSupport ''ln -s ${finalAttrs.R} "$out/opt/R"''}
# This line adds forward compatibility with the nixos spark module for
# older versions of spark that don't have the new "worker" scripts.
ln -s "$n" $(echo "$n" | sed -r 's/slave(s?).sh$/worker\1.sh/g') || true
done
ln -s $out/lib/${untarDir}/lib/spark-assembly-*.jar $out/share/java
''; '';
passthru = {
tests = nixosTests.spark.default.passthru.override {
sparkPackage = finalAttrs.finalPackage;
};
# Add python packages to PYSPARK_PYTHON
withPythonPackages = f: finalAttrs.finalPackage.overrideAttrs (old: {
pysparkPython = old.pysparkPython.withPackages f;
});
};
meta = { meta = {
description = "Apache Spark is a fast and general engine for large-scale data processing"; description = "Apache Spark is a fast and general engine for large-scale data processing";
homepage = "https://spark.apache.org/"; homepage = "https://spark.apache.org/";
@ -68,24 +60,23 @@ let
platforms = lib.platforms.all; platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ thoughtpolice offline kamilchm illustris ]; maintainers = with lib.maintainers; [ thoughtpolice offline kamilchm illustris ];
} // extraMeta; } // extraMeta;
}; });
in in
{ {
spark_3_5 = spark rec {
pname = "spark";
version = "3.5.0";
hash = "sha256-f+a4a23aOM0GCDoZlZ7WNXs0Olzyh3yMtO8ZmEoYvZ4=";
};
spark_3_4 = spark rec { spark_3_4 = spark rec {
pname = "spark"; pname = "spark";
version = "3.4.0"; version = "3.4.2";
hash = "sha256-0y80dRYzb6Ceu6MlGQHtpMdzOob/TBg6kf8dtF6KyCk="; hash = "sha256-qr0tRuzzEcarJznrQYkaQzGqI7tugp/XJpoZxL7tJwk=";
}; };
spark_3_3 = spark rec { spark_3_3 = spark rec {
pname = "spark"; pname = "spark";
version = "3.3.2"; version = "3.3.3";
hash = "sha256-AeKe2QN+mhUJgZRSIgbi/DttAWlDgwC1kl9p7syEvbo="; hash = "sha256-YtHxRYTwrwSle3UpFjRSwKcnLFj2m9/zLBENH/HVzuM=";
extraMeta.knownVulnerabilities = [ "CVE-2023-22946" ]; pysparkPython = python310;
};
spark_3_2 = spark rec {
pname = "spark";
version = "3.2.4";
hash = "sha256-xL4W+dTWbvmmncq3/8iXmhp24rp5SftvoRfkTyxCI8E=";
extraMeta.knownVulnerabilities = [ "CVE-2023-22946" ];
}; };
} }

View file

@ -2,7 +2,6 @@
, cups , cups
, dpkg , dpkg
, fetchurl , fetchurl
, gjs
, glib , glib
, gtk3 , gtk3
, lib , lib
@ -11,6 +10,7 @@
, libgcrypt , libgcrypt
, libkrb5 , libkrb5
, mesa # for libgbm , mesa # for libgbm
, libGL
, nss , nss
, xorg , xorg
, systemd , systemd
@ -19,7 +19,6 @@
, at-spi2-core , at-spi2-core
, autoPatchelfHook , autoPatchelfHook
, wrapGAppsHook , wrapGAppsHook
, makeWrapper
}: }:
let let
@ -43,8 +42,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ nativeBuildInputs = [
autoPatchelfHook autoPatchelfHook
# makeBinaryWrapper not support shell wrapper specifically for `NIXOS_OZONE_WL`. wrapGAppsHook
(wrapGAppsHook.override { inherit makeWrapper; })
dpkg dpkg
]; ];
@ -76,7 +74,9 @@ stdenv.mkDerivation {
substituteInPlace $out/share/applications/qq.desktop \ substituteInPlace $out/share/applications/qq.desktop \
--replace "/opt/QQ/qq" "$out/bin/qq" \ --replace "/opt/QQ/qq" "$out/bin/qq" \
--replace "/usr/share" "$out/share" --replace "/usr/share" "$out/share"
ln -s $out/opt/QQ/qq $out/bin/qq makeWrapper $out/opt/QQ/qq $out/bin/qq \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
# Remove bundled libraries # Remove bundled libraries
rm -r $out/opt/QQ/resources/app/sharp-lib rm -r $out/opt/QQ/resources/app/sharp-lib
@ -91,13 +91,6 @@ stdenv.mkDerivation {
runHook postInstall runHook postInstall
''; '';
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : "${lib.makeBinPath [ gjs ]}"
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
)
'';
passthru.updateScript = ./update.sh; passthru.updateScript = ./update.sh;
meta = with lib; { meta = with lib; {

View file

@ -1,8 +1,8 @@
# Generated by ./update.sh - do not update manually! # Generated by ./update.sh - do not update manually!
# Last updated: 2023-11-14 # Last updated: 2023-12-05
{ {
version = "3.2.2-18394"; version = "3.2.3-19189";
urlhash = "fd2e886e"; urlhash = "06d558c3";
arm64_hash = "sha256-6E3h7Z4936YKZb+G0FoMb90T3EzH8z07mmGMnL4SDFk="; arm64_hash = "sha256-qNcw6P985F/JAB9roxaBR5hz2KcLiffUDKu/14nvvgE=";
amd64_hash = "sha256-L1M8O0FzVKLXNNYGGMPf1Nbh/DFxLHBlbzapr7uz5Sk="; amd64_hash = "sha256-37d7F1VB2puEFJC12x57aRj4NIYcCYyPCK06Z/OwNiM=";
} }

View file

@ -1,9 +0,0 @@
{
"version": "1.11.30-sc.2",
"rev": "v1.11.30-sc.2",
"srcHash": "1qb1fcr52gyzxndz3j77vn3ddwjpxwvicnh16c72zpzpfbbky7a5",
"webYarnHash": "0bg5vc7q8afqfpsaqqkczf9whbzici5d2bxj5cadhrlmlb27f8nx",
"jsSdkYarnHash": "0p1whh3pmqz170l542fiq3zgljl5daa9b96i59p3wvggnx7kny7j",
"reactSdkYarnHash": "02ysshiyjj3w00b628is9bd7i8qc3vc8kr1zam2dpj26lb9k5pdd",
"desktopYarnHash": "16pzmlwzf3z8mky3wb4azaiggigyfnpxmbq3irjp30ic6yhl50yw"
}

View file

@ -1,131 +0,0 @@
{ lib
, element-desktop # for seshat and keytar
, schildichat-web
, stdenv
, fetchFromGitHub
, makeWrapper
, makeDesktopItem
, copyDesktopItems
, fetchYarnDeps
, yarn
, nodejs
, prefetch-yarn-deps
, electron
, Security
, AppKit
, CoreServices
, sqlcipher
}:
let
pinData = lib.importJSON ./pin.json;
executableName = "schildichat-desktop";
in
stdenv.mkDerivation rec {
pname = "schildichat-desktop";
inherit (pinData) version;
src = fetchFromGitHub {
owner = "SchildiChat";
repo = "schildichat-desktop";
inherit (pinData) rev;
sha256 = pinData.srcHash;
fetchSubmodules = true;
};
offlineCache = fetchYarnDeps {
yarnLock = src + "/element-desktop/yarn.lock";
sha256 = pinData.desktopYarnHash;
};
nativeBuildInputs = [ yarn prefetch-yarn-deps nodejs makeWrapper copyDesktopItems ];
inherit (element-desktop) seshat keytar;
configurePhase = ''
runHook preConfigure
export HOME=$(mktemp -d)
pushd element-desktop
yarn config --offline set yarn-offline-mirror $offlineCache
fixup-yarn-lock yarn.lock
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
rm -rf node_modules/matrix-seshat node_modules/keytar
ln -s $keytar node_modules/keytar
ln -s $seshat node_modules/matrix-seshat
patchShebangs node_modules/
popd
runHook postConfigure
'';
# Only affects unused scripts in $out/share/element/electron/scripts. Also
# breaks because there are some `node`-scripts with a `npx`-shebang and
# this shouldn't be in the closure just for unused scripts.
dontPatchShebangs = true;
buildPhase = ''
runHook preBuild
pushd element-desktop
yarn --offline run build:ts
yarn --offline run i18n
yarn --offline run build:res
popd
runHook postBuild
'';
installPhase = ''
runHook preInstall
# resources
mkdir -p "$out/share/element"
ln -s '${schildichat-web}' "$out/share/element/webapp"
mv element-desktop "$out/share/element/electron"
cp -r "$out/share/element/electron/res/img" "$out/share/element"
cp $out/share/element/electron/lib/i18n/strings/en_EN.json $out/share/element/electron/lib/i18n/strings/en-us.json
ln -s $out/share/element/electron/lib/i18n/strings/en{-us,}.json
# icons
for icon in $out/share/element/electron/build/icons/*.png; do
mkdir -p "$out/share/icons/hicolor/$(basename $icon .png)/apps"
ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png)/apps/schildichat.png"
done
# executable wrapper
# LD_PRELOAD workaround for sqlcipher not found: https://github.com/matrix-org/seshat/issues/102
makeWrapper '${electron}/bin/electron' "$out/bin/${executableName}" \
--set LD_PRELOAD ${sqlcipher}/lib/libsqlcipher.so \
--add-flags "$out/share/element/electron" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
runHook postInstall
'';
# The desktop item properties should be kept in sync with data from upstream:
# https://github.com/schildichat/element-desktop/blob/sc/package.json
desktopItems = [
(makeDesktopItem {
name = "schildichat-desktop";
exec = "${executableName} %u";
icon = "schildichat";
desktopName = "SchildiChat";
genericName = "Matrix Client";
comment = meta.description;
categories = [ "Network" "InstantMessaging" "Chat" ];
startupWMClass = "schildichat";
mimeTypes = [ "x-scheme-handler/element" ];
})
];
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "Matrix client / Element Desktop fork";
homepage = "https://schildi.chat/";
changelog = "https://github.com/SchildiChat/schildichat-desktop/releases";
maintainers = teams.matrix.members ++ (with maintainers; [ kloenk yuka ]);
license = licenses.asl20;
platforms = platforms.all;
};
}

View file

@ -1,113 +0,0 @@
{ stdenv, lib
, fetchFromGitHub
, fetchYarnDeps
, nodejs
, yarn
, prefetch-yarn-deps
, writeText, jq, conf ? {}
}:
let
pinData = lib.importJSON ./pin.json;
noPhoningHome = {
disable_guests = true; # disable automatic guest account registration at matrix.org
};
configOverrides = writeText "element-config-overrides.json" (builtins.toJSON (noPhoningHome // conf));
in stdenv.mkDerivation rec {
pname = "schildichat-web";
inherit (pinData) version;
src = fetchFromGitHub {
owner = "SchildiChat";
repo = "schildichat-desktop";
inherit (pinData) rev;
sha256 = pinData.srcHash;
fetchSubmodules = true;
};
webOfflineCache = fetchYarnDeps {
yarnLock = src + "/element-web/yarn.lock";
sha256 = pinData.webYarnHash;
};
jsSdkOfflineCache = fetchYarnDeps {
yarnLock = src + "/matrix-js-sdk/yarn.lock";
sha256 = pinData.jsSdkYarnHash;
};
reactSdkOfflineCache = fetchYarnDeps {
yarnLock = src + "/matrix-react-sdk/yarn.lock";
sha256 = pinData.reactSdkYarnHash;
};
nativeBuildInputs = [ yarn prefetch-yarn-deps jq nodejs ];
configurePhase = ''
runHook preConfigure
export HOME=$PWD/tmp
# with the update of openssl3, some key ciphers are not supported anymore
# this flag will allow those codecs again as a workaround
# see https://medium.com/the-node-js-collection/node-js-17-is-here-8dba1e14e382#5f07
# and https://github.com/vector-im/element-web/issues/21043
export NODE_OPTIONS=--openssl-legacy-provider
mkdir -p $HOME
pushd element-web
fixup-yarn-lock yarn.lock
yarn config --offline set yarn-offline-mirror $webOfflineCache
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
patchShebangs node_modules
rm -rf node_modules/matrix-react-sdk
ln -s $PWD/../matrix-react-sdk node_modules/
rm -rf node_modules/matrix-js-sdk
ln -s $PWD/../matrix-js-sdk node_modules/
popd
pushd matrix-js-sdk
fixup-yarn-lock yarn.lock
yarn config --offline set yarn-offline-mirror $jsSdkOfflineCache
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
patchShebangs node_modules
popd
pushd matrix-react-sdk
fixup-yarn-lock yarn.lock
yarn config --offline set yarn-offline-mirror $reactSdkOfflineCache
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
patchShebangs node_modules scripts
popd
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
pushd element-web
export VERSION=${version}
yarn build:res --offline
yarn build:module_system --offline
yarn build:bundle --offline
popd
runHook postBuild
'';
installPhase = ''
runHook preInstall
mv element-web/webapp $out
jq -s '.[0] * .[1]' "configs/sc/config.json" "${configOverrides}" > "$out/config.json"
runHook postInstall
'';
meta = with lib; {
description = "Matrix client / Element Web fork";
homepage = "https://schildi.chat/";
changelog = "https://github.com/SchildiChat/schildichat-desktop/releases";
maintainers = teams.matrix.members ++ (with maintainers; [ kloenk yuka ]);
license = licenses.asl20;
platforms = platforms.all;
};
}

View file

@ -1,43 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../../../../../ -i bash -p nix wget prefetch-yarn-deps nix-prefetch-git jq
if [[ "$#" -gt 2 || "$1" == -* ]]; then
echo "Regenerates packaging data for the SchildiChat packages."
echo "Usage: $0 [git revision or tag] [version string override]"
exit 1
fi
rev="$1"
version="$2"
set -euo pipefail
if [ -z "$rev" ]; then
rev="$(wget -O- "https://api.github.com/repos/SchildiChat/schildichat-desktop/releases?per_page=1" | jq -r '.[0].tag_name')"
fi
if [ -z "$version" ]; then
# strip leading "v"
version="${rev#v}"
fi
src_data=$(nix-prefetch-git https://github.com/SchildiChat/schildichat-desktop --fetch-submodules --rev $rev)
src=$(echo $src_data | jq -r .path)
src_hash=$(echo $src_data | jq -r .sha256)
web_yarn_hash=$(prefetch-yarn-deps $src/element-web/yarn.lock)
desktop_yarn_hash=$(prefetch-yarn-deps $src/element-desktop/yarn.lock)
js_sdk_yarn_hash=$(prefetch-yarn-deps $src/matrix-js-sdk/yarn.lock)
react_sdk_yarn_hash=$(prefetch-yarn-deps $src/matrix-react-sdk/yarn.lock)
cat > pin.json << EOF
{
"version": "$version",
"rev": "$rev",
"srcHash": "$src_hash",
"webYarnHash": "$web_yarn_hash",
"jsSdkYarnHash": "$js_sdk_yarn_hash",
"reactSdkYarnHash": "$react_sdk_yarn_hash",
"desktopYarnHash": "$desktop_yarn_hash"
}
EOF

View file

@ -1,12 +1,17 @@
{ callPackage }: builtins.mapAttrs (pname: attrs: callPackage ./generic.nix (attrs // { inherit pname; })) { { callPackage, stdenv }: builtins.mapAttrs (pname: attrs: callPackage ./generic.nix (attrs // { inherit pname; })) {
signal-desktop = { signal-desktop = rec {
dir = "Signal"; dir = "Signal";
version = "6.40.0"; version = "6.40.0";
version-aarch64 = "6.40.0";
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
url-aarch64 = "https://github.com/0mniteck/Signal-Desktop-Mobian/raw/${version-aarch64}/builds/release/signal-desktop_${version-aarch64}_arm64.deb";
hash = "sha256-vyXHlycPSyEyv938IKzGM6pdERHHerx2CLY/U+WMrH4="; hash = "sha256-vyXHlycPSyEyv938IKzGM6pdERHHerx2CLY/U+WMrH4=";
hash-aarch64 = "sha256-3Pi0c+CGcJR1M4ll51m+B5PmGIcIjjlc0qa9b8rkMeU=";
}; };
signal-desktop-beta = { signal-desktop-beta = rec {
dir = "Signal Beta"; dir = "Signal Beta";
version = "6.40.0-beta.2"; version = "6.40.0-beta.2";
hash = "sha256-pfedkxbZ25DFgz+/N7ZEb9LwKrHuoMM+Zi+Tc21QPsg="; hash = "sha256-pfedkxbZ25DFgz+/N7ZEb9LwKrHuoMM+Zi+Tc21QPsg=";
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb";
}; };
} }

View file

@ -1,7 +1,11 @@
{ pname { pname
, dir , dir
, version , version
, version-aarch64 ? ""
, hash , hash
, hash-aarch64 ? ""
, url
, url-aarch64 ? ""
, stdenv , stdenv
, lib , lib
, fetchurl , fetchurl
@ -51,8 +55,15 @@
, wayland , wayland
}: }:
stdenv.mkDerivation rec { let
inherit pname version; # Please backport all updates to the stable channel. inherit (stdenv) targetPlatform;
ARCH = if targetPlatform.isAarch64 then "arm64" else "x64";
final-version = if targetPlatform.isAarch64 then version-aarch64 else version;
in stdenv.mkDerivation rec {
inherit pname;
version = final-version;
# Please backport all updates to the stable channel.
# All releases have a limited lifetime and "expire" 90 days after the release. # All releases have a limited lifetime and "expire" 90 days after the release.
# When releases "expire" the application becomes unusable until an update is # When releases "expire" the application becomes unusable until an update is
# applied. The expiration date for the current release can be extracted with: # applied. The expiration date for the current release can be extracted with:
@ -61,8 +72,8 @@ stdenv.mkDerivation rec {
# few additional steps and might not be the best idea.) # few additional steps and might not be the best idea.)
src = fetchurl { src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/s/${pname}/${pname}_${version}_amd64.deb"; url = if targetPlatform.isAarch64 then url-aarch64 else url;
inherit hash; hash = if targetPlatform.isAarch64 then hash-aarch64 else hash;
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -163,7 +174,7 @@ stdenv.mkDerivation rec {
${if pname == "signal-desktop" then "--replace \"bin/signal-desktop\" \"bin/signal-desktop --use-tray-icon\"" else ""} ${if pname == "signal-desktop" then "--replace \"bin/signal-desktop\" \"bin/signal-desktop --use-tray-icon\"" else ""}
autoPatchelf --no-recurse -- "$out/lib/${dir}/" autoPatchelf --no-recurse -- "$out/lib/${dir}/"
patchelf --add-needed ${libpulseaudio}/lib/libpulse.so "$out/lib/${dir}/resources/app.asar.unpacked/node_modules/@signalapp/ringrtc/build/linux/libringrtc-x64.node" patchelf --add-needed ${libpulseaudio}/lib/libpulse.so "$out/lib/${dir}/resources/app.asar.unpacked/node_modules/@signalapp/ringrtc/build/linux/libringrtc-${ARCH}.node"
''; '';
# Tests if the application launches and waits for "Link your phone to Signal Desktop": # Tests if the application launches and waits for "Link your phone to Signal Desktop":
@ -176,11 +187,11 @@ stdenv.mkDerivation rec {
"Signal Android" or "Signal iOS" app. "Signal Android" or "Signal iOS" app.
''; '';
homepage = "https://signal.org/"; homepage = "https://signal.org/";
changelog = "https://github.com/signalapp/Signal-Desktop/releases/tag/v${version}"; changelog = "https://github.com/signalapp/Signal-Desktop/releases/tag/v${final-version}";
license = lib.licenses.agpl3Only; license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ mic92 equirosa urandom ]; maintainers = with lib.maintainers; [ mic92 equirosa urandom bkchr ];
mainProgram = pname; mainProgram = pname;
platforms = [ "x86_64-linux" ]; platforms = if builtins.stringLength version-aarch64 > 0 then [ "x86_64-linux" "aarch64-linux" ] else [ "x86_64-linux" ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
}; };
} }

View file

@ -37,6 +37,8 @@ buildGoModule rec {
postInstall = '' postInstall = ''
mv $out/bin/Desktop-Bridge $out/bin/protonmail-bridge # The cli is named like that in other distro packages mv $out/bin/Desktop-Bridge $out/bin/protonmail-bridge # The cli is named like that in other distro packages
install -Dm444 dist/proton-bridge.desktop -t $out/share/applications
install -Dm444 dist/bridge.svg $out/share/icons/hicolor/scalable/apps/protonmail-bridge.svg
''; '';
meta = with lib; { meta = with lib; {

View file

@ -41,6 +41,15 @@ buildGoModule rec {
IOKit IOKit
]; ];
postInstall = ''
for res in $(ls internal/assets/icons | sed -e 's/icon-//g' -e 's/.png//g'); do
install -Dm444 internal/assets/icons/icon-$res.png \
$out/share/icons/hicolor/''${res}x''${res}/apps/io.github.jacalz.rymdport.png
done
install -Dm444 internal/assets/svg/icon.svg $out/share/icons/hicolor/scalable/apps/io.github.jacalz.rymdport.svg
install -Dm444 internal/assets/unix/io.github.jacalz.rymdport.desktop -t $out/share/applications
'';
meta = { meta = {
description = "Easy encrypted file, folder, and text sharing between devices"; description = "Easy encrypted file, folder, and text sharing between devices";
homepage = "https://github.com/Jacalz/rymdport"; homepage = "https://github.com/Jacalz/rymdport";

View file

@ -50,6 +50,16 @@ rustPlatform.buildRustPackage rec {
"--skip=secondary_threads::check_updates::tests::fetch_latest_release_from_github" "--skip=secondary_threads::check_updates::tests::fetch_latest_release_from_github"
]; ];
postInstall = ''
for res in $(ls resources/packaging/linux/graphics | sed -e 's/sniffnet_//g' -e 's/x.*//g'); do
install -Dm444 resources/packaging/linux/graphics/sniffnet_''${res}x''${res}.png \
$out/share/icons/hicolor/''${res}x''${res}/apps/sniffnet.png
done
install -Dm444 resources/packaging/linux/sniffnet.desktop -t $out/share/applications
substituteInPlace $out/share/applications/sniffnet.desktop \
--replace 'Exec=/usr/bin/sniffnet' 'Exec=sniffnet'
'';
postFixup = lib.optionalString stdenv.isLinux '' postFixup = lib.optionalString stdenv.isLinux ''
patchelf $out/bin/sniffnet \ patchelf $out/bin/sniffnet \
--add-rpath ${lib.makeLibraryPath [ vulkan-loader xorg.libX11 ]} --add-rpath ${lib.makeLibraryPath [ vulkan-loader xorg.libX11 ]}

View file

@ -23,16 +23,16 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "planify"; pname = "planify";
version = "4.1.1"; version = "4.1.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "alainm23"; owner = "alainm23";
repo = "planify"; repo = "planify";
# The commit is named as "Release 4.1.1", published to Flathub, but not tags # The commit is named as "Release 4.1.4", published to Flathub, but not tags
# https://github.com/flathub/io.github.alainm23.planify/commit/2a353ccfcf3379add6778d569f49da37f40accfa # https://github.com/flathub/io.github.alainm23.planify/commit/f345f81b55e4638bc6605e0bf9d15a057b846252
# https://github.com/alainm23/planify/issues/1002 # https://github.com/alainm23/planify/issues/1002
rev = "adf3629bcacfc9978f6dde5b87eff0278533ab3e"; rev = "73fd6cb7acfc60937d1403238c255736b97aa94b";
hash = "sha256-xqklvSYmqBQ+IQ3lRjMbV4W4vD/rLCln7rBVCbYiBGo="; hash = "sha256-K3QFFpq2MJxK34Uh0qFyaSGeTPTZbwIVYkosFUrhflQ=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -10,7 +10,7 @@ let
src = fetchurl { src = fetchurl {
url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage"; url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
sha256 = "sha256-RmWRNKy2w3BM/ipQyFpkNC3+XXsJXjN6VYWNo8OKpy0="; hash = "sha256-kacJSlctE1bNAByH26Qpu609ZNbdkYTx6OUEgCmefqg=";
}; };
appimageContents = appimageTools.extractType2 { appimageContents = appimageTools.extractType2 {

View file

@ -24,10 +24,10 @@ stdenv.mkDerivation rec {
version = "11.1.0.11711"; version = "11.1.0.11711";
src = if useChineseVersion then fetchurl { src = if useChineseVersion then fetchurl {
url = "https://wps-linux-personal.wpscdn.cn/wps/download/ep/Linux2019/${lib.last (lib.splitString "." version)}/wps-office_${version}_amd64.deb"; url = "https://wps-linux-personal.wpscdn.cn/wps/download/ep/Linux2019/${lib.last (lib.splitVersion version)}/wps-office_${version}_amd64.deb";
hash = "sha256-JHSTZZnOZoTpj8zF4C5PmjTkftEdxbeaqweY3ITiJto="; hash = "sha256-JHSTZZnOZoTpj8zF4C5PmjTkftEdxbeaqweY3ITiJto=";
} else fetchurl { } else fetchurl {
url = "https://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/${lib.last (lib.splitString "." version)}/wps-office_${version}.XA_amd64.deb"; url = "https://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/${lib.last (lib.splitVersion version)}/wps-office_${version}.XA_amd64.deb";
hash = "sha256-2apkSE/8Wm6/OQ4x5n1PE1emhovqOgD0NVTY5QZZTYA="; hash = "sha256-2apkSE/8Wm6/OQ4x5n1PE1emhovqOgD0NVTY5QZZTYA=";
}; };

View file

@ -26,24 +26,17 @@ let
# The default for cudatoolkit 10.1 is CUDNN 8.0.5, the last version to support CUDA 10.1. # The default for cudatoolkit 10.1 is CUDNN 8.0.5, the last version to support CUDA 10.1.
# However, this caffe does not build with CUDNN 8.x, so we use CUDNN 7.6.5 instead. # However, this caffe does not build with CUDNN 8.x, so we use CUDNN 7.6.5 instead.
# Earlier versions of cudatoolkit use pre-8.x CUDNN, so we use the default. # Earlier versions of cudatoolkit use pre-8.x CUDNN, so we use the default.
cudnn = if lib.versionOlder cudatoolkit.version "10.1" hasCudnn =
then cudaPackages.cudnn if lib.versionOlder cudatoolkit.version "10.1"
else cudaPackages.cudnn_7_6; then cudaPackages ? cudnn
in else cudaPackages ? cudnn_7_6;
assert leveldbSupport -> (leveldb != null && snappy != null);
assert cudnnSupport -> cudaSupport;
assert ncclSupport -> cudaSupport;
assert pythonSupport -> (python != null && numpy != null);
let
toggle = bool: if bool then "ON" else "OFF"; toggle = bool: if bool then "ON" else "OFF";
test_model_weights = fetchurl { test_model_weights = fetchurl {
url = "http://dl.caffe.berkeleyvision.org/bvlc_reference_caffenet.caffemodel"; url = "http://dl.caffe.berkeleyvision.org/bvlc_reference_caffenet.caffemodel";
sha256 = "472d4a06035497b180636d8a82667129960371375bd10fcb6df5c6c7631f25e0"; sha256 = "472d4a06035497b180636d8a82667129960371375bd10fcb6df5c6c7631f25e0";
}; };
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -74,7 +67,8 @@ stdenv.mkDerivation rec {
buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv4 blas ] buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv4 blas ]
++ lib.optional cudaSupport cudatoolkit ++ lib.optional cudaSupport cudatoolkit
++ lib.optional cudnnSupport cudnn ++ lib.optional (lib.versionOlder cudatoolkit.version "10.1" && hasCudnn) cudaPackages.cudnn
++ lib.optional (lib.versionAtLeast cudatoolkit.version "10.1" && hasCudnn) cudaPackages.cudnn_7_6
++ lib.optional lmdbSupport lmdb ++ lib.optional lmdbSupport lmdb
++ lib.optional ncclSupport nccl ++ lib.optional ncclSupport nccl
++ lib.optionals leveldbSupport [ leveldb snappy ] ++ lib.optionals leveldbSupport [ leveldb snappy ]
@ -154,7 +148,14 @@ stdenv.mkDerivation rec {
''; '';
homepage = "http://caffe.berkeleyvision.org/"; homepage = "http://caffe.berkeleyvision.org/";
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ ];
broken = (pythonSupport && (python.isPy310)) || cudaSupport; broken =
(pythonSupport && (python.isPy310))
|| cudaSupport
|| !(leveldbSupport -> (leveldb != null && snappy != null))
|| !(cudnnSupport -> (hasCudnn && cudaSupport))
|| !(ncclSupport -> cudaSupport)
|| !(pythonSupport -> (python != null && numpy != null))
;
license = licenses.bsd2; license = licenses.bsd2;
platforms = platforms.linux ++ platforms.darwin; platforms = platforms.linux ++ platforms.darwin;
}; };

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "gh"; pname = "gh";
version = "2.39.2"; version = "2.40.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cli"; owner = "cli";
repo = "cli"; repo = "cli";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-6FjsUEroHpAjQj+7Z/C935LunYbgAzRvQI2pORiLo3s="; hash = "sha256-ffmOyifoJPrrC9J4lZ7HWq+fww5/EOCYhYIfx6Been0=";
}; };
vendorHash = "sha256-jM9nwTMOTh+eXztLvHIwwH4qu3ZIMOtBrPEtByB9Ry8="; vendorHash = "sha256-jM9nwTMOTh+eXztLvHIwwH4qu3ZIMOtBrPEtByB9Ry8=";

View file

@ -11,6 +11,9 @@
, lxml , lxml
, python , python
, unzip , unzip
, pip
, pythonOlder
, setuptools
}: }:
let let
version = "0.86.10"; version = "0.86.10";
@ -39,12 +42,20 @@ in
buildPythonPackage rec { buildPythonPackage rec {
inherit src version; inherit src version;
pname = "buildsrht"; pname = "buildsrht";
pyproject = true;
disabled = pythonOlder "3.7";
postPatch = '' postPatch = ''
substituteInPlace Makefile \ substituteInPlace Makefile \
--replace "all: api worker" "" --replace "all: api worker" ""
''; '';
nativeBuildInputs = [
pip
setuptools
];
propagatedBuildInputs = [ propagatedBuildInputs = [
srht srht
redis redis

View file

@ -21,12 +21,17 @@
, importlib-metadata , importlib-metadata
, tinycss2 , tinycss2
, sassc , sassc
, pythonOlder
, minify , minify
, setuptools
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "srht"; pname = "srht";
version = "0.69.15"; version = "0.69.15";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromSourcehut { src = fetchFromSourcehut {
owner = "~sircmpwn"; owner = "~sircmpwn";
@ -41,6 +46,10 @@ buildPythonPackage rec {
patches/redis-socket/core/0001-Fix-Unix-socket-support-in-RedisQueueCollector.patch patches/redis-socket/core/0001-Fix-Unix-socket-support-in-RedisQueueCollector.patch
]; ];
nativeBuildInputs = [
setuptools
];
propagatedNativeBuildInputs = [ propagatedNativeBuildInputs = [
sassc sassc
minify minify

View file

@ -7,7 +7,10 @@
, scmsrht , scmsrht
, pygit2 , pygit2
, minio , minio
, pythonOlder
, unzip , unzip
, pip
, setuptools
}: }:
let let
version = "0.84.2"; version = "0.84.2";
@ -78,12 +81,20 @@ in
buildPythonPackage rec { buildPythonPackage rec {
inherit src version; inherit src version;
pname = "gitsrht"; pname = "gitsrht";
pyproject = true;
disabled = pythonOlder "3.7";
postPatch = '' postPatch = ''
substituteInPlace Makefile \ substituteInPlace Makefile \
--replace "all: api gitsrht-dispatch gitsrht-keys gitsrht-shell gitsrht-update-hook" "" --replace "all: api gitsrht-dispatch gitsrht-keys gitsrht-shell gitsrht-update-hook" ""
''; '';
nativeBuildInputs = [
pip
setuptools
];
propagatedBuildInputs = [ propagatedBuildInputs = [
srht srht
scmsrht scmsrht

View file

@ -8,11 +8,17 @@
, unidiff , unidiff
, python , python
, unzip , unzip
, pip
, pythonOlder
, setuptools
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "hgsrht"; pname = "hgsrht";
version = "0.32.4"; version = "0.32.4";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromSourcehut { src = fetchFromSourcehut {
owner = "~sircmpwn"; owner = "~sircmpwn";
@ -49,6 +55,11 @@ buildPythonPackage rec {
''; '';
}; };
nativeBuildInputs = [
pip
setuptools
];
propagatedBuildInputs = [ propagatedBuildInputs = [
python-hglib python-hglib
scmsrht scmsrht

View file

@ -4,13 +4,19 @@
, buildPythonPackage , buildPythonPackage
, python , python
, srht , srht
, setuptools
, pip
, pyyaml , pyyaml
, pythonOlder
, unzip , unzip
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "hubsrht"; pname = "hubsrht";
version = "0.17.2"; version = "0.17.2";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromSourcehut { src = fetchFromSourcehut {
owner = "~sircmpwn"; owner = "~sircmpwn";
@ -30,6 +36,11 @@ buildPythonPackage rec {
vendorHash = "sha256-K5EmZ4U+xItTR85+SCwhwg5KUGLkKHo9Nr2pkvmJpfo="; vendorHash = "sha256-K5EmZ4U+xItTR85+SCwhwg5KUGLkKHo9Nr2pkvmJpfo=";
} // import ./fix-gqlgen-trimpath.nix { inherit unzip; }); } // import ./fix-gqlgen-trimpath.nix { inherit unzip; });
nativeBuildInputs = [
pip
setuptools
];
propagatedBuildInputs = [ propagatedBuildInputs = [
srht srht
pyyaml pyyaml
@ -44,7 +55,13 @@ buildPythonPackage rec {
ln -s ${hubsrht-api}/bin/api $out/bin/hubsrht-api ln -s ${hubsrht-api}/bin/api $out/bin/hubsrht-api
''; '';
pythonImportsCheck = [ "hubsrht" ];
# Module has no tests
doCheck = false;
pythonImportsCheck = [
"hubsrht"
];
meta = with lib; { meta = with lib; {
homepage = "https://git.sr.ht/~sircmpwn/hub.sr.ht"; homepage = "https://git.sr.ht/~sircmpwn/hub.sr.ht";

View file

@ -9,11 +9,17 @@
, emailthreads , emailthreads
, python , python
, unzip , unzip
, pip
, pythonOlder
, setuptools
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "listssrht"; pname = "listssrht";
version = "0.57.8"; version = "0.57.8";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromSourcehut { src = fetchFromSourcehut {
owner = "~sircmpwn"; owner = "~sircmpwn";
@ -34,6 +40,11 @@ buildPythonPackage rec {
--replace "all: api" "" --replace "all: api" ""
''; '';
nativeBuildInputs = [
pip
setuptools
];
propagatedBuildInputs = [ propagatedBuildInputs = [
srht srht
aiosmtpd aiosmtpd

View file

@ -6,11 +6,17 @@
, pygit2 , pygit2
, python , python
, unzip , unzip
, pip
, pythonOlder
, setuptools
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "mansrht"; pname = "mansrht";
version = "0.16.1"; version = "0.16.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromSourcehut { src = fetchFromSourcehut {
owner = "~sircmpwn"; owner = "~sircmpwn";
@ -30,6 +36,11 @@ buildPythonPackage rec {
vendorHash = "sha256-K5EmZ4U+xItTR85+SCwhwg5KUGLkKHo9Nr2pkvmJpfo="; vendorHash = "sha256-K5EmZ4U+xItTR85+SCwhwg5KUGLkKHo9Nr2pkvmJpfo=";
} // import ./fix-gqlgen-trimpath.nix { inherit unzip; }); } // import ./fix-gqlgen-trimpath.nix { inherit unzip; });
nativeBuildInputs = [
pip
setuptools
];
propagatedBuildInputs = [ propagatedBuildInputs = [
srht srht
pygit2 pygit2

View file

@ -13,6 +13,9 @@
, zxcvbn , zxcvbn
, python , python
, unzip , unzip
, pip
, pythonOlder
, setuptools
}: }:
let let
version = "0.64.8"; version = "0.64.8";
@ -35,12 +38,20 @@ in
buildPythonPackage rec { buildPythonPackage rec {
pname = "metasrht"; pname = "metasrht";
inherit version src; inherit version src;
pyproject = true;
disabled = pythonOlder "3.7";
postPatch = '' postPatch = ''
substituteInPlace Makefile \ substituteInPlace Makefile \
--replace "all: api" "" --replace "all: api" ""
''; '';
nativeBuildInputs = [
pip
setuptools
];
propagatedBuildInputs = [ propagatedBuildInputs = [
alembic alembic
bcrypt bcrypt

View file

@ -3,8 +3,11 @@
, buildGoModule , buildGoModule
, buildPythonPackage , buildPythonPackage
, srht , srht
, pip
, pyyaml , pyyaml
, python , python
, pythonOlder
, setuptools
, unzip , unzip
}: }:
@ -28,12 +31,20 @@ in
buildPythonPackage rec { buildPythonPackage rec {
inherit src version; inherit src version;
pname = "pastesrht"; pname = "pastesrht";
pyproject = true;
disabled = pythonOlder "3.7";
postPatch = '' postPatch = ''
substituteInPlace Makefile \ substituteInPlace Makefile \
--replace "all: api" "" --replace "all: api" ""
''; '';
nativeBuildInputs = [
pip
setuptools
];
propagatedBuildInputs = [ propagatedBuildInputs = [
srht srht
pyyaml pyyaml

View file

@ -4,11 +4,16 @@
, srht , srht
, pyyaml , pyyaml
, buildsrht , buildsrht
, pythonOlder
, setuptools
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "scmsrht"; pname = "scmsrht";
version = "0.22.23"; version = "0.22.23";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromSourcehut { src = fetchFromSourcehut {
owner = "~sircmpwn"; owner = "~sircmpwn";
@ -17,6 +22,10 @@ buildPythonPackage rec {
sha256 = "sha256-058dOEYJDY3jtxH1VkV1CFq5CZTkauSnTWg57DCnNtw="; sha256 = "sha256-058dOEYJDY3jtxH1VkV1CFq5CZTkauSnTWg57DCnNtw=";
}; };
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [ propagatedBuildInputs = [
srht srht
pyyaml pyyaml
@ -28,6 +37,7 @@ buildPythonPackage rec {
''; '';
dontUseSetuptoolsCheck = true; dontUseSetuptoolsCheck = true;
pythonImportsCheck = [ "scmsrht" ]; pythonImportsCheck = [ "scmsrht" ];
meta = with lib; { meta = with lib; {

View file

@ -8,11 +8,16 @@
, factory-boy , factory-boy
, python , python
, unzip , unzip
, pythonOlder
, setuptools
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "todosrht"; pname = "todosrht";
version = "0.74.6"; version = "0.74.6";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromSourcehut { src = fetchFromSourcehut {
owner = "~sircmpwn"; owner = "~sircmpwn";
@ -33,6 +38,10 @@ buildPythonPackage rec {
vendorHash = "sha256-rvfG5F6ez8UM0dYVhKfzwtb7ZEJlaKMBAfKDbo3Aofc="; vendorHash = "sha256-rvfG5F6ez8UM0dYVhKfzwtb7ZEJlaKMBAfKDbo3Aofc=";
} // import ./fix-gqlgen-trimpath.nix { inherit unzip; }); } // import ./fix-gqlgen-trimpath.nix { inherit unzip; });
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [ propagatedBuildInputs = [
srht srht
alembic alembic

View file

@ -35,6 +35,8 @@ stdenv.mkDerivation (finalAttrs: {
postInstall = '' postInstall = ''
install -Dm644 -t $out/lib/udev/rules.d 95-{3,}dscapture.rules install -Dm644 -t $out/lib/udev/rules.d 95-{3,}dscapture.rules
install -Dm444 -t $out/share/applications Cute{3,}DSCapture.desktop
install -Dm444 -t $out/share/icons/hicolor/128x128/apps Cute{3,}DSCapture.png
''; '';
meta = with lib; { meta = with lib; {

View file

@ -67,6 +67,11 @@ buildPerlModule rec {
]; ];
dontWrapGApps = true; dontWrapGApps = true;
postInstall = ''
cp -r share/* $out/share
'';
postFixup = '' postFixup = ''
wrapProgram "$out/bin/pipe-viewer" \ wrapProgram "$out/bin/pipe-viewer" \
--prefix PATH : "${lib.makeBinPath [ ffmpeg wget youtube-dl yt-dlp ]}" --prefix PATH : "${lib.makeBinPath [ ffmpeg wget youtube-dl yt-dlp ]}"

View file

@ -173,6 +173,7 @@ rec {
libpulseaudio libpulseaudio
libsamplerate libsamplerate
libmikmod libmikmod
libthai
libtheora libtheora
libtiff libtiff
pixman pixman

View file

@ -165,7 +165,7 @@ stdenvNoCC.mkDerivation (args // {
components = lib.pipe args.version [ components = lib.pipe args.version [
lib.splitVersion lib.splitVersion
(lib.filter (x: (lib.strings.match "[0-9]+" x) != null)) (lib.filter (x: (lib.strings.match "[0-9]+" x) != null))
(lib.filter (x: (lib.toInt x) < 65535)) # one version component in dotnet has to fit in 16 bits (lib.filter (x: (lib.toIntBase10 x) < 65535)) # one version component in dotnet has to fit in 16 bits
]; ];
in if (lib.length components) == 0 in if (lib.length components) == 0
then null then null

View file

@ -0,0 +1,38 @@
{ appimageTools
, fetchurl
, lib
}:
let
pname = "arduino-ide";
version = "2.2.1";
src = fetchurl {
url = "https://github.com/arduino/arduino-ide/releases/download/${version}/arduino-ide_${version}_Linux_64bit.AppImage";
hash = "sha256-77uS/3ean3dWG/vDHG+ry238hiJlYub7H03f15eJu+I=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit pname version src;
extraInstallCommands = ''
mv $out/bin/{${pname}-${version},${pname}}
install -Dm444 ${appimageContents}/${pname}.desktop -t $out/share/applications/
install -Dm444 ${appimageContents}/${pname}.png -t $out/share/pixmaps/
'';
extraPkgs = pkgs: with pkgs; [ libsecret ];
meta = with lib; {
description = "Open-source electronics prototyping platform";
homepage = "https://www.arduino.cc/en/software";
changelog = "https://github.com/arduino/arduino-ide/releases/tag/${version}";
license = licenses.agpl3Only;
mainProgram = "arduino-ide";
maintainers = with maintainers; [ clerie ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -0,0 +1,26 @@
{ lib
, stdenv
, rustPlatform
, fetchFromGitHub
}:
rustPlatform.buildRustPackage rec {
pname = "cargo-swift";
version = "0.4.0";
src = fetchFromGitHub {
owner = "antoniusnaumann";
repo = "cargo-swift";
rev = "v${version}";
hash = "sha256-dW0/h7uS0BEstiochACIySSKXsz+E6Tj5MaLtdin7gw=";
};
cargoHash = "sha256-LsjDeKfAvgVYM4qYyWq9MoXB4jIh870urrFHpiGCGPc=";
meta = with lib; {
description = "A cargo plugin to easily build Swift packages from Rust code";
homepage = "https://github.com/antoniusnaumann/cargo-swift";
license = with licenses; [ asl20 mit ];
maintainers = with maintainers; [ elliot ];
};
}

View file

@ -16,13 +16,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cpu-x"; pname = "cpu-x";
version = "5.0.1"; version = "5.0.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "X0rg"; owner = "X0rg";
repo = "CPU-X"; repo = "CPU-X";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-g3k9P7EevVeDHvnc1dG8cI4C7xhjrDy7gwdoWj6G6zA="; sha256 = "sha256-tdxIbs5jR4sQHt1ZLUmiAYszP2e5SCMqEFq+eW1k7+s=";
}; };
nativeBuildInputs = [ cmake pkg-config wrapGAppsHook nasm makeWrapper ]; nativeBuildInputs = [ cmake pkg-config wrapGAppsHook nasm makeWrapper ];

View file

@ -0,0 +1,28 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "drone-scp";
version = "1.6.11";
src = fetchFromGitHub {
owner = "appleboy";
repo = "drone-scp";
rev = "v${version}";
hash = "sha256-JCqiYPhuPKDcbg8eo4DFuUVazu+0e0YTnG87NZRARMU=";
};
vendorHash = "sha256-zPpwvU/shSK1bfm0Qc2VjifSzDTpFnsUiogQfQcdY7I=";
# Needs a specific user...
doCheck = false;
meta = with lib; {
description = "Copy files and artifacts via SSH using a binary, docker or Drone CI";
homepage = "https://github.com/appleboy/drone-scp";
license = licenses.mit;
maintainers = with maintainers; [ ambroisie ];
mainProgram = "drone-scp";
};
}

View file

@ -17,16 +17,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "eza"; pname = "eza";
version = "0.16.2"; version = "0.16.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "eza-community"; owner = "eza-community";
repo = "eza"; repo = "eza";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-AqOvhi/26Nl3ex6iJ9DxC/jMdgZ331VdrJTsjBrc490="; hash = "sha256-DD9Ae397i1+rUPSyCSoPn66ZRy3WbbX/ZOIii3J60VU=";
}; };
cargoHash = "sha256-1hZZvXOV6towMVpnlf4P8jZei2pAZTKAfi362RKL+Jo="; cargoHash = "sha256-U0smzRUkJOFKrdW4bHY3OT8/MJ74MH2dFnrPVXzqcXk=";
nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ]; nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
buildInputs = [ zlib ] buildInputs = [ zlib ]

View file

@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "fortune-kind"; pname = "fortune-kind";
version = "0.1.11"; version = "0.1.12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cafkafk"; owner = "cafkafk";
repo = "fortune-kind"; repo = "fortune-kind";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-sk1Gj+QgU9eUjRySHsJTfM/tUcyLdqOxycAdrBPUSmg="; hash = "sha256-1abke8wPvIFTmvEJ83TdfONFPBuJHbgmVHAoKddoTRw=";
}; };
cargoHash = "sha256-u2CwBV2sz2EIqwUR+sJ+xyvAIyoq3ujkx39e/Bq2V8s="; cargoHash = "sha256-SRPhALRGkFZDl23Om/obg1Crd9yNXroN7F/7agobuqw=";
nativeBuildInputs = [ makeBinaryWrapper installShellFiles ]; nativeBuildInputs = [ makeBinaryWrapper installShellFiles ];
buildInputs = lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ]; buildInputs = lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];

View file

@ -27,6 +27,9 @@ stdenv.mkDerivation rec {
doCheck = true; doCheck = true;
# In procedure bytevector-u8-ref: Argument 2 out of range
dontStrip = stdenv.isDarwin;
meta = with lib; { meta = with lib; {
homepage = "https://ngyro.com/software/guile-lzma.html"; homepage = "https://ngyro.com/software/guile-lzma.html";
description = "Guile wrapper for lzma library"; description = "Guile wrapper for lzma library";

View file

@ -16,10 +16,6 @@ appimageTools.wrapType2 rec {
mv $out/bin/{${name},${pname}} mv $out/bin/{${name},${pname}}
''; '';
extraPkgs = pkgs: with pkgs; [
libthai
];
meta = with lib; { meta = with lib; {
description = "A VR coworking platform"; description = "A VR coworking platform";
homepage = "https://immersed.com"; homepage = "https://immersed.com";

2079
pkgs/by-name/la/lazymc/Cargo.lock generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,42 @@
{
lib
, rustPlatform
, fetchFromGitHub
, stdenv
, darwin
, nix-update-script
}:
rustPlatform.buildRustPackage rec {
pname = "lazymc";
version = "0.2.10";
src = fetchFromGitHub {
owner = "timvisee";
repo = "lazymc";
rev = "v${version}";
hash = "sha256-IObLjxuMJDjZ3M6M1DaPvmoRqAydbLKdpTQ3Vs+B9Oo=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"minecraft-protocol-0.1.0" = "sha256-vSFS1yVxTBSpx/ZhzA3EjcZyOWHbmoGARl0eMn1fJ+4=";
};
};
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreServices
];
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Remote wake-up daemon for minecraft servers";
homepage = "https://github.com/timvisee/lazymc";
license = licenses.gpl3Only;
maintainers = with maintainers; [ h7x4 dandellion ];
platforms = platforms.unix;
mainProgram = "lazymc";
};
}

View file

@ -0,0 +1,27 @@
{ lib
, stdenv
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "mev-boost";
version = "1.6";
src = fetchFromGitHub {
owner = "flashbots";
repo = "mev-boost";
rev = "v${version}";
hash = "sha256-vzgX9irpI5i85bohppyL5KWQuf71SryRu1gkhWSCVKk=";
};
vendorHash = "sha256-xw3xVbgKUIDXu4UQD5CGftON8E4o1u2FcrPo3n6APBE=";
meta = with lib; {
description = "Ethereum block-building middleware";
homepage = "https://github.com/flashbots/mev-boost";
license = licenses.mit;
mainProgram = "mev-boost";
maintainers = with maintainers; [ ekimber ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,34 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "rita";
version = "4.8.0";
src = fetchFromGitHub {
owner = "activecm";
repo = "rita";
rev = "refs/tags/v${version}";
hash = "sha256-w86fGRH9pIqONgvdYpsHDNkE0BAuhzArET+NLIpRg/w=";
};
vendorHash = "sha256-KyC7VPgWlgKD6KWWRo3hFQHl2HjTub+VSMtJCpYE6Zk=";
ldflags = [
"-s"
"-w"
"-X=github.com/activecm/rita/config.Version=${version}"
"-X=github.com/activecm/rita/config.ExactVersion=${version}"
];
meta = with lib; {
description = "Framework for detecting command and control communication through network traffic analysis";
homepage = "https://github.com/activecm/rita";
changelog = "https://github.com/activecm/rita/releases/tag/v${version}";
license = licenses.gpl3Only;
maintainers = with maintainers; [ fab ];
mainProgram = "rita";
};
}

View file

@ -2,12 +2,12 @@
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation rec {
pname = "cldr-annotations"; pname = "cldr-annotations";
version = "43.0"; version = "44.0";
src = fetchzip { src = fetchzip {
url = "https://unicode.org/Public/cldr/${lib.versions.major version}/cldr-common-${version}.zip"; url = "https://unicode.org/Public/cldr/${lib.versions.major version}/cldr-common-${version}.zip";
stripRoot = false; stripRoot = false;
hash = "sha256-L8ikzRpSw4mDCV79TiUqhPHWC0PmGi4i4He0OAB54R0="; hash = "sha256-oK+NlzuRF45laEMJKhNDzr12RF4CHIfDFNBFsIjJh1I=";
}; };
installPhase = '' installPhase = ''

View file

@ -1,5 +1,5 @@
let let
validThemes = [ "bat" "bottom" "btop" "grub" "hyprland" "k9s" "kvantum" "lazygit" "plymouth" "refind" "rofi" "waybar" ]; validThemes = [ "bat" "bottom" "btop" "grub" "hyprland" "k9s" "kvantum" "lazygit" "plymouth" "qt5ct" "refind" "rofi" "waybar" ];
in in
{ fetchFromGitHub { fetchFromGitHub
, lib , lib
@ -88,6 +88,14 @@ let
hash = "sha256-quBSH8hx3gD7y1JNWAKQdTk3CmO4t1kVo4cOGbeWlNE="; hash = "sha256-quBSH8hx3gD7y1JNWAKQdTk3CmO4t1kVo4cOGbeWlNE=";
}; };
qt5ct = fetchFromGitHub {
name = "qt5ct";
owner = "catppuccin";
repo = "qt5ct";
rev = "89ee948e72386b816c7dad72099855fb0d46d41e";
hash = "sha256-t/uyK0X7qt6qxrScmkTU2TvcVJH97hSQuF0yyvSO/qQ=";
};
refind = fetchFromGitHub { refind = fetchFromGitHub {
name = "refind"; name = "refind";
owner = "catppuccin"; owner = "catppuccin";
@ -174,6 +182,10 @@ stdenvNoCC.mkDerivation {
cp ${sources.plymouth}/themes/catppuccin-${variant}/* $out/share/plymouth/themes/catppuccin-${variant} cp ${sources.plymouth}/themes/catppuccin-${variant}/* $out/share/plymouth/themes/catppuccin-${variant}
sed -i 's:\(^ImageDir=\)/usr:\1'"$out"':' $out/share/plymouth/themes/catppuccin-${variant}/catppuccin-${variant}.plymouth sed -i 's:\(^ImageDir=\)/usr:\1'"$out"':' $out/share/plymouth/themes/catppuccin-${variant}/catppuccin-${variant}.plymouth
'' + lib.optionalString (lib.elem "qt5ct" themeList) ''
mkdir -p $out/qt5ct
cp ${sources.qt5ct}/themes/Catppuccin-"$capitalizedVariant".conf $out/qt5ct/
'' + lib.optionalString (lib.elem "rofi" themeList) '' '' + lib.optionalString (lib.elem "rofi" themeList) ''
mkdir -p $out/rofi mkdir -p $out/rofi
cp ${sources.rofi}/basic/.local/share/rofi/themes/catppuccin-${variant}.rasi $out/rofi/ cp ${sources.rofi}/basic/.local/share/rofi/themes/catppuccin-${variant}.rasi $out/rofi/

View file

@ -29,17 +29,20 @@ let
cryptography cryptography
pynacl pynacl
netifaces netifaces
netaddr
ifaddr
qrcode
]); ]);
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "warpinator"; pname = "warpinator";
version = "1.6.4"; version = "1.8.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxmint"; owner = "linuxmint";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-BKptTQbSBTQyc5V6WWdsPdC76sH0CFMXOyahfRmvQzc="; hash = "sha256-dxbs2Qq1Ix04yIA587tntLJ3W/pnA0wTiQ4BB5GCTR0=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -60,6 +63,7 @@ stdenv.mkDerivation rec {
]; ];
mesonFlags = [ mesonFlags = [
"-Dbundle-grpc=false"
"-Dbundle-zeroconf=false" "-Dbundle-zeroconf=false"
]; ];

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