Merge master into haskell-updates
This commit is contained in:
@@ -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" ]'
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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).
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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`
|
||||
|
||||
@@ -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 {};
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 ];
|
||||
}
|
||||
)
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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/,,
|
||||
|
||||
@@ -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 ]);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -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 ]);
|
||||
};
|
||||
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -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 \
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
@@ -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})
|
||||
Executable
+289
@@ -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)
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -48,7 +48,10 @@ python3Packages.buildPythonApplication {
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
build-system = with python3Packages; [ babel ];
|
||||
build-system = with python3Packages; [
|
||||
setuptools
|
||||
babel
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
androguard
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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"
|
||||
];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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
|
||||
];
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ python.pkgs.buildPythonApplication rec {
|
||||
"sqlalchemy-utils"
|
||||
"sqlalchemy"
|
||||
"pycognito"
|
||||
"qrcode"
|
||||
"urllib3"
|
||||
];
|
||||
|
||||
|
||||
@@ -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 +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 ];
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -98,6 +98,7 @@ python.pkgs.buildPythonApplication rec {
|
||||
"protobuf"
|
||||
"pyjwt"
|
||||
"python-bidi"
|
||||
"qrcode"
|
||||
"requests"
|
||||
"sentry-sdk"
|
||||
];
|
||||
|
||||
Generated
+1
-1
@@ -1819,7 +1819,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rye"
|
||||
version = "0.41.0"
|
||||
version = "0.42.0"
|
||||
dependencies = [
|
||||
"age",
|
||||
"anyhow",
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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)]
|
||||
@@ -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 =
|
||||
[
|
||||
|
||||
@@ -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 ]; } ''
|
||||
|
||||
Generated
+168
-178
File diff suppressed because it is too large
Load Diff
@@ -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
Reference in New Issue
Block a user