Merge remote-tracking branch 'origin/master' into staging-next

This commit is contained in:
K900 2024-10-24 09:28:51 +03:00
commit dee94df6f2
175 changed files with 2392 additions and 1893 deletions

View File

@ -732,7 +732,7 @@ writeShellApplication {
## `symlinkJoin` {#trivial-builder-symlinkJoin}
This can be used to put many derivations into the same directory structure. It works by creating a new derivation and adding symlinks to each of the paths listed. It expects two arguments, `name`, and `paths`. `name` is the name used in the Nix store path for the created derivation. `paths` is a list of paths that will be symlinked. These paths can be to Nix store derivations or any other subdirectory contained within.
This can be used to put many derivations into the same directory structure. It works by creating a new derivation and adding symlinks to each of the paths listed. It expects two arguments, `name`, and `paths`. `name` (or alternatively `pname` and `version`) is the name used in the Nix store path for the created derivation. `paths` is a list of paths that will be symlinked. These paths can be to Nix store derivations or any other subdirectory contained within.
Here is an example:
```nix
# adds symlinks of hello and stack to current build and prints "links added"

View File

@ -9431,6 +9431,13 @@
github = "istoph";
githubId = 114227790;
};
itepastra = {
name = "Noa Aarts";
github = "itepastra";
githubId = 27058689;
email = "itepastra@gmail.com";
keys = [ { fingerprint = "E681 4CAF 06AE B076 D55D 3E32 A16C DCBF 1472 541F"; } ];
};
ius = {
email = "j.de.gram@gmail.com";
name = "Joerie de Gram";
@ -14484,7 +14491,7 @@
};
moraxyc = {
name = "Moraxyc Xu";
email = "nix@qaq.li";
email = "i@qaq.li";
github = "Moraxyc";
githubId = 69713071;
};
@ -19604,10 +19611,11 @@
};
shadowrz = {
email = "shadowrz+nixpkgs@disroot.org";
matrix = "@ShadowRZ:matrixim.cc";
matrix = "@shadowrz:nixos.dev";
github = "ShadowRZ";
githubId = 23130178;
name = "";
keys = [ { fingerprint = "3237 D49E 8F81 5A45 2133 64EA 4FF3 5790 F405 53A9"; } ];
};
shahrukh330 = {
email = "shahrukh330@gmail.com";

View File

@ -90,16 +90,30 @@ Hello, world!
Most pre-built executables will not work on NixOS. There are two notable
exceptions: flatpaks and AppImages. For flatpaks see the [dedicated
section](#module-services-flatpak). AppImages will not run "as-is" on NixOS.
First you need to install `appimage-run`: add to `/etc/nixos/configuration.nix`
section](#module-services-flatpak). AppImages can run "as-is" on NixOS.
First you need to enable AppImage support: add to `/etc/nixos/configuration.nix`
```nix
{
environment.systemPackages = [ pkgs.appimage-run ];
programs.appimage.enable = true;
programs.appimage.binfmt = true;
}
```
Then instead of running the AppImage "as-is", run `appimage-run foo.appimage`.
Then you can run the AppImage "as-is" or with `appimage-run foo.appimage`.
If there are shared libraries missing add them with
```nix
{
programs.appimage.package = pkgs.appimage-run.override {
extraPkgs = pkgs: [
# missing libraries here, e.g.: `pkgs.libepoxy`
];
}
}
```
To make other pre-built executables work on NixOS, you need to package them
with Nix and special helpers like `autoPatchelfHook` or `buildFHSEnv`. See

View File

@ -192,7 +192,7 @@
- [Fedimint](https://github.com/fedimint/fedimint), a module based system for building federated applications (Federated E-Cash Mint). Available as [services.fedimintd](#opt-services.fedimintd).
- [Zapret](https://github.com/bol-van/zapret), a DPI bypass tool. Available as [services.zapret](option.html#opt-services.zapret).
- [Zapret](https://github.com/bol-van/zapret), a DPI bypass tool. Available as [services.zapret](options.html#opt-services.zapret).
- [tiny-dfr](https://github.com/WhatAmISupposedToPutHere/tiny-dfr), a dynamic function row daemon for the Touch Bar found on some Apple laptops. Available as [hardware.apple.touchBar.enable](options.html#opt-hardware.apple.touchBar.enable).
@ -719,6 +719,9 @@
- Mikutter was removed because the package was broken and had no maintainers.
- The new option `services.getty.autologinOnce` was added to limit the automatic login to once per boot and on the first tty only.
When using full disk encryption, this option allows to unlock the system without retyping the passphrase while keeping the other ttys protected.
- Gollum was upgraded to major version 6. Read their [migration notes](https://github.com/gollum/gollum/wiki/6.0-Release-Notes).
- The hooks `yarnConfigHook` and `yarnBuildHook` were added. These should replace `yarn2nix.mkYarnPackage` and other `yarn2nix` related tools. The motivation to get rid of `yarn2nix` tools is the fact that they are too complex and hard to maintain, and they rely upon too much Nix evaluation which is problematic if import-from-derivation is not allowed (see more details at [#296856](https://github.com/NixOS/nixpkgs/issues/296856). The transition from `mkYarnPackage` to `yarn{Config,Build}Hook` is tracked at [#324246](https://github.com/NixOS/nixpkgs/issues/324246).

View File

@ -36,7 +36,9 @@ let
} // cfg.extraSettings;
serverSettingsString = builtins.toJSON (lib.filterAttrsRecursive (n: v: v != null) serverSettings);
serverSettingsFile = pkgs.writeText "server-settings.json" serverSettingsString;
serverAdminsFile = pkgs.writeText "server-adminlist.json" (builtins.toJSON cfg.admins);
playerListOption = name: list:
lib.optionalString (list != [])
"--${name}=${pkgs.writeText "${name}.json" (builtins.toJSON list)}";
modDir = pkgs.factorio-utils.mkModDirDrv cfg.mods cfg.mods-dat;
in
{
@ -59,6 +61,30 @@ in
'';
};
allowedPlayers = lib.mkOption {
# I would personally prefer for `allowedPlayers = []` to mean "no-one
# can connect" but Factorio seems to ignore empty whitelists (even with
# --use-server-whitelist) so we can't implement that behaviour, so we
# might as well match theirs.
type = lib.types.listOf lib.types.str;
default = [];
example = [ "Rseding91" "Oxyd" ];
description = ''
If non-empty, only these player names are allowed to connect. The game
will not be able to save any changes made in-game with the /whitelist
console command, though they will still take effect until the server
is restarted.
If empty, the whitelist defaults to open, but can be managed with the
in-game /whitelist console command (see: /help whitelist), which will
cause changes to be saved to the game's state directory (see also:
`stateDirName`).
'';
};
# Opting not to include the banlist in addition the the whitelist because:
# - banlists are not as often known in advance,
# - losing banlist changes on restart seems much more of a headache.
admins = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [];
@ -177,7 +203,7 @@ in
extraSettings = lib.mkOption {
type = lib.types.attrs;
default = {};
example = { admins = [ "username" ];};
example = { max_players = 64; };
description = ''
Extra game configuration that will go into server-settings.json
'';
@ -298,7 +324,9 @@ in
}"
(lib.optionalString cfg.loadLatestSave "--start-server-load-latest")
(lib.optionalString (cfg.mods != []) "--mod-directory=${modDir}")
(lib.optionalString (cfg.admins != []) "--server-adminlist=${serverAdminsFile}")
(playerListOption "server-adminlist" cfg.admins)
(playerListOption "server-whitelist" cfg.allowedPlayers)
(lib.optionalString (cfg.allowedPlayers != []) "--use-server-whitelist")
];
# Sandboxing

View File

@ -26,12 +26,15 @@ let
ifaceArg = concatStringsSep " -N " (map (i: "-i${i}") (splitString " " iface));
driverArg = optionalString (suppl.driver != null) "-D${suppl.driver}";
bridgeArg = optionalString (suppl.bridge!="") "-b${suppl.bridge}";
confFileArg = optionalString (suppl.configFile.path!=null) "-c${suppl.configFile.path}";
extraConfFile = pkgs.writeText "supplicant-extra-conf-${replaceStrings [" "] ["-"] iface}" ''
${optionalString suppl.userControlled.enable "ctrl_interface=DIR=${suppl.userControlled.socketDir} GROUP=${suppl.userControlled.group}"}
${optionalString suppl.configFile.writable "update_config=1"}
${suppl.extraConf}
'';
confArgs = escapeShellArgs
(if suppl.configFile.path == null
then [ "-c${extraConfFile}" ]
else [ "-c${suppl.configFile.path}" "-I${extraConfFile}" ]);
in
{ description = "Supplicant ${iface}${optionalString (iface=="WLAN"||iface=="LAN") " %I"}";
wantedBy = [ "multi-user.target" ] ++ deps;
@ -51,7 +54,7 @@ let
''}
'';
serviceConfig.ExecStart = "${pkgs.wpa_supplicant}/bin/wpa_supplicant -s ${driverArg} ${confFileArg} -I${extraConfFile} ${bridgeArg} ${suppl.extraCmdArgs} ${if (iface=="WLAN"||iface=="LAN") then "-i%I" else (if (iface=="DBUS") then "-u" else ifaceArg)}";
serviceConfig.ExecStart = "${pkgs.wpa_supplicant}/bin/wpa_supplicant -s ${driverArg} ${confArgs} ${bridgeArg} ${suppl.extraCmdArgs} ${if (iface=="WLAN"||iface=="LAN") then "-i%I" else (if (iface=="DBUS") then "-u" else ifaceArg)}";
};

View File

@ -7,14 +7,26 @@ let
baseArgs = [
"--login-program" "${cfg.loginProgram}"
] ++ optionals (cfg.autologinUser != null) [
] ++ optionals (cfg.autologinUser != null && !cfg.autologinOnce) [
"--autologin" cfg.autologinUser
] ++ optionals (cfg.loginOptions != null) [
"--login-options" cfg.loginOptions
] ++ cfg.extraArgs;
gettyCmd = args:
"@${pkgs.util-linux}/sbin/agetty agetty ${escapeShellArgs baseArgs} ${args}";
"${lib.getExe' pkgs.util-linux "agetty"} ${escapeShellArgs baseArgs} ${args}";
autologinScript = ''
otherArgs="--noclear --keep-baud $TTY 115200,38400,9600 $TERM";
${lib.optionalString cfg.autologinOnce ''
autologged="/run/agetty.autologged"
if test "$TTY" = tty1 && ! test -f "$autologged"; then
touch "$autologged"
exec ${gettyCmd "$otherArgs --autologin ${cfg.autologinUser}"}
fi
''}
exec ${gettyCmd "$otherArgs"}
'';
in
@ -40,6 +52,16 @@ in
'';
};
autologinOnce = mkOption {
type = types.bool;
default = false;
description = ''
If enabled the automatic login will only happen in the first tty
once per boot. This can be useful to avoid retyping the account
password on systems with full disk encrypted.
'';
};
loginProgram = mkOption {
type = types.path;
default = "${pkgs.shadow}/bin/login";
@ -106,9 +128,11 @@ in
systemd.services."getty@" =
{ serviceConfig.ExecStart = [
"" # override upstream default with an empty ExecStart
(gettyCmd "--noclear --keep-baud %I 115200,38400,9600 $TERM")
# override upstream default with an empty ExecStart
""
(pkgs.writers.writeDash "getty" autologinScript)
];
environment.TTY = "%I";
restartIfChanged = false;
};

View File

@ -282,6 +282,7 @@ in
ExecStart = lib.getExe cfg.package;
EnvironmentFile = mkIf (cfg.secretsFile != null) cfg.secretsFile;
StateDirectory = "immich";
SyslogIdentifier = "immich";
RuntimeDirectory = "immich";
User = cfg.user;
Group = cfg.group;

View File

@ -18,16 +18,21 @@ makeTest {
meta = with maintainers; {
maintainers = [ urbas ];
};
nodes.machine = { ... }:
nodes.machine = { lib, pkgs, ... }:
{
imports = [ ../modules/profiles/headless.nix ../modules/virtualisation/amazon-init.nix ];
services.openssh.enable = true;
system.switch.enable = true;
networking.hostName = "";
environment.etc."ec2-metadata/user-data" = {
text = ''
#!/usr/bin/bash
echo successful > /tmp/evidence
# Emulate running nixos-rebuild switch, just without any building.
# https://github.com/nixos/nixpkgs/blob/4c62505847d88f16df11eff3c81bf9a453a4979e/nixos/modules/virtualisation/amazon-init.nix#L55
/run/current-system/bin/switch-to-configuration test
'';
};
};

View File

@ -49,8 +49,7 @@ stdenv.mkDerivation rec {
'';
meta = with lib; {
description = ''A real-time graphical programming environment for
audio, video, and graphical processing'';
description = ''A real-time graphical programming environment for audio, video, and graphical processing'';
homepage = "http://puredata.info";
license = licenses.bsd3;
platforms = platforms.linux ++ platforms.darwin;

View File

@ -36,10 +36,12 @@ stdenv.mkDerivation rec {
doInstallCheck = true;
installCheckPhase = ''(
set -x
test -e $out/bin/setBfreeUI
)'';
installCheckPhase = ''
(
set -x;
test -e $out/bin/setBfreeUI
)
'';
enableParallelBuilding = true;

View File

@ -6,19 +6,19 @@
buildGoModule rec {
pname = "optimism";
version = "1.9.1";
version = "1.9.4";
src = fetchFromGitHub {
owner = "ethereum-optimism";
repo = "optimism";
rev = "op-node/v${version}";
hash = "sha256-PlwpN8P1t0NNIU+Ys50dIXmfUQFIY9e1tLABiVK0JQo=";
hash = "sha256-pAmstWA6up0CvHEQW5RnDYumdwKP0i6fpz59EYTBsmU=";
fetchSubmodules = true;
};
subPackages = [ "op-node/cmd" "op-proposer/cmd" "op-batcher/cmd" ];
vendorHash = "sha256-n1uJ/dkEjjsTdmL7TeHU4PKnBhiRrqCNtcGxK70Q0c4=";
vendorHash = "sha256-Sr9OECXbRa4SPe3owMto2EbnAIygeIEmZv73hvA6iww=";
buildInputs = [
libpcap

View File

@ -99,8 +99,8 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://libresprite.github.io/";
description = "Animated sprite editor & pixel art tool, fork of Aseprite";
license = licenses.gpl2Only;
longDescription =
''LibreSprite is a program to create animated sprites. Its main features are:
longDescription = ''
LibreSprite is a program to create animated sprites. Its main features are:
- Sprites are composed by layers & frames (as separated concepts).
- Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale.

View File

@ -43,25 +43,25 @@ rec {
meta = {
description = "WYSIWYW editing platform with special features for scientists";
longDescription =
'' GNU TeXmacs is a free wysiwyw (what you see is what you want)
editing platform with special features for scientists. The software
aims to provide a unified and user friendly framework for editing
structured documents with different types of content (text,
graphics, mathematics, interactive content, etc.). The rendering
engine uses high-quality typesetting algorithms so as to produce
professionally looking documents, which can either be printed out or
presented from a laptop.
longDescription = ''
GNU TeXmacs is a free wysiwyw (what you see is what you want)
editing platform with special features for scientists. The software
aims to provide a unified and user friendly framework for editing
structured documents with different types of content (text,
graphics, mathematics, interactive content, etc.). The rendering
engine uses high-quality typesetting algorithms so as to produce
professionally looking documents, which can either be printed out or
presented from a laptop.
The software includes a text editor with support for mathematical
formulas, a small technical picture editor and a tool for making
presentations from a laptop. Moreover, TeXmacs can be used as an
interface for many external systems for computer algebra, numerical
analysis, statistics, etc. New presentation styles can be written
by the user and new features can be added to the editor using the
Scheme extension language. A native spreadsheet and tools for
collaborative authoring are planned for later.
'';
The software includes a text editor with support for mathematical
formulas, a small technical picture editor and a tool for making
presentations from a laptop. Moreover, TeXmacs can be used as an
interface for many external systems for computer algebra, numerical
analysis, statistics, etc. New presentation styles can be written
by the user and new features can be added to the editor using the
Scheme extension language. A native spreadsheet and tools for
collaborative authoring are planned for later.
'';
homepage = "http://texmacs.org/";
license = lib.licenses.gpl2Plus;
};

View File

@ -18756,5 +18756,17 @@ final: prev:
meta.homepage = "https://github.com/jhradilek/vim-snippets/";
};
NotebookNavigator-nvim = buildVimPlugin {
pname = "NotebookNavigator.nvim";
version = "2024-05-23";
src = fetchFromGitHub {
owner = "GCBallesteros";
repo = "NotebookNavigator.nvim";
rev = "20cb6f72939194e32eb3060578b445e5f2e7ae8b";
sha256 = "sha256-+FLHJ1tfIplXhO/6kajdcDBTIsNYN9kCOR9IdhXL6d4=";
};
meta.homepage = "https://github.com/GCBallesteros/NotebookNavigator.nvim";
};
}

View File

@ -1527,6 +1527,10 @@ in
nvimRequireCheck = "null-ls";
};
NotebookNavigator-nvim = super.NotebookNavigator-nvim.overrideAttrs {
nvimRequireCheck = "notebook-navigator";
};
null-ls-nvim = super.null-ls-nvim.overrideAttrs {
dependencies = with self; [ plenary-nvim ];
nvimRequireCheck = "null-ls";

View File

@ -19,6 +19,7 @@ https://github.com/Yggdroot/LeaderF/,,
https://github.com/Valloric/MatchTagAlways/,,
https://github.com/numToStr/Navigator.nvim/,,
https://github.com/overcache/NeoSolarized/,,
https://github.com/GCBallesteros/NotebookNavigator.nvim/,HEAD,
https://github.com/chrisbra/NrrwRgn/,,
https://github.com/vim-scripts/PreserveNoEOL/,,
https://github.com/henriklovhaug/Preview.nvim/,HEAD,

View File

@ -16,18 +16,18 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Optical character recognition (OCR) program & library";
longDescription =
'' GNU Ocrad is an OCR (Optical Character Recognition) program based on
a feature extraction method. It reads images in pbm (bitmap), pgm
(greyscale) or ppm (color) formats and produces text in byte (8-bit)
or UTF-8 formats.
longDescription = ''
GNU Ocrad is an OCR (Optical Character Recognition) program based on
a feature extraction method. It reads images in pbm (bitmap), pgm
(greyscale) or ppm (color) formats and produces text in byte (8-bit)
or UTF-8 formats.
Also includes a layout analyser able to separate the columns or
blocks of text normally found on printed pages.
Also includes a layout analyser able to separate the columns or
blocks of text normally found on printed pages.
Ocrad can be used as a stand-alone console application, or as a
backend to other programs.
'';
Ocrad can be used as a stand-alone console application, or as a
backend to other programs.
'';
license = licenses.gpl3Plus;
maintainers = with maintainers; [ pSub ];

View File

@ -55,13 +55,13 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Fast and simple image viewer";
longDescription =
'' Viewnior is insipred by big projects like Eye of Gnome, because of it's
usability and richness,and by GPicView, because of it's lightweight design and
minimal interface. So here comes Viewnior - small and light, with no compromise
with the quality of it's functions. The program is made with better integration
in mind (follows Gnome HIG2).
'';
longDescription = ''
Viewnior is insipred by big projects like Eye of Gnome, because of it's
usability and richness,and by GPicView, because of it's lightweight design and
minimal interface. So here comes Viewnior - small and light, with no compromise
with the quality of it's functions. The program is made with better integration
in mind (follows Gnome HIG2).
'';
license = licenses.gpl3;
homepage = "https://siyanpanayotov.com/project/viewnior/";
maintainers = with maintainers; [ smironov artturin ];

View File

@ -9,9 +9,10 @@ mkDerivation {
homepage = "https://apps.kde.org/picmi/";
description = "Nonogram game";
mainProgram = "picmi";
longDescription = ''The goal is to reveal the hidden pattern in the board by coloring or
longDescription = ''
The goal is to reveal the hidden pattern in the board by coloring or
leaving blank the cells in a grid according to numbers given at the side of the grid.
'';
'';
maintainers = with maintainers; [ freezeboy ];
license = licenses.gpl2Plus;
platforms = platforms.linux;

View File

@ -67,6 +67,7 @@ let
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [
khaneliman
timstott
savannidgerinel
sebtm

View File

@ -73,7 +73,10 @@ stdenv.mkDerivation {
description = "1Password command-line tool";
homepage = "https://developer.1password.com/docs/cli/";
downloadPage = "https://app-updates.agilebits.com/product_history/CLI2";
maintainers = with maintainers; [ joelburget ];
maintainers = with maintainers; [
joelburget
khaneliman
];
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
inherit mainProgram platforms;

View File

@ -18,13 +18,13 @@ let
in
stdenv.mkDerivation rec {
pname = "makehuman";
version = "1.2.0";
version = "1.3.0";
source = fetchFromGitHub {
owner = "makehumancommunity";
repo = "makehuman";
rev = "v${version}";
hash = "sha256-mCv6H0B7b4uxozpNHkKsG+Is2H0QYEJnnzKCHixhBpY=";
hash = "sha256-x0v/SkwtOl1lkVi2TRuIgx2Xgz4JcWD3He7NhU44Js4=";
name = "${pname}-source";
};
@ -36,39 +36,6 @@ stdenv.mkDerivation rec {
name = "${pname}-assets-source";
};
patches = [
# work with numpy>=1.24
(fetchpatch {
name = "fix-compile_targets.py-when-using-numpy-1.24.0-or-newer";
url = "https://patch-diff.githubusercontent.com/raw/makehumancommunity/makehuman/pull/220.patch";
hash = "sha256-ip7U83cCBrl+4gM1GZ2QQIER5Qur6HRu3a/TnHqk//g=";
})
# crash related to collections.Callable -> collections.abc.Callable
(fetchpatch {
name = "remove-unnecessary-compatibility-test";
url = "https://patch-diff.githubusercontent.com/raw/makehumancommunity/makehuman/pull/188.patch";
hash = "sha256-HGrk3n7rhV4YgK8mNUdfHwQl8dFT8yuzjxorvwfMmJw=";
})
# some OpenGL issue causing blank windows on recent Qt
(fetchpatch {
name = "qt-opengl-update-from-qglwidget-to-qopenglwidget-to-fix-blank";
url = "https://patch-diff.githubusercontent.com/raw/makehumancommunity/makehuman/pull/197.patch";
hash = "sha256-fEqBwg1Jd36nKWIT9XPr6Buj1N3AmTQg2LBaoX3eTxw=";
})
# multisampling issue
(fetchpatch {
name = "switch-default-for-multisampling-and-disable-sample-buffers";
url = "https://github.com/makehumancommunity/makehuman/commit/c47b884028a24eb190d097e7523a3059e439cb6f.patch";
hash = "sha256-tknQHX9qQYH15gyOLNhxfO3bsFVIv3Z1F7ZXD1IT1h4=";
})
# PyQt >= 5.12
(fetchpatch {
name = "fix-scrolling-issue-on-pyqt5>=5.12";
url = "https://github.com/makehumancommunity/makehuman/commit/02c4269a2d4c57f68159fe8f437a8b1978b99099.patch";
hash = "sha256-yR5tZcELX0N83PW/vS6yB5xKoZcHhVp48invlu7quWM=";
})
];
srcs = [
source
assets

View File

@ -1,4 +1,5 @@
{
pkgs,
mkDerivation,
lib,
callPackage,
@ -17,15 +18,17 @@
libevdev,
makeDesktopItem,
fetchurl,
fetchpatch,
wineWowPackages,
}: let
version = "2022.3.0";
version = "2023.3.0";
aruco = callPackage ./aruco.nix {};
# license.txt inside the zip file is MIT
xplaneSdk = fetchzip {
url = "https://developer.x-plane.com/wp-content/plugins/code-sample-generation/sample_templates/XPSDK303.zip";
sha256 = "11wqjsr996c5qhiv2djsd55gc373a9qcq30dvc6rhzm0fys42zba";
url = "https://developer.x-plane.com/wp-content/plugins/code-sample-generation/sdk_zip_files/XPSDK401.zip";
hash = "sha256-tUT9yV1949QVr5VebU/7esg7wwWkyak2TSA/kQSrbeo=";
};
in
mkDerivation {
@ -36,19 +39,30 @@ in
owner = "opentrack";
repo = "opentrack";
rev = "opentrack-${version}";
sha256 = "sha256-8gpNORTJclYUYp57Vw/0YO3XC9Idurt0a79fhqx0+mo=";
hash = "sha256-C0jLS55DcLJh/e5yM8kLG7fhhKvBNllv5HkfCWRIfc4=";
};
patches = [
# https://github.com/opentrack/opentrack/pull/1754
(fetchpatch {
url = "https://github.com/opentrack/opentrack/commit/d501d7e0b237ed0c305525788b423d842ffa356d.patch";
hash = "sha256-XMGHV78vt/Xn3hS+4V//pqtsdBQCfJPjIXxfwtdXX+Q=";
})
];
nativeBuildInputs = [cmake pkg-config ninja copyDesktopItems];
buildInputs = [qtbase qttools opencv4 procps eigen libXdmcp libevdev aruco];
buildInputs = [qtbase qttools opencv4 procps eigen libXdmcp libevdev aruco]
++ lib.optionals pkgs.stdenv.targetPlatform.isx86_64 [ wineWowPackages.stable ];
env.NIX_CFLAGS_COMPILE = "-Wall -Wextra -Wpedantic -ffast-math -O3";
dontWrapQtApps = true;
cmakeFlags = [
"-GNinja"
"-DCMAKE_BUILD_TYPE=Release"
"-DSDK_ARUCO_LIBPATH=${aruco}/lib/libaruco.a"
"-DSDK_XPLANE=${xplaneSdk}"
];
] ++ lib.optionals pkgs.stdenv.targetPlatform.isx86_64 [ "-DSDK_WINE=ON" ];
postInstall = ''
wrapQtApp $out/bin/opentrack
@ -60,7 +74,7 @@ in
exec = "opentrack";
icon = fetchurl {
url = "https://github.com/opentrack/opentrack/raw/opentrack-${version}/gui/images/opentrack.png";
sha256 = "0d114zk78f7nnrk89mz4gqn7yk3k71riikdn29w6sx99h57f6kgn";
hash = "sha256-9k3jToEpdW14ErbNGHM4c0x/LH7k14RmtvY4dOYnITQ=";
};
desktopName = name;
genericName = "Head tracking software";

View File

@ -116,7 +116,7 @@ buildPythonApplication rec {
];
# check phase uses the output bin, which is not possible when cross-compiling
doCheck = stdenv.buildPlatform == stdenv.hostPlatform;
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
checkPhase = ''
runHook preCheck

View File

@ -34,16 +34,16 @@ stdenv.mkDerivation rec {
meta = {
description = "Lexical database for the English language";
longDescription =
'' WordNet® is a large lexical database of English. Nouns, verbs,
adjectives and adverbs are grouped into sets of cognitive synonyms
(synsets), each expressing a distinct concept. Synsets are
interlinked by means of conceptual-semantic and lexical relations.
The resulting network of meaningfully related words and concepts can
be navigated with the browser. WordNet is also freely and publicly
available for download. WordNet's structure makes it a useful tool
for computational linguistics and natural language processing.
'';
longDescription = ''
WordNet® is a large lexical database of English. Nouns, verbs,
adjectives and adverbs are grouped into sets of cognitive synonyms
(synsets), each expressing a distinct concept. Synsets are
interlinked by means of conceptual-semantic and lexical relations.
The resulting network of meaningfully related words and concepts can
be navigated with the browser. WordNet is also freely and publicly
available for download. WordNet's structure makes it a useful tool
for computational linguistics and natural language processing.
'';
homepage = "https://wordnet.princeton.edu/";
license = {

View File

@ -29,7 +29,7 @@ buildGoModule rec {
doCheck = false; # requires docker, container-diff (unpackaged yet)
postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
for shell in bash fish zsh; do
$out/bin/executor completion $shell > executor.$shell
installShellCompletion executor.$shell

View File

@ -29,7 +29,7 @@ buildGoModule rec {
'';
doCheck = true;
postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd kubeshark \
--bash <($out/bin/kubeshark completion bash) \
--fish <($out/bin/kubeshark completion fish) \

View File

@ -40,7 +40,7 @@ buildGoModule rec {
'';
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd vela \
--bash <($out/bin/vela completion bash) \
--zsh <($out/bin/vela completion zsh)

View File

@ -117,7 +117,7 @@ let
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
'';
doInstallCheck = stdenv.hostPlatform == stdenv.buildPlatform;
doInstallCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
# In particular, this detects missing python imports in some of the tools.
postFixup = let
# TODO: python is a script, so it doesn't work as interpreter on darwin

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
"-DENABLE_TESTS=${if doCheck then "ON" else "OFF"}"
];
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
nativeCheckInputs = [ check ];
meta = with lib; {

View File

@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
"kmymoney/plugins/woob/interface/kmymoneywoob.py"
'';
doInstallCheck = stdenv.hostPlatform == stdenv.buildPlatform;
doInstallCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
nativeInstallCheckInputs = [ xvfb-run ];
installCheckPhase =
lib.optionalString doInstallCheck ''

View File

@ -16,14 +16,14 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Amateur radio logging program";
longDescription =
'' Xlog is an amateur radio logging program.
It supports cabrillo, ADIF, trlog (format also used by tlf),
and EDI (ARRL VHF/UHF contest format) and can import twlog, editest and OH1AA logbook files.
Xlog is able to do DXCC lookups and will display country information, CQ and ITU zone,
location in latitude and longitude and distance and heading in kilometers or miles,
both for short and long path.
'';
longDescription = ''
Xlog is an amateur radio logging program.
It supports cabrillo, ADIF, trlog (format also used by tlf),
and EDI (ARRL VHF/UHF contest format) and can import twlog, editest and OH1AA logbook files.
Xlog is able to do DXCC lookups and will display country information, CQ and ITU zone,
location in latitude and longitude and distance and heading in kilometers or miles,
both for short and long path.
'';
homepage = "https://www.nongnu.org/xlog";
maintainers = [ maintainers.mafo ];
license = licenses.gpl3;

View File

@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
description = "sets the X root window to an image of the Earth";
mainProgram = "xearth";
homepage = "https://xearth.org";
longDescription =
'' Xearth sets the X root window to an image of the Earth, as seen from your favorite vantage point in space,
correctly shaded for the current position of the Sun.
By default, xearth updates the displayed image every five minutes.
'';
longDescription = ''
Xearth sets the X root window to an image of the Earth, as seen from your favorite vantage point in space,
correctly shaded for the current position of the Sun.
By default, xearth updates the displayed image every five minutes.
'';
maintainers = [ maintainers.mafo ];
license = {
fullName = "xearth license";

View File

@ -96,8 +96,7 @@ stdenv.mkDerivation rec {
doCheck = false;
meta = with lib; {
description = ''Basic Local Alignment Search Tool (BLAST) finds regions of
similarity between biological sequences'';
description = ''Basic Local Alignment Search Tool (BLAST) finds regions of similarity between biological sequences'';
homepage = "https://blast.ncbi.nlm.nih.gov/Blast.cgi";
license = licenses.publicDomain;

View File

@ -43,9 +43,11 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "Computational Morphometry Toolkit";
mainProgram = "cmtk";
longDescription = ''A software toolkit for computational morphometry of
longDescription = ''
A software toolkit for computational morphometry of
biomedical images, CMTK comprises a set of command line tools and a
back-end general-purpose library for processing and I/O'';
back-end general-purpose library for processing and I/O
'';
maintainers = with maintainers; [ tbenst ];
platforms = platforms.all;
license = licenses.gpl3Plus;

View File

@ -19,11 +19,13 @@ stdenv.mkDerivation rec {
meta = {
description = "European Molecular Biology Open Software Suite";
longDescription = ''EMBOSS is a free Open Source software analysis package
specially developed for the needs of the molecular biology (e.g. EMBnet)
user community, including libraries. The software automatically copes with
data in a variety of formats and even allows transparent retrieval of
sequence data from the web.'';
longDescription = ''
EMBOSS is a free Open Source software analysis package
specially developed for the needs of the molecular biology (e.g. EMBnet)
user community, including libraries. The software automatically copes with
data in a variety of formats and even allows transparent retrieval of
sequence data from the web.
'';
license = lib.licenses.gpl2;
homepage = "https://emboss.sourceforge.net/";
};

View File

@ -33,13 +33,13 @@ stdenv.mkDerivation rec {
meta = {
description = "Visualization framework for the analysis and visualization of relational data";
longDescription =
'' Tulip is an information visualization framework dedicated to the
analysis and visualization of relational data. Tulip aims to
provide the developer with a complete library, supporting the design
of interactive information visualization applications for relational
data that can be tailored to the problems he or she is addressing.
'';
longDescription = ''
Tulip is an information visualization framework dedicated to the
analysis and visualization of relational data. Tulip aims to
provide the developer with a complete library, supporting the design
of interactive information visualization applications for relational
data that can be tailored to the problems he or she is addressing.
'';
homepage = "http://tulip.labri.fr/";

View File

@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
enableParallelBuilding = true;
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
configureFlags =
lib.optional (!withInternalSqlite) "--disable-internal-sqlite"

View File

@ -57,24 +57,24 @@
let
pname = "gitkraken";
version = "10.4.0";
version = "10.4.1";
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
srcs = {
x86_64-linux = fetchzip {
url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
hash = "sha256-JGWDOAkJEnhvUyQOFsmoeW9Izj0IuHNpYGlYAMiWPj0=";
hash = "sha256-ZvLDGhBnWjjWqzwqJOz91X8hr94jkXtMA8CL2hh9mlI=";
};
x86_64-darwin = fetchzip {
url = "https://release.axocdn.com/darwin/GitKraken-v${version}.zip";
hash = "sha256-yCDE6QJMgU2Mgr/kUDnbKwQ3MpgVcdjAK7fnTAjSL54=";
hash = "sha256-21VwDFw2dyySoc4NC/RR3k/VtksqaZ5vkdx0z5MKqLc=";
};
aarch64-darwin = fetchzip {
url = "https://release.axocdn.com/darwin-arm64/GitKraken-v${version}.zip";
hash = "sha256-nh+tO++QvPx9jyZuxNrH7rHFXZqVnu5jyiki3oWdw7E=";
hash = "sha256-N8WMbJFC74tIeJ6Yyk58nT+sIBYN/7PNLdYNxGSB2yM=";
};
};

View File

@ -26,13 +26,13 @@ stdenv.mkDerivation rec {
meta = {
homepage = "https://www.gnu.org/software/rcs/";
description = "Revision control system";
longDescription =
'' The GNU Revision Control System (RCS) manages multiple revisions of
files. RCS automates the storing, retrieval, logging,
identification, and merging of revisions. RCS is useful for text
that is revised frequently, including source code, programs,
documentation, graphics, papers, and form letters.
'';
longDescription = ''
The GNU Revision Control System (RCS) manages multiple revisions of
files. RCS automates the storing, retrieval, logging,
identification, and merging of revisions. RCS is useful for text
that is revised frequently, including source code, programs,
documentation, graphics, papers, and form letters.
'';
license = lib.licenses.gpl3Plus;
maintainers = [ ];

View File

@ -49,7 +49,7 @@ let
# feature, but rather to make the program more robustly self-
# contained.
postInstall = ''${o.postInstall or ""}
postInstall = o.postInstall or "" + ''
mkdir -p $out/libexec
mv $out/bin/arion $out/libexec
makeWrapper $out/libexec/arion $out/bin/arion \

View File

@ -86,7 +86,11 @@ stdenv.mkDerivation (finalAttrs: {
inherit (finalAttrs.src.meta) homepage;
description = "Blazing fast wayland wallpaper utility";
license = licenses.bsd3;
maintainers = with maintainers; [ wozeparrot fufexan ];
maintainers = with maintainers; [
fufexan
khaneliman
wozeparrot
];
inherit (wayland.meta) platforms;
broken = stdenv.hostPlatform.isDarwin;
mainProgram = "hyprpaper";

View File

@ -61,7 +61,10 @@ stdenv.mkDerivation (finalAttrs: {
description = "Wlroots-compatible Wayland color picker that does not suck";
homepage = "https://github.com/hyprwm/hyprpicker";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ fufexan ];
maintainers = with lib.maintainers; [
fufexan
khaneliman
];
platforms = wayland.meta.platforms;
mainProgram = "hyprpicker";
};

View File

@ -91,7 +91,10 @@ stdenv.mkDerivation (finalAttrs: {
changelog = "https://github.com/hyprwm/xdg-desktop-portal-hyprland/releases/tag/v${finalAttrs.version}";
mainProgram = "hyprland-share-picker";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ fufexan ];
maintainers = with lib.maintainers; [
fufexan
khaneliman
];
platforms = lib.platforms.linux;
};
})

View File

@ -412,6 +412,7 @@ remove_tmpPath() {
}
remove_tmpHomePath() {
chmod -R u+w "$tmpHomePath"
rm -rf "$tmpHomePath"
}

View File

@ -19,7 +19,8 @@ curl=(
--user-agent "curl/$curlVersion Nixpkgs/$nixpkgsVersion"
)
if ! [ -f "$SSL_CERT_FILE" ]; then
# Default fallback value defined in pkgs/build-support/fetchurl/default.nix
if [ "$SSL_CERT_FILE" == "/no-cert-file.crt" ]; then
curl+=(--insecure)
fi

View File

@ -220,20 +220,26 @@ stdenvNoCC.mkDerivation (
# New-style output content requirements.
inherit (hash_) outputHashAlgo outputHash;
# Disable TLS verification only when we know the hash and no credentials are
# needed to access the resource
SSL_CERT_FILE =
if
let
nixSSLCertFile = builtins.getEnv "NIX_SSL_CERT_FILE";
in
if nixSSLCertFile != "" then
nixSSLCertFile
else if
(
hash_.outputHash == ""
|| hash_.outputHash == lib.fakeSha256
|| hash_.outputHash == lib.fakeSha512
|| hash_.outputHash == lib.fakeHash
# Make sure we always enforce TLS verification when credentials
# are needed to access the resource
|| netrcPhase != null
)
then
"${cacert}/etc/ssl/certs/ca-bundle.crt"
else
# Fallback to stdenv default, see pkgs/stdenv/generic/setup.sh
"/no-cert-file.crt";
outputHashMode = if (recursiveHash || executable) then "recursive" else "flat";

View File

@ -289,6 +289,7 @@ lib.warnIf (buildFlags != "" || buildFlagsArray != "")
"`buildFlags`/`buildFlagsArray` are deprecated and will be removed in the 24.11 release. Use the `ldflags` and/or `tags` attributes instead"
lib.warnIf (builtins.elem "-buildid=" ldflags) "`-buildid=` is set by default as ldflag by buildGoModule"
lib.warnIf (builtins.elem "-trimpath" GOFLAGS) "`-trimpath` is added by default to GOFLAGS by buildGoModule when allowGoReference isn't set to true"
lib.warn '''buildGoPackage' is deprecated and will be removed for the 25.05 release.
Please use 'buildGoModule' instead. Tips for migration can be found in the Go section of the nixpkgs manual.''
lib.warn ''
'buildGoPackage' is deprecated and will be removed for the 25.05 release.
Please use 'buildGoModule' instead. Tips for migration can be found in the Go section of the nixpkgs manual.''
package

View File

@ -51,9 +51,7 @@ let
lib.pipe attrs [
(lib.mapAttrsToList renderFunc)
(builtins.filter (v: v != ""))
(builtins.concatStringsSep "\n")
(section: ''${section}
'')
(lib.concatLines)
];
variablesSectionRendered = renderSomething renderVariable variables;

View File

@ -160,7 +160,8 @@ stdenv.mkDerivation (
# Build out of source tree and make the source tree read-only. This
# helps catch violations of the GNU Coding Standards (info
# "(standards) Configuration"), like `make distcheck' does.
'' mkdir "../build"
''
mkdir "../build"
cd "../build"
configureScript="../$sourceRoot/configure"
chmod -R a-w "../$sourceRoot"

View File

@ -469,7 +469,11 @@ rec {
as a easy way to build multiple derivations at once.
*/
symlinkJoin =
args_@{ name
args_@{
name ?
assert lib.assertMsg (args_ ? pname && args_ ? version)
"symlinkJoin requires either a `name` OR `pname` and `version`";
"${args_.pname}-${args_.version}"
, paths
, preferLocalBuild ? true
, allowSubstitutes ? false

View File

@ -12,7 +12,7 @@ let
self = python3;
packageOverrides = _: super: { tree-sitter = super.tree-sitter_0_21; };
};
version = "0.59.0";
version = "0.60.0";
in
python3.pkgs.buildPythonApplication {
pname = "aider-chat";
@ -20,60 +20,100 @@ python3.pkgs.buildPythonApplication {
pyproject = true;
src = fetchFromGitHub {
owner = "paul-gauthier";
owner = "Aider-AI";
repo = "aider";
rev = "refs/tags/v${version}";
hash = "sha256-20LicYj1j5gGzhF+SxPUKu858nHZgwDF1JxXeHRtYe0=";
hash = "sha256-0jAdUcGGJzxvTKY/56an0oLEghZHz6fdNLg8cPer1Qc=";
};
pythonRelaxDeps = true;
build-system = with python3.pkgs; [ setuptools-scm ];
dependencies =
with python3.pkgs;
[
aiohappyeyeballs
backoff
beautifulsoup4
configargparse
diff-match-patch
diskcache
flake8
gitpython
grep-ast
importlib-resources
json5
jsonschema
jiter
litellm
networkx
numpy
packaging
pathspec
pexpect
pillow
playwright
prompt-toolkit
ptyprocess
pypager
pypandoc
pyperclip
pyyaml
psutil
rich
scipy
sounddevice
soundfile
streamlit
tokenizers
watchdog
pydub
]
++ lib.optionals (!tensorflow.meta.broken) [
llama-index-core
llama-index-embeddings-huggingface
];
dependencies = with python3.pkgs; [
aiohappyeyeballs
aiohttp
aiosignal
annotated-types
anyio
attrs
backoff
beautifulsoup4
certifi
cffi
charset-normalizer
click
configargparse
diff-match-patch
diskcache
distro
filelock
flake8
frozenlist
fsspec
gitdb
gitpython
grep-ast
h11
httpcore
httpx
huggingface-hub
idna
importlib-resources
jinja2
jiter
json5
jsonschema
jsonschema-specifications
litellm
markdown-it-py
markupsafe
mccabe
mdurl
multidict
networkx
numpy
openai
packaging
pathspec
pexpect
pillow
prompt-toolkit
psutil
ptyprocess
pycodestyle
pycparser
pydantic
pydantic-core
pydub
pyflakes
pygments
pypandoc
pyperclip
python-dotenv
pyyaml
referencing
regex
requests
rich
rpds-py
scipy
smmap
sniffio
sounddevice
soundfile
soupsieve
tiktoken
tokenizers
tqdm
tree-sitter
tree-sitter-languages
typing-extensions
urllib3
wcwidth
yarl
zipp
];
buildInputs = [ portaudio ];

View File

@ -68,7 +68,10 @@ rustPlatform.buildRustPackage rec {
description = "Wayland-native, highly customizable runner";
homepage = "https://github.com/kirottu/anyrun";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ NotAShelf ];
maintainers = with lib.maintainers; [
khaneliman
NotAShelf
];
mainProgram = "anyrun";
};
}

View File

@ -86,9 +86,11 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
env.NIX_CFLAGS_COMPILE = '' -I${librem}/include/rem -I${gsm}/include/gsm
env.NIX_CFLAGS_COMPILE = ''
-I${librem}/include/rem -I${gsm}/include/gsm
-DHAVE_INTTYPES_H -D__GLIBC__
-D__need_timeval -D__need_timespec -D__need_time_t '';
-D__need_timeval -D__need_timespec -D__need_time_t
'';
doInstallCheck = true;
# CMake feature detection is prone to breakage between upgrades:

View File

@ -84,7 +84,10 @@ buildNpmPackage rec {
description = "Elegant Facebook Messenger desktop app";
homepage = "https://github.com/sindresorhus/caprine";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ astronaut0212 ];
maintainers = with lib.maintainers; [
astronaut0212
khaneliman
];
inherit (electron.meta) platforms;
};
}

View File

@ -5,6 +5,8 @@
flex,
gitUpdater,
libusb1,
meson,
ninja,
pcsclite,
perl,
pkg-config,
@ -22,14 +24,13 @@ stdenv.mkDerivation rec {
postPatch = ''
patchShebangs .
substituteInPlace src/Makefile.am --replace-fail /bin/echo echo
substituteInPlace meson.build --replace-fail \
"pcsc_dep.get_variable('usbdropdir')" \
"'$out/pcsc/drivers'"
'';
configureFlags = [
"--enable-twinserial"
"--enable-serialconfdir=${placeholder "out"}/etc/reader.conf.d"
"--enable-ccidtwindir=${placeholder "out"}/pcsc/drivers/serial"
"--enable-usbdropdir=${placeholder "out"}/pcsc/drivers"
mesonFlags = [
(lib.mesonBool "serial" true)
];
# error: call to undeclared function 'InterruptRead';
@ -42,6 +43,8 @@ stdenv.mkDerivation rec {
flex
perl
pkg-config
meson
ninja
];
buildInputs = [
@ -51,7 +54,7 @@ stdenv.mkDerivation rec {
];
postInstall = ''
install -Dm 0444 -t $out/lib/udev/rules.d src/92_pcscd_ccid.rules
install -Dm 0444 -t $out/lib/udev/rules.d ../src/92_pcscd_ccid.rules
substituteInPlace $out/lib/udev/rules.d/92_pcscd_ccid.rules \
--replace-fail "/usr/sbin/pcscd" "${pcsclite}/bin/pcscd"
'';
@ -64,6 +67,14 @@ stdenv.mkDerivation rec {
url = "https://salsa.debian.org/rousseau/CCID.git";
};
installCheckPhase = ''
[ -f $out/etc/reader.conf.d/libccidtwin ]
[ -f $out/lib/udev/rules.d/92_pcscd_ccid.rules ]
[ -f $out/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist ]
[ -f $out/pcsc/drivers/ifd-ccid.bundle/Contents/Linux/libccid.so ]
[ -f $out/pcsc/drivers/serial/libccidtwin.so ]
'';
meta = with lib; {
description = "PC/SC driver for USB CCID smart card readers";
homepage = "https://ccid.apdu.fr/";

View File

@ -54,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
enableParallelBuilding = true;
# override this to false if you don't want to build python3
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
# prevent the `install-data-local` Makefile rule from running;
# all it does is attempt to `mkdir` the `localstatedir`.

View File

@ -3,14 +3,14 @@
"alpha": {
"experimental": {
"candidateHashFilenames": [
"factorio_linux_2.0.9.tar.xz"
"factorio_linux_2.0.10.tar.xz"
],
"name": "factorio_alpha_x64-2.0.9.tar.xz",
"name": "factorio_alpha_x64-2.0.10.tar.xz",
"needsAuth": true,
"sha256": "34c21cd3cbe91b65483786ccb4467b5d4766c748cbbddd2ce3b30d319d163e3b",
"sha256": "07508fc5112f95ef5d5afedea66863ea326e039bd872b772b934ed08545c399b",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/2.0.9/alpha/linux64",
"version": "2.0.9"
"url": "https://factorio.com/get-download/2.0.10/alpha/linux64",
"version": "2.0.10"
},
"stable": {
"candidateHashFilenames": [
@ -51,14 +51,14 @@
"expansion": {
"experimental": {
"candidateHashFilenames": [
"factorio-space-age_linux_2.0.9.tar.xz"
"factorio-space-age_linux_2.0.10.tar.xz"
],
"name": "factorio_expansion_x64-2.0.9.tar.xz",
"name": "factorio_expansion_x64-2.0.10.tar.xz",
"needsAuth": true,
"sha256": "6369d23550a7a721d3de1d34253e8321ee601fa759d1fb5efac9abc28aa7509d",
"sha256": "f7d346578c812314be8b72fbf6fd291c53d23ecc2dc6556a8948d26b3b95d71e",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/2.0.9/expansion/linux64",
"version": "2.0.9"
"url": "https://factorio.com/get-download/2.0.10/expansion/linux64",
"version": "2.0.10"
},
"stable": {
"candidateHashFilenames": [
@ -75,15 +75,15 @@
"headless": {
"experimental": {
"candidateHashFilenames": [
"factorio-headless_linux_2.0.9.tar.xz",
"factorio_headless_x64_2.0.9.tar.xz"
"factorio-headless_linux_2.0.10.tar.xz",
"factorio_headless_x64_2.0.10.tar.xz"
],
"name": "factorio_headless_x64-2.0.9.tar.xz",
"name": "factorio_headless_x64-2.0.10.tar.xz",
"needsAuth": false,
"sha256": "f499077b3e2c1313452c350f1faf17db31cae2a0fa738f69166e97c3caa3c86d",
"sha256": "2d7dd212fa6f715218a5e33bad7d593af8998fa7bf7ce727343159ee1f8c23f4",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/2.0.9/headless/linux64",
"version": "2.0.9"
"url": "https://factorio.com/get-download/2.0.10/headless/linux64",
"version": "2.0.10"
},
"stable": {
"candidateHashFilenames": [

View File

@ -28,7 +28,7 @@ buildGo123Module rec {
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
make manpage
installManPage share/man/man1/*
installShellCompletion --cmd glab \

View File

@ -11,6 +11,7 @@
, libnotify
, slurp
, wl-clipboard
, bash
}:
stdenvNoCC.mkDerivation (finalAttrs: {
@ -31,6 +32,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
scdoc
];
buildInputs = [ bash ];
makeFlags = [
"PREFIX=$(out)"
];

View File

@ -43,7 +43,10 @@ stdenv.mkDerivation (finalAttrs: {
description = "Hyprland's idle daemon";
homepage = "https://github.com/hyprwm/hypridle";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ iogamaster ];
maintainers = with lib.maintainers; [
iogamaster
khaneliman
];
mainProgram = "hypridle";
platforms = [
"aarch64-linux"

View File

@ -207,6 +207,7 @@ customStdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
fufexan
johnrtitor
khaneliman
wozeparrot
];
mainProgram = "Hyprland";

View File

@ -7,6 +7,8 @@
, slurp
, wl-clipboard
, libnotify
, withFreeze ? true
, hyprpicker
, makeWrapper
}:
@ -28,9 +30,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
install -Dm755 hyprshot -t "$out/bin"
wrapProgram "$out/bin/hyprshot" \
--prefix PATH ":" ${lib.makeBinPath [
--prefix PATH ":" ${lib.makeBinPath ([
hyprland jq grim slurp wl-clipboard libnotify
]}
] ++ lib.optionals withFreeze [ hyprpicker ])}
runHook postInstall
'';

View File

@ -12,18 +12,18 @@
rustPlatform.buildRustPackage rec {
pname = "kakoune-lsp";
version = "17.1.2";
version = "18.0.2";
src = fetchFromGitHub {
owner = "kakoune-lsp";
repo = "kakoune-lsp";
rev = "v${version}";
hash = "sha256-NZDp98Ne6z7DlJ2vZiqGzw5ukusOkEjb+eyvmxB+IKI=";
hash = "sha256-nfPc0ccEk+szaTJby56iMmydcDKDq/t1o8tw24c7MfY=";
};
patches = [ (replaceVars ./Hardcode-perl.patch { inherit perl; }) ];
cargoHash = "sha256-QonOqdcdp1vbxzLnF46X0DLVay2Up1LvHZ/ZZ04LqlE=";
cargoHash = "sha256-nISlApNLitwLhRovjPDep6ObOfZ1bk5QWJ/j2xjJxuU=";
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
CoreServices

View File

@ -1,25 +1,29 @@
{ lib
, fetchFromGitea
, desktop-file-utils
, gettext
, glib
, gobject-introspection
, blueprint-compiler
, gtk4
, libadwaita
, libnotify
, webkitgtk_6_0
, meson
, ninja
, pkg-config
, python3
, wrapGAppsHook4
, nix-update-script
{
lib,
fetchFromGitea,
desktop-file-utils,
gettext,
glib,
gobject-introspection,
blueprint-compiler,
gtk4,
libadwaita,
libnotify,
webkitgtk_6_0,
meson,
ninja,
pkg-config,
python3,
wrapGAppsHook4,
librsvg,
gnome,
webp-pixbuf-loader,
nix-update-script,
}:
python3.pkgs.buildPythonApplication rec {
pname = "komikku";
version = "1.57.0";
version = "1.58.0";
format = "other";
@ -28,7 +32,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "valos";
repo = "Komikku";
rev = "v${version}";
hash = "sha256-b2XoywPnrYnuehR6xHH8BvhbMZFB1AeBN0khFfaLGn0=";
hash = "sha256-21ZtzWjyUC+/iPv+R1DUzCHITR8GVhN+6iepcTIRy0Y=";
};
nativeBuildInputs = [
@ -74,6 +78,19 @@ python3.pkgs.buildPythonApplication rec {
# Tests require network
doCheck = false;
# Pull in WebP support for manga pics of some servers.
# In postInstall to run before gappsWrapperArgsHook.
postInstall = ''
export GDK_PIXBUF_MODULE_FILE="${
gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
extraLoaders = [
librsvg
webp-pixbuf-loader
];
}
}"
'';
# Prevent double wrapping.
dontWrapGApps = true;
@ -87,12 +104,15 @@ python3.pkgs.buildPythonApplication rec {
updateScript = nix-update-script { };
};
meta = with lib; {
meta = {
description = "Manga reader for GNOME";
mainProgram = "komikku";
homepage = "https://apps.gnome.org/Komikku/";
license = licenses.gpl3Plus;
license = lib.licenses.gpl3Plus;
changelog = "https://codeberg.org/valos/Komikku/releases/tag/v${version}";
maintainers = with maintainers; [ chuangzhu infinitivewitch ];
maintainers = with lib.maintainers; [
chuangzhu
infinitivewitch
];
};
}

View File

@ -34,6 +34,7 @@ buildGoModule rec {
maintainers = with maintainers; [
Br1ght0ne
equirosa
khaneliman
paveloom
starsep
];

View File

@ -26,7 +26,7 @@ buildGoModule rec {
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
# Mangal creates a config file in the folder ~/.config/mangal and fails if not possible
export HOME=$(mktemp -d)
installShellCompletion --cmd mangal \

View File

@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
makeFlags = [ "AR:=$(AR)" ];
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
outputs = [
"out"

View File

@ -27,14 +27,16 @@ stdenv.mkDerivation (finalAttrs: {
description = "Collection of computer vision methods for solving geometric vision problems";
homepage = "https://github.com/laurentkneip/opengv";
license = lib.licenses.bsd2;
longDescription = ''OpenGV is a collection of computer vision methods for solving
longDescription = ''
OpenGV is a collection of computer vision methods for solving
geometric vision problems. It contains absolute-pose, relative-pose,
triangulation, and point-cloud alignment methods for the calibrated
case. All problems can be solved with central or non-central cameras,
and embedded into a random sample consensus or nonlinear optimization
context. Matlab and Python interfaces are implemented as well. The link
to the above pages also shows links to precompiled Matlab mex-libraries.
Please consult the documentation for more information.'';
Please consult the documentation for more information.
'';
maintainers = [ lib.maintainers.locochoco ];
platforms = lib.platforms.all;
};

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "orchard";
version = "0.24.0";
version = "0.24.1";
src = fetchFromGitHub {
owner = "cirruslabs";
repo = pname;
rev = version;
hash = "sha256-N54wkqe05Hm9o+kQmWTJREoU+0GnivaVTJngtBDL8+U=";
hash = "sha256-6w/UcifseoajAOKZnn0GJiUzXAmLNGKLDCZkeZLK8NI=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;

View File

@ -937,8 +937,21 @@ fn do_user_switch(parent_exe: String) -> anyhow::Result<()> {
Ok(())
}
fn usage(argv0: &str) -> ! {
eprintln!(
r#"Usage: {} [switch|boot|test|dry-activate]
switch: make the configuration the boot default and activate now
boot: make the configuration the boot default
test: activate the configuration, but don't make it the boot default
dry-activate: show what would be done if this configuration were activated
"#,
argv0
);
std::process::exit(1);
}
/// Performs switch-to-configuration functionality for the entire system
fn do_system_switch() -> anyhow::Result<()> {
fn do_system_switch(action: Action) -> anyhow::Result<()> {
let out = PathBuf::from(required_env("OUT")?);
let toplevel = PathBuf::from(required_env("TOPLEVEL")?);
let distro_id = required_env("DISTRO_ID")?;
@ -946,25 +959,6 @@ fn do_system_switch() -> anyhow::Result<()> {
let locale_archive = required_env("LOCALE_ARCHIVE")?;
let new_systemd = PathBuf::from(required_env("SYSTEMD")?);
let mut args = std::env::args();
let argv0 = args.next().ok_or(anyhow!("no argv[0]"))?;
let Some(Ok(action)) = args.next().map(|a| Action::from_str(&a)) else {
eprintln!(
r#"Usage: {} [switch|boot|test|dry-activate]
switch: make the configuration the boot default and activate now
boot: make the configuration the boot default
test: activate the configuration, but don't make it the boot default
dry-activate: show what would be done if this configuration were activated
"#,
argv0
.split(std::path::MAIN_SEPARATOR_STR)
.last()
.unwrap_or("switch-to-configuration")
);
std::process::exit(1);
};
let action = ACTION.get_or_init(|| action);
// The action that is to be performed (like switch, boot, test, dry-activate) Also exposed via
@ -1082,22 +1076,6 @@ won't take effect until you reboot the system.
.subscribe()
.context("Failed to subscribe to systemd dbus messages")?;
// Wait for the system to have finished booting.
loop {
let system_state: String = systemd
.get("org.freedesktop.systemd1.Manager", "SystemState")
.context("Failed to get system state")?;
match system_state.as_str() {
"running" | "degraded" | "maintenance" => break,
_ => {
_ = dbus_conn
.process(Duration::from_millis(500))
.context("Failed to process dbus messages")?
}
}
}
let _systemd_reload_status = systemd_reload_status.clone();
let reloading_token = systemd
.match_signal(
@ -1939,13 +1917,26 @@ won't take effect until you reboot the system.
}
fn main() -> anyhow::Result<()> {
match (
unsafe { nix::libc::geteuid() },
std::env::var("__NIXOS_SWITCH_TO_CONFIGURATION_PARENT_EXE").ok(),
) {
(0, None) => do_system_switch(),
(1..=u32::MAX, None) => bail!("This program does not support being ran outside of the switch-to-configuration environment"),
(_, Some(parent_exe)) => do_user_switch(parent_exe),
match std::env::var("__NIXOS_SWITCH_TO_CONFIGURATION_PARENT_EXE").ok() {
Some(parent_exe) => do_user_switch(parent_exe),
None => {
let mut args = std::env::args();
let argv0 = args.next().ok_or(anyhow!("no argv[0]"))?;
let argv0 = argv0
.split(std::path::MAIN_SEPARATOR_STR)
.last()
.unwrap_or("switch-to-configuration");
let Some(Ok(action)) = args.next().map(|a| Action::from_str(&a)) else {
usage(&argv0);
};
if unsafe { nix::libc::geteuid() } == 0 {
do_system_switch(action)
} else {
bail!("{} must be run as the root user", argv0);
}
}
}
}

View File

@ -10,10 +10,9 @@
disableUpdateNotifier ? true,
}:
symlinkJoin rec {
symlinkJoin {
pname = "turbo";
inherit (turbo-unwrapped) version;
name = "${pname}-${version}";
nativeBuildInputs = [ makeBinaryWrapper ];

View File

@ -31,7 +31,7 @@ buildGoModule rec {
'';
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
$out/bin/velero completion bash > velero.bash
$out/bin/velero completion zsh > velero.zsh
installShellCompletion velero.{bash,zsh}

View File

@ -46,11 +46,12 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/sxyazi/yazi";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
xyenon
matthiasbeyer
linsui
eljamm
khaneliman
linsui
matthiasbeyer
uncenter
xyenon
];
mainProgram = "yazi";
};

File diff suppressed because it is too large Load Diff

View File

@ -88,13 +88,14 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "zed-editor";
version = "0.157.5";
version = "0.158.1";
src = fetchFromGitHub {
owner = "zed-industries";
repo = "zed";
rev = "refs/tags/v${version}";
hash = "sha256-xtSdlzj1AxhJN4aXLJ+Oy51LX4QduLwcuCfK42kthvE=";
hash = "X5FlNjAYG5W+RTdmyZHF1KYHxdwJGwk/qpOgj0JVD/c=";
fetchSubmodules = true;
};
patches =
@ -118,11 +119,13 @@ rustPlatform.buildRustPackage rec {
outputHashes = {
"alacritty_terminal-0.24.1-dev" = "sha256-b4oSDhsAAYjpYGfFgA1Q1642JoJQ9k5RTsPgFUpAFmc=";
"async-pipe-0.1.3" = "sha256-g120X88HGT8P6GNCrzpS5SutALx5H+45Sf4iSSxzctE=";
"async-stripe-0.40.0" = "sha256-kVdYCmlM8DilSrcOGxI1tvSiUjSrXdnmKqBA9WUJgMw=";
"blade-graphics-0.5.0" = "sha256-j/JI34ZPD7RAHNHu3krgDLnIq4QmmZaZaU1FwD7f2FM=";
"cosmic-text-0.11.2" = "sha256-TLPDnqixuW+aPAhiBhSvuZIa69vgV3xLcw32OlkdCcM=";
"font-kit-0.14.1" = "sha256-qUKvmi+RDoyhMrZ7T6SoVAyMc/aasQ9Y/okzre4SzXo=";
"lsp-types-0.95.1" = "sha256-N4MKoU9j1p/Xeowki/+XiNQPwIcTm9DgmfM/Eieq4js=";
"nvim-rs-0.8.0-pre" = "sha256-VA8zIynflul1YKBlSxGCXCwa2Hz0pT3mH6OPsfS7Izo=";
"reqwest-0.12.8" = "sha256-mjO6SPYOMiw1H0ZEbd4BlPivPtaLVNftpsCu+M2i3Qw=";
"tree-sitter-gomod-1.0.2" = "sha256-FCb8ndKSFiLY7/nTX7tWF8c4KcSvoBU1QB5R4rdOgT0=";
"tree-sitter-gowork-0.0.1" = "sha256-WRMgGjOlJ+bT/YnSBeSLRTLlltA5WwTvV0Ow/949+BE=";
"tree-sitter-heex-0.0.1" = "sha256-SnjhL0WVsHOKuUp3dkTETnCgC/Z7WN0XmpQdJPBeBhw=";

View File

@ -115,7 +115,7 @@ in stdenv.mkDerivation {
buildFlags = [ "all" "selftest" ];
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
checkPhase = ''
runHook preCheck
./zerotier-selftest

View File

@ -19,8 +19,7 @@ stdenvNoCC.mkDerivation rec {
'';
meta = with lib; {
description = ''Typeface designed to mimic the national park service
signs that are carved using a router bit'';
description = ''Typeface designed to mimic the national park service signs that are carved using a router bit'';
homepage = "https://nationalparktypeface.com/";
license = licenses.ofl;
maintainers = [ ];

View File

@ -36,10 +36,11 @@ in stdenv.mkDerivation {
meta = with lib; {
description = "Monospace bitmap font aimed at programmers";
longDescription = ''Tamsyn is a monospace bitmap font, primarily aimed at
programmers. It was derived from Gilles Boccon-Gibod's MonteCarlo. Tamsyn
font was further inspired by Gohufont, Terminus, Dina, Proggy, Fixedsys, and
Consolas.
longDescription = ''
Tamsyn is a monospace bitmap font, primarily aimed at
programmers. It was derived from Gilles Boccon-Gibod's MonteCarlo. Tamsyn
font was further inspired by Gohufont, Terminus, Dina, Proggy, Fixedsys, and
Consolas.
'';
homepage = "http://www.fial.com/~scott/tamsyn-font/";
downloadPage = "http://www.fial.com/~scott/tamsyn-font/download";

View File

@ -24,9 +24,9 @@ stdenv.mkDerivation rec {
# For libuv on darwin
lib.optionalString stdenv.hostPlatform.isDarwin ''
export LIBTOOLIZE=libtoolize
'' +
# Help libgc's configure.
'' export CXXCPP="$CXX -E"
'' + ''
# Help libgc's configure.
export CXXCPP="$CXX -E"
'';
patchPhase = ''

View File

@ -93,13 +93,13 @@ stdenv.mkDerivation {
meta = with lib; {
description = "MIT/GNU Scheme, a native code Scheme compiler";
longDescription =
'' MIT/GNU Scheme is an implementation of the Scheme programming
language, providing an interpreter, compiler, source-code debugger,
integrated Emacs-like editor, and a large runtime library. MIT/GNU
Scheme is best suited to programming large applications with a rapid
development cycle.
'';
longDescription = ''
MIT/GNU Scheme is an implementation of the Scheme programming
language, providing an interpreter, compiler, source-code debugger,
integrated Emacs-like editor, and a large runtime library. MIT/GNU
Scheme is best suited to programming large applications with a rapid
development cycle.
'';
homepage = "https://www.gnu.org/software/mit-scheme/";

View File

@ -39,14 +39,16 @@ stdenv.mkDerivation rec {
];
# tinycc configure flags copied from the tinycc derivation.
postConfigure = ''(
cd contrib/tinycc
./configure --cc=cc \
--elfinterp=$(< $NIX_CC/nix-support/dynamic-linker) \
--crtprefix=${lib.getLib stdenv.cc.libc}/lib \
--sysincludepaths=${lib.getDev stdenv.cc.libc}/include:{B}/include \
--libpaths=${lib.getLib stdenv.cc.libc}/lib
)'';
postConfigure = ''
(
cd contrib/tinycc;
./configure --cc=cc \
--elfinterp=$(< $NIX_CC/nix-support/dynamic-linker) \
--crtprefix=${lib.getLib stdenv.cc.libc}/lib \
--sysincludepaths=${lib.getDev stdenv.cc.libc}/include:{B}/include \
--libpaths=${lib.getLib stdenv.cc.libc}/lib
)
'';
postInstall = ''
wrapProgram $out/bin/mkcl --prefix PATH : "${gcc}/bin"

View File

@ -118,10 +118,12 @@ let
platformDir = "linux64ARMv8";
vmName = "squeak.cog.spur";
scriptName = "squeak";
configureFlagsArray = ''(
CFLAGS="-DNDEBUG -DDEBUGVM=0 -DMUSL -D_GNU_SOURCE -DUSEEVDEV -DCOGMTVM=0 -DDUAL_MAPPED_CODE_ZONE=1"
LIBS="-lrt"
)'';
configureFlagsArray = ''
(
CFLAGS="-DNDEBUG -DDEBUGVM=0 -DMUSL -D_GNU_SOURCE -DUSEEVDEV -DCOGMTVM=0 -DDUAL_MAPPED_CODE_ZONE=1"
LIBS="-lrt"
)
'';
configureFlags = [
"--with-vmversion=5.0"
"--with-src=src/spur64.cog"
@ -134,9 +136,11 @@ let
platformDir = "linux64ARMv8";
vmName = "squeak.stack.spur";
scriptName = "squeak";
configureFlagsArray = ''(
CFLAGS="-DNDEBUG -DDEBUGVM=0 -DMUSL -D_GNU_SOURCE -DUSEEVDEV -D__ARM_ARCH_ISA_A64 -DARM64 -D__arm__ -D__arm64__ -D__aarch64__"
)'';
configureFlagsArray = ''
(
CFLAGS="-DNDEBUG -DDEBUGVM=0 -DMUSL -D_GNU_SOURCE -DUSEEVDEV -D__ARM_ARCH_ISA_A64 -DARM64 -D__arm__ -D__arm64__ -D__aarch64__"
)
'';
configureFlags = [
"--with-vmversion=5.0"
"--with-src=src/spur64.stack"
@ -151,9 +155,11 @@ let
platformDir = "linux64x64";
vmName = "newspeak.cog.spur";
scriptName = "newspeak";
configureFlagsArray = ''(
CFLAGS="-DNDEBUG -DDEBUGVM=0"
)'';
configureFlagsArray = ''
(
CFLAGS="-DNDEBUG -DDEBUGVM=0"
)
'';
configureFlags = [
"--with-vmversion=5.0"
"--with-src=src/spur64.cog.newspeak"
@ -166,9 +172,11 @@ let
platformDir = "linux64x64";
vmName = "squeak.cog.spur";
scriptName = "squeak";
configureFlagsArray = ''(
CFLAGS="-DNDEBUG -DDEBUGVM=0 -DCOGMTVM=0"
)'';
configureFlagsArray = ''
(
CFLAGS="-DNDEBUG -DDEBUGVM=0 -DCOGMTVM=0"
)
'';
configureFlags = [
"--with-vmversion=5.0"
"--with-src=src/spur64.cog"

View File

@ -92,14 +92,15 @@ stdenv.mkDerivation (rec {
# make: *** [Makefile:222: test-full-programs-release] Killed: 9
doCheck = !stdenv.hostPlatform.isDarwin;
installPhase = "make config=release prefix=$out "
+ lib.optionalString stdenv.hostPlatform.isDarwin ("bits=64 " + (lib.optionalString (!lto) "lto=no "))
+ '' install
installPhase = ''
make config=release prefix=$out ${
lib.optionalString stdenv.hostPlatform.isDarwin ("bits=64 " + (lib.optionalString (!lto) "lto=no "))
} install
wrapProgram $out/bin/ponyc \
--prefix PATH ":" "${stdenv.cc}/bin" \
--set-default CC "$CC" \
--prefix PONYPATH : "${lib.makeLibraryPath [ pcre2 openssl (placeholder "out") ]}"
'';
--prefix PATH ":" "${stdenv.cc}/bin" \
--set-default CC "$CC" \
--prefix PONYPATH : "${lib.makeLibraryPath [ pcre2 openssl (placeholder "out") ]}"
'';
# Stripping breaks linking for ponyc
dontStrip = true;

View File

@ -20,16 +20,16 @@ stdenv.mkDerivation rec {
homepage = "https://rgbds.gbdev.io/";
description = "Free assembler/linker package for the Game Boy and Game Boy Color";
license = licenses.mit;
longDescription =
''RGBDS (Rednex Game Boy Development System) is a free assembler/linker package for the Game Boy and Game Boy Color. It consists of:
longDescription = ''
RGBDS (Rednex Game Boy Development System) is a free assembler/linker package for the Game Boy and Game Boy Color. It consists of:
- rgbasm (assembler)
- rgblink (linker)
- rgbfix (checksum/header fixer)
- rgbgfx (PNGtoGame Boy graphics converter)
- rgbasm (assembler)
- rgblink (linker)
- rgbfix (checksum/header fixer)
- rgbgfx (PNGtoGame Boy graphics converter)
This is a fork of the original RGBDS which aims to make the programs more like other UNIX tools.
'';
This is a fork of the original RGBDS which aims to make the programs more like other UNIX tools.
'';
maintainers = with maintainers; [ matthewbauer NieDzejkob ];
platforms = platforms.all;
};

View File

@ -71,9 +71,9 @@ let
extraLibraries' = if extraLibraries == [] then [] else throw
"option 'extraLibraries' removed - use 'with*' options (e.g., 'withJava'), or overrideAttrs to inject extra build dependencies";
packInstall = swiplPath: pack:
''${swiplPath}/bin/swipl -g "pack_install(${pack}, [package_directory(\"${swiplPath}/lib/swipl/extra-pack\"), silent(true), interactive(false), git(false)])." -t "halt."
'';
packInstall = swiplPath: pack: ''
${swiplPath}/bin/swipl -g "pack_install(${pack}, [package_directory(\"${swiplPath}/lib/swipl/extra-pack\"), silent(true), interactive(false), git(false)])." -t "halt."
'';
withGui' = withGui && !stdenv.hostPlatform.isDarwin;
optionalDependencies = []
++ (lib.optional withDb db)

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation {
];
# installCheck instead of check due to -install_name'd library on Darwin
doInstallCheck = stdenv.buildPlatform == stdenv.hostPlatform;
doInstallCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
installCheckTarget = "check";
meta = with lib; {

View File

@ -846,7 +846,7 @@ stdenv.mkDerivation (finalAttrs: {
];
};
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
# Fails with SIGABRT otherwise FIXME: Why?
checkPhase = let

View File

@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
"-DFLATBUFFERS_OSX_BUILD_UNIVERSAL=OFF"
];
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
checkTarget = "test";
meta = with lib; {

View File

@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
"-DFLATBUFFERS_OSX_BUILD_UNIVERSAL=OFF"
];
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
checkTarget = "test";
meta = with lib; {

View File

@ -80,29 +80,20 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gdal" + lib.optionalString useMinimalFeatures "-minimal";
version = "3.9.2";
version = "3.9.3";
src = fetchFromGitHub {
owner = "OSGeo";
repo = "gdal";
rev = "v${finalAttrs.version}";
hash = "sha256-BXnpNfi9tUd6nnwYdstuOfGsFVif8kkmkW97X1UAgt8=";
hash = "sha256-8LY63s5vOVK0V37jQ60qFsaW/2D/13Xuy9/2OPLyTso=";
};
patches = [
(fetchpatch {
url = "https://github.com/OSGeo/gdal/commit/91e4f55f8f374a75f8f2ecd05670edcfa4c0af84.patch";
sha256 = "sha256-C2lkZLsORso7WVxgX79r5swkoVu/APPwQp2C/rmmCAo=";
})
(fetchpatch {
url = "https://github.com/OSGeo/gdal/commit/40c3212fe4ba93e5176df4cd8ae5e29e06bb6027.patch";
sha256 = "sha256-D55iT6E/YdpSyfN7KUDTh1gdmIDLHXW4VC5d6D9B7ls=";
})
# disable test failing with proj 9.5
(fetchpatch {
url = "https://github.com/OSGeo/gdal/commit/bb9e5c0ec3e45b0f3e60c4d284e4082550448480.patch";
hash = "sha256-TpjlxTH/51aRZkogpJuiNlfz3RLCe80wQVD4i+5m+Pw=";
})
];
nativeBuildInputs = [
@ -273,9 +264,9 @@ stdenv.mkDerivation (finalAttrs: {
# failing with PROJ 9.3.1
# https://github.com/OSGeo/gdal/issues/8908
"test_osr_esri_28"
# flakey tests, to remove on next release
"test_vsiaz_write_blockblob_chunk_size_1"
"test_vsiaz_fake_write"
# failing for unknown reason
# https://github.com/OSGeo/gdal/pull/10806#issuecomment-2362054085
"test_ogr_gmlas_billion_laugh"
] ++ lib.optionals (!stdenv.hostPlatform.isx86_64) [
# likely precision-related expecting x87 behaviour
"test_jp2openjpeg_22"

View File

@ -62,8 +62,8 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "GNU Linear Programming Kit";
longDescription =
'' The GNU Linear Programming Kit is intended for solving large
longDescription = ''
The GNU Linear Programming Kit is intended for solving large
scale linear programming problems by means of the revised
simplex method. It is a set of routines written in the ANSI C
programming language and organized in the form of a library.

View File

@ -26,12 +26,12 @@ stdenv.mkDerivation (finalAttrs: {
description = "GNU SASL, Simple Authentication and Security Layer library";
mainProgram = "gsasl";
longDescription =
'' GNU SASL is a library that implements the IETF Simple
Authentication and Security Layer (SASL) framework and
some SASL mechanisms. SASL is used in network servers
(e.g. IMAP, SMTP, etc.) to authenticate peers.
'';
longDescription = ''
GNU SASL is a library that implements the IETF Simple
Authentication and Security Layer (SASL) framework and
some SASL mechanisms. SASL is used in network servers
(e.g. IMAP, SMTP, etc.) to authenticate peers.
'';
homepage = "https://www.gnu.org/software/gsasl/";
license = lib.licenses.gpl3Plus;

View File

@ -24,13 +24,13 @@ stdenv.mkDerivation rec {
description = "Image viewer widget for GTK";
longDescription =
'' GtkImageView is a simple image viewer widget for GTK. Similar to
the image viewer panes in gThumb or Eye of Gnome. It makes writing
image viewing and editing applications easy. Among its features
are: mouse and keyboard zooming; scrolling and dragging; adjustable
interpolation; GIF animation support.
'';
longDescription = ''
GtkImageView is a simple image viewer widget for GTK. Similar to
the image viewer panes in gThumb or Eye of Gnome. It makes writing
image viewing and editing applications easy. Among its features
are: mouse and keyboard zooming; scrolling and dragging; adjustable
interpolation; GIF animation support.
'';
license = lib.licenses.lgpl2Plus;

View File

@ -44,11 +44,11 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Implementation of JavaScript written in Java";
longDescription =
'' Rhino is an open-source implementation of JavaScript written
entirely in Java. It is typically embedded into Java applications
to provide scripting to end users.
'';
longDescription = ''
Rhino is an open-source implementation of JavaScript written
entirely in Java. It is typically embedded into Java applications
to provide scripting to end users.
'';
homepage = "http://www.mozilla.org/rhino/";

View File

@ -36,20 +36,20 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Tools & library for data backup and distributed storage";
longDescription =
'' Libchop is a set of utilities and library for data backup and
distributed storage. Its main application is chop-backup, an
encrypted backup program that supports data integrity checks,
versioning at little cost, distribution among several sites,
selective sharing of stored data, adaptive compression, and more.
The library itself, which chop-backup builds upon, implements
storage techniques such as content-based addressing, content hash
keys, Merkle trees, similarity detection, and lossless compression.
It makes it easy to combine them in different ways. The
chop-archiver and chop-block-server tools, illustrated in the
manual, provide direct access to these facilities from the command
line. It is written in C and has Guile (Scheme) bindings.
'';
longDescription = ''
Libchop is a set of utilities and library for data backup and
distributed storage. Its main application is chop-backup, an
encrypted backup program that supports data integrity checks,
versioning at little cost, distribution among several sites,
selective sharing of stored data, adaptive compression, and more.
The library itself, which chop-backup builds upon, implements
storage techniques such as content-based addressing, content hash
keys, Merkle trees, similarity detection, and lossless compression.
It makes it easy to combine them in different ways. The
chop-archiver and chop-block-server tools, illustrated in the
manual, provide direct access to these facilities from the command
line. It is written in C and has Guile (Scheme) bindings.
'';
homepage = "https://www.nongnu.org/libchop/";
license = licenses.gpl3Plus;

View File

@ -44,11 +44,11 @@ stdenv.mkDerivation rec {
})
];
preConfigure =
'' echo "patching installation directory in \`extractor.c'..."
sed -i "src/main/extractor.c" \
-e "s|pexe[[:blank:]]*=.*$|pexe = strdup(\"$out/lib/\");|g"
'';
preConfigure = ''
echo "patching installation directory in \`extractor.c'..."
sed -i "src/main/extractor.c" \
-e "s|pexe[[:blank:]]*=.*$|pexe = strdup(\"$out/lib/\");|g"
'';
nativeBuildInputs = [ pkg-config ];
@ -71,26 +71,26 @@ stdenv.mkDerivation rec {
description = "Simple library for keyword extraction";
mainProgram = "extract";
longDescription =
'' GNU libextractor is a library used to extract meta-data from files
of arbitrary type. It is designed to use helper-libraries to perform
the actual extraction, and to be trivially extendable by linking
against external extractors for additional file types.
longDescription = ''
GNU libextractor is a library used to extract meta-data from files
of arbitrary type. It is designed to use helper-libraries to perform
the actual extraction, and to be trivially extendable by linking
against external extractors for additional file types.
The goal is to provide developers of file-sharing networks or
WWW-indexing bots with a universal library to obtain simple keywords
to match against queries. libextractor contains a shell-command
extract that, similar to the well-known file command, can extract
meta-data from a file an print the results to stdout.
The goal is to provide developers of file-sharing networks or
WWW-indexing bots with a universal library to obtain simple keywords
to match against queries. libextractor contains a shell-command
extract that, similar to the well-known file command, can extract
meta-data from a file an print the results to stdout.
Currently, libextractor supports the following formats: HTML, PDF,
PS, OLE2 (DOC, XLS, PPT), OpenOffice (sxw), StarOffice (sdw), DVI,
MAN, FLAC, MP3 (ID3v1 and ID3v2), NSF(E) (NES music), SID (C64
music), OGG, WAV, EXIV2, JPEG, GIF, PNG, TIFF, DEB, RPM, TAR(.GZ),
ZIP, ELF, S3M (Scream Tracker 3), XM (eXtended Module), IT (Impulse
Tracker), FLV, REAL, RIFF (AVI), MPEG, QT and ASF. Also, various
additional MIME types are detected.
'';
Currently, libextractor supports the following formats: HTML, PDF,
PS, OLE2 (DOC, XLS, PPT), OpenOffice (sxw), StarOffice (sdw), DVI,
MAN, FLAC, MP3 (ID3v1 and ID3v2), NSF(E) (NES music), SID (C64
music), OGG, WAV, EXIV2, JPEG, GIF, PNG, TIFF, DEB, RPM, TAR(.GZ),
ZIP, ELF, S3M (Scream Tracker 3), XM (eXtended Module), IT (Impulse
Tracker), FLV, REAL, RIFF (AVI), MPEG, QT and ASF. Also, various
additional MIME types are detected.
'';
license = licenses.gpl3Plus;

View File

@ -16,11 +16,13 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://xiph.org/fishsound/";
description = "Simple programming interface for decoding and encoding audio data using Xiph.org codecs (FLAC, Speex and Vorbis)";
longDescription = ''libfishsound by itself is designed to handle raw codec streams from a lower level layer such as UDP datagrams. When these codecs are used in files, they are commonly encapsulated in Ogg to produce Ogg FLAC, Speex and Ogg Vorbis files.
longDescription = ''
libfishsound by itself is designed to handle raw codec streams from a lower level layer such as UDP datagrams. When these codecs are used in files, they are commonly encapsulated in Ogg to produce Ogg FLAC, Speex and Ogg Vorbis files.
libfishsound is a wrapper around the existing codec libraries and provides a consistent, higher-level programming interface. It has been designed for use in a wide variety of applications; it has no direct dependencies on Ogg encapsulation, though it is most commonly used in conjunction with liboggz to decode or encode FLAC, Speex or Vorbis audio tracks in Ogg files, including Ogg Theora and Annodex.
libfishsound is a wrapper around the existing codec libraries and provides a consistent, higher-level programming interface. It has been designed for use in a wide variety of applications; it has no direct dependencies on Ogg encapsulation, though it is most commonly used in conjunction with liboggz to decode or encode FLAC, Speex or Vorbis audio tracks in Ogg files, including Ogg Theora and Annodex.
FishSound has been developed and tested on GNU/Linux, Darwin/MacOSX and Win32. It probably also works on other Unix-like systems via GNU autoconf. For Win32: nmake Makefiles, Visual Studio .NET 2003 solution files and Visual C++ 6.0 workspace files are all provided in the source distribution.'';
FishSound has been developed and tested on GNU/Linux, Darwin/MacOSX and Win32. It probably also works on other Unix-like systems via GNU autoconf. For Win32: nmake Makefiles, Visual Studio .NET 2003 solution files and Visual C++ 6.0 workspace files are all provided in the source distribution.
'';
platforms = platforms.unix;
license = licenses.bsd3;
};

View File

@ -50,12 +50,13 @@ stdenv.mkDerivation rec {
homepage = "http://www.clutter-project.org/";
description = "Clutter-based toolkit";
mainProgram = "mx-create-image-cache";
longDescription =
''Mx is a widget toolkit using Clutter that provides a set of standard
interface elements, including buttons, progress bars, scroll bars and
others. It also implements some standard managers. One other interesting
feature is the possibility setting style properties from a CSS format
file.'';
longDescription = ''
Mx is a widget toolkit using Clutter that provides a set of standard
interface elements, including buttons, progress bars, scroll bars and
others. It also implements some standard managers. One other interesting
feature is the possibility setting style properties from a CSS format
file.
'';
license = licenses.lgpl21;
maintainers = [ ];
platforms = with platforms; linux;

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