Merge master into haskell-updates

This commit is contained in:
github-actions[bot]
2024-10-23 00:16:22 +00:00
committed by GitHub
234 changed files with 2985 additions and 1916 deletions
+1
View File
@@ -26,5 +26,6 @@ jobs:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
- run: nix --experimental-features 'nix-command flakes' flake check --all-systems --no-build
# explicit list of supportedSystems is needed until aarch64-darwin becomes part of the trunk jobset
- run: nix-build pkgs/top-level/release.nix -A release-checks --arg supportedSystems '[ "aarch64-darwin" "aarch64-linux" "x86_64-linux" "x86_64-darwin" ]'
+6 -6
View File
@@ -27,7 +27,7 @@
# Libraries
/lib @infinisil
/lib/systems @alyssais @ericson2314
/lib/systems @alyssais @ericson2314 @NixOS/stdenv
/lib/generators.nix @infinisil @Profpatsch
/lib/cli.nix @infinisil @Profpatsch
/lib/debug.nix @infinisil @Profpatsch
@@ -49,10 +49,10 @@
/pkgs/top-level/splice.nix @Ericson2314
/pkgs/top-level/release-cross.nix @Ericson2314
/pkgs/top-level/by-name-overlay.nix @infinisil @philiptaron
/pkgs/stdenv @philiptaron
/pkgs/stdenv/generic @Ericson2314
/pkgs/stdenv/generic/check-meta.nix @Ericson2314
/pkgs/stdenv/cross @Ericson2314
/pkgs/stdenv @philiptaron @NixOS/stdenv
/pkgs/stdenv/generic @Ericson2314 @NixOS/stdenv
/pkgs/stdenv/generic/check-meta.nix @Ericson2314 @NixOS/stdenv
/pkgs/stdenv/cross @Ericson2314 @NixOS/stdenv
/pkgs/build-support @philiptaron
/pkgs/build-support/cc-wrapper @Ericson2314
/pkgs/build-support/bintools-wrapper @Ericson2314
@@ -179,7 +179,7 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @NixOS/nix-team @raitobeza
# C compilers
/pkgs/development/compilers/gcc
/pkgs/development/compilers/llvm @alyssais @RossComputerGuy
/pkgs/development/compilers/llvm @alyssais @RossComputerGuy @NixOS/llvm
/pkgs/development/compilers/emscripten @raitobezarius
/doc/languages-frameworks/emscripten.section.md @raitobezarius
+13
View File
@@ -232,6 +232,19 @@ To add a new plugin, run `nix-shell -p vimPluginsUpdater --run 'vim-plugins-upda
Finally, there are some plugins that are also packaged in nodePackages because they have Javascript-related build steps, such as running webpack. Those plugins are not listed in `vim-plugin-names` or managed by `vimPluginsUpdater` at all, and are included separately in `overrides.nix`. Currently, all these plugins are related to the `coc.nvim` ecosystem of the Language Server Protocol integration with Vim/Neovim.
### Testing Neovim plugins {#testing-neovim-plugins}
`nvimRequireCheck=MODULE` is a simple test which checks if Neovim can requires the lua module `MODULE` without errors. This is often enough to catch missing dependencies.
This can be manually added through plugin definition overrides in the [overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/overrides.nix).
```nix
gitsigns-nvim = super.gitsigns-nvim.overrideAttrs {
dependencies = [ self.plenary-nvim ];
nvimRequireCheck = "gitsigns";
};
```
### Plugin optional configuration {#vim-plugin-required-snippet}
Some plugins require specific configuration to work. We choose not to
+25 -6
View File
@@ -80,8 +80,17 @@
checks = forAllSystems (system: {
tarball = jobs.${system}.tarball;
# Exclude power64 due to "libressl is not available on the requested hostPlatform" with hostPlatform being power64
} // lib.optionalAttrs (self.legacyPackages.${system}.stdenv.hostPlatform.isLinux && !self.legacyPackages.${system}.targetPlatform.isPower64) {
} // lib.optionalAttrs
(
self.legacyPackages.${system}.stdenv.hostPlatform.isLinux
# Exclude power64 due to "libressl is not available on the requested hostPlatform" with hostPlatform being power64
&& !self.legacyPackages.${system}.targetPlatform.isPower64
# Exclude armv6l-linux due to "cannot bootstrap GHC on this platform ('armv6l-linux' with libc 'defaultLibc')"
&& system != "armv6l-linux"
# Exclude riscv64-linux due to "cannot bootstrap GHC on this platform ('riscv64-linux' with libc 'defaultLibc')"
&& system != "riscv64-linux"
)
{
# Test that ensures that the nixosSystem function can accept a lib argument
# Note: prefer not to extend or modify `lib`, especially if you want to share reusable modules
# alternatives include: `import` a file, or put a custom library in an option or in `_module.args.<libname>`
@@ -111,10 +120,20 @@
}).nixos.manual;
};
devShells = forAllSystems (system: {
/** A shell to get tooling for Nixpkgs development. See nixpkgs/shell.nix. */
default = import ./shell.nix { inherit system; };
});
devShells = forAllSystems (system:
{ } // lib.optionalAttrs
(
# Exclude armv6l-linux because "Package ghc-9.6.6 in .../pkgs/development/compilers/ghc/common-hadrian.nix:579 is not available on the requested hostPlatform"
system != "armv6l-linux"
# Exclude riscv64-linux because "Package ghc-9.6.6 in .../pkgs/development/compilers/ghc/common-hadrian.nix:579 is not available on the requested hostPlatform"
&& system != "riscv64-linux"
# Exclude FreeBSD because "Package ghc-9.6.6 in .../pkgs/development/compilers/ghc/common-hadrian.nix:579 is not available on the requested hostPlatform"
&& !self.legacyPackages.${system}.stdenv.hostPlatform.isFreeBSD
)
{
/** A shell to get tooling for Nixpkgs development. See nixpkgs/shell.nix. */
default = import ./shell.nix { inherit system; };
});
/**
A nested structure of [packages](https://nix.dev/manual/nix/latest/glossary#package-attribute-set) and other values.
+20 -1
View File
@@ -1817,6 +1817,13 @@
githubId = 338268;
name = "Alexei Robyn";
};
artem = {
email = "a@pelenitsyn.top";
github = "ulysses4ever";
githubId = 6832600;
name = "Artem Pelenitsyn";
matrix = "@artem.types:matrix.org";
};
artemist = {
email = "me@artem.ist";
github = "artemist";
@@ -8938,6 +8945,12 @@
githubId = 6109326;
name = "David Hummel";
};
husjon = {
name = "Jon Erling Hustadnes";
email = "jonerling.hustadnes+nixpkgs@gmail.com";
github = "husjon";
githubId = 554229;
};
husky = {
email = "husky@husky.sh";
github = "huskyistaken";
@@ -9480,6 +9493,12 @@
githubId = 1318743;
name = "Ivar";
};
ivyfanchiang = {
email = "dev@ivyfanchiang.ca";
github = "hexadecimalDinosaur";
githubId = 36890802;
name = "Ivy Fan-Chiang";
};
iwanb = {
email = "tracnar@gmail.com";
github = "iwanb";
@@ -18390,7 +18409,7 @@
};
rnhmjoj = {
email = "rnhmjoj@inventati.org";
matrix = "@rnhmjoj:maxwell.ydns.eu";
matrix = "@rnhmjoj:eurofusion.eu";
github = "rnhmjoj";
githubId = 2817565;
name = "Michele Guerini Rocco";
+15
View File
@@ -963,6 +963,21 @@ with lib.maintainers;
shortName = "Serokell employees";
};
stdenv = {
members = [
artturin
emily
ericson2314
philiptaron
reckenrode
RossComputerGuy
];
scope = "Maintain the standard environment and its surrounding logic.";
shortName = "stdenv";
enableFeatureFreezePing = true;
githubTeams = [ "stdenv" ];
};
steam = {
members = [
atemu
@@ -367,6 +367,11 @@
- `matrix-sliding-sync` was removed because it has been replaced by the simplified sliding sync functionality introduced in matrix-synapse 114.0.
- `nodePackages.coc-tslint`, `vimPlugins.coc-tslint`, `nodePackages.coc-tslint-plugin`,
and `vimPlugins.coc-tslint-plugin` were removed due to being deprecated upstream. The
`nodePackages.coc-eslint` and `vimPlugins.coc-eslint` packages offer comparable
features for `eslint`, which replaced `tslint`.
- `teleport` has been upgraded from major version 15 to major version 16.
Refer to upstream [upgrade instructions](https://goteleport.com/docs/management/operations/upgrading/)
and [release notes for v16](https://goteleport.com/docs/changelog/#1600-061324).
+1
View File
@@ -1471,6 +1471,7 @@
./services/web-apps/netbox.nix
./services/web-apps/nextcloud.nix
./services/web-apps/nextcloud-notify_push.nix
./services/web-apps/nextcloud-whiteboard-server.nix
./services/web-apps/nextjs-ollama-llm-ui.nix
./services/web-apps/nexus.nix
./services/web-apps/nifi.nix
@@ -78,6 +78,11 @@
};
config = lib.mkIf config.hardware.nvidia-container-toolkit.enable {
assertions = [
{ assertion = config.hardware.nvidia.datacenter.enable || lib.elem "nvidia" config.services.xserver.videoDrivers;
message = ''`nvidia-container-toolkit` requires nvidia datacenter or desktop drivers: set `hardware.nvidia.datacenter.enable` or add "nvidia" to `services.xserver.videoDrivers`'';
}];
virtualisation.docker = {
daemon.settings = lib.mkIf
(lib.versionAtLeast config.virtualisation.docker.package.version "25") {
@@ -130,9 +135,6 @@
]);
};
services.xserver.videoDrivers = lib.mkIf
(!config.hardware.nvidia.datacenter.enable) [ "nvidia" ];
systemd.services.nvidia-container-toolkit-cdi-generator = {
description = "Container Device Interface (CDI) for Nvidia generator";
wantedBy = [ "multi-user.target" ];
@@ -96,7 +96,12 @@ in {
extraConfig = lib.mkOption {
description = ''
Docker extra registry configuration via environment variables.
Docker extra registry configuration.
'';
example = lib.literalExpression ''
{
log.level = "debug";
}
'';
default = {};
type = lib.types.attrs;
@@ -375,8 +375,5 @@ in
};
};
meta.maintainers = with lib.maintainers; [
erictapen
nh2
];
meta.maintainers = with lib.maintainers; [ nh2 ];
}
@@ -979,7 +979,6 @@ in
};
meta.maintainers = with lib.maintainers; [
erictapen
Flakebi
oddlama
];
@@ -0,0 +1,72 @@
{
config,
lib,
pkgs,
...
}:
let
inherit (lib)
mkIf
mkEnableOption
mkOption
types
literalExpression
;
cfg = config.services.nextcloud-whiteboard-server;
in
{
options.services.nextcloud-whiteboard-server = {
enable = mkEnableOption "Nextcloud backend server for the Whiteboard app";
settings = mkOption {
type = types.attrsOf types.str;
default = { };
description = ''
Settings to configure backend server. Especially the Nextcloud host
url has to be set. The required environment variable `JWT_SECRET_KEY`
should be set via the secrets option.
'';
example = literalExpression ''
{
NEXTCLOUD_URL = "https://nextcloud.example.org";
}
'';
};
secrets = lib.mkOption {
type = with types; listOf str;
description = ''
A list of files containing the various secrets. Should be in the
format expected by systemd's `EnvironmentFile` directory.
'';
default = [ ];
};
};
config = mkIf cfg.enable {
systemd.services.nextcloud-whiteboard-server = {
description = "Nextcloud backend server for the Whiteboard app";
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
environment = cfg.settings;
serviceConfig = {
ExecStart = "${lib.getExe pkgs.nextcloud-whiteboard-server}";
WorkingDirectory = "%S/whiteboard";
StateDirectory = "whiteboard";
EnvironmentFile = [ cfg.secrets ];
DynamicUser = true;
};
};
};
meta.maintainers = with lib.maintainers; [ onny ];
}
+11 -1
View File
@@ -22,7 +22,6 @@ let
]
++ finalPackage.optional-dependencies.redis
++ lib.optionals cfg.celery.enable [ celery ]
++ lib.optionals (cfg.settings.database.backend == "mysql") finalPackage.optional-dependencies.mysql
++ lib.optionals (cfg.settings.database.backend == "postgresql") finalPackage.optional-dependencies.postgres;
};
in
@@ -184,6 +183,17 @@ in
};
};
files = {
upload_limit = lib.mkOption {
type = lib.types.ints.positive;
default = 10;
example = 50;
description = ''
Maximum file upload size in MiB.
'';
};
};
filesystem = {
data = lib.mkOption {
type = lib.types.path;
+4 -4
View File
@@ -182,21 +182,21 @@ in
message = "Either `services.wakapi.passwordSalt` or `services.wakapi.passwordSaltFile` must be set.";
}
{
assertion = cfg.passwordSalt != null -> cfg.passwordSaltFile != null;
assertion = !(cfg.passwordSalt != null && cfg.passwordSaltFile != null);
message = "Both `services.wakapi.passwordSalt` `services.wakapi.passwordSaltFile` should not be set at the same time.";
}
{
assertion = cfg.smtpPassword != null -> cfg.smtpPasswordFile != null;
assertion = !(cfg.smtpPassword != null && cfg.smtpPasswordFile != null);
message = "Both `services.wakapi.smtpPassword` `services.wakapi.smtpPasswordFile` should not be set at the same time.";
}
{
assertion = cfg.db.createLocally -> cfg.db.dialect != null;
assertion = cfg.database.createLocally -> cfg.settings.db.dialect != null;
message = "`services.wakapi.database.createLocally` is true, but a database dialect is not set!";
}
];
warnings = [
(lib.optionalString (cfg.db.createLocall -> cfg.db.dialect != "postgres") ''
(lib.optionalString (cfg.database.createLocally -> cfg.settings.db.dialect != "postgres") ''
You have enabled automatic database configuration, but the database dialect is not set to "posgres".
The Wakapi module only supports for PostgreSQL. Please set `services.wakapi.database.createLocally`
+1
View File
@@ -1108,6 +1108,7 @@ in {
vscode-remote-ssh = handleTestOn ["x86_64-linux"] ./vscode-remote-ssh.nix {};
vscodium = discoverTests (import ./vscodium.nix);
vsftpd = handleTest ./vsftpd.nix {};
wakapi = handleTest ./wakapi.nix {};
warzone2100 = handleTest ./warzone2100.nix {};
wasabibackend = handleTest ./wasabibackend.nix {};
wastebin = handleTest ./wastebin.nix {};
+1 -1
View File
@@ -16,7 +16,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
in
{
name = "kanidm";
meta.maintainers = with pkgs.lib.maintainers; [ erictapen Flakebi oddlama ];
meta.maintainers = with pkgs.lib.maintainers; [ Flakebi oddlama ];
nodes.server = { pkgs, ... }: {
services.kanidm = {
+40
View File
@@ -0,0 +1,40 @@
import ./make-test-python.nix (
{ lib, ... }:
{
name = "Wakapi";
nodes.machine = {
services.wakapi = {
enable = true;
settings = {
server.port = 3000; # upstream default, set explicitly in case upstream changes it
db = {
dialect = "postgres"; # `createLocally` only supports postgres
host = "/run/postgresql";
port = 5432; # service will fail if port is not set
name = "wakapi";
user = "wakapi";
};
};
database.createLocally = true;
# Created with `cat /dev/urandom | LC_ALL=C tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1`
# Prefer passwordSaltFile in production.
passwordSalt = "NpqCY7eY7fMoIWYmPx5mAgr6YoSlXSuI";
};
};
# Test that the service is running and that it is reachable.
# This is not very comprehensive for a test, but it should
# catch very basic mistakes in the module.
testScript = ''
machine.wait_for_unit("wakapi.service")
machine.wait_for_open_port(3000)
machine.succeed("curl --fail http://localhost:3000")
'';
meta.maintainers = [ lib.maintainers.NotAShelf ];
}
)
+28 -20
View File
@@ -1,29 +1,33 @@
{ lib
, stdenv
, fetchurl
, autoPatchelfHook
, dpkg
, alsa-lib
, freetype
, libglvnd
, curl
, libXcursor
, libXinerama
, libXrandr
, libXrender
, libjack2
{
lib,
stdenv,
fetchurl,
autoPatchelfHook,
dpkg,
alsa-lib,
freetype,
libglvnd,
curl,
libXcursor,
libXinerama,
libXrandr,
libXrender,
libjack2,
}:
stdenv.mkDerivation rec {
pname = "tonelib-gfx";
version = "4.7.8";
version = "4.8.5";
src = fetchurl {
url = "https://tonelib.net/download/221222/ToneLib-GFX-amd64.deb";
hash = "sha256-1sTwHqQYqNloZ3XSwhryqlW7b1FHh4ymtj3rKUcVZIo=";
url = "https://tonelib.vip/download/24-10-03/ToneLib-GFX-amd64.deb";
hash = "sha256-RG5rliF4/9LDd07i5dSFQzTGPqyF6UmTfatKb59LZA4=";
};
nativeBuildInputs = [ autoPatchelfHook dpkg ];
nativeBuildInputs = [
autoPatchelfHook
dpkg
];
buildInputs = [
stdenv.cc.cc.lib
@@ -46,14 +50,18 @@ stdenv.mkDerivation rec {
installPhase = ''
mv usr $out
substituteInPlace $out/share/applications/ToneLib-GFX.desktop --replace /usr/ $out/
'';
'';
meta = with lib; {
description = "Tonelib GFX is an amp and effects modeling software for electric guitar and bass";
homepage = "https://tonelib.net/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ dan4ik605743 orivej ];
maintainers = with maintainers; [
dan4ik605743
husjon
orivej
];
platforms = [ "x86_64-linux" ];
mainProgram = "ToneLib-GFX";
};
@@ -2,7 +2,6 @@
, stdenv
, fetchurl
, fetchFromGitHub
, fetchpatch2
, autoreconfHook
, pkg-config
, installShellFiles
@@ -15,6 +14,7 @@
, miniupnpc
, zeromq
, zlib
, db53
, sqlite
, qrencode
, qtbase ? null
@@ -33,23 +33,15 @@ let
in
stdenv.mkDerivation rec {
pname = if withGui then "groestlcoin" else "groestlcoind";
version = "27.0";
version = "28.0";
src = fetchFromGitHub {
owner = "Groestlcoin";
repo = "groestlcoin";
rev = "v${version}";
sha256 = "0f6vi2k5xvjrhiazfjcd4aj246dfcg51xsnqb9wdjl41cg0ckwmf";
sha256 = "0kl7nq62362clgzxwwd5c256xnaar4ilxcvbralazxg47zv95r11";
};
patches = [
# upnp: add compatibility for miniupnpc 2.2.8
(fetchpatch2 {
url = "https://github.com/Groestlcoin/groestlcoin/commit/8acdf66540834b9f9cf28f16d389e8b6a48516d5.patch?full_index=1";
hash = "sha256-oDvHUvwAEp0LJCf6QBESn38Bu359TcPpLhvuLX3sm6M=";
})
];
nativeBuildInputs = [ autoreconfHook pkg-config installShellFiles ]
++ lib.optionals stdenv.hostPlatform.isLinux [ util-linux ]
++ lib.optionals stdenv.hostPlatform.isDarwin [ hexdump ]
@@ -57,7 +49,7 @@ stdenv.mkDerivation rec {
++ lib.optionals withGui [ wrapQtAppsHook ];
buildInputs = [ boost libevent miniupnpc zeromq zlib ]
++ lib.optionals withWallet [ sqlite ]
++ lib.optionals withWallet [ db53 sqlite ]
++ lib.optionals withGui [ qrencode qtbase qttools ];
postInstall = ''
@@ -1,9 +1,9 @@
GEM
remote: https://rubygems.org/
specs:
msgpack (1.5.1)
msgpack (1.7.2)
multi_json (1.15.0)
neovim (0.9.0)
neovim (0.10.0)
msgpack (~> 1.1)
multi_json (~> 1.0)
@@ -14,4 +14,4 @@ DEPENDENCIES
neovim
BUNDLED WITH
2.1.4
2.3.27
@@ -4,10 +4,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "sha256-fPWiGi0w4OFlMZOIf3gd21jyeYhg5t/VdLz7kK9fD8Q=";
sha256 = "1a5adcb7bwan09mqhj3wi9ib52hmdzmqg7q08pggn3adibyn5asr";
type = "gem";
};
version = "1.5.1";
version = "1.7.2";
};
multi_json = {
groups = ["default"];
@@ -25,9 +25,9 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "sha256-hRI43XGHGeqxMvpFjp0o79GGReiLXTkhwh5LYq6AQL4=";
sha256 = "0gl34rriwwmj6p1s6ms0b311wmqaqiyc510svq31283jk0kp0qcd";
type = "gem";
};
version = "0.9.0";
version = "0.10.0";
};
}
+10 -2
View File
@@ -107,7 +107,10 @@ let
wrapperArgsStr = if lib.isString wrapperArgs then wrapperArgs else lib.escapeShellArgs wrapperArgs;
generatedWrapperArgs =
generatedWrapperArgs = let
binPath = lib.makeBinPath (lib.optional finalAttrs.withRuby rubyEnv ++ lib.optional finalAttrs.withNodeJs nodejs);
in
# vim accepts a limited number of commands so we join them all
[
"--add-flags" ''--cmd "lua ${providerLuaRc}"''
@@ -116,10 +119,15 @@ let
"--add-flags" ''--cmd "set packpath^=${finalPackdir}"''
"--add-flags" ''--cmd "set rtp^=${finalPackdir}"''
]
++ lib.optionals finalAttrs.withRuby [
"--set" "GEM_HOME" "${rubyEnv}/${rubyEnv.ruby.gemPath}"
] ++ lib.optionals (binPath != "") [
"--suffix" "PATH" ":" binPath
]
;
providerLuaRc = neovimUtils.generateProviderRc {
inherit withPython3 withNodeJs withPerl;
inherit (finalAttrs) withPython3 withNodeJs withPerl;
withRuby = rubyEnv != null;
};
@@ -9437,6 +9437,18 @@ final: prev:
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-refactor/";
};
nvim-treesitter-sexp = buildVimPlugin {
pname = "nvim-treesitter-sexp";
version = "2024-06-07";
src = fetchFromGitHub {
owner = "PaterJason";
repo = "nvim-treesitter-sexp";
rev = "32509f4071f9c8ba5655bf2e1ccf1f1cd8447da0";
sha256 = "1mfayp49nglk4xv1zmzdc8d6dxkjn3dqlywhwwkcdnyqg6y4c6ks";
};
meta.homepage = "https://github.com/PaterJason/nvim-treesitter-sexp/";
};
nvim-treesitter-textobjects = buildVimPlugin {
pname = "nvim-treesitter-textobjects";
version = "2024-10-16";
@@ -1676,6 +1676,10 @@ in
nvim-treesitter-parsers = lib.recurseIntoAttrs self.nvim-treesitter.grammarPlugins;
nvim-treesitter-sexp = super.nvim-treesitter-sexp.overrideAttrs {
nvimRequireCheck = "treesitter-sexp";
};
nvim-ufo = super.nvim-ufo.overrideAttrs {
dependencies = with self; [ promise-async ];
nvimRequireCheck = "ufo";
@@ -2761,8 +2765,6 @@ in
"coc-tabnine"
"coc-texlab"
"coc-toml"
"coc-tslint"
"coc-tslint-plugin"
"coc-tsserver"
"coc-ultisnips"
"coc-vetur"
@@ -792,6 +792,7 @@ https://github.com/RRethy/nvim-treesitter-endwise/,HEAD,
https://github.com/theHamsta/nvim-treesitter-pairs/,HEAD,
https://github.com/eddiebergman/nvim-treesitter-pyfold/,,
https://github.com/nvim-treesitter/nvim-treesitter-refactor/,,
https://github.com/PaterJason/nvim-treesitter-sexp/,HEAD,
https://github.com/nvim-treesitter/nvim-treesitter-textobjects/,,
https://github.com/RRethy/nvim-treesitter-textsubjects/,HEAD,
https://github.com/windwp/nvim-ts-autotag/,,
+1 -1
View File
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
for use by GMT, the Generic Mapping Tools.
'';
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ tviti ];
maintainers = lib.teams.geospatial.members ++ (with lib.maintainers; [ tviti ]);
};
}
+1 -1
View File
@@ -106,7 +106,7 @@ in stdenv.mkDerivation (finalAttrs: {
'';
platforms = lib.platforms.unix;
license = lib.licenses.lgpl3Plus;
maintainers = with lib.maintainers; [ tviti ];
maintainers = lib.teams.geospatial.members ++ (with lib.maintainers; [ tviti ]);
};
})
+1 -1
View File
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
Mapping Tools.
'';
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ tviti ];
maintainers = lib.teams.geospatial.members ++ (with lib.maintainers; [ tviti ]);
};
}
@@ -146,7 +146,7 @@ stdenv.mkDerivation (finalAttrs: {
description = "Software suite to create, edit, compose, or convert bitmap images";
pkgConfigModules = [ "ImageMagick" "MagickWand" ];
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ erictapen dotlambda rhendric ];
maintainers = with maintainers; [ dotlambda rhendric ];
license = licenses.asl20;
mainProgram = "magick";
};
@@ -116,9 +116,9 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Desktop application for creating diagrams";
homepage = "https://about.draw.io/";
license = licenses.asl20;
license = licenses.unfree;
changelog = "https://github.com/jgraph/drawio-desktop/releases/tag/v${version}";
maintainers = with maintainers; [ qyliss darkonion0 ];
maintainers = with maintainers; [ darkonion0 ];
platforms = platforms.darwin ++ platforms.linux;
mainProgram = "drawio";
};
+97 -73
View File
@@ -1,46 +1,56 @@
{ lib
, mkDerivation
{
lib,
mkDerivation,
, cmake
, extra-cmake-modules
, makeWrapper
, shared-mime-info
cmake,
extra-cmake-modules,
makeWrapper,
shared-mime-info,
, qtbase
, qtsvg
, qttools
, qtwebengine
, qtxmlpatterns
fetchpatch,
qtbase,
qtsvg,
qttools,
qtwebengine,
qtxmlpatterns,
, poppler
poppler,
, karchive
, kcompletion
, kconfig
, kcoreaddons
, kcrash
, kdoctools
, ki18n
, kiconthemes
, kio
, knewstuff
, kparts
, kpty
, ktexteditor
, ktextwidgets
, kxmlgui
, syntax-highlighting
karchive,
kcompletion,
kconfig,
kcoreaddons,
kcrash,
kdoctools,
ki18n,
kiconthemes,
kio,
knewstuff,
kparts,
kpty,
ktexteditor,
ktextwidgets,
kxmlgui,
syntax-highlighting,
, libspectre
libspectre,
# Backends. Set to null if you want to omit from the build
, withAnalitza ? true, analitza
, wtihJulia ? true, julia
, withQalculate ? true, libqalculate
, withLua ? true, luajit
, withPython ? true, python3
, withR ? true, R
, withSage ? true, sage, sage-with-env ? sage.with-env
# Backends. Set to null if you want to omit from the build
withAnalitza ? true,
analitza,
wtihJulia ? true,
julia,
withQalculate ? true,
libqalculate,
withLua ? true,
luajit,
withPython ? true,
python3,
withR ? true,
R,
withSage ? true,
sage,
sage-with-env ? sage.with-env,
}:
mkDerivation {
@@ -54,42 +64,42 @@ mkDerivation {
qttools
];
buildInputs = [
qtbase
qtsvg
qtwebengine
qtxmlpatterns
buildInputs =
[
qtbase
qtsvg
qtwebengine
qtxmlpatterns
poppler
poppler
karchive
kcompletion
kconfig
kcoreaddons
kcrash
kdoctools
ki18n
kiconthemes
kio
knewstuff
kparts
kpty
ktexteditor
ktextwidgets
kxmlgui
syntax-highlighting
karchive
kcompletion
kconfig
kcoreaddons
kcrash
kdoctools
ki18n
kiconthemes
kio
knewstuff
kparts
kpty
ktexteditor
ktextwidgets
kxmlgui
syntax-highlighting
libspectre
]
# backends
++ lib.optional withAnalitza analitza
++ lib.optional wtihJulia julia
++ lib.optional withQalculate libqalculate
++ lib.optional withLua luajit
++ lib.optional withPython python3
++ lib.optional withR R
++ lib.optional withSage sage-with-env
;
libspectre
]
# backends
++ lib.optional withAnalitza analitza
++ lib.optional wtihJulia julia
++ lib.optional withQalculate libqalculate
++ lib.optional withLua luajit
++ lib.optional withPython python3
++ lib.optional withR R
++ lib.optional withSage sage-with-env;
qtWrapperArgs = [
"--prefix PATH : ${placeholder "out"}/bin"
@@ -98,10 +108,24 @@ mkDerivation {
# Causes failures on Hydra and ofborg from some reason
enableParallelBuilding = false;
meta = with lib; {
patches = [
# fix build for julia 1.1 from upstream
(fetchpatch {
url = "https://github.com/KDE/cantor/commit/ed9525ec7895c2251668d11218f16f186db48a59.patch?full_index=1";
hash = "sha256-paq0e7Tl2aiUjBf1bDHLLUpShwdCQLICNTPNsXSoe5M=";
})
];
meta = {
description = "Front end to powerful mathematics and statistics packages";
homepage = "https://cantor.kde.org/";
license = with licenses; [ bsd3 cc0 gpl2Only gpl2Plus gpl3Only ];
maintainers = with maintainers; [ hqurve ];
license = with lib.licenses; [
bsd3
cc0
gpl2Only
gpl2Plus
gpl3Only
];
maintainers = with lib.maintainers; [ hqurve ];
};
}
@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "cloudflared";
version = "2024.9.1";
version = "2024.10.0";
src = fetchFromGitHub {
owner = "cloudflare";
repo = "cloudflared";
rev = "refs/tags/${version}";
hash = "sha256-PFe58tdLc6RtLFrGuL9y+FWNGIASXCDawxSG2He2IQ0=";
hash = "sha256-xCLLWe15+YmU3SyWkclzHBojHi32nUJGe4xY3NZC05M=";
};
vendorHash = null;
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kube-router";
version = "2.2.1";
version = "2.2.2";
src = fetchFromGitHub {
owner = "cloudnativelabs";
repo = pname;
rev = "v${version}";
hash = "sha256-Pm/CrB/RxCvEhNdCyfI7kF62cxpx96Cj2zWmW0wl5wM=";
hash = "sha256-ABSjF3Wd7Ue/c+j2BvjB0UgAMccGUgJsj33JHMG8ijs=";
};
vendorHash = "sha256-sIWRODIV3iJ5FdVjVwesqfbYivOlqZAvPSYa38vhCMA=";
@@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "signalbackup-tools";
version = "20240929";
version = "20241021-1";
src = fetchFromGitHub {
owner = "bepaald";
repo = "signalbackup-tools";
rev = version;
hash = "sha256-OXn/RMc2v099S8/atQTYz1YwSH0sD7o7ZImlrBmUlSE=";
hash = "sha256-fO/GSnmXsB4YVnfBBh1IXai15JeRLcAiihufIouBpxw=";
};
nativeBuildInputs = [
@@ -1,41 +0,0 @@
{ lib, stdenv, fetchurl, openssl, ncurses, libiconv, tcl, coreutils, fetchpatch, libxcrypt }:
stdenv.mkDerivation rec {
pname = "epic5";
version = "2.0.1";
src = fetchurl {
url = "http://ftp.epicsol.org/pub/epic/EPIC5-PRODUCTION/${pname}-${version}.tar.xz";
sha256 = "1ap73d5f4vccxjaaq249zh981z85106vvqmxfm4plvy76b40y9jm";
};
# Darwin needs libiconv, tcl; while Linux build don't
buildInputs = [ openssl ncurses libxcrypt ]
++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv tcl ];
patches = [
(fetchpatch {
url = "https://sources.debian.net/data/main/e/epic5/2.0.1-1/debian/patches/openssl-1.1.patch";
sha256 = "03bpsyv1sr5icajs2qkdvv8nnn6rz6yvvj7pgiq8gz9sbp6siyfv";
})
];
configureFlags = [ "--disable-debug" "--with-ipv6" ];
postConfigure = ''
substituteInPlace bsdinstall \
--replace /bin/cp ${coreutils}/bin/cp \
--replace /bin/rm ${coreutils}/bin/rm \
--replace /bin/chmod ${coreutils}/bin/chmod \
'';
meta = with lib; {
homepage = "http://epicsol.org";
description = "IRC client that offers a great ircII interface";
license = licenses.bsd3;
maintainers = [ ];
};
}
@@ -13,6 +13,7 @@ let
python = python3;
pythonDeps = with python.pkgs; [
distutils
flask flask-assets flask-login flask-sqlalchemy flask-migrate flask-seasurf flask-mail flask-session flask-session-captcha flask-sslify
mysqlclient psycopg2 sqlalchemy
certifi cffi configobj cryptography bcrypt requests python-ldap pyotp qrcode dnspython
@@ -25,13 +25,13 @@
stdenv.mkDerivation rec {
pname = "polymake";
version = "4.12";
version = "4.13";
src = fetchurl {
# "The minimal version is a packager friendly version which omits
# the bundled sources of cdd, lrs, libnormaliz, nauty and jReality."
url = "https://polymake.org/lib/exe/fetch.php/download/polymake-${version}-minimal.tar.bz2";
sha256 = "sha256-vVpmf/ykv3641RE0Awzj3zsW3Z0OgA+v2xzoNYZ2QNk=";
sha256 = "sha256-862s0GO56mDV6cN8YYP127dFiwyzSR66Pvw48gxWXOs=";
};
nativeBuildInputs = [
@@ -17,6 +17,8 @@
, vala
, cmake
, libmicrodns
, gtuber
, glib-networking
}:
stdenv.mkDerivation (finalAttrs: {
@@ -49,6 +51,8 @@ stdenv.mkDerivation (finalAttrs: {
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly
gtuber
glib-networking # for TLS support
gtk4
libGL
libadwaita
+1 -1
View File
@@ -71,7 +71,7 @@ mkDerivation rec {
description = "Open source video mapping software";
homepage = "https://github.com/mapmapteam/mapmap";
license = licenses.gpl3;
maintainers = [ maintainers.erictapen ];
maintainers = [ ];
platforms = platforms.linux;
mainProgram = "mapmap";
};
@@ -1,4 +1,4 @@
{ lib, rustPlatform, fetchgit
{ lib, rustPlatform, fetchgit, fetchpatch
, pkg-config, protobuf, python3, wayland-scanner
, libcap, libdrm, libepoxy, minijail, virglrenderer, wayland, wayland-protocols
, pkgsCross
@@ -6,18 +6,27 @@
rustPlatform.buildRustPackage rec {
pname = "crosvm";
version = "128.1";
version = "129.0";
src = fetchgit {
url = "https://chromium.googlesource.com/chromiumos/platform/crosvm";
rev = "57702acf01cbd0e560e058dc97d22378d0c49ecc";
hash = "sha256-lQStmmTxMC9Iq6vJxJMFIUUtaixJNGuBfAvBo9KKrjU=";
rev = "b7fd753b43baf2da422a1fe5e2c6d05180f7cd0b";
hash = "sha256-y1PlqX6ghCet2SdtS/M2rXy58mHyHMLOxy3OrcoHSJk=";
fetchSubmodules = true;
};
patches = [
(fetchpatch {
name = "cross-domain.patch";
url = "https://chromium.googlesource.com/chromiumos/platform/crosvm/+/60053cdf0b360a03084292b39120365fff65d410%5E%21/?format=TEXT";
decode = "base64 -d";
hash = "sha256-U5eOxuAtVLjJ+8h16lmbJYNxsP/AOEv/1ec4WlUxP2E=";
})
];
separateDebugInfo = true;
cargoHash = "sha256-qKCO9Rkk04HznExgYKJgpssZDjWfhsY2XOBifvtHFos=";
cargoHash = "sha256-zQ2Y0/xjnHN75nX0Awigrh9Cnuh8N47XwDhq+ZLITDg=";
nativeBuildInputs = [
pkg-config protobuf python3 rustPlatform.bindgenHook wayland-scanner
@@ -1,5 +1,5 @@
#! /usr/bin/env nix-shell
#! nix-shell -p common-updater-scripts python3
#! nix-shell -p common-updater-scripts nix-update python3
#! nix-shell -i python
import csv
@@ -52,3 +52,6 @@ with urlopen(f'https://chromium.googlesource.com/chromiumos/platform/crosvm/+log
# Update the version, git revision, and hash in crosvm's default.nix.
subprocess.run(['update-source-version', 'crosvm', f'--rev={rev}', version])
# Update cargoHash.
subprocess.run(['nix-update', '--version=skip', 'crosvm'])
@@ -75,11 +75,11 @@ stdenv.mkDerivation (finalAttrs: {
+ lib.optionalString nixosTestRunner "-for-vm-tests"
+ lib.optionalString toolsOnly "-utils"
+ lib.optionalString userOnly "-user";
version = "9.1.0";
version = "9.1.1";
src = fetchurl {
url = "https://download.qemu.org/qemu-${finalAttrs.version}.tar.xz";
hash = "sha256-gWtwIqi6fCrDDi4M+XPoJva8yFBTOWAyEsXt6OlNeDQ=";
hash = "sha256-fcD52lSR/0SVAPMxAGOja2GfI27kVwb9CEbrN9S7qIk=";
};
depsBuildBuild = [ buildPlatformStdenv.cc ]
@@ -12,7 +12,6 @@
, readline70
, xz
, cups
, glibc
, libaio
, vulkan-loader
, alsa-lib
@@ -20,8 +19,7 @@
, libxcrypt-legacy
, libGL
, numactl
, libX11
, libXi
, xorg
, kmod
, python3
, autoPatchelfHook
@@ -29,48 +27,17 @@
, symlinkJoin
, enableInstaller ? false, bzip2, sqlite
, enableMacOSGuests ? false, fetchFromGitHub, unzip
, enableGuestTools ? true,
}:
let
# base - versions
version = "17.5.2";
build = "23775571";
version = "17.6.1";
build = "24319023";
baseUrl = "https://softwareupdate.vmware.com/cds/vmw-desktop/ws/${version}/${build}/linux";
# tools - versions
toolsVersion = "12.4.0";
toolsBuild = "23259341";
# macOS - versions
fusionVersion = "13.5.2";
fusionBuild = "23775688";
unlockerVersion = "3.0.5";
guestToolsSrc =
let
fetchComponent = (system: hash: fetchzip {
inherit hash;
url = "${baseUrl}/packages/vmware-tools-${system}-${toolsVersion}-${toolsBuild}.x86_64.component.tar";
stripRoot = false;
} + "/vmware-tools-${system}-${toolsVersion}-${toolsBuild}.x86_64.component");
in lib.mapAttrsToList fetchComponent {
linux = "sha256-vT08mR6cCXZjiQgb9jy+MaqYzS0hFbNUM7xGAHIJ8Ao=";
linuxPreGlibc25 = "sha256-BodN1lxuhxyLlxIQSlVhGKItJ10VPlti/sEyxcRF2SA=";
netware = "sha256-o/S4wAYLR782Fn20fTQ871+rzsa1twnAxb9laV16XIk=";
solaris = "sha256-3LdFoI4TD5zxlohDGR3DRGbF6jwDZAoSMEpHWU4vSGU=";
winPre2k = "sha256-+QcvWfY3aCDxUwAfSuj7Wf9sxIO+ztWBrRolMim8Dfw=";
winPreVista = "sha256-3NgO/GdRFTpKNo45TMet0msjzxduuoF4nVLtnOUTHUA=";
windows = "sha256-2F7UPjNvtibmWAJxpB8IOnol12aMOGMy+403WeCTXw8=";
};
# macOS - ISOs
darwinIsoSrc = fetchzip {
url = "https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/${fusionVersion}/${fusionBuild}/universal/core/com.vmware.fusion.zip.tar";
sha256 = "sha256-DDLRWAVRI3ZeXV5bUXWwput9mEC1qsJUsjojI0CJYMI=";
stripRoot = false;
} + "/com.vmware.fusion.zip";
# macOS - Unlocker
unlockerSrc = fetchFromGitHub {
owner = "paolo-projects";
@@ -104,7 +71,6 @@ stdenv.mkDerivation rec {
readline
xz
cups
glibc
libaio
vulkan-loader
alsa-lib
@@ -112,9 +78,21 @@ stdenv.mkDerivation rec {
libxcrypt-legacy
libGL
numactl
libX11
libXi
kmod
xorg.libX11
xorg.libXau
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXdmcp
xorg.libXext
xorg.libXfixes
xorg.libXft
xorg.libXinerama
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXScrnSaver
xorg.libXtst
];
nativeBuildInputs = [ python3 vmware-unpack-env autoPatchelfHook makeWrapper ]
@@ -123,23 +101,13 @@ stdenv.mkDerivation rec {
src = fetchzip {
url = "${baseUrl}/core/VMware-Workstation-${version}-${build}.x86_64.bundle.tar";
sha256 = "sha256-5PZZpXN/V687TXjqeTm8MEays4/QTf02jVfdpi9C7GI=";
sha256 = "sha256-VzfiIawBDz0f1w3eynivW41Pn4SqvYf/8o9q14hln4s=";
stripRoot = false;
} + "/VMware-Workstation-${version}-${build}.x86_64.bundle";
unpackPhase = let
guestTools = lib.optionalString enableGuestTools (lib.concatMapStringsSep " " (src: "--install-component ${src}") guestToolsSrc);
in
unpackPhase =
''
${vmware-unpack-env}/bin/vmware-unpack-env -c "sh ${src} ${guestTools} --extract unpacked"
${lib.optionalString enableMacOSGuests ''
mkdir -p fusion/
unzip "${darwinIsoSrc}" \
"payload/VMware Fusion.app/Contents/Library/isoimages/x86_x64/darwin.iso" \
"payload/VMware Fusion.app/Contents/Library/isoimages/x86_x64/darwinPre15.iso" \
-d fusion/
''}
${vmware-unpack-env}/bin/vmware-unpack-env -c "sh ${src} --extract unpacked"
'';
postPatch = lib.optionalString enableMacOSGuests ''
@@ -258,8 +226,8 @@ stdenv.mkDerivation rec {
--add-needed ${libpulseaudio}/lib/libpulse.so.0 \
--add-needed ${libGL}/lib/libEGL.so.1 \
--add-needed ${numactl}/lib/libnuma.so.1 \
--add-needed ${libX11}/lib/libX11.so.6 \
--add-needed ${libXi}/lib/libXi.so.6 \
--add-needed ${xorg.libX11}/lib/libX11.so.6 \
--add-needed ${xorg.libXi}/lib/libXi.so.6 \
--add-needed ${libGL}/lib/libGL.so.1 \
$out/lib/vmware/bin/$binary
done
@@ -282,28 +250,6 @@ stdenv.mkDerivation rec {
unpacked="unpacked/vmware-network-editor"
cp -r $unpacked/lib $out/lib/vmware/
mkdir -p $out/lib/vmware/isoimages/
${lib.optionalString enableGuestTools ''
echo "Installing VMware Tools"
cp unpacked/vmware-tools-linux/linux.iso \
unpacked/vmware-tools-linuxPreGlibc25/linuxPreGlibc25.iso \
unpacked/vmware-tools-netware/netware.iso \
unpacked/vmware-tools-solaris/solaris.iso \
unpacked/vmware-tools-winPre2k/winPre2k.iso \
unpacked/vmware-tools-winPreVista/winPreVista.iso \
unpacked/vmware-tools-windows/windows.iso \
$out/lib/vmware/isoimages/
''}
${lib.optionalString enableMacOSGuests ''
echo "Installing VMWare Tools for MacOS"
cp -v \
"fusion/payload/VMware Fusion.app/Contents/Library/isoimages/x86_x64/darwin.iso" \
"fusion/payload/VMware Fusion.app/Contents/Library/isoimages/x86_x64/darwinPre15.iso" \
$out/lib/vmware/isoimages/
''}
## VMware Player Application
echo "Installing VMware Player Application"
unpacked="unpacked/vmware-player-app"
@@ -408,6 +354,14 @@ stdenv.mkDerivation rec {
rm $out/lib/vmware/bin/vmware-vmx
ln -s /run/wrappers/bin/vmware-vmx $out/lib/vmware/bin/vmware-vmx
# Remove shipped X11 libraries
for lib in $out/lib/vmware/lib/* $out/lib/vmware-ovftool/lib*.so*; do
lib_name="$(basename "$lib")"
if [[ "$lib_name" == libX* || "$lib_name" == libxcb* ]]; then
rm -rf "$lib"
fi
done
runHook postInstall
'';
@@ -72,6 +72,10 @@ lib.fix (self: {
# Example: { "node_modules/axios" = { curlOptsList = [ "--verbose" ]; }; }
# This will download the axios package with curl's verbose option.
, fetcherOpts ? {}
# A map from node_module path to an alternative package to use instead of fetching the source in package-lock.json.
# Example: { "node_modules/axios" = stdenv.mkDerivation { ... }; }
# This is usefull if you want to inject custom sources for a specific package.
, packageSourceOverrides ? {}
}:
let
mapLockDependencies =
@@ -94,10 +98,10 @@ lib.fix (self: {
mapAttrs
(modulePath: module:
let
src = fetchModule {
src = packageSourceOverrides.${modulePath} or (fetchModule {
inherit module npmRoot;
fetcherOpts = fetcherOpts.${modulePath} or {};
};
});
in
cleanModule module
// lib.optionalAttrs (src != null) {
+33
View File
@@ -0,0 +1,33 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "albedo";
version = "0.0.16";
src = fetchFromGitHub {
owner = "coreruleset";
repo = "albedo";
rev = "refs/tags/v${version}";
hash = "sha256-HMW0SIcPDCy2QNfxpMke+/d1XCNpyx6RL6RCZAmU+WE=";
};
vendorHash = "sha256-3YBcu/GEonEoORbB7x6YGpIl7kEzUQ9PAZNFB8NKb+c=";
ldflags = [
"-s"
"-w"
];
meta = {
description = "HTTP reflector and black hole";
homepage = "https://github.com/coreruleset/albedo";
changelog = "https://github.com/coreruleset/albedo/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "albedo";
};
}
+36
View File
@@ -0,0 +1,36 @@
{
lib,
fetchFromGitHub,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "alioth";
version = "0.5.0";
src = fetchFromGitHub {
owner = "google";
repo = "alioth";
rev = "refs/tags/v${version}";
hash = "sha256-K0Hx6EJYyPJZA+FLIj44BtUuZZOqWW2DUJt1QbeZyu0=";
};
# Checks use `debug_assert_eq!`
checkType = "debug";
cargoHash = "sha256-J+1SXHQJJxT0qN/ELAvwQFnKCo13ZrQClpbfleM4PkA=";
separateDebugInfo = true;
meta = with lib; {
homepage = "https://github.com/google/alioth";
description = "Experimental Type-2 Hypervisor in Rust implemented from scratch";
license = licenses.asl20;
mainProgram = "alioth";
maintainers = with maintainers; [ astro ];
platforms = [
"aarch64-linux"
"x86_64-linux"
];
};
}
+6
View File
@@ -141,6 +141,12 @@ py.pkgs.buildPythonApplication rec {
export HOME=$(mktemp -d)
'';
# Propagating dependencies leaks them through $PYTHONPATH which causes issues
# when used in nix-shell.
postFixup = ''
rm $out/nix-support/propagated-build-inputs
'';
pytestFlagsArray = [
"-Wignore::DeprecationWarning"
];
@@ -44,12 +44,12 @@ stdenv.mkDerivation (finalAttrs: {
''
# Uses pkg_get_variable, cannot substitute prefix with that
substituteInPlace data/CMakeLists.txt \
--replace "\''${SYSTEMD_USER_DIR}" "$out/lib/systemd/user"
--replace-fail "\''${SYSTEMD_USER_DIR}" "$out/lib/systemd/user"
# Bad concatenation
substituteInPlace libmessaging-menu/messaging-menu.pc.in \
--replace "\''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@" '@CMAKE_INSTALL_FULL_LIBDIR@' \
--replace "\''${prefix}/@CMAKE_INSTALL_INCLUDEDIR@" '@CMAKE_INSTALL_FULL_INCLUDEDIR@'
--replace-fail "\''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@" '@CMAKE_INSTALL_FULL_LIBDIR@' \
--replace-fail "\''${prefix}/@CMAKE_INSTALL_INCLUDEDIR@" '@CMAKE_INSTALL_FULL_INCLUDEDIR@'
# Fix tests with gobject-introspection 1.80 not installing GLib introspection data
substituteInPlace tests/CMakeLists.txt \
+78
View File
@@ -0,0 +1,78 @@
{
autoPatchelfHook,
boost,
bzip2,
cereal,
cmake,
eigen,
extra-cmake-modules,
fetchFromGitLab,
fmt,
freeglut,
glew,
lib,
libepoxy,
libGL,
lz4,
magic-enum,
nix-update-script,
opencv,
pkg-config,
stdenv,
tbb,
xorg,
}:
stdenv.mkDerivation {
pname = "basalt-monado";
version = "0-unstable-2024-06-21";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "mateosss";
repo = "basalt";
rev = "385c161f35720df3a6c606054565f9d49a1c5787";
hash = "sha256-+2/pc2OWDwE04xPcfHL5GGyhQ1ZTN6o7cCNAilDgd2Y=";
fetchSubmodules = true;
};
nativeBuildInputs = [
autoPatchelfHook
cmake
extra-cmake-modules
pkg-config
];
buildInputs = [
boost
bzip2
cereal
eigen
fmt
freeglut
glew
libepoxy
libGL
lz4
magic-enum
opencv
tbb
xorg.libX11
];
cmakeFlags = [
(lib.cmakeBool "BASALT_INSTANTIATIONS_DOUBLE" false)
(lib.cmakeBool "BUILD_TESTS" false)
(lib.cmakeFeature "EIGEN_ROOT" "${eigen}/include/eigen3")
];
passthru.updateScript = nix-update-script { };
meta = {
description = "A fork of Basalt improved for tracking XR devices with Monado";
homepage = "https://gitlab.freedesktop.org/mateosss/basalt";
license = lib.licenses.bsd3;
mainProgram = "basalt_vio";
maintainers = [ lib.maintainers.locochoco ];
platforms = lib.platforms.linux;
};
}
+2 -2
View File
@@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "bustools";
version = "0.44.0";
version = "0.44.1";
src = fetchFromGitHub {
owner = "BUStools";
repo = "bustools";
rev = "v${version}";
sha256 = "sha256-chdHwwnhHFGJLu4KZmFJp3SZ26GFnbelm3Qz0yeKoBs=";
sha256 = "sha256-0Y+9T9V+l20hqxpKbSWsEB0tt8A/ctYcoPN2n/roxvg=";
};
nativeBuildInputs = [ cmake ];
+38 -29
View File
@@ -1,19 +1,18 @@
{ lib
, fetchFromGitHub
, stdenv
, cmake
, pkg-config
, installShellFiles
, libclang
, clang
, llvmPackages
, libllvm
, yaml-cpp
, elfutils
, libunwind
, enableLibcxx ? false
, debug ? false
,
{
lib,
fetchFromGitHub,
stdenv,
cmake,
pkg-config,
installShellFiles,
libclang,
llvmPackages,
libllvm,
yaml-cpp,
elfutils,
libunwind,
enableLibcxx ? false,
debug ? false,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "clang-uml";
@@ -26,17 +25,27 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-YzHlauVuFLT2PmfqJBNwqQ/P7d7tyl3brk7Vo/kTOF4=";
};
nativeBuildInputs = [
cmake
pkg-config
installShellFiles
] ++ (if debug then [
elfutils
libunwind
] else [ ]);
nativeBuildInputs =
[
cmake
pkg-config
installShellFiles
]
++ (
if debug then
[
elfutils
libunwind
]
else
[ ]
);
cmakeFlags = [
"-DCUSTOM_COMPILE_OPTIONS=-Wno-error=sign-compare"
];
buildInputs = [
clang
libclang
libllvm
yaml-cpp
@@ -63,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
dontFixup = debug;
dontStrip = debug;
meta = with lib; {
meta = {
description = "Customizable automatic UML diagram generator for C++ based on Clang";
longDescription = ''
clang-uml is an automatic C++ to UML class, sequence, package and include diagram generator, driven by YAML configuration files.
@@ -71,9 +80,9 @@ stdenv.mkDerivation (finalAttrs: {
The configuration file or files for clang-uml define the types and contents of each generated diagram.
The diagrams can be generated in PlantUML, MermaidJS and JSON formats.
'';
maintainers = with maintainers; [ eymeric ];
maintainers = with lib.maintainers; [ eymeric ];
homepage = "https://clang-uml.github.io/";
license = licenses.asl20;
platforms = platforms.all;
license = lib.licenses.asl20;
platforms = lib.platforms.all;
};
})
@@ -0,0 +1,44 @@
diff --git a/XOptions/xoptions.cpp b/XOptions/xoptions.cpp
index ca5723e..30574a5 100755
--- a/XOptions/xoptions.cpp
+++ b/XOptions/xoptions.cpp
@@ -1531,14 +1531,7 @@ bool XOptions::checkNative(const QString &sIniFileName)
#if defined(Q_OS_MAC)
bResult = true;
#elif defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD)
- QString sApplicationDirPath = qApp->applicationDirPath();
-
- if ((sApplicationDirPath == "/bin") || (sApplicationDirPath == "/usr/bin") || (sApplicationDirPath == "/usr/local/bin") ||
- (sApplicationDirPath.contains("/usr/local/bin$")) || isAppImage()) {
- bResult = true;
- } else {
- bResult = false;
- }
+ bResult = true;
#elif defined(Q_OS_WIN)
QString sApplicationDirPath = qApp->applicationDirPath();
@@ -1565,22 +1558,7 @@ QString XOptions::getApplicationDataPath()
#ifdef Q_OS_MAC
sResult = sApplicationDirPath + "/../Resources";
#elif defined(Q_OS_LINUX)
- if (isNative()) {
- if (sApplicationDirPath.contains("/usr/local/bin$")) {
- QString sPrefix = sApplicationDirPath.section("/usr/local/bin", 0, 0);
-
- sResult += sPrefix + QString("/usr/local/lib/%1").arg(qApp->applicationName());
- } else {
- if (sApplicationDirPath.contains("/tmp/.mount_")) // AppImage
- {
- sResult = sApplicationDirPath.section("/", 0, 2);
- }
-
- sResult += QString("/usr/lib/%1").arg(qApp->applicationName());
- }
- } else {
- sResult = sApplicationDirPath;
- }
+ sResult = sApplicationDirPath + "/../lib/die";
#elif defined(Q_OS_FREEBSD)
sResult = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation).at(1) + QDir::separator() + qApp->applicationName();
#else
@@ -0,0 +1,68 @@
{
lib,
stdenv,
fetchFromGitHub,
libsForQt5,
freetype,
graphite2,
icu,
krb5,
systemdLibs,
imagemagick,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "detect-it-easy";
version = "3.09";
src = fetchFromGitHub {
owner = "horsicq";
repo = "DIE-engine";
rev = finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-A9YZBlGf3j+uSefPiDhrS1Qtu6vaLm4Yodt7BioGD2Q=";
};
patches = [ ./0001-remove-hard-coded-paths-in-xoptions.patch ];
buildInputs = [
libsForQt5.qtbase
libsForQt5.qtscript
libsForQt5.qtsvg
graphite2
freetype
icu
krb5
systemdLibs
];
nativeBuildInputs = [
libsForQt5.wrapQtAppsHook
libsForQt5.qmake
imagemagick
];
enableParallelBuilding = true;
# work around wrongly created dirs in `install.sh`
# https://github.com/horsicq/DIE-engine/issues/110
preInstall = ''
mkdir -p $out/bin
mkdir -p $out/share/applications
mkdir -p $out/share/icons
'';
# clean up wrongly created dirs in `install.sh` and broken .desktop file
postInstall = ''
rm -r $out/lib/{bin,share}
grep -v "Version=#VERSION#" $src/LINUX/die.desktop > $out/share/applications/die.desktop
'';
meta = {
description = "Program for determining types of files for Windows, Linux and MacOS.";
mainProgram = "die";
homepage = "https://github.com/horsicq/Detect-It-Easy";
maintainers = with lib.maintainers; [ ivyfanchiang ];
platforms = [ "x86_64-linux" ];
license = lib.licenses.mit;
};
})
+51
View File
@@ -0,0 +1,51 @@
{
lib,
stdenv,
ruby,
fetchurl,
openssl,
ncurses,
libiconv,
tcl,
libxcrypt,
perl,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "epic5";
version = "3.0";
src = fetchurl {
url = "https://ftp.epicsol.org/pub/epic/EPIC5-PRODUCTION/epic5-${finalAttrs.version}.tar.xz";
hash = "sha256-ltRzUME6PZkBnaDmoEsMf4Datt26WQvMZ527iswXeaE=";
};
buildInputs =
[
openssl
ncurses
libxcrypt
ruby
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
libiconv
tcl
];
configureFlags = [
"--with-ipv6"
];
nativeBuildInputs = [
perl
];
meta = {
homepage = "https://epicsol.org";
description = "IRC client that offers a great ircII interface";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ bot-wxt1221 ];
platforms = lib.platforms.unix;
mainProgram = "epic5";
};
})
+310
View File
@@ -0,0 +1,310 @@
{
lib,
alsa-lib,
factorio-utils,
fetchurl,
libGL,
libICE,
libSM,
libX11,
libXcursor,
libXext,
libXi,
libXinerama,
libXrandr,
libpulseaudio,
libxkbcommon,
makeDesktopItem,
makeWrapper,
releaseType,
stdenv,
wayland,
mods-dat ? null,
versionsJson ? ./versions.json,
username ? "",
token ? "", # get/reset token at https://factorio.com/profile
experimental ? false, # true means to always use the latest branch
...
}@args:
assert
releaseType == "alpha"
|| releaseType == "headless"
|| releaseType == "demo"
|| releaseType == "expansion";
let
inherit (lib) importJSON;
mods = args.mods or [ ];
helpMsg = ''
===FETCH FAILED===
Please ensure you have set the username and token with config.nix, or
/etc/nix/nixpkgs-config.nix if on NixOS.
Your token can be seen at https://factorio.com/profile (after logging in). It is
not as sensitive as your password, but should still be safeguarded. There is a
link on that page to revoke/invalidate the token, if you believe it has been
leaked or wish to take precautions.
Example:
{
packageOverrides = pkgs: {
factorio = pkgs.factorio.override {
username = "FactorioPlayer1654";
token = "d5ad5a8971267c895c0da598688761";
};
};
}
Alternatively, instead of providing the username+token, you may manually
download the release through https://factorio.com/download , then add it to
the store using e.g.:
releaseType=alpha
version=0.17.74
nix-prefetch-url file://\''$HOME/Downloads/factorio_\''${releaseType}_x64_\''${version}.tar.xz --name factorio_\''${releaseType}_x64-\''${version}.tar.xz
Note the ultimate "_" is replaced with "-" in the --name arg!
'';
desktopItem = makeDesktopItem {
name = "factorio";
desktopName = "Factorio";
comment = "A game in which you build and maintain factories.";
exec = "factorio";
icon = "factorio";
categories = [ "Game" ];
};
branch = if experimental then "experimental" else "stable";
# NB `experimental` directs us to take the latest build, regardless of its branch;
# hence the (stable, experimental) pairs may sometimes refer to the same distributable.
versions = importJSON versionsJson;
binDists = makeBinDists versions;
actual =
binDists.${stdenv.hostPlatform.system}.${releaseType}.${branch}
or (throw "Factorio ${releaseType}-${branch} binaries for ${stdenv.hostPlatform.system} are not available for download.");
makeBinDists =
versions:
let
f =
path: name: value:
if builtins.isAttrs value then
if value ? "name" then makeBinDist value else builtins.mapAttrs (f (path ++ [ name ])) value
else
throw "expected attrset at ${toString path} - got ${toString value}";
in
builtins.mapAttrs (f [ ]) versions;
makeBinDist =
{
name,
version,
tarDirectory,
url,
sha256,
needsAuth,
candidateHashFilenames ? [ ],
}:
{
inherit version tarDirectory;
src =
if !needsAuth then
fetchurl { inherit name url sha256; }
else
(lib.overrideDerivation
(fetchurl {
inherit name url sha256;
curlOptsList = [
"--get"
"--data-urlencode"
"username@username"
"--data-urlencode"
"token@token"
];
})
(_: {
# This preHook hides the credentials from /proc
preHook =
if username != "" && token != "" then
''
echo -n "${username}" >username
echo -n "${token}" >token
''
else
''
# Deliberately failing since username/token was not provided, so we can't fetch.
# We can't use builtins.throw since we want the result to be used if the tar is in the store already.
exit 1
'';
failureHook = ''
cat <<EOF
${helpMsg}
EOF
'';
})
);
};
configBaseCfg = ''
use-system-read-write-data-directories=false
[path]
read-data=$out/share/factorio/data/
[other]
check_updates=false
'';
updateConfigSh = ''
#! $SHELL
if [[ -e ~/.factorio/config.cfg ]]; then
# Config file exists, but may have wrong path.
# Try to edit it. I'm sure this is perfectly safe and will never go wrong.
sed -i 's|^read-data=.*|read-data=$out/share/factorio/data/|' ~/.factorio/config.cfg
else
# Config file does not exist. Phew.
install -D $out/share/factorio/config-base.cfg ~/.factorio/config.cfg
fi
'';
modDir = factorio-utils.mkModDirDrv mods mods-dat;
base = with actual; {
# remap -expansion to -space-age to better match the attr name in nixpkgs.
pname = "factorio-${if releaseType == "expansion" then "space-age" else releaseType}";
inherit version src;
preferLocalBuild = true;
dontBuild = true;
installPhase = ''
mkdir -p $out/{bin,share/factorio}
cp -a data $out/share/factorio
cp -a bin/${tarDirectory}/factorio $out/bin/factorio
patchelf \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
$out/bin/factorio
'';
passthru.updateScript =
if (username != "" && token != "") then
[
./update.py
"--username=${username}"
"--token=${token}"
]
else
null;
meta = {
description = "Game in which you build and maintain factories";
longDescription = ''
Factorio is a game in which you build and maintain factories.
You will be mining resources, researching technologies, building
infrastructure, automating production and fighting enemies. Use your
imagination to design your factory, combine simple elements into
ingenious structures, apply management skills to keep it working and
finally protect it from the creatures who don't really like you.
Factorio has been in development since spring of 2012, and reached
version 1.0 in mid 2020.
'';
homepage = "https://www.factorio.com/";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [
Baughn
elitak
priegger
lukegb
];
platforms = [ "x86_64-linux" ];
mainProgram = "factorio";
};
};
releases = rec {
headless = base;
demo = base // {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ libpulseaudio ];
libPath = lib.makeLibraryPath [
alsa-lib
libGL
libICE
libSM
libX11
libXcursor
libXext
libXi
libXinerama
libXrandr
libpulseaudio
libxkbcommon
wayland
];
installPhase =
base.installPhase
+ ''
wrapProgram $out/bin/factorio \
--prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$libPath \
--run "$out/share/factorio/update-config.sh" \
--argv0 "" \
--add-flags "-c \$HOME/.factorio/config.cfg" \
${lib.optionalString (mods != [ ]) "--add-flags --mod-directory=${modDir}"}
# TODO Currently, every time a mod is changed/added/removed using the
# modlist, a new derivation will take up the entire footprint of the
# client. The only way to avoid this is to remove the mods arg from the
# package function. The modsDir derivation will have to be built
# separately and have the user specify it in the .factorio config or
# right along side it using a symlink into the store I think i will
# just remove mods for the client derivation entirely. this is much
# cleaner and more useful for headless mode.
# TODO: trying to toggle off a mod will result in read-only-fs-error.
# not much we can do about that except warn the user somewhere. In
# fact, no exit will be clean, since this error will happen on close
# regardless. just prints an ugly stacktrace but seems to be otherwise
# harmless, unless maybe the user forgets and tries to use the mod
# manager.
install -m0644 <(cat << EOF
${configBaseCfg}
EOF
) $out/share/factorio/config-base.cfg
install -m0755 <(cat << EOF
${updateConfigSh}
EOF
) $out/share/factorio/update-config.sh
mkdir -p $out/share/icons/hicolor/{64x64,128x128}/apps
cp -a data/core/graphics/factorio-icon.png $out/share/icons/hicolor/64x64/apps/factorio.png
cp -a data/core/graphics/factorio-icon@2x.png $out/share/icons/hicolor/128x128/apps/factorio.png
ln -s ${desktopItem}/share/applications $out/share/
'';
};
alpha = demo // {
installPhase =
demo.installPhase
+ ''
cp -a doc-html $out/share/factorio
'';
};
expansion = alpha;
};
in
stdenv.mkDerivation (releases.${releaseType})
+289
View File
@@ -0,0 +1,289 @@
#!/usr/bin/env nix-shell
#! nix-shell -i python -p "python3.withPackages (ps: with ps; [ ps.absl-py ps.requests ])"
from collections import defaultdict
import copy
from dataclasses import dataclass
import json
import os.path
from typing import Callable, Dict
from absl import app
from absl import flags
from absl import logging
import requests
FACTORIO_RELEASES = "https://factorio.com/api/latest-releases"
FACTORIO_HASHES = "https://factorio.com/download/sha256sums/"
FLAGS = flags.FLAGS
flags.DEFINE_string("out", "", "Output path for versions.json.")
flags.DEFINE_list(
"release_type",
"",
"If non-empty, a comma-separated list of release types to update (e.g. alpha).",
)
flags.DEFINE_list(
"release_channel",
"",
"If non-empty, a comma-separated list of release channels to update (e.g. experimental).",
)
@dataclass
class System:
nix_name: str
url_name: str
tar_name: str
@dataclass
class ReleaseType:
name: str
hash_filename_format: list[str]
needs_auth: bool = False
@dataclass
class ReleaseChannel:
name: str
FactorioVersionsJSON = Dict[str, Dict[str, str]]
OurVersionJSON = Dict[str, Dict[str, Dict[str, Dict[str, str]]]]
FactorioHashes = Dict[str, str]
SYSTEMS = [
System(nix_name="x86_64-linux", url_name="linux64", tar_name="x64"),
]
RELEASE_TYPES = [
ReleaseType(
"alpha",
needs_auth=True,
hash_filename_format=["factorio_linux_{version}.tar.xz"],
),
ReleaseType("demo", hash_filename_format=["factorio_demo_x64_{version}.tar.xz"]),
ReleaseType(
"headless",
hash_filename_format=[
"factorio-headless_linux_{version}.tar.xz",
"factorio_headless_x64_{version}.tar.xz",
],
),
ReleaseType(
"expansion",
needs_auth=True,
hash_filename_format=["factorio-space-age_linux_{version}.tar.xz"],
),
]
RELEASE_CHANNELS = [
ReleaseChannel("experimental"),
ReleaseChannel("stable"),
]
def find_versions_json() -> str:
if FLAGS.out:
return FLAGS.out
try_paths = ["pkgs/by-name/fa/factorio/versions.json", "versions.json"]
for path in try_paths:
if os.path.exists(path):
return path
raise Exception(
"Couldn't figure out where to write versions.json; try specifying --out"
)
def fetch_versions() -> FactorioVersionsJSON:
return json.loads(requests.get(FACTORIO_RELEASES).text)
def fetch_hashes() -> FactorioHashes:
resp = requests.get(FACTORIO_HASHES)
resp.raise_for_status()
out = {}
for ln in resp.text.split("\n"):
ln = ln.strip()
if not ln:
continue
sha256, filename = ln.split()
out[filename] = sha256
return out
def generate_our_versions(factorio_versions: FactorioVersionsJSON) -> OurVersionJSON:
def rec_dd():
return defaultdict(rec_dd)
output = rec_dd()
# Deal with times where there's no experimental version
for rc in RELEASE_CHANNELS:
if rc.name not in factorio_versions or not factorio_versions[rc.name]:
factorio_versions[rc.name] = factorio_versions["stable"]
for rt in RELEASE_TYPES:
if (
rt.name not in factorio_versions[rc.name]
or not factorio_versions[rc.name][rt.name]
):
factorio_versions[rc.name][rt.name] = factorio_versions["stable"][
rt.name
]
for system in SYSTEMS:
for release_type in RELEASE_TYPES:
for release_channel in RELEASE_CHANNELS:
version = factorio_versions[release_channel.name].get(release_type.name)
if version is None:
continue
this_release = {
"name": f"factorio_{release_type.name}_{system.tar_name}-{version}.tar.xz",
"url": f"https://factorio.com/get-download/{version}/{release_type.name}/{system.url_name}",
"version": version,
"needsAuth": release_type.needs_auth,
"candidateHashFilenames": [
fmt.format(version=version)
for fmt in release_type.hash_filename_format
],
"tarDirectory": system.tar_name,
}
output[system.nix_name][release_type.name][release_channel.name] = (
this_release
)
return output
def iter_version(
versions: OurVersionJSON,
it: Callable[[str, str, str, Dict[str, str]], Dict[str, str]],
) -> OurVersionJSON:
versions = copy.deepcopy(versions)
for system_name, system in versions.items():
for release_type_name, release_type in system.items():
for release_channel_name, release in release_type.items():
release_type[release_channel_name] = it(
system_name, release_type_name, release_channel_name, dict(release)
)
return versions
def merge_versions(old: OurVersionJSON, new: OurVersionJSON) -> OurVersionJSON:
"""Copies already-known hashes from version.json to avoid having to re-fetch."""
def _merge_version(
system_name: str,
release_type_name: str,
release_channel_name: str,
release: Dict[str, str],
) -> Dict[str, str]:
old_system = old.get(system_name, {})
old_release_type = old_system.get(release_type_name, {})
old_release = old_release_type.get(release_channel_name, {})
if FLAGS.release_type and release_type_name not in FLAGS.release_type:
logging.info(
"%s/%s/%s: not in --release_type, not updating",
system_name,
release_type_name,
release_channel_name,
)
return old_release
if FLAGS.release_channel and release_channel_name not in FLAGS.release_channel:
logging.info(
"%s/%s/%s: not in --release_channel, not updating",
system_name,
release_type_name,
release_channel_name,
)
return old_release
if "sha256" not in old_release:
logging.info(
"%s/%s/%s: not copying sha256 since it's missing",
system_name,
release_type_name,
release_channel_name,
)
return release
if not all(
old_release.get(k, None) == release[k] for k in ["name", "version", "url"]
):
logging.info(
"%s/%s/%s: not copying sha256 due to mismatch",
system_name,
release_type_name,
release_channel_name,
)
return release
release["sha256"] = old_release["sha256"]
return release
return iter_version(new, _merge_version)
def fill_in_hash(
versions: OurVersionJSON, factorio_hashes: FactorioHashes
) -> OurVersionJSON:
"""Fill in sha256 hashes for anything missing them."""
def _fill_in_hash(
system_name: str,
release_type_name: str,
release_channel_name: str,
release: Dict[str, str],
) -> Dict[str, str]:
for candidate_filename in release["candidateHashFilenames"]:
if candidate_filename in factorio_hashes:
release["sha256"] = factorio_hashes[candidate_filename]
break
else:
logging.error(
"%s/%s/%s: failed to find any of %s in %s",
system_name,
release_type_name,
release_channel_name,
release["candidateHashFilenames"],
FACTORIO_HASHES,
)
return release
if "sha256" in release:
logging.info(
"%s/%s/%s: skipping fetch, sha256 already present",
system_name,
release_type_name,
release_channel_name,
)
return release
return release
return iter_version(versions, _fill_in_hash)
def main(argv):
factorio_versions = fetch_versions()
factorio_hashes = fetch_hashes()
new_our_versions = generate_our_versions(factorio_versions)
old_our_versions = None
our_versions_path = find_versions_json()
if our_versions_path:
logging.info("Loading old versions.json from %s", our_versions_path)
with open(our_versions_path, "r") as f:
old_our_versions = json.load(f)
if old_our_versions:
logging.info("Merging in old hashes")
new_our_versions = merge_versions(old_our_versions, new_our_versions)
logging.info("Updating hashes from Factorio SHA256")
new_our_versions = fill_in_hash(new_our_versions, factorio_hashes)
with open(our_versions_path, "w") as f:
logging.info("Writing versions.json to %s", our_versions_path)
json.dump(new_our_versions, f, sort_keys=True, indent=2)
f.write("\n")
if __name__ == "__main__":
app.run(main)
+102
View File
@@ -0,0 +1,102 @@
{
"x86_64-linux": {
"alpha": {
"experimental": {
"candidateHashFilenames": [
"factorio_linux_2.0.9.tar.xz"
],
"name": "factorio_alpha_x64-2.0.9.tar.xz",
"needsAuth": true,
"sha256": "34c21cd3cbe91b65483786ccb4467b5d4766c748cbbddd2ce3b30d319d163e3b",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/2.0.9/alpha/linux64",
"version": "2.0.9"
},
"stable": {
"candidateHashFilenames": [
"factorio_linux_2.0.8.tar.xz"
],
"name": "factorio_alpha_x64-2.0.8.tar.xz",
"needsAuth": true,
"sha256": "94ea36a5b9103369df7158a8281039dd2f1d7fa7bb3a2d854c715250dd73e185",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/2.0.8/alpha/linux64",
"version": "2.0.8"
}
},
"demo": {
"experimental": {
"candidateHashFilenames": [
"factorio_demo_x64_1.1.110.tar.xz"
],
"name": "factorio_demo_x64-1.1.110.tar.xz",
"needsAuth": false,
"sha256": "bddb91dcba9f300c25d590f861772eaf41f0b6ce8ae6b754de00d0e5f3eb5a35",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/1.1.110/demo/linux64",
"version": "1.1.110"
},
"stable": {
"candidateHashFilenames": [
"factorio_demo_x64_1.1.110.tar.xz"
],
"name": "factorio_demo_x64-1.1.110.tar.xz",
"needsAuth": false,
"sha256": "bddb91dcba9f300c25d590f861772eaf41f0b6ce8ae6b754de00d0e5f3eb5a35",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/1.1.110/demo/linux64",
"version": "1.1.110"
}
},
"expansion": {
"experimental": {
"candidateHashFilenames": [
"factorio-space-age_linux_2.0.9.tar.xz"
],
"name": "factorio_expansion_x64-2.0.9.tar.xz",
"needsAuth": true,
"sha256": "6369d23550a7a721d3de1d34253e8321ee601fa759d1fb5efac9abc28aa7509d",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/2.0.9/expansion/linux64",
"version": "2.0.9"
},
"stable": {
"candidateHashFilenames": [
"factorio-space-age_linux_2.0.8.tar.xz"
],
"name": "factorio_expansion_x64-2.0.8.tar.xz",
"needsAuth": true,
"sha256": "408eae824daa761564b1ea7b81925efe05298cbaffd120eea235341ac05a6a60",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/2.0.8/expansion/linux64",
"version": "2.0.8"
}
},
"headless": {
"experimental": {
"candidateHashFilenames": [
"factorio-headless_linux_2.0.9.tar.xz",
"factorio_headless_x64_2.0.9.tar.xz"
],
"name": "factorio_headless_x64-2.0.9.tar.xz",
"needsAuth": false,
"sha256": "f499077b3e2c1313452c350f1faf17db31cae2a0fa738f69166e97c3caa3c86d",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/2.0.9/headless/linux64",
"version": "2.0.9"
},
"stable": {
"candidateHashFilenames": [
"factorio-headless_linux_2.0.8.tar.xz",
"factorio_headless_x64_2.0.8.tar.xz"
],
"name": "factorio_headless_x64-2.0.8.tar.xz",
"needsAuth": false,
"sha256": "d9594c4d552a3e4f965b188a4774da8c8b010fc23ddb0efc63b1d94818dde1ca",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/2.0.8/headless/linux64",
"version": "2.0.8"
}
}
}
}
+4 -1
View File
@@ -48,7 +48,10 @@ python3Packages.buildPythonApplication {
nativeBuildInputs = [ installShellFiles ];
build-system = with python3Packages; [ babel ];
build-system = with python3Packages; [
setuptools
babel
];
dependencies = with python3Packages; [
androguard
+3 -3
View File
@@ -7,7 +7,7 @@
nix-update-script,
}:
let
version = "0.1.1";
version = "0.5.1";
in
rustPlatform.buildRustPackage {
pname = "git-prole";
@@ -17,10 +17,10 @@ rustPlatform.buildRustPackage {
owner = "9999years";
repo = "git-prole";
rev = "refs/tags/v${version}";
hash = "sha256-IJsNZt5eID1ghz5Rj53OfidgPoMS2qq+7qgqYEu4zPc=";
hash = "sha256-jJEskahZRCpM2WEH4myTLfowQxEJ4WCNXbTwGkwBHnY=";
};
cargoHash = "sha256-2z7UEHVomm2zuImdcQq0G9fEhKrHLrPNUhVrFugG3w4=";
cargoHash = "sha256-u4UJH+dIDI+I6fEQTRe3RRufYZwxBENxnwULSSCOZF8=";
nativeCheckInputs = [
git
+10
View File
@@ -5,6 +5,7 @@
fetchFromGitHub,
git,
nix-update-script,
installShellFiles,
}:
buildGo123Module rec {
@@ -22,6 +23,8 @@ buildGo123Module rec {
subPackages = [ "." ];
nativeBuildInputs = [ installShellFiles ];
nativeCheckInputs = [ git ];
buildInputs = [ git ];
@@ -40,6 +43,13 @@ buildGo123Module rec {
rm testdata/script/branch_submit_multiple_pr_templates.txt
'';
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd gs \
--bash <($out/bin/gs shell completion bash) \
--zsh <($out/bin/gs shell completion zsh) \
--fish <($out/bin/gs shell completion fish)
'';
passthru.updateScript = nix-update-script { };
meta = {
@@ -0,0 +1,78 @@
{
lib,
stdenv,
fetchFromGitLab,
meson,
ninja,
pkg-config,
flex,
itstool,
rustPlatform,
rustc,
cargo,
wrapGAppsHook4,
desktop-file-utils,
exiv2,
libgsf,
taglib,
poppler,
samba,
gtest,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-commander";
version = "1.18.1-unstable-2024-10-18";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "gnome-commander";
rev = "28dadb1ef9342bb1a5f9a65b1a5bf3bd80e3d30a";
hash = "sha256-DxsZJht+PD3vY5vc1vzpRD8FHBPKcjK4qfke5nhvHS0=";
};
# hard-coded schema paths
postPatch = ''
substituteInPlace src/gnome-cmd-data.cc plugins/fileroller/file-roller-plugin.cc \
--replace-fail \
'/share/glib-2.0/schemas' \
'/share/gsettings-schemas/${finalAttrs.finalPackage.name}/glib-2.0/schemas'
'';
cargoDeps = rustPlatform.fetchCargoTarball {
inherit (finalAttrs) pname version src;
hash = "sha256-Nx/e2H9NxCTj62xVDlKTpPdjlxAx2YAcQJh1kHByrd4=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
flex
itstool
rustPlatform.cargoSetupHook
rustc
cargo
wrapGAppsHook4
desktop-file-utils
];
buildInputs = [
exiv2
libgsf
taglib
poppler
samba
gtest
];
meta = {
description = "Fast and powerful twin-panel file manager for the Linux desktop";
homepage = "https://gcmd.github.io";
license = lib.licenses.gpl2Plus;
mainProgram = "gnome-commander";
maintainers = with lib.maintainers; [ aleksana ];
platforms = lib.platforms.linux;
};
})
+45
View File
@@ -0,0 +1,45 @@
{
lib,
fetchFromGitHub,
python3,
}:
python3.pkgs.buildPythonApplication rec {
pname = "graphpython";
version = "1.0-unstable-2024-07-28";
pyproject = true;
src = fetchFromGitHub {
owner = "mlcsec";
repo = "Graphpython";
# https://github.com/mlcsec/Graphpython/issues/1
rev = "ee7dbda7fe881a9a207ca8661d42c505b8491ea3";
hash = "sha256-64M/Cc49mlceY5roBVuSsDIcbDx+lrX6oSjPAu9YDwA=";
};
build-system = with python3.pkgs; [ setuptools ];
dependencies = with python3.pkgs; [
beautifulsoup4
cryptography
dnspython
pyjwt
requests
tabulate
termcolor
tqdm
];
pythonImportsCheck = [ "Graphpython" ];
# Project has no tests
doCheck = false;
meta = {
description = "Microsoft Graph API (Entra, o365, and Intune) enumeration and exploitation toolkit";
homepage = "https://github.com/mlcsec/Graphpython";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "graphpython";
};
}
+56
View File
@@ -0,0 +1,56 @@
{
lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
pkg-config,
gobject-introspection,
vala,
glib,
libsoup_3,
json-glib,
libxml2,
gst_all_1,
unstableGitUpdater,
}:
stdenv.mkDerivation {
pname = "gtuber";
version = "0-unstable-2024-10-11";
src = fetchFromGitHub {
owner = "Rafostar";
repo = "gtuber";
rev = "468bf02a8adcf69b1bd6dd7b5dbcdcc0bfdb6922";
hash = "sha256-pEiHqcxkrxZRD9xW/R9DNDdp5foxaHK2SAuzmPNegaY=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
gobject-introspection # For g-ir-scanner
vala # For vapigen
];
buildInputs = [
glib
libsoup_3
json-glib
libxml2
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
];
passthru = {
updateScript = unstableGitUpdater { };
};
meta = {
description = "GStreamer plugin for streaming videos from websites";
homepage = "https://rafostar.github.io/gtuber/";
license = lib.licenses.lgpl21Plus;
maintainers = with lib.maintainers; [ chuangzhu ];
platforms = lib.platforms.unix;
};
}
+20 -14
View File
@@ -1,25 +1,27 @@
{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, cmake
, wayland
, wayland-protocols
, wayland-scanner
, hyprlang
, sdbus-cpp
, systemd
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
cmake,
hyprutils,
wayland,
wayland-protocols,
wayland-scanner,
hyprlang,
sdbus-cpp,
systemd,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "hypridle";
version = "0.1.2";
version = "0.1.3";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hypridle";
rev = "v${finalAttrs.version}";
hash = "sha256-7Ft5WZTMIjXOGgRCf31DZBwK6RK8xkeKlD5vFXz3gII=";
hash = "sha256-4EgQyprji92cmhGaQQsw6eN6cmEkQKs0+MeD7YLgHlg=";
};
nativeBuildInputs = [
@@ -30,6 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
hyprlang
hyprutils
sdbus-cpp
systemd
wayland
@@ -42,6 +45,9 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ iogamaster ];
mainProgram = "hypridle";
platforms = [ "aarch64-linux" "x86_64-linux" ];
platforms = [
"aarch64-linux"
"x86_64-linux"
];
};
})
+6 -2
View File
@@ -9,6 +9,8 @@
hyprlang,
hyprutils,
pam,
sdbus-cpp_2,
systemdLibs,
wayland,
wayland-protocols,
wayland-scanner,
@@ -24,13 +26,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hyprlock";
version = "0.4.1";
version = "0.5.0";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprlock";
rev = "v${finalAttrs.version}";
hash = "sha256-w+AyYuqlZ/uWEimiptlHjtDFECm/JlUOD2ciCw8/+/8=";
hash = "sha256-sUIsjWpZLplSJXWyJcDZdvDweksXLH5r9GSkwg0kgBw=";
};
strictDeps = true;
@@ -54,6 +56,8 @@ stdenv.mkDerivation (finalAttrs: {
mesa
pam
pango
sdbus-cpp_2
systemdLibs
wayland
wayland-protocols
];
+2 -2
View File
@@ -1,13 +1,13 @@
{ lib, buildGoModule, fetchFromGitHub, nix-update-script, testers, immich-go }:
buildGoModule rec {
pname = "immich-go";
version = "0.22.0";
version = "0.22.1";
src = fetchFromGitHub {
owner = "simulot";
repo = "immich-go";
rev = "${version}";
hash = "sha256-dSyVn7CQqZ/tCxF/Yl12eubWkZrV5FM8uRexCjZILbw=";
hash = "sha256-6bLjHKkEghbY+UQFrgbfeHwOjtks1HjXbDXEr7DuJbU=";
# Inspired by: https://github.com/NixOS/nixpkgs/blob/f2d7a289c5a5ece8521dd082b81ac7e4a57c2c5c/pkgs/applications/graphics/pdfcpu/default.nix#L20-L32
# The intention here is to write the information into files in the `src`'s
+1 -1
View File
@@ -131,6 +131,6 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/kanidm/kanidm";
license = licenses.mpl20;
platforms = platforms.linux;
maintainers = with maintainers; [ adamcstephens erictapen Flakebi ];
maintainers = with maintainers; [ adamcstephens Flakebi ];
};
}
+3 -3
View File
@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "labwc-tweaks-gtk";
version = "0-unstable-2024-09-30";
version = "0-unstable-2024-10-20";
src = fetchFromGitHub {
owner = "labwc";
repo = "labwc-tweaks-gtk";
rev = "19ae222b6bab778d0f8a900d39c25ab020e33631";
hash = "sha256-coA8gU2AKeHs6OENxBWholk5sEL/oketxNFLd8M1kTM=";
rev = "c3f83aabb6dca20fd3c2304db15da2e68d027d3e";
hash = "sha256-1gzo9KMDHg5ZFMo5CpP36A5tomr2DFoU8UEwx7ik5F8=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -16,15 +16,15 @@
rustPlatform.buildRustPackage rec {
pname = "mixxc";
version = "0.2.2";
version = "0.2.3";
src = fetchCrate {
pname = "mixxc";
inherit version;
hash = "sha256-Y/9l8t6Vz7yq9T1AyoHnWmIcju1rfcV0S74hiK1fEjo=";
hash = "sha256-d/bMDqDR+sBtsI3ToCcByDxqd+aE6rDPRvGBcodU6iA=";
};
cargoHash = "sha256-l9inqqUiLObrqd/8pNobwBbLaiPJD39YK/38CWfDh+Q=";
cargoHash = "sha256-RoVqQaSlIvAb8mWJNOyALjCHejFEfxjJADQfHZ5EiOs=";
cargoBuildFlags = [ "--locked" ];
@@ -0,0 +1,35 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
stdenv,
makeWrapper,
nodejs,
}:
buildNpmPackage rec {
pname = "nextcloud-whiteboard-server";
version = "1.0.4";
src = fetchFromGitHub {
owner = "nextcloud";
repo = "whiteboard";
rev = "refs/tags/v${version}";
hash = "sha256-27w8FZz9PbVdYV7yR5iRXi5edw7U/3bLVYfdRa8yPzo=";
};
npmDepsHash = "sha256-SwFQRDRo7Q8+0zYWx5szahJzDSoxkkJDPQ3qEdNLVaE=";
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
makeWrapper ${lib.getExe nodejs} "$out/bin/nextcloud-whiteboard-server" \
--add-flags "$out/lib/node_modules/whiteboard/websocket_server/main.js"
'';
meta = {
description = "Backend server for the Nextcloud Whiteboard app";
homepage = "https://apps.nextcloud.com/apps/whiteboard";
license = lib.licenses.agpl3Plus;
maintainers = [ lib.maintainers.onny ];
};
}
+2 -2
View File
@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "nvrh";
version = "0.1.13";
version = "0.1.14";
src = fetchFromGitHub {
owner = "mikew";
repo = "nvrh";
rev = "refs/tags/v${version}";
hash = "sha256-fVoyxq2iCUANEsq+mCaQnBV9kQ59PZsGi9r7bSwStwQ=";
hash = "sha256-ff+ZdUScgAaNHASYAASQ/lfkCyX600kNw2Rjpr3TbBc=";
};
postPatch = ''
+2 -2
View File
@@ -18,13 +18,13 @@
stdenv.mkDerivation rec {
pname = "ovn";
version = "24.09.0";
version = "24.09.1";
src = fetchFromGitHub {
owner = "ovn-org";
repo = "ovn";
rev = "refs/tags/v${version}";
hash = "sha256-0KXr9oxZqIhPD0HIkDUECCjfEK50JkkJxx8xsZIoAnc=";
hash = "sha256-Fz/YNEbMZ2mB4Fv1nKE3H3XrihehYP7j0N3clnTJ5x8=";
fetchSubmodules = true;
};
+1
View File
@@ -28,6 +28,7 @@ python.pkgs.buildPythonApplication rec {
"sqlalchemy-utils"
"sqlalchemy"
"pycognito"
"qrcode"
"urllib3"
];
+2 -2
View File
@@ -7,14 +7,14 @@
python3Packages.buildPythonApplication rec {
pname = "pdftitle";
version = "0.14";
version = "0.15";
pyproject = true;
src = fetchFromGitHub {
owner = "metebalci";
repo = "pdftitle";
rev = "v${version}";
hash = "sha256-7tIvvRlaKRC3/eRUS8F3d3qiJnCU0Z14Pj9E4v0X4+o=";
hash = "sha256-IEctzvNHlGYUMl3jfTVNinmfMviVQ9q15OZtRN1mhZc=";
};
build-system = with python3Packages; [
+11 -6
View File
@@ -11,6 +11,8 @@ let
python = python3.override {
self = python;
packageOverrides = final: prev: {
django = prev.django_5;
django-bootstrap4 = prev.django-bootstrap4.overridePythonAttrs (oldAttrs: rec {
version = "3.0.0";
src = oldAttrs.src.override {
@@ -26,16 +28,22 @@ let
# fails with some assertions
doCheck = false;
});
django-extensions = prev.django-extensions.overridePythonAttrs {
# Compat issues with Django 5.1
# https://github.com/django-extensions/django-extensions/issues/1885
doCheck = false;
};
};
};
version = "2024.2.1";
version = "2024.3.0";
src = fetchFromGitHub {
owner = "pretalx";
repo = "pretalx";
rev = "v${version}";
hash = "sha256-D0ju9aOVy/new9GWqyFalZYCisdmM7irWSbn2TVCJYQ=";
hash = "sha256-Xv3VwYrwCGgOUf1ilD58ATj+bkehF9+im4124ivCaEU=";
};
meta = with lib; {
@@ -54,7 +62,7 @@ let
sourceRoot = "${src.name}/src/pretalx/frontend/schedule-editor";
npmDepsHash = "sha256-EAdeXdcC3gHun6BOHzvqpzv9+oDl1b/VTeNkYLiD+hA=";
npmDepsHash = "sha256-i7awRuR7NxhpxN2IZuI01PsN6FjXht7BxTbB1k039HA=";
npmBuildScript = "build";
@@ -146,9 +154,6 @@ python.pkgs.buildPythonApplication rec {
++ plugins;
optional-dependencies = {
mysql = with python.pkgs; [
mysqlclient
];
postgres = with python.pkgs; [
psycopg2
];
@@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "pretalx-downstream";
version = "1.3.0";
version = "1.3.1";
pyproject = true;
src = fetchFromGitHub {
owner = "pretalx";
repo = "pretalx-downstream";
rev = "v${version}";
hash = "sha256-xpacfU655vg6g1rD4uteeizj+Bll4fgI0AEddaGiCLE=";
hash = "sha256-Q9519jNKQUeNCHg3ivjYyQm1ePMxp/bhtcJAselQiiM=";
};
build-system = [ setuptools ];
@@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "pretalx-media-ccc-de";
version = "1.3.0";
version = "1.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pretalx";
repo = "pretalx-media-ccc-de";
rev = "v${version}";
hash = "sha256-Cr9qbkb1VOH2EtDLSA5jmLiCnn1ICdvHnmTugCvHLc0=";
hash = "sha256-U+26hit4xXUzN8JT3WL+iGohqomX1ENb+ihM9IT1XWQ=";
};
build-system = [ setuptools ];
+2 -2
View File
@@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "pretalx-pages";
version = "1.5.0";
version = "1.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pretalx";
repo = "pretalx-pages";
rev = "v${version}";
hash = "sha256-wLMl+2hAJQksCyeBnXxMIFh1/Qkosm7PqByW6QxMsyg=";
hash = "sha256-9ZJSW6kdxpwHd25CuGTE4MMXylXaZKL3eAEKKdYiuXs=";
};
build-system = [ setuptools ];
@@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "pretalx-public-voting";
version = "1.6.0";
version = "1.7.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pretalx";
repo = "pretalx-public-voting";
rev = "v${version}";
hash = "sha256-1zxJ1b2CHfV2AVAneUJxurZ0L3QoMzuBf8c2wrj7yBA=";
hash = "sha256-ei6GgPPEXv9WVhh+4U+WDFCMsT4bND9O85cPLpPWMhQ=";
};
build-system = [ setuptools ];
@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "pretalx-venueless";
version = "1.4.0";
version = "1.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pretalx";
repo = "pretalx-venueless";
rev = "v${version}";
hash = "sha256-llgRa18hxVoRSwU5UH6w4sE2W5ozCZm4Btbia2y0LbE=";
hash = "sha256-1YWkyTaImnlGXZWrborvJrx8zc1FOZD/ugOik7S+fC8=";
};
nativeBuildInputs = [ gettext ];
+2 -2
View File
@@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "pretalx-vimeo";
version = "2.3.0";
version = "2.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pretalx";
repo = "pretalx-vimeo";
rev = "v${version}";
hash = "sha256-ZlF/wWD5FaC4CfYIYvcbykPajoCOotmmaY+rQ0sGAo8=";
hash = "sha256-MwAKmPQif2wLy03II1t87lIdIf2th4BteaAo5pACjLE=";
};
build-system = [ setuptools ];
+2 -2
View File
@@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "pretalx-youtube";
version = "2.2.0";
version = "2.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pretalx";
repo = "pretalx-youtube";
rev = "v${version}";
hash = "sha256-cTxkFSK84NRn7Z2uWYBJ2NvQ3pOsUbdZDg6XE5yswPg=";
hash = "sha256-5vQPFW0qABKQjFUvjMrtmIGEpMzLLbAOBA4GFqqBNw0=";
};
build-system = [ setuptools ];
+1
View File
@@ -98,6 +98,7 @@ python.pkgs.buildPythonApplication rec {
"protobuf"
"pyjwt"
"python-bidi"
"qrcode"
"requests"
"sentry-sdk"
];
+1 -1
View File
@@ -1819,7 +1819,7 @@ dependencies = [
[[package]]
name = "rye"
version = "0.41.0"
version = "0.42.0"
dependencies = [
"age",
"anyhow",
+10 -5
View File
@@ -12,21 +12,21 @@
stdenv,
darwin,
versionCheckHook,
# passthru
nix-update-script,
testers,
rye,
}:
rustPlatform.buildRustPackage rec {
pname = "rye";
version = "0.41.0";
version = "0.42.0";
src = fetchFromGitHub {
owner = "mitsuhiko";
repo = "rye";
rev = "refs/tags/${version}";
hash = "sha256-JpCa+7SwShfVM4Z+uPo7W2bCEf1QYHxClE/LgGSyFY0=";
hash = "sha256-f+yVuyoer0bn38iYR94TUKRT5VzQHDZQyowtas+QOK0=";
};
cargoLock = {
@@ -99,9 +99,14 @@ rustPlatform.buildRustPackage rec {
"--skip=test_version"
];
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = [ "--version" ];
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
tests.version = testers.testVersion { package = rye; };
};
meta = {
+7 -8
View File
@@ -23,12 +23,14 @@ let
Sans = "sha256-x5z6GYsfQ+8a8W0djJTY8iutuLNYvaemIpdYh94krk0=";
Serif = "sha256-3WK7vty3zZFNKkwViEsozU3qa+5hymYwXk6ta9AxmNM=";
};
extraOutputs = builtins.attrNames source;
in
stdenvNoCC.mkDerivation {
pname = "shanggu-fonts";
inherit version;
outputs = [ "out" ] ++ builtins.attrNames source;
outputs = [ "out" ] ++ extraOutputs;
nativeBuildInputs = [ p7zip ];
@@ -49,13 +51,10 @@ stdenvNoCC.mkDerivation {
mkdir -p $out/share/fonts/truetype
''
+ lib.strings.concatLines (
lib.lists.forEach (builtins.attrNames source) (
name: (''
install -Dm444 ${name}/*.ttc -t $'' + name + ''/share/fonts/truetype
ln -s $'' + name + ''/share/fonts/truetype/*.ttc $out/share/fonts/truetype
''
)
)
lib.lists.forEach extraOutputs (name: ''
install -Dm444 ${name}/*.ttc -t ${placeholder name}/share/fonts/truetype
ln -s "${placeholder name}" /share/fonts/truetype/*.ttc $out/share/fonts/truetype
'')
) + ''
runHook postInstall
'';
+10 -6
View File
@@ -1,24 +1,28 @@
{ lib
, buildGoModule
, fetchFromGitHub
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "spirit";
version = "0.5.0";
version = "0.6.0";
src = fetchFromGitHub {
owner = "cashapp";
repo = "spirit";
rev = "v${version}-prerelease";
hash = "sha256-e0Eu7BeOwZA8UKwonuuOde1idzaIMtprWya7nxgqyjs=";
hash = "sha256-mI4nO/yQdCrqxCDyOYQPQ905EVreYPEiupe+F4RjIqw=";
};
vendorHash = "sha256-es1PGgLoE3DklnQziRjWmY7f6NNVd24L2JiuLkol6HI=";
subPackages = [ "cmd/spirit" ];
ldflags = [ "-s" "-w" ];
ldflags = [
"-s"
"-w"
];
meta = with lib; {
homepage = "https://github.com/cashapp/spirit";
+3 -3
View File
@@ -25,7 +25,7 @@ let
# See upstream issue for rocksdb 9.X support
# https://github.com/stalwartlabs/mail-server/issues/407
rocksdb = rocksdb_8_11;
version = "0.10.3";
version = "0.10.5";
in
rustPlatform.buildRustPackage {
pname = "stalwart-mail";
@@ -35,11 +35,11 @@ rustPlatform.buildRustPackage {
owner = "stalwartlabs";
repo = "mail-server";
rev = "refs/tags/v${version}";
hash = "sha256-xpNSMZWWiFU6OOooAD7ENzOggqYHdU88baPsXnovpXU=";
hash = "sha256-MD9zAWeitP3cXxzR4znqL551AGFbOcRzhV3goY6l/iY=";
fetchSubmodules = true;
};
cargoHash = "sha256-qiKfHrxQ4TSSomDLlPJ2+GOEri/ZuMCvUNdxRVoplgg=";
cargoHash = "sha256-ug49H6RWLlDdJNVW/BJcqNsG/NDNgWiqR8GiZ/HVrvY=";
nativeBuildInputs = [
pkg-config
@@ -1,6 +1,6 @@
{ lib
, stdenv
, buildGoModule
, buildGo123Module
, fetchFromGitHub
, fetchpatch
, makeWrapper
@@ -17,7 +17,7 @@
let
version = "1.76.1";
in
buildGoModule {
buildGo123Module {
pname = "tailscale";
inherit version;
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "tex-fmt";
version = "0.4.4";
version = "0.4.6";
src = fetchFromGitHub {
owner = "WGUNDERWOOD";
repo = "tex-fmt";
rev = "refs/tags/v${version}";
hash = "sha256-o8TlD0qxz/0sS45tnBNXYNDzp+VAhH3Ym1odSleD/uw=";
hash = "sha256-Ii/z9ZmsWCHxxqUbkcu7HRBuN2LiLCxzUvqRexwQ/Co=";
};
cargoHash = "sha256-N3kCeBisjeOAG45QPQhplGRAvj5kebEX4U9pisM/GUQ=";
cargoHash = "sha256-2vPxsXKInH18h/AoOWfl0VteUBmxWDzZa6AtpKfY5Hs=";
meta = {
description = "LaTeX formatter written in Rust";
+3 -3
View File
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "tootik";
version = "0.11.4";
version = "0.12.6";
src = fetchFromGitHub {
owner = "dimkr";
repo = "tootik";
rev = version;
hash = "sha256-b4uSztroeOKPOyPwxVB3ofkAmDpWFstHDQX2IwQwG/4=";
hash = "sha256-v7+WDxGUWCrZMhm0TXMIZTQZTzHYNauX2LIOV3zz+9A=";
};
vendorHash = "sha256-B+SmzNLAXIjkUO1JGpD1eqa52Z1zOdPiG8urvLFXf88=";
vendorHash = "sha256-wmyaTZX181w4Kiiw1sZ4NeIDY63PwW+ayvtwrLSiF24=";
nativeBuildInputs = [ openssl ];
+3 -3
View File
@@ -22,12 +22,12 @@
stdenv.mkDerivation (finalAttrs: {
pname = "tradingview";
version = "2.9.2";
revision = "59";
version = "2.9.3";
revision = "60";
src = fetchurl {
url = "https://api.snapcraft.io/api/v1/snaps/download/nJdITJ6ZJxdvfu8Ch7n5kH5P99ClzBYV_${finalAttrs.revision}.snap";
hash = "sha256-qGQZKl8h23H8npdIBeVw3aCZPZiCfPsawzQxUY31Ujs=";
hash = "sha256-Oa3YfmXDiqKxEMJloTu6ihJ6LKoz2XwQ0su1KrlSaYo=";
};
nativeBuildInputs = [
@@ -1,12 +0,0 @@
diff --git a/crates/turborepo-lib/src/lib.rs b/crates/turborepo-lib/src/lib.rs
index e8d41933da..26b8c7c92f 100644
--- a/crates/turborepo-lib/src/lib.rs
+++ b/crates/turborepo-lib/src/lib.rs
@@ -2,6 +2,7 @@
#![feature(box_patterns)]
#![feature(error_generic_member_access)]
#![feature(hash_extract_if)]
+#![feature(lazy_cell)]
#![feature(option_get_or_insert_default)]
#![feature(once_cell_try)]
#![feature(panic_info_message)]
+4 -9
View File
@@ -18,21 +18,16 @@
rustPlatform.buildRustPackage rec {
pname = "turbo-unwrapped";
version = "2.0.12";
version = "2.2.3";
src = fetchFromGitHub {
owner = "vercel";
repo = "turbo";
rev = "v${version}";
hash = "sha256-rh9BX8M3Kgu07Pz4G3AM6S9zeK3Bb6CzOpcYo7rQgIw=";
rev = "refs/tags/v${version}";
hash = "sha256-MDvwitzZVPVjdIVEAV1aKMAVeLSTMM2owH5RSfVg+rU=";
};
patches = [
# upstream uses nightly where lazy_cell is stable
./enable-lazy_cell.patch
];
cargoHash = "sha256-oZHSoPrPCUwXSrxEASm4LuYO+XHyNDRRl38Q7U7F/lk=";
cargoHash = "sha256-XBI/eiOyKk80ZDFLD2HCTFYRWvC7qtzQY/zFCmKdKSM=";
nativeBuildInputs =
[
+5 -3
View File
@@ -4,9 +4,11 @@
rustPlatform,
fetchFromGitHub,
pkg-config,
audioSupport ? true,
darwin,
audioSupport ? true,
alsa-lib,
webcamSupport ? false,
# passthru.tests.run
runCommand,
@@ -30,7 +32,7 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-4XHKcmOeaeSGfl7uvQQdhm29DBWEdZLX021d9+Ebrww=";
nativeBuildInputs =
lib.optionals stdenv.hostPlatform.isDarwin [ rustPlatform.bindgenHook ]
lib.optionals (webcamSupport || stdenv.hostPlatform.isDarwin) [ rustPlatform.bindgenHook ]
++ lib.optionals audioSupport [ pkg-config ];
buildInputs =
@@ -41,7 +43,7 @@ rustPlatform.buildRustPackage rec {
++ lib.optionals (audioSupport && stdenv.hostPlatform.isDarwin) [ AudioUnit ]
++ lib.optionals (audioSupport && stdenv.hostPlatform.isLinux) [ alsa-lib ];
buildFeatures = lib.optional audioSupport "audio";
buildFeatures = lib.optional audioSupport "audio" ++ lib.optional webcamSupport "webcam";
passthru.updateScript = ./update.sh;
passthru.tests.run = runCommand "uiua-test-run" { nativeBuildInputs = [ uiua ]; } ''
+168 -178
View File
File diff suppressed because it is too large Load Diff
+5 -4
View File
@@ -15,22 +15,23 @@
python3Packages.buildPythonApplication rec {
pname = "uv";
version = "0.4.20";
version = "0.4.25";
pyproject = true;
src = fetchFromGitHub {
owner = "astral-sh";
repo = "uv";
rev = "refs/tags/${version}";
hash = "sha256-PfjYGCPPRZVm4H9oxkWdjW7kHu4CqdkenFgL61dOU5k=";
hash = "sha256-qAfM9I2NboYkUukWnOjuGcdjp8IONAI6Qwwg1r9kCGg=";
};
cargoDeps = rustPlatform.importCargoLock {
lockFile = ./Cargo.lock;
outputHashes = {
"async_zip-0.0.17" = "sha256-3k9rc4yHWhqsCUJ17K55F8aQoCKdVamrWAn6IDWo3Ss=";
"pubgrub-0.2.1" = "sha256-pU+F6hwqy+r6tz5OBoB6gU0+vdH6F3ikUaPrcvYRX2c=";
"reqwest-middleware-0.3.3" = "sha256-csQN7jZTifliSTsOm6YrjPVgsXBOfelY7LkHD1HkNGQ=";
"pubgrub-0.2.1" = "sha256-mSpRBdQJWtKKD1zHkV7vuyfKTDY6Ejgjll5q5ryCfmY=";
"reqwest-middleware-0.3.3" = "sha256-KjyXB65a7SAfwmxokH2PQFFcJc6io0xuIBQ/yZELJzM=";
"rust-netrc-0.1.1" = "sha256-DeDAm2k4/2A9Nw8zXeKOMdxhbseGIrRXH0KgGf2shOc=";
"tl-0.7.8" = "sha256-F06zVeSZA4adT6AzLzz1i9uxpI1b8P1h+05fFfjm3GQ=";
};
};

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