Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-07-19 18:01:04 +00:00 committed by GitHub
commit 2c5b83e75c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
113 changed files with 1577 additions and 415 deletions

View file

@ -456,7 +456,7 @@ In the file `pkgs/top-level/all-packages.nix` you can find fetch helpers, these
owner = "NixOS";
repo = "nix";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
hash = "ha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ=";
hash = "sha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ=";
}
```

73
lib/README.md Normal file
View file

@ -0,0 +1,73 @@
# Nixpkgs lib
This directory contains the implementation, documentation and tests for the Nixpkgs `lib` library.
## Overview
The evaluation entry point for `lib` is [`default.nix`](default.nix).
This file evaluates to an attribute set containing two separate kinds of attributes:
- Sub-libraries:
Attribute sets grouping together similar functionality.
Each sub-library is defined in a separate file usually matching its attribute name.
Example: `lib.lists` is a sub-library containing list-related functionality such as `lib.lists.take` and `lib.lists.imap0`.
These are defined in the file [`lists.nix`](lists.nix).
- Aliases:
Attributes that point to an attribute of the same name in some sub-library.
Example: `lib.take` is an alias for `lib.lists.take`.
Most files in this directory are definitions of sub-libraries, but there are a few others:
- [`minver.nix`](minver.nix): A string of the minimum version of Nix that is required to evaluate Nixpkgs.
- [`tests`](tests): Tests, see [Running tests](#running-tests)
- [`release.nix`](tests/release.nix): A derivation aggregating all tests
- [`misc.nix`](tests/misc.nix): Evaluation unit tests for most sub-libraries
- `*.sh`: Bash scripts that run tests for specific sub-libraries
- All other files in this directory exist to support the tests
- [`systems`](systems): The `lib.systems` sub-library, structured into a directory instead of a file due to its complexity
- [`path`](path): The `lib.path` sub-library, which includes tests as well as a document describing the design goals of `lib.path`
- All other files in this directory are sub-libraries
### Module system
The [module system](https://nixos.org/manual/nixpkgs/#module-system) spans multiple sub-libraries:
- [`modules.nix`](modules.nix): `lib.modules` for the core functions and anything not relating to option definitions
- [`options.nix`](options.nix): `lib.options` for anything relating to option definitions
- [`types.nix`](types.nix): `lib.types` for module system types
## Reference documentation
Reference documentation for library functions is written above each function as a multi-line comment.
These comments are processed using [nixdoc](https://github.com/nix-community/nixdoc) and [rendered in the Nixpkgs manual](https://nixos.org/manual/nixpkgs/stable/#chap-functions).
The nixdoc README describes the [comment format](https://github.com/nix-community/nixdoc#comment-format).
See the [chapter on contributing to the Nixpkgs manual](https://nixos.org/manual/nixpkgs/#chap-contributing) for how to build the manual.
## Running tests
All library tests can be run by building the derivation in [`tests/release.nix`](tests/release.nix):
```bash
nix-build tests/release.nix
```
Some commands for quicker iteration over parts of the test suite are also available:
```bash
# Run all evaluation unit tests in tests/misc.nix
# if the resulting list is empty, all tests passed
nix-instantiate --eval --strict tests/misc.nix
# Run the module system tests
tests/modules.sh
# Run the lib.sources tests
tests/sources.sh
# Run the lib.filesystem tests
tests/filesystem.sh
# Run the lib.path property tests
path/tests/prop.sh
```

View file

@ -20,6 +20,7 @@ let
concatMap
foldl'
take
drop
;
inherit (lib.strings)
@ -217,6 +218,58 @@ in /* No rec! Add dependencies on this file at the top. */ {
second argument: "${toString path2}" with root "${toString path2Deconstructed.root}"'';
take (length path1Deconstructed.components) path2Deconstructed.components == path1Deconstructed.components;
/*
Remove the first path as a component-wise prefix from the second path.
The result is a normalised subpath string, see `lib.path.subpath.normalise`.
Laws:
- Inverts `append` for normalised subpaths:
removePrefix p (append p s) == subpath.normalise s
Type:
removePrefix :: Path -> Path -> String
Example:
removePrefix /foo /foo/bar/baz
=> "./bar/baz"
removePrefix /foo /foo
=> "./."
removePrefix /foo/bar /foo
=> <error>
removePrefix /. /foo
=> "./foo"
*/
removePrefix =
path1:
assert assertMsg
(isPath path1)
"lib.path.removePrefix: First argument is of type ${typeOf path1}, but a path was expected.";
let
path1Deconstructed = deconstructPath path1;
path1Length = length path1Deconstructed.components;
in
path2:
assert assertMsg
(isPath path2)
"lib.path.removePrefix: Second argument is of type ${typeOf path2}, but a path was expected.";
let
path2Deconstructed = deconstructPath path2;
success = take path1Length path2Deconstructed.components == path1Deconstructed.components;
components =
if success then
drop path1Length path2Deconstructed.components
else
throw ''
lib.path.removePrefix: The first path argument "${toString path1}" is not a component-wise prefix of the second path argument "${toString path2}".'';
in
assert assertMsg
(path1Deconstructed.root == path2Deconstructed.root) ''
lib.path.removePrefix: Filesystem roots must be the same for both paths, but paths with different roots were given:
first argument: "${toString path1}" with root "${toString path1Deconstructed.root}"
second argument: "${toString path2}" with root "${toString path2Deconstructed.root}"'';
joinRelPath components;
/* Whether a value is a valid subpath string.

View file

@ -1,9 +1,12 @@
#!/usr/bin/env bash
# Property tests for the `lib.path` library
#
# Property tests for lib/path/default.nix
# It generates random path-like strings and runs the functions on
# them, checking that the expected laws of the functions hold
# Run:
# [nixpkgs]$ lib/path/tests/prop.sh
# or:
# [nixpkgs]$ nix-build lib/tests/release.nix
set -euo pipefail
shopt -s inherit_errexit

View file

@ -3,7 +3,7 @@
{ libpath }:
let
lib = import libpath;
inherit (lib.path) hasPrefix append subpath;
inherit (lib.path) hasPrefix removePrefix append subpath;
cases = lib.runTests {
# Test examples from the lib.path.append documentation
@ -57,6 +57,23 @@ let
expected = true;
};
testRemovePrefixExample1 = {
expr = removePrefix /foo /foo/bar/baz;
expected = "./bar/baz";
};
testRemovePrefixExample2 = {
expr = removePrefix /foo /foo;
expected = "./.";
};
testRemovePrefixExample3 = {
expr = (builtins.tryEval (removePrefix /foo/bar /foo)).success;
expected = false;
};
testRemovePrefixExample4 = {
expr = removePrefix /. /foo;
expected = "./foo";
};
# Test examples from the lib.path.subpath.isValid documentation
testSubpathIsValidExample1 = {
expr = subpath.isValid null;

View file

@ -1,6 +1,18 @@
# to run these tests:
# nix-instantiate --eval --strict nixpkgs/lib/tests/misc.nix
# if the resulting list is empty, all tests passed
/*
Nix evaluation tests for various lib functions.
Since these tests are implemented with Nix evaluation, error checking is limited to what `builtins.tryEval` can detect, which is `throw`'s and `abort`'s, without error messages.
If you need to test error messages or more complex evaluations, see ./modules.sh, ./sources.sh or ./filesystem.sh as examples.
To run these tests:
[nixpkgs]$ nix-instantiate --eval --strict lib/tests/misc.nix
If the resulting list is empty, all tests passed.
Alternatively, to run all `lib` tests:
[nixpkgs]$ nix-build lib/tests/release.nix
*/
with import ../default.nix;
let

View file

@ -1,7 +1,13 @@
#!/usr/bin/env bash
#
# This script is used to test that the module system is working as expected.
# Executing it runs tests for `lib.modules`, `lib.options` and `lib.types`.
# By default it test the version of nixpkgs which is defined in the NIX_PATH.
#
# Run:
# [nixpkgs]$ lib/tests/modules.sh
# or:
# [nixpkgs]$ nix-build lib/tests/release.nix
set -o errexit -o noclobber -o nounset -o pipefail
shopt -s failglob inherit_errexit

View file

@ -1,4 +1,11 @@
#!/usr/bin/env bash
# Tests lib/sources.nix
# Run:
# [nixpkgs]$ lib/tests/sources.sh
# or:
# [nixpkgs]$ nix-build lib/tests/release.nix
set -euo pipefail
shopt -s inherit_errexit

View file

@ -1697,6 +1697,13 @@
fingerprint = "2688 0377 C31D 9E81 9BDF 83A8 C8C6 BDDB 3847 F72B";
}];
};
azazak123 = {
email = "azazaka2002@gmail.com";
matrix = "@ne_dvoeshnik:matrix.org";
name = "Volodymyr Antonov";
github = "azazak123";
githubId = 50211158;
};
azd325 = {
email = "tim.kleinschmidt@gmail.com";
github = "Azd325";
@ -17038,6 +17045,12 @@
matrix = "@ty:tjll.net";
name = "Tyler Langlois";
};
tymscar = {
email = "oscar@tymscar.com";
github = "tymscar";
githubId = 3742502;
name = "Oscar Molnar";
};
typetetris = {
email = "ericwolf42@mail.com";
github = "typetetris";

View file

@ -1,5 +1,5 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p nix curl jq nix-prefetch-github git gnused -I nixpkgs=.
#! nix-shell -i bash -p nix curl jq git gnused -I nixpkgs=.
# See regenerate-hackage-packages.sh for details on the purpose of this script.

View file

@ -1,5 +1,5 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p nix curl jq nix-prefetch-github git gnused gnugrep -I nixpkgs=.
#! nix-shell -i bash -p nix curl jq git gnused gnugrep -I nixpkgs=.
# shellcheck shell=bash
set -eu -o pipefail

View file

@ -222,6 +222,7 @@
./programs/noisetorch.nix
./programs/npm.nix
./programs/oblogout.nix
./programs/oddjobd.nix
./programs/openvpn3.nix
./programs/pantheon-tweaks.nix
./programs/partition-manager.nix
@ -608,6 +609,7 @@
./services/misc/autorandr.nix
./services/misc/autosuspend.nix
./services/misc/bazarr.nix
./services/misc/bcg.nix
./services/misc/beanstalkd.nix
./services/misc/bees.nix
./services/misc/bepasty.nix
@ -665,6 +667,7 @@
./services/misc/mediatomb.nix
./services/misc/metabase.nix
./services/misc/moonraker.nix
./services/misc/mqtt2influxdb.nix
./services/misc/n8n.nix
./services/misc/nitter.nix
./services/misc/nix-gc.nix

View file

@ -0,0 +1,28 @@
{ config, pkgs, lib, ... }:
let
cfg = config.programs.oddjobd;
in
{
options.programs.oddjobd = {
enable = lib.mkEnableOption "oddjob";
package = lib.mkPackageOption pkgs "oddjob" {};
};
config = lib.mkIf cfg.enable {
systemd.packages = [ cfg.package ];
systemd.services.oddjobd = {
wantedBy = [ "multi-user.target"];
after = [ "network.target"];
description = "DBUS Odd-job Daemon";
enable = true;
documentation = [ "man:oddjobd(8)" "man:oddjobd.conf(5)" ];
serviceConfig = {
Type = "dbus";
BusName = "org.freedesktop.oddjob";
ExecStart = "${lib.getExe cfg.package}/bin/oddjobd";
};
};
};
}

View file

@ -0,0 +1,175 @@
{
config,
lib,
pkgs,
...
}:
with lib;
let
cfg = config.services.bcg;
configFile = (pkgs.formats.yaml {}).generate "bcg.conf.yaml" (
filterAttrsRecursive (n: v: v != null) {
inherit (cfg) device name mqtt;
retain_node_messages = cfg.retainNodeMessages;
qos_node_messages = cfg.qosNodeMessages;
base_topic_prefix = cfg.baseTopicPrefix;
automatic_remove_kit_from_names = cfg.automaticRemoveKitFromNames;
automatic_rename_kit_nodes = cfg.automaticRenameKitNodes;
automatic_rename_generic_nodes = cfg.automaticRenameGenericNodes;
automatic_rename_nodes = cfg.automaticRenameNodes;
}
);
in
{
options = {
services.bcg = {
enable = mkEnableOption (mdDoc "BigClown gateway");
package = mkOption {
default = pkgs.python3Packages.bcg;
defaultText = literalExpression "pkgs.python3Packages.bcg";
description = mdDoc "Which bcg derivation to use.";
type = types.package;
};
environmentFiles = mkOption {
type = types.listOf types.path;
default = [];
example = [ "/run/keys/bcg.env" ];
description = mdDoc ''
File to load as environment file. Environment variables from this file
will be interpolated into the config file using envsubst with this
syntax: `$ENVIRONMENT` or `''${VARIABLE}`.
This is useful to avoid putting secrets into the nix store.
'';
};
verbose = mkOption {
type = types.enum ["CRITICAL" "ERROR" "WARNING" "INFO" "DEBUG"];
default = "WARNING";
description = mdDoc "Verbosity level.";
};
device = mkOption {
type = types.str;
description = mdDoc "Device name to configure gateway to use.";
};
name = mkOption {
type = with types; nullOr str;
default = null;
description = mdDoc ''
Name for the device.
Supported variables:
* `{ip}` IP address
* `{id}` The ID of the connected usb-dongle or core-module
`null` can be used for automatic detection from gateway firmware.
'';
};
mqtt = {
host = mkOption {
type = types.str;
default = "127.0.0.1";
description = mdDoc "Host where MQTT server is running.";
};
port = mkOption {
type = types.port;
default = 1883;
description = mdDoc "Port of MQTT server.";
};
username = mkOption {
type = with types; nullOr str;
default = null;
description = mdDoc "MQTT server access username.";
};
password = mkOption {
type = with types; nullOr str;
default = null;
description = mdDoc "MQTT server access password.";
};
cafile = mkOption {
type = with types; nullOr str;
default = null;
description = mdDoc "Certificate Authority file for MQTT server access.";
};
certfile = mkOption {
type = with types; nullOr str;
default = null;
description = mdDoc "Certificate file for MQTT server access.";
};
keyfile = mkOption {
type = with types; nullOr str;
default = null;
description = mdDoc "Key file for MQTT server access.";
};
};
retainNodeMessages = mkOption {
type = types.bool;
default = false;
description = mdDoc "Specify that node messages should be retaied in MQTT broker.";
};
qosNodeMessages = mkOption {
type = types.int;
default = 1;
description = mdDoc "Set the guarantee of MQTT message delivery.";
};
baseTopicPrefix = mkOption {
type = types.str;
default = "";
description = mdDoc "Topic prefix added to all MQTT messages.";
};
automaticRemoveKitFromNames = mkOption {
type = types.bool;
default = true;
description = mdDoc "Automatically remove kits.";
};
automaticRenameKitNodes = mkOption {
type = types.bool;
default = true;
description = mdDoc "Automatically rename kit's nodes.";
};
automaticRenameGenericNodes = mkOption {
type = types.bool;
default = true;
description = mdDoc "Automatically rename generic nodes.";
};
automaticRenameNodes = mkOption {
type = types.bool;
default = true;
description = mdDoc "Automatically rename all nodes.";
};
rename = mkOption {
type = with types; attrsOf str;
default = {};
description = mdDoc "Rename nodes to different name.";
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
python3Packages.bcg
python3Packages.bch
];
systemd.services.bcg = let
envConfig = cfg.environmentFiles != [];
finalConfig = if envConfig
then "$RUNTIME_DIRECTORY/bcg.config.yaml"
else configFile;
in {
description = "BigClown Gateway";
wantedBy = [ "multi-user.target" ];
wants = mkIf config.services.mosquitto.enable [ "mosquitto.service" ];
after = [ "network-online.target" ];
preStart = ''
umask 077
${pkgs.envsubst}/bin/envsubst -i "${configFile}" -o "${finalConfig}"
'';
serviceConfig = {
EnvironmentFile = cfg.environmentFiles;
ExecStart="${cfg.package}/bin/bcg -c ${finalConfig} -v ${cfg.verbose}";
RuntimeDirectory = "bcg";
};
};
};
}

View file

@ -0,0 +1,253 @@
{
config,
lib,
pkgs,
...
}:
with lib;
let
cfg = config.services.mqtt2influxdb;
filterNull = filterAttrsRecursive (n: v: v != null);
configFile = (pkgs.formats.yaml {}).generate "mqtt2influxdb.config.yaml" (
filterNull {
inherit (cfg) mqtt influxdb;
points = map filterNull cfg.points;
}
);
pointType = types.submodule {
options = {
measurement = mkOption {
type = types.str;
description = mdDoc "Name of the measurement";
};
topic = mkOption {
type = types.str;
description = mdDoc "MQTT topic to subscribe to.";
};
fields = mkOption {
type = types.submodule {
options = {
value = mkOption {
type = types.str;
default = "$.payload";
description = mdDoc "Value to be picked up";
};
type = mkOption {
type = with types; nullOr str;
default = null;
description = mdDoc "Type to be picked up";
};
};
};
description = mdDoc "Field selector.";
};
tags = mkOption {
type = with types; attrsOf str;
default = {};
description = mdDoc "Tags applied";
};
};
};
defaultPoints = [
{
measurement = "temperature";
topic = "node/+/thermometer/+/temperature";
fields.value = "$.payload";
tags = {
id = "$.topic[1]";
channel = "$.topic[3]";
};
}
{
measurement = "relative-humidity";
topic = "node/+/hygrometer/+/relative-humidity";
fields.value = "$.payload";
tags = {
id = "$.topic[1]";
channel = "$.topic[3]";
};
}
{
measurement = "illuminance";
topic = "node/+/lux-meter/0:0/illuminance";
fields.value = "$.payload";
tags = {
id = "$.topic[1]";
};
}
{
measurement = "pressure";
topic = "node/+/barometer/0:0/pressure";
fields.value = "$.payload";
tags = {
id = "$.topic[1]";
};
}
{
measurement = "co2";
topic = "node/+/co2-meter/-/concentration";
fields.value = "$.payload";
tags = {
id = "$.topic[1]";
};
}
{
measurement = "voltage";
topic = "node/+/battery/+/voltage";
fields.value = "$.payload";
tags = {
id = "$.topic[1]";
};
}
{
measurement = "button";
topic = "node/+/push-button/+/event-count";
fields.value = "$.payload";
tags = {
id = "$.topic[1]";
channel = "$.topic[3]";
};
}
{
measurement = "tvoc";
topic = "node/+/voc-lp-sensor/0:0/tvoc";
fields.value = "$.payload";
tags = {
id = "$.topic[1]";
};
}
];
in {
options = {
services.mqtt2influxdb = {
enable = mkEnableOption (mdDoc "BigClown MQTT to InfluxDB bridge.");
environmentFiles = mkOption {
type = types.listOf types.path;
default = [];
example = [ "/run/keys/mqtt2influxdb.env" ];
description = mdDoc ''
File to load as environment file. Environment variables from this file
will be interpolated into the config file using envsubst with this
syntax: `$ENVIRONMENT` or `''${VARIABLE}`.
This is useful to avoid putting secrets into the nix store.
'';
};
mqtt = {
host = mkOption {
type = types.str;
default = "127.0.0.1";
description = mdDoc "Host where MQTT server is running.";
};
port = mkOption {
type = types.port;
default = 1883;
description = mdDoc "MQTT server port.";
};
username = mkOption {
type = with types; nullOr str;
default = null;
description = mdDoc "Username used to connect to the MQTT server.";
};
password = mkOption {
type = with types; nullOr str;
default = null;
description = mdDoc ''
MQTT password.
It is highly suggested to use here replacement through
environmentFiles as otherwise the password is put world readable to
the store.
'';
};
cafile = mkOption {
type = with types; nullOr path;
default = null;
description = mdDoc "Certification Authority file for MQTT";
};
certfile = mkOption {
type = with types; nullOr path;
default = null;
description = mdDoc "Certificate file for MQTT";
};
keyfile = mkOption {
type = with types; nullOr path;
default = null;
description = mdDoc "Key file for MQTT";
};
};
influxdb = {
host = mkOption {
type = types.str;
default = "127.0.0.1";
description = mdDoc "Host where InfluxDB server is running.";
};
port = mkOption {
type = types.port;
default = 8086;
description = mdDoc "InfluxDB server port";
};
database = mkOption {
type = types.str;
description = mdDoc "Name of the InfluxDB database.";
};
username = mkOption {
type = with types; nullOr str;
default = null;
description = mdDoc "Username for InfluxDB login.";
};
password = mkOption {
type = with types; nullOr str;
default = null;
description = mdDoc ''
Password for InfluxDB login.
It is highly suggested to use here replacement through
environmentFiles as otherwise the password is put world readable to
the store.
'';
};
ssl = mkOption {
type = types.bool;
default = false;
description = mdDoc "Use SSL to connect to the InfluxDB server.";
};
verify_ssl = mkOption {
type = types.bool;
default = true;
description = mdDoc "Verify SSL certificate when connecting to the InfluxDB server.";
};
};
points = mkOption {
type = types.listOf pointType;
default = defaultPoints;
description = mdDoc "Points to bridge from MQTT to InfluxDB.";
};
};
};
config = mkIf cfg.enable {
systemd.services.bigclown-mqtt2influxdb = let
envConfig = cfg.environmentFiles != [];
finalConfig = if envConfig
then "$RUNTIME_DIRECTORY/mqtt2influxdb.config.yaml"
else configFile;
in {
description = "BigClown MQTT to InfluxDB bridge";
wantedBy = ["multi-user.target"];
wants = mkIf config.services.mosquitto.enable ["mosquitto.service"];
preStart = ''
umask 077
${pkgs.envsubst}/bin/envsubst -i "${configFile}" -o "${finalConfig}"
'';
serviceConfig = {
EnvironmentFile = cfg.environmentFiles;
ExecStart = "${cfg.package}/bin/mqtt2influxdb -dc ${finalConfig}";
RuntimeDirectory = "mqtt2influxdb";
};
};
};
}

View file

@ -12,22 +12,9 @@ in
services.nexus = {
enable = mkEnableOption (lib.mdDoc "Sonatype Nexus3 OSS service");
package = mkOption {
type = types.package;
default = pkgs.nexus;
defaultText = literalExpression "pkgs.nexus";
description = lib.mdDoc "Package which runs Nexus3";
};
package = lib.mkPackageOption pkgs "nexus" { };
jdkPackage = mkOption {
type = types.package;
default = pkgs.openjdk8;
defaultText = literalExample "pkgs.openjdk8";
example = literalExample "pkgs.openjdk8";
description = ''
The JDK package to use.
'';
};
jdkPackage = lib.mkPackageOption pkgs "openjdk8" { };
user = mkOption {
type = types.str;
@ -114,8 +101,7 @@ in
config = mkIf cfg.enable {
users.users.${cfg.user} = {
isSystemUser = true;
group = cfg.group;
home = cfg.home;
inherit (cfg) group home;
createHome = true;
};
@ -132,7 +118,7 @@ in
NEXUS_USER = cfg.user;
NEXUS_HOME = cfg.home;
INSTALL4J_JAVA_HOME = "${cfg.jdkPackage}";
INSTALL4J_JAVA_HOME = cfg.jdkPackage;
VM_OPTS_FILE = pkgs.writeText "nexus.vmoptions" cfg.jvmOpts;
};

View file

@ -102,7 +102,7 @@ let
copy_bin_and_libs () {
[ -f "$out/bin/$(basename $1)" ] && rm "$out/bin/$(basename $1)"
cp -pdv $1 $out/bin
cp -pdvH $1 $out/bin
}
# Copy BusyBox.

View file

@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix wget nix-prefetch-github jq coreutils
#!nix-shell -i bash -p wget nix-prefetch-github jq coreutils
# shellcheck shell=bash
@ -27,15 +27,12 @@ fi
version="unstable-$(date +%F)"
# Sources
src_hash=$(nix-prefetch-github jpochyla psst --rev "$rev" | jq -r .sha256)
src_hash=$(nix-prefetch-github jpochyla psst --rev "$rev" | jq -r .hash)
# Cargo.lock
src="https://raw.githubusercontent.com/jpochyla/psst/$rev"
wget "${TOKEN_ARGS[@]}" "$src/Cargo.lock" -O Cargo.lock
# Use friendlier hashes
src_hash=$(nix hash to-sri --type sha256 "$src_hash")
sed -i -E -e "s#version = \".*\"#version = \"$version\"#" default.nix
sed -i -E -e "s#rev = \".*\"#rev = \"$rev\"#" default.nix
sed -i -E -e "s#hash = \".*\"#hash = \"$src_hash\"#" default.nix

View file

@ -12,8 +12,7 @@ if [[ "$currentVersion" == "$latestVersion" ]]; then
exit 0
fi
srcHash=$(nix-prefetch-github ralph-irving squeezelite --rev "$latestRev" | jq -r .sha256)
srcHash=$(nix hash to-sri --type sha256 "$srcHash")
srcHash=$(nix-prefetch-github ralph-irving squeezelite --rev "$latestRev" | jq -r .hash)
update-source-version squeezelite "$latestVersion" "$srcHash" --rev="${latestRev}"

View file

@ -49,14 +49,14 @@
stdenv.mkDerivation rec {
pname = "tenacity";
version = "1.3-beta2";
version = "1.3.1";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "tenacityteam";
repo = pname;
rev = "v${version}";
sha256 = "sha256-9gWoqFa87neIvRnezWI3RyCAOU4wKEHPn/Hgj3/fol0=";
sha256 = "sha256-wesnay+UQiPSDaRuSo86MgHdElN4s0rPIvokZhKM7GI=";
};
postPatch = ''
@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
'';
postFixup = ''
rm $out/audacity
rm $out/tenacity
wrapProgram "$out/bin/tenacity" \
--suffix AUDACITY_PATH : "$out/share/tenacity" \
--suffix AUDACITY_MODULES_PATH : "$out/lib/tenacity/modules" \

View file

@ -42,8 +42,8 @@
let
pinData = lib.importJSON ./pin.json;
version = pinData.version;
sha256 = pinData.sha256;
cargoSha256 = pinData.cargoSha256;
hash = pinData.hash;
cargoHash = pinData.cargoHash;
in
rustPlatform.buildRustPackage rec {
pname = "solana-validator";
@ -53,11 +53,11 @@ rustPlatform.buildRustPackage rec {
owner = "solana-labs";
repo = "solana";
rev = "v${version}";
inherit sha256;
inherit hash;
};
# partly inspired by https://github.com/obsidiansystems/solana-bridges/blob/develop/default.nix#L29
inherit cargoSha256;
inherit cargoHash;
cargoBuildFlags = builtins.map (n: "--bin=${n}") solanaPkgs;

View file

@ -1,5 +1,5 @@
{
"version": "1.10.35",
"sha256": "sha256-y7+ogMJ5E9E/+ZaTCHWOQWG7iR+BGuVqvlNUDT++Ghc=",
"cargoSha256": "sha256-idlu9qkh2mrF6MxstRcvemKrtTGNY/InBnIDqRvDQPs"
"hash": "sha256-y7+ogMJ5E9E/+ZaTCHWOQWG7iR+BGuVqvlNUDT++Ghc=",
"cargoHash": "sha256-idlu9qkh2mrF6MxstRcvemKrtTGNY/InBnIDqRvDQPs"
}

View file

@ -1,9 +1,9 @@
#!/usr/bin/env nix-shell
#! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep
#! nix-shell -i oil -p jq moreutils nix-prefetch-github gnused
# TODO set to `verbose` or `extdebug` once implemented in oil
shopt --set xtrace
# we need failures inside of command subs to get the correct cargoSha256
# we need failures inside of command subs to get the correct cargoHash
shopt --unset inherit_errexit
const directory = $(dirname $0 | xargs realpath)
@ -11,23 +11,23 @@ const owner = "solana-labs"
const repo = "solana"
const latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \
jq -r '.tag_name')
const latest_version = $(echo $latest_rev | sd 'v' '')
const latest_version = $(echo ${latest_rev#v})
const current_version = $(jq -r '.version' $directory/pin.json)
if ("$latest_version" === "$current_version") {
echo "solana is already up-to-date"
return 0
} else {
const tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev")
const tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')"
const tarball_hash = $(echo $tarball_meta | jq -r '.hash')
jq ".version = \"$latest_version\" | \
.\"sha256\" = \"$tarball_hash\" | \
.\"cargoSha256\" = \"\"" $directory/pin.json | sponge $directory/pin.json
.\"hash\" = \"$tarball_hash\" | \
.\"cargoHash\" = \"\"" $directory/pin.json | sponge $directory/pin.json
const new_cargo_sha256 = $(nix-build -A solana-testnet 2>&1 | \
const new_cargo_hash = $(nix-build -A solana-validator 2>&1 | \
tail -n 2 | \
head -n 1 | \
sd '\s+got:\s+' '')
sed 's/\s*got:\s*//')
jq ".cargoSha256 = \"$new_cargo_sha256\"" $directory/pin.json | sponge $directory/pin.json
jq ".cargoHash = \"$new_cargo_hash\"" $directory/pin.json | sponge $directory/pin.json
}

View file

@ -55,7 +55,7 @@ let
rm -r $out/lib
'';
inherit (srcMeta) cargoSha256;
inherit (srcMeta) cargoHash;
};
in symlinkJoin {

View file

@ -3,8 +3,8 @@
"owner": "emacs-tree-sitter",
"repo": "elisp-tree-sitter",
"rev": "909717c685ff5a2327fa2ca8fb8a25216129361c",
"sha256": "LrakDpP3ZhRQqz47dPcyoQnu5lROdaNlxGaQfQT6u+k="
"hash": "sha256-LrakDpP3ZhRQqz47dPcyoQnu5lROdaNlxGaQfQT6u+k="
},
"version": "0.18.0",
"cargoSha256": "sha256-IRCZqszBkGF8anF/kpcPOzHdOP4lAtJBAp6FS5tAOx8="
"cargoHash": "sha256-IRCZqszBkGF8anF/kpcPOzHdOP4lAtJBAp6FS5tAOx8="
}

View file

@ -51,12 +51,12 @@ def get_src(tag_name: str) -> Dict[str, str]:
)
src = json.loads(p.stdout)
fields = ["owner", "repo", "rev", "sha256"]
fields = ["owner", "repo", "rev", "hash"]
return {f: src[f] for f in fields}
def get_cargo_sha256(drv_path: str):
def get_cargo_hash(drv_path: str):
# Note: No check=True since we expect this command to fail
p = subprocess.run(["nix-store", "-r", drv_path], stderr=subprocess.PIPE)
@ -74,7 +74,7 @@ def get_cargo_sha256(drv_path: str):
if m:
return m.group(1)
raise ValueError("Could not extract actual sha256 hash: ", stderr)
raise ValueError("Could not extract actual hash: ", stderr)
if __name__ == "__main__":
@ -102,20 +102,20 @@ if __name__ == "__main__":
nativeBuildInputs = [ clang ];
src = fetchFromGitHub (lib.importJSON %s);
sourceRoot = "source/core";
cargoSha256 = lib.fakeSha256;
cargoHash = lib.fakeHash;
}
"""
% (tag_name, f.name),
)
cargo_sha256 = get_cargo_sha256(drv_path)
cargo_hash = get_cargo_hash(drv_path)
with open(join(cwd, "src.json"), mode="w") as f:
json.dump(
{
"src": src,
"version": tag_name,
"cargoSha256": cargo_sha256,
"cargoHash": cargo_hash,
},
f,
indent=2,

View file

@ -0,0 +1,17 @@
--- a/plugins/remote-dev-server/bin/launcher.sh
+++ b/plugins/remote-dev-server/bin/launcher.sh
@@ -327,6 +327,8 @@
REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS=1
fi
+REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS=0
+
if [ $REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS -eq 1 ]; then
SELFCONTAINED_LIBS="$REMOTE_DEV_SERVER_DIR/selfcontained/lib"
if [ ! -d "$SELFCONTAINED_LIBS" ]; then
@@ -568,3 +570,5 @@
"$LAUNCHER" "$STARTER_COMMAND" "$PROJECT_PATH" "$@"
;;
esac
+
+unset REMOTE_DEV_SERVER_USE_SELF_CONTAINED_LIBS

View file

@ -46,7 +46,7 @@ let
Enhancing productivity for every C and C++
developer on Linux, macOS and Windows.
'';
maintainers = with maintainers; [ edwtjo mic92 ];
maintainers = with maintainers; [ edwtjo mic92 tymscar ];
};
}).overrideAttrs (attrs: {
nativeBuildInputs = (attrs.nativeBuildInputs or [ ]) ++ lib.optionals (stdenv.isLinux) [
@ -141,7 +141,7 @@ let
The new IDE extends the IntelliJ platform with the coding assistance
and tool integrations specific for the Go language
'';
maintainers = [ ];
maintainers = with maintainers; [ tymscar ];
};
}).overrideAttrs (attrs: {
postFixup = (attrs.postFixup or "") + lib.optionalString stdenv.isLinux ''
@ -172,7 +172,7 @@ let
with JUnit, TestNG, popular SCMs, Ant & Maven. Also known
as IntelliJ.
'';
maintainers = with maintainers; [ edwtjo gytis-ivaskevicius steinybot AnatolyPopov ];
maintainers = with maintainers; [ edwtjo gytis-ivaskevicius steinybot AnatolyPopov tymscar ];
platforms = ideaPlatforms;
};
});
@ -207,7 +207,7 @@ let
with on-the-fly code analysis, error prevention and
automated refactorings for PHP and JavaScript code.
'';
maintainers = with maintainers; [ dritter ];
maintainers = with maintainers; [ dritter tymscar ];
};
});
@ -232,7 +232,7 @@ let
providing you almost everything you need for your comfortable
and productive development!
'';
maintainers = with maintainers; [ genericnerdyusername ];
maintainers = with maintainers; [ genericnerdyusername tymscar ];
};
}).overrideAttrs (finalAttrs: previousAttrs: lib.optionalAttrs cythonSpeedup {
buildInputs = with python3.pkgs; [ python3 setuptools ];
@ -286,7 +286,7 @@ let
homepage = "https://www.jetbrains.com/ruby/";
inherit description license platforms;
longDescription = description;
maintainers = with maintainers; [ edwtjo ];
maintainers = with maintainers; [ edwtjo tymscar ];
};
});
@ -302,7 +302,7 @@ let
and CSS with on-the-fly code analysis, error prevention and
automated refactorings for JavaScript code.
'';
maintainers = with maintainers; [ abaldeau ];
maintainers = with maintainers; [ abaldeau tymscar ];
};
});

View file

@ -84,6 +84,10 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
patchelf --set-interpreter "$interpreter" bin/fsnotifier
munge_size_hack bin/fsnotifier $target_size
fi
if [ -d "plugins/remote-dev-server" ]; then
patch -p1 < ${./JetbrainsRemoteDev.patch}
fi
'';
installPhase = ''
@ -99,7 +103,7 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
jdk=${jdk.home}
item=${desktopItem}
makeWrapper "$out/$pname/bin/${loName}.sh" "$out/bin/${pname}" \
wrapProgram "$out/$pname/bin/${loName}.sh" \
--prefix PATH : "$out/libexec/${pname}:${lib.makeBinPath [ jdk coreutils gnugrep which git python3 ]}" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath ([
# Some internals want libstdc++.so.6
@ -114,11 +118,14 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
--set ${hiName}_JDK "$jdk" \
--set ${hiName}_VM_OPTIONS ${vmoptsFile}
ln -s "$out/$pname/bin/${loName}.sh" $out/bin/$pname
echo -e '#!/usr/bin/env bash\n'"$out/$pname/bin/remote-dev-server.sh"' "$@"' > $out/$pname/bin/remote-dev-server-wrapped.sh
chmod +x $out/$pname/bin/remote-dev-server-wrapped.sh
ln -s "$out/$pname/bin/remote-dev-server-wrapped.sh" $out/bin/$pname-remote-dev-server
ln -s "$item/share/applications" $out/share
runHook postInstall
'';
} // lib.optionalAttrs (!(meta.license.free or true)) {
preferLocalBuild = true;
})

View file

@ -18,12 +18,11 @@
"builds": {
"223.8836.1185": "https://plugins.jetbrains.com/files/164/275091/IdeaVim-2.1.0.zip",
"231.9011.35": "https://plugins.jetbrains.com/files/164/364022/IdeaVim-2.4.0-signed.zip",
"231.9161.29": "https://plugins.jetbrains.com/files/164/364022/IdeaVim-2.4.0-signed.zip",
"231.9161.40": "https://plugins.jetbrains.com/files/164/364022/IdeaVim-2.4.0-signed.zip",
"231.9161.47": "https://plugins.jetbrains.com/files/164/364022/IdeaVim-2.4.0-signed.zip",
"231.9225.12": "https://plugins.jetbrains.com/files/164/364022/IdeaVim-2.4.0-signed.zip",
"231.9225.15": "https://plugins.jetbrains.com/files/164/364022/IdeaVim-2.4.0-signed.zip",
"231.9225.16": "https://plugins.jetbrains.com/files/164/364022/IdeaVim-2.4.0-signed.zip",
"231.9225.18": "https://plugins.jetbrains.com/files/164/364022/IdeaVim-2.4.0-signed.zip",
"231.9225.21": "https://plugins.jetbrains.com/files/164/364022/IdeaVim-2.4.0-signed.zip",
"231.9225.23": "https://plugins.jetbrains.com/files/164/364022/IdeaVim-2.4.0-signed.zip"
},
"name": "ideavim"
@ -65,12 +64,11 @@
"builds": {
"223.8836.1185": null,
"231.9011.35": null,
"231.9161.29": "https://plugins.jetbrains.com/files/6981/351503/ini-231.9161.47.zip",
"231.9161.40": "https://plugins.jetbrains.com/files/6981/351503/ini-231.9161.47.zip",
"231.9161.47": "https://plugins.jetbrains.com/files/6981/351503/ini-231.9161.47.zip",
"231.9225.12": "https://plugins.jetbrains.com/files/6981/363869/ini-231.9225.21.zip",
"231.9225.15": "https://plugins.jetbrains.com/files/6981/363869/ini-231.9225.21.zip",
"231.9225.16": "https://plugins.jetbrains.com/files/6981/363869/ini-231.9225.21.zip",
"231.9225.18": "https://plugins.jetbrains.com/files/6981/363869/ini-231.9225.21.zip",
"231.9225.21": "https://plugins.jetbrains.com/files/6981/363869/ini-231.9225.21.zip",
"231.9225.23": "https://plugins.jetbrains.com/files/6981/363869/ini-231.9225.21.zip"
},
"name": "ini"
@ -81,8 +79,8 @@
"phpstorm"
],
"builds": {
"231.9161.47": "https://plugins.jetbrains.com/files/7219/355564/Symfony_Plugin-2022.1.253.zip",
"231.9225.16": "https://plugins.jetbrains.com/files/7219/355564/Symfony_Plugin-2022.1.253.zip"
"231.9225.16": "https://plugins.jetbrains.com/files/7219/355564/Symfony_Plugin-2022.1.253.zip",
"231.9225.18": "https://plugins.jetbrains.com/files/7219/355564/Symfony_Plugin-2022.1.253.zip"
},
"name": "symfony-support"
},
@ -92,8 +90,8 @@
"phpstorm"
],
"builds": {
"231.9161.47": "https://plugins.jetbrains.com/files/7320/346181/PHP_Annotations-9.4.0.zip",
"231.9225.16": "https://plugins.jetbrains.com/files/7320/346181/PHP_Annotations-9.4.0.zip"
"231.9225.16": "https://plugins.jetbrains.com/files/7320/346181/PHP_Annotations-9.4.0.zip",
"231.9225.18": "https://plugins.jetbrains.com/files/7320/346181/PHP_Annotations-9.4.0.zip"
},
"name": "php-annotations"
},
@ -129,12 +127,11 @@
"builds": {
"223.8836.1185": "https://plugins.jetbrains.com/files/8182/329558/intellij-rust-0.4.194.5382-223.zip",
"231.9011.35": "https://plugins.jetbrains.com/files/8182/359429/intellij-rust-0.4.198.5409-231.zip",
"231.9161.29": "https://plugins.jetbrains.com/files/8182/359429/intellij-rust-0.4.198.5409-231.zip",
"231.9161.40": "https://plugins.jetbrains.com/files/8182/359429/intellij-rust-0.4.198.5409-231.zip",
"231.9161.47": "https://plugins.jetbrains.com/files/8182/359429/intellij-rust-0.4.198.5409-231.zip",
"231.9225.12": "https://plugins.jetbrains.com/files/8182/359429/intellij-rust-0.4.198.5409-231.zip",
"231.9225.15": "https://plugins.jetbrains.com/files/8182/359429/intellij-rust-0.4.198.5409-231.zip",
"231.9225.16": "https://plugins.jetbrains.com/files/8182/359429/intellij-rust-0.4.198.5409-231.zip",
"231.9225.18": "https://plugins.jetbrains.com/files/8182/359429/intellij-rust-0.4.198.5409-231.zip",
"231.9225.21": "https://plugins.jetbrains.com/files/8182/359429/intellij-rust-0.4.198.5409-231.zip",
"231.9225.23": "https://plugins.jetbrains.com/files/8182/359429/intellij-rust-0.4.198.5409-231.zip"
},
"name": "rust"
@ -157,12 +154,11 @@
"builds": {
"223.8836.1185": null,
"231.9011.35": "https://plugins.jetbrains.com/files/8182/363621/intellij-rust-0.4.199.5413-231-beta.zip",
"231.9161.29": "https://plugins.jetbrains.com/files/8182/363621/intellij-rust-0.4.199.5413-231-beta.zip",
"231.9161.40": "https://plugins.jetbrains.com/files/8182/363621/intellij-rust-0.4.199.5413-231-beta.zip",
"231.9161.47": "https://plugins.jetbrains.com/files/8182/363621/intellij-rust-0.4.199.5413-231-beta.zip",
"231.9225.12": "https://plugins.jetbrains.com/files/8182/363621/intellij-rust-0.4.199.5413-231-beta.zip",
"231.9225.15": "https://plugins.jetbrains.com/files/8182/363621/intellij-rust-0.4.199.5413-231-beta.zip",
"231.9225.16": "https://plugins.jetbrains.com/files/8182/363621/intellij-rust-0.4.199.5413-231-beta.zip",
"231.9225.18": "https://plugins.jetbrains.com/files/8182/363621/intellij-rust-0.4.199.5413-231-beta.zip",
"231.9225.21": "https://plugins.jetbrains.com/files/8182/363621/intellij-rust-0.4.199.5413-231-beta.zip",
"231.9225.23": "https://plugins.jetbrains.com/files/8182/363621/intellij-rust-0.4.199.5413-231-beta.zip"
},
"name": "rust-beta"
@ -178,10 +174,10 @@
"webstorm"
],
"builds": {
"231.9161.29": "https://plugins.jetbrains.com/files/8554/326468/featuresTrainer-231.8770.66.zip",
"231.9225.12": "https://plugins.jetbrains.com/files/8554/326468/featuresTrainer-231.8770.66.zip",
"231.9225.15": "https://plugins.jetbrains.com/files/8554/326468/featuresTrainer-231.8770.66.zip",
"231.9225.16": "https://plugins.jetbrains.com/files/8554/326468/featuresTrainer-231.8770.66.zip"
"231.9225.16": "https://plugins.jetbrains.com/files/8554/326468/featuresTrainer-231.8770.66.zip",
"231.9225.18": "https://plugins.jetbrains.com/files/8554/326468/featuresTrainer-231.8770.66.zip"
},
"name": "ide-features-trainer"
},
@ -203,12 +199,11 @@
"builds": {
"223.8836.1185": "https://plugins.jetbrains.com/files/8607/318851/NixIDEA-0.4.0.9.zip",
"231.9011.35": "https://plugins.jetbrains.com/files/8607/318851/NixIDEA-0.4.0.9.zip",
"231.9161.29": "https://plugins.jetbrains.com/files/8607/318851/NixIDEA-0.4.0.9.zip",
"231.9161.40": "https://plugins.jetbrains.com/files/8607/318851/NixIDEA-0.4.0.9.zip",
"231.9161.47": "https://plugins.jetbrains.com/files/8607/318851/NixIDEA-0.4.0.9.zip",
"231.9225.12": "https://plugins.jetbrains.com/files/8607/318851/NixIDEA-0.4.0.9.zip",
"231.9225.15": "https://plugins.jetbrains.com/files/8607/318851/NixIDEA-0.4.0.9.zip",
"231.9225.16": "https://plugins.jetbrains.com/files/8607/318851/NixIDEA-0.4.0.9.zip",
"231.9225.18": "https://plugins.jetbrains.com/files/8607/318851/NixIDEA-0.4.0.9.zip",
"231.9225.21": "https://plugins.jetbrains.com/files/8607/318851/NixIDEA-0.4.0.9.zip",
"231.9225.23": "https://plugins.jetbrains.com/files/8607/318851/NixIDEA-0.4.0.9.zip"
},
"name": "nixidea"
@ -240,12 +235,11 @@
"builds": {
"223.8836.1185": "https://plugins.jetbrains.com/files/10037/358812/CSVEditor-3.2.1-223.zip",
"231.9011.35": "https://plugins.jetbrains.com/files/10037/358810/CSVEditor-3.2.1-231.zip",
"231.9161.29": "https://plugins.jetbrains.com/files/10037/358810/CSVEditor-3.2.1-231.zip",
"231.9161.40": "https://plugins.jetbrains.com/files/10037/358810/CSVEditor-3.2.1-231.zip",
"231.9161.47": "https://plugins.jetbrains.com/files/10037/358810/CSVEditor-3.2.1-231.zip",
"231.9225.12": "https://plugins.jetbrains.com/files/10037/358810/CSVEditor-3.2.1-231.zip",
"231.9225.15": "https://plugins.jetbrains.com/files/10037/358810/CSVEditor-3.2.1-231.zip",
"231.9225.16": "https://plugins.jetbrains.com/files/10037/358810/CSVEditor-3.2.1-231.zip",
"231.9225.18": "https://plugins.jetbrains.com/files/10037/358810/CSVEditor-3.2.1-231.zip",
"231.9225.21": "https://plugins.jetbrains.com/files/10037/358810/CSVEditor-3.2.1-231.zip",
"231.9225.23": "https://plugins.jetbrains.com/files/10037/358810/CSVEditor-3.2.1-231.zip"
},
"name": "csv-editor"
@ -268,12 +262,11 @@
"builds": {
"223.8836.1185": "https://plugins.jetbrains.com/files/12559/257029/keymap-eclipse-223.7571.125.zip",
"231.9011.35": "https://plugins.jetbrains.com/files/12559/307825/keymap-eclipse-231.8109.91.zip",
"231.9161.29": "https://plugins.jetbrains.com/files/12559/307825/keymap-eclipse-231.8109.91.zip",
"231.9161.40": "https://plugins.jetbrains.com/files/12559/307825/keymap-eclipse-231.8109.91.zip",
"231.9161.47": "https://plugins.jetbrains.com/files/12559/307825/keymap-eclipse-231.8109.91.zip",
"231.9225.12": "https://plugins.jetbrains.com/files/12559/307825/keymap-eclipse-231.8109.91.zip",
"231.9225.15": "https://plugins.jetbrains.com/files/12559/307825/keymap-eclipse-231.8109.91.zip",
"231.9225.16": "https://plugins.jetbrains.com/files/12559/307825/keymap-eclipse-231.8109.91.zip",
"231.9225.18": "https://plugins.jetbrains.com/files/12559/307825/keymap-eclipse-231.8109.91.zip",
"231.9225.21": "https://plugins.jetbrains.com/files/12559/307825/keymap-eclipse-231.8109.91.zip",
"231.9225.23": "https://plugins.jetbrains.com/files/12559/307825/keymap-eclipse-231.8109.91.zip"
},
"name": "eclipse-keymap"
@ -296,12 +289,11 @@
"builds": {
"223.8836.1185": "https://plugins.jetbrains.com/files/13017/257030/keymap-visualStudio-223.7571.125.zip",
"231.9011.35": "https://plugins.jetbrains.com/files/13017/307831/keymap-visualStudio-231.8109.91.zip",
"231.9161.29": "https://plugins.jetbrains.com/files/13017/307831/keymap-visualStudio-231.8109.91.zip",
"231.9161.40": "https://plugins.jetbrains.com/files/13017/307831/keymap-visualStudio-231.8109.91.zip",
"231.9161.47": "https://plugins.jetbrains.com/files/13017/307831/keymap-visualStudio-231.8109.91.zip",
"231.9225.12": "https://plugins.jetbrains.com/files/13017/307831/keymap-visualStudio-231.8109.91.zip",
"231.9225.15": "https://plugins.jetbrains.com/files/13017/307831/keymap-visualStudio-231.8109.91.zip",
"231.9225.16": "https://plugins.jetbrains.com/files/13017/307831/keymap-visualStudio-231.8109.91.zip",
"231.9225.18": "https://plugins.jetbrains.com/files/13017/307831/keymap-visualStudio-231.8109.91.zip",
"231.9225.21": "https://plugins.jetbrains.com/files/13017/307831/keymap-visualStudio-231.8109.91.zip",
"231.9225.23": "https://plugins.jetbrains.com/files/13017/307831/keymap-visualStudio-231.8109.91.zip"
},
"name": "visual-studio-keymap"
@ -324,12 +316,11 @@
"builds": {
"223.8836.1185": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"231.9011.35": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"231.9161.29": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"231.9161.40": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"231.9161.47": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"231.9225.12": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"231.9225.15": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"231.9225.16": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"231.9225.18": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"231.9225.21": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
"231.9225.23": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar"
},
"name": "darcula-pitch-black"
@ -350,15 +341,14 @@
"webstorm"
],
"builds": {
"223.8836.1185": "https://plugins.jetbrains.com/files/17718/360520/github-copilot-intellij-1.2.13.2776.zip",
"231.9011.35": "https://plugins.jetbrains.com/files/17718/360520/github-copilot-intellij-1.2.13.2776.zip",
"231.9161.29": "https://plugins.jetbrains.com/files/17718/360520/github-copilot-intellij-1.2.13.2776.zip",
"231.9161.40": "https://plugins.jetbrains.com/files/17718/360520/github-copilot-intellij-1.2.13.2776.zip",
"231.9161.47": "https://plugins.jetbrains.com/files/17718/360520/github-copilot-intellij-1.2.13.2776.zip",
"231.9225.12": "https://plugins.jetbrains.com/files/17718/360520/github-copilot-intellij-1.2.13.2776.zip",
"231.9225.15": "https://plugins.jetbrains.com/files/17718/360520/github-copilot-intellij-1.2.13.2776.zip",
"231.9225.16": "https://plugins.jetbrains.com/files/17718/360520/github-copilot-intellij-1.2.13.2776.zip",
"231.9225.23": "https://plugins.jetbrains.com/files/17718/360520/github-copilot-intellij-1.2.13.2776.zip"
"223.8836.1185": "https://plugins.jetbrains.com/files/17718/364783/github-copilot-intellij-1.2.15.2816.zip",
"231.9011.35": "https://plugins.jetbrains.com/files/17718/364783/github-copilot-intellij-1.2.15.2816.zip",
"231.9225.12": "https://plugins.jetbrains.com/files/17718/364783/github-copilot-intellij-1.2.15.2816.zip",
"231.9225.15": "https://plugins.jetbrains.com/files/17718/364783/github-copilot-intellij-1.2.15.2816.zip",
"231.9225.16": "https://plugins.jetbrains.com/files/17718/364783/github-copilot-intellij-1.2.15.2816.zip",
"231.9225.18": "https://plugins.jetbrains.com/files/17718/364783/github-copilot-intellij-1.2.15.2816.zip",
"231.9225.21": "https://plugins.jetbrains.com/files/17718/364783/github-copilot-intellij-1.2.15.2816.zip",
"231.9225.23": "https://plugins.jetbrains.com/files/17718/364783/github-copilot-intellij-1.2.15.2816.zip"
},
"name": "github-copilot"
},
@ -380,12 +370,11 @@
"builds": {
"223.8836.1185": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"231.9011.35": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"231.9161.29": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"231.9161.40": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"231.9161.47": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"231.9225.12": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"231.9225.15": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"231.9225.16": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"231.9225.18": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"231.9225.21": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
"231.9225.23": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip"
},
"name": "netbeans-6-5-keymap"
@ -401,11 +390,10 @@
"https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar": "sha256-eXInfAqY3yEZRXCAuv3KGldM1pNKEioNwPB0rIGgJFw=",
"https://plugins.jetbrains.com/files/164/275091/IdeaVim-2.1.0.zip": "sha256-2dM/r79XT+1MHDeRAUnZw6WO3dmw7MZfx9alHmBqMk0=",
"https://plugins.jetbrains.com/files/164/364022/IdeaVim-2.4.0-signed.zip": "sha256-aetarXrmK7EdYqLqAY0QNmi/djxDJnEyNTV1E0pay7Q=",
"https://plugins.jetbrains.com/files/17718/360520/github-copilot-intellij-1.2.13.2776.zip": "sha256-9KTWE7rudLZwxCEv5QNu/9rxA0o0GdQK4+oqkzeOtyA=",
"https://plugins.jetbrains.com/files/17718/364783/github-copilot-intellij-1.2.15.2816.zip": "sha256-ONmt+9mZN+/SyesZw6JV8S2U2SH5rggvojCXT0whI/E=",
"https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip": "sha256-KrzZTKZMQqoEMw+vDUv2jjs0EX0leaPBkU8H/ecq/oI=",
"https://plugins.jetbrains.com/files/631/360005/python-231.9225.16.zip": "sha256-vin0+O9f4rY3FYqztzdIlyal5bvrvrt8Q8neDrXRmsU=",
"https://plugins.jetbrains.com/files/6954/357005/kotlin-plugin-231-1.9.0-release-358-IJ8770.65.zip": "sha256-v2EB05au8mkC5VnoEILLJ3tesEeCWCYSNJ9RzfJZA1o=",
"https://plugins.jetbrains.com/files/6981/351503/ini-231.9161.47.zip": "sha256-oAgTPyTnfqEKjaGcK50k9O16hDY+A4lfL2l9IpGKyCY=",
"https://plugins.jetbrains.com/files/6981/363869/ini-231.9225.21.zip": "sha256-/HljUhlum/bmgw0sfhK+33AgxCJsT32uU/UjQIzIbKs=",
"https://plugins.jetbrains.com/files/7219/355564/Symfony_Plugin-2022.1.253.zip": "sha256-vE+fobPbtWlaSHGTLlbDcC6NkaJiA4Qp50h8flXHaJc=",
"https://plugins.jetbrains.com/files/7320/346181/PHP_Annotations-9.4.0.zip": "sha256-hT5K4w4lhvNwDzDMDSvsIDGj9lyaRqglfOhlbNdqpWs=",

View file

@ -3,10 +3,10 @@
"clion": {
"update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz",
"version": "2023.1.4",
"sha256": "03830bd8c32eca51d2cb54aafbb74ce46003eaab9601465876c84107c0a19a23",
"url": "https://download.jetbrains.com/cpp/CLion-2023.1.4.tar.gz",
"build_number": "231.9161.40"
"version": "2023.1.5",
"sha256": "69a274098fe35ca53edbed460f1044691cedf595d080e291644a013905591bf3",
"url": "https://download.jetbrains.com/cpp/CLion-2023.1.5.tar.gz",
"build_number": "231.9225.21"
},
"datagrip": {
"update-channel": "DataGrip RELEASE",
@ -67,10 +67,10 @@
"phpstorm": {
"update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.tar.gz",
"version": "2023.1.3",
"sha256": "c12c99b39615bd2d37eec93ed29faee2387294624eaed7fabd5c7cc8de9faf9f",
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.1.3.tar.gz",
"build_number": "231.9161.47",
"version": "2023.1.4",
"sha256": "7b44d704641c6015ce49e12e82c8866e9fdd8e8d421590235e536b3b1312b180",
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.1.4.tar.gz",
"build_number": "231.9225.18",
"version-major-minor": "2022.3"
},
"pycharm-community": {
@ -108,20 +108,20 @@
"webstorm": {
"update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.tar.gz",
"version": "2023.1.3",
"sha256": "1cef18a6d80e063b520dd8e9a0cf5b27a9cb05bbfa5b680e97c54a7cb435c9c6",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.1.3.tar.gz",
"build_number": "231.9161.29"
"version": "2023.1.4",
"sha256": "d522583e234aaf66d3da760908d2fa1254990a2497bb7c6eb84ee9d0bb3c5ffe",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.1.4.tar.gz",
"build_number": "231.9225.18"
}
},
"x86_64-darwin": {
"clion": {
"update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg",
"version": "2023.1.4",
"sha256": "fdb801c7c42e87fa0db94b68192e09319583118461385e4133ce9cd01125cb41",
"url": "https://download.jetbrains.com/cpp/CLion-2023.1.4.dmg",
"build_number": "231.9161.40"
"version": "2023.1.5",
"sha256": "d372abe2e1598e9ae3ca121a85d7d89211e65d99b4ca2183ef05dd3172212c44",
"url": "https://download.jetbrains.com/cpp/CLion-2023.1.5.dmg",
"build_number": "231.9225.21"
},
"datagrip": {
"update-channel": "DataGrip RELEASE",
@ -182,10 +182,10 @@
"phpstorm": {
"update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.dmg",
"version": "2023.1.3",
"sha256": "d181a8c9ff92f183f1ce68c1867de61b17e5a82f5b16ec472baa99f5a5f9ce83",
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.1.3.dmg",
"build_number": "231.9161.47",
"version": "2023.1.4",
"sha256": "4d3d9005772d2136e44f7774377fae053b690501800ea5e650d0f35882690fdd",
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.1.4.dmg",
"build_number": "231.9225.18",
"version-major-minor": "2022.3"
},
"pycharm-community": {
@ -223,20 +223,20 @@
"webstorm": {
"update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.dmg",
"version": "2023.1.3",
"sha256": "ac8a4edbc2d846e2ac205ebf62ad0d883df5eac812b226b1b99c4f19764df005",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.1.3.dmg",
"build_number": "231.9161.29"
"version": "2023.1.4",
"sha256": "9e80e3047396b99f82d541813a1177e058f3acb0fc81d27a625e3f62cc1ddadb",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.1.4.dmg",
"build_number": "231.9225.18"
}
},
"aarch64-darwin": {
"clion": {
"update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg",
"version": "2023.1.4",
"sha256": "f3aa638dbf08df9763d557c02c5408be864442af25c7e4b0dce7889a800f3a49",
"url": "https://download.jetbrains.com/cpp/CLion-2023.1.4-aarch64.dmg",
"build_number": "231.9161.40"
"version": "2023.1.5",
"sha256": "432955fc7926a5387c1fa9b30433b0e68f49ab88ea40d0bddef711692b28e8b1",
"url": "https://download.jetbrains.com/cpp/CLion-2023.1.5-aarch64.dmg",
"build_number": "231.9225.21"
},
"datagrip": {
"update-channel": "DataGrip RELEASE",
@ -297,10 +297,10 @@
"phpstorm": {
"update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.dmg",
"version": "2023.1.3",
"sha256": "49ca043ee6119ae31c5f3fd12aa085f22dc0117c95bf70fca8afe29960c1a546",
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.1.3-aarch64.dmg",
"build_number": "231.9161.47",
"version": "2023.1.4",
"sha256": "3285135fc4c529640ecfc5b451fa9b51d9df2a323915509cc6cbb3f25717c9e2",
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.1.4-aarch64.dmg",
"build_number": "231.9225.18",
"version-major-minor": "2022.3"
},
"pycharm-community": {
@ -338,10 +338,10 @@
"webstorm": {
"update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.dmg",
"version": "2023.1.3",
"sha256": "c5cc29db9a12515892beed79e1970e628a816f78c629045795ea16c6e5629a2b",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.1.3-aarch64.dmg",
"build_number": "231.9161.29"
"version": "2023.1.4",
"sha256": "15d1a6a65c6cb073479f82394d2691fd84c54bc7eb2c5f55a6db77bdb6e500bd",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.1.4-aarch64.dmg",
"build_number": "231.9225.18"
}
}
}

View file

@ -24,7 +24,7 @@ if [[ $# -ne 1 ]]; then
)
fi
old_version=$(sed -nE 's/.*\bversion = "(.*)".*/\1/p' ./default.nix)
if grep -q 'cargoSha256 = ""' ./default.nix; then
if grep -q 'cargoHash = ""' ./default.nix; then
old_version='broken'
fi
if [[ "$version" == "$old_version" ]]; then
@ -34,10 +34,10 @@ echo "$old_version -> $version"
# update hashes
sed -E 's/\bversion = ".*?"/version = "'$version'"/' --in-place "$nixFile"
srcHash=$(nix-prefetch-github vadimcn vscode-lldb --rev "v$version" | jq --raw-output .sha256)
sed -E 's#\bsha256 = ".*?"#sha256 = "'$srcHash'"#' --in-place "$nixFile"
srcHash=$(nix-prefetch-github vadimcn vscode-lldb --rev "v$version" | jq --raw-output .hash)
sed -E 's#\bhash = ".*?"#hash = "'$srcHash'"#' --in-place "$nixFile"
cargoHash=$(nix-prefetch "{ sha256 }: (import $nixpkgs {}).vscode-extensions.vadimcn.vscode-lldb.adapter.cargoDeps.overrideAttrs (_: { outputHash = sha256; })")
sed -E 's#\bcargoSha256 = ".*?"#cargoSha256 = "'$cargoHash'"#' --in-place "$nixFile"
sed -E 's#\bcargoHash = ".*?"#cargoHash = "'$cargoHash'"#' --in-place "$nixFile"
pushd $TMPDIR
curl -LO https://raw.githubusercontent.com/$owner/$repo/v${version}/package-lock.json

View file

@ -3,516 +3,516 @@
"owner": "libretro",
"repo": "libretro-2048",
"rev": "331c1de588ed8f8c370dcbc488e5434a3c09f0f2",
"sha256": "gPrAmoBnfuTnW6t699pqS43vE6t0ca3jZcqTNRaJipA="
"hash": "sha256-gPrAmoBnfuTnW6t699pqS43vE6t0ca3jZcqTNRaJipA="
},
"atari800": {
"owner": "libretro",
"repo": "libretro-atari800",
"rev": "94033288b026fe699bc50703609807aa8075f4dd",
"sha256": "fTKFELELt1g7t3uPgnXIgeMkkSbl9GHr0/k2FHcpDFI="
"hash": "sha256-fTKFELELt1g7t3uPgnXIgeMkkSbl9GHr0/k2FHcpDFI="
},
"beetle-gba": {
"owner": "libretro",
"repo": "beetle-gba-libretro",
"rev": "38182572571a48cb58057cde64b915237c4e2d58",
"sha256": "4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo="
"hash": "sha256-4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo="
},
"beetle-lynx": {
"owner": "libretro",
"repo": "beetle-lynx-libretro",
"rev": "3ca44fda26f27418c92ada1b0f38b948af2151ae",
"sha256": "f0A8gA3UT40UDaAkWQcPoDd6vAcM37tNtZ2hCOIyBJA="
"hash": "sha256-f0A8gA3UT40UDaAkWQcPoDd6vAcM37tNtZ2hCOIyBJA="
},
"beetle-ngp": {
"owner": "libretro",
"repo": "beetle-ngp-libretro",
"rev": "65460e3a9ad529f6901caf669abbda11f437ab55",
"sha256": "+xfD1ZMKtbv5Lp12+5RM7Vl3eEF38kykKW8wj/2EN5w="
"hash": "sha256-+xfD1ZMKtbv5Lp12+5RM7Vl3eEF38kykKW8wj/2EN5w="
},
"beetle-pce-fast": {
"owner": "libretro",
"repo": "beetle-pce-fast-libretro",
"rev": "e480f6388375f59fd3e7aeef8ef8531c20e5c73e",
"sha256": "uURt6rB0IngWzEpl0DjbckdaTIjNwVCm3auvy7AwUdA="
"hash": "sha256-uURt6rB0IngWzEpl0DjbckdaTIjNwVCm3auvy7AwUdA="
},
"beetle-pcfx": {
"owner": "libretro",
"repo": "beetle-pcfx-libretro",
"rev": "724bd21b4524f8cf376dbc29c3e5a12cb674c758",
"sha256": "xeIVZ8FWGbETWYRIBNs3Yum7FDit5fb77hhH+RU45BY="
"hash": "sha256-xeIVZ8FWGbETWYRIBNs3Yum7FDit5fb77hhH+RU45BY="
},
"beetle-psx": {
"owner": "libretro",
"repo": "beetle-psx-libretro",
"rev": "fd812d4cf8f65644faef1ea8597f826ddc37c0a0",
"sha256": "yvMgnY2dGUk8TvvfDklN3f6b1ol7vDu6AJcYzdwy9pI="
"hash": "sha256-yvMgnY2dGUk8TvvfDklN3f6b1ol7vDu6AJcYzdwy9pI="
},
"beetle-saturn": {
"owner": "libretro",
"repo": "beetle-saturn-libretro",
"rev": "9bd31a4a42d06ca0f6d30ee38a569e57c150c414",
"sha256": "RHvH9Jp6c4cgEMTo+p+dU7qgJqjPbRqJLURadjAysrM="
"hash": "sha256-RHvH9Jp6c4cgEMTo+p+dU7qgJqjPbRqJLURadjAysrM="
},
"beetle-snes": {
"owner": "libretro",
"repo": "beetle-bsnes-libretro",
"rev": "d770563fc3c4bd9abb522952cefb4aa923ba0b91",
"sha256": "zHPtfgp9hc8Q4gXJ5VgfJLWLeYjCsQhkfU1T5RM7AL0="
"hash": "sha256-zHPtfgp9hc8Q4gXJ5VgfJLWLeYjCsQhkfU1T5RM7AL0="
},
"beetle-supafaust": {
"owner": "libretro",
"repo": "supafaust",
"rev": "75c658cce454e58ae04ea252f53a31c60d61548e",
"sha256": "2fXarVfb5/SYXF8t25/fGNFvODpGas5Bi0hLIbXgB+0="
"hash": "sha256-2fXarVfb5/SYXF8t25/fGNFvODpGas5Bi0hLIbXgB+0="
},
"beetle-supergrafx": {
"owner": "libretro",
"repo": "beetle-supergrafx-libretro",
"rev": "1ff2daa9377114d5394142f75f1c388b706567ed",
"sha256": "0FCm9kURtUQpyPb8cSmRAxttnUJnhE3EWV8DPvlj8HE="
"hash": "sha256-0FCm9kURtUQpyPb8cSmRAxttnUJnhE3EWV8DPvlj8HE="
},
"beetle-vb": {
"owner": "libretro",
"repo": "beetle-vb-libretro",
"rev": "dd6393f76ff781df0f4e8c953f5b053b1e61b313",
"sha256": "C8OtTNdC7GNFsY2EH56in35IX8d6ou/1R04kMvM9674="
"hash": "sha256-C8OtTNdC7GNFsY2EH56in35IX8d6ou/1R04kMvM9674="
},
"beetle-wswan": {
"owner": "libretro",
"repo": "beetle-wswan-libretro",
"rev": "81e8b2afd31b7f0f939a3df6d70c8723bcc8a701",
"sha256": "xmDtMC5pId5X4vf9kHO55HmRpp/4ZruOM8QJSl//9R8="
"hash": "sha256-xmDtMC5pId5X4vf9kHO55HmRpp/4ZruOM8QJSl//9R8="
},
"blastem": {
"owner": "libretro",
"repo": "blastem",
"rev": "277e4a62668597d4f59cadda1cbafb844f981d45",
"sha256": "EHvKElPw8V5Z6LnMaQXBCdM4niLIlF3aBm8dRbeYXHs="
"hash": "sha256-EHvKElPw8V5Z6LnMaQXBCdM4niLIlF3aBm8dRbeYXHs="
},
"bluemsx": {
"owner": "libretro",
"repo": "bluemsx-libretro",
"rev": "acf358be18644a9df0ed9602d63c2f73d4fe605a",
"sha256": "K4mH+brakYZcVEeYMFUkFThqdZGt2+aP5DfpOgWSJxg="
"hash": "sha256-K4mH+brakYZcVEeYMFUkFThqdZGt2+aP5DfpOgWSJxg="
},
"bsnes": {
"owner": "libretro",
"repo": "bsnes-libretro",
"rev": "4da970a334ba4644cef72e560985ea3f31fa40f7",
"sha256": "Bu5j1wrMNVMmxQULZwTdXyWi2i6F5C6m8wFDxvtjYdI="
"hash": "sha256-Bu5j1wrMNVMmxQULZwTdXyWi2i6F5C6m8wFDxvtjYdI="
},
"bsnes-hd": {
"owner": "DerKoun",
"repo": "bsnes-hd",
"rev": "04821703aefdc909a4fd66d168433fcac06c2ba7",
"sha256": "QmNthbWb92vel5PFwJRXeEEVZHIxfvZ0ls+csodpGbU="
"hash": "sha256-QmNthbWb92vel5PFwJRXeEEVZHIxfvZ0ls+csodpGbU="
},
"bsnes-mercury": {
"owner": "libretro",
"repo": "bsnes-mercury",
"rev": "fb9a41fe9bc230a07c4506cad3cbf21d3fa635b4",
"sha256": "gBOxKSv3j229IVdtffqFV/zSSacEs8UsBERnQgdFw4Y="
"hash": "sha256-gBOxKSv3j229IVdtffqFV/zSSacEs8UsBERnQgdFw4Y="
},
"citra": {
"owner": "libretro",
"repo": "citra",
"rev": "d7e1612c17b1acb5d5eb68bb046820db49aeea5e",
"sha256": "u2XwAudFgI7j/k6Bq5fk874aI6KpZawlBoIs2+M+eZY=",
"hash": "sha256-u2XwAudFgI7j/k6Bq5fk874aI6KpZawlBoIs2+M+eZY=",
"fetchSubmodules": true
},
"desmume": {
"owner": "libretro",
"repo": "desmume",
"rev": "fbd368c8109f95650e1f81bca1facd6d4d8687d7",
"sha256": "7MFa5zd1jdOCqSI+VPl5nAHE7Kfm/lA0lbSPFskzqaQ="
"hash": "sha256-7MFa5zd1jdOCqSI+VPl5nAHE7Kfm/lA0lbSPFskzqaQ="
},
"desmume2015": {
"owner": "libretro",
"repo": "desmume2015",
"rev": "af397ff3d1f208c27f3922cc8f2b8e08884ba893",
"sha256": "kEb+og4g7rJvCinBZKcb42geZO6W8ynGsTG9yqYgI+U="
"hash": "sha256-kEb+og4g7rJvCinBZKcb42geZO6W8ynGsTG9yqYgI+U="
},
"dolphin": {
"owner": "libretro",
"repo": "dolphin",
"rev": "2f4b0f7902257d40a054f60b2c670d6e314f2a04",
"sha256": "9WYWbLehExYbPmGJpguhVFXqFJ9aR6VxzFVChd4QOEg="
"hash": "sha256-9WYWbLehExYbPmGJpguhVFXqFJ9aR6VxzFVChd4QOEg="
},
"dosbox": {
"owner": "libretro",
"repo": "dosbox-libretro",
"rev": "b7b24262c282c0caef2368c87323ff8c381b3102",
"sha256": "PG2eElenlEpu0U/NIh53p0uLqewnEdaq6Aoak5E1P3I="
"hash": "sha256-PG2eElenlEpu0U/NIh53p0uLqewnEdaq6Aoak5E1P3I="
},
"eightyone": {
"owner": "libretro",
"repo": "81-libretro",
"rev": "340a51b250fb8fbf1a9e5d3ad3924044250064e0",
"sha256": "Cz3gPwbME8lDMKju3dn8hM8O2u9h9+8EUg7Nf6a7epA="
"hash": "sha256-Cz3gPwbME8lDMKju3dn8hM8O2u9h9+8EUg7Nf6a7epA="
},
"fbalpha2012": {
"owner": "libretro",
"repo": "fbalpha2012",
"rev": "7f8860543a81ba79c0e1ce1aa219af44568c628a",
"sha256": "r1lH+CR+nVRCPkVo0XwLi35/ven/FEkNhWUTA6cUVxc="
"hash": "sha256-r1lH+CR+nVRCPkVo0XwLi35/ven/FEkNhWUTA6cUVxc="
},
"fbneo": {
"owner": "libretro",
"repo": "fbneo",
"rev": "ffcd114b8ea3f3387b66997263ea5df358675aa5",
"sha256": "a4hXRluHQY5hC5jFU2mlqUAI5GmQk6Rbl1HNRA929CI="
"hash": "sha256-a4hXRluHQY5hC5jFU2mlqUAI5GmQk6Rbl1HNRA929CI="
},
"fceumm": {
"owner": "libretro",
"repo": "libretro-fceumm",
"rev": "1fa798b220a6df8417dcf7da0ab117533385d9c2",
"sha256": "B1iHZ7BVaM/GBgdD2jNZIEmXcRqKC6YaO9z1ByocMtE="
"hash": "sha256-B1iHZ7BVaM/GBgdD2jNZIEmXcRqKC6YaO9z1ByocMtE="
},
"flycast": {
"owner": "libretro",
"repo": "flycast",
"rev": "4c293f306bc16a265c2d768af5d0cea138426054",
"sha256": "9IxpRBY1zifhOebLJSDMA/wiOfcZj+KOiPrgmjiFxvo="
"hash": "sha256-9IxpRBY1zifhOebLJSDMA/wiOfcZj+KOiPrgmjiFxvo="
},
"fmsx": {
"owner": "libretro",
"repo": "fmsx-libretro",
"rev": "1360c9ff32b390383567774d01fbe5d6dfcadaa3",
"sha256": "LLGD29HKpV34IOJ2ygjHZZT7XQqHHXccnpGNfWCuabg="
"hash": "sha256-LLGD29HKpV34IOJ2ygjHZZT7XQqHHXccnpGNfWCuabg="
},
"freeintv": {
"owner": "libretro",
"repo": "freeintv",
"rev": "9a65ec6e31d48ad0dae1f381c1ec61c897f970cb",
"sha256": "ZeWw/K6i04XRympqZ6sQG/yjN8cJglVcIkxpyRHx424="
"hash": "sha256-ZeWw/K6i04XRympqZ6sQG/yjN8cJglVcIkxpyRHx424="
},
"fuse": {
"owner": "libretro",
"repo": "fuse-libretro",
"rev": "847dbbd6f787823ac9a5dfacdd68ab181063374e",
"sha256": "jzS7SFALV/YjI77ST+IWHwUsuhT+Zr5w4t6C7O8yzFM="
"hash": "sha256-jzS7SFALV/YjI77ST+IWHwUsuhT+Zr5w4t6C7O8yzFM="
},
"gambatte": {
"owner": "libretro",
"repo": "gambatte-libretro",
"rev": "ea563fac40e281b29d37f6b56657abef8f1aaf0d",
"sha256": "2jVbEsGkvdH1lA2//mb2Rm3xeh4EyFUcOUXdydSisvk="
"hash": "sha256-2jVbEsGkvdH1lA2//mb2Rm3xeh4EyFUcOUXdydSisvk="
},
"genesis-plus-gx": {
"owner": "libretro",
"repo": "Genesis-Plus-GX",
"rev": "f6a9bd72a56a11c2068be2d15fa52dda3e1e8027",
"sha256": "4siJGPRMpXHfP6mBPoDJArNaISTNjPKT69cvtGldadI="
"hash": "sha256-4siJGPRMpXHfP6mBPoDJArNaISTNjPKT69cvtGldadI="
},
"gpsp": {
"owner": "libretro",
"repo": "gpsp",
"rev": "541adc9e1c6c9328c07058659594d6300ae0fa19",
"sha256": "2iv/gMOgTZReDgVzEc3WyOdAlYgfANK08CtpZIyPxgA="
"hash": "sha256-2iv/gMOgTZReDgVzEc3WyOdAlYgfANK08CtpZIyPxgA="
},
"gw": {
"owner": "libretro",
"repo": "gw-libretro",
"rev": "19a1cb3105ca4a82139fb4994e7995fd956f6f8d",
"sha256": "luhKXzxrXVNAHw8ArF1I78Zch7XEPwI3aqe0f6WRgD0="
"hash": "sha256-luhKXzxrXVNAHw8ArF1I78Zch7XEPwI3aqe0f6WRgD0="
},
"handy": {
"owner": "libretro",
"repo": "libretro-handy",
"rev": "63db085af671bad2929078c55434623b7d4632a1",
"sha256": "N6M3KSU4NPJCqoG/UMrna9/6H5PsBBMUQLrvqiIdxpE="
"hash": "sha256-N6M3KSU4NPJCqoG/UMrna9/6H5PsBBMUQLrvqiIdxpE="
},
"hatari": {
"owner": "libretro",
"repo": "hatari",
"rev": "1ebf0a0488580ef95c0b28f02223b31813c867c5",
"sha256": "i6dr+fFWPatRCIY+ajIZ1p3ERPV5ktv0nxHKxbGE5ao="
"hash": "sha256-i6dr+fFWPatRCIY+ajIZ1p3ERPV5ktv0nxHKxbGE5ao="
},
"mame": {
"owner": "libretro",
"repo": "mame",
"rev": "f7761a9902d59030882c58d4482446196e748c50",
"sha256": "g37WAMt9iBbAYq4DfeTlHWmdW5/Vl7g90v6vCLmMQ3g="
"hash": "sha256-g37WAMt9iBbAYq4DfeTlHWmdW5/Vl7g90v6vCLmMQ3g="
},
"mame2000": {
"owner": "libretro",
"repo": "mame2000-libretro",
"rev": "0208517404e841fce0c094f1a2776a0e1c6c101d",
"sha256": "WEJd7wSzY32sqMpMrjCD0hrOyAQq1WMBaGiY/2QQ4BQ="
"hash": "sha256-WEJd7wSzY32sqMpMrjCD0hrOyAQq1WMBaGiY/2QQ4BQ="
},
"mame2003": {
"owner": "libretro",
"repo": "mame2003-libretro",
"rev": "b1cc49cf1d8bbef88b890e1c2a315a39d009171b",
"sha256": "bc4uER92gHf20JjR/Qcetvlu89ZmldJ1DiQphJZt/EA="
"hash": "sha256-bc4uER92gHf20JjR/Qcetvlu89ZmldJ1DiQphJZt/EA="
},
"mame2003-plus": {
"owner": "libretro",
"repo": "mame2003-plus-libretro",
"rev": "0b9309d9d86aea2457df74709e997bea37899475",
"sha256": "US0nkEH4EeKRejuN8UoDeLt5dhafuo7PEVx0FnpeUG0="
"hash": "sha256-US0nkEH4EeKRejuN8UoDeLt5dhafuo7PEVx0FnpeUG0="
},
"mame2010": {
"owner": "libretro",
"repo": "mame2010-libretro",
"rev": "5f524dd5fca63ec1dcf5cca63885286109937587",
"sha256": "OmJgDdlan/niGQfajv0KNG8NJfEKn7Nfe6GRQD+TZ8M="
"hash": "sha256-OmJgDdlan/niGQfajv0KNG8NJfEKn7Nfe6GRQD+TZ8M="
},
"mame2015": {
"owner": "libretro",
"repo": "mame2015-libretro",
"rev": "2599c8aeaf84f62fe16ea00daa460a19298c121c",
"sha256": "TURTX0XrvqwqKG3O3aCttDAdicBdge5F1thVvYgEHaw="
"hash": "sha256-TURTX0XrvqwqKG3O3aCttDAdicBdge5F1thVvYgEHaw="
},
"mame2016": {
"owner": "libretro",
"repo": "mame2016-libretro",
"rev": "01058613a0109424c4e7211e49ed83ac950d3993",
"sha256": "IsM7f/zlzvomVOYlinJVqZllUhDfy4NNTeTPtNmdVak="
"hash": "sha256-IsM7f/zlzvomVOYlinJVqZllUhDfy4NNTeTPtNmdVak="
},
"melonds": {
"owner": "libretro",
"repo": "melonds",
"rev": "0e1f06da626cbe67215c3f06f6bdf510dd4e4649",
"sha256": "ax9Vu8+1pNAHWPXrx5QA0n5EsmaJ2T7KJ5Otz8DSZwM="
"hash": "sha256-ax9Vu8+1pNAHWPXrx5QA0n5EsmaJ2T7KJ5Otz8DSZwM="
},
"mesen": {
"owner": "libretro",
"repo": "mesen",
"rev": "caa4e6f14373c40bd2805c600d1b476e7616444a",
"sha256": "cnPNBWXbnCpjgW/wJIboiRBzv3zrHWxpNM1kg09ShLU="
"hash": "sha256-cnPNBWXbnCpjgW/wJIboiRBzv3zrHWxpNM1kg09ShLU="
},
"mesen-s": {
"owner": "libretro",
"repo": "mesen-s",
"rev": "32a7adfb4edb029324253cb3632dfc6599ad1aa8",
"sha256": "/OOMH7kt9Pmkdmy5m+I8FMvog5mqZHyrZvfjHccz8oo="
"hash": "sha256-/OOMH7kt9Pmkdmy5m+I8FMvog5mqZHyrZvfjHccz8oo="
},
"meteor": {
"owner": "libretro",
"repo": "meteor-libretro",
"rev": "e533d300d0561564451bde55a2b73119c768453c",
"sha256": "zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ="
"hash": "sha256-zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ="
},
"mgba": {
"owner": "libretro",
"repo": "mgba",
"rev": "a69c3434afe8b26cb8f9463077794edfa7d5efad",
"sha256": "rmitsZzRWJ0VYzcNz/UtIK8OscQ4lkyuAwgfXOvSTzg="
"hash": "sha256-rmitsZzRWJ0VYzcNz/UtIK8OscQ4lkyuAwgfXOvSTzg="
},
"mupen64plus": {
"owner": "libretro",
"repo": "mupen64plus-libretro-nx",
"rev": "5a63aadedc29655254d8fc7b4da3a325472e198b",
"sha256": "QNa8WGJFShO4vc4idUntCUaLik4xQXBA+X7z5sjZ2NE="
"hash": "sha256-QNa8WGJFShO4vc4idUntCUaLik4xQXBA+X7z5sjZ2NE="
},
"neocd": {
"owner": "libretro",
"repo": "neocd_libretro",
"rev": "2070f5258c9d3feee15962f9db8c8ef20072ece8",
"sha256": "X+lS1zW5oTzp7wwurM5xjVqIBwEOCIdj/NX/+33K2qg="
"hash": "sha256-X+lS1zW5oTzp7wwurM5xjVqIBwEOCIdj/NX/+33K2qg="
},
"nestopia": {
"owner": "libretro",
"repo": "nestopia",
"rev": "16b14865caf1effca030630e2fc73d2d4271fc53",
"sha256": "dU9X8sK/qDA/Qj0x1GicmSAzQyRqVmLiTcfCPe8+BjM="
"hash": "sha256-dU9X8sK/qDA/Qj0x1GicmSAzQyRqVmLiTcfCPe8+BjM="
},
"np2kai": {
"owner": "AZO234",
"repo": "NP2kai",
"rev": "6089943a80a45b6c18d765765f7f31d7a5c0d9c6",
"sha256": "tdF0Qb+smWAVoPmI0dd5s51cnYxMmqM36rQNMiEjU9A=",
"hash": "sha256-tdF0Qb+smWAVoPmI0dd5s51cnYxMmqM36rQNMiEjU9A=",
"fetchSubmodules": true
},
"nxengine": {
"owner": "libretro",
"repo": "nxengine-libretro",
"rev": "1f371e51c7a19049e00f4364cbe9c68ca08b303a",
"sha256": "4XBNTzgN8pLyrK9KsVxTRR1I8CQaZCnVR4gMryYpWW0="
"hash": "sha256-4XBNTzgN8pLyrK9KsVxTRR1I8CQaZCnVR4gMryYpWW0="
},
"o2em": {
"owner": "libretro",
"repo": "libretro-o2em",
"rev": "a2a12472fde910b6089ac3ca6de805bd58a9c999",
"sha256": "0cZYw3rrnaR+PfwReRXadLV8RVLblYqlZxJue6OZncg="
"hash": "sha256-0cZYw3rrnaR+PfwReRXadLV8RVLblYqlZxJue6OZncg="
},
"opera": {
"owner": "libretro",
"repo": "opera-libretro",
"rev": "8a49bb8877611037438aeb857cb182f41ee0e3a1",
"sha256": "oH+sQi4D+xkqiJbq7fgGdHjgvyLt8UjlgXIo7K3wXZM="
"hash": "sha256-oH+sQi4D+xkqiJbq7fgGdHjgvyLt8UjlgXIo7K3wXZM="
},
"parallel-n64": {
"owner": "libretro",
"repo": "parallel-n64",
"rev": "a03fdcba6b2e9993f050b50112f597ce2f44fa2c",
"sha256": "aJG+s+1OkHQHPvVzlJWU/VziQWj1itKkRwqcEBK+lgA="
"hash": "sha256-aJG+s+1OkHQHPvVzlJWU/VziQWj1itKkRwqcEBK+lgA="
},
"pcsx2": {
"owner": "libretro",
"repo": "pcsx2",
"rev": "f3c8743d6a42fe429f703b476fecfdb5655a98a9",
"sha256": "0piCNWX7QbZ58KyTlWp4h1qLxXpi1z6ML8sBHMTvCY4="
"hash": "sha256-0piCNWX7QbZ58KyTlWp4h1qLxXpi1z6ML8sBHMTvCY4="
},
"pcsx_rearmed": {
"owner": "libretro",
"repo": "pcsx_rearmed",
"rev": "4373e29de72c917dbcd04ec2a5fb685e69d9def3",
"sha256": "727//NqBNEo6RHNQr1RY5cxMrEvfuJczCo+cUJZVv7U="
"hash": "sha256-727//NqBNEo6RHNQr1RY5cxMrEvfuJczCo+cUJZVv7U="
},
"picodrive": {
"owner": "libretro",
"repo": "picodrive",
"rev": "7ab066aab84f15388a53433ea273420bcf917e00",
"sha256": "NK9ASiiIkGZmi2YfCqEzZallVfS7nprLRrBk4dlGyAI=",
"hash": "sha256-NK9ASiiIkGZmi2YfCqEzZallVfS7nprLRrBk4dlGyAI=",
"fetchSubmodules": true
},
"play": {
"owner": "jpd002",
"repo": "Play-",
"rev": "b33834af08a4954f06be215eee80a72e7a378e91",
"sha256": "IxZk+kSdrkDAabbzdFM8QUrjaJUc1DHjSfAtDuwDJkw=",
"hash": "sha256-IxZk+kSdrkDAabbzdFM8QUrjaJUc1DHjSfAtDuwDJkw=",
"fetchSubmodules": true
},
"ppsspp": {
"owner": "hrydgard",
"repo": "ppsspp",
"rev": "7df51c3d060a780b7383c5c1380e346ad9304bb4",
"sha256": "GK3W0/yWaID3s0W0v6TcgJ0ZU984YspWMS6+XLyThjM=",
"hash": "sha256-GK3W0/yWaID3s0W0v6TcgJ0ZU984YspWMS6+XLyThjM=",
"fetchSubmodules": true
},
"prboom": {
"owner": "libretro",
"repo": "libretro-prboom",
"rev": "d9c3975669b4aab5a1397e0174838bcbbc3c1582",
"sha256": "klSJ7QIpNjlfyjhfeEQZ3j8Gnp4agd0qKVp0vr+KHVA="
"hash": "sha256-klSJ7QIpNjlfyjhfeEQZ3j8Gnp4agd0qKVp0vr+KHVA="
},
"prosystem": {
"owner": "libretro",
"repo": "prosystem-libretro",
"rev": "763ad22c7de51c8f06d6be0d49c554ce6a94a29b",
"sha256": "rE/hxP8hl9lLTNx/WympFDByjZs46ekyxLKRV4V8D9E="
"hash": "sha256-rE/hxP8hl9lLTNx/WympFDByjZs46ekyxLKRV4V8D9E="
},
"puae": {
"owner": "libretro",
"repo": "libretro-uae",
"rev": "ae58c0f226b654d643b9f2dce58f64657f57cb76",
"sha256": "6oMTwCYGdVhh+R853gOQRzZfa7slDwe6aGVCvdm6NDU="
"hash": "sha256-6oMTwCYGdVhh+R853gOQRzZfa7slDwe6aGVCvdm6NDU="
},
"quicknes": {
"owner": "libretro",
"repo": "QuickNES_Core",
"rev": "75d501a87ec2074e8d2f7256fb0359513c263c29",
"sha256": "yAHVTgOt8SGyPXihp4YNKKAvxl9VBBAvHyzLW86zSCw="
"hash": "sha256-yAHVTgOt8SGyPXihp4YNKKAvxl9VBBAvHyzLW86zSCw="
},
"sameboy": {
"owner": "libretro",
"repo": "sameboy",
"rev": "09138330990da32362246c7034cf4de2ea0a2a2b",
"sha256": "hQWIuNwCykkJR+6naNarR50kUvIFNny+bbZHR6/GA/4="
"hash": "sha256-hQWIuNwCykkJR+6naNarR50kUvIFNny+bbZHR6/GA/4="
},
"scummvm": {
"owner": "libretro",
"repo": "scummvm",
"rev": "ab2e5d59cd25dfa5943d45c2567e8330d67fad8b",
"sha256": "9IaQR0prbCT70iWA99NMgGAKPobifdWBX17p4zL0fEM="
"hash": "sha256-9IaQR0prbCT70iWA99NMgGAKPobifdWBX17p4zL0fEM="
},
"smsplus-gx": {
"owner": "libretro",
"repo": "smsplus-gx",
"rev": "60af17ddb2231ba98f4ed1203e2a2f58d08ea088",
"sha256": "2SZR9BOTYLmtjEF4Bdl49H2pFNEIaU68VqlA7ll5TqU="
"hash": "sha256-2SZR9BOTYLmtjEF4Bdl49H2pFNEIaU68VqlA7ll5TqU="
},
"snes9x": {
"owner": "snes9xgit",
"repo": "snes9x",
"rev": "cc0a87711a7a208cabefc9fd1dbb90e31fe51684",
"sha256": "1m6QvYl5Z0WM1XeXCYLvQaXH8A15P3x8ZzwdFeVPeWo="
"hash": "sha256-1m6QvYl5Z0WM1XeXCYLvQaXH8A15P3x8ZzwdFeVPeWo="
},
"snes9x2002": {
"owner": "libretro",
"repo": "snes9x2002",
"rev": "540baad622d9833bba7e0696193cb06f5f02f564",
"sha256": "WJh8Qf1/uFaL9f9d28qXsbpeAZfYGPgjoty3G6XAKSs="
"hash": "sha256-WJh8Qf1/uFaL9f9d28qXsbpeAZfYGPgjoty3G6XAKSs="
},
"snes9x2005": {
"owner": "libretro",
"repo": "snes9x2005",
"rev": "fd45b0e055bce6cff3acde77414558784e93e7d0",
"sha256": "zjA/G62V38/hj+WjJDGAs48AcTUIiMWL8feCqLsCRnI="
"hash": "sha256-zjA/G62V38/hj+WjJDGAs48AcTUIiMWL8feCqLsCRnI="
},
"snes9x2010": {
"owner": "libretro",
"repo": "snes9x2010",
"rev": "d8b10c4cd7606ed58f9c562864c986bc960faaaf",
"sha256": "7FmteYrAYr+pGNXGg9CBC4NFlijGRf7GdtJfiNjmonU="
"hash": "sha256-7FmteYrAYr+pGNXGg9CBC4NFlijGRf7GdtJfiNjmonU="
},
"stella": {
"owner": "stella-emu",
"repo": "stella",
"rev": "93ea39d6155f08c21707a85a0b04b33008a7ab15",
"sha256": "9dCBaLxb1CBbngBd3tJ0x5lT+dnzzhK2DO4Gk/S6WW4="
"hash": "sha256-9dCBaLxb1CBbngBd3tJ0x5lT+dnzzhK2DO4Gk/S6WW4="
},
"stella2014": {
"owner": "libretro",
"repo": "stella2014-libretro",
"rev": "8ab051edd4816f33a5631d230d54059eeed52c5f",
"sha256": "wqssB8WXXF2Lu9heII8nWLLOvI38cIfHSMA7OOd6jx0="
"hash": "sha256-wqssB8WXXF2Lu9heII8nWLLOvI38cIfHSMA7OOd6jx0="
},
"swanstation": {
"owner": "libretro",
"repo": "swanstation",
"rev": "e24f21196cdcd50321475c4366b51af245a6bbe6",
"sha256": "DjAB0Z0yY9IGESeNNkkbdoAO5ItJ/8cZ5ycRofHG978="
"hash": "sha256-DjAB0Z0yY9IGESeNNkkbdoAO5ItJ/8cZ5ycRofHG978="
},
"tgbdual": {
"owner": "libretro",
"repo": "tgbdual-libretro",
"rev": "a6f3018e6a23030afc1873845ee54d4b2d8ec9d3",
"sha256": "MBUgYXX/Pc+TkwoS7OwbXSPssKUf6lwWx/bKhvwDkHs="
"hash": "sha256-MBUgYXX/Pc+TkwoS7OwbXSPssKUf6lwWx/bKhvwDkHs="
},
"thepowdertoy": {
"owner": "libretro",
"repo": "ThePowderToy",
"rev": "f644498193c4c8be689d8a1d2a70e37e4eff4243",
"sha256": "aPUqrrrH2Ia56A3Kx6ClMcZO9nbHGJIcEQ6nFyIMamo="
"hash": "sha256-aPUqrrrH2Ia56A3Kx6ClMcZO9nbHGJIcEQ6nFyIMamo="
},
"tic80": {
"owner": "libretro",
"repo": "tic-80",
"rev": "bd6ce86174fc7c9d7d3a86263acf3a7de1b62c11",
"sha256": "RFp8sTSRwD+cgW3EYk3nBeY+zVKgZVQI5mjtfe2a64Q=",
"hash": "sha256-RFp8sTSRwD+cgW3EYk3nBeY+zVKgZVQI5mjtfe2a64Q=",
"fetchSubmodules": true
},
"vba-m": {
"owner": "libretro",
"repo": "vbam-libretro",
"rev": "640ce45325694d1dc574e90c95c55bc464368d7e",
"sha256": "aiIeleZHt95Y/kigLEbRaCb3KM0ezMB7yzO16FbuBNM="
"hash": "sha256-aiIeleZHt95Y/kigLEbRaCb3KM0ezMB7yzO16FbuBNM="
},
"vba-next": {
"owner": "libretro",
"repo": "vba-next",
"rev": "0c310082a6345790124e9348861b300bcccbeced",
"sha256": "RQx/WR83EtPcQkx0ft4Y0/5LaKIOST3L/fh4qoPxz78="
"hash": "sha256-RQx/WR83EtPcQkx0ft4Y0/5LaKIOST3L/fh4qoPxz78="
},
"vecx": {
"owner": "libretro",
"repo": "libretro-vecx",
"rev": "8e932c1d585ae9e467186dea9e73ce38fe1490f7",
"sha256": "2Vo30yiP6SfUt3XHCfQTKTKEtCywdRIoUe6d0Or21WM="
"hash": "sha256-2Vo30yiP6SfUt3XHCfQTKTKEtCywdRIoUe6d0Or21WM="
},
"virtualjaguar": {
"owner": "libretro",
"repo": "virtualjaguar-libretro",
"rev": "2cc06899b839639397b8b30384a191424b6f529d",
"sha256": "7FiU5/n1hVePttkz7aVfXXx88+zX06/5SJk3EaRYvhQ="
"hash": "sha256-7FiU5/n1hVePttkz7aVfXXx88+zX06/5SJk3EaRYvhQ="
},
"yabause": {
"owner": "libretro",
"repo": "yabause",
"rev": "4c96b96f7fbe07223627c469ff33376b2a634748",
"sha256": "7hEpGh2EcrlUoRiUNntaMZEQtStglYAY1MeCub5p8f8="
"hash": "sha256-7hEpGh2EcrlUoRiUNntaMZEQtStglYAY1MeCub5p8f8="
}
}

View file

@ -0,0 +1,28 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
}:
stdenvNoCC.mkDerivation rec {
pname = "retroarch-joypad-autoconfig";
version = "1.15.0";
src = fetchFromGitHub {
owner = "libretro";
repo = "retroarch-joypad-autoconfig";
rev = "v${version}";
hash = "sha256-/F2Y08uDA/pIIeLiLfOQfGVjX2pkuOqPourlx2RbZ28=";
};
makeFlags = [
"PREFIX=$(out)"
];
meta = with lib; {
description = "Joypad autoconfig files";
homepage = "https://www.libretro.com/";
license = licenses.mit;
maintainers = with maintainers; teams.libretro.members ++ [ ];
platforms = platforms.all;
};
}

View file

@ -3,16 +3,28 @@
, makeWrapper
, retroarch
, symlinkJoin
, runCommand
, cores ? [ ]
, settings ? { }
}:
let
settingsPath = runCommand "declarative-retroarch.cfg"
{
value = lib.concatStringsSep "\n" (lib.mapAttrsToList (n: v: "${n} = \"${v}\"") settings);
passAsFile = [ "value" ];
}
''
cp "$valuePath" "$out"
'';
# All cores should be located in the same path after symlinkJoin,
# but let's be safe here
coresPath = lib.lists.unique (map (c: c.libretroCore) cores);
wrapperArgs = lib.strings.escapeShellArgs
(lib.lists.flatten
(map (p: [ "--add-flags" "-L ${placeholder "out" + p}" ]) coresPath));
wrapperArgs = lib.strings.escapeShellArgs (
(lib.lists.flatten (map (p: [ "--add-flags" "-L ${placeholder "out" + p}" ]) coresPath))
++ [ "--add-flags" "--appendconfig=${settingsPath}" ]
);
in
symlinkJoin {
name = "retroarch-with-cores-${lib.getVersion retroarch}";

View file

@ -0,0 +1,42 @@
{
gettext = {
url = "https://github.com/geopjr/gettext.cr.git";
rev = "v1.0.0";
sha256 = "1y27m4170rr4532j56grzhwbz8hj6z7j3zfkd0jnfwnsxclks1kc";
};
non-blocking-spawn = {
url = "https://github.com/geopjr/non-blocking-spawn.git";
rev = "v1.0.5";
sha256 = "139gr87zlw0k9kf6pf9k2d88aa9x3kcnfg34qpbqrwsrck7708za";
};
version_from_shard = {
url = "https://github.com/hugopl/version_from_shard.git";
rev = "v1.2.5";
sha256 = "0xizj0q4rd541rwjbx04cjifc2gfx4l5v6q2y7gmd0ndjmkgb8ik";
};
gio = {
url = "https://github.com/hugopl/gio.cr.git";
rev = "v0.1.0";
sha256 = "0vj35bi64d4hni18nrl8fmms306a0gl4zlxpf3aq08lh0sbwzhd8";
};
gtk4 = {
url = "https://github.com/hugopl/gtk4.cr.git";
rev = "v0.13.0";
sha256 = "0xsrcsh5qvwm9l7cywxpw49rfv94mkkqcliws4zkhxgr9isnirbm";
};
harfbuzz = {
url = "https://github.com/hugopl/harfbuzz.cr.git";
rev = "v0.1.0";
sha256 = "1lcb778b4k34sqxg979fpl425bbzf2gikjf2m5aj6x1fzxn46jg0";
};
pango = {
url = "https://github.com/hugopl/pango.cr.git";
rev = "v0.2.0";
sha256 = "0dl3qrhi2ybylmvzx1x5gsznp2pcdkc50waxrljxwnf5avn8ixsf";
};
libadwaita = {
url = "https://github.com/geopjr/libadwaita.cr.git";
rev = "203737fc96bb48e1a710cb68e896d2c5b9c1a6e5";
sha256 = "11c2knxncjnwg4cgppfllxwgli1hf6sjyyx4ii8rgmnbird6xcmh";
};
}

View file

@ -0,0 +1,50 @@
{ stdenv
, lib
, fetchFromGitHub
, crystal
, wrapGAppsHook4
, desktopToDarwinBundle
, gi-crystal
, gobject-introspection
, libadwaita
, openssl
, libxml2
, pkg-config
}:
crystal.buildCrystalPackage rec {
pname = "Collision";
version = "3.5.0";
src = fetchFromGitHub {
owner = "GeopJr";
repo = "Collision";
rev = "v${version}";
hash = "sha256-YNMtiMSzDqBlJJTUntRtL6oXg+IuyAobQ4FYcwOdOas=";
};
patches = [ ./make.patch ];
shardsFile = ./collision-shards.nix;
# Crystal compiler has a strange issue with OpenSSL. The project will not compile due to
# main_module:(.text+0x6f0): undefined reference to `SSL_library_init'
# There is an explanation for this https://danilafe.com/blog/crystal_nix_revisited/
# Shortly, adding pkg-config to buildInputs along with openssl fixes the issue.
nativeBuildInputs = [ wrapGAppsHook4 pkg-config gobject-introspection gi-crystal ]
++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle ];
buildInputs = [ libadwaita openssl libxml2 ];
buildTargets = ["bindings" "build"];
doCheck = false;
doInstallCheck = false;
installTargets = ["desktop" "install"];
meta = with lib; {
description = "Check hashes for your files";
homepage = "https://github.com/GeopJr/Collision";
license = licenses.bsd2;
mainProgram = "collision";
maintainers = with maintainers; [ sund3RRR ];
};
}

View file

@ -0,0 +1,20 @@
--- a/Makefile 2023-07-09 10:49:31.064190374 +0300
+++ b/Makefile 2023-07-19 11:19:37.415480179 +0300
@@ -6,7 +6,7 @@
all: desktop bindings build
bindings:
- ./bin/gi-crystal || $(CRYSTAL_LOCATION)shards install && ./bin/gi-crystal
+ gi-crystal
build:
COLLISION_LOCALE_LOCATION="$(PREFIX)$(LOCALE_LOCATION)" $(CRYSTAL_LOCATION)shards build -Dpreview_mt --release --no-debug
@@ -43,7 +43,7 @@
install -D -m 0644 data/dev.geopjr.Collision.desktop $(PREFIX)/share/applications/dev.geopjr.Collision.desktop
install -D -m 0644 data/icons/dev.geopjr.Collision.svg $(PREFIX)/share/icons/hicolor/scalable/apps/dev.geopjr.Collision.svg
install -D -m 0644 data/icons/dev.geopjr.Collision-symbolic.svg $(PREFIX)/share/icons/hicolor/symbolic/apps/dev.geopjr.Collision-symbolic.svg
- gtk-update-icon-cache $(PREFIX)/share/icons/hicolor
+ gtk4-update-icon-cache --ignore-theme-index $(PREFIX)/share/icons/hicolor
glib-compile-schemas $(PREFIX)/share/glib-2.0/schemas/
uninstall:

View file

@ -6,10 +6,10 @@ rec {
owner = "TandoorRecipes";
repo = "recipes";
rev = version;
sha256 = "sha256-cVrgmRDzuLzl2+4UcrLRdrP6ZFWMkavu9OEogNas2fA=";
hash = "sha256-cVrgmRDzuLzl2+4UcrLRdrP6ZFWMkavu9OEogNas2fA=";
};
yarnSha256 = "sha256-0u9P/OsoThP8gonrzcnO5zhIboWMI1mTsXHlbt7l9oE=";
yarnHash = "sha256-0u9P/OsoThP8gonrzcnO5zhIboWMI1mTsXHlbt7l9oE=";
meta = with lib; {
homepage = "https://tandoor.dev/";

View file

@ -10,7 +10,7 @@ stdenv.mkDerivation {
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${common.src}/vue/yarn.lock";
sha256 = common.yarnSha256;
hash = common.yarnHash;
};
nativeBuildInputs = [

View file

@ -23,7 +23,7 @@ fi
package_src="https://raw.githubusercontent.com/TandoorRecipes/recipes/$version"
src_hash=$(nix-prefetch-github TandoorRecipes recipes --rev "${version}" | jq -r .sha256)
src_hash=$(nix-prefetch-github TandoorRecipes recipes --rev "${version}" | jq -r .hash)
tmpdir=$(mktemp -d)
trap 'rm -rf "$tmpdir"' EXIT
@ -34,9 +34,8 @@ yarn_hash=$(prefetch-yarn-deps yarn.lock)
popd
# Use friendlier hashes
src_hash=$(nix hash to-sri --type sha256 "$src_hash")
yarn_hash=$(nix hash to-sri --type sha256 "$yarn_hash")
sed -i -E -e "s#version = \".*\"#version = \"$version\"#" common.nix
sed -i -E -e "s#sha256 = \".*\"#sha256 = \"$src_hash\"#" common.nix
sed -i -E -e "s#yarnSha256 = \".*\"#yarnSha256 = \"$yarn_hash\"#" common.nix
sed -i -E -e "s#hash = \".*\"#hash = \"$src_hash\"#" common.nix
sed -i -E -e "s#yarnHash = \".*\"#yarnHash = \"$yarn_hash\"#" common.nix

View file

@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: builtins.removeAttrs pinData [ "hashes" ] // {
owner = "vector-im";
repo = "element-desktop";
rev = "v${finalAttrs.version}";
sha256 = desktopSrcHash;
hash = desktopSrcHash;
};
offlineCache = fetchYarnDeps {

View file

@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: builtins.removeAttrs pinData [ "hashes" ] // {
owner = "vector-im";
repo = finalAttrs.pname;
rev = "v${finalAttrs.version}";
sha256 = webSrcHash;
hash = webSrcHash;
};
offlineCache = fetchYarnDeps {

View file

@ -12,7 +12,7 @@ in stdenv.mkDerivation rec {
owner = "atom";
repo = "node-keytar";
rev = "v${version}";
sha256 = pinData.srcHash;
hash = pinData.srcHash;
};
nativeBuildInputs = [

View file

@ -1,5 +1,5 @@
{
"version": "7.9.0",
"srcHash": "Mnl0Im2hZJXJEtyXb5rgMntekkUAnOG2MN1bwfgh0eg=",
"srcHash": "sha256-Mnl0Im2hZJXJEtyXb5rgMntekkUAnOG2MN1bwfgh0eg=",
"npmHash": "sha256-ldfRWV+HXBdBYO2ZiGbVFSHV4/bMG43U7w+sJ4kpVUY="
}

View file

@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../../../../../../ -i bash -p wget prefetch-npm-deps
#!nix-shell -I nixpkgs=../../../../../../ -i bash -p wget prefetch-npm-deps nix-prefetch-github
if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then
echo "Regenerates packaging data for the keytar package."
@ -25,7 +25,7 @@ wget "$SRC/package.json"
npm_hash=$(prefetch-npm-deps package-lock.json)
rm -rf node_modules package.json package-lock.json
src_hash=$(nix-prefetch-github atom node-keytar --rev v${version} | jq -r .sha256)
src_hash=$(nix-prefetch-github atom node-keytar --rev v${version} | jq -r .hash)
cat > pin.json << EOF
{

View file

@ -1,9 +1,9 @@
{
"version" = "1.11.36";
"hashes" = {
"desktopSrcHash" = "MMTuyyUXur5Fy24aXPWtZbQLAaXR2R7coEi8ZOJo1YI=";
"desktopSrcHash" = "sha256-MMTuyyUXur5Fy24aXPWtZbQLAaXR2R7coEi8ZOJo1YI=";
"desktopYarnHash" = "03wmdqnxzjrvdypwrb5z564liiqamwn6qmw2fww1mja8dkdkx5ng";
"webSrcHash" = "u+Y/iLRlTd5RkczF6qIaer9HKFnm8LUGP8ZnB/WfiGI=";
"webSrcHash" = "sha256-u+Y/iLRlTd5RkczF6qIaer9HKFnm8LUGP8ZnB/WfiGI=";
"webYarnHash" = "0s9ly1hr9jvb2asgjf6g5n5n5w6qh51wkwyl7ps891c0hv9m28zm";
};
}

View file

@ -5,13 +5,13 @@ let
in rustPlatform.buildRustPackage rec {
pname = "seshat-node";
inherit (pinData) version;
inherit (pinData) version cargoHash;
src = fetchFromGitHub {
owner = "matrix-org";
repo = "seshat";
rev = version;
sha256 = pinData.srcHash;
hash = pinData.srcHash;
};
sourceRoot = "source/seshat-node/native";
@ -53,6 +53,4 @@ in rustPlatform.buildRustPackage rec {
'';
disallowedReferences = [ stdenv.cc.cc ];
cargoSha256 = pinData.cargoHash;
}

View file

@ -1,6 +1,6 @@
{
"version": "2.3.3",
"srcHash": "HmKHWFoO8TQ9S/RcJnJ3h85/2uSkqGrgLnX82hkux4Q=",
"srcHash": "sha256-HmKHWFoO8TQ9S/RcJnJ3h85/2uSkqGrgLnX82hkux4Q=",
"yarnHash": "1cbkv8ap7f8vxl5brzqb86d2dyxg555sz67cldrp0vgnk8sq6ibp",
"cargoHash": "sha256-WsgTbQ91aZZV5sIuFVjsccdiXivjtAUC1Zs/4uNk1zU="
}

View file

@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../../../../../../ -i bash -p wget prefetch-yarn-deps yarn nix-prefetch
#!nix-shell -I nixpkgs=../../../../../../ -i bash -p wget prefetch-yarn-deps yarn nix-prefetch nix-prefetch-github
if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then
echo "Regenerates packaging data for the seshat package."
@ -25,7 +25,7 @@ wget "$SRC/seshat-node/yarn.lock"
yarn_hash=$(prefetch-yarn-deps yarn.lock)
popd
src_hash=$(nix-prefetch-github matrix-org seshat --rev ${version} | jq -r .sha256)
src_hash=$(nix-prefetch-github matrix-org seshat --rev ${version} | jq -r .hash)
cat > pin.json << EOF
{

View file

@ -20,7 +20,7 @@ version="${version#v}"
# Element Web
web_src="https://raw.githubusercontent.com/vector-im/element-web/v$version"
web_src_hash=$(nix-prefetch-github vector-im element-web --rev v${version} | jq -r .sha256)
web_src_hash=$(nix-prefetch-github vector-im element-web --rev v${version} | jq -r .hash)
web_tmpdir=$(mktemp -d)
trap 'rm -rf "$web_tmpdir"' EXIT
@ -32,7 +32,7 @@ popd
# Element Desktop
desktop_src="https://raw.githubusercontent.com/vector-im/element-desktop/v$version"
desktop_src_hash=$(nix-prefetch-github vector-im element-desktop --rev v${version} | jq -r .sha256)
desktop_src_hash=$(nix-prefetch-github vector-im element-desktop --rev v${version} | jq -r .hash)
desktop_tmpdir=$(mktemp -d)
trap 'rm -rf "$desktop_tmpdir"' EXIT

View file

@ -19,6 +19,7 @@
, at-spi2-core
, autoPatchelfHook
, wrapGAppsHook
, makeWrapper
}:
let
@ -42,7 +43,8 @@ stdenv.mkDerivation {
nativeBuildInputs = [
autoPatchelfHook
wrapGAppsHook
# makeBinaryWrapper not support shell wrapper specifically for `NIXOS_OZONE_WL`.
(wrapGAppsHook.override { inherit makeWrapper; })
dpkg
];
@ -87,7 +89,10 @@ stdenv.mkDerivation {
'';
preFixup = ''
gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ gjs ]}")
gappsWrapperArgs+=(
--prefix PATH : "${lib.makeBinPath [ gjs ]}"
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
)
'';
meta = with lib; {

View file

@ -2,7 +2,7 @@
"owner": "zammad",
"repo": "zammad",
"rev": "643aba6ba4ba66c6127038c8cc2cc7a20b912678",
"sha256": "vLLn989M5ZN+jTh60BopEKbuaxOBfDsk6PiM+gHFClo=",
"hash": "sha256-vLLn989M5ZN+jTh60BopEKbuaxOBfDsk6PiM+gHFClo=",
"fetchSubmodules": true
}

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "gitolite";
version = "3.6.12";
version = "3.6.13";
src = fetchFromGitHub {
owner = "sitaramc";
repo = "gitolite";
rev = "v${version}";
sha256 = "05xw1pmagvkrbzga5pgl3xk9qyc6b5x73f842454f3w9ijspa8zy";
hash = "sha256-/VBu+aepIrxWc2padPa/WoXbIdKfIwqmA/M8d1GE5FI=";
};
buildInputs = [ nettools perl ];

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "docker-buildx";
version = "0.11.1";
version = "0.11.2";
src = fetchFromGitHub {
owner = "docker";
repo = "buildx";
rev = "v${version}";
sha256 = "sha256-a33jGbafkmv55cKBCr8xlGTsD3bU/1CNyOfaXQIGMg0=";
hash = "sha256-FPqXfIxuqwsnvsuWN5baIIn6o7ucP/Zgn+OsHfI61zU=";
};
doCheck = false;

View file

@ -22,6 +22,7 @@ rec {
"0.24.0" = "sha256-Zil0wceeXmq2xy0OVLxa/Ujl4Dtsmc4COyv6Jo7rVaM=";
"0.24.1" = "sha256-AjQl6YGPgOpQU3sjcaSnZsFJqZV9BYB+iKAE0tX0Qc4=";
"0.25.1" = "sha256-3I8qMwyjkws2yssmI7s2Dti99uSorNKT29niJBpv0z0=";
"0.26.0" = "sha256-AxSUq3cM7xCo9qocvrVmDkbDqmwM1FexEP7IWadeh30=";
}."${version}";
};

View file

@ -1,5 +1,5 @@
{ lib, callPackage, buildDunePackage, re, ocamlformat-lib, menhir
, version ? "0.25.1" }:
, version ? "0.26.0" }:
let inherit (callPackage ./generic.nix { inherit version; }) src library_deps;

View file

@ -10,21 +10,16 @@
buildPythonPackage rec {
pname = "bandcamp-api";
version = "0.1.15";
version = "0.2.2";
format = "setuptools";
src = fetchPypi {
pname = "bandcamp_api";
inherit version;
hash = "sha256-4pnUiAsOLX1BBQjOhUkjSyHnGyQ3rx3JAFFYgEMLpG4=";
hash = "sha256-v/iACVcBFC/3x4v7Q/1p+aHGhfw3AQ43eU3sKz5BskI=";
};
postPatch = ''
substituteInPlace setup.py \
--replace bs4 beautifulsoup4
'';
propagatedBuildInputs = [
beautifulsoup4
demjson3

View file

@ -0,0 +1,54 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, appdirs
, click
, colorama
, intelhex
, packaging
, pyaml
, pyftdi
, pyserial
, requests
, schema
}:
buildPythonPackage rec {
pname = "bcf";
version = "1.9.0";
src = fetchFromGitHub {
owner = "hardwario";
repo = "bch-firmware-tool";
rev = "v${version}";
sha256 = "i28VewTB2XEZSfk0UeCuwB7Z2wz4qPBhzvxJIYkKwJ4=";
};
postPatch = ''
sed -ri 's/@@VERSION@@/${version}/g' \
bcf/__init__.py setup.py
'';
propagatedBuildInputs = [
appdirs
click
colorama
intelhex
packaging
pyaml
pyftdi
pyserial
requests
schema
];
pythonImportsCheck = [ "bcf" ];
doCheck = false; # Project provides no tests
meta = with lib; {
homepage = "https://github.com/hardwario/bch-firmware-tool";
description = "HARDWARIO Firmware Tool";
platforms = platforms.linux;
license = licenses.mit;
maintainers = with maintainers; [ cynerd ];
};
}

View file

@ -0,0 +1,49 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, appdirs
, click
, click-log
, paho-mqtt
, pyaml
, pyserial
, schema
, simplejson
}:
buildPythonPackage rec {
pname = "bcg";
version = "1.17.0";
src = fetchFromGitHub {
owner = "hardwario";
repo = "bch-gateway";
rev = "v${version}";
sha256 = "2Yh5MeIv+BIxjoO9GOPqq7xTAFhyBvnxPy7DeO2FrkI=";
};
postPatch = ''
sed -ri 's/@@VERSION@@/${version}/g' \
bcg/__init__.py setup.py
'';
propagatedBuildInputs = [
appdirs
click
click-log
paho-mqtt
pyaml
pyserial
schema
simplejson
];
pythonImportsCheck = [ "bcg" ];
meta = with lib; {
homepage = "https://github.com/hardwario/bch-gateway";
description = "HARDWARIO Gateway (Python Application «bcg»)";
platforms = platforms.linux;
license = licenses.mit;
maintainers = with maintainers; [ cynerd ];
};
}

View file

@ -0,0 +1,42 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, click
, click-log
, paho-mqtt
, pyaml
}:
buildPythonPackage rec {
pname = "bch";
version = "1.2.1";
src = fetchFromGitHub {
owner = "hardwario";
repo = "bch-control-tool";
rev = "v${version}";
sha256 = "/C+NbJ0RrWZ/scv/FiRBTh4h7u0xS4mHVDWQ0WwmlEY=";
};
propagatedBuildInputs = [
click
click-log
paho-mqtt
pyaml
];
postPatch = ''
sed -ri 's/@@VERSION@@/${version}/g' \
bch/cli.py setup.py
'';
pythonImportsCheck = [ "bch" ];
meta = with lib; {
homepage = "https://github.com/hardwario/bch-control-tool";
description = "HARDWARIO Hub Control Tool";
platforms = platforms.linux;
license = licenses.mit;
maintainers = with maintainers; [ cynerd ];
};
}

View file

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "griffe";
version = "0.32.1";
version = "0.32.3";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "mkdocstrings";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-CNUv2R1Jkq3LSGtEBAi8F04TpARZxOkYN7fUMcXh5P8=";
hash = "sha256-rPh4FtcigZzscm3y/BJ/0Q0wURlumowlHY15MiQw2B8=";
};
postPatch = ''

View file

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "mkdocstrings-python";
version = "0.10.1";
version = "1.2.0";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -19,8 +19,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "mkdocstrings";
repo = "python";
rev = version;
hash = "sha256-VGPlOHQNtXrfmcne93xDIxN20KDGlTQrjeAKhX/L6K0=";
rev = "refs/tags/${version}";
hash = "sha256-Q+KsVfImmJekDI5TIFREXlB/G5NGtoenHz6sZOVaP5c=";
};
nativeBuildInputs = [
@ -37,11 +37,6 @@ buildPythonPackage rec {
pytestCheckHook
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'license = "ISC"' 'license = {text = "ISC"}' \
'';
pythonImportsCheck = [
"mkdocstrings_handlers"
];

View file

@ -0,0 +1,42 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, influxdb
, jsonpath-ng
, paho-mqtt
, py-expression-eval
, pyaml
, pycron
, schema
}:
buildPythonPackage rec {
pname = "mqtt2influxdb";
version = "1.5.2";
src = fetchFromGitHub {
owner = "hardwario";
repo = "bch-mqtt2influxdb";
rev = "v${version}";
sha256 = "YDgMoxnH4vCCa7b857U6iVBhYLxk8ZjytGziryn24bg=";
};
propagatedBuildInputs = [
influxdb
jsonpath-ng
paho-mqtt
py-expression-eval
pyaml
pycron
schema
];
pythonImportsCheck = [ "mqtt2influxdb" ];
meta = with lib; {
homepage = "https://github.com/hardwario/bch-mqtt2influxdb";
description = "Flexible MQTT to InfluxDB Bridge";
platforms = platforms.linux;
license = licenses.mit;
maintainers = with maintainers; [ cynerd ];
};
}

View file

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "nix-prefetch-github";
version = "6.0.1";
version = "7.0.0";
disabled = pythonOlder "3.8";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "seppeljordan";
repo = "nix-prefetch-github";
rev = "v${version}";
sha256 = "tvoDSqg4g517c1w0VcsVm3r4mBFG3RHaOTAJAv1ooc4=";
hash = "sha256-oIR2iEiOBQ1VKouJTLqEiWWNzrMSJcnxK+m/j9Ia/m8=";
};
nativeCheckInputs = [ unittestCheckHook git which ];

View file

@ -0,0 +1,24 @@
{ lib,
buildPythonPackage,
fetchFromGitHub,
}:
buildPythonPackage rec {
pname = "py-expression-eval";
version = "0.3.14";
src = fetchFromGitHub {
owner = "axiacore";
repo = "py-expression-eval";
rev = "v${version}";
sha256 = "YxhZd8V6ofphcNdcbBbrT5mc37O9c6W1mfhsvFVC+KM=";
};
meta = with lib; {
homepage = "https://github.com/AxiaCore/py-expression-eval/";
description = "Python Mathematical Expression Evaluator";
platforms = platforms.linux;
license = licenses.mit;
maintainers = with maintainers; [ cynerd ];
};
}

View file

@ -32,6 +32,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python API wrapper to retrieve warnings from the german NINA app";
homepage = "https://gitlab.com/DeerMaximum/pynina";
changelog = "https://gitlab.com/DeerMaximum/pynina/-/releases/${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};

View file

@ -0,0 +1,76 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, dataclasses-json
, isodate
, requests
, requests-oauthlib
, pytestCheckHook
, responses
}:
buildPythonPackage rec {
pname = "python-youtube";
version = "0.9.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "sns-sdks";
repo = "python-youtube";
rev = "v${version}";
hash = "sha256-uimipYgf8nfYd1J/K6CStbzIkQiRSosu7/yOfgXYCks=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace "poetry.masonry.api" "poetry.core.masonry.api"
substituteInPlace pytest.ini \
--replace "--cov=pyyoutube" "" \
--replace "--cov-report xml" ""
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
dataclasses-json
isodate
requests
requests-oauthlib
];
pythonImportsCheck = [ "pyyoutube" ];
nativeCheckInputs = [
pytestCheckHook
responses
];
disabledTests = [
# On both tests, upstream compares a string to an integer
/*
python3.10-python-youtube> > self.assertEqual(m.viewCount, "160361638")
python3.10-python-youtube> E AssertionError: 160361638 != '160361638'
python3.10-python-youtube> tests/models/test_channel.py:62: AssertionError
*/
"testChannelStatistics"
/*
python3.10-python-youtube> > self.assertEqual(m.viewCount, "8087")
python3.10-python-youtube> E AssertionError: 8087 != '8087'
python3.10-python-youtube> tests/models/test_videos.py:76: AssertionError
*/
"testVideoStatistics"
];
meta = with lib; {
description = "A simple Python wrapper around for YouTube Data API";
homepage = "https://github.com/sns-sdks/python-youtube";
changelog = "https://github.com/sns-sdks/python-youtube/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ blaggacao ];
};
}

View file

@ -10,13 +10,13 @@
buildPythonPackage rec {
pname = "pytomorrowio";
version = "0.3.5";
version = "0.3.6";
disabled = pythonOlder "3.9";
src = fetchPypi {
inherit pname version;
hash = "sha256-LFIQJJPqKlqLzEoX9ShfoASigPC5R+OWiW81VmjONe8=";
hash = "sha256-ZCA+GYuZuRgc4Pi9Bcg4zthOnkmQ+/IddFMkR0WYfKk=";
};
propagatedBuildInputs = [

View file

@ -1,24 +1,25 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, flit-core
, fetchPypi
, setuptools
, setuptools-scm
, fsspec
}:
buildPythonPackage rec {
pname = "universal-pathlib";
version = "0.0.23";
version = "0.0.24";
format = "pyproject";
src = fetchFromGitHub {
owner = "fsspec";
repo = "universal_pathlib";
rev = "v${version}";
hash = "sha256-UT4S7sqRn0/YFzFL1KzByK44u8G7pwWHERzJEm7xmiw=";
src = fetchPypi {
pname = "universal_pathlib";
inherit version;
hash = "sha256-/L/7leS8afcEr13eT5piSyJp8lGjjIGri+wZ3+qtgw8=";
};
nativeBuildInputs = [
flit-core
setuptools
setuptools-scm
];
propagatedBuildInputs = [
@ -30,7 +31,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Pathlib api extended to use fsspec backends";
homepage = "https://github.com/fsspec/universal_pathlib";
changelog = "https://github.com/fsspec/universal_pathlib/releases/tag/${src.rev}";
changelog = "https://github.com/fsspec/universal_pathlib/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ figsoda ];
};

View file

@ -1,17 +1,17 @@
{ lib, fetchFromGitHub }:
let
version = "0.15.8";
srcSha256 = "sha256-7CTRx7I47VEKfPvkWhmpyHV3hkeLyHymFMrkyYQ1wl8=";
yarnSha256 = "sha256-PY0BIBbjyi2DG+n5x/IPc0AwrFSwII4huMDU+FeZ/Sc=";
srcHash = "sha256-7CTRx7I47VEKfPvkWhmpyHV3hkeLyHymFMrkyYQ1wl8=";
yarnHash = "sha256-PY0BIBbjyi2DG+n5x/IPc0AwrFSwII4huMDU+FeZ/Sc=";
in
{
inherit version yarnSha256;
inherit version yarnHash;
src = fetchFromGitHub {
owner = "woodpecker-ci";
repo = "woodpecker";
rev = "v${version}";
sha256 = srcSha256;
hash = srcHash;
};
postBuild = ''

View file

@ -11,7 +11,7 @@ mkYarnPackage {
packageJSON = ./woodpecker-package.json;
offlineCache = fetchYarnDeps {
yarnLock = "${common.src}/web/yarn.lock";
sha256 = common.yarnSha256;
hash = common.yarnHash;
};
buildPhase = ''

View file

@ -28,7 +28,7 @@ fi
version="${version#v}"
# Woodpecker repository
src_hash=$(nix-prefetch-github woodpecker-ci woodpecker --rev "v${version}" | jq -r .sha256)
src_hash=$(nix-prefetch-github woodpecker-ci woodpecker --rev "v${version}" | jq -r .hash)
# Front-end dependencies
woodpecker_src="https://raw.githubusercontent.com/woodpecker-ci/woodpecker/v$version"
@ -42,9 +42,8 @@ yarn_hash=$(prefetch-yarn-deps yarn.lock)
popd
# Use friendlier hashes
src_hash=$(nix hash to-sri --type sha256 "$src_hash")
yarn_hash=$(nix hash to-sri --type sha256 "$yarn_hash")
sed -i -E -e "s#version = \".*\"#version = \"$version\"#" common.nix
sed -i -E -e "s#srcSha256 = \".*\"#srcSha256 = \"$src_hash\"#" common.nix
sed -i -E -e "s#yarnSha256 = \".*\"#yarnSha256 = \"$yarn_hash\"#" common.nix
sed -i -E -e "s#srcHash = \".*\"#srcHash = \"$src_hash\"#" common.nix
sed -i -E -e "s#yarnHash = \".*\"#yarnHash = \"$yarn_hash\"#" common.nix

View file

@ -2,18 +2,18 @@
rustPlatform.buildRustPackage rec {
pname = "viceroy";
version = "0.5.1";
version = "0.6.0";
src = fetchFromGitHub {
owner = "fastly";
repo = pname;
rev = "v${version}";
hash = "sha256-OWvWi3mIgcWTnRMsnKgYqB9qzICBOmCcWenTfqhaz+k=";
hash = "sha256-lFDhiBgJFCXE7/BzCuNFPmP8PYHCqu6jYqRNa+M4J8Q=";
};
buildInputs = lib.optional stdenv.isDarwin Security;
cargoHash = "sha256-WwhoKHWZSOcocpqPqmSFYzNKxxXtpKpRreaPHqc+/40=";
cargoHash = "sha256-HJXCNjWjO1GWIP46kqvq8mZVlYVvlG9ahxScpG3rfTA=";
cargoTestFlags = [
"--package viceroy-lib"

View file

@ -8,7 +8,7 @@ in
export ESBUILD_BINARY_PATH="${pkgs.esbuild_netlify}/bin/esbuild"
'';
src = fetchFromGitHub {
inherit (sourceInfo) owner repo rev sha256;
inherit (sourceInfo) owner repo rev hash;
};
bypassCache = true;
reconstructLock = true;

View file

@ -2,7 +2,7 @@
set -eu -o pipefail
cd "$( dirname "${BASH_SOURCE[0]}" )"
rm -f ./node-env.nix
src="$(nix-build --expr 'let pkgs = import ../../../.. {}; meta = (pkgs.lib.importJSON ./netlify-cli.json); in pkgs.fetchFromGitHub { inherit (meta) owner repo rev sha256; }')"
src="$(nix-build --expr 'let pkgs = import ../../../.. {}; meta = (pkgs.lib.importJSON ./netlify-cli.json); in pkgs.fetchFromGitHub { inherit (meta) owner repo rev hash; }')"
echo $src
node2nix \
--input $src/package.json \

View file

@ -2,8 +2,5 @@
"owner": "netlify",
"repo": "cli",
"rev": "6c7e8c9a4db4e2e408f65e6098a194497944e306",
"sha256": "YMnQrurZDJtfeHBCIzy6vToGHnqtdRGvWFPX5RcWyPg=",
"fetchSubmodules": false,
"leaveDotGit": false,
"deepClone": false
"hash": "sha256-YMnQrurZDJtfeHBCIzy6vToGHnqtdRGvWFPX5RcWyPg="
}

View file

@ -28,7 +28,7 @@ fi
version="${version#v}"
# pnpm-lock-export repository
src_hash=$(nix-prefetch-github cvent pnpm-lock-export --rev "v${version}" | jq -r .sha256)
src_hash=$(nix-prefetch-github cvent pnpm-lock-export --rev "v${version}" | jq -r .hash)
# Front-end dependencies
upstream_src="https://raw.githubusercontent.com/cvent/pnpm-lock-export/v$version"
@ -39,7 +39,6 @@ npm install --package-lock-only
deps_hash=$(prefetch-npm-deps package-lock.json)
# Use friendlier hashes
src_hash=$(nix hash to-sri --type sha256 "$src_hash")
deps_hash=$(nix hash to-sri --type sha256 "$deps_hash")
sed -i -E -e "s#version = \".*\"#version = \"$version\"#" default.nix

View file

@ -0,0 +1,60 @@
{ lib
, fetchurl
, stdenv
, autoreconfHook
, dbus
, libxml2
, pam
, pkg-config
, systemd
}:
stdenv.mkDerivation rec {
pname = "oddjob";
version = "0.34.7";
src = fetchurl {
url = "https://pagure.io/oddjob/archive/${pname}-${version}/oddjob-${pname}-${version}.tar.gz";
hash = "sha256-SUOsMH55HtEsk5rX0CXK0apDObTj738FGOaL5xZRnIM=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs =[
libxml2
dbus
pam
systemd
];
postPatch = ''
substituteInPlace configure.ac \
--replace 'SYSTEMDSYSTEMUNITDIR=`pkg-config --variable=systemdsystemunitdir systemd 2> /dev/null`' "SYSTEMDSYSTEMUNITDIR=${placeholder "out"}" \
--replace 'SYSTEMDSYSTEMUNITDIR=`pkg-config --variable=systemdsystemunitdir systemd`' "SYSTEMDSYSTEMUNITDIR=${placeholder "out"}"
'';
configureFlags = [
"--prefix=${placeholder "out"}"
"--sysconfdir=${placeholder "out"}/etc"
"--with-selinux-acls=no"
"--with-selinux-labels=no"
"--disable-systemd"
];
postConfigure = ''
substituteInPlace src/oddjobd.c \
--replace "globals.selinux_enabled" "FALSE"
'';
meta = with lib; {
description = "Odd Job Daemon";
homepage = "https://pagure.io/oddjob";
changelog = "https://pagure.io/oddjob/blob/oddjob-${version}/f/ChangeLog";
license = licenses.bsd0;
platforms = platforms.linux;
maintainers = with maintainers; [ SohamG ];
};
}

View file

@ -23,7 +23,7 @@ mkYarnPackage rec {
owner = "Fallenbagel";
repo = "jellyseerr";
rev = "v${version}";
sha256 = pin.srcSha256;
hash = pin.srcHash;
};
packageJSON = ./package.json;

View file

@ -1,5 +1,5 @@
{
"version": "1.4.1",
"srcSha256": "LDqlQfy1bm2xMNn1oulImfanQmJX57P48VaZn0Jxwpk=",
"srcHash": "sha256-LDqlQfy1bm2xMNn1oulImfanQmJX57P48VaZn0Jxwpk=",
"yarnSha256": "162aip7r5vcpfj1sn42qwwdlwnaii32bd2k0gp9py1z0zmw0lwlf"
}

View file

@ -19,7 +19,7 @@ if [ -z "$tag" ]; then
fi
src="https://raw.githubusercontent.com/Fallenbagel/jellyseerr/$tag"
src_sha256=$(nix-prefetch-github Fallenbagel jellyseerr --rev ${tag} | jq -r .sha256)
src_hash=$(nix-prefetch-github Fallenbagel jellyseerr --rev ${tag} | jq -r .hash)
tmpdir=$(mktemp -d)
trap 'rm -rf "$tmpdir"' EXIT
@ -33,7 +33,7 @@ curl -O "$src/package.json"
cat > pin.json << EOF
{
"version": "$(echo $tag | grep -P '(\d|\.)+' -o)",
"srcSha256": "$src_sha256",
"srcHash": "$src_hash",
"yarnSha256": "$yarn_sha256"
}
EOF

View file

@ -4,7 +4,7 @@
owner = "mastodon";
repo = "mastodon";
rev = "v4.1.4";
sha256 = "8ULBO8IdwBzC5dgX3netTHbbRrODX4CropWZWtqWHZw=";
hash = "sha256-8ULBO8IdwBzC5dgX3netTHbbRrODX4CropWZWtqWHZw=";
};
in applyPatches {
inherit src;

View file

@ -76,7 +76,7 @@ trap cleanup EXIT
echo "Fetching source code $REVISION"
JSON=$(nix-prefetch-github "$OWNER" "$REPO" --rev "$REVISION" 2> $WORK_DIR/nix-prefetch-git.out)
SHA=$(echo "$JSON" | jq -r .sha256)
HASH=$(echo "$JSON" | jq -r .hash)
echo "Creating version.nix"
echo "\"$VERSION\"" | sed 's/^"v/"/' > version.nix
@ -88,7 +88,7 @@ cat > source.nix << EOF
owner = "mastodon";
repo = "mastodon";
rev = "$REVISION";
sha256 = "$SHA";
hash = "$HASH";
};
in applyPatches {
inherit src;

View file

@ -22,7 +22,7 @@ in mkYarnPackage rec {
owner = "matrix-org";
repo = "matrix-appservice-discord";
rev = "v${version}";
sha256 = pin.srcSha256;
hash = pin.srcHash;
};
packageJSON = ./package.json;

View file

@ -1,5 +1,5 @@
{
"version": "3.1.1",
"srcSha256": "g681w7RD96/xKP+WnIyY4bcVHVQhysgDPZo4TgCRiuY=",
"srcHash": "sha256-g681w7RD96/xKP+WnIyY4bcVHVQhysgDPZo4TgCRiuY=",
"yarnSha256": "0cm9yprj0ajmrdpap3p2lx3xrrkar6gghlxnj9127ks6p5c1ji3r"
}

View file

@ -22,7 +22,7 @@ if [ -z "$tag" ]; then
fi
src="https://raw.githubusercontent.com/$ORG/$PROJ/$tag"
src_sha256=$(nix-prefetch-github $ORG $PROJ --rev ${tag} | jq -r .sha256)
src_hash=$(nix-prefetch-github $ORG $PROJ --rev ${tag} | jq -r .hash)
tmpdir=$(mktemp -d)
trap 'rm -rf "$tmpdir"' EXIT
@ -36,7 +36,7 @@ curl -O "$src/package.json"
cat > pin.json << EOF
{
"version": "$(echo $tag | grep -P '(\d|\.)+' -o)",
"srcSha256": "$src_sha256",
"srcSha256": "$src_hash",
"yarnSha256": "$yarn_sha256"
}
EOF

View file

@ -19,7 +19,7 @@ mkYarnPackage rec {
owner = "matrix-org";
repo = "matrix-appservice-slack";
rev = data.version;
sha256 = data.srcHash;
hash = data.srcHash;
};
offlineCache = fetchYarnDeps {

View file

@ -1,5 +1,5 @@
{
"version": "2.1.1",
"srcHash": "+NO/V3EyqdxavnSTBU7weJnueL6+aCH3UWkqclpsId0=",
"srcHash": "sha256-+NO/V3EyqdxavnSTBU7weJnueL6+aCH3UWkqclpsId0=",
"yarnHash": "1pqv7g3xbfs4zhmyxy5p216kq2jwjfjzxw2dv2a7hl0qwk6igyki"
}

View file

@ -16,7 +16,7 @@ if [ -z "$version" ]; then
fi
src="https://raw.githubusercontent.com/matrix-org/matrix-appservice-slack/$version"
src_hash=$(nix-prefetch-github matrix-org matrix-appservice-slack --rev ${version} | jq -r .sha256)
src_hash=$(nix-prefetch-github matrix-org matrix-appservice-slack --rev ${version} | jq -r .hash)
tmpdir=$(mktemp -d)
trap 'rm -rf "$tmpdir"' EXIT

View file

@ -26,7 +26,7 @@ mkYarnPackage rec {
owner = "matrix-org";
repo = "matrix-hookshot";
rev = data.version;
sha256 = data.srcHash;
hash = data.srcHash;
};
packageJSON = ./package.json;
@ -39,7 +39,7 @@ mkYarnPackage rec {
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
sha256 = data.cargoHash;
hash = data.cargoHash;
};
packageResolutions = {

View file

@ -1,6 +1,6 @@
{
"version": "4.4.0",
"srcHash": "mPLDdAVIMb5d2LPGtIfm/ofRs42081S3+QTsvqkfp3s=",
"srcHash": "sha256-mPLDdAVIMb5d2LPGtIfm/ofRs42081S3+QTsvqkfp3s=",
"yarnHash": "0qd3h870mk3a2lzm0r7kyh07ykw86h9xwai9h205gnv1w0d59z6i",
"cargoHash": "NGcnRKasYE4dleQLq+E4cM6C04Rfu4AsenDznGyC2Nk="
"cargoHash": "sha256-NGcnRKasYE4dleQLq+E4cM6C04Rfu4AsenDznGyC2Nk="
}

View file

@ -15,7 +15,7 @@ if [ -z "$version" ]; then
fi
src="https://raw.githubusercontent.com/matrix-org/matrix-hookshot/$version"
src_hash=$(nix-prefetch-github matrix-org matrix-hookshot --rev ${version} | jq -r .sha256)
src_hash=$(nix-prefetch-github matrix-org matrix-hookshot --rev ${version} | jq -r .hash)
tmpdir=$(mktemp -d)
trap 'rm -rf "$tmpdir"' EXIT
@ -32,6 +32,6 @@ cat > pin.json << EOF
"version": "$version",
"srcHash": "$src_hash",
"yarnHash": "$yarn_hash",
"cargoHash": "0000000000000000000000000000000000000000000000000000"
"cargoHash": "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
}
EOF

View file

@ -6,7 +6,7 @@ let
owner = "usememos";
repo = "memos";
rev = "v${version}";
sha256 = "lcOZg5mlFPp04ZCm5GDhQfSwE2ahSmGhmdAw+pygK0A=";
hash = "sha256-lcOZg5mlFPp04ZCm5GDhQfSwE2ahSmGhmdAw+pygK0A=";
};
frontend = buildNpmPackage {
@ -32,7 +32,7 @@ buildGoModule rec {
# check will unable to access network in sandbox
doCheck = false;
vendorSha256 = "sha256-UM/xeRvfvlq+jGzWpc3EU5GJ6Dt7RmTbSt9h3da6f8w=";
vendorHash = "sha256-UM/xeRvfvlq+jGzWpc3EU5GJ6Dt7RmTbSt9h3da6f8w=";
# Inject frontend assets into go embed
prePatch = ''

View file

@ -34,12 +34,12 @@ sed -e "s/version =.*;/version = \"$TARGET_VERSION\";/g" \
# update hash
SRC_HASH="$(nix-instantiate --eval -A memos.src.outputHash | tr -d '"')"
NEW_HASH="$(nix-prefetch-github usememos memos --rev v$TARGET_VERSION | jq -r .sha256)"
NEW_HASH="$(nix-prefetch-github usememos memos --rev v$TARGET_VERSION | jq -r .hash)"
replaceHash "$SRC_HASH" "$NEW_HASH"
GO_HASH="$(nix-instantiate --eval -A memos.vendorSha256 | tr -d '"')"
EMPTY_HASH="$(nix-instantiate --eval -A lib.fakeSha256 | tr -d '"')"
GO_HASH="$(nix-instantiate --eval -A memos.vendorHash | tr -d '"')"
EMPTY_HASH="$(nix-instantiate --eval -A lib.fakeHash | tr -d '"')"
replaceHash "$GO_HASH" "$EMPTY_HASH"
replaceHash "$EMPTY_HASH" "$(extractVendorHash "$GO_HASH")"

View file

@ -10,16 +10,16 @@
buildGoModule rec {
pname = "grafana-agent";
version = "0.34.3";
version = "0.35.0";
src = fetchFromGitHub {
owner = "grafana";
repo = "agent";
rev = "v${version}";
hash = "sha256-llHMTuNWGipL732L+uCupILvomhwZMFT8tJaFkBs+AQ=";
hash = "sha256-mSU4in+9itJuCdyF10K11f7nhbxztliJq8pX3K0bL2Y=";
};
vendorHash = "sha256-x9c6xRk1Ska+kqoFhAJ9ei35Lg8wsgDpZpfxJ3UExfg=";
vendorHash = "sha256-MqUkGKOzx8Qo9xbD9GdUryVwKjpVUOXFo2x0/2uz8Uk=";
proxyVendor = true; # darwin/linux hash mismatch
ldflags = let

View file

@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../../../../ -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github jq
#!nix-shell -I nixpkgs=../../../../ -i bash -p nix wget prefetch-yarn-deps jq
set -euo pipefail
cd "$(dirname "$0")"

View file

@ -1,8 +1,8 @@
{
"serverVersion": "0.18.2",
"uiVersion": "0.18.2",
"serverSha256": "sha256-T08CjsRREgGJb1vXJrYihYaCin8NNHtsG+2PUHoI4Ho=",
"serverCargoSha256": "sha256-nTZcLOpsbdeGzpz3PzgXZEGZHMbvSDA5rB2A3S9tMF8=",
"uiSha256": "sha256-qFFnmdCONjfPyfp8v0VonPQP8G5b2DVpxEUAQT731Z0=",
"uiYarnDepsSha256": "sha256-fRJpA9WstNNNOePoqotJKYmlikkcjc34iM0WO8+a/3Q="
"serverHash": "sha256-T08CjsRREgGJb1vXJrYihYaCin8NNHtsG+2PUHoI4Ho=",
"serverCargoHash": "sha256-nTZcLOpsbdeGzpz3PzgXZEGZHMbvSDA5rB2A3S9tMF8=",
"uiHash": "sha256-qFFnmdCONjfPyfp8v0VonPQP8G5b2DVpxEUAQT731Z0=",
"uiYarnDepsHash": "sha256-fRJpA9WstNNNOePoqotJKYmlikkcjc34iM0WO8+a/3Q="
}

View file

@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec {
owner = "LemmyNet";
repo = "lemmy";
rev = version;
sha256 = pinData.serverSha256;
hash = pinData.serverHash;
fetchSubmodules = true;
};
@ -30,7 +30,7 @@ rustPlatform.buildRustPackage rec {
echo 'pub const VERSION: &str = "${version}";' > crates/utils/src/version.rs
'';
cargoSha256 = pinData.serverCargoSha256;
cargoHash = pinData.serverCargoHash;
buildInputs = [ postgresql ]
++ lib.optionals stdenv.isDarwin [ libiconv Security ];

View file

@ -40,7 +40,7 @@ let
repo = name;
rev = version;
fetchSubmodules = true;
sha256 = pinData.uiSha256;
hash = pinData.uiHash;
};
in
mkYarnPackage {
@ -52,7 +52,7 @@ mkYarnPackage {
packageJSON = ./package.json;
offlineCache = fetchYarnDeps {
yarnLock = src + "/yarn.lock";
sha256 = pinData.uiYarnDepsSha256;
hash = pinData.uiYarnDepsHash;
};
yarnPreBuild = ''

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