Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-09-30 00:11:44 +00:00 committed by GitHub
commit c0831fce32
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
192 changed files with 3481 additions and 2765 deletions

View File

@ -991,13 +991,56 @@ Hook executed at the end of the fixup phase.
If set to `true`, the standard environment will enable debug information in C/C++ builds. After installation, the debug information will be separated from the executables and stored in the output named `debug`. (This output is enabled automatically; you dont need to set the `outputs` attribute explicitly.) To be precise, the debug information is stored in `debug/lib/debug/.build-id/XX/YYYY…`, where \<XXYYYY…\> is the \<build ID\> of the binary — a SHA-1 hash of the contents of the binary. Debuggers like GDB use the build ID to look up the separated debug information.
For example, with GDB, you can add
:::{.example #ex-gdb-debug-symbols-socat}
```
set debug-file-directory ~/.nix-profile/lib/debug
# Enable debug symbols for use with GDB
To make GDB find debug information for the `socat` package and its dependencies, you can use the following `shell.nix`:
```nix
let
pkgs = import ./. {
config = {};
overlays = [
(final: prev: {
ncurses = prev.ncurses.overrideAttrs { separateDebugInfo = true; };
readline = prev.readline.overrideAttrs { separateDebugInfo = true; };
})
];
};
myDebugInfoDirs = pkgs.symlinkJoin {
name = "myDebugInfoDirs";
paths = with pkgs; [
glibc.debug
ncurses.debug
openssl.debug
readline.debug
];
};
in
pkgs.mkShell {
NIX_DEBUG_INFO_DIRS = "${pkgs.lib.getLib myDebugInfoDirs}/lib/debug";
packages = [
pkgs.gdb
pkgs.socat
];
shellHook = ''
${pkgs.lib.getBin pkgs.gdb}/bin/gdb ${pkgs.lib.getBin pkgs.socat}/bin/socat
'';
}
```
to `~/.gdbinit`. GDB will then be able to find debug information installed via `nix-env -i`.
This setup works as follows:
- Add [`overlays`](#chap-overlays) to the package set, since debug symbols are disabled for `ncurses` and `readline` by default.
- Create a derivation to combine all required debug symbols under one path with [`symlinkJoin`](#trivial-builder-symlinkJoin).
- Set the environment variable `NIX_DEBUG_INFO_DIRS` in the shell. Nixpkgs patches `gdb` to use it for looking up debug symbols.
- Run `gdb` on the `socat` binary on shell startup in the [`shellHook`](#sec-pkgs-mkShell). Here we use [`lib.getBin`](#function-library-lib.attrsets.getBin) to ensure that the correct derivation output is selected rather than the default one.
:::
### The installCheck phase {#ssec-installCheck-phase}

View File

@ -895,6 +895,12 @@
githubId = 160476;
name = "Amanjeev Sethi";
};
amanse = {
email = "amansetiarjp@gmail.com";
github = "amanse";
githubId = 13214574;
name = "Aman Setia";
};
amar1729 = {
email = "amar.paul16@gmail.com";
github = "Amar1729";
@ -11591,6 +11597,13 @@
githubId = 1001112;
name = "Marcin Janczyk";
};
mjm = {
email = "matt@mattmoriarity.com";
github = "mjm";
githubId = 1181;
matrix = "@mjm:beeper.com";
name = "Matt Moriarity";
};
mjp = {
email = "mike@mythik.co.uk";
github = "MikePlayle";
@ -12091,6 +12104,11 @@
githubId = 59313755;
name = "Maxim Karasev";
};
mxmlnkn = {
github = "mxmlnkn";
githubId = 6842824;
name = "Maximilian Knespel";
};
myaats = {
email = "mats@mats.sh";
github = "Myaats";
@ -15283,6 +15301,12 @@
githubId = 171470;
name = "Sam Hug";
};
SamirTalwar = {
email = "lazy.git@functional.computer";
github = "SamirTalwar";
githubId = 47852;
name = "Samir Talwar";
};
samlich = {
email = "nixos@samli.ch";
github = "samlich";
@ -18575,6 +18599,12 @@
githubId = 7121530;
name = "Wolf Honoré";
};
wietsedv = {
email = "wietsedv@proton.me";
github = "wietsedv";
githubId = 13139101;
name = "Wietse de Vries";
};
wigust = {
name = "Oleg Pykhalov";
email = "go.wigust@gmail.com";

View File

@ -87,6 +87,8 @@
- [tuxedo-rs](https://github.com/AaronErhardt/tuxedo-rs), Rust utilities for interacting with hardware from TUXEDO Computers.
- [audiobookshelf](https://github.com/advplyr/audiobookshelf/), a self-hosted audiobook and podcast server. Available as [services.audiobookshelf](#opt-services.audiobookshelf.enable).
## Backward Incompatibilities {#sec-release-23.11-incompatibilities}
- The `boot.loader.raspberryPi` options have been marked deprecated, with intent for removal for NixOS 24.11. They had a limited use-case, and do not work like people expect. They required either very old installs ([before mid-2019](https://github.com/NixOS/nixpkgs/pull/62462)) or customized builds out of scope of the standard and generic AArch64 support. That option set never supported the Raspberry Pi 4 family of devices.
@ -165,6 +167,10 @@
- PHP now defaults to PHP 8.2, updated from 8.1.
- GraalVM has been updated to the latest version, and this brings significant changes. Upstream don't release multiple versions targeting different JVMs anymore, so now we only have one GraalVM derivation (`graalvm-ce`). While at first glance the version may seem a downgrade (22.3.1 -> 21.0.0), the major version is now following the JVM it targets (so this latest version targets JVM 21). Also some products like `llvm-installable-svm` and `native-image-svm` were incorporate to the main GraalVM derivation, so they're included by default.
- GraalPy (`graalCEPackages.graalpy`), TruffleRuby (`graalCEPackages.truffleruby`), GraalJS (`graalCEPackages.graaljs`) and GraalNodeJS (`grallCEPackages.graalnodejs`) are now indepedent from the main GraalVM derivation.
- The ISC DHCP package and corresponding module have been removed, because they are end of life upstream. See https://www.isc.org/blogs/isc-dhcp-eol/ for details and switch to a different DHCP implementation like kea or dnsmasq.
- `prometheus-unbound-exporter` has been replaced by the Let's Encrypt maintained version, since the previous version was archived. This requires some changes to the module configuration, most notable `controlInterface` needs migration
@ -196,6 +202,10 @@
- `spamassassin` no longer supports the `Hashcash` module. The module needs to be removed from the `loadplugin` list if it was copied over from the default `initPreConf` option.
- `nano` was removed from `environment.defaultPackages`. To not leave systems without a editor, now `programs.nano.enable` is enabled by default.
- `programs.nano.nanorc` and `programs.nano.syntaxHighlight` no longer have an effect unless `programs.nano.enable` is set to true which is the default.
- `services.outline.sequelizeArguments` has been removed, as `outline` no longer executes database migrations via the `sequelize` cli.
- The binary of the package `cloud-sql-proxy` has changed from `cloud_sql_proxy` to `cloud-sql-proxy`.

View File

@ -843,6 +843,9 @@ class Machine:
while True:
chunk = self.shell.recv(1024)
# No need to print empty strings, it means we are waiting.
if len(chunk) == 0:
continue
self.log(f"Guest shell says: {chunk!r}")
# NOTE: for this to work, nothing must be printed after this line!
if b"Spawning backdoor root shell..." in chunk:

View File

@ -42,8 +42,7 @@ let
];
defaultPackageNames =
[ "nano"
"perl"
[ "perl"
"rsync"
"strace"
];

View File

@ -1211,6 +1211,7 @@
./services/web-apps/atlassian/confluence.nix
./services/web-apps/atlassian/crowd.nix
./services/web-apps/atlassian/jira.nix
./services/web-apps/audiobookshelf.nix
./services/web-apps/bookstack.nix
./services/web-apps/calibre-web.nix
./services/web-apps/coder.nix

View File

@ -2,14 +2,16 @@
let
cfg = config.programs.nano;
LF = "\n";
in
{
###### interface
options = {
programs.nano = {
enable = lib.mkEnableOption (lib.mdDoc "nano") // {
default = true;
};
package = lib.mkPackageOptionMD pkgs "nano" { };
nanorc = lib.mkOption {
type = lib.types.lines;
@ -24,28 +26,22 @@ in
set tabsize 2
'';
};
syntaxHighlight = lib.mkOption {
type = lib.types.bool;
default = true;
default = false;
description = lib.mdDoc "Whether to enable syntax highlight for various languages.";
};
};
};
###### implementation
config = lib.mkIf (cfg.nanorc != "" || cfg.syntaxHighlight) {
environment.etc.nanorc.text = lib.concatStringsSep LF (
( lib.optionals cfg.syntaxHighlight [
"# The line below is added because value of programs.nano.syntaxHighlight is set to true"
''include "${pkgs.nano}/share/nano/*.nanorc"''
""
])
++ ( lib.optionals (cfg.nanorc != "") [
"# The lines below have been set from value of programs.nano.nanorc"
cfg.nanorc
])
);
config = lib.mkIf cfg.enable {
environment = {
etc.nanorc.text = (lib.optionalString cfg.syntaxHighlight ''
# load syntax highlighting files
include "${cfg.package}/share/nano/*.nanorc"
'') + cfg.nanorc;
systemPackages = [ cfg.package ];
};
};
}

View File

@ -166,7 +166,7 @@ in
{ command = "${pkgs.coreutils}/bin/mkdir"; options = [ "NOPASSWD" ]; }
{ command = "${pkgs.coreutils}/bin/readlink"; options = [ "NOPASSWD" ]; }
# for ssh, they are not the same than the one hard coded in ${pkgs.btrbk}
{ command = "/run/current-system/bin/btrfs"; options = [ "NOPASSWD" ]; }
{ command = "/run/current-system/sw/bin/btrfs"; options = [ "NOPASSWD" ]; }
{ command = "/run/current-system/sw/bin/mkdir"; options = [ "NOPASSWD" ]; }
{ command = "/run/current-system/sw/bin/readlink"; options = [ "NOPASSWD" ]; }
];
@ -182,7 +182,7 @@ in
(doasCmdNoPass "${pkgs.coreutils}/bin/mkdir")
(doasCmdNoPass "${pkgs.coreutils}/bin/readlink")
# for ssh, they are not the same than the one hard coded in ${pkgs.btrbk}
(doasCmdNoPass "/run/current-system/bin/btrfs")
(doasCmdNoPass "/run/current-system/sw/bin/btrfs")
(doasCmdNoPass "/run/current-system/sw/bin/mkdir")
(doasCmdNoPass "/run/current-system/sw/bin/readlink")

View File

@ -7,7 +7,7 @@ let
cfg = config.services.xmr-stak;
pkg = pkgs.xmr-stak.override {
inherit (cfg) openclSupport cudaSupport;
inherit (cfg) openclSupport;
};
in
@ -17,7 +17,6 @@ in
services.xmr-stak = {
enable = mkEnableOption (lib.mdDoc "xmr-stak miner");
openclSupport = mkEnableOption (lib.mdDoc "support for OpenCL (AMD/ATI graphics cards)");
cudaSupport = mkEnableOption (lib.mdDoc "support for CUDA (NVidia graphics cards)");
extraArgs = mkOption {
type = types.listOf types.str;
@ -64,15 +63,12 @@ in
wantedBy = [ "multi-user.target" ];
bindsTo = [ "network-online.target" ];
after = [ "network-online.target" ];
environment = mkIf cfg.cudaSupport {
LD_LIBRARY_PATH = "${pkgs.linuxPackages_latest.nvidia_x11}/lib";
};
preStart = concatStrings (flip mapAttrsToList cfg.configFiles (fn: content: ''
ln -sf '${pkgs.writeText "xmr-stak-${fn}" content}' '${fn}'
''));
serviceConfig = let rootRequired = cfg.openclSupport || cfg.cudaSupport; in {
serviceConfig = let rootRequired = cfg.openclSupport; in {
ExecStart = "${pkg}/bin/xmr-stak ${concatStringsSep " " cfg.extraArgs}";
# xmr-stak generates cpu and/or gpu configuration files
WorkingDirectory = "/tmp";

View File

@ -0,0 +1,90 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.audiobookshelf;
in
{
options = {
services.audiobookshelf = {
enable = mkEnableOption "Audiobookshelf, self-hosted audiobook and podcast server.";
package = mkPackageOption pkgs "audiobookshelf" { };
dataDir = mkOption {
description = "Path to Audiobookshelf config and metadata inside of /var/lib.";
default = "audiobookshelf";
type = types.str;
};
host = mkOption {
description = "The host Audiobookshelf binds to.";
default = "127.0.0.1";
example = "0.0.0.0";
type = types.str;
};
port = mkOption {
description = "The TCP port Audiobookshelf will listen on.";
default = 8000;
type = types.port;
};
user = mkOption {
description = "User account under which Audiobookshelf runs.";
default = "audiobookshelf";
type = types.str;
};
group = mkOption {
description = "Group under which Audiobookshelf runs.";
default = "audiobookshelf";
type = types.str;
};
openFirewall = mkOption {
description = "Open ports in the firewall for the Audiobookshelf web interface.";
default = false;
type = types.bool;
};
};
};
config = mkIf cfg.enable {
systemd.services.audiobookshelf = {
description = "Audiobookshelf is a self-hosted audiobook and podcast server";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "simple";
User = cfg.user;
Group = cfg.group;
StateDirectory = cfg.dataDir;
WorkingDirectory = "/var/lib/${cfg.dataDir}";
ExecStart = "${cfg.package}/bin/audiobookshelf --host ${cfg.host} --port ${toString cfg.port}";
Restart = "on-failure";
};
};
users.users = mkIf (cfg.user == "audiobookshelf") {
audiobookshelf = {
isSystemUser = true;
group = cfg.group;
home = "/var/lib/${cfg.dataDir}";
};
};
users.groups = mkIf (cfg.group == "audiobookshelf") {
audiobookshelf = { };
};
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.port ];
};
};
meta.maintainers = with maintainers; [ wietsedv ];
}

View File

@ -517,17 +517,24 @@ let
(assertValueOneOf "Unmanaged" boolValues)
(assertInt "Group")
(assertRange "Group" 0 2147483647)
(assertValueOneOf "RequiredForOnline" (boolValues ++ [
"missing"
"off"
"no-carrier"
"dormant"
"degraded-carrier"
"carrier"
"degraded"
"enslaved"
"routable"
]))
(assertValueOneOf "RequiredForOnline" (boolValues ++ (
let
# https://freedesktop.org/software/systemd/man/networkctl.html#missing
operationalStates = [
"missing"
"off"
"no-carrier"
"dormant"
"degraded-carrier"
"carrier"
"degraded"
"enslaved"
"routable"
];
operationalStateRanges = concatLists (imap0 (i: min: map (max: "${min}:${max}") (drop i operationalStates)) operationalStates);
in
operationalStates ++ operationalStateRanges
)))
(assertValueOneOf "RequiredFamilyForOnline" [
"ipv4"
"ipv6"

View File

@ -119,6 +119,7 @@ in {
atd = handleTest ./atd.nix {};
atop = handleTest ./atop.nix {};
atuin = handleTest ./atuin.nix {};
audiobookshelf = handleTest ./audiobookshelf.nix {};
auth-mysql = handleTest ./auth-mysql.nix {};
authelia = handleTest ./authelia.nix {};
avahi = handleTest ./avahi.nix {};

View File

@ -0,0 +1,23 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "audiobookshelf";
meta.maintainers = with maintainers; [ wietsedv ];
nodes.machine =
{ pkgs, ... }:
{
services.audiobookshelf = {
enable = true;
port = 1234;
};
};
testScript = ''
machine.wait_for_unit("audiobookshelf.service")
machine.wait_for_open_port(1234)
machine.succeed("curl --fail http://localhost:1234/")
'';
})

View File

@ -26,13 +26,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "tauon";
version = "7.6.6";
version = "7.6.7";
src = fetchFromGitHub {
owner = "Taiko2k";
repo = "TauonMusicBox";
rev = "v${finalAttrs.version}";
hash = "sha256-yt5sMvYau43WwVerQlaOrvzJ4HnBOEVQqbql9UH8jnM=";
hash = "sha256-d25JM2LUQw6KYPojc+Pn40IwCYWLE9un0YAMIBC1NVg=";
};
postUnpack = ''

View File

@ -6,13 +6,13 @@
buildDotnetModule rec {
pname = "btcpayserver";
version = "1.11.4";
version = "1.11.6";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-PJhc+Kv/iZ73DkM9KXzujTsIc071wqn/NKhuUPs/7dA=";
sha256 = "sha256-PORzTbvB9HriilaBCsC6R323RFvsI55WgSojJJ6uoIs=";
};
projectFile = "BTCPayServer/BTCPayServer.csproj";

View File

@ -11,7 +11,6 @@
(fetchNuGet { pname = "BTCPayServer.Lightning.All"; version = "1.4.31"; sha256 = "1yxg2651m649ha99rzjv7pnphx42bxzf5sc86czj6ng4rpp8rnkb"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.Charge"; version = "1.3.20"; sha256 = "0nk82hkgs67mxfxkgbav8yxxd79m0xyqaan7vay00gg33pjqdjvj"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.CLightning"; version = "1.3.28"; sha256 = "05jkdds1g0xfvf8spakwbyndz8an2kadwybg6dwz6q5rlk0aj7m8"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.Common"; version = "1.3.16"; sha256 = "1g37736b4k0ncpyy2qycbk4l85fqvgwac3k98nbdj0dvhfghp1dn"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.Common"; version = "1.3.21"; sha256 = "042xwfsxd30zgwiz0w14ynb755w5sldkplxgw1fkw68lrz66x5s4"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.Eclair"; version = "1.3.20"; sha256 = "093w82mcxxxbvx66j0sp3lsfm2bkbi3igm80iz9zdghy85845kc9"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.LNBank"; version = "1.3.26"; sha256 = "1kfl88psjbsh88l98kc6dyxqjghnzyffi070v2ifkdjcdgdbawfs"; })
@ -38,7 +37,7 @@
(fetchNuGet { pname = "HtmlSanitizer"; version = "5.0.372"; sha256 = "1gllp58vdbql2ybwf05i2178x7p4g8zyyk64317d1pyss5217g7r"; })
(fetchNuGet { pname = "Humanizer.Core"; version = "2.8.26"; sha256 = "1v8xd12yms4qq1md4vh6faxicmqrvahqdd7sdkyzrphab9v44nsm"; })
(fetchNuGet { pname = "libsodium"; version = "1.0.18"; sha256 = "15qzl5k31yaaapqlijr336lh4lzz1qqxlimgxy8fdyig8jdmgszn"; })
(fetchNuGet { pname = "LNURL"; version = "0.0.30"; sha256 = "1sph5vkl0794aky21inp8b9dz2v2clxxx6whfg2g71c0cxrxa3r5"; })
(fetchNuGet { pname = "LNURL"; version = "0.0.34"; sha256 = "1sbkqsln7wq5fsbw63wdha8kqwxgd95j0iblv4kxa1shyg3c5d9x"; })
(fetchNuGet { pname = "MailKit"; version = "3.3.0"; sha256 = "18l0jkrc4d553kiw4vdjzzpafpvsgjs1n19kjbi8isnhzidmsl4j"; })
(fetchNuGet { pname = "Microsoft.AspNet.SignalR.Client"; version = "2.4.3"; sha256 = "1whxcmxydcxjkw84sqk5idd406v3ia0xj2m4ia4b6wqbvkdqn7rf"; })
(fetchNuGet { pname = "Microsoft.AspNet.WebApi.Client"; version = "5.2.9"; sha256 = "1sy1q36bm9fz3gi780w4jgysw3dwaz2f3a5gcn6jxw1gkmdasb08"; })
@ -164,6 +163,7 @@
(fetchNuGet { pname = "NBXplorer.Client"; version = "4.2.5"; sha256 = "0kycvnxgqrkxig8k6mp1897sqbq2xarc8429vnjh79644nakdas4"; })
(fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; })
(fetchNuGet { pname = "Newtonsoft.Json.Bson"; version = "1.0.1"; sha256 = "1r1hvj5gjl466bya2bfl5aaj8rbwyf5x1msg710wf3k2llbci1xa"; })
(fetchNuGet { pname = "Newtonsoft.Json.Bson"; version = "1.0.2"; sha256 = "0c27bhy9x3c2n26inq32kmp6drpm71n6mqnmcr19wrlcaihglj35"; })
(fetchNuGet { pname = "NicolasDorier.CommandLine"; version = "2.0.0"; sha256 = "0gywvl0gqs3crlzwgwzcqf0qsrbhk3dxjycpimxqvs1ihg4dhb1f"; })

View File

@ -6,13 +6,13 @@
buildDotnetModule rec {
pname = "nbxplorer";
version = "2.3.65";
version = "2.3.66";
src = fetchFromGitHub {
owner = "dgarage";
repo = "NBXplorer";
rev = "v${version}";
sha256 = "sha256-7m9gf+enOtE5VWuBNLFf11ofLGBRAYWvmkrekUVQQaQ=";
sha256 = "sha256-DcSY2hnzJexsrRw4k57uOBfDkveEvXccN8GDUR/QmKw=";
};
projectFile = "NBXplorer/NBXplorer.csproj";

View File

@ -34,8 +34,8 @@
(fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; })
(fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
(fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.3.0"; sha256 = "1gxyzxam8163vk1kb6xzxjj4iwspjsz9zhgn1w9rjzciphaz0ig7"; })
(fetchNuGet { pname = "NBitcoin"; version = "7.0.24"; sha256 = "0yc6cgwp2xr2dzjsrkawyh43whixv66nvvq6rh1pi6gi14iaqmfa"; })
(fetchNuGet { pname = "NBitcoin.Altcoins"; version = "3.0.18"; sha256 = "054i15qan5154iy8m13jmhnz1w5rs208i1xhlfnivwiq2v1c2qby"; })
(fetchNuGet { pname = "NBitcoin"; version = "7.0.27"; sha256 = "0s2i6bjbiz5jlgydn4hja0b42s0yzw0cal0pv2a57hfcd948zc1f"; })
(fetchNuGet { pname = "NBitcoin.Altcoins"; version = "3.0.19"; sha256 = "16bv3314flq6ildsjzxzw4ih2wbryvkjpkcwkvf2lh2smqhnvr11"; })
(fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "10.0.3"; sha256 = "06vy67bkshclpz69kps4vgzc9h2cgg41c8vlqmdbwclfky7c4haq"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })

View File

@ -1,41 +1,35 @@
{ lib, fetchFromGitHub, buildGoPackage, git, which, removeReferencesTo, go }:
{ lib, fetchFromGitHub, buildGoModule }:
buildGoPackage rec {
buildGoModule rec {
pname = "quorum";
version = "2.5.0";
goPackagePath = "github.com/jpmorganchase/quorum";
version = "23.4.0";
src = fetchFromGitHub {
owner = "jpmorganchase";
owner = "Consensys";
repo = pname;
rev = "v${version}";
sha256 = "0xfdaqp9bj5dkw12gy19lxj73zh7w80j051xclsvnd41sfah86ll";
hash = "sha256-N8MlDHo6LQ/m9xFUeOCm6bqDtjnCc86i/s4ebFLjUT0=";
};
buildInputs = [ git which ];
vendorHash = "sha256-dTYKGFqVaAnspvKhfBU10bpSzhtQHGTm6KxnNKUVAIg=";
buildPhase = ''
cd "go/src/$goPackagePath"
make geth bootnode swarm
'';
patches = [
# Add missing requirements
./go.mod.patch
];
installPhase = ''
mkdir -pv $out/bin
cp -v build/bin/geth build/bin/bootnode build/bin/swarm $out/bin
'';
subPackages = [
"cmd/geth"
"cmd/bootnode"
];
# fails with `GOFLAGS=-trimpath`
allowGoReference = true;
preFixup = ''
find $out -type f -exec ${removeReferencesTo}/bin/remove-references-to -t ${go} '{}' +
'';
ldflags = [ "-s" "-w" ];
meta = with lib; {
description = "A permissioned implementation of Ethereum supporting data privacy";
homepage = "https://www.goquorum.com/";
homepage = "https://consensys.net/quorum/";
license = licenses.lgpl3;
maintainers = with maintainers; [ mmahut ];
platforms = subtractLists ["aarch64-linux"] platforms.linux;
platforms = [ "x86_64-linux" "x86_64-darwin" ];
};
}

View File

@ -0,0 +1,12 @@
diff --git a/go.mod b/go.mod
index ace412f41..3336c1e08 100644
--- a/go.mod
+++ b/go.mod
@@ -89,6 +89,7 @@ require (
golang.org/x/text v0.3.7
golang.org/x/time v0.0.0-20201208040808-7e3f01d25324
google.golang.org/grpc v1.46.0
+ google.golang.org/protobuf v1.28.0
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c
gopkg.in/karalabe/cookiejar.v2 v2.0.0-20150724131613-8dcd6a7f4951
gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce

View File

@ -6,19 +6,18 @@
, callPackage
}:
# https://download.eclipse.org/eclipse/downloads/ is the main place to
# find the downloads needed for new versions
# use ./update.sh to help with updating for each quarterly release
#
# to test:
# then, to test:
# for e in cpp modeling platform sdk java jee committers rcp; do for s in pkgs pkgsCross.aarch64-multiplatform; do echo; echo $s $e; nix build -f default.nix ${s}.eclipses.eclipse-${e} -o eclipse-${s}-${e}; done; done
let
platform_major = "4";
platform_minor = "27";
platform_minor = "28";
year = "2023";
month = "03"; #release month
buildmonth = "03"; #sometimes differs from release month
timestamp = "${year}${buildmonth}020300";
month = "06"; #release month
buildmonth = "06"; #sometimes differs from release month
timestamp = "${year}${buildmonth}050440";
gtk = gtk3;
arch = if stdenv.hostPlatform.isx86_64 then
"x86_64"
@ -44,8 +43,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-MBng3ETarHMlUUPpVvMIZxVqpe9JW5xNHonnN6CHRcw=";
aarch64 = "sha256-7FgpPzp5MY/fB6Q/wvrvi+Lpcm3tmH7bUTLh7q2Rjek=";
x86_64 = "sha256-0VFg68+M84SEPbLv2f3hNTK1tvUjN3u0X3DYFCMAFX8=";
aarch64 = "sha256-K1e1Q//X+R4FfY60eE4nPgEaF0wUkUIO/AFzzjIrGRY=";
}.${arch};
};
};
@ -59,8 +58,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-BXofrKElgCG3+WUCanpX1sGLhirj2pLi+pi24Z+WjBk=";
aarch64 = "sha256-CdePRa6jmWlt3Wismt3RahGzYOm1ZDwQRt82kRVXSdM=";
x86_64 = "sha256-wdZninKynNQ5o2nxyOxA7GDQ75tWs1TB2jh21O0fEpg=";
aarch64 = "sha256-5iAoMyesBjmdAy/eSMkgtuYv5rnXAEjgLb0yNX02mdw=";
}.${arch};
};
};
@ -74,8 +73,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-aprXjNv2NMoIDCNkFxwmMKcGUt2ssRonzTZ/hH57Mig=";
aarch64 = "sha256-Aq9PDVo/9zTeQ2j6q5bf1aIKjKM7oonIr1mEQ7rX48Y=";
x86_64 = "sha256-SYeCXWGSi8bPbqngGC+ZSBQaKyZrDTFeT+RLKC+ZsDk=";
aarch64 = "sha256-DN6fl7p+q96wsg9Mq6v3lTV0/7b87MFKTJSFuNrjLgs=";
}.${arch};
};
};
@ -106,8 +105,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-39DXU7wIsdxkUpNKnYPT7+qPJ2DrF7G7UJqPfhEDGGs=";
aarch64 = "sha256-7GwKGNHWPZ3uOFyzQj1dftFFz/3oa2j8XWkRn0wnllY=";
x86_64 = "sha256-QY16KSNZj6rq7YL+gOajI80XVtSdCh7MJGPscRJuf1o=";
aarch64 = "sha256-oZXx87dlLZ61ezwDD0WnV48ZMjcK0FkSGl83LhkJvmc=";
}.${arch};
};
};
@ -121,8 +120,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-zNBzFHmNaxUutzMh/5pOglJiKh5NAvSVwvPYyA6RVr4=";
aarch64 = "sha256-RtLXB9kgpLERfhpvDTaJG84qVyN1Puud1PTZtk/WIO0=";
x86_64 = "sha256-FC4zgx+75S9TJVp0azWgON/wNmoEy0074tj+DOdvNOg=";
aarch64 = "sha256-wnRQKqg1V4hrD9VAg6sw8yypB97Wcivt4cH6MFP4KPs=";
}.${arch};
};
};
@ -136,8 +135,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-jee-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-vpvmKZKVl6ubfq8QMDr0xprXYMWl576hu+ovvREN4ak=";
aarch64 = "sha256-5Yqxgl4kkN3Bb7hsTnd9q5TsCpVBVkEVvqPbL5MYEyg=";
x86_64 = "sha256-eSYWuw6s3H1ht4zPDwjd4oZ49KhIn1OaywtwKHyS0wI=";
aarch64 = "sha256-9O0+S3G3vtjN1Vd4euf3gYRPPtrVxoBB+Uj7BlDAS5M=";
}.${arch};
};
};
@ -151,8 +150,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-committers-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-4SAiEZWSUaiK8QO2Hg39FBcj1aYRtbOJkeF1W1AMQBo=";
aarch64 = "sha256-+KGDlo6QK3o/n2vSiD0HpIkBwqwIiMXzdFUpfE48gps=";
x86_64 = "sha256-kJoXaSwsjArpe4tqeSkZiU4AcR5dLBvdsyU7tBTiTdc=";
aarch64 = "sha256-qydFxa0lQEwsxZQPlBXV/wiuXGuIcBHRasKZEmXJaOk=";
}.${arch};
};
};
@ -166,8 +165,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-rcp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-bhcpzsS9cci3Y3Pk9DOrtPonKjRg/vzDqDr3Be/xfks=";
aarch64 = "sha256-YCb4leFWRtx4VPwK/5vgwwDH3/f0/0OWEy4ueAS7sUw=";
x86_64 = "sha256-BAEXN6sx4f+BJnKz0lkPoAmRXnlbl5s5ETAyfE/AZak=";
aarch64 = "sha256-xayvsFAglBxAB49j2tnt52d6KX6LxMBRfx0wR/p8K70=";
}.${arch};
};
};

View File

@ -255,12 +255,12 @@ rec {
cdt = buildEclipseUpdateSite rec {
name = "cdt-${version}";
# find current version at https://github.com/eclipse-cdt/cdt/releases
version = "11.1.1";
version = "11.2.0";
src = fetchzip {
stripRoot = false;
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/${lib.versions.majorMinor version}/${name}/${name}.zip";
hash = "sha256-k78QKPIb3Lr0Wcg2tTlX1abdpcvxspjaxJiP2Hrgb4A=";
hash = "sha256-YEmoAFzyGOyreg8FiL/gcwXROHT5VoLb1DfHhBp1tsQ=";
};
meta = with lib; {

View File

@ -0,0 +1,72 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash --pure -p curl cacert libxml2 yq nix jq
#! nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/3c7487575d9445185249a159046cc02ff364bff8.tar.gz
# ^
# |
# nixos-unstable ~ 2023-07-06 -----------------/
set -o errexit
set -o nounset
# scrape the downloads page for release info
curl -s -o eclipse-dl.html https://download.eclipse.org/eclipse/downloads/
trap "rm eclipse-dl.html" EXIT
dlquery() {
q=$1
xmllint --html eclipse-dl.html --xmlout 2>/dev/null | xq -r ".html.body.main.div.table[3].tr[1].td[0].a${q}";
}
# extract release info from download page HTML
platform_major=$(dlquery '."#text" | split(".") | .[0]' -r);
platform_minor=$(dlquery '."#text" | split(".") | .[1]' -r);
year=$(dlquery '."@href" | split("/") | .[] | select(. | startswith("R")) | split("-") | .[2] | .[0:4]')
buildmonth=$(dlquery '."@href" | split("/") | .[] | select(. | startswith("R")) | split("-") | .[2] | .[4:6]')
builddaytime=$(dlquery '."@href" | split("/") | .[] | select(. | startswith("R")) | split("-") | .[2] | .[6:12]')
timestamp="${year}${buildmonth}${builddaytime}";
# account for possible release-month vs. build-month mismatches
month=$buildmonth;
case "$buildmonth" in
'02'|'04') month='03' ;;
'05'|'07') month='06' ;;
'08'|'10') month='09' ;;
'11'|'01') month='12' ;;
esac
cat <<EOF
paste the following into the 'let' block near the top of pkgs/applications/editors/eclipse/default.nix:
platform_major = "${platform_major}";
platform_minor = "${platform_minor}";
year = "${year}";
month = "${month}"; #release month
buildmonth = "${buildmonth}"; #sometimes differs from release month
timestamp = "\${year}\${buildmonth}${builddaytime}";
EOF
# strip existing download hashes
sed -i 's/64 = ".*";$/64 = "";/g' pkgs/applications/editors/eclipse/default.nix
# prefetch new download hashes
echo;
echo "paste the following url + hash blocks into pkgs/applications/editors/eclipse/default.nix:";
for u in $(grep 'url = ' pkgs/applications/editors/eclipse/default.nix | grep arch | cut -d '"' -f 2 | sed 's/&/\\&/g'); do
echo;
echo " url = \"${u}\";";
echo " hash = {";
for arch in x86_64 aarch64; do
us=$(eval echo "$u");
h=$(nix store prefetch-file --json "$us" | jq -r .hash);
echo " $arch = \"${h}\";";
done
echo ' }.${arch};';
done

View File

@ -13,6 +13,7 @@
, fmt_9
, glm
, gtk3
, hidapi
, imgui
, libpng
, libzip
@ -31,13 +32,13 @@
stdenv.mkDerivation rec {
pname = "cemu";
version = "2.0-45";
version = "2.0-47";
src = fetchFromGitHub {
owner = "cemu-project";
repo = "Cemu";
rev = "v${version}";
hash = "sha256-Bi2ws08e+6rNv83ypLrgB/KZWt95i7UkFrqhCr/0Zko=";
hash = "sha256-0N/bJJHWMHF+ZlVxNHV8t/1jFr3ER3GNF8CPAHVSsak=";
};
patches = [
@ -64,6 +65,7 @@ stdenv.mkDerivation rec {
fmt_9
glm
gtk3
hidapi
imgui
libpng
libzip

View File

@ -12,13 +12,13 @@
stdenv.mkDerivation rec {
pname = "vipsdisp";
version = "2.5.1";
version = "2.6.0";
src = fetchFromGitHub {
owner = "jcupitt";
repo = "vipsdisp";
rev = "v${version}";
hash = "sha256-hx7daXVarV4JdxZfwnTHsuxxijCRP17gkOjicI3EFlM=";
hash = "sha256-iLjS3vBhdPPQNtIaM++xKekYTsr1X9f6ED2A7DYV7Lc=";
};
postPatch = ''
@ -46,6 +46,8 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/jcupitt/vipsdisp";
description = "Tiny image viewer with libvips";
license = licenses.mit;
mainProgram = "vipsdisp";
maintainers = with maintainers; [ foo-dogsquared ];
platforms = platforms.unix;
};
}

View File

@ -15,6 +15,7 @@
, potrace
, openxr-loader
, embree, gmp, libharu
, openpgl
, mesa
, runCommand
}:
@ -58,6 +59,7 @@ stdenv.mkDerivation (finalAttrs: rec {
potrace
libharu
libepoxy
openpgl
]
++ lib.optionals waylandSupport [
wayland wayland-protocols libffi libdecor libxkbcommon dbus

View File

@ -2,29 +2,35 @@
, stdenv
, fetchFromSourcehut
, redo-apenwarr
, testers
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "slweb";
version = "0.6.9";
version = "0.6.11";
src = fetchFromSourcehut {
owner = "~strahinja";
repo = pname;
rev = "v${version}";
sha256 = "sha256-YSHJJ+96Xj2zaDtPi8jftPWIyeIG9LwQ/eYT/oh2Y2c=";
repo = "slweb";
rev = "v${finalAttrs.version}";
hash = "sha256-+bKapK/s1pmo1NRRslf7V4ogWTtchFNWpzi+S8YG6+4=";
};
nativeBuildInputs = [ redo-apenwarr ];
installPhase = ''
runHook preInstall
export FALLBACKVER=${finalAttrs.version}
PREFIX=$out redo install
runHook postInstall
'';
enableParallelBuilding = true;
passthru.tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
};
meta = with lib; {
description = "A static website generator which aims at being simplistic";
homepage = "https://strahinja.srht.site/slweb/";
@ -32,4 +38,4 @@ stdenv.mkDerivation rec {
platforms = platforms.linux;
maintainers = with maintainers; [ GaetanLepage ];
};
}
})

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "ttyper";
version = "1.2.2";
version = "1.3.0";
src = fetchFromGitHub {
owner = "max-niederman";
repo = pname;
rev = "v${version}";
hash = "sha256-5U6+16gy5s+1zDSxy6rMheZFAbpiya3uxvr21VaHDZQ=";
hash = "sha256-b6yxl7dCPLWnzsrRKegubtLDLObOnCf7kvZtkobzC1o=";
};
cargoHash = "sha256-O5fPV20OSEMv7Yw982ZorhN7y3NTzrprS79n2ID0LwU=";
cargoHash = "sha256-N+JJV+q/tIMN60x9DdD/i2+9Wp44kzpMb09dsrSceEk=";
meta = with lib; {
description = "Terminal-based typing test";

View File

@ -41,9 +41,9 @@
version = "2023-08-01";
};
};
sha256 = "0b1l8gjhqbsyqi30rsn8dyq2hdvwasdqfk1qzk55f9ch4wclkjk5";
sha256bin64 = "047w7y4c8k076yzrjc50lvwncbk8b3lyqnd1si9nrsl7c66j2h0q";
version = "117.0.5938.92";
sha256 = "1bdfvcywj6ggrn6fz6g7hqhikg0cjdj8llgcm4wji52i7897gw18";
sha256bin64 = "05a2sggxm76kc6m5wcpb4gibnxa07j291m7292zdvyg32kffqxjr";
version = "117.0.5938.132";
};
ungoogled-chromium = {
deps = {
@ -54,12 +54,12 @@
version = "2023-08-01";
};
ungoogled-patches = {
rev = "117.0.5938.92-1";
sha256 = "0ix0vaki9r305js61qraiah3vqjaj3dyycabi6grfavdgjpjkasb";
rev = "117.0.5938.132-1";
sha256 = "11bg7j5838nhkwpv7blvpijjhqrisvx032bjmkng1cpy2d0kmfcx";
};
};
sha256 = "0b1l8gjhqbsyqi30rsn8dyq2hdvwasdqfk1qzk55f9ch4wclkjk5";
sha256bin64 = "047w7y4c8k076yzrjc50lvwncbk8b3lyqnd1si9nrsl7c66j2h0q";
version = "117.0.5938.92";
sha256 = "1bdfvcywj6ggrn6fz6g7hqhikg0cjdj8llgcm4wji52i7897gw18";
sha256bin64 = "05a2sggxm76kc6m5wcpb4gibnxa07j291m7292zdvyg32kffqxjr";
version = "117.0.5938.132";
};
}

View File

@ -19,6 +19,8 @@
, gnupg
, runtimeShell
, systemLocale ? config.i18n.defaultLocale or "en_US"
, patchelfUnstable # have to use patchelfUnstable to support --no-clobber-old-sections
, makeWrapper
}:
let
@ -57,6 +59,19 @@ let
pname = "firefox-${channel}-bin-unwrapped";
# FIXME: workaround for not being able to pass flags to patchelf
# Remove after https://github.com/NixOS/nixpkgs/pull/256525
wrappedPatchelf = stdenv.mkDerivation {
pname = "patchelf-wrapped";
inherit (patchelfUnstable) version;
nativeBuildInputs = [ makeWrapper ];
buildCommand = ''
mkdir -p $out/bin
makeWrapper ${patchelfUnstable}/bin/patchelf $out/bin/patchelf --append-flags "--no-clobber-old-sections"
'';
};
in
stdenv.mkDerivation {
@ -64,7 +79,7 @@ stdenv.mkDerivation {
src = fetchurl { inherit (source) url sha256; };
nativeBuildInputs = [ wrapGAppsHook autoPatchelfHook ];
nativeBuildInputs = [ wrapGAppsHook autoPatchelfHook wrappedPatchelf ];
buildInputs = [
gtk3
adwaita-icon-theme

View File

@ -3,10 +3,10 @@
{
firefox = buildMozillaMach rec {
pname = "firefox";
version = "118.0";
version = "118.0.1";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "7c34c43930bda84d17a241fe7e0f8e6ca262410423ae7e7cc8444224aea2d25a52acc9079064ba57f3350e3573eb23aeaf7a2d98136d17e6fa89a61aaf57155d";
sha512 = "b1efa1afea70434dc2a18d335bb8b526883cde200f1503b8c5fd2e7db8285e6a999cfa3aac354ea1c15a91d13a46d68db37023235314240b59eb8f55e01554ad";
};
meta = {
@ -90,11 +90,11 @@
firefox-esr-115 = buildMozillaMach rec {
pname = "firefox-esr-115";
version = "115.3.0esr";
version = "115.3.1esr";
applicationName = "Mozilla Firefox ESR";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "4a85095620a61dc516cfce6f288ba491a99c72a78c6dfae264c1292f9eba902e3df7101b97a6f8531114ccce421c92586e143872798aafd7aabbe98a257692ee";
sha512 = "65cb6fc46bba03eed742bd67f8e36b63b19f2ad7b85d2f503595704a4e88f554758a1e66ba548c8efe97a76322fb2514db72e6ff4bb2992d1aaa86edc3af85f1";
};
meta = {

View File

@ -1,15 +1,15 @@
{
"packageVersion": "117.0.1-1",
"packageVersion": "118.0.1-1",
"source": {
"rev": "117.0.1-1",
"sha256": "06j85b6v54vxj99hgrlibpsg6f8w8cqj912vz7gwyfa17pawax9z"
"rev": "118.0.1-1",
"sha256": "1wdqiif1la97w9b3xsz20xrcg2d1c0j13pdfcj7z23jz8846iqk4"
},
"settings": {
"rev": "9c862f06f970d69e00c1035e0d4774fb44fd84a6",
"sha256": "0ay58wrhfn0b56748phpn0ahz11ls9y8d2fd1z4zrj6dv398vlmb"
},
"firefox": {
"version": "117.0.1",
"sha512": "1583b0ad3b3b17c59bfbfb3e416074766327d0b926ef4f6c6b1e3b2d7cf6a18dec592b7d17fab9493ba1506f3540a02277096d28616dd29b6e7b9e93905f2071"
"version": "118.0.1",
"sha512": "b1efa1afea70434dc2a18d335bb8b526883cde200f1503b8c5fd2e7db8285e6a999cfa3aac354ea1c15a91d13a46d68db37023235314240b59eb8f55e01554ad"
}
}

View File

@ -16,6 +16,7 @@
, enableWidevine ? false, widevine-cdm ? null
, commandLineArgs ? ""
, pulseSupport ? stdenv.isLinux, libpulseaudio
, kerberosSupport ? true, libkrb5
}:
let
@ -23,7 +24,7 @@ let
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
in stdenv.mkDerivation rec {
pname = "vivaldi";
version = "6.2.3105.48";
version = "6.2.3105.54";
suffix = {
aarch64-linux = "arm64";
@ -33,8 +34,8 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb";
hash = {
aarch64-linux = "sha256-SIuHulBZ7r0gaIdkF3zM3mzLOyiUWCM7YM2teA7T9is=";
x86_64-linux = "sha256-LsyeX+nPlOtMCWv1Zu46OZ7yMm9feqyGR73saAwM1SU=";
aarch64-linux = "sha256-QqdCnwSrqJAEj++xcr3cOkKSbZIFkyvMutxsLNR/Moc=";
x86_64-linux = "sha256-z5/l94MFhpHRLvbUdSwFSSt3n21mPZJzanYugXecLFk=";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
@ -57,7 +58,8 @@ in stdenv.mkDerivation rec {
libdrm mesa vulkan-loader
wayland pipewire
] ++ lib.optional proprietaryCodecs vivaldi-ffmpeg-codecs
++ lib.optional pulseSupport libpulseaudio;
++ lib.optional pulseSupport libpulseaudio
++ lib.optional kerberosSupport libkrb5;
libPath = lib.makeLibraryPath buildInputs
+ lib.optionalString (stdenv.is64bit)

View File

@ -5,9 +5,14 @@
, fetchFromGitHub
, coreutils
, nettools
, dmidecode
, busybox
, util-linux
, stdenv
, dmidecode
, bashInteractive
, nix-update-script
, testers
, ssm-agent
, overrideEtc ? true
}:
@ -27,17 +32,17 @@ let
in
buildGoPackage rec {
pname = "amazon-ssm-agent";
version = "3.2.1478.0";
version = "3.2.1630.0";
goPackagePath = "github.com/aws/${pname}";
nativeBuildInputs = [ makeWrapper ];
src = fetchFromGitHub {
rev = version;
rev = "refs/tags/${version}";
owner = "aws";
repo = "amazon-ssm-agent";
hash = "sha256-SS0N3Wcksk2vq52K6GYE9z4hrckXGqiuCuYPHkH4SWc=";
hash = "sha256-0tN0rBfz2VZ4UkYLFDGg9218O9vyyRT2Lrppu9TETao=";
};
patches = [
@ -49,7 +54,7 @@ buildGoPackage rec {
./0002-version-gen-don-t-use-unnecessary-constants.patch
];
# See the list https://github.com/aws/amazon-ssm-agent/blob/3.2.1478.0/makefile#L120-L138
# See the list https://github.com/aws/amazon-ssm-agent/blob/3.2.1630.0/makefile#L120-L138
# The updater is not built because it cannot work on NixOS
subPackages = [
"core"
@ -65,24 +70,27 @@ buildGoPackage rec {
"-w"
];
preConfigure = ''
postPatch = ''
printf "#!/bin/sh\ntrue" > ./Tools/src/checkstyle.sh
substituteInPlace agent/platform/platform_unix.go \
--replace "/usr/bin/uname" "${coreutils}/bin/uname" \
--replace '"/bin", "hostname"' '"${nettools}/bin/hostname"' \
--replace '"lsb_release"' '"${fake-lsb-release}/bin/lsb_release"'
substituteInPlace agent/managedInstances/fingerprint/hardwareInfo_unix.go \
--replace /usr/sbin/dmidecode ${dmidecode}/bin/dmidecode
--replace "/usr/bin/uname" "${coreutils}/bin/uname" \
--replace '"/bin", "hostname"' '"${nettools}/bin/hostname"' \
--replace '"lsb_release"' '"${fake-lsb-release}/bin/lsb_release"'
substituteInPlace agent/session/shell/shell_unix.go \
--replace '"script"' '"${util-linux}/bin/script"'
--replace '"script"' '"${util-linux}/bin/script"'
substituteInPlace agent/rebooter/rebooter_unix.go \
--replace "/sbin/shutdown" "shutdown"
echo "${version}" > VERSION
'' + lib.optionalString overrideEtc ''
substituteInPlace agent/appconfig/constants_unix.go \
--replace '"/etc/amazon/ssm/"' '"${placeholder "out"}/etc/amazon/ssm/"'
'' + lib.optionalString stdenv.isLinux ''
substituteInPlace agent/managedInstances/fingerprint/hardwareInfo_unix.go \
--replace /usr/sbin/dmidecode ${dmidecode}/bin/dmidecode
'';
preBuild = ''
@ -129,11 +137,23 @@ buildGoPackage rec {
wrapProgram $out/bin/amazon-ssm-agent --prefix PATH : ${bashInteractive}/bin
'';
passthru = {
updateScript = nix-update-script { };
tests.version = testers.testVersion {
package = ssm-agent;
command = "amazon-ssm-agent --version";
};
};
meta = with lib; {
description = "Agent to enable remote management of your Amazon EC2 instance configuration";
changelog = "https://github.com/aws/amazon-ssm-agent/releases/tag/${version}";
homepage = "https://github.com/aws/amazon-ssm-agent";
license = licenses.asl20;
platforms = platforms.unix;
maintainers = with maintainers; [ copumpkin manveru ];
maintainers = with maintainers; [ copumpkin manveru anthonyroussel ];
# Darwin support is broken
broken = stdenv.isDarwin;
};
}

View File

@ -5,13 +5,13 @@
buildGoModule rec {
pname = "terragrunt";
version = "0.50.17";
version = "0.51.0";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-N/6l2hFb8jlq6NdGShXgr2BijOfWpfVziVFQRkz0Cu8=";
hash = "sha256-aCgJGoRJUALs94J/2zoRgCIiY9D6SquIX5FOIQiGytU=";
};
vendorHash = "sha256-HWcm8y8bySMV3ue1RpxiXfYyV33cXGFII1/d+XD2Iro=";

View File

@ -7,6 +7,7 @@
, yarn
, nodejs
, fetchYarnDeps
, jq
, electron
, element-web
, sqlcipher
@ -40,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: builtins.removeAttrs pinData [ "hashes" ] // {
sha256 = desktopYarnHash;
};
nativeBuildInputs = [ yarn fixup_yarn_lock nodejs makeWrapper ]
nativeBuildInputs = [ yarn fixup_yarn_lock nodejs makeWrapper jq ]
++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle ];
inherit seshat;

View File

@ -1,9 +1,9 @@
{
"version" = "1.11.43";
"version" = "1.11.45";
"hashes" = {
"desktopSrcHash" = "sha256-mFI3+IRBrJT6wTxoggLTGoB48FyBoRhQSmUKbC8sASI=";
"desktopYarnHash" = "1w5blpdk61yqai6gwk9n28cf57crnahs6hr0p3xvwchbc9x50dfq";
"webSrcHash" = "sha256-LF6SMHYP2mxxHnh1YcLYoTEME7SgTVMKa8lz1rVZ+HA=";
"webYarnHash" = "0qvvhbj5mrrry2zcslz5n3pv4bpmdr5vsv446fm4cfvrj4awbz06";
"desktopSrcHash" = "sha256-SxpnvIctV738mMRmMiuLgr1InMrlWH39/6lTO0wu+vQ=";
"desktopYarnHash" = "09a2swngqjz4hahzvczhw0lh38y39glc1dkkhjkp4jqvmds9ni7n";
"webSrcHash" = "sha256-hImwZ7vzpupRulk9g5jhfv0sgZqmPXnggJjUUwZ+UCE=";
"webYarnHash" = "0r2xzq9630vky32hqp3h1skdgv3jiiffi8553yzzk4zr45nlvf9d";
};
}

View File

@ -2,13 +2,13 @@
(if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec {
pname = "signalbackup-tools";
version = "20230928-1";
version = "20230929";
src = fetchFromGitHub {
owner = "bepaald";
repo = pname;
rev = version;
hash = "sha256-wL9Yv6+7PynbBr+GgA8ohS5w5/iVTtrC3R2SG5MWJVQ=";
hash = "sha256-5U8znPKCe4auQRfysVUzXawnvnSj86MD3J2vfAwxofE=";
};
postPatch = ''

View File

@ -24,11 +24,9 @@
let
pname = "teams";
versions = {
linux = "1.5.00.23861";
darwin = "1.6.00.4464";
};
hashes = {
linux = "sha256-h0YnCeJX//l4TegJVZtavV3HrxjYUF2Fa5KmaYmZW8E=";
darwin = "sha256-DvXMrXotKWUqFCb7rZj8wU7mmZJKuTLGyx8qOB/aQtg=";
};
meta = with lib; {
@ -38,112 +36,10 @@ let
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ liff tricktron ];
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
platforms = [ "x86_64-darwin" "aarch64-darwin" ];
mainProgram = "teams";
};
linux = stdenv.mkDerivation rec {
inherit pname meta;
version = versions.linux;
src = fetchurl {
urls = [
"https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${versions.linux}_amd64.deb"
# NOTE: the archive.org timestamp must also be updated if the version changes.
"https://web.archive.org/web/20221130115842if_/https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${versions.linux}_amd64.deb"
];
hash = hashes.linux;
};
nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook asar ];
unpackCmd = "dpkg -x $curSrc .";
buildInputs = atomEnv.packages ++ [
libuuid
at-spi2-atk
];
runtimeDependencies = [
(lib.getLib systemd)
pulseaudio
libappindicator-gtk3
];
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : "${coreutils}/bin:${gawk}/bin"
# fix for https://docs.microsoft.com/en-us/answers/questions/298724/open-teams-meeting-link-on-linux-doens39t-work.html?childToView=309406#comment-309406
--append-flags '--disable-namespace-sandbox --disable-setuid-sandbox'
)
'';
buildPhase = ''
runHook preBuild
asar extract share/teams/resources/app.asar "$TMP/work"
substituteInPlace $TMP/work/main.bundle.js \
--replace "/usr/share/pixmaps/" "$out/share/pixmaps" \
--replace "/usr/bin/xdg-mime" "${xdg-utils}/bin/xdg-mime" \
--replace "Exec=/usr/bin/" "Exec=" # Remove usage of absolute path in autostart.
asar pack --unpack='{*.node,*.ftz,rect-overlay}' "$TMP/work" share/teams/resources/app.asar
runHook postBuild
'';
preferLocalBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/{opt,bin}
mv share/teams $out/opt/
mv share $out/share
mkdir -p $out/share/icons/hicolor/512x512/apps
mv $out/share/pixmaps/teams.png $out/share/icons/hicolor/512x512/apps
rmdir $out/share/pixmaps
substituteInPlace $out/share/applications/teams.desktop \
--replace /usr/bin/ ""
ln -s $out/opt/teams/teams $out/bin/
${lib.optionalString (!enableRectOverlay) ''
# Work-around screen sharing bug
# https://docs.microsoft.com/en-us/answers/questions/42095/sharing-screen-not-working-anymore-bug.html
rm $out/opt/teams/resources/app.asar.unpacked/node_modules/slimcore/bin/rect-overlay
''}
runHook postInstall
'';
dontAutoPatchelf = true;
# Includes runtimeDependencies in the RPATH of the included Node modules
# so that dynamic loading works. We cannot use directly runtimeDependencies
# here, since the libraries from runtimeDependencies are not propagated
# to the dynamically loadable node modules because of a condition in
# autoPatchElfHook since *.node modules have Type: DYN (Shared object file)
# instead of EXEC or INTERP it expects.
# Fixes: https://github.com/NixOS/nixpkgs/issues/85449
postFixup = ''
autoPatchelf "$out"
runtime_rpath="${lib.makeLibraryPath runtimeDependencies}"
for mod in $(find "$out/opt/teams" -name '*.node'); do
mod_rpath="$(patchelf --print-rpath "$mod")"
echo "Adding runtime dependencies to RPATH of Node module $mod"
patchelf --set-rpath "$runtime_rpath:$mod_rpath" "$mod"
done;
'';
};
appName = "Teams.app";
darwin = stdenv.mkDerivation {
@ -178,4 +74,4 @@ let
in
if stdenv.isDarwin
then darwin
else linux
else throw "Teams app for Linux has been removed as it is unmaintained by upstream. (2023-09-29)"

View File

@ -1,25 +0,0 @@
{ buildGoPackage, lib, fetchFromGitHub }:
buildGoPackage rec {
pname = "utahfs";
version = "1.0";
src = fetchFromGitHub {
owner = "cloudflare";
repo = pname;
rev = "v${version}";
sha256 = "1hpwch5fsqlxwpk5afawa1k5s0bx5c1cw0hvdllp7257lgly19fb";
};
goPackagePath = "github.com/cloudflare/utahfs";
meta = with lib; {
homepage = "https://github.com/cloudflare/utahfs";
description =
"Encrypted storage system that provides a user-friendly FUSE drive backed by cloud storage";
license = licenses.bsd3;
maintainers = [ maintainers.snglth ];
platforms = platforms.unix;
# does not build with go 1.17: https://github.com/cloudflare/utahfs/issues/46
broken = true;
};
}

View File

@ -1,7 +1,18 @@
{ lib, stdenv, fetchFromGitHub, cmake, alsa-lib, espeak, gpsd
, hamlib, perl, python3, udev }:
with lib;
{ lib
, stdenv
, fetchFromGitHub
, cmake
, alsa-lib
, gpsd
, gpsdSupport ? false
, hamlib
, hamlibSupport ? true
, perl
, python3
, espeak
, udev
, extraScripts ? false
}:
stdenv.mkDerivation rec {
pname = "direwolf";
@ -18,9 +29,14 @@ stdenv.mkDerivation rec {
strictDeps = true;
buildInputs = [
espeak gpsd hamlib perl python3
] ++ (optionals stdenv.isLinux [alsa-lib udev]);
buildInputs = lib.optionals stdenv.isLinux [ alsa-lib udev ]
++ lib.optionals gpsdSupport [ gpsd ]
++ lib.optionals hamlibSupport [ hamlib ]
++ lib.optionals extraScripts [ python3 perl espeak ];
preConfigure = lib.optionals (!extraScripts) ''
echo "" > scripts/CMakeLists.txt
'';
postPatch = ''
substituteInPlace conf/CMakeLists.txt \
@ -31,21 +47,23 @@ stdenv.mkDerivation rec {
substituteInPlace src/decode_aprs.c \
--replace /usr/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt \
--replace /opt/local/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt
patchShebangs scripts/dwespeak.sh
substituteInPlace scripts/dwespeak.sh \
--replace espeak ${espeak}/bin/espeak
substituteInPlace cmake/cpack/direwolf.desktop.in \
--replace 'Terminal=false' 'Terminal=true' \
--replace 'Exec=@APPLICATION_DESKTOP_EXEC@' 'Exec=direwolf'
substituteInPlace src/dwgpsd.c \
--replace 'GPSD_API_MAJOR_VERSION > 11' 'GPSD_API_MAJOR_VERSION > 14'
''
+ lib.optionalString extraScripts ''
patchShebangs scripts/dwespeak.sh
substituteInPlace scripts/dwespeak.sh \
--replace espeak ${espeak}/bin/espeak
'';
meta = {
meta = with lib; {
description = "A Soundcard Packet TNC, APRS Digipeater, IGate, APRStt gateway";
homepage = "https://github.com/wb2osz/direwolf/";
license = licenses.gpl2;
platforms = platforms.unix;
maintainers = with maintainers; [ lasandell ];
maintainers = with maintainers; [ lasandell sarcasticadmin ];
};
}

View File

@ -1,4 +1,10 @@
{ lib, stdenv, buildGoModule, fetchFromGitHub }:
{ lib
, stdenv
, buildGoModule
, fetchFromGitHub
, libax25
, installShellFiles
}:
buildGoModule rec {
pname = "pat";
@ -15,10 +21,25 @@ buildGoModule rec {
ldflags = [ "-s" "-w" ];
nativeBuildInputs = [
installShellFiles
];
buildInputs = lib.optional stdenv.isLinux [ libax25 ];
# Needed by wl2k-go go module for libax25 to include support for Linux' AX.25 stack by linking against libax25.
# ref: https://github.com/la5nta/wl2k-go/blob/abe3ae5bf6a2eec670a21672d461d1c3e1d4c2f3/transport/ax25/ax25.go#L11-L17
tags = lib.optionals stdenv.isLinux [ "libax25" ];
postInstall = ''
installManPage man/pat-configure.1 man/pat.1
'';
meta = with lib; {
description = "Pat is a cross platform Winlink client written in Go.";
homepage = "https://getpat.io/";
license = licenses.mit;
maintainers = with maintainers; [ dotemup ];
maintainers = with maintainers; [ dotemup sarcasticadmin ];
platforms = platforms.unix;
};
}

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, cmake
, eigen
, fetchFromGitHub
, libcifpp
, libmcfp
@ -8,24 +9,24 @@
}:
let
libcifpp' = libcifpp.overrideAttrs (oldAttrs: {
# dssp 4.3.1 requires specific version "5.1.0" of libcifpp
version = "5.1.0";
# dssp 4.4.3 requires specific version "5.2.0" of libcifpp
version = "5.2.0";
src = fetchFromGitHub {
inherit (oldAttrs.src) owner repo rev;
hash = "sha256-PUsi4T6huSqwaa6RnBP1Vj+0a1ePrvrHD0641Lkkc5s=";
hash = "sha256-Sj10j6HxUoUvQ66cd2B8CO7CVBRd7w9CTovxkwPDOvs=";
};
});
in
stdenv.mkDerivation (finalAttrs: {
pname = "dssp";
version = "4.4.2";
version = "4.4.3";
src = fetchFromGitHub {
owner = "PDB-REDO";
repo = "dssp";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-Gic/rE/G24P5g4Uhf2lcvVa6i/4KGQzCpK4KlpjXcS0=";
hash = "sha256-zPmRR7sxVNErwabLqA5CNMO4K1qHdmC9FBPjcx91KuM=";
};
nativeBuildInputs = [
@ -33,6 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
eigen
libcifpp'
libmcfp
zlib

View File

@ -1,47 +1,35 @@
{ fetchFromGitHub, fetchpatch, lib, which, ocamlPackages }:
{ fetchurl, fetchpatch, lib, ocamlPackages }:
let
pname = "alt-ergo";
version = "2.4.3";
version = "2.5.1";
configureScript = "ocaml unix.cma configure.ml";
src = fetchFromGitHub {
owner = "OCamlPro";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-2XARGr8rLiPMOM0rBBoRv5tZvKYtkLkJctGqLYkMe7Q=";
src = fetchurl {
url = "https://github.com/OCamlPro/alt-ergo/releases/download/v${version}/alt-ergo-${version}.tbz";
hash = "sha256-nPjWmg5FepObhquioYxhVPq6UdOHtCo2Hs5V0yndYB0=";
};
in
let alt-ergo-lib = ocamlPackages.buildDunePackage rec {
pname = "alt-ergo-lib";
inherit version src configureScript;
configureFlags = [ pname ];
nativeBuildInputs = [ which ];
buildInputs = with ocamlPackages; [ dune-configurator ];
propagatedBuildInputs = with ocamlPackages; [ dune-build-info num ocplib-simplex seq stdlib-shims zarith ];
preBuild = ''
substituteInPlace src/lib/util/version.ml --replace 'version="dev"' 'version="${version}"'
'';
inherit version src;
buildInputs = with ocamlPackages; [ ppx_blob ];
propagatedBuildInputs = with ocamlPackages; [ camlzip dolmen_loop dune-build-info fmt ocplib-simplex seq stdlib-shims zarith ];
}; in
let alt-ergo-parsers = ocamlPackages.buildDunePackage rec {
pname = "alt-ergo-parsers";
inherit version src configureScript;
configureFlags = [ pname ];
nativeBuildInputs = [ which ocamlPackages.menhir ];
propagatedBuildInputs = [ alt-ergo-lib ] ++ (with ocamlPackages; [ camlzip psmt2-frontend ]);
inherit version src;
nativeBuildInputs = [ ocamlPackages.menhir ];
propagatedBuildInputs = [ alt-ergo-lib ] ++ (with ocamlPackages; [ psmt2-frontend ]);
}; in
ocamlPackages.buildDunePackage {
inherit pname version src configureScript;
inherit pname version src;
configureFlags = [ pname ];
nativeBuildInputs = [ which ocamlPackages.menhir ];
buildInputs = [ alt-ergo-parsers ocamlPackages.cmdliner ];
nativeBuildInputs = [ ocamlPackages.menhir ];
buildInputs = [ alt-ergo-parsers ] ++ (with ocamlPackages; [ cmdliner dune-site ]);
meta = {
description = "High-performance theorem prover and SMT solver";

View File

@ -1,25 +1,16 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, ocamlPackages, why3 }:
{ lib, stdenv, fetchFromGitHub, ocamlPackages, why3 }:
stdenv.mkDerivation rec {
pname = "easycrypt";
version = "2022.04";
version = "2023.09";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "r${version}";
sha256 = "sha256:09rdwcj70lkamkhd895p284rfpz4bcnsf55mcimhiqncd2a21ml7";
hash = "sha256-9xavU9jRisZekPqC87EyiLXtZCGu/9QeGzq6BJGt1+Y=";
};
patches = lib.lists.map fetchpatch [
# Fix build with Why3 1.5
{ url = "https://github.com/EasyCrypt/easycrypt/commit/d226387432deb7f22738e1d5579346a2cbc9be7a.patch";
hash = "sha256:1zvxij35fnr3h9b5wdl8ml17aqfx3a39rd4mgwmdvkapbg3pa4lm"; }
# Fix build with Why3 1.6
{ url = "https://github.com/EasyCrypt/easycrypt/commit/876f2ed50a0434afdf2fb20e7c50b8a3e26bb06e.patch";
hash = "sha256-UycfLZWYHNsppb7qHSRaAF4Y0UnwoFueEG0wUcBUPYE="; }
];
nativeBuildInputs = with ocamlPackages; [
dune_3
findlib

View File

@ -10,7 +10,7 @@
}:
let
version = "5.12.152";
version = "5.12.153";
in
rustPlatform.buildRustPackage {
pname = "git-mit";
@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
owner = "PurpleBooth";
repo = "git-mit";
rev = "v${version}";
hash = "sha256-FW7vstYJNJ29v3BNsyRFk57sW3jjA7aurXzz6je1nuo=";
hash = "sha256-bYSWNNMDH1iTGmpLB3m/LCS8GltTdjfjeMwtB5Ss7dk=";
};
cargoHash = "sha256-FQmWAvSuif0/mTVl2xzI4JVLCxn7CXYubGdi55kk2Mk=";
cargoHash = "sha256-FAihHJTnnHYCphEVMPA1YPT/Nj9m4DwkbhGbZJOlm0o=";
nativeBuildInputs = [ pkg-config ];

View File

@ -13,16 +13,16 @@
rustPlatform.buildRustPackage rec {
pname = "dmlive";
version = "5.3.0";
version = "5.3.1";
src = fetchFromGitHub {
owner = "THMonster";
repo = pname;
rev = "92ce90163c3d84f0fab99e6dc192a65c616ffd81"; # no tag
hash = "sha256-3eRC/XmvZXe3DyXOqSkNpTbddtGr/lcaTaFYqZLZq+w=";
rev = "0a07fd1b831bc9e9d34e474284430297b63446c7"; # no tag
hash = "sha256-Jvxbdm9Swh8m03uZEMTkUhIHNfhE+N2a3w7j+liweKE=";
};
cargoHash = "sha256-TQTdz+ZC5cZxWhccnUmXnq+j2EYM5486mIjn6Poe5a8=";
cargoHash = "sha256-/84T7K6WUt2Bfx9qdZjyOHcJEGoquCfRX1ctQBuUjEc=";
OPENSSL_NO_VENDOR = true;

View File

@ -2,7 +2,7 @@
, glibc
, fetchFromGitLab
, makeWrapper
, buildGoPackage
, buildGoModule
, linkFarm
, writeShellScript
, containerRuntimePath
@ -24,7 +24,7 @@ let
fi
'';
in
buildGoPackage rec {
buildGoModule rec {
pname = "container-toolkit/container-toolkit";
version = "1.9.0";
@ -32,20 +32,30 @@ buildGoPackage rec {
owner = "nvidia";
repo = pname;
rev = "v${version}";
sha256 = "sha256-b4mybNB5FqizFTraByHk5SCsNO66JaISj18nLgLN7IA=";
hash = "sha256-b4mybNB5FqizFTraByHk5SCsNO66JaISj18nLgLN7IA=";
};
goPackagePath = "github.com/NVIDIA/nvidia-container-toolkit";
vendorHash = null;
postPatch = ''
# replace the default hookDefaultFilePath to the $out path
substituteInPlace cmd/nvidia-container-runtime/main.go \
--replace '/usr/bin/nvidia-container-runtime-hook' '${placeholder "out"}/bin/nvidia-container-runtime-hook'
'';
ldflags = [ "-s" "-w" ];
nativeBuildInputs = [ makeWrapper ];
preBuild = ''
# replace the default hookDefaultFilePath to the $out path
substituteInPlace go/src/github.com/NVIDIA/nvidia-container-toolkit/cmd/nvidia-container-runtime/main.go \
--replace '/usr/bin/nvidia-container-runtime-hook' '${placeholder "out"}/bin/nvidia-container-runtime-hook'
'';
checkFlags =
let
skippedTests = [
# Disable tests executing nvidia-container-runtime command.
"TestGoodInput"
"TestDuplicateHook"
];
in
[ "-skip" "${builtins.concatStringsSep "|" skippedTests}" ];
postInstall = ''
mkdir -p $out/etc/nvidia-container-runtime

View File

@ -71,7 +71,5 @@ stdenv.mkDerivation ({
platforms = graalvmDrv.meta.platforms;
# default to executable name
mainProgram = executable;
# need to have native-image-installable-svm available
broken = !(builtins.any (p: (p.product or "") == "native-image-installable-svm") graalvmDrv.products);
} // meta;
} // extraArgs)

View File

@ -14,11 +14,11 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "composer-phar";
version = "2.6.3";
version = "2.6.4";
src = fetchurl {
url = "https://github.com/composer/composer/releases/download/${finalAttrs.version}/composer.phar";
hash = "sha256-5Yo5DKwN9FzPWj2VrpT6I57e2LeQf6LI91LwIDBPybE=";
hash = "sha256-Wjnz4s5bo5HuP+yyJ/ryE5D1t+1cVvFMq54cMEi8+Lg=";
};
dontUnpack = true;

View File

@ -0,0 +1,34 @@
{ lib
, rustPlatform
, fetchFromGitHub
, stdenv
, darwin
}:
rustPlatform.buildRustPackage rec {
pname = "cargo-i18n";
version = "0.2.12";
src = fetchFromGitHub {
owner = "kellpossible";
repo = "cargo-i18n";
rev = "v${version}";
hash = "sha256-ck0GYy9DLngOunpItGQ4+qrlzaWDk0zTnIzuRQt2/Gw=";
};
cargoHash = "sha256-nvZx2wJDs7PZQLCl8Hrf2blR+lNUBVr6k664VSVQ5iI=";
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Foundation
];
cargoTestFlags = [ "--lib" ];
meta = with lib; {
description = "Rust Cargo sub-command and libraries to extract and build localization resources to embed in your application/library";
homepage = "https://github.com/kellpossible/cargo-i18n";
license = licenses.mit;
maintainers = with maintainers; [ xrelkd ];
mainProgram = "cargo-i18n";
};
}

View File

@ -0,0 +1,30 @@
{ cmake
, fetchFromGitHub
, lib
, stdenv
}:
stdenv.mkDerivation (finalAttrs: {
pname = "colorized-logs";
version = "2.6";
src = fetchFromGitHub {
owner = "kilobyte";
repo = "colorized-logs";
rev = "v${finalAttrs.version}";
hash = "sha256-QiZeIYeIWA3C7wYi2G2EItdW+jLjVrCbIYllur/RtY8=";
};
nativeBuildInputs = [
cmake
];
meta = {
description = "Tools for logs with ANSI color";
homepage = "https://github.com/kilobyte/colorized-logs";
changelog = "https://github.com/kilobyte/colorized-logs/blob/v${finalAttrs.version}/ChangeLog";
license = with lib.licenses; [ mit ];
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ CobaltCause ];
};
})

View File

@ -0,0 +1,4 @@
{ python3Packages
}:
with python3Packages; toPythonApplication (controku.override { buildApplication = true; })

View File

@ -7,7 +7,7 @@
, pandoc
, pkg-config
, zlib
, Security
, darwin
, libiconv
, installShellFiles
# once eza upstream gets support for setting up a compatibilty symlink for exa, we should change
@ -30,7 +30,7 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
buildInputs = [ zlib ]
++ lib.optionals stdenv.isDarwin [ libiconv Security ];
++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
buildNoDefaultFeatures = true;
buildFeatures = lib.optional gitSupport "git";

View File

@ -0,0 +1,32 @@
{ lib
, rustPlatform
, fetchFromGitHub
, steam-run
}:
rustPlatform.buildRustPackage rec {
pname = "game-rs";
version = "0.1.3";
src = fetchFromGitHub {
owner = "amanse";
repo = "game-rs";
rev = "v${version}";
hash = "sha256-M9/hFItoCL8fSrc0dFNn43unqkIaD179OGUdbXL6/Rs=";
};
cargoHash = "sha256-aq58sFK4/Zd8S4dOWjag+g5PmTeaVAK3FS3fW/YlCLs=";
buildFeatures = [ "nixos" ];
propagatedBuildInputs = [ steam-run ];
meta = with lib; {
description = "Minimal CLI game launcher for linux";
homepage = "https://github.com/amanse/game-rs";
changelog = "https://github.com/Amanse/game-rs/releases/tag/v${version}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ amanse ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,28 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "gh-screensaver";
version = "2.0.1";
src = fetchFromGitHub {
owner = "vilmibm";
repo = "gh-screensaver";
rev = "v${version}";
hash = "sha256-MqwaqXGP4E+46vpgftZ9bttmMyENuojBnS6bWacmYLE=";
};
vendorHash = "sha256-o9B6Q07GP/CFekG3av01boZA7FdZg4x8CsLC3lwhn2A=";
ldflags = [ "-s" "-w" ];
meta = with lib; {
description = "gh extension with animated terminal screensavers";
homepage = "https://github.com/vilmibm/gh-screensaver";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ foo-dogsquared ];
mainProgram = "gh-screensaver";
};
}

View File

@ -0,0 +1,39 @@
{ stdenv
, lib
, fetchgit
, avahi
, gmp
, autoreconfHook
, pkg-config
, texinfo
, guile
}:
stdenv.mkDerivation rec {
pname = "guile-avahi";
version = "0.4.1";
src = fetchgit {
url = "git://git.sv.gnu.org/guile-avahi.git";
rev = "v${version}";
hash = "sha256-Yr+OiqaGv6DgsjxSoc4sAjy4OO/D+Q50vdSTPEeIrV8=";
};
strictDeps = true;
nativeBuildInputs = [ autoreconfHook guile pkg-config texinfo ];
buildInputs = [ guile ];
propagatedBuildInputs = [ avahi gmp ];
doCheck = true;
makeFlags = [ "GUILE_AUTO_COMPILE=0" ];
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-unused-function";
meta = with lib; {
description = "Bindings to Avahi for GNU Guile";
homepage = "https://www.nongnu.org/guile-avahi/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ foo-dogsquared ];
platforms = guile.meta.platforms;
};
}

View File

@ -0,0 +1,37 @@
{ stdenv
, lib
, fetchurl
, xz
, pkg-config
, guile
, scheme-bytestructures
}:
stdenv.mkDerivation rec {
pname = "guile-lzma";
version = "0.1.1";
src = fetchurl {
url = "https://files.ngyro.com/guile-lzma/guile-lzma-${version}.tar.gz";
hash = "sha256-K4ZoltZy7U05AI9LUzZ1DXiXVgoGZ4Nl9cWnK9L8zl4=";
};
strictDeps = true;
nativeBuildInputs = [
guile
pkg-config
scheme-bytestructures
];
buildInputs = [ guile ];
propagatedBuildInputs = [ xz ];
doCheck = true;
meta = with lib; {
homepage = "https://ngyro.com/software/guile-lzma.html";
description = "Guile wrapper for lzma library";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ foo-dogsquared ];
platforms = guile.meta.platforms;
};
}

View File

@ -0,0 +1,33 @@
{ lib
, stdenv
, fetchurl
, autoreconfHook
, pkg-config
, texinfo
, guile
}:
stdenv.mkDerivation rec {
pname = "guile-semver";
version = "0.1.1";
src = fetchurl {
url = "https://files.ngyro.com/guile-semver/${pname}-${version}.tar.gz";
hash = "sha256-T3kJGTdf6yBKjqLtqSopHZu03kyOscZ3Z4RYmoYlN4E=";
};
strictDeps = true;
nativeBuildInputs = [ autoreconfHook guile pkg-config texinfo ];
buildInputs = [ guile ];
doCheck = true;
meta = with lib; {
description =
"A GNU Guile library implementing Semantic Versioning 2.0.0";
homepage = "https://ngyro.com/software/guile-semver.html";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ foo-dogsquared ];
platforms = guile.meta.platforms;
};
}

View File

@ -0,0 +1,39 @@
{ stdenv
, lib
, fetchFromGitea
, autoreconfHook
, pkg-config
, guile
, texinfo
, zlib
}:
stdenv.mkDerivation rec {
pname = "guile-zlib";
version = "0.1.0";
src = fetchFromGitea {
domain = "notabug.org";
owner = "guile-zlib";
repo = "guile-zlib";
rev = "v${version}";
hash = "sha256-+5tdp4WcnVuhfMwkr8t3Jd6/U539X5Ys9Pgzy79F4cY=";
};
strictDeps = true;
nativeBuildInputs = [ autoreconfHook guile pkg-config texinfo ];
buildInputs = [ guile ];
propagatedBuildInputs = [ zlib ];
makeFlags = [ "GUILE_AUTO_COMPILE=0" ];
doCheck = true;
meta = with lib; {
description =
"Guile-zlib is a GNU Guile library providing bindings to zlib";
homepage = "https://notabug.org/guile-zlib/guile-zlib";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ foo-dogsquared ];
platforms = guile.meta.platforms;
};
}

View File

@ -0,0 +1,40 @@
{ lib
, nix-update-script
, python3
, fetchPypi
}:
python3.pkgs.buildPythonApplication rec {
pname = "oelint-adv";
version = "3.25.0";
format = "setuptools";
src = fetchPypi {
inherit version;
pname = "oelint_adv";
hash = "sha256-dhTS2DZ7Usb1jgBv9Wm86w8CCMt64aHyBrxucLZUQjs=";
};
propagatedBuildInputs = with python3.pkgs; [
anytree
colorama
oelint-parser
urllib3
];
pythonRelaxDeps = [ "urllib3" ];
pythonImportsCheck = [ "oelint_adv" ];
# Fail to run inside the code the build.
doCheck = false;
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Advanced bitbake-recipe linter";
homepage = "https://github.com/priv-kweihmann/oelint-adv";
changelog = "https://github.com/priv-kweihmann/oelint-adv/releases/tag/v${version}";
license = licenses.bsd2;
maintainers = with maintainers; [ otavio ];
};
}

View File

@ -0,0 +1,41 @@
{ lib
, cmake
, fetchFromGitHub
, ninja
, stdenv
, tbb
}:
stdenv.mkDerivation (finalAttrs: {
pname = "openpgl";
version = "0.5.0";
src = fetchFromGitHub {
owner = "OpenPathGuidingLibrary";
repo = finalAttrs.pname;
rev = "v${finalAttrs.version}";
hash = "sha256-dbHmGGiHQkU0KPpQYpY/o0uCWdb3L5namETdOcOREgs=";
};
nativeBuildInputs = [
cmake
ninja
];
buildInputs = [
tbb
];
cmakeFlags = [
"-DOPENPGL_BUILD_STATIC=OFF"
"-DTBB_ROOT=${tbb.out}"
];
meta = {
description = "Intel Open Path Guiding Library";
homepage = "https://github.com/OpenPathGuidingLibrary/openpgl";
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.amarshall ];
license = lib.licenses.asl20;
};
})

View File

@ -0,0 +1,54 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
audioSupport ? true,
darwin,
alsa-lib,
pkg-config
}:
rustPlatform.buildRustPackage {
pname = "uiua";
version = "unstable-2023-09-28";
src = fetchFromGitHub {
owner = "uiua-lang";
repo = "uiua";
rev = "9b8c65332396f521f170b0ed3ce104b7a8bcf7c0";
hash = "sha256-+pleCEEwgRj+p+k9oKIvbsGUWC49qByV/juv76ZdBcc=";
};
cargoHash = "sha256-L8TCMe6eHS3QRy6HuTc1WvMfzsDhKx9YYupAkNeBwpk=";
nativeBuildInputs = lib.optionals stdenv.isDarwin [
rustPlatform.bindgenHook
] ++ lib.optionals audioSupport [
pkg-config
];
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreServices
] ++ lib.optionals (audioSupport && stdenv.isDarwin) [
darwin.apple_sdk.frameworks.AudioUnit
] ++ lib.optionals (audioSupport && stdenv.isLinux) [
alsa-lib
];
buildFeatures = lib.optional audioSupport "audio";
doCheck = true;
meta = with lib; {
description = "A stack-oriented array programming language with a focus on simplicity, beauty, and tacit code";
longDescription = ''
Uiua combines the stack-oriented and array-oriented paradigms in a single
language. Combining these already terse paradigms results in code with a very
high information density and little syntactic noise.
'';
homepage = "https://www.uiua.org/";
license = licenses.mit;
mainProgram = "uiua";
maintainers = with maintainers; [ cafkafk ];
};
}

View File

@ -1,7 +1,6 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pkg-config
, meson
@ -14,7 +13,6 @@
, libgee
, libhandy
, granite
, libnotify
, pango
, elementary-dock
, bamf
@ -28,7 +26,7 @@
stdenv.mkDerivation rec {
pname = "elementary-files";
version = "6.5.0";
version = "6.5.2";
outputs = [ "out" "dev" ];
@ -36,18 +34,9 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = "files";
rev = version;
sha256 = "sha256-E1e2eXGpycl2VXEUvUir5G3MRLz/4TQMvmOuWgU9JNc=";
sha256 = "sha256-YwXyqZ0exwQ3Qx+VWWyTTmhqCVr6be8tqzS1k3Luo8o=";
};
patches = [
# meson: Don't run gtk-update-icon-cache
# https://github.com/elementary/files/pull/2294
(fetchpatch {
url = "https://github.com/elementary/files/commit/758ece9fb29eb4a25f47065710dad4ac547ca2ce.patch";
hash = "sha256-+OASDsOPH0g5Cyxw4JmVxA70zQHhcpqLMKKYP4VLTO0=";
})
];
nativeBuildInputs = [
desktop-file-utils
meson
@ -68,7 +57,6 @@ stdenv.mkDerivation rec {
libgee
libgit2-glib
libhandy
libnotify
pango
sqlite
systemd

View File

@ -1,7 +1,6 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, substituteAll
, pkg-config
@ -18,24 +17,15 @@
stdenv.mkDerivation rec {
pname = "wingpanel-indicator-network";
version = "7.0.1";
version = "7.0.2";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-pz2sWN33d20/fMByR+XrNz2lxPdgCA6vxism3E/Fh/I=";
sha256 = "sha256-PqTnopacT1/Ctx8VH6b35tiVI+3ZlrdFcRsDpAWm4a0=";
};
patches = [
# PopoverWidget: fix flowbox child focus
# https://github.com/elementary/wingpanel-indicator-network/pull/288
(fetchpatch {
url = "https://github.com/elementary/wingpanel-indicator-network/commit/88db9004249334e1316321e0373a3065900fe6f1.patch";
sha256 = "sha256-rpAULo4qVPO3yr7cBVeKyT7L43zHVEdYLJD4x0ukBs4=";
})
];
nativeBuildInputs = [
meson
ninja

View File

@ -7,20 +7,23 @@
, darwin
, fontconfig
, glib
, glibc
, gtk3
, makeWrapper
, musl
, runCommandCC
, setJavaClassPath
, unzip
, xorg
, zlib
# extra params
, javaVersion
, meta ? { }
, products ? [ ]
, extraCLibs ? [ ]
, gtkSupport ? stdenv.isLinux
, useMusl ? false
, ...
} @ args:
assert useMusl -> stdenv.isLinux;
let
extraArgs = builtins.removeAttrs args [
"lib"
@ -32,24 +35,56 @@ let
"darwin"
"fontconfig"
"glib"
"glibc"
"gtk3"
"makeWrapper"
"musl"
"runCommandCC"
"setJavaClassPath"
"unzip"
"xorg"
"zlib"
"javaVersion"
"meta"
"products"
"extraCLibs"
"gtkSupport"
"useMusl"
"passthru"
"meta"
];
cLibs = lib.optionals stdenv.isLinux (
[ glibc zlib.static ]
++ lib.optionals (!useMusl) [ glibc.static ]
++ lib.optionals useMusl [ musl ]
++ extraCLibs
);
# GraalVM 21.3.0+ expects musl-gcc as <system>-musl-gcc
musl-gcc = (runCommandCC "musl-gcc" { } ''
mkdir -p $out/bin
ln -s ${lib.getDev musl}/bin/musl-gcc $out/bin/${stdenv.hostPlatform.system}-musl-gcc
'');
# GraalVM 23.0.0+ (i.e.: JDK 21.0.0+) clean-up the environment inside darwin
# So we need to re-added some env vars to make everything work correctly again
darwin-cc = (runCommandCC "darwin-cc"
{
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ darwin.apple_sdk.frameworks.Foundation zlib ];
} ''
makeWrapper ${stdenv.cc}/bin/cc $out/bin/cc \
--prefix NIX_CFLAGS_COMPILE_${stdenv.cc.suffixSalt} : "$NIX_CFLAGS_COMPILE" \
--prefix NIX_LDFLAGS_${stdenv.cc.suffixSalt} : "$NIX_LDFLAGS"
'');
binPath = lib.makeBinPath (
lib.optionals stdenv.isDarwin [ darwin-cc ]
++ lib.optionals useMusl [ musl-gcc ]
++ [ stdenv.cc ]
);
runtimeLibraryPath = lib.makeLibraryPath
([ cups ] ++ lib.optionals gtkSupport [ cairo glib gtk3 ]);
mapProducts = key: default: (map (p: p.graalvmPhases.${key} or default) products);
concatProducts = key: lib.concatStringsSep "\n" (mapProducts key "");
graalvmXXX-ce = stdenv.mkDerivation ({
pname = "graalvm${javaVersion}-ce";
graalvm-ce = stdenv.mkDerivation ({
pname = "graalvm-ce";
unpackPhase = ''
runHook preUnpack
@ -71,22 +106,16 @@ let
# Sanity check
if [ ! -d "$out/bin" ]; then
echo "The `bin` is directory missing after extracting the graalvm"
echo "tarball, please compare the directory structure of the"
echo "tarball with what happens in the unpackPhase (in particular"
echo "with regards to the `--strip-components` flag)."
exit 1
echo "The `bin` is directory missing after extracting the graalvm"
echo "tarball, please compare the directory structure of the"
echo "tarball with what happens in the unpackPhase (in particular"
echo "with regards to the `--strip-components` flag)."
exit 1
fi
runHook postUnpack
'';
postUnpack = ''
for product in ${toString products}; do
cp -Rv $product/* $out
done
'';
dontStrip = true;
nativeBuildInputs = [ unzip makeWrapper ]
@ -106,7 +135,6 @@ let
xorg.libXtst
];
preInstall = concatProducts "preInstall";
postInstall = ''
# jni.h expects jni_md.h to be in the header search path.
ln -sf $out/include/linux/*_md.h $out/include/
@ -115,52 +143,72 @@ let
# Set JAVA_HOME automatically.
mkdir -p $out/nix-support
cat > $out/nix-support/setup-hook << EOF
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'' + concatProducts "postInstall";
wrapProgram $out/bin/native-image \
--prefix PATH : ${binPath} \
${toString (map (l: "--add-flags '-H:CLibraryPath=${l}/lib'") cLibs)}
'';
preFixup = lib.optionalString (stdenv.isLinux) ''
for bin in $(find "$out/bin" -executable -type f); do
wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
done
'' + concatProducts "preFixup";
postFixup = concatProducts "postFixup";
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
${# broken in darwin
lib.optionalString stdenv.isLinux ''
lib.optionalString stdenv.isLinux ''
echo "Testing Jshell"
echo '1 + 1' | $out/bin/jshell
''}
echo ${
lib.escapeShellArg ''
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
echo ${lib.escapeShellArg ''
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
''
} > HelloWorld.java
}
''} > HelloWorld.java
$out/bin/javac HelloWorld.java
# run on JVM with Graal Compiler
echo "Testing GraalVM"
$out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World'
${concatProducts "installCheckPhase"}
echo "Ahead-Of-Time compilation"
$out/bin/native-image -H:+UnlockExperimentalVMOptions -H:-CheckToolchain -H:+ReportExceptionStackTraces HelloWorld
./helloworld | fgrep 'Hello World'
${# --static is only available in Linux
lib.optionalString (stdenv.isLinux && !useMusl) ''
echo "Ahead-Of-Time compilation with -H:+StaticExecutableWithDynamicLibC"
$out/bin/native-image -H:+UnlockExperimentalVMOptions -H:+StaticExecutableWithDynamicLibC HelloWorld
./helloworld | fgrep 'Hello World'
echo "Ahead-Of-Time compilation with --static"
$out/bin/native-image --static HelloWorld
./helloworld | fgrep 'Hello World'
''}
${# --static is only available in Linux
lib.optionalString (stdenv.isLinux && useMusl) ''
echo "Ahead-Of-Time compilation with --static and --libc=musl"
$out/bin/native-image --static HelloWorld --libc=musl
./helloworld | fgrep 'Hello World'
''}
runHook postInstallCheck
'';
passthru = {
inherit products;
home = graalvmXXX-ce;
updateScript = ./update.sh;
};
home = graalvm-ce;
updateScript = [ ./update.sh "graalvm-ce" ];
} // (args.passhtru or { });
meta = with lib; ({
homepage = "https://www.graalvm.org/";
@ -169,7 +217,7 @@ let
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
mainProgram = "java";
maintainers = with maintainers; teams.graalvm-ce.members ++ [ ];
} // meta);
} // (args.meta or { }));
} // extraArgs);
in
graalvmXXX-ce
graalvm-ce

View File

@ -1,20 +1,15 @@
{ lib
, stdenv
, autoPatchelfHook
, darwin
, graalvm-ce
, makeWrapper
, perl
, unzip
, zlib
, libxcrypt-legacy
# extra params
, product
, javaVersion
, extraBuildInputs ? [ ]
, extraNativeBuildInputs ? [ ]
, graalvmPhases ? { }
, meta ? { }
, passthru ? { }
, ...
} @ args:
@ -23,24 +18,21 @@ let
"lib"
"stdenv"
"autoPatchelfHook"
"darwin"
"graalvm-ce"
"libxcrypt-legacy"
"makeWrapper"
"perl"
"unzip"
"zlib"
"product"
"javaVersion"
"extraBuildInputs"
"extraNativeBuildInputs"
"graalvmPhases"
"meta"
"passthru"
];
in
stdenv.mkDerivation ({
pname = "${product}-java${javaVersion}";
pname = product;
nativeBuildInputs = [ perl unzip makeWrapper ]
nativeBuildInputs = [ makeWrapper ]
++ lib.optional stdenv.isLinux autoPatchelfHook
++ extraNativeBuildInputs;
@ -48,61 +40,37 @@ stdenv.mkDerivation ({
stdenv.cc.cc.lib # libstdc++.so.6
zlib
libxcrypt-legacy # libcrypt.so.1 (default is .2 now)
] ++ extraBuildInputs;
]
++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Foundation
++ extraBuildInputs;
unpackPhase = ''
runHook preUnpack
unpack_jar() {
local jar="$1"
unzip -q -o "$jar" -d "$out"
perl -ne 'use File::Path qw(make_path);
use File::Basename qw(dirname);
if (/^(.+) = (.+)$/) {
make_path dirname("$ENV{out}/$1");
symlink $2, "$ENV{out}/$1";
}' "$out/META-INF/symlinks"
perl -ne 'if (/^(.+) = ([r-])([w-])([x-])([r-])([w-])([x-])([r-])([w-])([x-])$/) {
my $mode = ($2 eq 'r' ? 0400 : 0) + ($3 eq 'w' ? 0200 : 0) + ($4 eq 'x' ? 0100 : 0) +
($5 eq 'r' ? 0040 : 0) + ($6 eq 'w' ? 0020 : 0) + ($7 eq 'x' ? 0010 : 0) +
($8 eq 'r' ? 0004 : 0) + ($9 eq 'w' ? 0002 : 0) + ($10 eq 'x' ? 0001 : 0);
chmod $mode, "$ENV{out}/$1";
}' "$out/META-INF/permissions"
rm -rf "$out/META-INF"
}
mkdir -p "$out"
unpack_jar "$src"
tar xf "$src" -C "$out" --strip-components=1
# Sanity check
if [ ! -d "$out/bin" ]; then
echo "The `bin` is directory missing after extracting the graalvm"
echo "tarball, please compare the directory structure of the"
echo "tarball with what happens in the unpackPhase (in particular"
echo "with regards to the `--strip-components` flag)."
exit 1
fi
runHook postUnpack
'';
# Allow autoPatchelf to automatically fix lib references between products
fixupPhase = ''
runHook preFixup
mkdir -p $out/lib
shopt -s globstar
ln -s $out/languages/**/lib/*.so $out/lib
runHook postFixup
'';
dontInstall = true;
dontBuild = true;
dontStrip = true;
passthru = {
inherit product javaVersion;
# build phases that are going to run during GraalVM derivation build,
# since they depend in having the fully setup GraalVM environment
# e.g.: graalvmPhases.installCheckPhase will run the checks only after
# GraalVM+products is build
# see buildGraalvm.nix file for the available phases
inherit graalvmPhases;
} // passthru;
updateScript = [ ./update.sh product ];
} // (args.passhtru or { });
meta = with lib; ({
meta = ({
inherit (graalvm-ce.meta) homepage license sourceProvenance maintainers platforms;
description = "High-Performance Polyglot VM (Product: ${product})";
} // meta);
} // (args.meta or { }));
} // extraArgs)

View File

@ -4,237 +4,20 @@
, fetchurl
}:
let
{
buildGraalvm = callPackage ./buildGraalvm.nix;
buildGraalvmProduct = callPackage ./buildGraalvmProduct.nix;
javaPlatform = {
"aarch64-linux" = "linux-aarch64";
"x86_64-linux" = "linux-amd64";
"aarch64-darwin" = "darwin-aarch64";
"x86_64-darwin" = "darwin-amd64";
};
javaPlatformVersion = javaVersion:
"${javaVersion}-${javaPlatform.${stdenv.system} or (throw "Unsupported platform: ${stdenv.system}")}";
source = product: javaVersion: (import ./hashes.nix).${product}.${javaPlatformVersion javaVersion}
or (throw "Unsupported product combination: product=${product} java=${javaVersion} system=${stdenv.system}");
in
rec {
inherit buildGraalvm buildGraalvmProduct;
graalvm-ce = callPackage ./graalvm-ce { };
### Java 11 ###
graalvm-ce-musl = callPackage ./graalvm-ce { useMusl = true; };
# Mostly available for build purposes, not to be exposed at the top level
graalvm11-ce-bare = buildGraalvm rec {
version = "22.3.1";
javaVersion = "11";
src = fetchurl (source "graalvm-ce" javaVersion);
meta.platforms = builtins.attrNames javaPlatform;
products = [ ];
};
graaljs = callPackage ./graaljs { };
graalvm11-ce = graalvm11-ce-bare.override {
products = [ native-image-installable-svm-java11 ];
};
graalnodejs = callPackage ./graalnodejs { };
# Mostly available for testing, not to be exposed at the top level
graalvm11-ce-full = graalvm11-ce-bare.override {
products = [
js-installable-svm-java11
llvm-installable-svm-java11
native-image-installable-svm-java11
nodejs-installable-svm-java11
python-installable-svm-java11
ruby-installable-svm-java11
wasm-installable-svm-java11
];
};
graalpy = callPackage ./graalpy { };
js-installable-svm-java11 = callPackage ./js-installable-svm.nix rec {
javaVersion = "11";
version = "22.3.1";
src = fetchurl (source "js-installable-svm" javaVersion);
};
llvm-installable-svm-java11 = callPackage ./llvm-installable-svm.nix rec {
javaVersion = "11";
version = "22.3.1";
src = fetchurl (source "llvm-installable-svm" javaVersion);
};
native-image-installable-svm-java11 = callPackage ./native-image-installable-svm.nix rec {
javaVersion = "11";
version = "22.3.1";
src = fetchurl (source "native-image-installable-svm" javaVersion);
};
nodejs-installable-svm-java11 = callPackage ./nodejs-installable-svm.nix rec {
javaVersion = "11";
version = "22.3.1";
src = fetchurl (source "nodejs-installable-svm" javaVersion);
graalvm-ce = graalvm11-ce-bare;
};
python-installable-svm-java11 = callPackage ./python-installable-svm.nix rec {
javaVersion = "11";
version = "22.3.1";
src = fetchurl (source "python-installable-svm" javaVersion);
};
ruby-installable-svm-java11 = callPackage ./ruby-installable-svm.nix rec {
javaVersion = "11";
version = "22.3.1";
src = fetchurl (source "ruby-installable-svm" javaVersion);
llvm-installable-svm = llvm-installable-svm-java11;
};
wasm-installable-svm-java11 = callPackage ./wasm-installable-svm.nix rec {
javaVersion = "11";
version = "22.3.1";
src = fetchurl (source "wasm-installable-svm" javaVersion);
};
### Java 17 ###
# Mostly available for build purposes, not to be exposed at the top level
graalvm17-ce-bare = buildGraalvm rec {
version = "22.3.1";
javaVersion = "17";
src = fetchurl (source "graalvm-ce" javaVersion);
meta.platforms = builtins.attrNames javaPlatform;
products = [ ];
};
graalvm17-ce = graalvm17-ce-bare.override {
products = [ native-image-installable-svm-java17 ];
};
# Mostly available for testing, not to be exposed at the top level
graalvm17-ce-full = graalvm17-ce-bare.override {
products = [
js-installable-svm-java17
llvm-installable-svm-java17
native-image-installable-svm-java17
nodejs-installable-svm-java17
python-installable-svm-java17
ruby-installable-svm-java17
wasm-installable-svm-java17
];
};
js-installable-svm-java17 = callPackage ./js-installable-svm.nix rec {
javaVersion = "17";
version = "22.3.1";
src = fetchurl (source "js-installable-svm" javaVersion);
};
llvm-installable-svm-java17 = callPackage ./llvm-installable-svm.nix rec {
javaVersion = "17";
version = "22.3.1";
src = fetchurl (source "llvm-installable-svm" javaVersion);
};
native-image-installable-svm-java17 = callPackage ./native-image-installable-svm.nix rec {
javaVersion = "17";
version = "22.3.1";
src = fetchurl (source "native-image-installable-svm" javaVersion);
};
nodejs-installable-svm-java17 = callPackage ./nodejs-installable-svm.nix rec {
javaVersion = "17";
version = "22.3.1";
src = fetchurl (source "nodejs-installable-svm" javaVersion);
graalvm-ce = graalvm17-ce-bare;
};
python-installable-svm-java17 = callPackage ./python-installable-svm.nix rec {
javaVersion = "17";
version = "22.3.1";
src = fetchurl (source "python-installable-svm" javaVersion);
};
ruby-installable-svm-java17 = callPackage ./ruby-installable-svm.nix rec {
javaVersion = "17";
version = "22.3.1";
src = fetchurl (source "ruby-installable-svm" javaVersion);
llvm-installable-svm = llvm-installable-svm-java17;
};
wasm-installable-svm-java17 = callPackage ./wasm-installable-svm.nix rec {
javaVersion = "17";
version = "22.3.1";
src = fetchurl (source "wasm-installable-svm" javaVersion);
};
### Java 19 ###
# Mostly available for build purposes, not to be exposed at the top level
graalvm19-ce-bare = buildGraalvm rec {
version = "22.3.1";
javaVersion = "19";
src = fetchurl (source "graalvm-ce" javaVersion);
meta.platforms = builtins.attrNames javaPlatform;
products = [ ];
};
graalvm19-ce = graalvm19-ce-bare.override {
products = [ native-image-installable-svm-java19 ];
};
# Mostly available for testing, not to be exposed at the top level
graalvm19-ce-full = graalvm19-ce-bare.override {
products = [
js-installable-svm-java19
llvm-installable-svm-java19
native-image-installable-svm-java19
nodejs-installable-svm-java19
python-installable-svm-java19
ruby-installable-svm-java19
wasm-installable-svm-java19
];
};
js-installable-svm-java19 = callPackage ./js-installable-svm.nix rec {
javaVersion = "19";
version = "22.3.1";
src = fetchurl (source "js-installable-svm" javaVersion);
};
llvm-installable-svm-java19 = callPackage ./llvm-installable-svm.nix rec {
javaVersion = "19";
version = "22.3.1";
src = fetchurl (source "llvm-installable-svm" javaVersion);
};
native-image-installable-svm-java19 = callPackage ./native-image-installable-svm.nix rec {
javaVersion = "19";
version = "22.3.1";
src = fetchurl (source "native-image-installable-svm" javaVersion);
};
nodejs-installable-svm-java19 = callPackage ./nodejs-installable-svm.nix rec {
javaVersion = "19";
version = "22.3.1";
src = fetchurl (source "nodejs-installable-svm" javaVersion);
graalvm-ce = graalvm19-ce-bare;
};
python-installable-svm-java19 = callPackage ./python-installable-svm.nix rec {
javaVersion = "19";
version = "22.3.1";
src = fetchurl (source "python-installable-svm" javaVersion);
};
ruby-installable-svm-java19 = callPackage ./ruby-installable-svm.nix rec {
javaVersion = "19";
version = "22.3.1";
src = fetchurl (source "ruby-installable-svm" javaVersion);
llvm-installable-svm = llvm-installable-svm-java19;
};
wasm-installable-svm-java19 = callPackage ./wasm-installable-svm.nix rec {
javaVersion = "19";
version = "22.3.1";
src = fetchurl (source "wasm-installable-svm" javaVersion);
};
truffleruby = callPackage ./truffleruby { };
}

View File

@ -0,0 +1,17 @@
{ stdenv
, fetchurl
, graalvmCEPackages
}:
graalvmCEPackages.buildGraalvmProduct {
src = fetchurl (import ./hashes.nix).hashes.${stdenv.system};
version = (import ./hashes.nix).version;
product = "js-installable-svm";
doInstallCheck = true;
installCheckPhase = ''
echo "Testing GraalJS"
echo '1 + 1' | $out/bin/js
'';
}

View File

@ -0,0 +1,22 @@
# Generated by update.sh script
{
"version" = "23.1.0";
"hashes" = {
"aarch64-linux" = {
sha256 = "09q88nsbz0lrl866x3hqxm3hb5wpn4x5rp6pk69x1v6xzl58wzq2";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-linux-aarch64.tar.gz";
};
"x86_64-linux" = {
sha256 = "0zlk0gpxwjkh4wxsc310kl80ipgk5si1lmyx0q2hqsw9lm98n41g";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-linux-amd64.tar.gz";
};
"x86_64-darwin" = {
sha256 = "1y5mc92yync85ywcahvq8x9jlla0rzjd4g7cm6q7p21wvfwp4d5q";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-macos-amd64.tar.gz";
};
"aarch64-darwin" = {
sha256 = "0ph3c6jgbvm3cliyqlccd2l292a7p0051l3sv7yf3318r6zrrk7m";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-macos-aarch64.tar.gz";
};
};
}

View File

@ -0,0 +1,17 @@
{ stdenv
, fetchurl
, graalvmCEPackages
}:
graalvmCEPackages.buildGraalvmProduct {
src = fetchurl (import ./hashes.nix).hashes.${stdenv.system};
version = (import ./hashes.nix).version;
product = "nodejs-installable-svm";
doInstallCheck = true;
installCheckPhase = ''
echo "Testing NodeJS"
$out/bin/npx --help
'';
}

View File

@ -0,0 +1,22 @@
# Generated by update.sh script
{
"version" = "23.1.0";
"hashes" = {
"aarch64-linux" = {
sha256 = "056x616pp0b25wsryzrfrfnjaxr3444fc3hmv8jspl4pjxjrais2";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-linux-aarch64.tar.gz";
};
"x86_64-linux" = {
sha256 = "1si2ifwihszv06sqd25mswibiqbxhxgj6yw829f8zrdhs0sra2nz";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-linux-amd64.tar.gz";
};
"x86_64-darwin" = {
sha256 = "1ffkdavrs92h3f5yil15v3i7r9aggkpfqd13gl5ipqlrk6pykhr7";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-macos-amd64.tar.gz";
};
"aarch64-darwin" = {
sha256 = "1g6pql0pdxhxwpjqyfkaq07dar8sx2wipsyrjc7hmz3z7pjxcf5i";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-macos-aarch64.tar.gz";
};
};
}

View File

@ -0,0 +1,18 @@
{ stdenv
, fetchurl
, graalvmCEPackages
}:
graalvmCEPackages.buildGraalvmProduct {
src = fetchurl (import ./hashes.nix).hashes.${stdenv.system};
version = (import ./hashes.nix).version;
product = "graalpy";
doInstallCheck = true;
installCheckPhase = ''
echo "Testing GraalPy"
$out/bin/graalpy -c 'print(1 + 1)'
echo '1 + 1' | $out/bin/graalpy
'';
}

View File

@ -0,0 +1,22 @@
# Generated by update.sh script
{
"version" = "23.1.0";
"hashes" = {
"aarch64-linux" = {
sha256 = "0n0zz86h7jsqgdiyj6vj7qw57ny40jpmfvylyxq70riy86a4zp67";
url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-linux-aarch64.tar.gz";
};
"x86_64-linux" = {
sha256 = "0nnv255f2bqc4l88iw48f71874ryjn16bb8qn1yk7daj1pck80vj";
url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-linux-amd64.tar.gz";
};
"x86_64-darwin" = {
sha256 = "16kp66l0176sbd8jzvq3y3z7d9zvkqzdaw8vrvnk2qkipa136n0k";
url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-macos-amd64.tar.gz";
};
"aarch64-darwin" = {
sha256 = "17clq7n1n5ww22rh9gp5h9ljhjvggcik8amhd70pwl4cjgv9mhsv";
url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-macos-aarch64.tar.gz";
};
};
}

View File

@ -0,0 +1,12 @@
{ stdenv
, fetchurl
, graalvmCEPackages
, useMusl ? false
}:
graalvmCEPackages.buildGraalvm {
inherit useMusl;
src = fetchurl (import ./hashes.nix).hashes.${stdenv.system};
version = (import ./hashes.nix).version;
meta.platforms = builtins.attrNames (import ./hashes.nix).hashes;
}

View File

@ -0,0 +1,22 @@
# Generated by update.sh script
{
"version" = "21.0.0";
"hashes" = {
"aarch64-linux" = {
sha256 = "199h3d6zayw28xlyggldap6nafh5fnpfbshs0rsf94dfgv7r4kmv";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.0/graalvm-community-jdk-21.0.0_linux-aarch64_bin.tar.gz";
};
"x86_64-linux" = {
sha256 = "06dkb1yimk5q3yzjk6kjsrs2pkbjxgz9jr5vj6wfb2y5ri0jjhkc";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.0/graalvm-community-jdk-21.0.0_linux-x64_bin.tar.gz";
};
"x86_64-darwin" = {
sha256 = "1qbz3xfxj7nwb01cy99hd22k3pim8j43blcdcys48l8xcb234nlk";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.0/graalvm-community-jdk-21.0.0_macos-x64_bin.tar.gz";
};
"aarch64-darwin" = {
sha256 = "0dqgsp0bhqvv07b9kb0cxqm5cw47kapzbfbw13570ydgc0gfg3f5";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.0/graalvm-community-jdk-21.0.0_macos-aarch64_bin.tar.gz";
};
};
}

View File

@ -1,391 +0,0 @@
# Generated by pkgs/development/compilers/graalvm/community-edition/update.sh script
{
"llvm-installable-svm" = {
"11-linux-aarch64" = {
sha256 = "0h8xkvsixcwak5dymkj3jgjv11w3ivnd6d45v5pdbymd0m2ifia8";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java11-linux-aarch64-22.3.1.jar";
};
"17-linux-aarch64" = {
sha256 = "1zww45z7m3mvzg47fwc3jgqz3hkra220isf4ih8sv6kjg1jc4y14";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java17-linux-aarch64-22.3.1.jar";
};
"19-linux-aarch64" = {
sha256 = "13gg5hqg3pzn3qprl76i2wpmfagf5zw4w9hl18993ing21k5d0kq";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java19-linux-aarch64-22.3.1.jar";
};
"11-linux-amd64" = {
sha256 = "133m9vg9rlp2xkndh3d6b8ybq8vwch99rj1b50xr6bz8r6306ara";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java11-linux-amd64-22.3.1.jar";
};
"17-linux-amd64" = {
sha256 = "0nz09idp8wawm3yinsplzvxhld8yav06l1nqj02gxrc1kxd5nsr1";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java17-linux-amd64-22.3.1.jar";
};
"19-linux-amd64" = {
sha256 = "1b5jsazjxkqlswl0h5yx7nx16zjjlvw967i6kypp4js80zg79s8m";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java19-linux-amd64-22.3.1.jar";
};
"11-darwin-aarch64" = {
sha256 = "0ngcm3ara7g1xz4kh515igpyrjhr1k5z9nf4vsaw4lpa5sqljv7z";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java11-darwin-aarch64-22.3.1.jar";
};
"17-darwin-aarch64" = {
sha256 = "1lr8kk82c3l9hx7wc5hqmpqfgvpk72xg1h07b6cgibry1bm6baj6";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java17-darwin-aarch64-22.3.1.jar";
};
"19-darwin-aarch64" = {
sha256 = "0mdiiag4hkddfgjamqn8y63s7xrfhq1wjvc7rw2sldykg7x0813i";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java19-darwin-aarch64-22.3.1.jar";
};
"11-darwin-amd64" = {
sha256 = "058pzrd90xx4yi7mm2fvs2npqcdkb2nzhqfwfz5v202038igi61g";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java11-darwin-amd64-22.3.1.jar";
};
"17-darwin-amd64" = {
sha256 = "10rfz8ddq82zpf6cy2y0gx1bx0zhjzm3gwwdb1j7mll0hvwp84sg";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java17-darwin-amd64-22.3.1.jar";
};
"19-darwin-amd64" = {
sha256 = "0h5sf99ypwz0bafq4jm71ynszfgsrlnhmcjh0kl6sy5g1q8ij0jf";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java19-darwin-amd64-22.3.1.jar";
};
};
"nodejs-installable-svm" = {
"11-linux-aarch64" = {
sha256 = "0slzvbmxwa4a6m9c0hbdp8ryh9crfq7mv6y2j4hik5m457jq98cp";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java11-linux-aarch64-22.3.1.jar";
};
"17-linux-aarch64" = {
sha256 = "1ldivy5hmq2mxmzh40hglzngylahnzyqh9rav73nicl5mz8hk4l2";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java17-linux-aarch64-22.3.1.jar";
};
"19-linux-aarch64" = {
sha256 = "12chjbfz530kyp46bya8wcwciwlhp873hc6mvsjcf5swa3g7cwcl";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java19-linux-aarch64-22.3.1.jar";
};
"11-linux-amd64" = {
sha256 = "1p1y52b4lky2fbkml5vqy7dn9vqzj19jq5f3c90mgsfk4c7xhi66";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java11-linux-amd64-22.3.1.jar";
};
"17-linux-amd64" = {
sha256 = "0j1gkpszklzm069bccm6wgq8iq0k41bcrca0kf8pbl2y11hwywpc";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java17-linux-amd64-22.3.1.jar";
};
"19-linux-amd64" = {
sha256 = "1gdkn0srkh8bn7c81f8s7ykd12pnz5r75rif76zhzdllhx63nn5v";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java19-linux-amd64-22.3.1.jar";
};
"11-darwin-aarch64" = {
sha256 = "1fbqc3a7i91as1sbwg2yr1zx0wz4jsaxcz9pfqy8a0z88m8vivbs";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java11-darwin-aarch64-22.3.1.jar";
};
"17-darwin-aarch64" = {
sha256 = "1swzkp0imcv30fxfwblgad57fvpsvhfpv93s8zj1lwrbarggl2y3";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java17-darwin-aarch64-22.3.1.jar";
};
"19-darwin-aarch64" = {
sha256 = "11kpgd6vxc8dm9z5ihkwbjbbspk53m3k9b550zf0zs3as9yjbp22";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java19-darwin-aarch64-22.3.1.jar";
};
"11-darwin-amd64" = {
sha256 = "0n3hm8dd0ya86hxbxv07sfp22y02vhhzahkxk2j2162n9hcdmkwk";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java11-darwin-amd64-22.3.1.jar";
};
"17-darwin-amd64" = {
sha256 = "0xkjqcch22bm32mczj6xs8rzsl2n6vy9hmzwfy9a71w1kpkbjn3a";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java17-darwin-amd64-22.3.1.jar";
};
"19-darwin-amd64" = {
sha256 = "1yrh6iahai3aw7lpz89mrq782b1bysqqr9vkqdgcv00by1a7yd10";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java19-darwin-amd64-22.3.1.jar";
};
};
"wasm-installable-svm" = {
"11-linux-aarch64" = {
sha256 = "1d67jm41psypkhpy77cb2l00smhni3pgkybwx79z7dzcyid7p2l1";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java11-linux-aarch64-22.3.1.jar";
};
"17-linux-aarch64" = {
sha256 = "1cg9zxyjirfl0afr9cppg2h17j8qdidi4llbal2g5w1p2v9zq78b";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java17-linux-aarch64-22.3.1.jar";
};
"19-linux-aarch64" = {
sha256 = "1vaqf3ilp3kg280adynww4l07sbcd5hih86akpd25rbxn45khz9s";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java19-linux-aarch64-22.3.1.jar";
};
"11-linux-amd64" = {
sha256 = "19v7jqhvijmzzb0i9q6hbvrmqnmmzbyvai3il9f357qvv6r6lylb";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java11-linux-amd64-22.3.1.jar";
};
"17-linux-amd64" = {
sha256 = "0sfnsy0r4qf7ni9mh437dad1d8sidajcra2azsmy5qdmh091zhj5";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java17-linux-amd64-22.3.1.jar";
};
"19-linux-amd64" = {
sha256 = "1k7jqsh5wg7c7a6mhqgxghn20qwx70bky49p2a6imcsygnilqgim";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java19-linux-amd64-22.3.1.jar";
};
"11-darwin-amd64" = {
sha256 = "0764d97mla5cii4iyvyb43v62dk8ff3plqjmdc69qqxx8mdzpwqv";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java11-darwin-amd64-22.3.1.jar";
};
"17-darwin-amd64" = {
sha256 = "1ip6ybm7p28bs2lifxqhq6fyvfm3wmacv6dqziyl2v7v7yl0iw4i";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java17-darwin-amd64-22.3.1.jar";
};
"19-darwin-amd64" = {
sha256 = "14d3djmacj81rj5sqf30z060iywndn6kw1n58kg12jvmgipbm3iq";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java19-darwin-amd64-22.3.1.jar";
};
};
"js-installable-svm" = {
"11-linux-aarch64" = {
sha256 = "1b8vnjjsa548c6j3dycxp57i9xmyvndiz2xhv7fm10izcplyspxq";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java11-linux-aarch64-22.3.1.jar";
};
"17-linux-aarch64" = {
sha256 = "1kcy3mjk908zs7f3k95awp6294cwr06hand4cbw1lsnfvp0qwhk7";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java17-linux-aarch64-22.3.1.jar";
};
"19-linux-aarch64" = {
sha256 = "1mk8qzdfsbjhfx0ds8rk9jm2g6g2lv8bppmnwpgrkm232c8i0dgw";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java19-linux-aarch64-22.3.1.jar";
};
"11-linux-amd64" = {
sha256 = "0sq80a4nnvik560whgv5vwlsszi8z02idvpd92p0caf03bra9x2b";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java11-linux-amd64-22.3.1.jar";
};
"17-linux-amd64" = {
sha256 = "0fd160yxsi09m97z7vqh5kwf1g0p0hn4niy48glj9jhirfqzzw0c";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java17-linux-amd64-22.3.1.jar";
};
"19-linux-amd64" = {
sha256 = "0ghx41aldb30yjd0sdrfm89i7d6q0aca18bm7j1qyg9gnmkvxnmn";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java19-linux-amd64-22.3.1.jar";
};
"11-darwin-aarch64" = {
sha256 = "18g0xixzk45yrxv3zfs7qrdyj0b3ksp59jhbcis0vwy9gx8094wq";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java11-darwin-aarch64-22.3.1.jar";
};
"17-darwin-aarch64" = {
sha256 = "0cf4iivkniilvbqyniqxcz1qf49cs4lxi0axjsk9sz1zmxcq0bnk";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java17-darwin-aarch64-22.3.1.jar";
};
"19-darwin-aarch64" = {
sha256 = "03wxaim069rp69njh4gdchsm3b9s7crxihbk1arvz2cpgy9x1zvc";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java19-darwin-aarch64-22.3.1.jar";
};
"11-darwin-amd64" = {
sha256 = "0ibcz6ivx068ndf45j9pghm8qwq287glqxf0xx08kjxnhms67p52";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java11-darwin-amd64-22.3.1.jar";
};
"17-darwin-amd64" = {
sha256 = "16q7whnvdrk8lb4fp96qr3p567kggyk9q5iqcn081qk8xjkbx0zv";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java17-darwin-amd64-22.3.1.jar";
};
"19-darwin-amd64" = {
sha256 = "13nx6kwcx100166ba4h7h97ravw4hyiqnvhszqbdffn54y0x5dwl";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java19-darwin-amd64-22.3.1.jar";
};
};
"python-installable-svm" = {
"11-linux-aarch64" = {
sha256 = "1yl36x5svld7qnm3m6vmacm2n4d6l9vhdxhaypvlv2bbfbnym3c5";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java11-linux-aarch64-22.3.1.jar";
};
"17-linux-aarch64" = {
sha256 = "0ggx5rwz3qnnxgz407r8yx12556pcbirhnc44972l77r320rdmqc";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java17-linux-aarch64-22.3.1.jar";
};
"19-linux-aarch64" = {
sha256 = "1d0a7didgzgn45q7zg4iidmy2gckhaf796mbraqz5hjlig4vscr7";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java19-linux-aarch64-22.3.1.jar";
};
"11-linux-amd64" = {
sha256 = "11c19a20v3ff83dxzs9hf1z89kh0qich41b03gx8mancf12jfwnl";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java11-linux-amd64-22.3.1.jar";
};
"17-linux-amd64" = {
sha256 = "0pga44whhvm98d8j2v2bpl9rkbvr9bv947rc4imlbf01cyxjwl71";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java17-linux-amd64-22.3.1.jar";
};
"19-linux-amd64" = {
sha256 = "0nwa1nrclh3p12cacp98wbx9p3zhs44b8srbr27vqgc10z78c1wz";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java19-linux-amd64-22.3.1.jar";
};
"11-darwin-aarch64" = {
sha256 = "0qnh8i9nazrv25jhn13wp7qqm9wwhcz4kpp2ygvsdmf9s3d2f5lf";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java11-darwin-aarch64-22.3.1.jar";
};
"17-darwin-aarch64" = {
sha256 = "0j13xvy9d19glipz4wdma2y02g0cnksg1iij4247fjhpqh0axkdz";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java17-darwin-aarch64-22.3.1.jar";
};
"19-darwin-aarch64" = {
sha256 = "0n7vx5lxbgpjvzv0y1fqsrk0j61vrzjm2ksh0lkdnz1zrr5mqgsh";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java19-darwin-aarch64-22.3.1.jar";
};
"11-darwin-amd64" = {
sha256 = "1ny5664h7pibvskmm51mlxrxkbbj2dvxsv2yqbq6v51a57wm1yzn";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java11-darwin-amd64-22.3.1.jar";
};
"17-darwin-amd64" = {
sha256 = "01jjncx8jm1yrps2nj217vgcmjaqclmpb27rdp3qn7k64w5wzipg";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java17-darwin-amd64-22.3.1.jar";
};
"19-darwin-amd64" = {
sha256 = "00agpvp1yw884lm6d88d2l8629qpbpdlik2g621yz4vf9y7qki83";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java19-darwin-amd64-22.3.1.jar";
};
};
"native-image-installable-svm" = {
"11-linux-aarch64" = {
sha256 = "0z9rbmci6yz7f7mqd3xzsxc5ih4hq72lyzqfchan7fr6mh38d6gw";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java11-linux-aarch64-22.3.1.jar";
};
"17-linux-aarch64" = {
sha256 = "03v20fc9famlnbrznpasnd5gdl5k9nl4dlj3pp6bad4y6l7rqnx5";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java17-linux-aarch64-22.3.1.jar";
};
"19-linux-aarch64" = {
sha256 = "13gg1zj7ivzrgwvyvsbwbrchryjqmi00km7jxajjjbr1k7jkdc5v";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java19-linux-aarch64-22.3.1.jar";
};
"11-linux-amd64" = {
sha256 = "1yb7kpbs7hrzlysvrqjzgfz678p1hbg6237jzb35zmwdaczav51n";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java11-linux-amd64-22.3.1.jar";
};
"17-linux-amd64" = {
sha256 = "00fbyqsj4xj9ay8bki1190lf59bgrzvla8lzzq51p53a1bdrhhmv";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java17-linux-amd64-22.3.1.jar";
};
"19-linux-amd64" = {
sha256 = "1ayx0ag00i9868xz5xzc9fmwipkhz5qsldfmxk16cxp5vi71yhb1";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java19-linux-amd64-22.3.1.jar";
};
"11-darwin-aarch64" = {
sha256 = "1kaqvkbhj3iifq6asyrpy225a89y7klzbh7an1ycnvc2hvqkv4nz";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java11-darwin-aarch64-22.3.1.jar";
};
"17-darwin-aarch64" = {
sha256 = "09l7x4x8yanq55v6y6wpfx94mvsq1bpbnihknjc6dnq3vcrci77n";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java17-darwin-aarch64-22.3.1.jar";
};
"19-darwin-aarch64" = {
sha256 = "0dfddqgkz9b5akpgfw7sj4sl9wwknmh7qzk3pq2dpvf6892168wb";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java19-darwin-aarch64-22.3.1.jar";
};
"11-darwin-amd64" = {
sha256 = "036w9dmdcs46kmjqr3086mg389fgr3h1zysavfq8cbh199x0ibia";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java11-darwin-amd64-22.3.1.jar";
};
"17-darwin-amd64" = {
sha256 = "1hvjfvcn878bzvi944v3x23sby72hbfvg5s3zzspyc37l5cdpqi3";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java17-darwin-amd64-22.3.1.jar";
};
"19-darwin-amd64" = {
sha256 = "1829fnyz62gcnj0664hl9w3vjyb3xfc84gpnblhhdx77c9y8gf6b";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java19-darwin-amd64-22.3.1.jar";
};
};
"graalvm-ce" = {
"11-linux-aarch64" = {
sha256 = "1g4a3z9993pq52j3jf25pbcq9rvl8jz1yar8c859jw5chaf3ysml";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java11-linux-aarch64-22.3.1.tar.gz";
};
"17-linux-aarch64" = {
sha256 = "06288dwbql943nii74i9mngzb38h2nzrxzzgs346mgk2965gwm59";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java17-linux-aarch64-22.3.1.tar.gz";
};
"19-linux-aarch64" = {
sha256 = "03bakx00rl2c0hyvp5skfha57cijlpvmsnfgv2ancn3ypyqx1c4m";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java19-linux-aarch64-22.3.1.tar.gz";
};
"11-linux-amd64" = {
sha256 = "1f6xkdnxn6xsm24sqw24rsca72wm7v6q96m23l5fng5ym0jpfm2m";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java11-linux-amd64-22.3.1.tar.gz";
};
"17-linux-amd64" = {
sha256 = "0aci9i28rq5nk2qya9dcg5hxr3sgsbv7f5x8679hrjrqmrclmkrs";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java17-linux-amd64-22.3.1.tar.gz";
};
"19-linux-amd64" = {
sha256 = "0byxf2d4c3vwygjg5rbwwi22k1pv0yqjz03n8m67v2vsbs09vnbw";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java19-linux-amd64-22.3.1.tar.gz";
};
"11-darwin-aarch64" = {
sha256 = "0cbcm9d211m4b6g1bkpfksma917lzqkl4kx38vm1nrwjkll357y5";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java11-darwin-aarch64-22.3.1.tar.gz";
};
"17-darwin-aarch64" = {
sha256 = "1qbw3hlmqcrmd70xk56463scdxr50n66z2n3c24h68qlwwlpqc73";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java17-darwin-aarch64-22.3.1.tar.gz";
};
"19-darwin-aarch64" = {
sha256 = "09n9qz58lfwl2ag8s3n6dm11p5nnbz6gfralfyfj72wwfghcsckc";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java19-darwin-aarch64-22.3.1.tar.gz";
};
"11-darwin-amd64" = {
sha256 = "0a12rzf99x5l29f6bwm6myk18dgnrx2c9rwmii2pm864y7azlnij";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java11-darwin-amd64-22.3.1.tar.gz";
};
"17-darwin-amd64" = {
sha256 = "02lclv2j3v850izh84wdvksi3d3xmgpfl7x85vzifhgsvagm6sz4";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java17-darwin-amd64-22.3.1.tar.gz";
};
"19-darwin-amd64" = {
sha256 = "1b3r43jpgip12if1fld41qiigqgn32zqs6992ji206dxq6xwli23";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java19-darwin-amd64-22.3.1.tar.gz";
};
};
"ruby-installable-svm" = {
"11-linux-aarch64" = {
sha256 = "10wm1sq7smywy63mzlsbn21kzd65yaqj8yismpq8bz19h9skas7w";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java11-linux-aarch64-22.3.1.jar";
};
"17-linux-aarch64" = {
sha256 = "0kh1w49yp3kpfvhqw19bbx51ay1wgzq80gsrfqax4zm5ixz4wsbz";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java17-linux-aarch64-22.3.1.jar";
};
"19-linux-aarch64" = {
sha256 = "1c3xw9h85g3p5w12zrlvl036ay3218g5405hkh7qaah00affgx5l";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java19-linux-aarch64-22.3.1.jar";
};
"11-linux-amd64" = {
sha256 = "0avsawgfkqbgqc2hm8zmz37qg9ag3ddni3my8g73kvzfkghsdabh";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java11-linux-amd64-22.3.1.jar";
};
"17-linux-amd64" = {
sha256 = "1ib00pqdhzl24y97j16mm86qwrijqjnmhjmk3g5vdhyhh099vjp1";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java17-linux-amd64-22.3.1.jar";
};
"19-linux-amd64" = {
sha256 = "1j42y6gwf84xgjnawwqymxv4702gsy0vriwdfd09nbp600sjzga5";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java19-linux-amd64-22.3.1.jar";
};
"11-darwin-aarch64" = {
sha256 = "1im75qad89xa2nbl80csnwn56k6n11zv5g91xlkqq4xk300v1saj";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java11-darwin-aarch64-22.3.1.jar";
};
"17-darwin-aarch64" = {
sha256 = "1pfzsisf4sgzxmk3r1p4apzqkwipjpf8naly3v94i5v3b5gbnczx";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java17-darwin-aarch64-22.3.1.jar";
};
"19-darwin-aarch64" = {
sha256 = "0xysf43q0zpin3lmffmb3n7y4rsm1zm19ndys1vrn8szz4jcxpsq";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java19-darwin-aarch64-22.3.1.jar";
};
"11-darwin-amd64" = {
sha256 = "1jfls71y92hw09s869v2qw8pypgl1fciqz3m9zcd2602hikysq6c";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java11-darwin-amd64-22.3.1.jar";
};
"17-darwin-amd64" = {
sha256 = "03x2h4sw72l05xxg73xj9mzzkxffbjpv8hdi59rgxxljnz0ai6rx";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java17-darwin-amd64-22.3.1.jar";
};
"19-darwin-amd64" = {
sha256 = "02nkjlv306wyms7swibn5rz0w8sx6pwvh1lilgvv4xnbj7wps2q7";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java19-darwin-amd64-22.3.1.jar";
};
};
}

View File

@ -1,17 +0,0 @@
{ lib
, stdenv
, graalvmCEPackages
, javaVersion
, src
, version
}:
graalvmCEPackages.buildGraalvmProduct rec {
inherit src javaVersion version;
product = "js-installable-svm";
graalvmPhases.installCheckPhase = ''
echo "Testing GraalJS"
echo '1 + 1' | $out/bin/js
'';
}

View File

@ -1,18 +0,0 @@
{ lib
, stdenv
, graalvmCEPackages
, javaVersion
, src
, version
}:
graalvmCEPackages.buildGraalvmProduct rec {
inherit src javaVersion version;
product = "llvm-installable-svm";
# TODO: improve this test
graalvmPhases.installCheckPhase = ''
echo "Testing llvm"
$out/bin/lli --help
'';
}

View File

@ -1,60 +0,0 @@
{ lib
, stdenv
, graalvmCEPackages
, gcc
, glibc
, javaVersion
, musl
, src
, version
, writeShellScriptBin
, zlib
, useMusl ? false
, extraCLibs ? [ ]
}:
assert useMusl -> stdenv.isLinux;
let
cLibs = [ glibc zlib.static ]
++ lib.optionals (!useMusl) [ glibc.static ]
++ lib.optionals useMusl [ musl ]
++ extraCLibs;
# GraalVM 21.3.0+ expects musl-gcc as <system>-musl-gcc
musl-gcc = (writeShellScriptBin "${stdenv.hostPlatform.system}-musl-gcc" ''${lib.getDev musl}/bin/musl-gcc "$@"'');
binPath = lib.makeBinPath ([ gcc ] ++ lib.optionals useMusl [ musl-gcc ]);
in
graalvmCEPackages.buildGraalvmProduct rec {
inherit src javaVersion version;
product = "native-image-installable-svm";
graalvmPhases.postInstall = lib.optionalString stdenv.isLinux ''
wrapProgram $out/bin/native-image \
--prefix PATH : ${binPath} \
${lib.concatStringsSep " "
(map (l: "--add-flags '-H:CLibraryPath=${l}/lib'") cLibs)}
'';
graalvmPhases.installCheckPhase = ''
echo "Ahead-Of-Time compilation"
$out/bin/native-image -H:-CheckToolchain -H:+ReportExceptionStackTraces HelloWorld
./helloworld | fgrep 'Hello World'
${# --static is only available in Linux
lib.optionalString (stdenv.isLinux && !useMusl) ''
echo "Ahead-Of-Time compilation with -H:+StaticExecutableWithDynamicLibC"
$out/bin/native-image -H:+StaticExecutableWithDynamicLibC HelloWorld
./helloworld | fgrep 'Hello World'
echo "Ahead-Of-Time compilation with --static"
$out/bin/native-image --static HelloWorld
./helloworld | fgrep 'Hello World'
''}
${# --static is only available in Linux
lib.optionalString (stdenv.isLinux && useMusl) ''
echo "Ahead-Of-Time compilation with --static and --libc=musl"
$out/bin/native-image --static HelloWorld --libc=musl
./helloworld | fgrep 'Hello World'
''}
'';
}

View File

@ -1,21 +0,0 @@
{ lib
, stdenv
, graalvmCEPackages
, graalvm-ce
, javaVersion
, src
, version
}:
graalvmCEPackages.buildGraalvmProduct rec {
inherit src javaVersion version;
product = "nodejs-installable-svm";
extraNativeBuildInputs = [ graalvm-ce ];
# TODO: improve test
graalvmPhases.installCheckPhase = ''
echo "Testing NodeJS"
$out/bin/npx --help
'';
}

View File

@ -1,18 +0,0 @@
{ lib
, stdenv
, graalvmCEPackages
, javaVersion
, src
, version
}:
graalvmCEPackages.buildGraalvmProduct rec {
inherit src javaVersion version;
product = "python-installable-svm";
graalvmPhases.installCheckPhase = ''
echo "Testing GraalPython"
$out/bin/graalpy -c 'print(1 + 1)'
echo '1 + 1' | $out/bin/graalpy
'';
}

View File

@ -1,29 +1,30 @@
{ lib
, stdenv
, fetchurl
, graalvmCEPackages
, llvm-installable-svm
, libyaml
, openssl
, javaVersion
, src
, version
}:
graalvmCEPackages.buildGraalvmProduct rec {
inherit src javaVersion version;
product = "ruby-installable-svm";
graalvmCEPackages.buildGraalvmProduct {
src = fetchurl (import ./hashes.nix).hashes.${stdenv.system};
version = (import ./hashes.nix).version;
product = "truffleruby";
extraBuildInputs = [
llvm-installable-svm
libyaml
openssl
];
preFixup = lib.optionalString stdenv.isLinux ''
patchelf $out/languages/ruby/lib/mri/openssl.so \
patchelf $out/lib/mri/openssl.so \
--replace-needed libssl.so.10 libssl.so \
--replace-needed libcrypto.so.10 libcrypto.so
'';
graalvmPhases.installCheckPhase = ''
doInstallCheck = true;
installCheckPhase = ''
echo "Testing TruffleRuby"
# Fixup/silence warnings about wrong locale
export LANG=C

View File

@ -0,0 +1,22 @@
# Generated by update.sh script
{
"version" = "23.1.0";
"hashes" = {
"aarch64-linux" = {
sha256 = "05q0xqm7qa9mw7v4kwyhbqsx27x19msf9rbbzq60dinp5724r721";
url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-linux-aarch64.tar.gz";
};
"x86_64-linux" = {
sha256 = "0bfcqcax9424vsdqzr18mxkhi2wpzc4xaji98anm8mcjkyl1r89q";
url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-linux-amd64.tar.gz";
};
"x86_64-darwin" = {
sha256 = "1yj9nk670hgh9104s1j207mqldagfvvvscj4bfgf3jlbcq5hvlhn";
url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-macos-amd64.tar.gz";
};
"aarch64-darwin" = {
sha256 = "1nmqyn4vzwjsvq7dly8qn1xx973jg027xfbs988vf3nljnhkpq5l";
url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-macos-aarch64.tar.gz";
};
};
}

View File

@ -1,10 +1,23 @@
#!/usr/bin/env nix-shell
#!nix-shell -p coreutils curl.out nix jq gnused -i bash
# Usage:
# ./update.sh [PRODUCT]
#
# Examples:
# $ ./update.sh graalvm-ce # will generate ./graalvm-ce/hashes.nix
# $ ./update.sh # same as above
# $ ./update.sh graalpy # will generate ./graalpy/hashes.nix
#
# Environment variables:
# FORCE=1 to force the update of a product (e.g.: skip up-to-date checks)
# VERSION=xx.xx will assume that xx.xx is the new version
set -eou pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
tmpfile="$(mktemp --suffix=.nix)"
readonly tmpfile
trap 'rm -rf "$tmpfile"' EXIT
@ -16,92 +29,102 @@ verlte() {
[ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ]
}
readonly hashes_nix="hashes.nix"
readonly product="${1:-graalvm-ce}"
readonly hashes_nix="$product/hashes.nix"
readonly nixpkgs=../../../../..
readonly current_version="$(nix-instantiate "$nixpkgs" --eval --strict -A graalvm-ce.version --json | jq -r)"
mkdir -p "$product"
if [[ -z "${1:-}" ]]; then
readonly gh_version="$(curl \
declare -r -A update_urls=(
[graalvm-ce]="https://api.github.com/repos/graalvm/graalvm-ce-builds/releases/latest"
[graaljs]="https://api.github.com/repos/oracle/graaljs/releases/latest"
[graalnodejs]="https://api.github.com/repos/oracle/graaljs/releases/latest"
[graalpy]="https://api.github.com/repos/oracle/graalpython/releases/latest"
[truffleruby]="https://api.github.com/repos/oracle/truffleruby/releases/latest"
)
current_version="$(nix-instantiate "$nixpkgs" --eval --strict -A "graalvmCEPackages.${product}.version" --json | jq -r)"
readonly current_version
if [[ -z "${VERSION:-}" ]]; then
gh_version="$(curl \
${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
-s https://api.github.com/repos/graalvm/graalvm-ce-builds/releases/latest | \
-s "${update_urls[$product]}" | \
jq --raw-output .tag_name)"
readonly new_version="${gh_version//vm-/}"
new_version="${gh_version//jdk-/}"
new_version="${new_version//graal-/}"
else
readonly new_version="$1"
new_version="$VERSION"
fi
readonly new_version
info "Current version: $current_version"
info "New version: $new_version"
if verlte "$new_version" "$current_version"; then
info "graalvm-ce $current_version is up-to-date."
info "$product $current_version is up-to-date."
[[ -z "${FORCE:-}" ]] && exit 0
else
info "graalvm-ce $current_version is out-of-date. Updating..."
info "$product $current_version is out-of-date. Updating..."
fi
# Make sure to get the `-community` versions!
declare -r -A products_urls=(
[graalvm-ce]="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${new_version}/graalvm-ce-java@platform@-${new_version}.tar.gz"
[js-installable-svm]="https://github.com/graalvm/graaljs/releases/download/vm-${new_version}/js-installable-svm-java@platform@-${new_version}.jar"
[llvm-installable-svm]="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${new_version}/llvm-installable-svm-java@platform@-${new_version}.jar"
[native-image-installable-svm]="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${new_version}/native-image-installable-svm-java@platform@-${new_version}.jar"
[nodejs-installable-svm]="https://github.com/graalvm/graaljs/releases/download/vm-${new_version}/nodejs-installable-svm-java@platform@-${new_version}.jar"
[python-installable-svm]="https://github.com/graalvm/graalpython/releases/download/vm-${new_version}/python-installable-svm-java@platform@-${new_version}.jar"
[ruby-installable-svm]="https://github.com/oracle/truffleruby/releases/download/vm-${new_version}/ruby-installable-svm-java@platform@-${new_version}.jar"
[wasm-installable-svm]="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${new_version}/wasm-installable-svm-java@platform@-${new_version}.jar"
[graalvm-ce]="https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-${new_version}/graalvm-community-jdk-${new_version}_@platform@_bin.tar.gz"
[graaljs]="https://github.com/oracle/graaljs/releases/download/graal-${new_version}/graaljs-community-${new_version}-@platform@.tar.gz"
[graalnodejs]="https://github.com/oracle/graaljs/releases/download/graal-${new_version}/graalnodejs-community-${new_version}-@platform@.tar.gz"
[graalpy]="https://github.com/oracle/graalpython/releases/download/graal-${new_version}/graalpy-community-${new_version}-@platform@.tar.gz"
[truffleruby]="https://github.com/oracle/truffleruby/releases/download/graal-${new_version}/truffleruby-community-${new_version}-@platform@.tar.gz"
)
readonly platforms=(
"11-linux-aarch64"
"17-linux-aarch64"
"19-linux-aarch64"
"11-linux-amd64"
"17-linux-amd64"
"19-linux-amd64"
"11-darwin-aarch64"
"17-darwin-aarch64"
"19-darwin-aarch64"
"11-darwin-amd64"
"17-darwin-amd64"
"19-darwin-amd64"
)
# Argh, this is really inconsistent...
if [[ "$product" == "graalvm-ce" ]]; then
declare -r -A platforms=(
[aarch64-linux]="linux-aarch64"
[x86_64-linux]="linux-x64"
[aarch64-darwin]="macos-aarch64"
[x86_64-darwin]="macos-x64"
)
else
declare -r -A platforms=(
[aarch64-linux]="linux-aarch64"
[x86_64-linux]="linux-amd64"
[aarch64-darwin]="macos-aarch64"
[x86_64-darwin]="macos-amd64"
)
fi
info "Generating '$hashes_nix' file for 'graalvm-ce' $new_version. This will take a while..."
info "Generating '$hashes_nix' file for '$product' $new_version. This will take a while..."
# Indentation of `echo_file` function is on purpose to make it easier to visualize the output
echo_file "# Generated by $0 script"
echo_file "# Generated by $(basename $0) script"
echo_file "{"
for product in "${!products_urls[@]}"; do
url="${products_urls["${product}"]}"
echo_file " \"$product\" = {"
for platform in "${platforms[@]}"; do
args=("${url//@platform@/$platform}")
# Get current hashes to skip derivations already in /nix/store to reuse cache when the version is the same
# e.g.: when adding a new product and running this script with FORCE=1
if [[ "$current_version" == "$new_version" ]] && \
previous_hash="$(nix-instantiate --eval "$hashes_nix" -A "$product.$platform.sha256" --json | jq -r)"; then
args+=("$previous_hash" "--type" "sha256")
else
info "Hash in '$product' for '$platform' not found. Re-downloading it..."
fi
if hash="$(nix-prefetch-url "${args[@]}")"; then
echo_file " \"$platform\" = {"
echo_file " \"version\" = \"$new_version\";"
url="${products_urls["${product}"]}"
echo_file " \"hashes\" = {"
for nix_platform in "${!platforms[@]}"; do
product_platform="${platforms[$nix_platform]}"
args=("${url//@platform@/$product_platform}")
# Get current hashes to skip derivations already in /nix/store to reuse cache when the version is the same
# e.g.: when adding a new product and running this script with FORCE=1
if [[ "$current_version" == "$new_version" ]] && \
previous_hash="$(nix-instantiate --eval "$hashes_nix" -A "hashes.$nix_platform.sha256" --json | jq -r)"; then
args+=("$previous_hash" "--type" "sha256")
else
info "Hash in '$product' for '$nix_platform' not found. Re-downloading it..."
fi
if hash="$(nix-prefetch-url "${args[@]}")"; then
echo_file " \"$nix_platform\" = {"
echo_file " sha256 = \"$hash\";"
echo_file " url = \"${url//@platform@/${platform}}\";"
echo_file " url = \"${url//@platform@/${product_platform}}\";"
echo_file " };"
else
info "Error while downloading '$product' for '$platform'. Skipping it..."
fi
done
echo_file " };"
else
info "Error while downloading '$product' for '$nix_platform'. Skipping it..."
fi
done
echo_file " };"
echo_file "}"
info "Updating graalvm-ce version..."
# update-source-version does not work here since it expects src attribute
sed "s|$current_version|$new_version|" -i default.nix
info "Moving the temporary file to hashes.nix"
info "Moving the temporary file to '$hashes_nix'"
mv "$tmpfile" "$hashes_nix"
info "Done!"

View File

@ -1,22 +0,0 @@
{ lib
, stdenv
, graalvm-ce
, graalvmCEPackages
, javaVersion
, src
, version
}:
graalvmCEPackages.buildGraalvmProduct rec {
inherit src javaVersion version;
product = "wasm-installable-svm";
# TODO: improve this test
graalvmPhases.installCheckPhase = ''
echo "Testing wasm"
$out/bin/wasm --help
'';
# Not supported in aarch64-darwin yet as GraalVM 22.3.1 release
meta.platforms = builtins.filter (p: p != "aarch64-darwin") graalvm-ce.meta.platforms;
}

View File

@ -19,12 +19,12 @@ let
sha256 = "189gjqzdz10xh3ybiy4ch1r98bsmkcb4hpnrmggd4y2g5kqnyx4y";
};
"2.3.7" = {
sha256 = "sha256-aYFE+4BaMZGaYQ3pmauYOR1S62mK2qjKGbKPxu0Nmfc=";
};
"2.3.8" = {
sha256 = "sha256-QhVxsqyRbli+jrzqXvSr+NeQKGPbah0KXvqVAK3KDSk=";
};
"2.3.9" = {
sha256 = "sha256-fSiakSMgIgKL8BKJAMMr8A5MVDDDLyivBZTIpZKphlQ=";
};
};
in with versionMap.${version};

View File

@ -15,7 +15,7 @@ buildGraalvmNativeImage rec {
sha256 = "sha256-O3pLELYmuuB+Bf1vHTWQ+u7Ymi3qYiMRpCwvEq+GeBQ=";
};
graalvmDrv = graalvmCEPackages.graalvm19-ce;
graalvmDrv = graalvmCEPackages.graalvm-ce;
executable = "bb";
@ -38,7 +38,7 @@ buildGraalvmNativeImage rec {
# As of v1.2.174, this will remove references to ${graalvmDrv}/conf/chronology,
# not sure the implications of this but this file is not available in
# graalvm19-ce anyway.
# graalvm-ce anyway.
postInstall = ''
remove-references-to -t ${graalvmDrv} $out/bin/${executable}
'';

View File

@ -25,8 +25,8 @@
, xorgproto
, coreutils
# build options
, threadSupport ? stdenv.hostPlatform.isx86
, x11Support ? stdenv.hostPlatform.isx86
, threadSupport ? (stdenv.hostPlatform.isx86 && ! stdenv.hostPlatform.isDarwin)
, x11Support ? (stdenv.hostPlatform.isx86 && ! stdenv.hostPlatform.isDarwin)
, dllSupport ? true
, withModules ? [
"pcre"
@ -82,13 +82,16 @@ stdenv.mkDerivation {
'';
preConfigure = lib.optionalString stdenv.isDarwin (''
cd src
autoreconf -f -i -I m4 -I glm4
cd -
(
cd src
autoreconf -f -i -I m4 -I glm4
)
'' + lib.concatMapStrings (x: ''
cd modules/${x}
autoreconf -f -i -I ../../src -I ../../src/m4 -I ../../src/glm4
cd -
(
root="$PWD"
cd modules/${x}
autoreconf -f -i -I "$root/src" -I "$root/src/m4" -I "$root/src/glm4"
)
'') withModules);
configureFlags = [ "builddir" ]

View File

@ -2,8 +2,8 @@
let
base = callPackage ./generic.nix (_args // {
version = "8.1.23";
hash = "sha256-kppieFF32okt3/ygdLqy8f9XhHOg1K25FcEvXz407Bs=";
version = "8.1.24";
hash = "sha256-sK5YBKmtU6fijQoyYpSV+Bb5NbEIMMcfTsFYJxhac8k=";
});
in

View File

@ -2,8 +2,8 @@
let
base = callPackage ./generic.nix (_args // {
version = "8.2.10";
hash = "sha256-zJg06PG2E9dneviEPDZR6YKavKjr/pB5JR0Nhdmgqj4=";
version = "8.2.11";
hash = "sha256-OBktrv+r9K9sQnvxesH4JWXZx1IuDb0yIVFilEQ0sos=";
});
in

View File

@ -2,12 +2,12 @@
let
base = (callPackage ./generic.nix (_args // {
version = "8.3.0RC2";
version = "8.3.0RC3";
hash = null;
})).overrideAttrs (oldAttrs: {
src = fetchurl {
url = "https://downloads.php.net/~eric/php-8.3.0RC2.tar.xz";
hash = "sha256-0Lo9msTyjfU9kuq0QkvUv4yeshM2tUizMJb9oCggMtw=";
url = "https://downloads.php.net/~jakub/php-8.3.0RC3.tar.xz";
hash = "sha256-64JwXVR7WzfeXhq5qOW0cqpzcX09G9t9R2daQyRyRMQ=";
};
});
in

View File

@ -10,11 +10,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "yabasic";
version = "2.90.3";
version = "2.90.4";
src = fetchurl {
url = "http://www.yabasic.de/download/yabasic-${finalAttrs.version}.tar.gz";
hash = "sha256-ItmlkraNUE0qlq1RghUJcDq4MHb6HRKNoIRylugjboA=";
hash = "sha256-td54SC1LnO3z07m3BsVDpiAsmokzB4xn4dbVdfeYH8M=";
};
buildInputs = [

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "functionalplus";
version = "0.2.18-p0";
version = "0.2.20-p0";
src = fetchFromGitHub {
owner = "Dobiasd";
repo = "FunctionalPlus";
rev = "v${version}";
sha256 = "sha256-jypBQjFdVEktB8Q71RTg+3RJoeFwD5Wxw+fq+4QG38g=";
sha256 = "sha256-PKd3gx63VTxyq1q0v7WaKXVA0oICpZQfVsKsgUml9wk=";
};
nativeBuildInputs = [ cmake ];

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, perl, yasm
{ lib, stdenv, fetchFromGitHub, fetchpatch, perl, yasm
, vp8DecoderSupport ? true # VP8 decoder
, vp8EncoderSupport ? true # VP8 encoder
, vp9DecoderSupport ? true # VP9 decoder
@ -84,6 +84,18 @@ stdenv.mkDerivation rec {
sha256 = "sha256-IH+ZWbBUlU5fbciYe+dNGnTFFCte2BXxAlLcvmzdAeY=";
};
patches = [
(fetchpatch {
# https://www.openwall.com/lists/oss-security/2023/09/28/5
name = "CVE-2023-5217.patch";
url = "https://github.com/webmproject/libvpx/commit/3fbd1dca6a4d2dad332a2110d646e4ffef36d590.patch";
hash = "sha256-1hHUd/dNGm8dmdYYN60j1aOgC2pdIIq7vqJZ7mTXfps=";
includes = [
"vp8/encoder/onyx_if.c"
];
})
];
postPatch = ''
patchShebangs --build \
build/make/*.sh \

View File

@ -1,12 +1,19 @@
{ lib, stdenv, fetchurl, autoreconfHook, sqlite }:
{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, sqlite
}:
stdenv.mkDerivation rec {
pname = "mps";
version = "1.117.0";
version = "1.118.0";
src = fetchurl {
url = "https://www.ravenbrook.com/project/mps/release/${version}/mps-kit-${version}.tar.gz";
sha256 = "04ix4l7lk6nxxk9sawpnxbybvqb82lks5606ym10bc1qbc2kqdcz";
src = fetchFromGitHub {
owner = "Ravenbrook";
repo = "mps";
rev = "refs/tags/release-${version}";
hash = "sha256-3ql3jWLccgnQHKf23B1en+nJ9rxqmHcWd7aBr93YER0=";
};
nativeBuildInputs = [ autoreconfHook ];
@ -21,7 +28,6 @@ stdenv.mkDerivation rec {
meta = {
broken = true;
description = "A flexible memory management and garbage collection library";
homepage = "https://www.ravenbrook.com/project/mps";
license = lib.licenses.sleepycat;

View File

@ -2,28 +2,26 @@
, stdenv
, fetchFromGitLab
, nix-update-script
, # base build deps
meson
# base build deps
, meson
, pkg-config
, ninja
, # docs build deps
python3
# docs build deps
, python3
, doxygen
, graphviz
, # GI build deps
gobject-introspection
, # runtime deps
glib
# GI build deps
, gobject-introspection
# runtime deps
, glib
, systemd
, lua5_4
, pipewire
, # options
enableDocs ? true
# options
, enableDocs ? true
, enableGI ? true
}:
let
mesonEnableFeature = b: if b then "enabled" else "disabled";
in
stdenv.mkDerivation rec {
pname = "wireplumber";
version = "0.4.14";
@ -49,8 +47,8 @@ stdenv.mkDerivation rec {
] ++ lib.optionals (enableDocs || enableGI) [
doxygen
(python3.pythonForBuild.withPackages (ps: with ps;
lib.optionals enableDocs [ sphinx sphinx-rtd-theme breathe ] ++
lib.optionals enableGI [ lxml ]
lib.optionals enableDocs [ sphinx sphinx-rtd-theme breathe ]
++ lib.optionals enableGI [ lxml ]
))
];
@ -62,13 +60,13 @@ stdenv.mkDerivation rec {
];
mesonFlags = [
"-Dsystem-lua=true"
"-Delogind=disabled"
"-Ddoc=${mesonEnableFeature enableDocs}"
"-Dintrospection=${mesonEnableFeature enableGI}"
"-Dsystemd-system-service=true"
"-Dsystemd-system-unit-dir=${placeholder "out"}/lib/systemd/system"
"-Dsysconfdir=/etc"
(lib.mesonBool "system-lua" true)
(lib.mesonEnable "elogind" false)
(lib.mesonEnable "doc" enableDocs)
(lib.mesonEnable "introspection" enableGI)
(lib.mesonBool "systemd-system-service" true)
(lib.mesonOption "systemd-system-unit-dir" "${placeholder "out"}/lib/systemd/system")
(lib.mesonOption "sysconfdir" "/etc")
];
passthru.updateScript = nix-update-script { };

View File

@ -109,8 +109,8 @@ let
patches = [
(fetchpatch2 {
# fix compatibility with protobuf 23
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/qt6-grpc/-/raw/d6b33bd915dc6e63b30db2cd29150d55b289d7ed/protobuf-23.patch";
hash = "sha256-KQAcrjQ3rK9pDQUOUK6AS4ej8YvtRv9WZOxby31Y5r4=";
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/qt6-grpc/-/raw/5cfb8728ca626af41d5dc2b1f642d026c011ec56/protobuf-23.patch";
hash = "sha256-msVQEAt0DewOnZIgymGijJEpIXbfmMUkdbIyJ0ZNuok=";
})
];
};

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