Merge branch 'staging-next' into staging

This commit is contained in:
Artturin 2024-07-16 19:07:48 +03:00
commit a516ea8c99
636 changed files with 28963 additions and 28740 deletions

2
.github/CODEOWNERS vendored
View File

@ -14,7 +14,7 @@
# CI
/.github/workflows @NixOS/Security @Mic92 @zowoq
/.github/workflows/check-nix-format.yml @infinisil
/ci @infinisil
/ci @infinisil @NixOS/Security
# Develompent support
/.editorconfig @Mic92 @zowoq

View File

@ -0,0 +1,189 @@
# Gradle {#gradle}
Gradle is a popular build tool for Java/Kotlin. Gradle itself doesn't
currently provide tools to make dependency resolution reproducible, so
nixpkgs has a proxy designed for intercepting Gradle web requests to
record dependencies so they can be restored in a reproducible fashion.
## Building a Gradle package {#building-a-gradle-package}
Here's how a typical derivation will look like:
```nix
stdenv.mkDerivation (finalAttrs: {
pname = "pdftk";
version = "3.3.3";
src = fetchFromGitLab {
owner = "pdftk-java";
repo = "pdftk";
rev = "v${finalAttrs.version}";
hash = "sha256-ciKotTHSEcITfQYKFZ6sY2LZnXGChBJy0+eno8B3YHY=";
};
nativeBuildInputs = [ gradle ];
# if the package has dependencies, mitmCache must be set
mitmCache = gradle.fetchDeps {
inherit (finalAttrs) pname;
data = ./deps.json;
};
# this is required for using mitm-cache on Darwin
__darwinAllowLocalNetworking = true;
gradleFlags = [ "-Dfile.encoding=utf-8" ];
# defaults to "assemble"
gradleBuildTask = "shadowJar";
# will run the gradleCheckTask (defaults to "test")
doCheck = true;
installPhase = ''
mkdir -p $out/{bin,share/pdftk}
cp build/libs/pdftk-all.jar $out/share/pdftk
makeWrapper ${jre}/bin/java $out/bin/pdftk \
--add-flags "-jar $out/share/pdftk/pdftk-all.jar"
cp ${finalAttrs.src}/pdftk.1 $out/share/man/man1
'';
meta.sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode # mitm cache
];
})
```
To update (or initialize) dependencies, run the update script via
something like `$(nix-build -A <pname>.mitmCache.updateScript)`
(`nix-build` builds the `updateScript`, `$(...)` runs the script at the
path printed by `nix-build`).
If your package can't be evaluated using a simple `pkgs.<pname>`
expression (for example, if your package isn't located in nixpkgs, or if
you want to override some of its attributes), you will usually have to
pass `pkg` instead of `pname` to `gradle.fetchDeps`. There are two ways
of doing it.
The first is to add the derivation arguments required for getting the
package. Using the pdftk example above:
```nix
{ lib
, stdenv
# ...
, pdftk
}:
stdenv.mkDerivation (finalAttrs: {
# ...
mitmCache = gradle.fetchDeps {
pkg = pdftk;
data = ./deps.json;
};
})
```
This allows you to `override` any arguments of the `pkg` used for
the update script (for example, `pkg = pdftk.override { enableSomeFlag =
true };`), so this is the preferred way.
The second is to create a `let` binding for the package, like this:
```nix
let self = stdenv.mkDerivation {
# ...
mitmCache = gradle.fetchDeps {
pkg = self;
data = ./deps.json;
};
}; in self
```
This is useful if you can't easily pass the derivation as its own
argument, or if your `mkDerivation` call is responsible for building
multiple packages.
In the former case, the update script will stay the same even if the
derivation is called with different arguments. In the latter case, the
update script will change depending on the derivation arguments. It's up
to you to decide which one would work best for your derivation.
## Update Script {#gradle-update-script}
The update script does the following:
- Build the derivation's source via `pkgs.srcOnly`
- Enter a `nix-shell` for the derivation in a `bwrap` sandbox (the
sandbox is only used on Linux)
- Set the `IN_GRADLE_UPDATE_DEPS` environment variable to `1`
- Run the derivation's `unpackPhase`, `patchPhase`, `configurePhase`
- Run the derivation's `gradleUpdateScript` (the Gradle setup hook sets
a default value for it, which runs `preBuild`, `preGradleUpdate`
hooks, fetches the dependencies using `gradleUpdateTask`, and finally
runs the `postGradleUpdate` hook)
- Finally, store all of the fetched files' hashes in the lockfile. They
may be `.jar`/`.pom` files from Maven repositories, or they may be
files otherwise used for building the package.
`fetchDeps` takes the following arguments:
- `attrPath` - the path to the package in nixpkgs (for example,
`"javaPackages.openjfx22"`). Used for update script metadata.
- `pname` - an alias for `attrPath` for convenience. This is what you
will generally use instead of `pkg` or `attrPath`.
- `pkg` - the package to be used for fetching the dependencies. Defaults
to `getAttrFromPath (splitString "." attrPath) pkgs`.
- `bwrapFlags` - allows you to override bwrap flags (only relevant for
downstream, non-nixpkgs projects)
- `data` - path to the dependencies lockfile (can be relative to the
package, can be absolute). In nixpkgs, it's discouraged to have the
lockfiles be named anything other `deps.json`, consider creating
subdirectories if your package requires multiple `deps.json` files.
## Environment {#gradle-environment}
The Gradle setup hook accepts the following environment variables:
- `mitmCache` - the MITM proxy cache imported using `gradle.fetchDeps`
- `gradleFlags` - command-line flags to be used for every Gradle
invocation (this simply registers a function that uses the necessary
flags).
- You can't use `gradleFlags` for flags that contain spaces, in that
case you must add `gradleFlagsArray+=("-flag with spaces")` to the
derivation's bash code instead.
- If you want to build the package using a specific Java version, you
can pass `"-Dorg.gradle.java.home=${jdk}"` as one of the flags.
- `gradleBuildTask` - the Gradle task (or tasks) to be used for building
the package. Defaults to `assemble`.
- `gradleCheckTask` - the Gradle task (or tasks) to be used for checking
the package if `doCheck` is set to `true`. Defaults to `test`.
- `gradleUpdateTask` - the Gradle task (or tasks) to be used for
fetching all of the package's dependencies in
`mitmCache.updateScript`. Defaults to `nixDownloadDeps`.
- `gradleUpdateScript` - the code to run for fetching all of the
package's dependencies in `mitmCache.updateScript`. Defaults to
running the `preBuild` and `preGradleUpdate` hooks, running the
`gradleUpdateTask`, and finally running the `postGradleUpdate` hook.
- `gradleInitScript` - path to the `--init-script` to pass to Gradle. By
default, a simple init script that enables reproducible archive
creation is used.
- Note that reproducible archives might break some builds. One example
of an error caused by it is `Could not create task ':jar'. Replacing
an existing task that may have already been used by other plugins is
not supported`. If you get such an error, the easiest "fix" is
disabling reproducible archives altogether by setting
`gradleInitScript` to something like `writeText
"empty-init-script.gradle" ""`
- `enableParallelBuilding` / `enableParallelChecking` /
`enableParallelUpdating` - pass `--parallel` to Gradle in the
build/check phase or in the update script. Defaults to true. If the
build fails for mysterious reasons, consider setting this to false.
- `dontUseGradleConfigure` / `dontUseGradleBuild` / `dontUseGradleCheck`
\- force disable the Gradle setup hook for certain phases.
- Note that if you disable the configure hook, you may face issues
such as `Failed to load native library 'libnative-platform.so'`,
because the configure hook is responsible for initializing Gradle.

View File

@ -226,18 +226,18 @@ Some plugins require overrides in order to function properly. Overrides are plac
}
```
Sometimes plugins require an override that must be changed when the plugin is updated. This can cause issues when Vim plugins are auto-updated but the associated override isn't updated. For these plugins, the override should be written so that it specifies all information required to install the plugin, and running `./update.py` doesn't change the derivation for the plugin. Manually updating the override is required to update these types of plugins. An example of such a plugin is `LanguageClient-neovim`.
Sometimes plugins require an override that must be changed when the plugin is updated. This can cause issues when Vim plugins are auto-updated but the associated override isn't updated. For these plugins, the override should be written so that it specifies all information required to install the plugin, and running `nix-shell -p vimPluginsUpdater --run vim-plugins-updater` doesn't change the derivation for the plugin. Manually updating the override is required to update these types of plugins. An example of such a plugin is `LanguageClient-neovim`.
To add a new plugin, run `./update.py add "[owner]/[name]"`. **NOTE**: This script automatically commits to your git repository. Be sure to check out a fresh branch before running.
To add a new plugin, run `nix-shell -p vimPluginsUpdater --run 'vim-plugins-updater add "[owner]/[name]"'`. **NOTE**: This script automatically commits to your git repository. Be sure to check out a fresh branch before running.
Finally, there are some plugins that are also packaged in nodePackages because they have Javascript-related build steps, such as running webpack. Those plugins are not listed in `vim-plugin-names` or managed by `update.py` at all, and are included separately in `overrides.nix`. Currently, all these plugins are related to the `coc.nvim` ecosystem of the Language Server Protocol integration with Vim/Neovim.
Finally, there are some plugins that are also packaged in nodePackages because they have Javascript-related build steps, such as running webpack. Those plugins are not listed in `vim-plugin-names` or managed by `vimPluginsUpdater` at all, and are included separately in `overrides.nix`. Currently, all these plugins are related to the `coc.nvim` ecosystem of the Language Server Protocol integration with Vim/Neovim.
## Updating plugins in nixpkgs {#updating-plugins-in-nixpkgs}
Run the update script with a GitHub API token that has at least `public_repo` access. Running the script without the token is likely to result in rate-limiting (429 errors). For steps on creating an API token, please refer to [GitHub's token documentation](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token).
```sh
GITHUB_API_TOKEN=my_token ./pkgs/applications/editors/vim/plugins/update.py
nix-shell -p vimPluginsUpdater --run 'vim-plugins-updater --github-token=mytoken' # or set GITHUB_API_TOKEN environment variable
```
Alternatively, set the number of processes to a lower count to avoid rate-limiting.

View File

@ -3137,6 +3137,12 @@
githubId = 7435854;
name = "Victor Calvert";
};
camcalaquian = {
email = "camcalaquian@gmail.com";
github = "camcalaquian";
githubId = 36902555;
name = "Carl Calaquian";
};
camelpunch = {
email = "me@andrewbruce.net";
github = "camelpunch";
@ -11426,6 +11432,12 @@
githubId = 1769386;
name = "Liam Diprose";
};
liammurphy14 = {
email = "liam.murphy137@gmail.com";
github = "liam-murphy14";
githubId = 54590679;
name = "Liam Murphy";
};
liarokapisv = {
email = "liarokapis.v@gmail.com";
github = "liarokapisv";
@ -11445,6 +11457,12 @@
github = "liberatys";
githubId = 35100156;
};
liberodark = {
email = "liberodark@gmail.com";
github = "liberodark";
githubId = 4238928;
name = "liberodark";
};
libjared = {
email = "jared@perrycode.com";
github = "libjared";
@ -12642,6 +12660,13 @@
name = "Matthias Wimmer";
keys = [ { fingerprint = "CAEC A12D CE23 37A6 6DFD 17B0 7AC7 631D 70D6 C898"; } ];
};
max = {
email = "max+nixpkgs@privatevoid.net";
matrix = "@max:privatevoid.net";
github = "max-privatevoid";
githubId = 55053574;
name = "Max Headroom";
};
max-amb = {
email = "max_a@e.email";
github = "max-amb";
@ -15207,6 +15232,12 @@
name = "Alvar Penning";
keys = [ { fingerprint = "EB14 4E67 E57D 27E2 B5A4 CD8C F32A 4563 7FA2 5E31"; } ];
};
oynqr = {
email = "pd-nixpkgs@3b.pm";
github = "oynqr";
githubId = 71629732;
name = "Philipp David";
};
oyren = {
email = "m.scheuren@oyra.eu";
github = "oyren";
@ -16139,6 +16170,11 @@
githubId = 146413;
name = "Tobias Poschwatta";
};
potb = {
name = "Peïo Thibault";
github = "potb";
githubId = 10779093;
};
poweredbypie = {
name = "poweredbypie";
github = "poweredbypie";
@ -17398,6 +17434,12 @@
githubId = 55679162;
keys = [ { fingerprint = "1401 1B63 393D 16C1 AA9C C521 8526 B757 4A53 6236"; } ];
};
rorosen = {
email = "robert.rose@mailbox.org";
github = "rorosen";
githubId = 76747196;
name = "Robert Rose";
};
rosehobgoblin = {
name = "J. L. Bowden";
github = "rosehobgoblin";

View File

View File

@ -142,7 +142,7 @@ class Repo:
return loaded
def prefetch(self, ref: Optional[str]) -> str:
print("Prefetching")
print("Prefetching %s", self.uri)
loaded = self._prefetch(ref)
return loaded["sha256"]
@ -266,6 +266,7 @@ class PluginDesc:
@staticmethod
def load_from_csv(config: FetchConfig, row: Dict[str, str]) -> "PluginDesc":
log.debug("Loading row %s", row)
branch = row["branch"]
repo = make_repo(row["repo"], branch.strip())
repo.token = config.github_token
@ -328,7 +329,7 @@ def load_plugins_from_csv(
def run_nix_expr(expr, nixpkgs: str):
def run_nix_expr(expr, nixpkgs: str, **args):
'''
:param expr nix expression to fetch current plugins
:param nixpkgs Path towards a nixpkgs checkout
@ -347,7 +348,7 @@ def run_nix_expr(expr, nixpkgs: str):
nix_path,
]
log.debug("Running command: %s", " ".join(cmd))
out = subprocess.check_output(cmd, timeout=90)
out = subprocess.check_output(cmd, **args)
data = json.loads(out)
return data
@ -736,6 +737,7 @@ def rewrite_input(
redirects: Redirects = {},
append: List[PluginDesc] = [],
):
log.info("Rewriting input file %s", input_file)
plugins = load_plugins_from_csv(
config,
input_file,
@ -744,10 +746,14 @@ def rewrite_input(
plugins.extend(append)
if redirects:
log.debug("Dealing with deprecated plugins listed in %s", deprecated)
cur_date_iso = datetime.now().strftime("%Y-%m-%d")
with open(deprecated, "r") as f:
deprecations = json.load(f)
# TODO parallelize this step
for pdesc, new_repo in redirects.items():
log.info("Rewriting input file %s", input_file)
new_pdesc = PluginDesc(new_repo, pdesc.branch, pdesc.alias)
old_plugin, _ = prefetch_plugin(pdesc)
new_plugin, _ = prefetch_plugin(new_pdesc)
@ -791,7 +797,7 @@ def update_plugins(editor: Editor, args):
start_time = time.time()
redirects = update()
duration = time.time() - start_time
print(f"The plugin update took {duration}s.")
print(f"The plugin update took {duration:.2f}s.")
editor.rewrite_input(fetch_config, args.input_file, editor.deprecated, redirects)
autocommit = not args.no_commit

View File

@ -95,7 +95,10 @@ with lib.maintainers;
};
budgie = {
members = [ bobby285271 ];
members = [
bobby285271
getchoo
];
scope = "Maintain Budgie desktop environment";
shortName = "Budgie";
};
@ -359,6 +362,7 @@ with lib.maintainers;
geospatial = {
members = [
autra
imincik
l0b0
nh2
@ -502,6 +506,7 @@ with lib.maintainers;
euank
marcusramberg
mic92
rorosen
superherointj
wrmilling
yajo

View File

@ -85,6 +85,10 @@
Processes also now run as a dynamically allocated user by default instead of
root.
- The `budgie` and `budgiePlugins` scope have been removed and their packages
moved into the top level scope (i.e., `budgie.budgie-desktop` is now
`budgie-desktop`)
- `services.cgit` now runs as the cgit user by default instead of root.
This change requires granting access to the repositories to this user or
setting the appropriate one through `services.cgit.some-instance.user`.

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
with lib;
let
inherit (lib) mkOption optionalString types versionAtLeast;
inherit (lib.options) literalExpression;
cfg = config.amazonImage;
amiBootMode = if config.ec2.efi then "uefi" else "legacy-bios";
@ -15,7 +15,7 @@ in {
# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html#timeout-nvme-ebs-volumes
config.boot.kernelParams =
let timeout =
if pkgs.lib.versionAtLeast config.boot.kernelPackages.kernel.version "4.15"
if versionAtLeast config.boot.kernelPackages.kernel.version "4.15"
then "4294967295"
else "255";
in [ "nvme_core.io_timeout=${timeout}" ];
@ -156,5 +156,5 @@ in {
};
in if config.ec2.zfs.enable then zfsBuilder else extBuilder;
meta.maintainers = with maintainers; [ arianvp ];
meta.maintainers = with lib.maintainers; [ arianvp ];
}

View File

@ -0,0 +1,18 @@
{ config, lib, pkgs, ... }:
let
cfg = config.hardware.decklink;
kernelPackages = config.boot.kernelPackages;
in
{
options.hardware.decklink.enable = lib.mkEnableOption "hardware support for the Blackmagic Design Decklink audio/video interfaces";
config = lib.mkIf cfg.enable {
# snd_blackmagic-io can cause issues with pipewire,
# so we do not enable it by default
boot.kernelModules = [ "blackmagic" "blackmagic-io" ];
boot.extraModulePackages = [ kernelPackages.decklink ];
systemd.packages = [ pkgs.blackmagic-desktop-video ];
systemd.services.DesktopVideoHelper.wantedBy = [ "multi-user.target" ];
};
}

View File

@ -59,6 +59,7 @@
./hardware/cpu/intel-microcode.nix
./hardware/cpu/intel-sgx.nix
./hardware/cpu/x86-msr.nix
./hardware/decklink.nix
./hardware/device-tree.nix
./hardware/digitalbitbox.nix
./hardware/flipperzero.nix
@ -705,6 +706,7 @@
./services/misc/beanstalkd.nix
./services/misc/bees.nix
./services/misc/bepasty.nix
./services/misc/blenderfarm.nix
./services/misc/calibre-server.nix
./services/misc/canto-daemon.nix
./services/misc/cfdyndns.nix
@ -840,7 +842,6 @@
./services/misc/wastebin.nix
./services/misc/weechat.nix
./services/misc/workout-tracker.nix
./services/misc/xmr-stak.nix
./services/misc/xmrig.nix
./services/misc/zoneminder.nix
./services/misc/zookeeper.nix

View File

@ -68,7 +68,6 @@ in
ProtectKernelTunables = true;
ProtectProc = "invisible";
ProtectSystem = "strict";
ProtectUser = true;
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;

View File

@ -106,6 +106,7 @@ in
as the underlying package isn't being maintained. Working alternatives are
libinput and synaptics.
'')
(mkRemovedOptionModule [ "services" "xmr-stak" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "virtualisation" "rkt" ] "The rkt module has been removed, it was archived by upstream")
(mkRemovedOptionModule [ "services" "racoon" ] ''
The racoon module has been removed, because the software project was abandoned upstream.

View File

@ -1,15 +1,13 @@
# ALSA sound support.
{ config, lib, pkgs, ... }:
with lib;
{
imports = [
(mkRemovedOptionModule [ "sound" ] "The option was heavily overloaded and can be removed from most configurations.")
(lib.mkRemovedOptionModule [ "sound" ] "The option was heavily overloaded and can be removed from most configurations.")
];
options.hardware.alsa.enablePersistence = mkOption {
type = types.bool;
options.hardware.alsa.enablePersistence = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to enable ALSA sound card state saving on shutdown.
@ -17,9 +15,9 @@ with lib;
'';
};
config = mkIf config.hardware.alsa.enablePersistence {
config = lib.mkIf config.hardware.alsa.enablePersistence {
# ALSA provides a udev rule for restoring volume settings.
services.udev.packages = [ alsa-utils ];
services.udev.packages = [ pkgs.alsa-utils ];
systemd.services.alsa-store = {
description = "Store Sound Card State";
@ -32,8 +30,8 @@ with lib;
Type = "oneshot";
RemainAfterExit = true;
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /var/lib/alsa";
ExecStart = "${alsa-utils}/sbin/alsactl restore --ignore";
ExecStop = "${alsa-utils}/sbin/alsactl store --ignore";
ExecStart = "${pkgs.alsa-utils}/sbin/alsactl restore --ignore";
ExecStop = "${pkgs.alsa-utils}/sbin/alsactl store --ignore";
};
};
};

View File

@ -192,7 +192,7 @@ in {
};
network = mkOption {
type = types.enum [ "mainnet" "prater" "goerli" "gnosis" "kiln" "ropsten" "sepolia" ];
type = types.enum [ "mainnet" "gnosis" "chiado" "sepolia" "holesky" ];
default = "mainnet";
description = ''
The network to connect to. Mainnet is the default ethereum network.

View File

@ -0,0 +1,141 @@
{ config
, lib
, pkgs
, ...
}:
let
cfg = config.services.blendfarm;
json = pkgs.formats.json { };
configFile = json.generate "ServerSettings" (defaultConfig // cfg.serverConfig);
defaultConfig = {
Port = 15000;
BroadcastPort = 16342;
BypassScriptUpdate = false;
BasicSecurityPassword = null;
};
in
{
meta.maintainers = with lib.maintainers; [ gador ];
options.services.blendfarm = with lib.types; {
enable = lib.mkEnableOption "Blendfarm, a render farm management software for Blender.";
package = lib.mkPackageOption pkgs "blendfarm" { };
openFirewall = lib.mkEnableOption "Allow blendfarm network access through the firewall.";
user = lib.mkOption {
description = "User under which blendfarm runs.";
default = "blendfarm";
type = str;
};
group = lib.mkOption {
description = "Group under which blendfarm runs.";
default = "blendfarm";
type = str;
};
basicSecurityPasswordFile = lib.mkOption {
description = ''Path to the password file the client needs to connect to the server.
The password must not contain a forward slash.'';
default = null;
type = nullOr str;
};
blenderPackage = lib.mkPackageOption pkgs "blender" { };
serverConfig = lib.mkOption {
description = "Server configuration";
default = defaultConfig;
type = submodule {
freeformType = attrsOf anything;
options = {
Port = lib.mkOption {
description = "Default port blendfarm server listens on.";
default = 15000;
type = types.port;
};
BroadcastPort = lib.mkOption {
description = "Default port blendfarm server advertises itself on.";
default = 16342;
type = types.port;
};
BypassScriptUpdate = lib.mkOption {
description = "Prevents blendfarm from replacing the .py self-generated scripts.";
default = false;
type = bool;
};
};
};
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
networking.firewall = lib.optionalAttrs (cfg.openFirewall) {
allowedTCPPorts = [ cfg.serverConfig.Port ];
allowedUDPPorts = [ cfg.serverConfig.BroadcastPort ];
};
systemd.services.blendfarm-server = {
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
description = "blendfarm server";
path = [ cfg.blenderPackage ];
preStart = ''
rm -f ServerSettings
install -m640 ${configFile} ServerSettings
if [ ! -d "BlenderData/nix-blender-linux64" ]; then
mkdir -p BlenderData/nix-blender-linux64
echo "nix-blender" > VersionCustom
fi
rm -f BlenderData/nix-blender-linux64/blender
ln -s ${lib.getExe cfg.blenderPackage} BlenderData/nix-blender-linux64/blender
'' +
lib.optionalString (cfg.basicSecurityPasswordFile != null) ''
BLENDFARM_PASSWORD=$(${pkgs.systemd}/bin/systemd-creds cat BLENDFARM_PASS_FILE)
sed -i "s/null/\"$BLENDFARM_PASSWORD\"/g" ServerSettings
'';
serviceConfig = {
ExecStart = "${cfg.package}/bin/LogicReinc.BlendFarm.Server";
DynamicUser = true;
LogsDirectory = "blendfarm";
StateDirectory = "blendfarm";
WorkingDirectory = "/var/lib/blendfarm";
User = cfg.user;
Group = cfg.group;
StateDirectoryMode = "0755";
LoadCredential = lib.optional (cfg.basicSecurityPasswordFile != null) "BLENDFARM_PASS_FILE:${cfg.basicSecurityPasswordFile}";
ReadWritePaths = "";
CapabilityBoundingSet = "";
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
RestrictNamespaces = true;
PrivateDevices = true;
PrivateUsers = true;
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
SystemCallArchitectures = "native";
SystemCallFilter = [
"@system-service"
"~@privileged"
"@chown"
];
RestrictRealtime = true;
LockPersonality = true;
UMask = "0066";
ProtectHostname = true;
};
};
users.users.blendfarm = {
isSystemUser = true;
group = "blendfarm";
};
users.groups.blendfarm = { };
};
}

View File

@ -1,89 +0,0 @@
{ lib, config, pkgs, ... }:
with lib;
let
cfg = config.services.xmr-stak;
pkg = pkgs.xmr-stak.override {
inherit (cfg) openclSupport;
};
in
{
options = {
services.xmr-stak = {
enable = mkEnableOption "xmr-stak miner";
openclSupport = mkEnableOption "support for OpenCL (AMD/ATI graphics cards)";
extraArgs = mkOption {
type = types.listOf types.str;
default = [];
example = [ "--noCPU" "--currency monero" ];
description = "List of parameters to pass to xmr-stak.";
};
configFiles = mkOption {
type = types.attrsOf types.str;
default = {};
example = literalExpression ''
{
"config.txt" = '''
"verbose_level" : 4,
"h_print_time" : 60,
"tls_secure_algo" : true,
''';
"pools.txt" = '''
"currency" : "monero7",
"pool_list" :
[ { "pool_address" : "pool.supportxmr.com:443",
"wallet_address" : "my-wallet-address",
"rig_id" : "",
"pool_password" : "nixos",
"use_nicehash" : false,
"use_tls" : true,
"tls_fingerprint" : "",
"pool_weight" : 23
},
],
''';
}
'';
description = ''
Content of config files like config.txt, pools.txt or cpu.txt.
'';
};
};
};
config = mkIf cfg.enable {
systemd.services.xmr-stak = {
wantedBy = [ "multi-user.target" ];
bindsTo = [ "network-online.target" ];
after = [ "network-online.target" ];
preStart = concatStrings (flip mapAttrsToList cfg.configFiles (fn: content: ''
ln -sf '${pkgs.writeText "xmr-stak-${fn}" content}' '${fn}'
''));
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";
PrivateTmp = true;
DynamicUser = !rootRequired;
LimitMEMLOCK = toString (1024*1024);
};
};
};
imports = [
(mkRemovedOptionModule ["services" "xmr-stak" "configText"] ''
This option was removed in favour of `services.xmr-stak.configFiles`
because the new config file `pools.txt` was introduced. You are
now able to define all other config files like cpu.txt or amd.txt.
'')
];
}

View File

@ -7,7 +7,27 @@ in {
port = 9117;
extraOpts = {
settings = mkOption {
type = types.attrs;
type = types.submodule {
options = {
consul = mkOption {
default = null;
type = types.nullOr (types.attrsOf types.anything);
description = ''
Consul integration options. For more information see the [example config](https://github.com/martin-helmich/prometheus-nginxlog-exporter#configuration-file).
This is disabled by default.
'';
};
namespaces = mkOption {
default = [];
type = types.listOf (types.attrsOf types.anything);
description = ''
Namespaces to collect the metrics for. For more information see the [example config](https://github.com/martin-helmich/prometheus-nginxlog-exporter#configuration-file).
'';
};
};
};
default = {};
description = ''
All settings of nginxlog expressed as an Nix attrset.

View File

@ -8,7 +8,7 @@ let
nixos-background-light = pkgs.nixos-artwork.wallpapers.nineish;
nixos-background-dark = pkgs.nixos-artwork.wallpapers.nineish-dark-gray;
nixos-gsettings-overrides = pkgs.budgie.budgie-gsettings-overrides.override {
nixos-gsettings-overrides = pkgs.budgie-gsettings-overrides.override {
inherit (cfg) extraGSettingsOverrides extraGSettingsOverridePackages;
inherit nixos-background-dark nixos-background-light;
};
@ -40,7 +40,7 @@ let
destination = "/share/gnome-background-properties/nixos.xml";
};
budgie-control-center = pkgs.budgie.budgie-control-center.override {
budgie-control-center' = pkgs.budgie-control-center.override {
enableSshSocket = config.services.openssh.startWhenNeeded;
};
@ -80,7 +80,7 @@ in {
description = "Extra plugins for the Budgie desktop";
type = types.listOf types.package;
default = [];
example = literalExpression "[ pkgs.budgiePlugins.budgie-analogue-clock-applet ]";
example = literalExpression "[ pkgs.budgie-analogue-clock-applet ]";
};
};
@ -94,7 +94,7 @@ in {
config = mkIf cfg.enable {
services.displayManager.sessionPackages = with pkgs; [
budgie.budgie-desktop
budgie-desktop
];
services.xserver.displayManager.lightdm.greeters.slick = {
@ -104,7 +104,7 @@ in {
cursorTheme = mkDefault { name = "Qogir"; package = pkgs.qogir-icon-theme; };
};
services.xserver.desktopManager.budgie.sessionPath = [ pkgs.budgie.budgie-desktop-view ];
services.xserver.desktopManager.budgie.sessionPath = [ pkgs.budgie-desktop-view ];
environment.extraInit = ''
${concatMapStrings (p: ''
@ -121,12 +121,12 @@ in {
environment.systemPackages = with pkgs;
[
# Budgie Desktop.
budgie.budgie-backgrounds
budgie-control-center
(budgie.budgie-desktop-with-plugins.override { plugins = cfg.extraPlugins; })
budgie.budgie-desktop-view
budgie.budgie-screensaver
budgie.budgie-session
budgie-backgrounds
budgie-control-center'
(budgie-desktop-with-plugins.override { plugins = cfg.extraPlugins; })
budgie-desktop-view
budgie-screensaver
budgie-session
# Required by Budgie Menu.
gnome-menus
@ -210,7 +210,7 @@ in {
xdg.portal.extraPortals = with pkgs; [
xdg-desktop-portal-gtk # provides a XDG Portals implementation.
];
xdg.portal.configPackages = mkDefault [ pkgs.budgie.budgie-desktop ];
xdg.portal.configPackages = mkDefault [ pkgs.budgie-desktop ];
services.geoclue2.enable = mkDefault true; # for BCC's Privacy > Location Services panel.
services.upower.enable = config.powerManagement.enable; # for Budgie's Status Indicator and BCC's Power panel.
@ -243,12 +243,12 @@ in {
# Register packages for DBus.
services.dbus.packages = [
budgie-control-center
budgie-control-center'
];
# Register packages for udev.
services.udev.packages = with pkgs; [
budgie.magpie
magpie
];
# Shell integration for MATE Terminal.

View File

@ -6,9 +6,8 @@
{ config, lib, pkgs, ... }:
with lib;
let
inherit (lib) mkDefault mkIf;
cfg = config.ec2;
in
@ -107,5 +106,5 @@ in
# (e.g. it depends on GTK).
services.udisks2.enable = false;
};
meta.maintainers = with maintainers; [ arianvp ];
meta.maintainers = with lib.maintainers; [ arianvp ];
}

View File

@ -44,12 +44,14 @@ let
qemu-utils
qemu_kvm
rsync
skopeo
squashfs-tools-ng
squashfsTools
sshfs
swtpm
systemd
thin-provisioning-tools
umoci
util-linux
virtiofsd
xdelta
@ -109,7 +111,7 @@ let
environment = lib.mkMerge [
{
INCUS_LXC_TEMPLATE_CONFIG = "${pkgs.lxcfs}/share/lxc/config";
INCUS_OVMF_PATH = ovmf;
INCUS_EDK2_PATH = ovmf;
INCUS_USBIDS_PATH = "${pkgs.hwdata}/share/hwdata/usb.ids";
PATH = lib.mkForce serverBinPath;
}

View File

@ -240,6 +240,7 @@ in {
custom-ca = handleTest ./custom-ca.nix {};
croc = handleTest ./croc.nix {};
darling = handleTest ./darling.nix {};
darling-dmg = runTest ./darling-dmg.nix;
dae = handleTest ./dae.nix {};
davis = handleTest ./davis.nix {};
db-rest = handleTest ./db-rest.nix {};

View File

@ -25,7 +25,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
services.xserver.desktopManager.budgie = {
enable = true;
extraPlugins = [
pkgs.budgiePlugins.budgie-analogue-clock-applet
pkgs.budgie-analogue-clock-applet
];
};
};
@ -63,7 +63,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
with subtest("Check if various environment variables are set"):
cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf /run/current-system/sw/bin/budgie-wm)/environ"
machine.succeed(f"{cmd} | grep 'XDG_CURRENT_DESKTOP' | grep 'Budgie:GNOME'")
machine.succeed(f"{cmd} | grep 'BUDGIE_PLUGIN_DATADIR' | grep '${pkgs.budgie.budgie-desktop-with-plugins.pname}'")
machine.succeed(f"{cmd} | grep 'BUDGIE_PLUGIN_DATADIR' | grep '${pkgs.budgie-desktop-with-plugins.pname}'")
with subtest("Open run dialog"):
machine.send_key("alt-f2")

View File

@ -0,0 +1,34 @@
{ lib, pkgs, ... }:
# This needs to be a VM test because the FUSE kernel module can't be used inside of a derivation in the Nix sandbox.
# This test also exercises the LZFSE support in darling-dmg.
let
# The last kitty release which is stored on an HFS+ filesystem inside the disk image
test-dmg-file = pkgs.fetchurl {
url = "https://github.com/kovidgoyal/kitty/releases/download/v0.17.4/kitty-0.17.4.dmg";
hash = "sha256-m+c5s8fFrgUc0xQNI196WplYBZq9+lNgems5haZUdvA=";
};
in
{
name = "darling-dmg";
meta.maintainers = with lib.maintainers; [ Luflosi ];
nodes.machine = {};
testScript = ''
start_all()
machine.succeed("mkdir mount-point")
machine.succeed("'${pkgs.darling-dmg}/bin/darling-dmg' '${test-dmg-file}' mount-point")
# Crude way to verify the contents
# Taken from https://stackoverflow.com/questions/545387/linux-compute-a-single-hash-for-a-given-folder-contents
# This could be improved. It does not check symlinks for example.
hash = machine.succeed("""
(find mount-point -type f -print0 | sort -z | xargs -0 sha256sum; \
find mount-point \( -type f -o -type d \) -print0 | sort -z | \
xargs -0 stat -c '%n %a') \
| sha256sum
""").strip()
assert hash == "00e61c2ef171093fbf194e420c17bb84bcdb823238d70eb46e375bab2427cc21 -", f"The disk image contents differ from what was expected (was {hash})"
'';
}

View File

@ -5,8 +5,11 @@ makeInstalledTest {
testConfig = {
services.flatpak.enable = true;
xdg.portal.enable = true;
xdg.portal.extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
xdg.portal = {
enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
config.common.default = "gtk";
};
environment.systemPackages = with pkgs; [ flatpak-builder ] ++ flatpak-builder.installedTestsDependencies;
virtualisation.diskSize = 2048;
};

View File

@ -1,49 +0,0 @@
{ lib, stdenv, fetchFromGitHub, rustPackages, pkg-config, openssl
, withALSA ? true, alsa-lib
, withPulseAudio ? false, libpulseaudio
, withPortAudio ? false, portaudio
, withMpris ? false
, withKeyring ? false
, dbus
}:
rustPackages.rustPlatform.buildRustPackage rec {
pname = "spotifyd";
version = "0.3.5-unstable-2024-02-18";
src = fetchFromGitHub {
owner = "Spotifyd";
repo = "spotifyd";
rev = "ff2f7a06e54bf05afd57a0243dc9f67abc15f040";
hash = "sha256-nebAd4a+ht+blRP52OF830/Dm15ZPwRL4IPWmmT9ViM=";
};
cargoHash = "sha256-6BRIMTrWTwvX3yIGEYEvigMT+n4EtaruMdrej2Dd49w=";
nativeBuildInputs = [ pkg-config ];
buildInputs = lib.optionals stdenv.isLinux [ openssl ]
++ lib.optional withALSA alsa-lib
++ lib.optional withPulseAudio libpulseaudio
++ lib.optional withPortAudio portaudio
++ lib.optional (withMpris || withKeyring) dbus;
buildNoDefaultFeatures = true;
buildFeatures = lib.optional withALSA "alsa_backend"
++ lib.optional withPulseAudio "pulseaudio_backend"
++ lib.optional withPortAudio "portaudio_backend"
++ lib.optional withMpris "dbus_mpris"
++ lib.optional withKeyring "dbus_keyring";
doCheck = false;
meta = with lib; {
description = "Open source Spotify client running as a UNIX daemon";
homepage = "https://spotifyd.rs/";
changelog = "https://github.com/Spotifyd/spotifyd/blob/${src.rev}/CHANGELOG.md";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ anderslundstedt Br1ght0ne ];
platforms = platforms.unix;
mainProgram = "spotifyd";
};
}

View File

@ -1,45 +0,0 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, git, doxygen, graphviz
, boost, miniupnpc, openssl, unbound, cppzmq
, pcsclite, readline, libsodium
}:
let
version = "0.14.2.2";
in
stdenv.mkDerivation {
pname = "aeon";
inherit version;
src = fetchFromGitHub {
owner = "aeonix";
repo = "aeon";
rev = "v${version}-aeon";
fetchSubmodules = true;
hash = "sha256-2MptLS12CUm9eUKm+V+yYpbLVwNyZeZ5HvAFyjEc4R4=";
};
nativeBuildInputs = [ cmake pkg-config git doxygen graphviz ];
buildInputs = [
boost miniupnpc openssl unbound
cppzmq pcsclite readline libsodium
];
cmakeFlags = [
"-DBUILD_GUI_DEPS=ON"
"-DReadline_ROOT_DIR=${readline.dev}"
];
hardeningDisable = [ "fortify" ];
meta = with lib; {
# Does not build against gcc-13. No development activity upstream
# for past few years.
broken = true;
description = "Private, secure, untraceable currency";
homepage = "http://www.aeon.cash/";
license = licenses.bsd3;
maintainers = [ maintainers.aij ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -1,64 +0,0 @@
{ lib, stdenv, fetchFromGitLab, pkg-config, autoreconfHook, openssl, db48, boost
, zlib, miniupnpc, util-linux, protobuf, qrencode, libevent, python3
, withGui, wrapQtAppsHook ? null, qtbase ? null, qttools ? null
, Foundation, ApplicationServices, AppKit }:
stdenv.mkDerivation rec {
pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-unlimited";
version = "1.10.0.0";
src = fetchFromGitLab {
owner = "bitcoinunlimited";
repo = "BCHUnlimited";
rev = "BCHunlimited${version}";
hash = "sha256-d+giTXq/6HpysRAPT7yOl/B1x4zie9irs4O7cJsBqHg=";
};
nativeBuildInputs = [ pkg-config autoreconfHook python3 ]
++ lib.optionals withGui [ wrapQtAppsHook qttools ];
buildInputs = [ openssl db48 boost zlib
miniupnpc util-linux protobuf libevent ]
++ lib.optionals withGui [ qtbase qttools qrencode ]
++ lib.optionals stdenv.isDarwin [ Foundation ApplicationServices AppKit ];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ lib.optionals withGui [ "--with-gui=qt5"
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
];
enableParallelBuilding = true;
meta = with lib; {
description = "Peer-to-peer electronic cash system (Unlimited client)";
longDescription= ''
Bitcoin is a free open source peer-to-peer electronic cash system that is
completely decentralized, without the need for a central server or trusted
parties. Users hold the crypto keys to their own money and transact directly
with each other, with the help of a P2P network to check for double-spending.
The Bitcoin Unlimited (BU) project seeks to provide a voice to all
stakeholders in the Bitcoin ecosystem.
Every node operator or miner can currently choose their own blocksize limit
by modifying their client. Bitcoin Unlimited makes the process easier by
providing a configurable option for the accepted and generated blocksize via
a GUI menu. Bitcoin Unlimited further provides a user-configurable failsafe
setting allowing you to accept a block larger than your maximum accepted
blocksize if it reaches a certain number of blocks deep in the chain.
The Bitcoin Unlimited client is not a competitive block scaling proposal
like BIP-101, BIP-102, etc. Instead it tracks consensus. This means that it
tracks the blockchain that the hash power majority follows, irrespective of
blocksize, and signals its ability to accept larger blocks via protocol and
block versioning fields.
If you support an increase in the blocksize limit by any means - or just
support Bitcoin conflict resolution as originally envisioned by its founder -
consider running a Bitcoin Unlimited client.
'';
homepage = "https://www.bitcoinunlimited.info/";
maintainers = with maintainers; [ DmitryTsygankov ];
license = licenses.mit;
broken = true;
platforms = platforms.unix;
};
}

File diff suppressed because it is too large Load Diff

View File

@ -23,7 +23,7 @@
rustPlatform.buildRustPackage rec {
pname = "lighthouse";
version = "4.6.0";
version = "5.2.0";
# lighthouse/common/deposit_contract/build.rs
depositContractSpecVersion = "0.12.1";
@ -33,12 +33,12 @@ rustPlatform.buildRustPackage rec {
owner = "sigp";
repo = "lighthouse";
rev = "v${version}";
hash = "sha256-uMrVnVvYXcY2Axn3ycsf+Pwur3HYGoOYjjUkGS5c3l4=";
hash = "sha256-kruHYFPQ9H9HtEjzscQOyghPSpx++wNbHDYOVo0qtjY=";
};
patches = [
./use-system-sqlite.patch
./use-c-kzg-from-crates-io.patch
./fix-dep-lazy_static.patch
];
postPatch = ''
@ -48,12 +48,9 @@ rustPlatform.buildRustPackage rec {
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"amcl-0.3.0" = "sha256-kc8k/ls4W0TwFBsRcyyotyz8ZBEjsZXHeJnJtsnW/LM=";
"discv5-0.4.0" = "sha256-GKAk9Du6fy0ldeBEwPueDbVPhyNxdKNROKpMJvR/OTc=";
"futures-bounded-0.2.3" = "sha256-/LbD+je9P1lPnXMJVDqRQHJziQPXPvSDmQadTfsQ5I8=";
"alloy-consensus-0.1.0" = "sha256-y5AIZN4d7Vm2dVa3jd0e6zXwC8hzPyOv0h5+W/Az3rs=";
"libmdbx-0.1.4" = "sha256-NMsR/Wl1JIj+YFPyeMMkrJFfoS07iEAKEQawO89a+/Q=";
"lmdb-rkv-0.14.0" = "sha256-sxmguwqqcyOlfXOZogVz1OLxfJPo+Q0+UjkROkbbOCk=";
"warp-0.3.6" = "sha256-knDt2aw/PJ0iabhKg+okwwnEzCY+vQVhE7HKCTM6QbE=";
};
};

View File

@ -0,0 +1,11 @@
diff --git a/common/lighthouse_metrics/Cargo.toml b/common/lighthouse_metrics/Cargo.toml
index fe966f4a9..f4153fec2 100644
--- a/common/lighthouse_metrics/Cargo.toml
+++ b/common/lighthouse_metrics/Cargo.toml
@@ -8,3 +8,6 @@ edition = { workspace = true }
[dependencies]
prometheus = "0.13.0"
+
+[dev-dependencies]
+lazy_static.workspace = true

View File

@ -1,11 +0,0 @@
diff --git a/crypto/kzg/Cargo.toml b/crypto/kzg/Cargo.toml
index 7b70166f9..857fa4ee1 100644
--- a/crypto/kzg/Cargo.toml
+++ b/crypto/kzg/Cargo.toml
@@ -16,4 +16,4 @@ serde = { workspace = true }
ethereum_serde_utils = { workspace = true }
hex = { workspace = true }
ethereum_hashing = { workspace = true }
-c-kzg = { git = "https://github.com/ethereum/c-kzg-4844", rev = "748283cced543c486145d5f3f38684becdfe3e1b"}
\ No newline at end of file
+c-kzg = "0.4.0"

View File

@ -1,11 +1,11 @@
diff --git a/Cargo.toml b/Cargo.toml
index ca55d00d4..76514b545 100644
index b942d1719..da6f245c5 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -139,7 +139,7 @@ rayon = "1.7"
regex = "1"
@@ -148,7 +148,7 @@ regex = "1"
reqwest = { version = "0.11", default-features = false, features = ["blocking", "json", "stream", "rustls-tls", "native-tls-vendored"] }
ring = "0.16"
rpds = "0.11"
-rusqlite = { version = "0.28", features = ["bundled"] }
+rusqlite = { version = "0.28" }
serde = { version = "1", features = ["derive"] }

View File

@ -1,79 +0,0 @@
{ fetchFromGitHub
, lib
, stdenv
, pkg-config
, autoreconfHook
, wrapQtAppsHook
, openssl
, db48
, boost
, zlib
, miniupnpc
, gmp
, qrencode
, glib
, protobuf
, yasm
, libevent
, util-linux
, qtbase
, qttools
, enableUpnp ? false
, disableWallet ? false
, disableDaemon ? false
, withGui ? false
}:
stdenv.mkDerivation rec {
pname = "pivx";
version = "4.1.1";
src = fetchFromGitHub {
owner = "PIVX-Project";
repo = "PIVX";
rev = "v${version}";
sha256 = "03ndk46h6093v8s18d5iffz48zhlshq7jrk6vgpjfs6z2iqgd2sy";
};
nativeBuildInputs = [ pkg-config autoreconfHook ]
++ lib.optionals withGui [ wrapQtAppsHook ];
buildInputs = [ glib gmp openssl db48 yasm boost zlib libevent miniupnpc protobuf util-linux ]
++ lib.optionals withGui [ qtbase qttools qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ lib.optional enableUpnp "--enable-upnp-default"
++ lib.optional disableWallet "--disable-wallet"
++ lib.optional disableDaemon "--disable-daemon"
++ lib.optionals withGui [
"--with-gui=yes"
"--with-qt-bindir=${lib.getDev qtbase}/bin:${lib.getDev qttools}/bin"
];
enableParallelBuilding = true;
doCheck = true;
postBuild = ''
mkdir -p $out/share/applications $out/share/icons
cp contrib/debian/pivx-qt.desktop $out/share/applications/
cp share/pixmaps/*128.png $out/share/icons/
'';
doInstallCheck = true;
installCheckPhase = ''
$out/bin/test_pivx
'';
meta = with lib; {
broken = true;
description = "Open source crypto-currency focused on fast private transactions";
longDescription = ''
PIVX is an MIT licensed, open source, blockchain-based cryptocurrency with
ultra fast transactions, low fees, high network decentralization, and
Zero Knowledge cryptography proofs for industry-leading transaction anonymity.
'';
license = licenses.mit;
homepage = "https://pivx.org";
maintainers = with maintainers; [ ];
platforms = platforms.unix;
};
}

View File

@ -1,27 +0,0 @@
{ lib
, rustPlatform
, fetchFromSourcehut
}:
rustPlatform.buildRustPackage rec {
pname = "dlm";
version = "2020-01-07";
src = fetchFromSourcehut {
owner = "~kennylevinsen";
repo = pname;
rev = "6b0e11c4f453b1a4d7a32019227539a980b7ce66";
sha256 = "1r3w7my0g3v2ya317qnvjx8wnagjahpj7yx72a65hf2pjbf5x42p";
};
cargoHash = "sha256-aKKayT+3PuxhqXCCIQwHZkkoGBj8NSVWf1d0i4GZSAU=";
meta = with lib; {
description = "Stupid simple graphical login manager";
mainProgram = "dlm";
homepage = "https://git.sr.ht/~kennylevinsen/dlm";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ luc65r ];
platforms = platforms.linux;
};
}

View File

@ -2,17 +2,17 @@
rustPlatform.buildRustPackage rec {
pname = "helix";
version = "24.03";
version = "24.07";
# This release tarball includes source code for the tree-sitter grammars,
# which is not ordinarily part of the repository.
src = fetchzip {
url = "https://github.com/helix-editor/helix/releases/download/${version}/helix-${version}-source.tar.xz";
hash = "sha256-1myVGFBwdLguZDPo1jrth/q2i5rn5R2+BVKIkCCUalc=";
hash = "sha256-R8foMx7YJ01ZS75275xPQ52Ns2EB3OPop10F4nicmoA=";
stripRoot = false;
};
cargoHash = "sha256-THzPUVcmboVJHu3rJ6rev3GrkNilZRMlitCx7M1+HBE=";
cargoHash = "sha256-Y8zqdS8vl2koXmgFY0hZWWP1ZAO8JgwkoPTYPVpkWsA=";
nativeBuildInputs = [ git installShellFiles ];

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
hash = "sha256-VyyHlyMW/9zYECobQwngFARQYqcoXmopyCHUwHolXfo=";
};
cargoLock.lockFile = ./Cargo.lock;
cargoHash = "sha256-uhObLKoQE+r0/ocWA26MpJsSt9RAzKG1XmZsXat+ohg=";
nativeBuildInputs = [
pkg-config

View File

@ -12,7 +12,7 @@
"new": "vim-fern"
},
"gina-vim": {
"date": "2024-07-03",
"date": "2024-07-14",
"new": "vim-gina"
},
"gist-vim": {
@ -60,7 +60,7 @@
"new": "vim-suda"
},
"vim-fsharp": {
"date": "2024-07-03",
"date": "2024-07-14",
"new": "zarchive-vim-fsharp"
},
"vim-jade": {

File diff suppressed because it is too large Load Diff

View File

@ -204,12 +204,12 @@
};
c_sharp = buildGrammar {
language = "c_sharp";
version = "0.0.0+rev=82fa8f0";
version = "0.0.0+rev=31a64b2";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-c-sharp";
rev = "82fa8f05f41a33e9bc830f85d74a9548f0291738";
hash = "sha256-5GkU3/yVMCnNvNssad3vEIN8PlbLeQsRBlwgH2KUrBo=";
rev = "31a64b28292aac6adf44071e449fa03fb80eaf4e";
hash = "sha256-WBOA6CIW56RuiHhwiuP9R+K2kK6Chfx05TP3mdjMxo0=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-c-sharp";
};
@ -524,6 +524,17 @@
location = "crates/tree-sitter-ebnf";
meta.homepage = "https://github.com/RubixDev/ebnf";
};
editorconfig = buildGrammar {
language = "editorconfig";
version = "0.0.0+rev=c5f8368";
src = fetchFromGitHub {
owner = "ValdezFOmar";
repo = "tree-sitter-editorconfig";
rev = "c5f83685a64117872ae750ce14333a7a1dddcf0b";
hash = "sha256-kmQ3+QTwWd/92wL6YS6UchI819eLnD9YfT5TPANvCXA=";
};
meta.homepage = "https://github.com/ValdezFOmar/tree-sitter-editorconfig";
};
eds = buildGrammar {
language = "eds";
version = "0.0.0+rev=0ad62cb";
@ -603,12 +614,12 @@
};
erlang = buildGrammar {
language = "erlang";
version = "0.0.0+rev=da275db";
version = "0.0.0+rev=19ca500";
src = fetchFromGitHub {
owner = "WhatsApp";
repo = "tree-sitter-erlang";
rev = "da275db3ae46bbd00f97d11f888d8c58c14faa6d";
hash = "sha256-05V1VLmafWgdAHaNiBj4YYl9/W54j6TNSH5CLnh0fjY=";
rev = "19ca500fa5a17ab58dc18aa03b50e2db305e7a8a";
hash = "sha256-5WUuy8+O9yujzoAjO2sNGM1+IEnaS7HEphTKcvFJJNo=";
};
meta.homepage = "https://github.com/WhatsApp/tree-sitter-erlang";
};
@ -702,12 +713,12 @@
};
fortran = buildGrammar {
language = "fortran";
version = "0.0.0+rev=f73d473";
version = "0.0.0+rev=dde9829";
src = fetchFromGitHub {
owner = "stadelmanma";
repo = "tree-sitter-fortran";
rev = "f73d473e3530862dee7cbb38520f28824e7804f6";
hash = "sha256-K9CnLhDKiWTxVM5OBZ80psV2oFDnlTgd+DDoP39ufds=";
rev = "dde9829554b831cf6cbf927294f22dfb9a8f0419";
hash = "sha256-QvEKisBE4Qrnv1CjeCMhIt/L1BdXEJLCprw/hJoAE20=";
};
meta.homepage = "https://github.com/stadelmanma/tree-sitter-fortran";
};
@ -887,6 +898,17 @@
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-go";
};
goctl = buildGrammar {
language = "goctl";
version = "0.0.0+rev=f107937";
src = fetchFromGitHub {
owner = "chaozwn";
repo = "tree-sitter-goctl";
rev = "f107937259c7ec4bb05f7e3d2c24b89ac36d4cc3";
hash = "sha256-4I0T+CoMCo3e7hkpdR+ipMol0THbJYg+UXAnIa0o5Ns=";
};
meta.homepage = "https://github.com/chaozwn/tree-sitter-goctl";
};
godot_resource = buildGrammar {
language = "godot_resource";
version = "0.0.0+rev=2ffb90d";
@ -966,12 +988,12 @@
};
groovy = buildGrammar {
language = "groovy";
version = "0.0.0+rev=6c5c881";
version = "0.0.0+rev=f361500";
src = fetchFromGitHub {
owner = "murtaza64";
repo = "tree-sitter-groovy";
rev = "6c5c8813233fe326e24c5ef032858d13f8006a8d";
hash = "sha256-NursRJ7DBmlbA7EOzC+WwoxDkjMUZYANcdX48DyjEIY=";
rev = "f3615006429251a966d7452bd46a0171364bcb7b";
hash = "sha256-n3haDlldeFk9FzHY7k5zhzDNHA6TzjncZpsQuHl/Q00=";
};
meta.homepage = "https://github.com/murtaza64/tree-sitter-groovy";
};
@ -999,12 +1021,12 @@
};
hare = buildGrammar {
language = "hare";
version = "0.0.0+rev=0705249";
version = "0.0.0+rev=4af5d82";
src = fetchFromGitHub {
owner = "amaanq";
repo = "tree-sitter-hare";
rev = "070524937539eb8bb4f10debd9c83b66c434f3a2";
hash = "sha256-NUvbkMYA1nZmS84vLNguto/Fo7wdrDmRCBnveR88ry0=";
rev = "4af5d82cf9ec39f67cb1db5b7a9269d337406592";
hash = "sha256-QEnE5IQJ60PXb6QjgEE5L4p7Fjy0p+N+dyDTMh3YsRg=";
};
meta.homepage = "https://github.com/amaanq/tree-sitter-hare";
};
@ -1143,12 +1165,12 @@
};
http = buildGrammar {
language = "http";
version = "0.0.0+rev=2dacda9";
version = "0.0.0+rev=e061995";
src = fetchFromGitHub {
owner = "rest-nvim";
repo = "tree-sitter-http";
rev = "2dacda923bafcfeae487e457df0fc1c95f6d1848";
hash = "sha256-JunYDINufbrbVduLrrX73rD8L6MC5dEie8yq92qTFe4=";
rev = "e061995f0caf2fa30f68fa1fdf2c08bcbd4629a8";
hash = "sha256-zwPIO75l3OBmuWX1ABZNA6ZulJUtSsp3Xs7+dcnxLCo=";
};
meta.homepage = "https://github.com/rest-nvim/tree-sitter-http";
};
@ -1176,12 +1198,12 @@
};
idl = buildGrammar {
language = "idl";
version = "0.0.0+rev=966797b";
version = "0.0.0+rev=1a495f4";
src = fetchFromGitHub {
owner = "cathaysia";
repo = "tree-sitter-idl";
rev = "966797b8c581526efdd2252f815dde6de1a8f932";
hash = "sha256-q2aBAXUVjhcoHH7iZQllLkDF5ZMuIxNjWu72Xt+YdXA=";
rev = "1a495f4520fdd85ae4c9286fb69d9d92fb623343";
hash = "sha256-tV1Y+XvCV4KLhGeTdXZr1Lm7XQkxSMz/9EhIr7gsgpU=";
};
meta.homepage = "https://github.com/cathaysia/tree-sitter-idl";
};
@ -1242,12 +1264,12 @@
};
javascript = buildGrammar {
language = "javascript";
version = "0.0.0+rev=391a8fc";
version = "0.0.0+rev=12e4537";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-javascript";
rev = "391a8fcc48a11f63bf18ec9885f6f069e760949a";
hash = "sha256-GOIhkoiiUhkTpUhDm/sfLtsNhOrVoGx2uiXEteruT2g=";
rev = "12e45374422f6051648717be62f0ffc40a279ee2";
hash = "sha256-KBEJFpOIP4MFbkxcIF2HsHvwblTdb2UuisKMn4Pnm1w=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-javascript";
};
@ -1452,12 +1474,12 @@
};
liquid = buildGrammar {
language = "liquid";
version = "0.0.0+rev=0419ac4";
version = "0.0.0+rev=7862a34";
src = fetchFromGitHub {
owner = "hankthetank27";
repo = "tree-sitter-liquid";
rev = "0419ac4868585320eee8615c90b864a1b04ef433";
hash = "sha256-1FPDsQSPM86NvMrmxIOVnIC65bUOFtKEwRuAtMDbw6M=";
rev = "7862a3424832c3a9d45eb21143b375837bd6573b";
hash = "sha256-F/nP+zXySjKHX9Y9zqexhwn02sZejUXMPDcWRh6s7Yo=";
};
meta.homepage = "https://github.com/hankthetank27/tree-sitter-liquid";
};
@ -1619,12 +1641,12 @@
};
mlir = buildGrammar {
language = "mlir";
version = "0.0.0+rev=268bc99";
version = "0.0.0+rev=affbd6f";
src = fetchFromGitHub {
owner = "artagnon";
repo = "tree-sitter-mlir";
rev = "268bc99020f7ba7a219f839e3a6a31c36ad0826b";
hash = "sha256-jXcnM+LEY35GZd2HYtFE5Of4CBga1zZuGCPazKWAppA=";
rev = "affbd6f3b08155826a22cfa8373147acbf60f1f1";
hash = "sha256-zIbtvtpLQmXhFj5KDQRwsUJfUi6AkZjfp55n0X5lN4o=";
};
generate = true;
meta.homepage = "https://github.com/artagnon/tree-sitter-mlir";
@ -1664,12 +1686,12 @@
};
nim = buildGrammar {
language = "nim";
version = "0.0.0+rev=961c279";
version = "0.0.0+rev=897e5d3";
src = fetchFromGitHub {
owner = "alaviss";
repo = "tree-sitter-nim";
rev = "961c2798cec9250c44f7d7225ddb33d47d25856a";
hash = "sha256-zFT316pJwJvPRLJcBk4kvPmwNgdkYG5/10VktNBQwL8=";
rev = "897e5d346f0b59ed62b517cfb0f1a845ad8f0ab7";
hash = "sha256-JwR5Og1pGDTHI49rFsnfStrTcZ7hOseK6YyFIVlQ1o4=";
};
meta.homepage = "https://github.com/alaviss/tree-sitter-nim";
};
@ -1817,7 +1839,7 @@
rev = "a9ee969dec5b2e3b2ccccc5954fec04100c7619e";
hash = "sha256-U45RkRpE1EdX2ijGyjTKVNRcSu6E6Dh9Z7G9bp24T80=";
};
meta.homepage = "https://github.com/Isopod/tree-sitter-pascal.git";
meta.homepage = "https://github.com/Isopod/tree-sitter-pascal";
};
passwd = buildGrammar {
language = "passwd";
@ -1854,24 +1876,24 @@
};
php = buildGrammar {
language = "php";
version = "0.0.0+rev=4f124bc";
version = "0.0.0+rev=575a080";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-php";
rev = "4f124bc6075e1c3333e80190c1c170933ed72c95";
hash = "sha256-qYfcJCcZ2s/z61aPhO/y+v32FnEwf0rBvtvPiQVtBOE=";
rev = "575a0801f430c8672db70b73493c033a9dcfc328";
hash = "sha256-lvgxProv6EYBSFqMuQZh3nzC9ayjBQeafOECrRHzYtU=";
};
location = "php";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
};
php_only = buildGrammar {
language = "php_only";
version = "0.0.0+rev=4f124bc";
version = "0.0.0+rev=575a080";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-php";
rev = "4f124bc6075e1c3333e80190c1c170933ed72c95";
hash = "sha256-qYfcJCcZ2s/z61aPhO/y+v32FnEwf0rBvtvPiQVtBOE=";
rev = "575a0801f430c8672db70b73493c033a9dcfc328";
hash = "sha256-lvgxProv6EYBSFqMuQZh3nzC9ayjBQeafOECrRHzYtU=";
};
location = "php_only";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
@ -1967,28 +1989,26 @@
problog = buildGrammar {
language = "problog";
version = "0.0.0+rev=d8bc22c";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "foxy";
src = fetchFromGitHub {
owner = "foxyseta";
repo = "tree-sitter-prolog";
rev = "d8bc22c007825d3af3d62b4326f9d8f9ca529974";
hash = "sha256-Mpx5csjeRtYARD+nYbZjygOKfGKgvFUW0r2ZG7/2+Vo=";
};
location = "grammars/problog";
meta.homepage = "https://codeberg.org/foxy/tree-sitter-prolog";
meta.homepage = "https://github.com/foxyseta/tree-sitter-prolog";
};
prolog = buildGrammar {
language = "prolog";
version = "0.0.0+rev=d8bc22c";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "foxy";
src = fetchFromGitHub {
owner = "foxyseta";
repo = "tree-sitter-prolog";
rev = "d8bc22c007825d3af3d62b4326f9d8f9ca529974";
hash = "sha256-Mpx5csjeRtYARD+nYbZjygOKfGKgvFUW0r2ZG7/2+Vo=";
};
location = "grammars/prolog";
meta.homepage = "https://codeberg.org/foxy/tree-sitter-prolog";
meta.homepage = "https://github.com/foxyseta/tree-sitter-prolog";
};
promql = buildGrammar {
language = "promql";
@ -2092,12 +2112,12 @@
};
python = buildGrammar {
language = "python";
version = "0.0.0+rev=71778c2";
version = "0.0.0+rev=ccc2408";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-python";
rev = "71778c2a472ed00a64abf4219544edbf8e4b86d7";
hash = "sha256-hHQ5gK4dTRSdp0fLKarytU9vFhsBeQp7Ka61vFoIr7Y=";
rev = "ccc2408e558029ad82b0dea63ff55ada495965da";
hash = "sha256-h6vz8Dpr+uqjN5UHxJ58GSQVAyRjxsnObIr6UKBBmps=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-python";
};
@ -2191,12 +2211,12 @@
};
rbs = buildGrammar {
language = "rbs";
version = "0.0.0+rev=88d8ed4";
version = "0.0.0+rev=8d8e65a";
src = fetchFromGitHub {
owner = "joker1007";
repo = "tree-sitter-rbs";
rev = "88d8ed487b5449ddda2fc0c4fe23b71cba29ca24";
hash = "sha256-z7Ls0SXh18bRMX+FpVIzaeeuItyeCTOnGgQ3tDyrtSU=";
rev = "8d8e65ac3f77fbc9e15b1cdb9f980a3e0ac3ab99";
hash = "sha256-M72rShapD813gpBbWUIil6UgcnoF1DVTffMSnTpejgg=";
};
meta.homepage = "https://github.com/joker1007/tree-sitter-rbs";
};
@ -2356,15 +2376,15 @@
};
scfg = buildGrammar {
language = "scfg";
version = "0.0.0+rev=6deae0c";
src = fetchFromSourcehut {
owner = "~rockorager";
version = "0.0.0+rev=a551280";
src = fetchFromGitHub {
owner = "rockorager";
repo = "tree-sitter-scfg";
rev = "6deae0cbb458c849a4d1e2985093e9c9c32d7fd0";
hash = "sha256-2ubRvjpvRJEBZXpM7ZIkWAwSZARCzP/klydQ6IVpCSk=";
rev = "a5512800ea0220da4abbae61b8aea8423d1549aa";
hash = "sha256-Je6taNzniyd1c+2NRCF7TOvnpeW4qhYYhdAEcgpDOAA=";
};
generate = true;
meta.homepage = "https://git.sr.ht/~rockorager/tree-sitter-scfg";
meta.homepage = "https://github.com/rockorager/tree-sitter-scfg";
};
scheme = buildGrammar {
language = "scheme";
@ -2493,12 +2513,12 @@
language = "sparql";
version = "0.0.0+rev=d853661";
src = fetchFromGitHub {
owner = "BonaBeavis";
owner = "GordianDziwis";
repo = "tree-sitter-sparql";
rev = "d853661ca680d8ff7f8d800182d5782b61d0dd58";
hash = "sha256-0BV0y8IyeIPpuxTixlJL1PsDCuhXbGaImu8JU8WFoPU=";
};
meta.homepage = "https://github.com/BonaBeavis/tree-sitter-sparql";
meta.homepage = "https://github.com/GordianDziwis/tree-sitter-sparql";
};
sql = buildGrammar {
language = "sql";
@ -2513,12 +2533,12 @@
};
squirrel = buildGrammar {
language = "squirrel";
version = "0.0.0+rev=0a50d31";
version = "0.0.0+rev=072c969";
src = fetchFromGitHub {
owner = "amaanq";
repo = "tree-sitter-squirrel";
rev = "0a50d31098e83c668d34d1160a0f6c7d23b571cc";
hash = "sha256-cLMAeDfZiHInA9+Td8FedRVSNv1vFE/bpCftRqV72d0=";
rev = "072c969749e66f000dba35a33c387650e203e96e";
hash = "sha256-tJBmxTD4hi9zxXMEuAX+uslo45zEawh09+tgv56s/AU=";
};
meta.homepage = "https://github.com/amaanq/tree-sitter-squirrel";
};
@ -2601,12 +2621,12 @@
};
swift = buildGrammar {
language = "swift";
version = "0.0.0+rev=631f1e6";
version = "0.0.0+rev=6248145";
src = fetchFromGitHub {
owner = "alex-pinkus";
repo = "tree-sitter-swift";
rev = "631f1e66bfbf55791b7a9ed23fa6dc90ee55550a";
hash = "sha256-/nMRcZc5fWUJ+GpVnlERHjtahXGh6NwrNNQPkNM5Y9E=";
rev = "6248145bd1c221f75feb3460e59de57f81fda58f";
hash = "sha256-/l9CMB5ypA2C9yvYPDkDXutJIrSdSwbJuh4Pb4i2Sjc=";
};
generate = true;
meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
@ -2758,12 +2778,12 @@
};
tlaplus = buildGrammar {
language = "tlaplus";
version = "0.0.0+rev=200f9da";
version = "0.0.0+rev=bba02e7";
src = fetchFromGitHub {
owner = "tlaplus-community";
repo = "tree-sitter-tlaplus";
rev = "200f9dab6b23f3b9bb8f67fc811221517f56c373";
hash = "sha256-oIyZ+x0bRnxVAQGiuPgFXjHwZ/MSdC9Ge52cG3oYS3E=";
rev = "bba02e79f85e335f310fc95e21c677e49f2c4439";
hash = "sha256-FbOBkEtsFFD9jIWM2+fETstnvQyIj2DAF81v0dXjouo=";
};
meta.homepage = "https://github.com/tlaplus-community/tree-sitter-tlaplus";
};
@ -2787,7 +2807,7 @@
rev = "3937c5cd105ec4127448651a21aef45f52d19609";
hash = "sha256-OeAh51rcFTiexAraRzIZUR/A8h9RPwKY7rmtc3ZzoRQ=";
};
meta.homepage = "https://github.com/arnarg/tree-sitter-todotxt.git";
meta.homepage = "https://github.com/arnarg/tree-sitter-todotxt";
};
toml = buildGrammar {
language = "toml";
@ -2814,26 +2834,26 @@
};
tsx = buildGrammar {
language = "tsx";
version = "0.0.0+rev=4f3eb66";
version = "0.0.0+rev=e45cb32";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-typescript";
rev = "4f3eb6655a1cd1a1f87ef10201f8e22886dcd76e";
hash = "sha256-f/xk4MdGVvkZv0642aOwA9UFZSb0GvoLu+jgXUp/bhw=";
rev = "e45cb3225bf47a04da827e4575b9791523d953fd";
hash = "sha256-7xP8ufPV/ndKmi8gfDYpHSY6D6lfsR0/YXfq3/RT8x0=";
};
location = "tsx";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
};
turtle = buildGrammar {
language = "turtle";
version = "0.0.0+rev=085437f";
version = "0.0.0+rev=7f789ea";
src = fetchFromGitHub {
owner = "BonaBeavis";
owner = "GordianDziwis";
repo = "tree-sitter-turtle";
rev = "085437f5cb117703b7f520dd92161140a684f092";
hash = "sha256-ub777Pjody2SvP2EjW7IwWj8YnMuMzdJ4AlrkP6WrdA=";
rev = "7f789ea7ef765080f71a298fc96b7c957fa24422";
hash = "sha256-z6f73euFAG9du5owz7V9WLbWK81Jg0DwxN1metKPbTA=";
};
meta.homepage = "https://github.com/BonaBeavis/tree-sitter-turtle";
meta.homepage = "https://github.com/GordianDziwis/tree-sitter-turtle";
};
twig = buildGrammar {
language = "twig";
@ -2848,12 +2868,12 @@
};
typescript = buildGrammar {
language = "typescript";
version = "0.0.0+rev=4f3eb66";
version = "0.0.0+rev=e45cb32";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-typescript";
rev = "4f3eb6655a1cd1a1f87ef10201f8e22886dcd76e";
hash = "sha256-f/xk4MdGVvkZv0642aOwA9UFZSb0GvoLu+jgXUp/bhw=";
rev = "e45cb3225bf47a04da827e4575b9791523d953fd";
hash = "sha256-7xP8ufPV/ndKmi8gfDYpHSY6D6lfsR0/YXfq3/RT8x0=";
};
location = "typescript";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
@ -2882,12 +2902,12 @@
};
typst = buildGrammar {
language = "typst";
version = "0.0.0+rev=3924cb9";
version = "0.0.0+rev=90f6af2";
src = fetchFromGitHub {
owner = "uben0";
repo = "tree-sitter-typst";
rev = "3924cb9ed9e0e62ce7df9c4fe0faa4c234795999";
hash = "sha256-W8mNIASM85btE3XychvagVJofIb+CkNT4XeIhdQt8FU=";
rev = "90f6af21271dee246a9cafe109e2b456c5bc10a6";
hash = "sha256-53BCAdQLpeV2l6kmfllrCU186svZ4RE/2+VVrWuFV8Y=";
};
meta.homepage = "https://github.com/uben0/tree-sitter-typst";
};
@ -2949,12 +2969,12 @@
};
v = buildGrammar {
language = "v";
version = "0.0.0+rev=e91f8a4";
version = "0.0.0+rev=7f80a04";
src = fetchFromGitHub {
owner = "vlang";
repo = "v-analyzer";
rev = "e91f8a42de7842f24f4ce600754f2b6651985fd4";
hash = "sha256-38nerR7oZBwxXWd08QqEEMSxAZqXRHCRdLbMEbRhcQI=";
rev = "7f80a0441ff2ca6aa8ced8e1ee87cead9dd26515";
hash = "sha256-eTYqzdhxVI8jQXZ4FopReVYZJle2D0b31PjkZ2xC4f4=";
};
location = "tree_sitter_v";
meta.homepage = "https://github.com/vlang/v-analyzer";
@ -3071,12 +3091,12 @@
};
wit = buildGrammar {
language = "wit";
version = "0.0.0+rev=cab9479";
version = "0.0.0+rev=cd7e653";
src = fetchFromGitHub {
owner = "liamwh";
repo = "tree-sitter-wit";
rev = "cab94791450524a542324d8cbe8017d69c516d8e";
hash = "sha256-R8b+UQmj+JtiIGDsvR5KBTGoX99m0k/HJx2bTGNxRH0=";
rev = "cd7e6534fd9a22e3e9a7a85feecf4e35461e47cb";
hash = "sha256-/Lvo0YbdSaIoRFSm74kBQRM1sQTO3t9+OrxFK4/KyEo=";
};
meta.homepage = "https://github.com/liamwh/tree-sitter-wit";
};

View File

@ -135,6 +135,10 @@
nvimRequireCheck = "alpha";
};
advanced-git-search-nvim = super.autosave-nvim.overrideAttrs {
dependencies = with super; [ telescope-nvim vim-fugitive vim-rhubarb ];
};
autosave-nvim = super.autosave-nvim.overrideAttrs {
dependencies = with super; [ plenary-nvim ];
};
@ -335,12 +339,12 @@
codeium-nvim = let
# Update according to https://github.com/Exafunction/codeium.nvim/blob/main/lua/codeium/versions.json
codeiumVersion = "1.8.25";
codeiumVersion = "1.8.80";
codeiumHashes = {
x86_64-linux = "sha256-6sIYDI6+1/p54Af+E/GmRAFlfDYJVwxhn0qF47ZH+Zg=";
aarch64-linux = "sha256-1ImcjAqCZm5KZZYHWhG1eO7ipAdrP4Qjj2eBxTst++s=";
x86_64-darwin = "sha256-yHthItxZYFejJlwJJ7BrM2csnLsZXjy/IbzF1iaCCyI=";
aarch64-darwin = "sha256-GIx0yABISj/rH/yVkkx6NBs5qF0P8nhpMyvnzXJ92mA=";
x86_64-linux = "sha256-ULHO7NrbW0DDlOYiSHGXwJ+NOa68Ma+HMHgq2WyAKBA=";
aarch64-linux = "sha256-WVqPV/D9jPADkxt5XmydqXjSG8461URPsk1+W/kyZV0=";
x86_64-darwin = "sha256-0P/eYZp0Wieza0btOA+yxqKtoIYlUN6MhN0dI6R8GEg=";
aarch64-darwin = "sha256-2Cv22+Ii+otKLDQ404l9R/x42PkKTEzPB72/gc9wfig=";
};
codeium' = codeium.overrideAttrs rec {
@ -1168,7 +1172,7 @@
inherit (old) version src;
sourceRoot = "${old.src.name}/spectre_oxi";
cargoHash = "sha256-SqbU9YwZ5pvdFUr7XBAkkfoqiLHI0JwJRwH7Wj1JDNg=";
cargoHash = "sha256-J9L9j8iyeZQRMjiVqdI7V7BOAkZaiLGOtKDpgq2wyi0=";
preCheck = ''
mkdir tests/tmp/
@ -2031,6 +2035,7 @@
'';
};
LeaderF = super.LeaderF.overrideAttrs {
nativeBuildInputs = [ python3.pkgs.setuptools ];
buildInputs = [ python3 ];
# rm */build/ to prevent dependencies on gcc
# strip the *.so to keep files small

View File

@ -40,7 +40,9 @@ ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe
import pluginupdate
import importlib
from pluginupdate import run_nix_expr, PluginDesc
import treesitter
treesitter = importlib.import_module('nvim-treesitter.update')
HEADER = (
@ -54,14 +56,37 @@ class VimEditor(pluginupdate.Editor):
nvim_treesitter_updated = False
def generate_nix(
self, plugins: List[Tuple[PluginDesc, pluginupdate.Plugin]], outfile: str
self,
plugins: List[Tuple[PluginDesc, pluginupdate.Plugin]],
outfile: str
):
log.info("Generating nix code")
sorted_plugins = sorted(plugins, key=lambda v: v[0].name.lower())
log.debug("Loading nvim-treesitter revision from nix...")
nvim_treesitter_rev = pluginupdate.run_nix_expr(
"(import <localpkgs> { }).vimPlugins.nvim-treesitter.src.rev", self.nixpkgs
"(import <localpkgs> { }).vimPlugins.nvim-treesitter.src.rev",
self.nixpkgs,
timeout=10
)
GET_PLUGINS_LUA = """
with import <localpkgs> {};
lib.attrNames lua51Packages"""
log.debug("Loading list of lua plugins...")
luaPlugins = run_nix_expr(GET_PLUGINS_LUA, self.nixpkgs, timeout=30)
def _isNeovimPlugin(plug: pluginupdate.Plugin) -> bool:
"""
Whether it's a neovim-only plugin
We can check if it's available in lua packages
"""
if plug.normalized_name in luaPlugins:
log.debug("%s is a neovim plugin", plug)
return True
return False
with open(outfile, "w+") as f:
log.debug("Writing to %s", outfile)
f.write(HEADER)
f.write(
textwrap.dedent(
@ -74,7 +99,7 @@ class VimEditor(pluginupdate.Editor):
)
)
for pdesc, plugin in sorted_plugins:
content = self.plugin2nix(pdesc, plugin)
content = self.plugin2nix(pdesc, plugin, _isNeovimPlugin(plugin))
f.write(content)
if (
plugin.name == "nvim-treesitter"
@ -84,27 +109,10 @@ class VimEditor(pluginupdate.Editor):
f.write("\n}\n")
print(f"updated {outfile}")
def plugin2nix(self, pdesc: PluginDesc, plugin: pluginupdate.Plugin) -> str:
GET_PLUGINS_LUA = """
with import <localpkgs> {};
lib.attrNames lua51Packages"""
luaPlugins = run_nix_expr(GET_PLUGINS_LUA, self.nixpkgs)
def plugin2nix(self, pdesc: PluginDesc, plugin: pluginupdate.Plugin, isNeovim: bool) -> str:
repo = pdesc.repo
def _isNeovimPlugin(plug: pluginupdate.Plugin) -> bool:
"""
Whether it's a neovim-only plugin
We can check if it's available in lua packages
"""
# global luaPlugins
if plug.normalized_name in luaPlugins:
log.debug("%s is a neovim plugin", plug)
return True
return False
isNeovim = _isNeovimPlugin(plugin)
content = f" {plugin.normalized_name} = "
src_nix = repo.as_nix(plugin)
content += """{buildFn} {{
@ -159,8 +167,8 @@ class VimEditor(pluginupdate.Editor):
def main():
global luaPlugins
log.debug(f"Loading from {ROOT}/../get-plugins.nix")
with open(f"{ROOT}/../get-plugins.nix") as f:
log.debug(f"Loading from {ROOT}/get-plugins.nix")
with open(f"{ROOT}/get-plugins.nix") as f:
GET_PLUGINS = f.read()
editor = VimEditor(
"vim", Path("pkgs/applications/editors/vim/plugins"), GET_PLUGINS

View File

@ -7,14 +7,14 @@
, nurl
# optional
, vimPlugins
, neovim
, neovim-unwrapped
}:
buildPythonApplication {
format = "other";
pname = "vim-plugins-updater";
version = "0.1";
format = "other";
nativeBuildInputs = [
makeWrapper
python3Packages.wrapPython
@ -29,16 +29,18 @@ buildPythonApplication {
installPhase = ''
mkdir -p $out/bin $out/lib
cp ${./update.py} $out/bin/vim-plugins-updater
cp ${./get-plugins.nix} $out/get-plugins.nix
cp ${./nvim-treesitter/update.py} $out/lib/treesitter.py
cp ${../../../../../maintainers/scripts/pluginupdate.py} $out/lib/pluginupdate.py
cp ${./get-plugins.nix} $out/bin/get-plugins.nix
# wrap python scripts
makeWrapperArgs+=( --prefix PATH : "${lib.makeBinPath [
nix nix-prefetch-git neovim nurl ]}" --prefix PYTHONPATH : "$out/lib" )
nix nix-prefetch-git neovim-unwrapped nurl ]}" --prefix PYTHONPATH : "${./.}:${../../../../../maintainers/scripts}" )
wrapPythonPrograms
'';
shellHook = ''
export PYTHONPATH=pkgs/applications/editors/vim/plugins:maintainers/scripts:$PYTHONPATH
'';
meta.mainProgram = "vim-plugins-updater";
}

View File

@ -43,6 +43,7 @@ https://github.com/vim-scripts/a.vim/,,
https://github.com/mileszs/ack.vim/,,
https://github.com/eikenb/acp/,,
https://github.com/aznhe21/actions-preview.nvim/,,
https://github.com/aaronhallaert/advanced-git-search.nvim/,HEAD,
https://github.com/Mofiqul/adwaita.nvim/,HEAD,
https://github.com/stevearc/aerial.nvim/,,
https://github.com/Numkil/ag.nvim/,,
@ -977,6 +978,7 @@ https://github.com/mbbill/undotree/,,
https://github.com/chrisbra/unicode.vim/,,
https://github.com/unisonweb/unison/,,
https://github.com/Shougo/unite.vim/,,
https://github.com/sontungexpt/url-open/,HEAD,
https://github.com/axieax/urlview.nvim/,,
https://github.com/vim-scripts/utl.vim/,,
https://github.com/KabbAmine/vCoolor.vim/,,

View File

@ -11,7 +11,7 @@ vscode-utils.buildVscodeMarketplaceExtension {
name = "tinymist";
publisher = "myriad-dreamin";
inherit (tinymist) version;
hash = "sha256-byylRSPfuMBsZsnV/cUJFKrPWiLZFPKGB20Stpe6b0Y=";
hash = "sha256-ekbk4nBigsBOW5bc2ETVCygFjLFqZgLNMbFKprb1HqE=";
};
nativeBuildInputs = [

View File

@ -3,6 +3,7 @@
lib,
fetchFromGitHub,
cmake,
extra-cmake-modules,
pkg-config,
makeWrapper,
freetype,
@ -19,10 +20,13 @@
discord-gamesdk,
libpcap,
libslirp,
wayland,
wayland-scanner,
enableDynarec ? with stdenv.hostPlatform; isx86 || isAarch,
enableNewDynarec ? enableDynarec && stdenv.hostPlatform.isAarch,
enableVncRenderer ? false,
enableWayland ? stdenv.isLinux,
unfreeEnableDiscord ? false,
unfreeEnableRoms ? false,
}:
@ -43,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: {
pkg-config
makeWrapper
qt5.wrapQtAppsHook
];
] ++ lib.optionals enableWayland [ extra-cmake-modules wayland-scanner ];
buildInputs = [
freetype
@ -58,7 +62,9 @@ stdenv.mkDerivation (finalAttrs: {
libslirp
qt5.qtbase
qt5.qttools
] ++ lib.optional stdenv.isLinux alsa-lib ++ lib.optional enableVncRenderer libvncserver;
] ++ lib.optional stdenv.isLinux alsa-lib
++ lib.optional enableWayland wayland
++ lib.optional enableVncRenderer libvncserver;
cmakeFlags =
lib.optional stdenv.isDarwin "-DCMAKE_MACOSX_BUNDLE=OFF"

View File

@ -2,20 +2,22 @@
, stdenv
, fetchFromGitHub
, gradle_7
, perl
, makeWrapper
, writeText
, jdk
, gsettings-desktop-schemas
}:
let
gradle = gradle_7;
in
stdenv.mkDerivation (finalAttrs: {
pname = "mucommander";
version = "1.3.0-1";
src = fetchFromGitHub {
owner = "mucommander";
repo = "mucommander";
rev = version;
rev = finalAttrs.version;
sha256 = "sha256-rSHHv96L2EHQuKBSAdpfi1XGP2u9o2y4g1+65FHWFMw=";
};
@ -23,72 +25,19 @@ let
# there is no .git anyway
substituteInPlace build.gradle \
--replace "git = grgit.open(dir: project.rootDir)" "" \
--replace "id 'org.ajoberstar.grgit' version '3.1.1'" "" \
--replace "revision = git.head().id" "revision = '${version}'"
--replace "revision = git.head().id" "revision = '${finalAttrs.version}'"
'';
# fake build to pre-download deps into fixed-output derivation
deps = stdenv.mkDerivation {
pname = "mucommander-deps";
inherit version src postPatch;
nativeBuildInputs = [ gradle_7 perl ];
buildPhase = ''
export GRADLE_USER_HOME=$(mktemp -d)
gradle --no-daemon tgz
'';
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
# reproducible by sorting
installPhase = ''
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
| LC_ALL=C sort \
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
| sh
# copy maven-metadata.xml for commons-codec
# thankfully there is only one xml
cp $GRADLE_USER_HOME/caches/modules-2/resources-2.1/*/*/maven-metadata.xml $out/commons-codec/commons-codec/maven-metadata.xml
'';
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "sha256-9tCcUg7hDNbkZiQEWtVRsUUfms73aU+vt5tQsfknM+E=";
nativeBuildInputs = [ gradle makeWrapper ];
mitmCache = gradle.fetchDeps {
inherit (finalAttrs) pname;
data = ./deps.json;
};
in
stdenv.mkDerivation rec {
pname = "mucommander";
inherit version src postPatch;
nativeBuildInputs = [ gradle_7 perl makeWrapper ];
__darwinAllowLocalNetworking = true;
# Point to our local deps repo
gradleInit = writeText "init.gradle" ''
logger.lifecycle 'Replacing Maven repositories with ${deps}...'
gradle.projectsLoaded {
rootProject.allprojects {
buildscript {
repositories {
clear()
maven { url '${deps}' }
}
}
repositories {
clear()
maven { url '${deps}' }
}
}
}
settingsEvaluated { settings ->
settings.pluginManagement {
repositories {
maven { url '${deps}' }
}
}
}
'';
buildPhase = ''
export GRADLE_USER_HOME=$(mktemp -d)
gradle --offline --init-script ${gradleInit} --no-daemon tgz
'';
gradleBuildTask = "tgz";
installPhase = ''
mkdir -p $out/share/mucommander
@ -107,4 +56,4 @@ stdenv.mkDerivation rec {
platforms = platforms.all;
mainProgram = "mucommander";
};
}
})

File diff suppressed because it is too large Load Diff

View File

@ -51,13 +51,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "imagemagick";
version = "7.1.1-34";
version = "7.1.1-35";
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick";
rev = finalAttrs.version;
hash = "sha256-rECU/dp8HQKFs1PW6QeTZIMxCIzzh1w7CckapnxdzxU=";
hash = "sha256-ac0xvCwwH/qsdewBAO6POcPY74kBPkcnW6ywVvnegKw=";
};
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big

View File

@ -1,19 +0,0 @@
# This file was automatically generated by passthru.fetch-deps.
# Please dont edit it manually, your changes might get overwritten!
{ fetchNuGet }: [
(fetchNuGet { pname = "AtkSharp"; version = "3.24.24.38"; sha256 = "12dv3j8nzhjb5c0093djajdnv8n7m0q7vq2d5ry2v4xk9wqzxpr7"; })
(fetchNuGet { pname = "CairoSharp"; version = "3.24.24.38"; sha256 = "0n3y5w088k81apxik9amfvjdwcic4k2ixxvnrk9cw6d2wh1d5r8d"; })
(fetchNuGet { pname = "GdkSharp"; version = "3.24.24.38"; sha256 = "0c5gzg106bnnc4wwwhch6lja68623a9hk8r2sjcv35hl5dh21616"; })
(fetchNuGet { pname = "GioSharp"; version = "3.24.24.38"; sha256 = "1b3irarxjbbpf24fw2avdglcslb5653gn6m829yhlcm5ay37pds4"; })
(fetchNuGet { pname = "GLibSharp"; version = "3.24.24.38"; sha256 = "1a0ixdq1gdb46gkb2nnlydsi10bjrbd3risfyaphsy8fbsyzrzvm"; })
(fetchNuGet { pname = "GtkSharp"; version = "3.24.24.38"; sha256 = "0cn8aggci6n088y5giiaxmyzv01rcz37r8pm738q2bsb57zppz2j"; })
(fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; })
(fetchNuGet { pname = "NGettext"; version = "0.6.7"; sha256 = "1lnq1lgd80xqn80qwq5ipfjnd7nl1ghinjc3krnd546r0c7hwqky"; })
(fetchNuGet { pname = "PangoSharp"; version = "3.24.24.38"; sha256 = "0cma8j4cy4j3fw0nvsxlqi0azjkvfjsw0wb6k6b2k21rdpy5rbbn"; })
(fetchNuGet { pname = "ParagonClipper"; version = "6.4.2"; sha256 = "0pam44f7iayqjz8nh1x29gxdd4dj00i7m5883cpa64i192pgl94c"; })
(fetchNuGet { pname = "SharpZipLib"; version = "1.4.1"; sha256 = "1dh1jhgzc9bzd2hvyjp2nblavf0619djniyzalx7kvrbsxhrdjb6"; })
(fetchNuGet { pname = "System.Reflection.Emit"; version = "4.7.0"; sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp"; })
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; })
(fetchNuGet { pname = "Tmds.DBus"; version = "0.11.0"; sha256 = "067s9i5mjxlmw0nid3fblr9d0hy1b6zrjzhhi48rf4cs2j72pl64"; })
]

View File

@ -21,13 +21,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "albert";
version = "0.24.2";
version = "0.24.3";
src = fetchFromGitHub {
owner = "albertlauncher";
repo = "albert";
rev = "v${finalAttrs.version}";
hash = "sha256-Z88amcPb2jCJduRu8CGQ20y2o5cXmL4rpRL0hGCEYgM=";
hash = "sha256-9vR6G/9FSy1mqZCo19Mf0RuvW63DbnhEzp/h0p6eXqs=";
fetchSubmodules = true;
};

View File

@ -6,7 +6,7 @@ rustPlatform.buildRustPackage rec {
src = fetchCrate {
inherit pname version;
sha256 = "sha256-Np1f/mSMIMZU3hE0Fur8bOHhOH3rZyroGiVAqfiIs7g=";
hash = "sha256-Np1f/mSMIMZU3hE0Fur8bOHhOH3rZyroGiVAqfiIs7g=";
};
cargoHash = "sha256-qoCOYk7hyjMx07l48IkxE6zsG58NkF72E3OvoZHz5d0=";

View File

@ -8,7 +8,7 @@ rustPlatform.buildRustPackage rec {
src = fetchCrate {
inherit pname version;
sha256 = "sha256-pqLk05hDPMvbrDG3xatAP0licaJszBSujo1fqsEtpRI=";
hash = "sha256-pqLk05hDPMvbrDG3xatAP0licaJszBSujo1fqsEtpRI=";
};
cargoHash = "sha256-/wXfdH9ObKGOw8EXHG/3Gvhm66v632lpDp/V3zFIzh4=";

View File

@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
src = fetchCrate {
inherit pname version;
sha256 = "sha256-y5zh93WPWSMDXqYangqrxav+sC0b0zpFIp6ZIew6KMo=";
hash = "sha256-y5zh93WPWSMDXqYangqrxav+sC0b0zpFIp6ZIew6KMo=";
};
cargoHash = "sha256-VktDiLsU+GOsa6ba9JJZGEPTavSKp+aSZm2dfhPEqMs=";

View File

@ -5,16 +5,16 @@
buildNpmPackage rec {
pname = "mainsail";
version = "2.11.2";
version = "2.12.0";
src = fetchFromGitHub {
owner = "mainsail-crew";
repo = "mainsail";
rev = "v${version}";
hash = "sha256-N0tm36YMRRrkyuIwzcYbDo1DHesAnJ2s2g0KCms3h5I=";
hash = "sha256-ZRs+KhHNQIGXy/3MUNM5OUuWSntfjYsW3d0OOvuvdAQ=";
};
npmDepsHash = "sha256-z6Fo0XAds/F0Ig+nUE3O16gmH0EVcpML3K8cdKhkJzg=";
npmDepsHash = "sha256-du1X58wUTelgJO/0JYwxfHjjNpu1e4M1GDvx6tgz8Zw=";
# Prevent Cypress binary download.
CYPRESS_INSTALL_BINARY = 0;

View File

@ -30,13 +30,13 @@ let
};
in stdenv.mkDerivation rec {
pname = "organicmaps";
version = "2024.06.19-3";
version = "2024.07.08-3";
src = fetchFromGitHub {
owner = "organicmaps";
repo = "organicmaps";
rev = "${version}-android";
hash = "sha256-LB3yLBoO6nXRvfuWWB2JofeAgQQFtEgqNo2QFQ3k/vc=";
hash = "sha256-+mug3KH5uyiRyp3vG+GeK/+kq6keHU8SOuQ0010nZhY=";
fetchSubmodules = true;
};

View File

@ -6,7 +6,7 @@ rustPlatform.buildRustPackage rec {
src = fetchCrate {
inherit pname version;
sha256 = "sha256-dBehxqr/UCXIQDMrGFN6ID+v0NYi50JTHuML3su2O0A=";
hash = "sha256-dBehxqr/UCXIQDMrGFN6ID+v0NYi50JTHuML3su2O0A=";
};
cargoHash = "sha256-wI7yqRvaszBP4OtlWbWIZ9RLf5y7dx2KufYLaK+PWps=";

View File

@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec {
src = fetchCrate {
inherit pname version;
sha256 = "sha256-mEmtLCtHlrCurjKKJ3vEtEkLBik4LwuUED5UeQ1QLws=";
hash = "sha256-mEmtLCtHlrCurjKKJ3vEtEkLBik4LwuUED5UeQ1QLws=";
};
cargoHash = "sha256-lgVByl+mpCDbhwlC1Eiw9ZkHIDYJsOR06Ds790pXOMc=";

View File

@ -15,11 +15,13 @@ python3Packages.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "SkyTemple";
repo = pname;
repo = "skytemple";
rev = "refs/tags/${version}";
hash = "sha256-yfXu1sboKi8STPiX5FUD9q+1U9GfhOyEKDRvU9rgdfI=";
};
build-system = with python3Packages; [ setuptools ];
buildInputs = [
gtk3
gtksourceview4
@ -34,7 +36,12 @@ python3Packages.buildPythonApplication rec {
wrapGAppsHook3
];
propagatedBuildInputs = with python3Packages; [
pythonRelaxDeps = [
"skytemple-files"
"skytemple-ssb-debugger"
];
dependencies = with python3Packages; [
cairosvg
natsort
ndspy

View File

@ -1,41 +0,0 @@
{ lib, stdenv, fetchzip, jre, makeWrapper }:
stdenv.mkDerivation rec {
pname = "tabula";
version = "1.2.1";
src = fetchzip {
url = "https://github.com/tabulapdf/tabula/releases/download/v${version}/tabula-jar-${version}.zip";
sha256 = "0lkpv8hkji81fanyxm7ph8421fr9a6phqc3pbhw2bc4gljg7sgxi";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -pv $out/share/tabula
cp -v * $out/share/tabula
makeWrapper ${jre}/bin/java $out/bin/tabula --add-flags "-jar $out/share/tabula/tabula.jar"
'';
meta = with lib; {
description = "Tool for liberating data tables locked inside PDF files";
longDescription = ''
If youve ever tried to do anything with data provided to you in PDFs, you
know how painful it is there's no easy way to copy-and-paste rows of data
out of PDF files. Tabula allows you to extract that data into a CSV or
Microsoft Excel spreadsheet using a simple, easy-to-use interface.
'';
homepage = "https://tabula.technology/";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.mit;
maintainers = [ maintainers.dpaetzel ];
platforms = platforms.all;
broken = true; # on 2022-11-23 this package builds, but produces an executable that fails immediately
};
}

View File

@ -1,10 +1,11 @@
{ callPackage
, nixosTests
, python3
, python311
, fetchFromGitHub
}:
let
python = python3.override {
# python-ldap-3.4.4 does not work with python3(12)
python = python311.override {
packageOverrides = self: super: {
validators = super.validators.overridePythonAttrs (_: rec {
version = "0.20.0";
@ -28,6 +29,15 @@ let
pytest-django
];
});
# python3.11-extruct-0.16.0 doesn't work with lxml-5.2.2
lxml = super.lxml.overridePythonAttrs (oldAttrs: rec {
version = "5.1.0";
src = oldAttrs.src.override {
rev = version;
hash = "sha256-eWLYzZWatYDmhuBTZynsdytlNFKKmtWQ1XIyzVD8sDY=";
};
});
};
};

View File

@ -6,7 +6,7 @@ rustPlatform.buildRustPackage rec {
src = fetchCrate {
inherit pname version;
sha256 = "sha256-L4JemOxpynGYsA8FgHnMv/hrogLSRaaiIzDjxzZDqjM=";
hash = "sha256-L4JemOxpynGYsA8FgHnMv/hrogLSRaaiIzDjxzZDqjM=";
};
cargoHash = "sha256-ShJ7dbd3oNo3qZJ5+ut+NfLF9j8kPPZy9yC2zl/s56k=";

View File

@ -1,42 +0,0 @@
{ lib
, python3
, fetchFromGitHub
, wrapQtAppsHook
}:
python3.pkgs.buildPythonApplication rec {
pname = "tumpa";
version = "0.1.2";
src = fetchFromGitHub {
owner = "kushaldas";
repo = "tumpa";
rev = "v${version}";
hash = "sha256-sT+IasupBxkfYoOULRvG429ZHA94uAJoYfFd1Whs0J4=";
};
propagatedBuildInputs = with python3.pkgs; [
setuptools
johnnycanencrypt
pyside2
];
nativeBuildInputs = [
wrapQtAppsHook
];
dontWrapQtApps = true;
preFixup = ''
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
'';
doCheck = false;
meta = with lib; {
description = "OpenPGP key creation and smartcard access";
homepage = "https://github.com/kushaldas/tumpa";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ _0x4A6F ];
broken = true;
};
}

View File

@ -1,50 +0,0 @@
{ stdenv, lib, fetchpatch
, fetchFromGitHub, cmake, libmicrohttpd, openssl
, opencl-headers, ocl-icd, hwloc
, devDonationLevel ? "0.0"
, openclSupport ? true
}:
stdenv.mkDerivation rec {
pname = "xmr-stak";
version = "2.10.8";
src = fetchFromGitHub {
owner = "fireice-uk";
repo = "xmr-stak";
rev = version;
sha256 = "0ilx5mhh91ks7dwvykfyynh53l6vkkignjpwkkss8ss6b2k8gdbj";
};
env.NIX_CFLAGS_COMPILE = "-O3";
patches = [ (fetchpatch {
name = "fix-libmicrohttpd-0-9-71.patch";
url = "https://github.com/fireice-uk/xmr-stak/compare/06e08780eab54dbc025ce3f38c948e4eef2726a0...8adb208987f5881946992ab9cd9a45e4e2a4b870.patch";
excludes = [ "CMakeLists.txt.user" ];
hash = "sha256-Yv0U5EO1P5eikn1fKvUXEwemoUIjjeTjpP9p5J8pbC0=";
}) ];
cmakeFlags = [ "-DCUDA_ENABLE=OFF" ]
++ lib.optional (!openclSupport) "-DOpenCL_ENABLE=OFF";
nativeBuildInputs = [ cmake ];
buildInputs = [ libmicrohttpd openssl hwloc ]
++ lib.optionals openclSupport [ opencl-headers ocl-icd ];
postPatch = ''
substituteInPlace xmrstak/donate-level.hpp \
--replace 'fDevDonationLevel = 2.0' 'fDevDonationLevel = ${devDonationLevel}'
'';
meta = with lib; {
# Does not build against gcc-13. No development activity upstream
# for past few years.
broken = true;
description = "Unified All-in-one Monero miner";
homepage = "https://github.com/fireice-uk/xmr-stak";
license = licenses.gpl3Plus;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ bfortz ];
};
}

View File

@ -51,11 +51,11 @@ let
in
stdenv.mkDerivation rec {
pname = "opera";
version = "111.0.5168.43";
version = "111.0.5168.61";
src = fetchurl {
url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
hash = "sha256-BKtDxKPVu0RUG+DOrfZ1TpJMK/FopfQURTfQGNWE3rc=";
hash = "sha256-O2QqosmhhFk6KfiAdlpDYOsZUqGhvtwzYFi2I90Hemo=";
};
unpackPhase = "dpkg-deb -x $src .";

View File

@ -43,15 +43,17 @@ python3.pkgs.buildPythonApplication {
buildInputs = [
qtbase
glib-networking
] ++ lib.optionals stdenv.isLinux [
qtwayland
];
nativeBuildInputs = [
wrapQtAppsHook asciidoc
docbook_xml_dtd_45 docbook_xsl libxml2 libxslt
python3.pkgs.pygments
];
propagatedBuildInputs = with python3.pkgs; ([
dependencies = with python3.pkgs; [
colorama
pyyaml (if isQt6 then pyqt6-webengine else pyqtwebengine) jinja2 pygments
# scripts and userscripts libs
tldextract beautifulsoup4
@ -62,8 +64,8 @@ python3.pkgs.buildPythonApplication {
adblock
# for the qute-bitwarden user script to be able to copy the TOTP token to clipboard
pyperclip
] ++ lib.optional stdenv.isLinux qtwayland
);
];
patches = [
./fix-restart.patch
@ -83,7 +85,7 @@ python3.pkgs.buildPythonApplication {
runHook preInstall
make -f misc/Makefile \
PYTHON=${python3.pythonOnBuildForHost.interpreter} \
PYTHON=${(python3.pythonOnBuildForHost.withPackages (ps: with ps; [ setuptools ])).interpreter} \
PREFIX=. \
DESTDIR="$out" \
DATAROOTDIR=/share \

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "atmos";
version = "1.83.0";
version = "1.83.1";
src = fetchFromGitHub {
owner = "cloudposse";
repo = pname;
rev = "v${version}";
sha256 = "sha256-FIl+SWYK8+OLuynhma7IG2fozekhGZKK/t5RgD+eTtA=";
sha256 = "sha256-B1s+9oLShbrziYm9P8xE5UPwxTchlGPUmjYSWGhsGjY=";
};
vendorHash = "sha256-dklmWu+PHSEeQM2MWBkYMiyw5rX9S8SI3l86nst6v9E=";

View File

@ -1,8 +1,8 @@
{
k3sVersion = "1.29.6+k3s1";
k3sCommit = "83ae095ab9197f168a6bd3f6bd355f89bce39a9c";
k3sRepoSha256 = "0gv7xh08mhgc2cyzpsvdi69xknifcpdy6znbim6r3r4lbcw2bkl9";
k3sVendorHash = "sha256-OiZLUjQUCwso+NHg3aOrXx6/HSFOfwtzwVmLr/Fjfpw=";
k3sVersion = "1.29.6+k3s2";
k3sCommit = "b4b156d9d14eeb475e789718b3a6b78aba00019e";
k3sRepoSha256 = "0wagfh4vbvyi62np6zx7b4p6myn0xavw691y78rnbl32jckiy14f";
k3sVendorHash = "sha256-o36gf3q7Vv+RoY681cL44rU2QFrdFW3EbRpw3dLcVTI=";
chartVersions = import ./chart-versions.nix;
k3sRootVersion = "0.13.0";
k3sRootSha256 = "1jq5f0lm08abx5ikarf92z56fvx4kjpy2nmzaazblb34lajw87vj";

View File

@ -0,0 +1,45 @@
# Onboarding Maintainer
Anyone willing can become a maintainer, no pre-requisite knowledge is required. Willingness to learn is enough.
A K3s maintainer, maintains K3s's:
- [documentation](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/cluster/k3s/README.md)
- [issues](https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+k3s)
- [pull requests](https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%226.topic%3A+k3s%22)
- [NixOS tests](https://github.com/NixOS/nixpkgs/tree/master/nixos/tests/k3s)
- [NixOS service module](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/cluster/k3s/default.nix)
- [update script](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/cluster/k3s/update-script.sh) (the process of updating)
- updates (the act of updating) and [r-ryantm bot logs](https://r.ryantm.com/log/k3s/)
- deprecations
- CVEs
- NixOS releases
- dependencies (runc, containerd, ipset)
Anything that is due, basically.
As a maintainer, feel free to improve anything and everything at your discretion. Meaning, at your pace and according to your capabilities and interests.
Only consensus is required to move forward any proposal. Consensus meaning the approval of others.
If you cause a regression (we've all been there), you are responsible for fixing it, but in case you can't fix it (it happens), feel free to ask for help. That's fine, just let us know.
To merge code, you need to be a commiter, or use the merge-bot, but currently the merge-bot only works for packages located at `pkgs/by-name/`, which means, K3s still need to be migrated there before you can use merge-bot for merging. As a non-commiter, once you have approved a PR you need to forward the request to a commiter. For deciding which commiter, give preference initially to K3s commiters, but any commiter can commit. A commiter usually has a green approval in PRs.
K3s's commiters currently are: superherointj, marcusramberg, Mic92.
@euank is often silent but still active and has always handled anything dreadful, internal parts of K3s/Kubernetes or architecture things, he initially packaged K3s for nixpkgs, think of him as a last resort, when we fail to accomplish a fix, he comes to rescue us from ourselves.
@mic92 stepped up when @superherointj stepped down a time ago, as Mic92 has a broad responsibility in nixpkgs (he is responsible for far too many things already, nixpkgs-reviews, sops-nix, release manager, bot-whatever), we avoid giving him chore work for `nixos-unstable`, only pick him as commiter last. As Mic92 runs K3s in a `nixos-stable` setting, he might help in testing stable backports.
On how to handle requests, it's the usual basics, such as, when reviewing PRs, issues, be welcoming, helpful, provide hints whenever possible, try to move things forward, assume good will, ignore [as don't react to] any negativity [since it spirals badly], delay and sort any (severe) disagreement in private. Even on disagrements, be thankful to people for their dedicated time, no matter what happens. In essence, on any unfortunate event, **always put people over code**.
Dumbshit happens, we make mistakes, the CI, reviews, fellow maintainers are there to nudge us on a better direction, no need to over think interactions, if a problem happens, we'll handle it.
We should optimize for maintainers satisfaction, because it is maintainers that make the service great. The best kind of win we have is when someone new steps up for being a maintainer. This multiplies our capabilities of doing meaningful work and increases our knowledge pool.
Know that your participation matters most for us. And we thank you for stepping up. It's good to have you here!
We welcome you and wish you the best in this new journey!
K3s Maintainers

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kyverno";
version = "1.12.4";
version = "1.12.5";
src = fetchFromGitHub {
owner = "kyverno";
repo = "kyverno";
rev = "v${version}";
hash = "sha256-TVtE1mdOai2G2+KCp9r5G+E9QhGQ5TmUFCN9x5EKM7o=";
hash = "sha256-j6/x0fITP6FbI7LvaaB+Dwg9ewFjZ/eqjG0TzQeDsmI=";
};
ldflags = [

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "nomad-driver-podman";
version = "0.5.2";
version = "0.6.0";
src = fetchFromGitHub {
owner = "hashicorp";
repo = pname;
rev = "v${version}";
sha256 = "sha256-L2OnnSTrr49THE2ZQpuHagTjcg3/pt/ydivGmWZSvas=";
sha256 = "sha256-cM/bu8d39mY85XtHJNIp9h0U3kzviSe87c2CQs9vVTA=";
};
vendorHash = "sha256-0a8wnwyquDrEnPlR337uCxMzuc/9MjgGUsDd+xIfPhw=";
vendorHash = "sha256-BdCcFR5vWXbZ+yumRdpozfuB3fqzVifErRQ7RAfdco8=";
subPackages = [ "." ];

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "starboard";
version = "0.15.20";
version = "0.15.21";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = pname;
rev = "v${version}";
hash = "sha256-oOz7Dt+j2EmBL/aJUjqRST90wYpXkyREnKCcmNBQX18=";
hash = "sha256-XSxmF3dDTKVnZI4yt686LA0E3mIVdamGMX5EqIQ2qQE=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@ -20,7 +20,7 @@ buildGoModule rec {
find "$out" -name .git -print0 | xargs -0 rm -rf
'';
};
vendorHash = "sha256-6qz0nFqdo/ympxuJDy2gD4kr5G5j0DbhUxl+7ocDdO4=";
vendorHash = "sha256-eDAJyOj3P1dJ0h/Y0O+8JrHw2S+8MPj4NikzrI7eDrk=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -1,46 +1,86 @@
{ lib
, stdenvNoCC
, version, src
, fetchYarnDeps
, fixup-yarn-lock, yarn, nodejs
, nodejs
, yarn-berry
, cacert
, version
, src
}:
stdenvNoCC.mkDerivation rec {
stdenvNoCC.mkDerivation {
pname = "tilt-assets";
src = "${src}/web";
inherit version;
inherit src version;
nativeBuildInputs = [ nodejs yarn-berry ];
nativeBuildInputs = [ fixup-yarn-lock yarn nodejs ];
yarnOfflineCache = stdenvNoCC.mkDerivation {
name = "tilt-assets-deps";
src = "${src}/web";
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${src}/web/yarn.lock";
hash = "sha256-0JpoAQKRmU7P1bzYNR/vqtPjOOSw8wSlNjXl2f6uBrw=";
nativeBuildInputs = [ yarn-berry ];
supportedArchitectures = builtins.toJSON {
os = [ "darwin" "linux" ];
cpu = [ "arm" "arm64" "ia32" "x64" ];
libc = [ "glibc" "musl" ];
};
NODE_EXTRA_CA_CERTS = "${cacert}/etc/ssl/certs/ca-bundle.crt";
configurePhase = ''
runHook preConfigure
export HOME="$NIX_BUILD_TOP"
export YARN_ENABLE_TELEMETRY=0
yarn config set enableGlobalCache false
yarn config set cacheFolder $out
yarn config set supportedArchitectures --json "$supportedArchitectures"
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
mkdir -p $out
yarn install --immutable --mode skip-build
runHook postBuild
'';
dontInstall = true;
outputHashAlgo = "sha256";
outputHash = "sha256-5f9lKRD6vc2FOnUeSxK/zlu/tshS1+RCSB0slGSO/Rc=";
outputHashMode = "recursive";
};
configurePhase = ''
export HOME=$(mktemp -d)/yarn_home
runHook preConfigure
export HOME="$NIX_BUILD_TOP"
export YARN_ENABLE_TELEMETRY=0
yarn config set enableGlobalCache false
yarn config set cacheFolder $yarnOfflineCache
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
yarn config --offline set yarn-offline-mirror $yarnOfflineCache
cd web
fixup-yarn-lock yarn.lock
yarn install --offline --frozen-lockfile --ignore-engines
patchShebangs node_modules
export PATH=$PWD/node_modules/.bin:$PATH
./node_modules/.bin/react-scripts build
mkdir -p $out
cd ..
yarn install --immutable --immutable-cache
yarn build
runHook postBuild
'';
installPhase = ''
cp -r web/build/* $out
mkdir -p $out
cp -r build/. $out/
'';
meta = with lib; {

View File

@ -5,13 +5,13 @@ let args = rec {
/* Do not use "dev" as a version. If you do, Tilt will consider itself
running in development environment and try to serve assets from the
source tree, which is not there once build completes. */
version = "0.33.10";
version = "0.33.17";
src = fetchFromGitHub {
owner = "tilt-dev";
repo = "tilt";
rev = "v${version}";
hash = "sha256-LPb2tC3xIGhjiLYkTU+NBIUoqiicO2ORM6Nt1eTnwQs=";
hash = "sha256-GzWnTq3X615A/jRjYhBriRYaH4tjv+yg2/zHIJuKXPE=";
};
};

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "feed2imap-go";
version = "1.7.0";
version = "1.7.2";
src = fetchFromGitHub {
owner = "Necoro";
repo = "feed2imap-go";
rev = "v${version}";
sha256 = "sha256-Qtpg8DvIFkba+Do8IwemBF0rt85wS4Tq7yOLsdpQFCs=";
sha256 = "sha256-LMtuGrNRVG3/2cgZFS7YlVmassbWDhH/nQgPh08NmpA=";
};
ldflags = [
@ -17,7 +17,7 @@ buildGoModule rec {
"-X github.com/Necoro/feed2imap-go/pkg/version.commit=nixpkgs"
];
vendorHash = "sha256-WFbfSzU1N2RAOMfCM7wqiAQ6R1HRaT0EfX4KYhstHJU=";
vendorHash = "sha256-3J9fd/ogClQ+1a2ORahwf+JwkC4b1+pR1vdVjwLutoY=";
# The print-cache tool is not an end-user tool (https://github.com/Necoro/feed2imap-go/issues/94)
postInstall = ''

View File

@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
src = fetchCrate {
inherit pname version;
sha256 = "sha256-JG/l6NfN5RqBpz9NVcVY3mP/iE31TXvw+Vjq8N8rNIY=";
hash = "sha256-JG/l6NfN5RqBpz9NVcVY3mP/iE31TXvw+Vjq8N8rNIY=";
};
cargoHash = "sha256-QKSNbpVRtSKp2q1jVPYTS8XCMtQAyg3AWvD/6+OjI7Y=";

View File

@ -1,26 +0,0 @@
{ lib, stdenv, buildGoModule, fetchFromGitHub, iproute2mac }:
buildGoModule rec {
pname = "hyprspace";
version = "0.2.2";
propagatedBuildInputs = lib.optional stdenv.isDarwin iproute2mac;
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-UlIQCy4moW58tQ1dqxrPsU5LN1Bs/Jy5X+2CEmXdYIk=";
};
vendorHash = "sha256-EV59sXmjunWs+MC++CwyuBlbWzWZI1YXDLEsOaESgRU=";
meta = with lib; {
description = "Lightweight VPN Built on top of Libp2p for Truly Distributed Networks";
homepage = "https://github.com/hyprspace/hyprspace";
license = licenses.asl20;
maintainers = with maintainers; [ yusdacra ];
platforms = platforms.linux ++ platforms.darwin;
broken = true; # build fails with go > 1.17
};
}

View File

@ -31,7 +31,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "chatty";
version = "0.8.3";
version = "0.8.4";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
repo = "Chatty";
rev = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-Ywed/8PhOgmzcka+5dyxjmWTcDBPF90LW+C2eeQmyLo=";
hash = "sha256-1CHreTkw1C3tc6vOCG+7Y/u4R/xTFOnlI4mcxjY/alY=";
};
nativeBuildInputs = [

View File

@ -1,23 +1,30 @@
{ lib, appimageTools, fetchurl }:
{ lib, appimageTools, fetchzip }:
let
pname = "keet";
version = "1.2.1";
version = "2.2.0";
src = fetchurl {
url = "https://keet.io/downloads/${version}/Keet.AppImage";
sha256 = "1f76ccfa16719a24f6d84b88e5ca49fab1c372de309ce74393461903c5c49d98";
src = fetchzip {
url = "https://keet.io/downloads/${version}/Keet-x64.tar.gz";
hash = "sha256-Sd2aCUvgxdbCb8MtWMcznX2efmL1h9wLT29GG7t3Gzc=";
};
appimageContents = appimageTools.extract { inherit pname version src; };
appimageContents = appimageTools.extract {
inherit pname version;
src = "${src}/Keet.AppImage";
};
in appimageTools.wrapType2 {
inherit src pname version;
inherit pname version;
src = "${src}/Keet.AppImage";
extraPkgs = pkgs: with pkgs; [
gtk4
];
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}'
cp -r ${appimageContents}/usr/share/icons $out/share
install -m 444 -D ${appimageContents}/Keet.desktop -t $out/share/applications
cp -r ${appimageContents}/*.png $out/share
'';
meta = with lib; {

View File

@ -2,7 +2,7 @@
callPackage ./generic.nix { } rec {
pname = "signal-desktop-beta";
dir = "Signal Beta";
version = "7.15.0-beta.1";
version = "7.16.0-beta.1";
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb";
hash = "sha256-RnaYRd7hKTazh0dEX3wv0fFsdbYv0aqNJtswv8/f+YU=";
hash = "sha256-FaQhinUylZesX0gIFA1CynirLRxOw2P0IdZBjEPEo1U=";
}

View File

@ -1,42 +0,0 @@
From 33d8de9ccce7eecb12542e0fc11131b5101e1aa8 Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Sat, 26 Feb 2022 12:33:13 +0100
Subject: [PATCH] Fetch buildconfig during gradle build inside Nix FOD
---
build.gradle | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/build.gradle b/build.gradle
index ea3fea1..01e444d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -82,6 +82,9 @@ static String getVersion() {
repositories {
maven {url "https://gitlab.com/api/v4/groups/6853927/-/packages/maven"} // https://gitlab.com/groups/signald/-/packages
+ maven {
+ url "https://plugins.gradle.org/m2/"
+ }
mavenCentral()
}
@@ -101,6 +104,8 @@ dependencies {
implementation 'io.prometheus:simpleclient:0.16.0'
implementation 'io.prometheus:simpleclient_hotspot:0.16.0'
implementation 'io.prometheus:simpleclient_httpserver:0.16.0'
+ implementation 'com.github.gmazzo.buildconfig:com.github.gmazzo.buildconfig.gradle.plugin:3.0.3'
+ implementation 'org.jetbrains.kotlin:kotlin-scripting-jvm:1.7.10'
implementation 'com.squareup.okhttp3:logging-interceptor:4.10.0'
implementation 'io.sentry:sentry:6.11.0'
testImplementation 'org.junit.jupiter:junit-jupiter:5.9.0'
@@ -170,4 +175,4 @@ allprojects {
runtime {
options = ['--strip-java-debug-attributes', '--compress', '2', '--no-header-files', '--no-man-pages']
modules = ['java.base', 'java.management', 'java.naming', 'java.sql', 'java.xml', 'jdk.crypto.ec', 'jdk.httpserver', 'java.desktop', 'jdk.unsupported']
-}
\ No newline at end of file
+}
--
2.38.3

View File

@ -1,71 +0,0 @@
From 4bf0aef4003f7494103a93ae1c2957b2cd32bb59 Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Sat, 26 Feb 2022 12:36:15 +0100
Subject: [PATCH 2/2] buildconfig/local deps fixes
---
build.gradle | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/build.gradle b/build.gradle
index ea3fea1..24415d8 100644
--- a/build.gradle
+++ b/build.gradle
@@ -10,11 +10,21 @@ import org.gradle.nativeplatform.platform.internal.ArchitectureInternal
import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
import org.gradle.nativeplatform.platform.internal.OperatingSystemInternal
+buildscript {
+ repositories {
+ maven {
+ url(uri("@deps@"))
+ }
+ }
+ dependencies {
+ classpath "com.github.gmazzo:gradle-buildconfig-plugin:3.0.3"
+ }
+}
+
plugins {
- id 'com.github.gmazzo.buildconfig' version '3.0.3'
- id 'org.beryx.runtime' version '1.12.7'
id 'application'
}
+apply plugin: "com.github.gmazzo.buildconfig"
compileJava.options.encoding = 'UTF-8'
@@ -82,7 +92,10 @@ static String getVersion() {
repositories {
maven {url "https://gitlab.com/api/v4/groups/6853927/-/packages/maven"} // https://gitlab.com/groups/signald/-/packages
- mavenCentral()
+ mavenLocal()
+ maven {
+ url uri("@deps@")
+ }
}
dependencies {
@@ -101,6 +114,8 @@ dependencies {
implementation 'io.prometheus:simpleclient:0.16.0'
implementation 'io.prometheus:simpleclient_hotspot:0.16.0'
implementation 'io.prometheus:simpleclient_httpserver:0.16.0'
+ implementation 'com.github.gmazzo.buildconfig:com.github.gmazzo.buildconfig.gradle.plugin:3.0.3'
+ implementation 'org.jetbrains.kotlin:kotlin-scripting-jvm:1.7.10'
implementation 'com.squareup.okhttp3:logging-interceptor:4.10.0'
implementation 'io.sentry:sentry:6.11.0'
testImplementation 'org.junit.jupiter:junit-jupiter:5.9.0'
@@ -166,8 +181,3 @@ allprojects {
}
}
}
-
-runtime {
- options = ['--strip-java-debug-attributes', '--compress', '2', '--no-header-files', '--no-man-pages']
- modules = ['java.base', 'java.management', 'java.naming', 'java.sql', 'java.xml', 'jdk.crypto.ec', 'jdk.httpserver', 'java.desktop', 'jdk.unsupported']
-}
\ No newline at end of file
--
2.38.3

View File

@ -1,10 +1,7 @@
{ lib, stdenv, fetchFromGitLab, jdk17_headless, coreutils, findutils, gnused,
gradle, git, perl, makeWrapper, substituteAll, jre_minimal
gradle, git, makeWrapper, jre_minimal
}:
# NOTE: when updating the package, please check if some of the hacks in `deps.installPhase`
# can be removed again!
let
pname = "signald";
version = "0.23.2";
@ -16,8 +13,6 @@ let
hash = "sha256-EofgwZSDp2ZFhlKL2tHfzMr3EsidzuY4pkRZrV2+1bA=";
};
gradleWithJdk = gradle.override { java = jdk17_headless; };
jre' = jre_minimal.override {
jdk = jdk17_headless;
# from https://gitlab.com/signald/signald/-/blob/0.23.0/build.gradle#L173
@ -37,76 +32,19 @@ let
];
};
# fake build to pre-download deps into fixed-output derivation
deps = stdenv.mkDerivation {
pname = "${pname}-deps";
inherit src version;
nativeBuildInputs = [ gradleWithJdk perl ];
patches = [ ./0001-Fetch-buildconfig-during-gradle-build-inside-Nix-FOD.patch ];
buildPhase = ''
export GRADLE_USER_HOME=$(mktemp -d)
gradle --no-daemon build
'';
installPhase = ''
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
| sh -x
# WARNING: don't try this at home and wear safety-goggles while working with this!
# We patch around in the dependency tree to resolve some spurious dependency resolution errors.
# Whenever this package gets updated, please check if some of these hacks are obsolete!
# Mimic existence of okio-3.2.0.jar. Originally known as okio-jvm-3.2.0 (and renamed),
# but gradle doesn't detect such renames, only fetches the latter and then fails
# in `signald.buildPhase` because it cannot find `okio-3.2.0.jar`.
pushd $out/com/squareup/okio/okio/3.2.0 &>/dev/null
cp -v ../../okio-jvm/3.2.0/okio-jvm-3.2.0.jar okio-3.2.0.jar
popd &>/dev/null
# For some reason gradle fetches 2.14.1 instead of 2.14.0 here even though 2.14.0 is required
# according to `./gradlew -q dependencies`, so we pretend to have 2.14.0 available here.
# According to the diff in https://github.com/FasterXML/jackson-dataformats-text/compare/jackson-dataformats-text-2.14.0...jackson-dataformats-text-2.14.1
# the only relevant change is in the code itself (and in the tests/docs), so this seems
# binary-compatible.
cp -v \
$out/com/fasterxml/jackson/dataformat/jackson-dataformat-toml/2.14.1/jackson-dataformat-toml-2.14.1.jar \
$out/com/fasterxml/jackson/dataformat/jackson-dataformat-toml/2.14.0/jackson-dataformat-toml-2.14.0.jar
'';
# Don't move info to share/
forceShare = [ "dummy" ];
outputHashAlgo = "sha256";
outputHashMode = "recursive";
# Downloaded jars differ by platform
outputHash = {
x86_64-linux = "sha256-9DHykkvazVBN2kfw1Pbejizk/R18v5w8lRBHZ4aXL5Q=";
aarch64-linux = "sha256-RgAiRbUojBc+9RN/HpAzzpTjkjZ6q+jebDsqvah5XBw=";
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
};
in stdenv.mkDerivation {
inherit pname src version;
patches = [
(substituteAll {
src = ./0002-buildconfig-local-deps-fixes.patch;
inherit deps;
})
];
passthru = {
# Mostly for debugging purposes.
inherit deps;
mitmCache = gradle.fetchDeps {
inherit pname;
data = ./deps.json;
};
buildPhase = ''
runHook preBuild
__darwinAllowLocalNetworking = true;
export GRADLE_USER_HOME=$(mktemp -d)
gradleFlags = [ "-Dorg.gradle.java.home=${jdk17_headless}" ];
gradle --offline --no-daemon distTar
runHook postBuild
'';
gradleBuildTask = "distTar";
installPhase = ''
runHook preInstall
@ -120,10 +58,19 @@ in stdenv.mkDerivation {
runHook postInstall
'';
nativeBuildInputs = [ git gradleWithJdk makeWrapper ];
nativeBuildInputs = [ git gradle makeWrapper ];
doCheck = true;
gradleUpdateScript = ''
runHook preBuild
SIGNALD_TARGET=x86_64-unknown-linux-gnu gradle nixDownloadDeps
SIGNALD_TARGET=aarch64-unknown-linux-gnu gradle nixDownloadDeps
SIGNALD_TARGET=x86_64-apple-darwin gradle nixDownloadDeps
SIGNALD_TARGET=aarch64-apple-darwin gradle nixDownloadDeps
'';
meta = with lib; {
description = "Unofficial daemon for interacting with Signal";
longDescription = ''
@ -138,6 +85,6 @@ in stdenv.mkDerivation {
];
license = licenses.gpl3Plus;
maintainers = with maintainers; [ expipiplus1 ];
platforms = [ "x86_64-linux" "aarch64-linux" ];
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
};
}

View File

@ -0,0 +1,528 @@
{
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
"!version": 1,
"https://gitlab.com/api/v4/groups/6853927/-/packages/maven/org": {
"signald#libsignal-client-aarch64-apple-darwin/0.21.1": {
"jar": "sha256-GZyZBUokXraIAXXRoGMFoU48FzUym80J0XU2o/fbEgE=",
"module": "sha256-Z6k9Pt5ac5il2uK2ngQn0Mc8utSRChIl+pO7UeOmbJs=",
"pom": "sha256-b2SOa4rB+2SGAohZpsv7ZNUKPrcCBIONBiflsaLJA7A="
},
"signald#libsignal-client-aarch64-unknown-linux-gnu/0.21.1": {
"jar": "sha256-qkF5S7OwiRTABFoAWsXn2WsRCKe+GIcDeX+ENFjbhQg=",
"module": "sha256-Y/ir3VC1oORyDy19ZOctnIcDxgm+tbZSbKKz9VcBh3E=",
"pom": "sha256-E5pDb3MphJnKuE6xfizHrJ4qWXu4Tfv1hWPzynRkx+g="
},
"signald#libsignal-client-x86_64-apple-darwin/0.21.1": {
"jar": "sha256-Xc+eIRMlTTReDigOlcPxD4sIm44cwKoJ63tGBxx10pk=",
"module": "sha256-g2GHQh5ThVjmHn7Fiq4j0cPQDpZWl4Lx8kNq8E754fQ=",
"pom": "sha256-AHphg71FAR4tLhOXJP0TfHtSRothQmXL9h6/Vy2fg2I="
},
"signald#libsignal-client-x86_64-unknown-linux-gnu/0.21.1": {
"jar": "sha256-b9C1XUATmYS+QyZZT0twxY8e5VBYPX4PGc4KwMuz3MY=",
"module": "sha256-LdJQ1bGMcVuW5gMxwXNfco0fk9EqKUR3/dcXK9/f+uI=",
"pom": "sha256-vQvRDMrMPzs26mkIGyWealXU9n+F1zUsYi+0mGmB4Pc="
},
"signald#signal-service-java-aarch64-apple-darwin/2.15.3_unofficial_65": {
"jar": "sha256-AWLSsBwoo2bA95cX7cUZr8djin+pzrg7uQklKB5HaX8=",
"module": "sha256-Kx4rUnEcn7UqES53q7SBDzM1SrPYRW9hLyy8bTUpGqE=",
"pom": "sha256-lIWISMl3ZO1DTH0UvwrFWsWNvTT2T/l8XMnbVu64b90="
},
"signald#signal-service-java-aarch64-unknown-linux-gnu/2.15.3_unofficial_65": {
"jar": "sha256-rnh3En9Apq4zZPNCWCpat3bJwjegnWmfKclyWq9WV38=",
"module": "sha256-+ul/buZ1z6UMjhTWY4wrhz9sYrOOiOvbuLg3qSpxJKI=",
"pom": "sha256-4Bt4nts4B+MZJMVAjrxB5b85TaHhEfcslDDegkCVy7Y="
},
"signald#signal-service-java-x86_64-apple-darwin/2.15.3_unofficial_65": {
"jar": "sha256-Hkig/2S8txhBKyyzRcloqwc5rMhDELTbRSzy4XGg7Sw=",
"module": "sha256-e/U5v2nGOG3VbIHh0GDFBdIRo+qp3SyiTcsrum9T7gk=",
"pom": "sha256-B+8twiic8oQYWENG9d9ETv4eyYfdEuT6U0aNj87rB48="
},
"signald#signal-service-java-x86_64-unknown-linux-gnu/2.15.3_unofficial_65": {
"jar": "sha256-+p3jm8+Bg96BUIQdGT6LHczAhMfSqQVm5OlP5g+bEEs=",
"module": "sha256-GKfQ5h9vzUQL+1pNejIPyb1yjhtVn8CkkAGyaUr5RBM=",
"pom": "sha256-MCAEHWahZHEhR7FP7tDKII+FZM41e3Sc3fVuWwN8GhI="
}
},
"https://plugins.gradle.org/m2": {
"com/github/gmazzo#gradle-buildconfig-plugin/3.0.3": {
"jar": "sha256-ql6AIOvktizdRYn07XFhq1wkSlIJ5eWey7lFOP312to=",
"pom": "sha256-EVUqzLXaH59nxdNJoUjwxAP6MJKT85Vcc1qOvY1XH8I="
},
"com/github/gmazzo/buildconfig#com.github.gmazzo.buildconfig.gradle.plugin/3.0.3": {
"pom": "sha256-U2RlL3aMVri6eXtNL2AEDerbGlzB6lvG0gfFF88d7W4="
},
"com/github/gundy#semver4j/0.16.4": {
"jar": "sha256-3vm0Il+jchnhj4HQHw5S1z3KElejj1R1vp3Vj4dzZRA=",
"pom": "sha256-MgAdskQ7M53SH1t5/ynRreci0boIDCFL3oGfD3LRYE0="
},
"com/google/code/gson#gson-parent/2.8.6": {
"pom": "sha256-NzZGOFnsGSZyleiUlAroKo9oRBMDESL+Nc58/34wp3Q="
},
"com/google/code/gson#gson/2.8.6": {
"jar": "sha256-yPtIOQVNKAswM/gA0fWpfeLwKOuLoutFitKH5Tbz8l8=",
"pom": "sha256-IXRBWmRzMtMP2gS9HPxwij7MhOr3UX9ZYYjYJE4QORE="
},
"com/squareup#javapoet/1.11.1": {
"jar": "sha256-nL8hB75JnsbpWv02tY48oSKiQWbN03VzLlEmfWQFjpA=",
"pom": "sha256-+fP8Lz85koufe74oEXW3R9O1Wgkh8wLi4g0J7o5Bw+w="
},
"com/squareup#kotlinpoet/1.0.1": {
"jar": "sha256-vqGIRbA8fGXPkfc5iLoBlQuuZ5nDxRgrVo/nHN2JSqE=",
"pom": "sha256-R0rbJYzTlWjOYNanxzBoFzo6BhZ25AGBBVKnXiPuxdU="
},
"de/undercouch#gradle-download-task/4.0.2": {
"jar": "sha256-lSy/zF8hvuzLWSXMW6ZIrwmDklhEHdRNCH1kpX006Ho=",
"pom": "sha256-YvKRaNwv+1gMRKpgIfZVBRqcsKSN/Ue8fk6MpvljrbA="
},
"org/antlr#antlr4-master/4.5.2-1": {
"pom": "sha256-U1i0eNglVatXr9f8cjHWA7QPl3vnyjn0DF7FTnZ+tnQ="
},
"org/antlr#antlr4-runtime/4.5.2-1": {
"jar": "sha256-6DFBMAS87tfZFcOhdZJ7Haq8SXS3uKb4e7zohtNVA5g=",
"pom": "sha256-k7rJtrxxTVWZBO1DJCeCqMvlQ86/AQS7PswXhqnLZh4="
},
"org/apache#apache/19": {
"pom": "sha256-kfejMJbqabrCy69tAf65NMrAAsSNjIz6nCQLQPHsId8="
},
"org/apache/commons#commons-lang3/3.8.1": {
"jar": "sha256-2sgH9lsHaY/zmxsHv+89h64/1G2Ru/iivAKyqDFhb2g=",
"pom": "sha256-7I4J91QRaFIFvQ2deHLMNiLmfHbfRKCiJ7J4vqBEWNU="
},
"org/apache/commons#commons-parent/47": {
"pom": "sha256-io7LVwVTv58f+uIRqNTKnuYwwXr+WSkzaPunvZtC/Lc="
},
"org/beryx#badass-runtime-plugin/1.12.7": {
"jar": "sha256-N3Mx2VyxIFb6U6Qt9/RfF4svqG1sWF9w74TRIz0RB0U=",
"pom": "sha256-9vIy9OpH3sXV5y4jWaQG+pMd8/M2fiVdMmkkCAPBtkk="
},
"org/beryx/runtime#org.beryx.runtime.gradle.plugin/1.12.7": {
"pom": "sha256-95lWpL5pLmiBvaBnA0zUDOOqFX8ti9VWS5wAKWxrK3M="
},
"org/jetbrains#annotations/13.0": {
"jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
"pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
},
"org/jetbrains/intellij/deps#trove4j/1.0.20181211": {
"jar": "sha256-r/t8haPIe9z2n/HbuE3hH2PckxKTk0vAjNerGN4INgE=",
"pom": "sha256-MQpqotkFNMMrj0bx/JjNDtrpXc38oj4oR+Xvqa4MAZo="
},
"org/jetbrains/kotlin#kotlin-android-extensions/1.4.31": {
"jar": "sha256-SNfgjtYPscadJ/VyBaihHEcdaBM55nlEpL0L8sLht5A=",
"pom": "sha256-6ezdB6SaaAPWXoSb5064ff36iLtElaSDK1zJJbvv2BY="
},
"org/jetbrains/kotlin#kotlin-annotation-processing-gradle/1.4.31": {
"jar": "sha256-E11Hgji/ecK6L8FKIgRG3uj3TmiyP5ELwuTRmBorcG0=",
"pom": "sha256-GkmFH2YJ3/XRCK5UUb76mNEcNYUsz7XZiOmqeBiUw4I="
},
"org/jetbrains/kotlin#kotlin-build-common/1.4.31": {
"jar": "sha256-2AXnlC+1fSIUHUODV8TAIv8bIa78+yRd3SLqa3SGKrQ=",
"pom": "sha256-DIaSpl7cpUpc/Pp9s+9OLx9nafNTf4jrMwWvw4PBwhw="
},
"org/jetbrains/kotlin#kotlin-compiler-embeddable/1.4.31": {
"jar": "sha256-X0oOX3T+lrzUzRQxfISlbnsGpqwW2z2+cMOwaAdzOZ4=",
"pom": "sha256-DWc4Z/LPQirjQPVloRWgPrtcdVxVe9bZyiiGTcw4iyQ="
},
"org/jetbrains/kotlin#kotlin-compiler-runner/1.4.31": {
"jar": "sha256-Ybrn0tzI82KaPrIUkKmsVTU8Io+iPdfids7u3jeHisE=",
"pom": "sha256-Yhlloc7kdCcFwWEjv1oN7mTkLZohXrDEvHMj40tEWxs="
},
"org/jetbrains/kotlin#kotlin-daemon-client/1.4.31": {
"jar": "sha256-fQJ+9Vrx3JC8BiRn8sjBbAwMlhZ2JdtAnyEhCSjtZAk=",
"pom": "sha256-edI2i+n6TYGBCdixMynI1WMVJSzTV69R9YzgT6f0izw="
},
"org/jetbrains/kotlin#kotlin-daemon-embeddable/1.4.31": {
"jar": "sha256-l9xXBLT9JbFamx7X/9hJiqWAeHf7ar5Ni2bW0Qs5zzY=",
"pom": "sha256-L94ntYnr0Y2EFnb7sh4/pi2ZD25eqqbKq1K0vgDj5+s="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/1.4.31": {
"jar": "sha256-fAuO07UHXmM0/+rpg6Io9LFEUmMenUl9FhwMKiMN4mI=",
"pom": "sha256-MggUaX5sg1nwXU46eBVdL3MetImMyyXfUCKz+VT1vMc="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin-model/1.4.31": {
"jar": "sha256-9ATALOZ7ahMo2s4i2TW+/cZmBdzdziaVEBvkZshZJqk=",
"pom": "sha256-6EvVpsF+h0q9cIlbQcWI9I/mmzcq6rQTTVW8V2Dzp8s="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin/1.4.31": {
"jar": "sha256-/MsDW9vopXkf6e2zvUknrFByoMf9/UzFWDukRv8dfc8=",
"pom": "sha256-UQ2wwA85guaiBXihK97GuNB7d8Mdag2amJJw1Jl71kQ="
},
"org/jetbrains/kotlin#kotlin-reflect/1.4.31": {
"jar": "sha256-kfrQtCl0p9WBHjCmHwVwbhdrFEI1cXxt5+geOngQKPI=",
"pom": "sha256-jkm6uEPdhV8xXIfjkMUpqcojkSHYv/uFs6z6L2BgNpc="
},
"org/jetbrains/kotlin#kotlin-script-runtime/1.4.31": {
"jar": "sha256-t/j6k4MVJ2wTV7xr+VUDTUZ+20JCuxKjlscPNqxI0/k=",
"pom": "sha256-BnvN9hLIGnhfkdeSR4VpM6ulX9gUEAk8US6Qp+VOs4c="
},
"org/jetbrains/kotlin#kotlin-scripting-common/1.4.31": {
"jar": "sha256-7Gb0SktBsyUsvAkcnXwJa8i7WaIRGCt913xmlPCXfzw=",
"pom": "sha256-SZt/nSwkShmt9lDZOmOKIUYYm555w57W2jok/N1EQOU="
},
"org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/1.4.31": {
"jar": "sha256-0t+NwkUxRqwnvOwBiQxM9rBNGIZbFtnTFWYcqoc4c5I=",
"pom": "sha256-08xMx05y+9GrwJI5/eU/y2DkqAiZqokUfHIqzjN3MRY="
},
"org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/1.4.31": {
"jar": "sha256-oWYNbJIDA+MEgTI51PjKD/gB8iQl1C3454+twFe6fAY=",
"pom": "sha256-v1odNDN3icu4zbwipO9OGBnUod+yoRdRjnRc+PrrBVE="
},
"org/jetbrains/kotlin#kotlin-scripting-jvm/1.4.31": {
"jar": "sha256-/A0P+l0IOsnJS8f4aUmgV+L5cRISs/xyt0X2eLPM/6o=",
"pom": "sha256-ZwY1ME+KCaH0smigpfb/klIwc7DNootBdASK6tfLHyk="
},
"org/jetbrains/kotlin#kotlin-stdlib-common/1.4.31": {
"jar": "sha256-V5YvRDcadGtnghiggCqHEsYlUgbemmnt4hXjqksERwg=",
"pom": "sha256-FYKrEwto/LuJsukVVzwfmfi6O8aP3UUfazYtbFM1MYc="
},
"org/jetbrains/kotlin#kotlin-stdlib/1.4.31": {
"jar": "sha256-dqWZ2IsWforJCHm22qcixq00UrpxTJq6Gb0ZZUS5fxw=",
"pom": "sha256-hRnj56xe5wBSfuEEiOtDLxqhBtzN3nwGw7qyWKHdvU4="
},
"org/jetbrains/kotlin#kotlin-util-io/1.4.31": {
"jar": "sha256-742OP5+fXt4dcNPcIXRsiQySCi9APVaeHNW1KIE6XMA=",
"pom": "sha256-0JWe1skYAwhX/3VMyTLA44GDawd4IsoChO5uftTyItY="
},
"org/jetbrains/kotlin#kotlin-util-klib/1.4.31": {
"jar": "sha256-K8ihVTz6jLbeitaN50bY+thxQbF3SfCLpQcMaUxr2W0=",
"pom": "sha256-4VfHncwf0BzZaSstV21gbs9q8hGHhv6gTa/IBLpm93c="
},
"org/jetbrains/kotlinx#kotlinx-coroutines-core/1.3.8": {
"jar": "sha256-+Mi3SF1KV1445elJRVOdHU7M0yKKGZ4amqCU6MJhdO4=",
"pom": "sha256-JP+mW9+32JM0nLLnj7NxSkkN0KnAc3V0S7E26YBIB/0="
},
"org/ow2#ow2/1.5": {
"pom": "sha256-D4obEW52C4/mOJxRuE5LB6cPwRCC1Pk25FO1g91QtDs="
},
"org/ow2/asm#asm-analysis/9.1": {
"jar": "sha256-gaiAQbG4vtpaiplkYJgEbEhwlTgnDEne9oq/8lrDvjQ=",
"pom": "sha256-rFRUwRsDQxypUd9x+06GyMTIDfaXn5W3V8rtOrD0cVY="
},
"org/ow2/asm#asm-commons/9.1": {
"jar": "sha256-r8sm3B/BLAxKma2mcJCN2C4Y38SIyvXuklRplrRwwAw=",
"pom": "sha256-oPZRsnuK/pwOYS16Ambqy197HHh7xLWsgkXz16EYG38="
},
"org/ow2/asm#asm-tree/9.1": {
"jar": "sha256-/QCvpJ6VlddkYgWwnOy0p3ao/wugby1ZuPe/nHBLSnM=",
"pom": "sha256-tqANkgfANUYPgcfXDtQSU/DSFmUr7UX6GjBS/81QuUw="
},
"org/ow2/asm#asm-util/9.1": {
"jar": "sha256-OA4uzRb3zA8adrqboEkXm1dgpXsoKoekxlPK7/LNW9Y=",
"pom": "sha256-jd108aHiuTxwnZdtAgXnT7850AVwPJYmpe1cxXTK+88="
},
"org/ow2/asm#asm/9.1": {
"jar": "sha256-zaTeRV+rSP8Ly3xItGOUR9TehZp6/DCglKmG8JNr66I=",
"pom": "sha256-xoOpDdaPKxeIy9/EZH6pQF71kls3HBmfj9OdRNPO3o0="
},
"org/slf4j#slf4j-api/1.7.25": {
"jar": "sha256-GMSgCV1cHaa4F1kudnuyPSndL1YK1033X/OWHb3iW3k=",
"pom": "sha256-fNnXoLXZPf1GGhSIkbQ1Cc9AOpx/n7SQYNNVTfHIHh4="
},
"org/slf4j#slf4j-parent/1.7.25": {
"pom": "sha256-GPXFISDbA26I1hNviDnIMtB0vdqVx1bG9CkknS21SsY="
},
"org/sonatype/oss#oss-parent/7": {
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
},
"org/sonatype/oss#oss-parent/9": {
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
}
},
"https://repo.maven.apache.org/maven2": {
"com/fasterxml#oss-parent/48": {
"pom": "sha256-EbuiLYYxgW4JtiOiAHR0U9ZJGmbqyPXAicc9ordJAU8="
},
"com/fasterxml/jackson#jackson-base/2.14.0": {
"pom": "sha256-tZryboho1AOOURYUvXa7t0A2NXOVGWAvEOfaCTFYKw8="
},
"com/fasterxml/jackson#jackson-base/2.14.1": {
"pom": "sha256-GAFdG6y6mhRiWovxlBH1v62C0AYN83snvQLngTLEZ24="
},
"com/fasterxml/jackson#jackson-bom/2.14.0": {
"pom": "sha256-SfD44IeIL07MwxErYBt91RKZRyOklDo3oQ7LgHMiZso="
},
"com/fasterxml/jackson#jackson-bom/2.14.1": {
"pom": "sha256-eP35nlBQ/EhfQRfauMzL+2+mxoOF6184oJtlU3HUpsw="
},
"com/fasterxml/jackson#jackson-parent/2.14": {
"pom": "sha256-CQat2FWuOfkjV9Y/SFiJsI/KTEOl/kM1ItdTROB1exk="
},
"com/fasterxml/jackson/core#jackson-annotations/2.14.1": {
"jar": "sha256-0lW0uGP/jscUqPlvpVw0Yh1D27grgtP1dHZJakwJ4ec=",
"module": "sha256-JnpoC7csvXUsdreeuQiuDAq+sRT8scIKlnjwN4iYues=",
"pom": "sha256-id8WI4ax7eg6iATpCDlw0aYr310caenpkUdhtGf4CIM="
},
"com/fasterxml/jackson/core#jackson-core/2.14.1": {
"jar": "sha256-ARQYfilrNMkxwb+eWoQVK2K/q30YL1Yj85gtwto15SY=",
"module": "sha256-fIuANfkA8/HL2wa4x53CsYsR9q+hOwt0cZzuNJ/0wyk=",
"pom": "sha256-dHse68uLbe8o+u7cCSN0jxwVP8aksNjjsLyo3l/aY38="
},
"com/fasterxml/jackson/core#jackson-databind/2.14.1": {
"jar": "sha256-QjoMgG3ks/petKKGmDBeOjd3xzHhvPobLzo3YMe253M=",
"module": "sha256-2BeXfIprCq7aUZ+yp7jcugKzjDwnICT62jLFzOfj08s=",
"pom": "sha256-etsj1tdG7c+UbRwGKxmP+aAmwOIrMHuNXXnB4IU4xjU="
},
"com/fasterxml/jackson/dataformat#jackson-dataformat-toml/2.14.0": {
"module": "sha256-CsCosk9G8UO74qeQCyh914XgMRuf7s92MG2Is1aJBl0=",
"pom": "sha256-UbvlEh00Ij7Yc8nN6DWTvDl+mCSkknNvv7wuA65QrhA="
},
"com/fasterxml/jackson/dataformat#jackson-dataformat-toml/2.14.1": {
"jar": "sha256-EwRbLsSlXKVS8JF5N83Qt7rp1a5AnJVfbw0We5HIYkE=",
"module": "sha256-fYt0DCgjZAjWkDDdCewOQgy08dBIZEhM/muNxnJro8g=",
"pom": "sha256-k3qvGFoaW0g5TmkQusBVM+iPu8ICREy5aZ2D4BpNprc="
},
"com/fasterxml/jackson/dataformat#jackson-dataformats-text/2.14.0": {
"pom": "sha256-6tGzXPQ8iianI2wDCKi/w+5InCkyiOBRPqvLXnIyS4o="
},
"com/fasterxml/jackson/dataformat#jackson-dataformats-text/2.14.1": {
"pom": "sha256-+jI/nD8sJtfMzU4hNgkQRRVNRdwcFmHU+HakcfVix1k="
},
"com/google/code/findbugs#jsr305/3.0.2": {
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
},
"com/google/protobuf#protobuf-bom/3.21.11": {
"pom": "sha256-b8t65uskGL00Pp3E4ED3nFk+9W957j0NKiEZzk/nr7Q="
},
"com/google/protobuf#protobuf-bom/3.21.12": {
"pom": "sha256-O72GqUBXpnHmPVX532EsZBlz1ecNba4qtFYk/xrfUcU="
},
"com/google/protobuf#protobuf-javalite/3.21.11": {
"jar": "sha256-2HsppVT9lD3WH0lPJjeyDeKI27EsS87oXp/k4q2JRFM=",
"pom": "sha256-RnCf68zs39yLZXU+9Bs5E7cPC2Ipu7U5XYCYXtziW/U="
},
"com/google/protobuf#protobuf-javalite/3.21.12": {
"jar": "sha256-z2eKs/vJkvS0ZUqGwDVXwhkE1jUgK2doj8suykQsLUA=",
"pom": "sha256-JX9QiTSYkVb912RUQ9uf4lbX06pEx93oMCfYHW6MutQ="
},
"com/google/protobuf#protobuf-parent/3.21.11": {
"pom": "sha256-kZpCn8dl43GYT5jpgoEcn6jMTqxgt0tEJM/NgMruCG8="
},
"com/google/protobuf#protobuf-parent/3.21.12": {
"pom": "sha256-fj44jW/7fyDmb/JfRbk3i0Igt7L9Jh9rO8IGs9/4u8g="
},
"com/googlecode/libphonenumber#libphonenumber-parent/8.12.54": {
"pom": "sha256-MzfHf0YxCWHoxuXPv4zgRDIXpDNqhqRneipt5U8mqHo="
},
"com/googlecode/libphonenumber#libphonenumber/8.12.54": {
"jar": "sha256-sjeB0pk7ailmUzsvWOEfM5L8FB+J6NVYNdo4Nl3guuk=",
"pom": "sha256-/SZ9HcfjYSkf+MEAbrBvTv2isfEt/jhTXZVf/sDBl/E="
},
"com/kohlschutter#kohlschutter-parent-multirelease/1.5.1": {
"pom": "sha256-m8IGSgNZlu+KoTo39gEtr+wrj7Ixf0gK0vYOcUu/BTM="
},
"com/kohlschutter#kohlschutter-parent/1.5.1": {
"pom": "sha256-QOM4M3T7g/qqpHW7scFy920D5DLYbpgsnfTO+ZQDh40="
},
"com/kohlschutter/junixsocket#junixsocket-common/2.6.1": {
"jar": "sha256-k9Eg4tSd31v97oJYdi/IdLJsZX8Cf41szBoFUVa/zeE=",
"pom": "sha256-RRjCFVtlyk9jbQJRRBK1kIFdbAsYKMsV8vUlXcA2Qzo="
},
"com/kohlschutter/junixsocket#junixsocket-native-common/2.6.1": {
"jar": "sha256-Yfu9bP0rbfZcDnsZsW/091XWyx0zO1ZvQoZAfxLxhnA=",
"pom": "sha256-t4zAQTztX2+M2jYiG5Yg0Bq4PPJMlwN2vEqH31S4jAQ="
},
"com/kohlschutter/junixsocket#junixsocket/2.6.1": {
"pom": "sha256-crOETfvf8/Nc6WPPHBro4cxJa/SoJMYFYb6QQvVHtfQ="
},
"com/squareup/okhttp3#logging-interceptor/4.10.0": {
"jar": "sha256-JzuiGGNsNPegkcBZ0VlgBUPgPqi+7yxfxWUltHOWFg4=",
"module": "sha256-/MsMrtTFnKXjEketzz+Zu9FeWn8NI8me4UbeMd0BhSI=",
"pom": "sha256-t/v3nfpIMFDEygZTdhoh0A1YWBkVUHo9nVGctmJgv98="
},
"com/squareup/okhttp3#okhttp/4.10.0": {
"jar": "sha256-dYDxT6FpEgbjcIGtP5IGOxYDsyjaC7MW8v7wLgVi5+w=",
"module": "sha256-bDBwggtZH17IwpSEl7Wmt0L0krcVvKz0t1EVs6j/qxU=",
"pom": "sha256-x/kgsofIOOHYHipj+Gd7svqZE3BYorEeZTWv3pyBoOU="
},
"com/squareup/okio#okio-jvm/3.2.0": {
"jar": "sha256-tkK670xXAFXeTLPRZnsrFtztkB/4BmNFoGNpGqBgJaQ=",
"module": "sha256-p3jzkIXtar/NaHESmGxjhapXrC2IQLIdlGs8IJXzDqQ=",
"pom": "sha256-XEUflKdr6oYbbvK/hOj1cgBUWWjIZVWr3+0Tx8otSJ0="
},
"com/squareup/okio#okio/3.2.0": {
"module": "sha256-aB9c7BcN5FuVST6e5wWGjrNa34mO4G+W4i0ZclDBsQQ=",
"pom": "sha256-i0b1jZua6xF4Nh1YpoZfTa1mWTDF/3tV4LqmHvOpcqE="
},
"info/picocli#picocli/4.7.0": {
"jar": "sha256-P2/7EM6FPvL2+TS0Z8zBPJwXCLTYOhpWZP2wfgeOjhw=",
"pom": "sha256-TeCd0zhFd9Vzo9lP85jNe4SUbEJkDzhSva2X9yl0YXQ="
},
"io/prometheus#parent/0.16.0": {
"pom": "sha256-citVEZCXsE1xFHnftg3VSye1kgoa63cCAnxEohX/xZY="
},
"io/prometheus#simpleclient/0.16.0": {
"jar": "sha256-IsN08jf3vE/bHw7C2jecC6AOaa0v/otq3lQ9cwYtN38=",
"pom": "sha256-/sCA0HqxWHXZccSugflR2mG1z/mZHPUOUwuo/KR3CXM="
},
"io/prometheus#simpleclient_common/0.16.0": {
"jar": "sha256-66bsJs5+QMu4cl4F+4Mkep9PRJRbnnUi4zdd3me58Fk=",
"pom": "sha256-d/ARCc4VB710Q+InJzdnSydST6rLDcuW47jt4LarnrY="
},
"io/prometheus#simpleclient_hotspot/0.16.0": {
"jar": "sha256-E08VbP60TL04ZAZYBu9dtVQ8aK9XjR1+5ZKD4umFP3M=",
"pom": "sha256-0haTfecjEg+3pMiLksW+oZEa+4i6dtDUjxdprYW2dek="
},
"io/prometheus#simpleclient_httpserver/0.16.0": {
"jar": "sha256-yrh94QtqR0FRzO68O2NDKalz/7YCzm7+8sD9l6kDZcg=",
"pom": "sha256-PGR/1vVhohsZ7ZcdBBn9Ri2fg/k0e8ChBaHCie6qqsQ="
},
"io/prometheus#simpleclient_tracer/0.16.0": {
"pom": "sha256-OBK7IrlfgbTDRg6eTnXDunL6ReRDqfzlMghCqr0OmcI="
},
"io/prometheus#simpleclient_tracer_common/0.16.0": {
"jar": "sha256-6Ep4SsjiTxgu5i2oC2tcgUB3S3W/pL+cw9O4OQ22JfY=",
"pom": "sha256-X5AHXOz80RKB3pzLSJaNEhKyRnDWhP/IQEQaUq6HXv8="
},
"io/prometheus#simpleclient_tracer_otel/0.16.0": {
"jar": "sha256-oqhMWb7zeWu3+cbyrot96LkFMT7ygYCsPef/Yd1o3z8=",
"pom": "sha256-frl58dwz6L5OWtFDDlQJcYpBeDwmd5qzEFJg9rQ20EY="
},
"io/prometheus#simpleclient_tracer_otel_agent/0.16.0": {
"jar": "sha256-etK7QN90p3LZ9URaPQNXm0nWs3pH1ekPbPP1ns9BrQY=",
"pom": "sha256-VSj4WIQ1SulNm8BnR+f1iS0JLAtVBVrnBWZo6gyhznw="
},
"io/reactivex/rxjava3#rxjava/3.0.13": {
"jar": "sha256-WYq69x28lw3Qcn5tX094bcmZ31uXLL8mExajLhVbLGk=",
"module": "sha256-khiPWj8bL7xUkxB3AKetrnAsHXc8TO02auitkjj2q+g=",
"pom": "sha256-yZCmX0c2tGOe0X1nhMqUdtPClRuGUqAKVnbAKHw24OQ="
},
"io/sentry#sentry/6.11.0": {
"jar": "sha256-77Huk5ks2xQSGMB71siYkzkvwzzcAaqHZjOuJNc8Wa4=",
"pom": "sha256-gOTkmRGslV0gUJp3OFODNyge4TUUFCIslXFpoyfWIfc="
},
"org/apache#apache/24": {
"pom": "sha256-LpO7q+NBOviaDDv7nmv3Hbyej5+xTMux14vQJ13xxSU="
},
"org/apache/logging#logging-parent/5": {
"pom": "sha256-3HYwz4LLMfTUdiFgVCIa/9UldG7pZUEkD0UvcyNwMCI="
},
"org/apache/logging/log4j#log4j-api/2.19.0": {
"jar": "sha256-XMskrZ+S52jQvEVtMGGnN5USYt+APgBNLK0Ja3WojWA=",
"pom": "sha256-DKkiQ2MurHxkRF8mO+UDBLdaerv7eIXNbIH1cRJ01KU="
},
"org/apache/logging/log4j#log4j-bom/2.19.0": {
"pom": "sha256-jGp6wVCpGKIpBzNf1VZpFHMe14E2l3DVJfZMDQf+h+c="
},
"org/apache/logging/log4j#log4j-core/2.19.0": {
"jar": "sha256-tKF5b6t7/DbfAVwbQFJFkUeZfo0hWnGZ1x0F+edH5PQ=",
"pom": "sha256-c1r8+2E2GCqidn62RZdhr9MrgleR1OCJXqGpSyrbmzk="
},
"org/apache/logging/log4j#log4j/2.19.0": {
"pom": "sha256-FWJLoaVtv4ZGBgdFMlM2GPoytGQvcoUfy+kuE2vq7JQ="
},
"org/apiguardian#apiguardian-api/1.1.2": {
"jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=",
"module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=",
"pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA="
},
"org/bouncycastle#bcprov-jdk15on/1.70": {
"jar": "sha256-jzwg4+LVZdJvM+jUhXo30Nf4rDm2KnAmSW/Ksb2sMNQ=",
"pom": "sha256-bfS1t22QYgF2ZK0MooXlcVSugDYHy4nJcLOcwOAWq7A="
},
"org/checkerframework#checker-qual/3.5.0": {
"jar": "sha256-cpmQs/GKlWBvwlc4NraVi820TLUr+9G3qpwznP81paQ=",
"pom": "sha256-KDazuKeO2zGhgDWS5g/HZ7IfLRkHZGMbpu+gg3uzVyE="
},
"org/flywaydb#flyway-core/9.10.2": {
"jar": "sha256-OAf+3K2+ykuLiUCW0R2+zX8qosfO2QrDmM9/fgWzhT4=",
"pom": "sha256-2xICRB2Ebg6wWLppHmJbvq4p7Dj7HgmRtdsbhrxoeSE="
},
"org/flywaydb#flyway-parent/9.10.2": {
"pom": "sha256-HPI2yGyMqSFnUC8Fjw/IUagPpXG5UvEWUGhAqcIbOHg="
},
"org/jetbrains#annotations/13.0": {
"jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
"pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
},
"org/jetbrains/kotlin#kotlin-stdlib-common/1.6.20": {
"jar": "sha256-jaQKJSDTDcsQEhdv6T0k6C0Io+NGw34DQ7D7b2T2vgE=",
"pom": "sha256-PgTMk1HVzsQqRcBg+HM/bpTrx+NZExClGOBuiFB4mcg="
},
"org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.6.10": {
"pom": "sha256-YSIR/5MPW1LHJP92NBfVqigd1+AyXDs1yNGBIKao300="
},
"org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.6.20": {
"jar": "sha256-qi+i6BNVxNmN2X2iFpv0AfhCJhN49bHL6hqhGFXWdiA=",
"pom": "sha256-iBveiiNwhuKOA0KLTvMmj0SspfoajHb4lUdIRVyuvSE="
},
"org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.6.10": {
"pom": "sha256-Q6ZJ+nN7+zX6SvTm3jPi8IpdGRBNdYLqQNvNK2N5Csw="
},
"org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.6.20": {
"jar": "sha256-/asb8SDiteerbXiI6evAJOxrjKcpNhKWOV2rY0shNpU=",
"pom": "sha256-GEap+GBLC+HHGiEovb2diQJyAnlCf2ItK5pECsmjwwk="
},
"org/jetbrains/kotlin#kotlin-stdlib/1.6.20": {
"jar": "sha256-7rUcK2eyYjP9gdC8T4BE7ISXGIkJBXY87/2Eox4st5k=",
"pom": "sha256-oI6D3LDymFCYd94i1SZEZHbdsx6hx3Uw8sgfJNsWb5k="
},
"org/junit#junit-bom/5.9.0": {
"module": "sha256-oFTq9QFrWLvN6GZgREp8DdPiyvhNKhrV/Ey1JZecGbk=",
"pom": "sha256-2D6H8Wds3kQZHuxc2mkEkjkvJpI7HkmBSMpznf7XUpU="
},
"org/junit#junit-bom/5.9.1": {
"module": "sha256-kCbBZWaQ+hRa117Og2dCEaoSrYkwqRsQfC9c3s4vGxw=",
"pom": "sha256-sWPBz8j8H9WLRXoA1YbATEbphtdZBOnKVMA6l9ZbSWw="
},
"org/junit/jupiter#junit-jupiter-api/5.9.0": {
"jar": "sha256-PjcLy7HoV/2l8LIDckEW0CsF54j6oeslGIFKzPnPtbE=",
"module": "sha256-n5LPF5V1xN9pgpRwTRDxLozHFdaC+yDtzYrbxB/H8PQ=",
"pom": "sha256-ap2MRpjcjGkE1qwfXRMBiqf4KESbxbjO94/BQxzgghc="
},
"org/junit/jupiter#junit-jupiter-engine/5.9.0": {
"jar": "sha256-24bLszUnGfoKl4AO39CcIEY8fyq0oEaZJEQwvYlUWDs=",
"module": "sha256-sVnltbYmIiOP1v0oZPigEsHfbbK7JvEMqA4dIqzOLx0=",
"pom": "sha256-qLfR7QMvuStDJY140jmwGcX1g02swIT5l4PjTD7hLL8="
},
"org/junit/jupiter#junit-jupiter-params/5.9.0": {
"jar": "sha256-uM73mC3VPfhMlXpumsie3pZ88ubZNA70xReG4gVIxBs=",
"module": "sha256-QUkSewrR3JKJdqY4WIer3wpD9oNlRLK614OUh2kJenE=",
"pom": "sha256-DDOljPiR2vvGIfPG2cyCMnCDHrOxib3juIbMMDmQ/Ww="
},
"org/junit/jupiter#junit-jupiter/5.9.0": {
"jar": "sha256-LbLkqitegv78vxjQryDICVpD6UrZq50WvYdVfNqjl90=",
"module": "sha256-a1AJDfWdSZ4ycr41ULiBJdXJGojhzbSaEsLwi+p6hds=",
"pom": "sha256-Imsy40Pt4WvSls+36xXhmaFOQBxUJulUOsUDrM1E3JI="
},
"org/junit/platform#junit-platform-commons/1.9.0": {
"jar": "sha256-5YlLcQCUtMqvxigLiCmkOft2SQHqCuGNBu2AOIswm3o=",
"module": "sha256-SyAzP4ruVOgwRY2B0EXrjRfcBCTTEzKNtQmpzCSZsXo=",
"pom": "sha256-MJp9efG/577WChoXCKqovXGGHBKdIWhNaO305NnILCA="
},
"org/junit/platform#junit-platform-engine/1.9.0": {
"jar": "sha256-quxzX3REqfwFXiBlmN49gpwk6ceo7qbv3usZYgh/6BE=",
"module": "sha256-/3Xx1hE/RdWyXyUpUE3tiDmGoBLJtD0hrUI5jknXEGM=",
"pom": "sha256-G2rN+hUNaWYlIHYAAcaONlhl1o7xMNGZblK5SD7IYWE="
},
"org/opentest4j#opentest4j/1.2.0": {
"jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=",
"pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ="
},
"org/postgresql#postgresql/42.5.1": {
"jar": "sha256-iei/+os3uUh5RgEsaQzwTzEDlTBRwcGT2I7ja2jTZa4=",
"pom": "sha256-R8t/RdAe0XyJ5mNlrU4v8anBR5AX35QhAPSgjLYyIRw="
},
"org/reactivestreams#reactive-streams/1.0.3": {
"jar": "sha256-He4EgQctGckptiPhVeFNL2CF3AEVKaCg2+/ITPVx2GU=",
"pom": "sha256-zO1GcXX0JXgz9ssHUQ/5ezx1oG4aWNiCo515hT1RxgI="
},
"org/slf4j#slf4j-api/2.0.5": {
"jar": "sha256-9KKXRQkpGsxJ/aSnmw1Z4V4rUkCV1kIcZjkbkjh69Mk=",
"pom": "sha256-nvLaYxSfXZ7M9608lTzfwSTrbRR79444YA9Z9gXF1G4="
},
"org/slf4j#slf4j-nop/2.0.5": {
"jar": "sha256-qY7YTal6RbnblFVrKH4vWW6h3qz4j4qw0ivRt+jvANk=",
"pom": "sha256-uCIqkKiTH/PY63GgELA8JGCqBWfKaWQvUCXulWd/Ga4="
},
"org/slf4j#slf4j-parent/2.0.5": {
"pom": "sha256-FwsRsEgVAFw7TMbfeckYQ+C5UPhbWP++jUg+0hkTuYs="
},
"org/sonatype/oss#oss-parent/7": {
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
},
"org/xerial#sqlite-jdbc/3.40.0.0": {
"jar": "sha256-46G5CXh7M7s34E8lLzfkq0ekieHB1FqAmgmCw3lEXBA=",
"pom": "sha256-fI0dETimo05pNXbQe29U4h840iC4YtnhQFyy4KqIpDo="
}
}
}

View File

@ -52,6 +52,7 @@ stdenv.mkDerivation rec {
libnotify
libpulseaudio
libxkbcommon
mesa
nss
xorg.libX11
xorg.libXScrnSaver

View File

@ -1,13 +0,0 @@
Remove about:buildconfig. If used as-is, it would add unnecessary runtime dependencies.
--- a/comm/mail/base/jar.mn
+++ b/comm/mail/base/jar.mn
@@ -120,9 +120,6 @@
% override chrome://mozapps/content/profile/profileDowngrade.js chrome://messenger/content/profileDowngrade.js
% override chrome://mozapps/content/profile/profileDowngrade.xhtml chrome://messenger/content/profileDowngrade.xhtml
-* content/messenger/buildconfig.html (content/buildconfig.html)
-% override chrome://global/content/buildconfig.html chrome://messenger/content/buildconfig.html
-
comm.jar:
% content communicator %content/communicator/
content/communicator/contentAreaClick.js (content/contentAreaClick.js)

View File

@ -1,13 +1,13 @@
Remove about:buildconfig. If used as-is, it would add unnecessary runtime dependencies.
--- a/comm/mail/base/jar.mn
+++ b/comm/mail/base/jar.mn
@@ -119,9 +119,6 @@ messenger.jar:
@@ -120,9 +120,6 @@
% override chrome://mozapps/content/profile/profileDowngrade.js chrome://messenger/content/profileDowngrade.js
% override chrome://mozapps/content/profile/profileDowngrade.xhtml chrome://messenger/content/profileDowngrade.xhtml
-* content/messenger/buildconfig.html (content/buildconfig.html)
-% override chrome://global/content/buildconfig.html chrome://messenger/content/buildconfig.html
-
# L10n resources and overrides.
% override chrome://mozapps/locale/profile/profileDowngrade.dtd chrome://messenger/locale/profileDowngrade.dtd
% override chrome://global/locale/netError.dtd chrome://messenger/locale/netError.dtd
comm.jar:
% content communicator %content/communicator/
content/communicator/contentAreaClick.js (content/contentAreaClick.js)

View File

@ -1,21 +1,19 @@
{ stdenv, lib, buildMozillaMach, callPackage, fetchurl, fetchpatch, nixosTests, icu73, fetchpatch2, config }:
rec {
thunderbird = thunderbird-115;
thunderbird-115 = (buildMozillaMach rec {
let
common = { version, sha512, updateScript }: (buildMozillaMach rec {
pname = "thunderbird";
version = "115.12.2";
inherit version updateScript;
application = "comm/mail";
applicationName = "Mozilla Thunderbird";
binaryName = pname;
src = fetchurl {
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
sha512 = "182f35e8e5ece98d18dfefe106c73bc97fbc619f59772d9b3455b7c8af412021ecc5eae97a12515224e91deb814abb7a6ef7f538c450e9e77fdfd84078678038";
inherit sha512;
};
extraPatches = [
# The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.
./no-buildconfig-115.patch
./no-buildconfig.patch
];
meta = with lib; {
@ -30,10 +28,6 @@ rec {
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
license = licenses.mpl20;
};
updateScript = callPackage ./update.nix {
attrPath = "thunderbird-unwrapped";
versionPrefix = "115";
};
}).override {
geolocationSupport = false;
webrtcSupport = false;
@ -51,6 +45,30 @@ rec {
})];
});
};
in rec {
thunderbird = thunderbird-115;
thunderbird-115 = common {
version = "115.12.2";
sha512 = "182f35e8e5ece98d18dfefe106c73bc97fbc619f59772d9b3455b7c8af412021ecc5eae97a12515224e91deb814abb7a6ef7f538c450e9e77fdfd84078678038";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-115";
versionPrefix = "115";
};
};
thunderbird-128 = common {
version = "128.0esr";
sha512 = "8524fbdcc51eddf83fec439273319315c44e6d3be9e4dcf51e453ced7fd1676abdca44442dcb302c637a98b7873828168f2d2d2b635551e406645a134d09aee0";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-128";
versionPrefix = "128";
versionSuffix = "esr";
};
};
}
// lib.optionalAttrs config.allowAliases {
thunderbird-102 = throw "Thunderbird 102 support ended in September 2023";

View File

@ -3,5 +3,5 @@
}@args:
callPackage ../../browsers/firefox/update.nix ({
baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
baseUrl = "https://archive.mozilla.org/pub/thunderbird/releases/";
} // (builtins.removeAttrs args ["callPackage"]))

View File

@ -5,11 +5,11 @@
appimageTools.wrapType2 rec {
pname = "tutanota-desktop";
version = "232.240626.0";
version = "235.240712.0";
src = fetchurl {
url = "https://github.com/tutao/tutanota/releases/download/tutanota-desktop-release-${version}/tutanota-desktop-linux.AppImage";
hash = "sha256-LsLhsWrH+hRcx7hjx2GbtDMEf1oAygSwtsCxpmnZOfE=";
hash = "sha256-IhGfpHzK853b21oqhlfvXVrS1gl/4xgrZeWvBCIL1qg=";
};
extraPkgs = pkgs: [ pkgs.libsecret ];

View File

@ -26,6 +26,9 @@
stdenv.mkDerivation rec {
pname = "nextcloud-client";
# make sure an official release has been published on
# https://github.com/nextcloud-releases/desktop/releases and re-check the
# hash afterwards
version = "3.13.2";
outputs = [ "out" "dev" ];

View File

@ -1,41 +1,25 @@
{ lib
, stdenv
, buildPythonApplication
, colorama
, fetchFromGitHub
, fetchpatch
, flask
, flask-compress
, flask-socketio
, gevent-websocket
, obfs4
, psutil
, packaging
, pycrypto
, pynacl
, pyside6
, pysocks
, pytestCheckHook
, qrcode
, python3
, qt5
, requests
, snowflake
, stem
, substituteAll
, tor
, unidecode
, waitress
, werkzeug
}:
let
version = "2.6.2";
src = fetchFromGitHub {
owner = "onionshare";
repo = "onionshare";
rev = "v${version}";
hash = "sha256-J8Hdriy8eWpHuMCI87a9a/zCR6xafM3A/Tkyom0Ktko=";
};
meta = with lib; {
description = "Securely and anonymously send and receive files";
longDescription = ''
@ -63,10 +47,9 @@ let
# TODO: package meek https://support.torproject.org/glossary/meek/
meek = "/meek-not-available";
in
rec {
onionshare = buildPythonApplication {
onionshare = python3.pkgs.buildPythonApplication {
pname = "onionshare-cli";
inherit version;
src = "${src}/cli";
@ -77,8 +60,17 @@ rec {
inherit tor meek obfs4 snowflake;
inherit (tor) geoip;
})
# Remove distutils for Python 3.12 compatibility
# https://github.com/onionshare/onionshare/pull/1907
(fetchpatch {
url = "https://github.com/onionshare/onionshare/commit/1fb1a470df20d8a7576c8cf51213e5928528d59a.patch";
includes = [ "onionshare_cli/onion.py" ];
stripLen = 1;
hash = "sha256-4XkqaEhMhvj6PyMssnLfXRazdP4k+c9mMDveho7pWg8=";
})
];
propagatedBuildInputs = [
dependencies = with python3.pkgs; [
colorama
flask
flask-compress
@ -91,7 +83,6 @@ rec {
pyside6
pysocks
qrcode
qrcode
requests
stem
unidecode
@ -104,7 +95,7 @@ rec {
tor
];
nativeCheckInputs = [
nativeCheckInputs = with python3.pkgs; [
pytestCheckHook
];
@ -129,7 +120,7 @@ rec {
};
};
onionshare-gui = buildPythonApplication {
onionshare-gui = python3.pkgs.buildPythonApplication {
pname = "onionshare";
inherit version;
src = "${src}/desktop";
@ -147,9 +138,18 @@ rec {
stripLen = 1;
hash = "sha256-wfIjdPhdUYAvbK5XyE1o2OtFOlJRj0X5mh7QQRjdyP0=";
})
# Remove distutils for Python 3.12 compatibility
# https://github.com/onionshare/onionshare/pull/1907
(fetchpatch {
url = "https://github.com/onionshare/onionshare/commit/1fb1a470df20d8a7576c8cf51213e5928528d59a.patch";
includes = [ "onionshare/update_checker.py" ];
stripLen = 1;
hash = "sha256-mRRj9cALZVHw86CgU17sp9EglKhkRRcGfROyQpsXVfU=";
})
];
propagatedBuildInputs = [
dependencies = with python3.pkgs; [
onionshare
pyside6
qrcode

View File

@ -1,5 +1,5 @@
{ lib, stdenv, fetchurl, fetchFromGitHub, jdk, jre, gradle, bash, coreutils
, substituteAll, nixosTests, perl, fetchpatch, writeText }:
, substituteAll, nixosTests, fetchpatch, writeText }:
let
version = "01497";
@ -45,60 +45,17 @@ in stdenv.mkDerivation rec {
inherit bash coreutils jre seednodes;
};
# https://github.com/freenet/fred/blob/next/build-offline.sh
# fake build to pre-download deps into fixed-output derivation
deps = stdenv.mkDerivation {
pname = "${pname}-deps";
inherit src version patches;
nativeBuildInputs = [ gradle perl ];
buildPhase = ''
export GRADLE_USER_HOME=$(mktemp -d)
gradle --no-daemon build
'';
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
installPhase = ''
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/''${\($5 =~ s/okio-jvm/okio/r)}" #e' \
| sh
'';
# Don't move info to share/
forceShare = [ "dummy" ];
outputHashMode = "recursive";
# Downloaded jars differ by platform
outputHash = "sha256-CZf5M3lI7Lz9Pl8U/lNoQ6V6Jxbmkxau8L273XFFS2E=";
outputHashAlgo = "sha256";
mitmCache = gradle.fetchDeps {
inherit pname;
data = ./deps.json;
};
# Point to our local deps repo
gradleInit = writeText "init.gradle" ''
gradle.projectsLoaded {
rootProject.allprojects {
buildscript {
repositories {
clear()
maven { url '${deps}/'; metadataSources {mavenPom(); artifact()} }
}
}
repositories {
clear()
maven { url '${deps}/'; metadataSources {mavenPom(); artifact()} }
}
}
}
# using reproducible archives breaks the build
gradleInitScript = writeText "empty-init-script.gradle" "";
settingsEvaluated { settings ->
settings.pluginManagement {
repositories {
maven { url '${deps}/'; metadataSources {mavenPom(); artifact()} }
}
}
}
'';
gradleFlags = [ "-Dorg.gradle.java.home=${jdk}" ];
buildPhase = ''
gradle jar -Dorg.gradle.java.home=${jdk} --offline --no-daemon --info --init-script $gradleInit
'';
gradleBuildTask = "jar";
installPhase = ''
runHook preInstall
@ -108,7 +65,6 @@ in stdenv.mkDerivation rec {
install -Dm555 ${wrapper} $out/bin/freenet
substituteInPlace $out/bin/freenet \
--subst-var-by outFreenet $out
ln -s ${deps} $out/deps
runHook postInstall
'';

View File

@ -0,0 +1,240 @@
{
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
"!version": 1,
"https://jcenter.bintray.com": {
"io/pebbletemplates#pebble-project/3.1.5": {
"pom": "sha256-TSnFtsOFqJp3c0S4sPjcKe/j+q06e5f4faJfAnOnOJM="
},
"io/pebbletemplates#pebble/3.1.5": {
"jar": "sha256-0lOm3eWeE4aYqqruVGRh0vH2yL0qo47N00ffF8+Q1vA=",
"pom": "sha256-kGnsr9XZc4ey9mNXp1X5Ghv4kZC0yHZ6zyCJDlFAuzc="
},
"junit#junit/4.12": {
"jar": "sha256-WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo=",
"pom": "sha256-kPFj944/+28cetl96efrpO6iWAcUG4XW0SvmfKJUScQ="
},
"net/java/dev/jna#jna-platform/4.5.2": {
"jar": "sha256-8dAMFn2JIcbiPGJu+fHDrgvkc8lcaP+gErx65VqH4tY=",
"pom": "sha256-+mLh78vRkHG+SzftEFPa3AymCICzmA9Yq9SX8qnxPQU="
},
"net/java/dev/jna#jna/4.5.2": {
"jar": "sha256-DI63rPZyYWVteQBRkd66ujtr9d1gpDc1okVCk4Hb7P8=",
"pom": "sha256-nfQrTM73BF1uT7ZLg3bdCS3XTZc3zGSVx2mO7MvTxE8="
},
"org/bouncycastle#bcprov-jdk15on/1.59": {
"jar": "sha256-HDHkTjMdJeRtKTs+juLQcCimfbAR50yyRDKFrtHVnIU=",
"pom": "sha256-QeZGb3GwjQXw0+tdhFXATl42hpxjXhFq4Nt04oAD7OU="
},
"org/hamcrest#hamcrest-core/1.3": {
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
},
"org/hamcrest#hamcrest-library/1.3": {
"jar": "sha256-cR1kUi+exBCYO9MQk0KW2hNL5CVKElCAoEFuwXjfrRw=",
"pom": "sha256-HOtL+w8JiuKbk1BEsjY+ETIzE/4+0gVd+LeXN9UFYnc="
},
"org/hamcrest#hamcrest-parent/1.3": {
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
},
"org/mockito#mockito-core/1.9.5": {
"jar": "sha256-+XSDuglEufoTOqKWOHZN2+rbUew9vAIHTFj6LK7NB/o=",
"pom": "sha256-9DIR3AoX/PzVBDCr1bx0e2/SOu9FaWgrZc8rrw8gcnw="
},
"org/objenesis#objenesis/1.0": {
"jar": "sha256-xWlLVdklJ0eTgvJUGZs8ax2HgPZSrWHpylmRmIf0kag=",
"pom": "sha256-JInYiwSZ9V5173Xw8lBUV8cSxc+oR8maRvjes+fqPOs="
},
"org/slf4j#slf4j-api/1.7.25": {
"jar": "sha256-GMSgCV1cHaa4F1kudnuyPSndL1YK1033X/OWHb3iW3k=",
"pom": "sha256-fNnXoLXZPf1GGhSIkbQ1Cc9AOpx/n7SQYNNVTfHIHh4="
},
"org/slf4j#slf4j-parent/1.7.25": {
"pom": "sha256-GPXFISDbA26I1hNviDnIMtB0vdqVx1bG9CkknS21SsY="
},
"org/unbescape#unbescape/1.1.6.RELEASE": {
"jar": "sha256-WXz4fVsaTzhbnRzsl0t7SDq7PuhfxbP4tir45L7JXCw=",
"pom": "sha256-AgOVYrsyfVQcDwUHZ+kYmPo4l0eSZojMITvRG8dRJ9E="
}
},
"https://mvn.freenetproject.org": {
"org/freenetproject#freenet-ext/29": {
"jar": "sha256-MvKz1r7t9UE36i+aPr72dmbXafCWawjNF/19tZuk158="
}
},
"https://repo.maven.apache.org/maven2": {
"com/android/tools#common/22.7.2": {
"jar": "sha256-6ttGKrkD+J2cPRFUxxHwRni3mSHGgmjTQYuba/NEMk4=",
"pom": "sha256-8zhO5T3Z3fYzOUMDUs3/+WY225ZP0mzxaNvVOt8fSQg="
},
"com/android/tools#dvlib/22.7.2": {
"jar": "sha256-/a4X4WbglSc1P37HGgt/PZPMBhxkf8p73ZZjJjO7Z+s=",
"pom": "sha256-Q1HWW5dIC0kjSGhulIFI7Hp/AOVXbZjC9DHPIBxDSpw="
},
"com/android/tools#sdk-common/22.7.2": {
"jar": "sha256-l/7SZpQEdLQTNBcmSalIWvV6Qqmsmrcm2S27X6SjPpU=",
"pom": "sha256-Ln4pJV6PBhvVs706Vj7/nqu2xqmLSIHwlpzklOkrhD4="
},
"com/android/tools#sdklib/22.7.2": {
"jar": "sha256-qFsaBA/dxaWEWjBuaOK4qx/+LFMS4buyoosTvxOE7RU=",
"pom": "sha256-mGlFT4xtSEwnyYC4eIETnMx/7/Q+7g+MGkhtsbXUPSM="
},
"com/android/tools/build#builder-model/0.9.2": {
"jar": "sha256-Utfe2Ho/LgcOOyj3IdFPXtik4s6cVFlT2C3cp0XQ/pU=",
"pom": "sha256-8F2KJ7WoFcgydCbzj7DeW6zpgmAAtE4iR+vTxtcnw28="
},
"com/android/tools/build#builder-test-api/0.9.2": {
"jar": "sha256-+i52Ho1fu3bUsVJVeE2nx89qaGW03e1IDXpCxvjqbgo=",
"pom": "sha256-c2xEI3eXn7+LDkxMnGSI6Gg7In6VIXekA6LH+4SB2Fg="
},
"com/android/tools/build#builder/0.9.2": {
"jar": "sha256-Vbz5bMADnI7bU9GRVeq+1NfgGgkbZv6zrbb/acJ59Bk=",
"pom": "sha256-UaLeg+swvMwBEbTd3mkxvswC5HwpuqNgm9ErCm7kvvg="
},
"com/android/tools/build#gradle/0.9.2": {
"jar": "sha256-gX/QEcuyw4yF/39EWHwTsUCoRUrfk3/Do/KKZggULII=",
"pom": "sha256-DCk9CiNuuQYLtf32UJGE98BPy2xFGXbKkS0LysbBt7Y="
},
"com/android/tools/build#manifest-merger/22.7.2": {
"jar": "sha256-KUCCoJLJeibyMtC+EhCamQj7pI/dOfdkWTI2nONiD5Q=",
"pom": "sha256-yTWvDWMw7Lk41paAn7mIG5hMz07owjDEUP8nqVNIFv0="
},
"com/android/tools/build/gradle/maven-metadata": {
"xml": {
"groupId": "com.android.tools.build",
"lastUpdated": "20170306221012",
"release": "2.3.0"
}
},
"com/android/tools/ddms#ddmlib/22.7.2": {
"jar": "sha256-NZ5F7s1IkUbifaIimc7nOzYL1Ox/wCfb2zXKys5BOfk=",
"pom": "sha256-YrMjYBcQ4UiBuJ/LDEJ/DfnNbewtmiY+F17jMt8iMXY="
},
"com/android/tools/external/lombok#lombok-ast/0.2.2": {
"jar": "sha256-Ww2J1DBMXGFGDkijsPMTf3EitDOBuLtQWr9HzF/bmoE=",
"pom": "sha256-iuaeannJXNEvRP80ak/B1wrnLTlkqnk3cTbGPIv0074="
},
"com/android/tools/layoutlib#layoutlib-api/22.7.2": {
"jar": "sha256-X/eOSXu1N9Hi9toYoVGvyQZ7Cj6Q6KQvHJldOxd0kSw=",
"pom": "sha256-dyDIj0DkMDb+tWMd2uEnO8XSwURDnqGK3/p0J3LzHnM="
},
"com/android/tools/lint#lint-api/22.7.2": {
"jar": "sha256-1faoCgpY1ycOFmiZGr+akAkteBBqy1qDRGddCv71Tv4=",
"pom": "sha256-gs32TSJflZ0SMJzK4k21b17zmJzn27TrE/oEW01RaQM="
},
"com/android/tools/lint#lint-checks/22.7.2": {
"jar": "sha256-Hrp9wZ3RAhpR3BkT5obPwe4yrP3e26H3NZf2X6ghXzM=",
"pom": "sha256-5/n3/kXskHm5S/kCh6xSbyGQ6/vJyU3LJsGhsG2+uM8="
},
"com/android/tools/lint#lint/22.7.2": {
"jar": "sha256-vyzGoCzhz2/wdqBBo6GC8G8chqZfU/vR69VK/cxqjrg=",
"pom": "sha256-PPoEnyzLSe5u7n55c5WjqGrpizxkIIINKEb+B6bqKlc="
},
"com/google/guava#guava-parent/15.0": {
"pom": "sha256-9RllyaeD1msuchhUmHcfYJsJcQik/g9xfPwzCBWV2js="
},
"com/google/guava#guava/15.0": {
"jar": "sha256-ejRXV3DuvGClR2YW42dqbLbyl1x4xBXipgFKxyS6V4M=",
"pom": "sha256-lxBXG7i0qZL0X/gKSOL+Ws7cdD6/iD1M/cuSBgIruFs="
},
"com/squareup#javawriter/2.2.1": {
"jar": "sha256-HIIW3l9u2UaerpQhAybEt/5hFmvlAnaOkCd5xqe6vOo=",
"pom": "sha256-XNmnCSuBlmCSc4cBpL28LkoDm/r8E6NcfKCYEc+7MPA="
},
"commons-codec#commons-codec/1.4": {
"jar": "sha256-aqQjTHTzoQNXUaJYIlRYZ8jDcnElpkK24ElmXRhjYxs=",
"pom": "sha256-9fMAaUIboBPna+znYEB9zIACJGHclVXcvXX9sG2aQI8="
},
"commons-logging#commons-logging/1.1.1": {
"jar": "sha256-zm+RPK0fDbOq1wGG1lxbx//Mmpnj/o4LE3MSgZ98Ni8=",
"pom": "sha256-0PLhbQVOi7l63ZyiZSXrI0b2koCfzSooeH2ozrPDXug="
},
"kxml2#kxml2/2.3.0": {
"pom": "sha256-CVvyT0be2d4LZsqdZx3PVPj2FbqVFQsaMTw0dcVf1qU="
},
"net/sf/kxml#kxml2/2.3.0": {
"jar": "sha256-8mTdn3mh/eEM5ezFMiHv8kvkyTMcgwt9UvLwintjPeI=",
"pom": "sha256-Mc5gb06VGJNimbsNJ8l4+mHhhf0d58mHT+lZpT40poU="
},
"net/sf/proguard#proguard-base/4.10": {
"jar": "sha256-pCU0cXeR5+2oMDYTNzWP4siLCRmAEfnu0epVkfNUTyQ=",
"pom": "sha256-iYTsEfuzfC9fj1aDRT2mLVtGYU8VxVBxJUH9isYqnWs="
},
"net/sf/proguard#proguard-gradle/4.10": {
"jar": "sha256-ijb/GXYIYcPPWijb4aadk+aEfi5aadg5PQhkQv8R0Ms=",
"pom": "sha256-kZNouji8XuG6t3YYOqf2HKBaDg1syDbiOhByk59mK5E="
},
"net/sf/proguard#proguard-parent/4.10": {
"pom": "sha256-31W088lOxk4iyZFZ/VmWktA9VNdaFRMXMqovUDOeLGM="
},
"org/apache#apache/4": {
"pom": "sha256-npMjomuo6yOU7+8MltMbcN9XCAhjDcFHyrHnNUHMUZQ="
},
"org/apache/commons#commons-compress/1.0": {
"jar": "sha256-CehOeXeMoboVtzNll6MhRX/CJb1dQfe0aTXSeSL8KnQ=",
"pom": "sha256-O4swzTU6QIV7IEMRzGQVBLATSET8lhOMIkMlniAo/5E="
},
"org/apache/commons#commons-parent/11": {
"pom": "sha256-ueAwbzk0YBBbij+lEFJQxSkbHvqpmVSs4OwceDEJoCo="
},
"org/apache/commons#commons-parent/5": {
"pom": "sha256-i9YywAvfgKfeNsIrYPEkUsFH2Oyi8A151maZ6+faoCo="
},
"org/apache/httpcomponents#httpclient/4.1.1": {
"jar": "sha256-6uUm0Ipmeb9soTjUWgAFsgum7EpAJ4i+gQlwcTyOR1E=",
"pom": "sha256-rboX2TSKl9TOBfKCZ5cP2BlcYaVssG1eDdFfr/YP4qc="
},
"org/apache/httpcomponents#httpcomponents-client/4.1": {
"pom": "sha256-UhW2SHmMbI2bnN42QtO/taTMiUt8hBEAQ1Ln3l0RmCc="
},
"org/apache/httpcomponents#httpcomponents-client/4.1.1": {
"pom": "sha256-R1KE5emVUm1+dxUTSgdBLOctWYUEY0I4P13kGIoCKlM="
},
"org/apache/httpcomponents#httpcomponents-core/4.1": {
"pom": "sha256-T3l//Zw9FW3g2+wf0eY+n9hYSpPHBDV2VT38twb2TeQ="
},
"org/apache/httpcomponents#httpcore/4.1": {
"jar": "sha256-POON5R9OJGaMbRhAV6jQhUH56BXS0xnQ9GLwgwkrKc8=",
"pom": "sha256-T8hq+jjpyfqwmcz0XCvHQ9RT5qsiJJCr/oZxl1w8cyc="
},
"org/apache/httpcomponents#httpmime/4.1": {
"jar": "sha256-MWKVZhSOikdoiuQ7Qgq8Ps14PtFbM768AIJL8kybFao=",
"pom": "sha256-2zzZW+wQAWBeFlPyhD6FQucS+iu2cv2cjBrOhsV2c9E="
},
"org/apache/httpcomponents#project/4.1.1": {
"pom": "sha256-IbtNRN/1TjOjfBGvaYWacUICrgCWmqtUU+unJ2aI+Ow="
},
"org/bouncycastle#bcpkix-jdk15on/1.48": {
"jar": "sha256-U0czNrTlqtd5aKGLFsVNFc28Q/Plehh4eZ7faUHQujc=",
"pom": "sha256-v3z/mqxILUKuuKFVHQDrZ81DbsjNThJuyKHgnITdIX0="
},
"org/bouncycastle#bcprov-jdk15on/1.48": {
"jar": "sha256-gEt+Ljuax3Hf07Q94WZmrGAI+GAPSPKN3JTjmhFOIog=",
"pom": "sha256-KRIr50qOwbT8VB49opmL62Irw4wEuovx9Vk4aReCeYI="
},
"org/eclipse/jdt/core/compiler#ecj/4.2.2": {
"jar": "sha256-THTfiGENZzssdL9bSLYoS65C+biA8K2JqK2mn+hKDXA=",
"pom": "sha256-sh7YTnfE/FhyYqADSzUx+vt+WxGlMWqbjKo/47fqYj0="
},
"org/ow2#ow2/1.3": {
"pom": "sha256-USFcZ9LAaNi30vb4D1E3KgmAdd7MxEjUvde5h7qDKPs="
},
"org/ow2/asm#asm-analysis/4.0": {
"jar": "sha256-3VOXq69XIxBJrLEBxFHlmKlHpd0YKYMneVNc/cK68U4=",
"pom": "sha256-7U8zeG58CrtuaOYcK047V7WLFOqu/ewxtwkCXja3/Hg="
},
"org/ow2/asm#asm-parent/4.0": {
"pom": "sha256-QFr+Cu5AfJEcXkqoCpSdtVOS8XleE8oCrnKdFV30rBg="
},
"org/ow2/asm#asm-tree/4.0": {
"jar": "sha256-2LAWoiBbLhQdtCbAQdKubQ1ButBQBioqUXWiWdNkF9o=",
"pom": "sha256-eskVIWBDQDSQMyuS1unIoqd5QIyy1kgdqdOjXtGKLvw="
},
"org/ow2/asm#asm/4.0": {
"jar": "sha256-+y3ekCCke7AkxD2d4KlOc6vveTvwjwE1TMl8stLiqVc=",
"pom": "sha256-5jzvroWeRrEtOd1Yh3oZ+JN0pM6xvLE2Fz+nbUfXhtc="
},
"org/sonatype/oss#oss-parent/7": {
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
}
}
}

View File

@ -54,7 +54,7 @@ assert withQt -> qt6 != null;
stdenv.mkDerivation rec {
pname = "wireshark-${if withQt then "qt" else "cli"}";
version = "4.2.5";
version = "4.2.6";
outputs = [ "out" "dev" ];
@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
repo = "wireshark";
owner = "wireshark";
rev = "v${version}";
hash = "sha256-g0b0YGWQzWsALVnNJl/WQGl9J2QjaLnry2VL6qvN1FQ=";
hash = "sha256-zlFTUgsEKraE9crS5SZ13r93JJzUb6eyBhusJbbGwsE=";
};
patches = [

View File

@ -13,11 +13,11 @@
stdenv.mkDerivation rec {
pname = "appflowy";
version = "0.6.2";
version = "0.6.3";
src = fetchzip {
url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-${version}-linux-x86_64.tar.gz";
hash = "sha256-vwhFFSdKlt2Ddikhdr3uyILjTVdgCjMtAW9HeLmT5qU=";
hash = "sha256-u8Y676sBLDI57z7Zpe72ELaibe83EFwB0oq+ondRIcU=";
stripRoot = false;
};

View File

@ -2,7 +2,6 @@
, stdenv
, fetchFromGitHub
, fetchurl
, fetchpatch
, aqbanking
, boost
, cmake
@ -28,12 +27,12 @@
stdenv.mkDerivation rec {
pname = "gnucash";
version = "5.6";
version = "5.8";
# raw source code doesn't work out of box; fetchFromGitHub not usable
src = fetchurl {
url = "https://github.com/Gnucash/gnucash/releases/download/${version}/gnucash-${version}.tar.bz2";
hash = "sha256-tLQsYmNQ8+effKHyFzVFzGPd7hrd8kYLGh8iIhvyG9E=";
hash = "sha256-osgj+3ALnUWYaS7IE5SVm944jY7xke/k6iwCQmu1JZM=";
};
nativeBuildInputs = [
@ -79,12 +78,6 @@ stdenv.mkDerivation rec {
# this patch disables a flaky test
# see https://bugs.gnucash.org/show_bug.cgi?id=799289
./0005-disable-test-lots.patch
# Fix importing QIF by backporting a fix. remove on next release
# https://bugs.gnucash.org/show_bug.cgi?id=799262
(fetchpatch {
url = "https://github.com/Gnucash/gnucash/commit/b33b864c2fa0ba72d1940465e7fa962dd36833c9.patch";
hash = "sha256-A8pYW6CcNFBGC/MDijnuFJdlNAzSDS6Tcj+haCcEI/M=";
})
];
# this needs to be an environment variable and not a cmake flag to suppress
@ -108,7 +101,7 @@ stdenv.mkDerivation rec {
owner = "Gnucash";
repo = "gnucash-docs";
rev = version;
hash = "sha256-rQZoau466Bi/YpPj1XpSsm67FgTYhiMfZfogTtn+m1k=";
hash = "sha256-3b1Nue3eEefDi4WI+o3ATfrsQ+H/I+QwTr4Nuc9J7Zg=";
};
nativeBuildInputs = [ cmake ];

View File

@ -1,165 +0,0 @@
{ lib, stdenv, fetchFromGitHub, unzip, jdk, ib-tws, xpra }:
stdenv.mkDerivation rec {
version = "2.14.0";
pname = "ib-controller";
src = fetchFromGitHub {
owner = "ib-controller";
repo = "ib-controller";
rev = version;
sha256 = "sha256-R175CKb3uErjBNe73HEFMI+bNmmuH2nWGraCSh5bXwc=";
};
nativeBuildInputs = [ unzip ];
buildInputs = [ jdk ib-tws ];
installPhase = ''
mkdir -p $out $out/bin $out/etc/ib/controller $out/share/IBController
cp resources/*.jar $out/share/IBController/.
cp resources/*.ini $out/etc/ib/controller/.
classpath=""
for jar in ${ib-tws}/share/IBJts/*.jar; do
classpath="$classpath:$jar"
done
for jar in $out/share/IBController/*.jar; do
classpath="$classpath:$jar"
done
# strings to use below; separated to avoid nix specific substitutions
javaOptions={JAVA_OPTIONS:--Xmx1024M}
ibProfileDir={IB_PROFILE_DIR:-~/IB/}
cat<<EOF > $out/bin/ib-tws-c
#!$SHELL
if [[ \$1 == /* ]] || [[ \$1 == ./* ]]; then
IB_USER_PROFILE=\`realpath \$1\`
IB_USER_PROFILE_TITLE=\`basename \$1\`
else
if [[ x\$1 != "x" ]] && [[ \$1 != -* ]]; then
IB_USER_PROFILE=\`realpath \$$ibProfileDir\$1\`
IB_USER_PROFILE_TITLE=\$1
else
echo "ERROR: \"\$1\" is not a valid name of a profile."
exit 1
fi
fi
shift
if [ ! -e \$IB_USER_PROFILE ]; then mkdir -p \$IB_USER_PROFILE; fi
if [ ! -d \$IB_USER_PROFILE ]; then echo "ERROR: \$IB_USER_PROFILE must be a directory!" && echo 1; fi
if [ ! -e \$IB_USER_PROFILE/jts.ini ]; then cp ${ib-tws}/etc/ib/tws/jts.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/jts.ini; fi
if [ ! -e \$IB_USER_PROFILE/IBController.ini ]; then cp $out/etc/ib/controller/IBController.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/IBController.ini; fi
if [[ \$1 == "-q" ]]; then
if [ -f \$IB_USER_PROFILE/xpra/run ]; then
${xpra}/bin/xpra stop \`cat \$IB_USER_PROFILE/xpra/run\` --socket-dir=\$IB_USER_PROFILE/xpra/ &> /dev/null
fi
exit 0
fi
if [[ \$1 == "-d" ]] && [ ! -f \$IB_USER_PROFILE/xpra/run ]; then
( sleep infinity ) &
WAIT_DUMMY_PID=\$!
( trap "" INT;
DISPLAYNUM=100
while [ -f /tmp/.X\$DISPLAYNUM-lock ]; do DISPLAYNUM=\$((\$DISPLAYNUM + 1)); done
mkdir -p \$IB_USER_PROFILE/xpra
cd \$IB_USER_PROFILE
nohup ${xpra}/bin/xpra start :\$DISPLAYNUM \
--socket-dir=\$IB_USER_PROFILE/xpra/ \
--start-child="echo -n :\$DISPLAYNUM > \$IB_USER_PROFILE/xpra/run \
&& kill \$WAIT_DUMMY_PID &> /dev/null \
&& ${jdk}/bin/java -cp $classpath \$$javaOptions ibcontroller.IBController \$IB_USER_PROFILE/IBController.ini" \
--exit-with-children \
--no-pulseaudio \
--no-mdns \
--no-notification \
--no-daemon \
&> \$IB_USER_PROFILE/xpra/server.log
rm -f \$IB_USER_PROFILE/xpra/run
rm -f /tmp/.X\$DISPLAYNUM-lock
) &
wait \$WAIT_DUMMY_PID
exit 0
fi
if [ -f \$IB_USER_PROFILE/xpra/run ]; then
${xpra}/bin/xpra attach \`cat \$IB_USER_PROFILE/xpra/run\` --socket-dir=\$IB_USER_PROFILE/xpra/ \
--windows \
--no-speaker \
--no-microphone \
--no-tray \
--title="\$IB_USER_PROFILE_TITLE: @title@" \
&> \$IB_USER_PROFILE/xpra/client.log
fi
EOF
chmod u+x $out/bin/ib-tws-c
cat<<EOF > $out/bin/ib-gw-c
#!$SHELL
if [[ \$1 == /* ]] || [[ \$1 == ./* ]]; then
IB_USER_PROFILE=\`realpath \$1\`
IB_USER_PROFILE_TITLE=\`basename \$1\`
else
if [[ x\$1 != "x" ]] && [[ \$1 != -* ]]; then
IB_USER_PROFILE=\`realpath \$$ibProfileDir\$1\`
IB_USER_PROFILE_TITLE=\$1
else
echo "ERROR: \"\$1\" is not a valid name of a profile."
exit 1
fi
fi
shift
if [ ! -e \$IB_USER_PROFILE ]; then mkdir -p \$IB_USER_PROFILE; fi
if [ ! -d \$IB_USER_PROFILE ]; then echo "ERROR: \$IB_USER_PROFILE must be a directory!" && echo 1; fi
if [ ! -e \$IB_USER_PROFILE/jts.ini ]; then cp ${ib-tws}/etc/ib/tws/jts.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/jts.ini; fi
if [ ! -e \$IB_USER_PROFILE/IBController.ini ]; then cp $out/etc/ib/controller/IBController.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/IBController.ini; fi
if [[ \$1 == "-q" ]]; then
if [ -f \$IB_USER_PROFILE/xpra/run ]; then
${xpra}/bin/xpra stop \`cat \$IB_USER_PROFILE/xpra/run\` --socket-dir=\$IB_USER_PROFILE/xpra/ &> /dev/null
fi
exit 0
fi
if [[ \$1 == "-d" ]] && [ ! -f \$IB_USER_PROFILE/xpra/run ]; then
( sleep infinity ) &
WAIT_DUMMY_PID=\$!
( trap "" INT;
DISPLAYNUM=100
while [ -f /tmp/.X\$DISPLAYNUM-lock ]; do DISPLAYNUM=\$((\$DISPLAYNUM + 1)); done
mkdir -p \$IB_USER_PROFILE/xpra
cd \$IB_USER_PROFILE
nohup ${xpra}/bin/xpra start :\$DISPLAYNUM \
--socket-dir=\$IB_USER_PROFILE/xpra/ \
--start-child="echo -n :\$DISPLAYNUM > \$IB_USER_PROFILE/xpra/run \
&& kill \$WAIT_DUMMY_PID &> /dev/null \
&& ${jdk}/bin/java -cp $classpath \$$javaOptions ibcontroller.IBGatewayController \$IB_USER_PROFILE/IBController.ini" \
--exit-with-children \
--no-pulseaudio \
--no-mdns \
--no-notification \
--no-daemon \
&> \$IB_USER_PROFILE/xpra/server.log
rm -f \$IB_USER_PROFILE/xpra/run
rm -f /tmp/.X\$DISPLAYNUM-lock
) &
wait \$WAIT_DUMMY_PID
exit 0
fi
if [ -f \$IB_USER_PROFILE/xpra/run ]; then
${xpra}/bin/xpra attach \`cat \$IB_USER_PROFILE/xpra/run\` --socket-dir=\$IB_USER_PROFILE/xpra/ \
--windows \
--no-speaker \
--no-microphone \
--no-tray \
--title="\$IB_USER_PROFILE_TITLE: @title@" \
&> \$IB_USER_PROFILE/xpra/client.log
fi
EOF
chmod u+x $out/bin/ib-gw-c
'';
meta = with lib; {
description = "Automation Controller for the Trader Work Station of Interactive Brokers";
broken = true; # Ref: https://github.com/NixOS/nixpkgs/issues/40784
homepage = "https://github.com/ib-controller/ib-controller";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.gpl3;
maintainers = [ ];
platforms = platforms.linux;
};
}

View File

@ -1,96 +0,0 @@
{ lib, stdenv, requireFile, jdk }:
stdenv.mkDerivation rec {
version = "9542";
pname = "ib-tws";
src = requireFile rec {
name = "ibtws_${version}.jar";
message = ''
This nix expression requires that ${name} is already part of the store.
Download the TWS from
https://download2.interactivebrokers.com/download/unixmacosx_latest.jar,
rename the file to ${name}, and add it to the nix store with
"nix-prefetch-url file://\$PWD/${name}".
'';
sha256 = "1a2jiwwnr5g3xfba1a89c257bdbnq4zglri8hz021vk7f6s4rlrf";
};
buildInputs = [ jdk ];
buildPhase = ''
jar -xf IBJts/jts.jar
cp trader/common/images/ibapp_icon.gif ibtws_icon.gif
'';
unpackPhase = ''
jar xf ${src}
'';
installPhase = ''
mkdir -p $out $out/bin $out/etc/ib/tws $out/share/IBJts $out/share/icons
cp IBJts/*.jar $out/share/IBJts/.
cp IBJts/*.ini $out/etc/ib/tws/.
cp ibtws_icon.gif $out/share/icons/.
classpath=""
for jar in $out/share/IBJts/*.jar; do
classpath="$classpath:$jar"
done
# strings to use below; separated to avoid nix specific substitutions
javaOptions={JAVA_OPTIONS:-'-Xmx1024M -Dawt.useSystemAAFontSettings=lcd -Dsun.java2d.xrender=True -Dsun.java2d.opengl=False'}
# OTHER JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java
ibProfileDir={IB_PROFILE_DIR:-~/IB/}
cat<<EOF > $out/bin/ib-tws
#!$SHELL
if [[ \$1 == /* ]] || [[ \$1 == ./* ]]; then
IB_USER_PROFILE=\`realpath \$1\`
IB_USER_PROFILE_TITLE=\`basename \$1\`
else
if [[ x\$1 != "x" ]] && [[ \$1 != -* ]]; then
IB_USER_PROFILE=\`realpath \$$ibProfileDir\$1\`
IB_USER_PROFILE_TITLE=\$1
else
echo "ERROR: \"\$1\" is not a valid name of a profile."
exit 1
fi
fi
shift
if [ ! -e \$IB_USER_PROFILE ]; then mkdir -p \$IB_USER_PROFILE; fi
if [ ! -d \$IB_USER_PROFILE ]; then echo "ERROR: \$IB_USER_PROFILE must be a directory!" && echo 1; fi
if [ ! -e \$IB_USER_PROFILE/jts.ini ]; then cp $out/etc/ib/tws/jts.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/jts.ini; fi
${jdk}/bin/java -cp $classpath \$$javaOptions jclient.LoginFrame \$IB_USER_PROFILE
EOF
chmod u+x $out/bin/ib-tws
cat<<EOF > $out/bin/ib-gw
#!$SHELL
if [[ \$1 == /* ]] || [[ \$1 == ./* ]]; then
IB_USER_PROFILE=\`realpath \$1\`
IB_USER_PROFILE_TITLE=\`basename \$1\`
else
if [[ x\$1 != "x" ]] && [[ \$1 != -* ]]; then
IB_USER_PROFILE=\`realpath \$$ibProfileDir\$1\`
IB_USER_PROFILE_TITLE=\$1
else
echo "ERROR: \"\$1\" is not a valid name of a profile."
exit 1
fi
fi
shift
if [ ! -e \$IB_USER_PROFILE ]; then mkdir -p \$IB_USER_PROFILE; fi
if [ ! -d \$IB_USER_PROFILE ]; then echo "ERROR: \$IB_USER_PROFILE must be a directory!" && echo 1; fi
if [ ! -e \$IB_USER_PROFILE/jts.ini ]; then cp $out/etc/ib/tws/jts.ini \$IB_USER_PROFILE/. && chmod +w \$IB_USER_PROFILE/jts.ini; fi
${jdk}/bin/java -cp $classpath -Dsun.java2d.noddraw=true \$$javaOptions ibgateway.GWClient \$IB_USER_PROFILE
EOF
chmod u+x $out/bin/ib-gw
'';
meta = with lib; {
description = "Trader Work Station of Interactive Brokers";
broken = true; # Ref: https://github.com/NixOS/nixpkgs/issues/40784
homepage = "https://www.interactivebrokers.com";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.unfree;
maintainers = [ ];
platforms = platforms.linux;
};
}

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