Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-05-12 00:01:57 +00:00 committed by GitHub
commit 84352fc449
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
46 changed files with 466 additions and 126 deletions

View File

@ -0,0 +1,65 @@
# Dart {#sec-language-dart}
## Dart applications {#ssec-dart-applications}
The function `buildDartApplication` builds Dart applications managed with pub.
It fetches its Dart dependencies automatically through `fetchDartDeps`, and (through a series of hooks) builds and installs the executables specified in the pubspec file. The hooks can be used in other derivations, if needed. The phases can also be overridden to do something different from installing binaries.
If you are packaging a Flutter desktop application, use [`buildFlutterApplication`](#ssec-dart-flutter) instead.
`vendorHash`: is the hash of the output of the dependency fetcher derivation. To obtain it, simply set it to `lib.fakeHash` (or omit it) and run the build ([more details here](#sec-source-hashes)).
If the upstream source is missing a `pubspec.lock` file, you'll have to vendor one and specify it using `pubspecLockFile`. If it is needed, one will be generated for you and printed when attempting to build the derivation.
The `dart` commands run can be overridden through `pubGetScript` and `dartCompileCommand`, you can also add flags using `dartCompileFlags` or `dartJitFlags`.
Dart supports multiple [outputs types](https://dart.dev/tools/dart-compile#types-of-output), you can choose between them using `dartOutputType` (defaults to `exe`). If you want to override the binaries path or the source path they come from, you can use `dartEntryPoints`. Outputs that require a runtime will automatically be wrapped with the relevant runtime (`dartaotruntime` for `aot-snapshot`, `dart run` for `jit-snapshot` and `kernel`, `node` for `js`), this can be overridden through `dartRuntimeCommand`.
```nix
{ buildDartApplication, fetchFromGitHub }:
buildDartApplication rec {
pname = "dart-sass";
version = "1.62.1";
src = fetchFromGitHub {
owner = "sass";
repo = pname;
rev = version;
hash = "sha256-U6enz8yJcc4Wf8m54eYIAnVg/jsGi247Wy8lp1r1wg4=";
};
pubspecLockFile = ./pubspec.lock;
vendorHash = "sha256-Atm7zfnDambN/BmmUf4BG0yUz/y6xWzf0reDw3Ad41s=";
}
```
## Flutter applications {#ssec-dart-flutter}
The function `buildFlutterApplication` builds Flutter applications.
The deps.json file must always be provided when packaging in Nixpkgs. It will be generated and printed if the derivation is attempted to be built without one. Alternatively, `autoDepsList` may be set to `true` when outside of Nixpkgs, as it relies on import-from-derivation.
A `pubspec.lock` file must be available. See the [Dart documentation](#ssec-dart-applications) for more details.
```nix
{ flutter, fetchFromGitHub }:
flutter.buildFlutterApplication {
pname = "firmware-updater";
version = "unstable-2023-04-30";
src = fetchFromGitHub {
owner = "canonical";
repo = "firmware-updater";
rev = "6e7dbdb64e344633ea62874b54ff3990bd3b8440";
sha256 = "sha256-s5mwtr5MSPqLMN+k851+pFIFFPa0N1hqz97ys050tFA=";
fetchSubmodules = true;
};
pubspecLockFile = ./pubspec.lock;
depsListFile = ./deps.json;
vendorHash = "sha256-cdMO+tr6kYiN5xKXa+uTMAcFf2C75F3wVPrn21G4QPQ=";
}
```

View File

@ -14,6 +14,7 @@
<xi:include href="crystal.section.xml" />
<xi:include href="cuda.section.xml" />
<xi:include href="cuelang.section.xml" />
<xi:include href="dart.section.xml" />
<xi:include href="dhall.section.xml" />
<xi:include href="dotnet.section.xml" />
<xi:include href="emscripten.section.xml" />

View File

@ -8,6 +8,8 @@ in
options.services.vector = {
enable = mkEnableOption (lib.mdDoc "Vector");
package = mkPackageOptionMD pkgs "vector" { };
journaldAccess = mkOption {
type = types.bool;
default = false;
@ -47,7 +49,7 @@ in
'';
in
{
ExecStart = "${pkgs.vector}/bin/vector --config ${validateConfig conf}";
ExecStart = "${getExe cfg.package} --config ${validateConfig conf}";
DynamicUser = true;
Restart = "no";
StateDirectory = "vector";

View File

@ -50,11 +50,19 @@ in
}
];
fileSystems."${cfg.mountPoint}" = {
fileSystems."${cfg.mountPoint}" = {
device = cfg.mountTag;
fsType = "virtiofs";
};
nix.settings = {
extra-platforms = [ "x86_64-linux" ];
extra-sandbox-paths = [
"/run/binfmt"
cfg.mountPoint
];
};
boot.binfmt.registrations.rosetta = {
interpreter = "${cfg.mountPoint}/rosetta";

View File

@ -31,7 +31,7 @@ with pkgs.lib;
# ensure vector is forwarding the messages appropriately
testScript = ''
machine.wait_for_unit("vector.service")
machine.succeed("test -f /var/lib/vector/logs.log")
machine.wait_for_file("/var/lib/vector/logs.log")
'';
};
}

View File

@ -46,11 +46,11 @@
stdenv.mkDerivation rec {
pname = "audacious-plugins";
version = "4.3";
version = "4.3.1";
src = fetchurl {
url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
sha256 = "sha256-Zi72yMS9cNDzX9HF8IuRVJuUNmOLZfihozlWsJ34n8Y=";
sha256 = "sha256-Leom469YOi1oTfJAsnsrKTK81lPfTbUAqF9P5dX9yKY=";
};
patches = [ ./0001-Set-plugindir-to-PREFIX-lib-audacious.patch ];

View File

@ -36,6 +36,7 @@
, curl
, libffi
, libepoxy
, libevdev
# postPatch:
, glibc # gconv + locale
# postFixup:
@ -154,6 +155,8 @@ let
curl
libepoxy
libffi
] ++ lib.optionals (chromiumVersionAtLeast "114") [
libevdev
] ++ lib.optional systemdSupport systemd
++ lib.optionals cupsSupport [ libgcrypt cups ]
++ lib.optional pulseSupport libpulseaudio;

View File

@ -19,22 +19,22 @@
}
},
"beta": {
"version": "113.0.5672.63",
"sha256": "07pf28yy5c4xw1xkycgzq53zbj14zvhh00sv601nggisq4fw3kkn",
"sha256bin64": "1n1bcim5wfafa3bl9grp3ckmnbi1mzhdxz8pim408wz892da34zl",
"version": "114.0.5735.16",
"sha256": "1pynbzbc8wwc6g8ikx0hr95ylncpdx97y27c6wmfygwgvp91a6wa",
"sha256bin64": "098aclrhifz6cpxcjdaqvi76j3g8r84p3b6cs4fbsj4cmczj4frw",
"deps": {
"gn": {
"version": "2023-03-18",
"version": "2023-04-19",
"url": "https://gn.googlesource.com/gn",
"rev": "41fef642de70ecdcaaa26be96d56a0398f95abd4",
"sha256": "12w4g2dl58283allclpi1c4i6ih9v2xvdb9hpbmfda12v8lizmlq"
"rev": "5a004f9427a050c6c393c07ddb85cba8ff3849fa",
"sha256": "01xrh9m9m6x8lz0vxwdw2mrhrvnw93zpg09hwdhqakj06agf4jjk"
}
}
},
"dev": {
"version": "114.0.5735.6",
"sha256": "0wxlfqxrawk77yzm00hb1fbssrycl4mha53wm4y5mlb8warqs5jk",
"sha256bin64": "0vlb6zr50kn7i0rfvy3yvwzcffpg5ki7is8i3ck43b1gr1bsmgmb",
"version": "115.0.5750.0",
"sha256": "1y0yq7k5rcv4lfxdlr4psap4hxcnrwjps6vl42hwvpw6zxscw1lv",
"sha256bin64": "0h2d4csrznavalfnzvn59pc2jmj6ci1paslp7y2rlpv1jqjrpgq9",
"deps": {
"gn": {
"version": "2023-04-19",
@ -45,8 +45,8 @@
}
},
"ungoogled-chromium": {
"version": "113.0.5672.64",
"sha256": "0knw3i37hh874ycjlc8bl68wdhyqhma5pn7alwa6254qr5dkci9h",
"version": "113.0.5672.93",
"sha256": "1cy33mvhws59d358s30xqs2p9hdb28n37wmv5ihx0d07x30y3azb",
"sha256bin64": null,
"deps": {
"gn": {
@ -56,8 +56,8 @@
"sha256": "12w4g2dl58283allclpi1c4i6ih9v2xvdb9hpbmfda12v8lizmlq"
},
"ungoogled-patches": {
"rev": "113.0.5672.64-1",
"sha256": "0xvgq6971qvvn0cf4z5wkfabhm7dsx2f68npfl4y2nix7hwfs6lq"
"rev": "113.0.5672.93-1",
"sha256": "0ffb33k2kgnpswq1f61gzcblvgsw7qazh8yq2kcdwc4k9bd9gr93"
}
}
}

View File

@ -1,11 +1,11 @@
{
"packageVersion": "112.0.1-2",
"packageVersion": "113.0-1",
"source": {
"rev": "112.0.1-2",
"sha256": "1pm4ilc2zx6qx3qqjl7ypl51mcfwq22abi850kq7l3pznb2z0ljw"
"rev": "113.0-1",
"sha256": "0cqb9lphaqvmf443ha6fhd8q7qyy09bsg923rq8jy8cjmhkq2n6i"
},
"firefox": {
"version": "112.0.1",
"sha512": "23a5cd9c1f165275d8ca7465bebce86018441c72292421f4ed56d7ad8ada9402dc8d22a08467d9d0ef3ef8c62338006dfa3bcbddf12cb8a59eafa0bd7d0cda50"
"version": "113.0",
"sha512": "96b0f0774083270f4fcce06085b177ced25ba05da7291d777f1da1d5bbad30721bc6363b76e06ccb64fc092778c8326a426a8bfdfa3cbaafd4f1169b924744a5"
}
}

View File

@ -1,9 +1,9 @@
{
"version" = "1.11.30";
"version" = "1.11.31";
"hashes" = {
"desktopSrcHash" = "WICzS+KARX+Z4vfBqBd13wtNB7m18rsXJsFey/MnST0=";
"desktopYarnHash" = "0rm0rghd2piaxhf7jvxs6rd6yykgdm8d2a7rxqc9m9xjklxdf6nj";
"webSrcHash" = "5o1DEVtkx4PYYRXYdyjVOlkvbQSc9/an5DshARTJTR4=";
"webYarnHash" = "0bg5vc7q8afqfpsaqqkczf9whbzici5d2bxj5cadhrlmlb27f8nx";
"desktopSrcHash" = "urCMClvyJx6e0UXDAcZysZvw3Qb6cnPjiy/aR4Uqtzs=";
"desktopYarnHash" = "1yrdg7fn533qg6wzg99s2si68nlzgvp9wiyallq0s2b665bznqxj";
"webSrcHash" = "eVZ3SaUqM2YQehQNIS5kVQ98HrNwovYsZwHCndCcFa4=";
"webYarnHash" = "0xzwvhpvxzslvcybyn3si91fyi6a7xnrgib5dj6v5lcha1xd32w7";
};
}

View File

@ -1,14 +1,14 @@
{
"version": "15.11.2",
"repo_hash": "sha256-4wdbe/DkZdfmOuKHlmBEKQYYduIaB1SD5ZYICHqADeE=",
"version": "15.11.3",
"repo_hash": "sha256-fOIh1x1ci2J1J8bXANOQObn8gqELeu0nisb+EdjyJzw=",
"yarn_hash": "02ipm7agjy3c75df76c00k3qq5gpw3d876f6x91xnwizswsv9agb",
"owner": "gitlab-org",
"repo": "gitlab",
"rev": "v15.11.2-ee",
"rev": "v15.11.3-ee",
"passthru": {
"GITALY_SERVER_VERSION": "15.11.2",
"GITLAB_PAGES_VERSION": "15.11.2",
"GITALY_SERVER_VERSION": "15.11.3",
"GITLAB_PAGES_VERSION": "15.11.3",
"GITLAB_SHELL_VERSION": "14.18.0",
"GITLAB_WORKHORSE_VERSION": "15.11.2"
"GITLAB_WORKHORSE_VERSION": "15.11.3"
}
}

View File

@ -11,7 +11,7 @@ let
gemdir = ./.;
};
version = "15.11.2";
version = "15.11.3";
package_version = "v${lib.versions.major version}";
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
@ -22,7 +22,7 @@ let
owner = "gitlab-org";
repo = "gitaly";
rev = "v${version}";
sha256 = "sha256-yX93YHHajXqAQq93mM/bRCQciDfJ0GR3kLSO4MQsWPY=";
sha256 = "sha256-3bbk9LDqo6hm8eG17+a7udM/yHjvXi3f32gNwXhrMrI=";
};
vendorSha256 = "sha256-gJelagGPogeCdJtRpj4RaYlqzZRhtU0EIhmj1aK4ZOk=";

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "gitlab-pages";
version = "15.11.2";
version = "15.11.3";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-pages";
rev = "v${version}";
sha256 = "sha256-c5brpl9OEW4N8vmphdCRYl5TGkMN3FmXmINPpyEajUs=";
sha256 = "sha256-1qf/ZXOQBMT1aH0f6IyItTBUuhwVuE76sU8llRapZ0Q=";
};
vendorHash = "sha256-s3HHoz9URACuVVhePQQFviTqlQU7vCLOjTJPBlus1Vo=";

View File

@ -5,7 +5,7 @@ in
buildGoModule rec {
pname = "gitlab-workhorse";
version = "15.11.2";
version = "15.11.3";
src = fetchFromGitLab {
owner = data.owner;

View File

@ -435,7 +435,7 @@ group :development, :test do
end
group :development, :test, :danger do
gem 'gitlab-dangerfiles', '~> 3.8.0', require: false
gem 'gitlab-dangerfiles', '~> 3.9.0', require: false
end
group :development, :test, :coverage do

View File

@ -485,7 +485,7 @@ GEM
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-http-cache (2.4.1)
faraday-http-cache (2.5.0)
faraday (>= 0.8)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.4)
@ -595,7 +595,7 @@ GEM
terminal-table (>= 1.5.1)
gitlab-chronic (0.10.5)
numerizer (~> 0.2)
gitlab-dangerfiles (3.8.0)
gitlab-dangerfiles (3.9.0)
danger (>= 8.4.5)
danger-gitlab (>= 8.0.0)
rake
@ -1746,7 +1746,7 @@ DEPENDENCIES
gettext_i18n_rails_js (~> 1.3)
gitaly (~> 15.9.0.pre.rc3)
gitlab-chronic (~> 0.10.5)
gitlab-dangerfiles (~> 3.8.0)
gitlab-dangerfiles (~> 3.9.0)
gitlab-experiment (~> 0.7.1)
gitlab-fog-azure-rm (~> 1.7.0)
gitlab-labkit (~> 0.31.1)

View File

@ -1700,10 +1700,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1qsycf92z2797m9v6calp4yhz565vdsfazi7rj0rxy3jxvlv4lgv";
sha256 = "0qvl49xpl2mwxgcj6aj11qrjk94xrqhbnpl5vp1y2275crnkddv4";
type = "gem";
};
version = "2.4.1";
version = "2.5.0";
};
faraday-httpclient = {
groups = ["danger" "default" "development" "test"];
@ -2157,10 +2157,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0zhsdnr3zbsym6j689d039hrd9if07jbircyl6ns4f5abwhc7w3y";
sha256 = "13npl2yqcapsxwzm3b84537sa5s1cplcvba43nlwdcb1d22skfip";
type = "gem";
};
version = "3.8.0";
version = "3.9.0";
};
gitlab-experiment = {
dependencies = ["activesupport" "request_store"];

View File

@ -0,0 +1,66 @@
{ lib, stdenv, fetchDartDeps, writeText, dartHooks, makeWrapper, dart, nodejs }:
{ pubGetScript ? "dart pub get"
# Output type to produce. Can be any kind supported by dart
# https://dart.dev/tools/dart-compile#types-of-output
# If using jit, you might want to pass some arguments to `dartJitFlags`
, dartOutputType ? "exe"
, dartCompileCommand ? "dart compile"
, dartCompileFlags ? [ ]
# These come at the end of the command, useful to pass flags to the jit run
, dartJitFlags ? [ ]
# Attrset of entry point files to build and install.
# Where key is the final binary path and value is the source file path
# e.g. { "bin/foo" = "bin/main.dart"; }
# Set to null to read executables from pubspec.yaml
, dartEntryPoints ? null
# Used when wrapping aot, jit, kernel, and js builds.
# Set to null to disable wrapping.
, dartRuntimeCommand ?
if dartOutputType == "aot-snapshot" then "${dart}/bin/dartaotruntime"
else if (dartOutputType == "jit-snapshot" || dartOutputType == "kernel") then "${dart}/bin/dart"
else if dartOutputType == "js" then "${nodejs}/bin/node"
else null
, pubspecLockFile ? null
, vendorHash ? ""
, ...
}@args:
let
dartDeps = fetchDartDeps {
buildDrvArgs = args;
inherit pubGetScript vendorHash pubspecLockFile;
};
inherit (dartHooks.override { inherit dart; }) dartConfigHook dartBuildHook dartInstallHook;
in
assert !(builtins.isString dartOutputType && dartOutputType != "") ->
throw "dartOutputType must be a non-empty string";
stdenv.mkDerivation (args // {
inherit pubGetScript dartCompileCommand dartOutputType dartRuntimeCommand
dartCompileFlags dartJitFlags;
dartEntryPoints =
if (dartEntryPoints != null)
then writeText "entrypoints.json" (builtins.toJSON dartEntryPoints)
else null;
nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [
dart
dartDeps
dartConfigHook
dartBuildHook
dartInstallHook
makeWrapper
];
# When stripping, it seems some ELF information is lost and the dart VM cli
# runs instead of the expected program. Don't strip if it's an exe output.
dontStrip = args.dontStrip or (dartOutputType == "exe");
passthru = { inherit dartDeps; } // (args.passthru or { });
meta = (args.meta or { }) // { platforms = args.meta.platforms or dart.meta.platforms; };
})

View File

@ -0,0 +1,34 @@
# shellcheck shell=bash
# Outputs line-separated "${dest}\t${source}"
_getDartEntryPoints() {
if [ -n "$dartEntryPoints" ]; then
@jq@ -r '(to_entries | map(.key + "\t" + .value) | join("\n"))' "$dartEntryPoints"
else
# The pubspec executables section follows the pattern:
# <output-bin-name>: [source-file-name]
# Where source-file-name defaults to output-bin-name if omited
@yq@ -r '(.executables | to_entries | map("bin/" + .key + "\t" + "bin/" + (.value // .key) + ".dart") | join("\n"))' pubspec.yaml
fi
}
dartBuildHook() {
echo "Executing dartBuildHook"
runHook preBuild
while IFS=$'\t' read -ra target; do
dest="${target[0]}"
src="${target[1]}"
eval "$dartCompileCommand" "$dartOutputType" \
-o "$dest" "${dartCompileFlags[@]}" "$src" "${dartJitFlags[@]}"
done < <(_getDartEntryPoints)
runHook postBuild
echo "Finished dartBuildHook"
}
if [ -z "${dontDartBuild-}" ] && [ -z "${buildPhase-}" ]; then
buildPhase=dartBuildHook
fi

View File

@ -0,0 +1,12 @@
# shellcheck shell=bash
dartConfigHook() {
echo "Executing dartConfigHook"
echo "Installing dependencies"
eval "$pubGetScript" --offline
echo "Finished dartConfigHook"
}
postConfigureHooks+=(dartConfigHook)

View File

@ -0,0 +1,29 @@
# shellcheck shell=bash
dartInstallHook() {
echo "Executing dartInstallHook"
runHook preInstall
mkdir -p "$out"
while IFS=$'\t' read -ra target; do
dest="${target[0]}"
# Wrap with runtime command, if it's defined
if [ -n "$dartRuntimeCommand" ]; then
install -D "$dest" "$out/share/$dest"
makeWrapper "$dartRuntimeCommand" "$out/$dest" \
--add-flags "$out/share/$dest"
else
install -Dm755 "$dest" "$out/$dest"
fi
done < <(_getDartEntryPoints)
runHook postInstall
echo "Finished dartInstallHook"
}
if [ -z "${dontDartInstall-}" ] && [ -z "${installPhase-}" ]; then
installPhase=dartInstallHook
fi

View File

@ -0,0 +1,15 @@
{ lib, makeSetupHook, dart, yq, jq }:
{
dartConfigHook = makeSetupHook {
name = "dart-config-hook";
} ./dart-config-hook.sh;
dartBuildHook = makeSetupHook {
name = "dart-build-hook";
substitutions.yq = "${yq}/bin/yq";
substitutions.jq = "${jq}/bin/jq";
} ./dart-build-hook.sh;
dartInstallHook = makeSetupHook {
name = "dart-install-hook";
} ./dart-install-hook.sh;
}

View File

@ -16,7 +16,7 @@
, customPackageOverrides ? { }
, autoDepsList ? false
, depsListFile ? null
, vendorHash
, vendorHash ? ""
, pubspecLockFile ? null
, nativeBuildInputs ? [ ]
, preUnpack ? ""

View File

@ -30,7 +30,7 @@ let
variants = lib.genAttrs [ "profile" "release" ]
(variant: [
{ archive = "artifacts.zip"; }
{ archive = "${lib.toLower hostPlatform.uname.system}-x64.zip"; }
{ subdirectory = true; archive = "${lib.toLower hostPlatform.uname.system}-x64.zip"; }
]);
})) //
{
@ -80,7 +80,7 @@ let
};
};
mkArtifactDerivation = { platform ? null, variant ? null, archive, ... }@args:
mkArtifactDerivation = { platform ? null, variant ? null, subdirectory ? null, archive, ... }@args:
let
artifactDirectory = if platform == null then null else "${platform}${lib.optionalString (variant != null) "-${variant}"}";
archiveBasename = lib.removeSuffix ".${(lib.last (lib.splitString "." archive))}" archive;
@ -97,7 +97,14 @@ let
nativeBuildInputs = [ autoPatchelfHook ];
installPhase = "cp -r . $out";
installPhase =
let
destination = "$out/${if subdirectory == true then archiveBasename else if subdirectory != null then subdirectory else "."}";
in
''
mkdir -p "${destination}"
cp -r . "${destination}"
'';
} // args);
artifactDerivations = {

View File

@ -0,0 +1,19 @@
{ coq, mkCoqDerivation, mathcomp-analysis, lib, version ? null }:
mkCoqDerivation {
namePrefix = [ "coq" "mathcomp" ];
pname = "infotheo";
owner = "affeldt-aist";
inherit version;
defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp-analysis.version] [
{ cases = [ (range "8.15" "8.16") (range "0.5.4" "0.6.2") ]; out = "0.5.1"; }
] null;
release."0.5.1".sha256 = "sha256-yBBl5l+V+dggsg5KM59Yo9CULKog/xxE8vrW+ZRnX7Y=";
propagatedBuildInputs = [ mathcomp-analysis ];
meta = with lib; {
description = "A Coq formalization of information theory and linear error-correcting codes";
license = licenses.lgpl21Plus;
};
}

View File

@ -0,0 +1,27 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, libusb1 }:
stdenv.mkDerivation rec {
pname = "wch-isp";
version = "0.2.4";
src = fetchFromGitHub {
owner = "jmaselbas";
repo = pname;
rev = "v${version}";
hash = "sha256-YjxzfDSZRMa7B+hNqtj87nRlRuQyr51VidZqHLddgwI=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libusb1 ];
installFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
installTargets = [ "install" "install-rules" ];
meta = {
description = "Firmware programmer for WCH microcontrollers over USB";
license = lib.licenses.gpl2Only;
homepage = "https://github.com/jmaselbas/wch-isp";
maintainers = with lib.maintainers; [ lesuisse ];
platforms = lib.platforms.unix;
};
}

View File

@ -50,12 +50,12 @@ stdenv.mkDerivation rec {
makeFlags = [
"CC=${stdenv.cc.targetPrefix}cc"
]
++ lib.optional enableReplxx "REPLXX=1";
];
buildFlags = [
# interpreter binary
(lib.flatten (if enableSingeli then ["o3n-singeli" "f='-mavx2'"] else ["o3"]))
"REPLXX=${if enableReplxx then "1" else "0"}"
] ++ lib.optionals enableLibcbqn [
# embeddable interpreter as a shared lib
"shared-o3"

View File

@ -5,13 +5,13 @@
stdenvNoCC.mkDerivation {
pname = "replxx";
version = "unstable-2023-01-21";
version = "unstable-2023-02-26";
src = fetchFromGitHub {
owner = "dzaima";
repo = "replxx";
rev = "eb6bcecff4ca6051120c99e9dd64c3bd20fcc42f";
hash = "sha256-cb486FGF+4sUxgBbRfnbTTnZn2WQ3p93fSwDRCEtFJg=";
rev = "1da4681a8814366ec51e7630b76558e53be0997d";
hash = "sha256-Zs7ItuK31n0VSxwOsPUdZZLr68PypitZqcydACrx90Q=";
};
dontConfigure = true;

View File

@ -5,13 +5,13 @@
stdenvNoCC.mkDerivation {
pname = "singeli";
version = "unstable-2023-01-23";
version = "unstable-2023-04-12";
src = fetchFromGitHub {
owner = "mlochbaum";
repo = "Singeli";
rev = "0bc519ccbbe4051204d40bfc861a5bed7132e95f";
hash = "sha256-zo4yr9t3hp6BOX1ac3md6R/O+hl5MphZdCmI8nNP9Yc=";
rev = "3327956fedfdc6aef12954bc12120f20de2226d0";
hash = "sha256-k25hk5zTn0m+2Nh9buTJYhtM98/VRlQ0guoRw9el3VE=";
};
dontConfigure = true;

View File

@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation rec {
pname = "bqn";
version = "0.pre+date=2022-11-24";
version = "0.pre+date=2023-05-09";
src = fetchFromGitHub {
owner = "mlochbaum";
repo = "BQN";
rev = "976bd82fb0e830876cca117c302c8a19048033a4";
hash = "sha256:1nhn30ypc2zvq58b3zi66ypc9wv3v8cryn43cqihazc1lq8qxqdw";
rev = "656b176c5dc783b038b018f0ed17a5414ea62b4d";
hash = "sha256-6r+N0eCvwvaoB84cw+Vtoqa6MXuI0NXLbOPblemY4M8=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -1,4 +1,4 @@
{ lib, buildPythonPackage, fetchFromGitHub }:
{ lib, buildPythonPackage, fetchFromGitHub, pythonAtLeast }:
buildPythonPackage rec {
pname = "assay";
@ -18,5 +18,6 @@ buildPythonPackage rec {
description = "Attempt to write a Python testing framework I can actually stand";
license = licenses.mit;
maintainers = with maintainers; [ zane ];
broken = pythonAtLeast "3.11";
};
}

View File

@ -0,0 +1,35 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "crc";
version = "4.2.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "Nicoretti";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-h/RVMIJX+Lyted0FHNBcKY54EiirSclkBXCpAQSATq8=";
};
nativeBuildInputs = [ poetry-core ];
pythonImportsCheck = [ "crc" ];
nativeCheckInputs = [ pytestCheckHook ];
disabledTestPaths = [ "test/bench" ];
meta = with lib; {
changelog = "https://github.com/Nicoretti/crc/releases/tag/${version}";
description = "Python module for calculating and verifying predefined & custom CRC's";
homepage = "https://nicoretti.github.io/crc/";
license = licenses.bsd2;
maintainers = with maintainers; [ jleightcap ];
};
}

View File

@ -3,7 +3,11 @@
, fetchFromGitHub
, pythonOlder
, pytestCheckHook
, cryptography
, nibabel
, numpy
, pydicom
, simpleitk
}:
buildPythonPackage rec {
@ -18,14 +22,20 @@ buildPythonPackage rec {
hash = "sha256-iHbClOrtYkHT1Nar+5j/ig4Krya8LdQdFB4Mmm5B9bg=";
};
# relax Python dep to work with 3.10.x
# relax Python dep to work with 3.10.x and 3.11.x
postPatch = ''
substituteInPlace setup.cfg --replace "!=3.10.*," ""
substituteInPlace setup.cfg --replace "!=3.10.*," "" --replace "!=3.11.*" ""
'';
propagatedBuildInputs = [ numpy ];
doCheck = false; # requires SimpleITK python package (not in Nixpkgs)
nativeCheckInputs = [
pytestCheckHook
cryptography
nibabel
pydicom
simpleitk
];
pythonImportsCheck = [
"pymedio"

View File

@ -1,22 +1,33 @@
{ lib, buildPythonPackage, fetchFromGitHub, certifi, numpy, sgp4, jplephem
{ lib, buildPythonPackage, pythonOlder, fetchFromGitHub, certifi, numpy, sgp4, jplephem
, pandas, ipython, matplotlib, assay
}:
buildPythonPackage rec {
pname = "skyfield";
version = "1.42";
version = "1.45";
src = fetchFromGitHub {
owner = "skyfielders";
repo = "python-skyfield";
rev = version;
hash = "sha256-aoSkuLhZcEy+13EJQOBHV2/rgmN6aZQHqfj4OOirOG0=";
hash = "sha256-kZrXNVE+JGPGiVsd6CTwOqfciYLsD2A4pTS3FpqO+Dk=";
};
# Fix broken tests on "exotic" platforms.
# https://github.com/skyfielders/python-skyfield/issues/582#issuecomment-822033858
postPatch = ''
substituteInPlace skyfield/tests/test_planetarylib.py \
--replace "if IS_32_BIT" "if True"
'';
propagatedBuildInputs = [ certifi numpy sgp4 jplephem ];
nativeCheckInputs = [ pandas ipython matplotlib assay ];
# assay is broken on Python >= 3.11
# https://github.com/brandon-rhodes/assay/issues/15
doCheck = pythonOlder "3.11";
checkPhase = ''
runHook preCheck

View File

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "weaviate-client";
version = "3.15.4";
version = "3.18.0";
src = fetchPypi {
inherit pname version;
hash = "sha256-XmHr/+++32KwdR195WL/1ThHF8juat/KTqbrFQ0BLhw=";
hash = "sha256-QjpSZRijJQXFKTMo5fJS5su/IOSzEkcz9w0Q/A1oI8k=";
};
postPatch = ''

View File

@ -1,54 +1,29 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, dart
, callPackage
, buildDartApplication
}:
stdenvNoCC.mkDerivation (finalAttrs: rec {
buildDartApplication rec {
pname = "dart-sass";
version = "1.62.1";
src = fetchFromGitHub {
owner = "sass";
repo = pname;
rev = finalAttrs.version;
rev = version;
hash = "sha256-U6enz8yJcc4Wf8m54eYIAnVg/jsGi247Wy8lp1r1wg4=";
};
nativeBuildInputs = [
dart
(callPackage ../../../../build-support/dart/fetch-dart-deps { } {
buildDrvArgs = finalAttrs;
pubspecLockFile = ./pubspec.lock;
vendorHash = "sha256-Atm7zfnDambN/BmmUf4BG0yUz/y6xWzf0reDw3Ad41s=";
})
];
pubspecLockFile = ./pubspec.lock;
vendorHash = "sha256-Atm7zfnDambN/BmmUf4BG0yUz/y6xWzf0reDw3Ad41s=";
configurePhase = ''
runHook preConfigure
dart pub get --offline
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
dart compile exe --define=version=${finalAttrs.version} ./bin/sass.dart
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -D ./bin/sass.exe $out/bin/sass
runHook postInstall
'';
dartCompileFlags = "--define=version=${version}";
meta = with lib; {
inherit (dart.meta) platforms;
homepage = "https://github.com/sass/dart-sass";
description = "The reference implementation of Sass, written in Dart";
mainProgram = "sass";
license = licenses.mit;
maintainers = with maintainers; [ lelgenio ];
};
})
}

View File

@ -1,6 +1,5 @@
{ lib
, stdenvNoCC
, fetchpatch
, fetchzip
, fetchFromGitHub
, butler
@ -12,23 +11,14 @@
}:
stdenvNoCC.mkDerivation rec {
pname = "itch";
version = "25.5.1";
version = "25.6.2";
src = fetchzip {
url = "https://broth.itch.ovh/${pname}/linux-amd64/${version}/itch.zip";
stripRoot = false;
sha256 = "sha256-ejfS+sqhacW2h8u96W4fout3V8xrBs0SrW5w/7X83m4=";
sha256 = "sha256-F/vaYBHCygseiKNMJ+jBy31YDIFqYToAETGUl/pkHII=";
};
patches = [
# Fixes crash while browsing the store.
(fetchpatch {
name = "itch.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/itch.patch?h=itch-bin&id=0b181454567029141749f870880b10093216e133";
sha256 = "sha256-gmLL/BMondSflERm0z+DuGDP56JhDXiyxEwLUavTD8Q=";
})
];
itch-setup = fetchzip {
url = "https://broth.itch.ovh/itch-setup/linux-amd64/1.26.0/itch-setup.zip";
stripRoot = false;
@ -39,8 +29,8 @@ stdenvNoCC.mkDerivation rec {
fetchFromGitHub {
owner = "itchio";
repo = pname;
rev = "v${version}";
hash = "sha256-DZBmf8fe0zw5uiQjNKXw8g/vU2hjNDa87z/7XuhyXog=";
rev = "v25.6.1-canary"; # Use ${version} if possible
hash = "sha256-iBp7K7AW97SOlRa8N8TW2LcVtmUi9JU00fYUuPwKORc=";
sparseCheckout = [ sparseCheckout ];
} + sparseCheckout;

View File

@ -6,7 +6,7 @@
stdenvNoCC.mkDerivation rec {
pname = "raycast";
version = "1.50.0";
version = "1.51.1";
src = fetchurl {
# https://github.com/NixOS/nixpkgs/pull/223495
@ -17,7 +17,7 @@ stdenvNoCC.mkDerivation rec {
# to host GitHub Actions to periodically check for updates
# and re-release the `.dmg` file to Internet Archive (https://archive.org/details/raycast)
url = "https://archive.org/download/raycast/raycast-${version}.dmg";
sha256 = "sha256-+LvQDQZjbj/p8VT/af9XwKSKkKd65YzcwrKF9hoXCog=";
sha256 = "sha256-6U0dsDlIuU4OjgF8lvXbtVQ+xFB54KZpasvd307jca4=";
};
dontPatch = true;

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "alsa-utils";
version = "1.2.8";
version = "1.2.9";
src = fetchurl {
url = "mirror://alsa/utils/${pname}-${version}.tar.bz2";
sha256 = "sha256-4UD6YEw1Hza9chZ8iGDGnYG5ZK5qtTmS1kNN3jjpMzw=";
sha256 = "sha256-52I9RSVZX5LhHOJe6al/IEChTG5NzQJ6qW4Gy854F70=";
};
nativeBuildInputs = [ gettext makeWrapper ];

View File

@ -13,6 +13,9 @@ stdenv.mkDerivation rec {
patches = lib.optionals (lib.versionAtLeast kernel.modDirVersion "6.1") [
# https://github.com/torvalds/linux/commit/a8c11c1520347be74b02312d10ef686b01b525f1
./fix-incompatible-pointer-types.patch
] ++ lib.optionals (lib.versionAtLeast kernel.modDirVersion "6.3") [
# https://github.com/torvalds/linux/commit/5d420399073770134d2b03e004b2c0201c7fa26f
./fix-incompatible-pointer-types_6_3.patch
];
sourceRoot = "${src.name}/driver";

View File

@ -0,0 +1,13 @@
diff --git a/ch9344.c b/ch9344.c
index a16af82..8922ed9 100644
--- a/ch9344.c
+++ b/ch9344.c
@@ -774,7 +774,7 @@ static inline void *tty_get_portdata(struct ch9344_ttyport *port)
return (port->portdata);
}
-static void ch9344_port_dtr_rts(struct tty_port *port, int raise)
+static void ch9344_port_dtr_rts(struct tty_port *port, bool raise)
{
struct ch9344_ttyport *ttyport = container_of(port, struct ch9344_ttyport, port);
struct ch9344 *ch9344 = tty_get_portdata(ttyport);

View File

@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
pname = "bind";
version = "9.18.12";
version = "9.18.14";
src = fetchurl {
url = "https://downloads.isc.org/isc/bind9/${version}/${pname}-${version}.tar.xz";
sha256 = "sha256-R3Zrt7BjqrutBUOGsZCqf2wUUkQnr9Qnww7EJlEgJ+c=";
sha256 = "sha256-muEu32rDxDCzPs0afAwMYIddJVGF64eFD6ml55SmSgk=";
};
outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];

View File

@ -1,4 +1,4 @@
{ lib, stdenvNoCC, fetchFromGitHub, shellcheck, shellspec, busybox-sandbox-shell, ksh, mksh, yash, zsh }:
{ lib, stdenvNoCC, fetchFromGitHub, shellspec, busybox-sandbox-shell, ksh, mksh, yash, zsh }:
stdenvNoCC.mkDerivation rec {
pname = "getoptions";
@ -15,13 +15,16 @@ stdenvNoCC.mkDerivation rec {
doCheck = true;
nativeCheckInputs = [ shellcheck shellspec busybox-sandbox-shell ksh mksh yash zsh ];
nativeCheckInputs = [ shellspec ksh mksh yash zsh ]
++ lib.lists.optional (!stdenvNoCC.isDarwin) busybox-sandbox-shell;
preCheck = ''
sed -i '/shellspec -s posh/d' Makefile
'' + lib.strings.optionalString stdenvNoCC.isDarwin ''
sed -i "/shellspec -s 'busybox ash'/d" Makefile
'';
checkTarget = "check testall";
checkTarget = "testall";
meta = with lib; {
description = "An elegant option/argument parser for shell scripts (full support for bash and all POSIX shells)";

View File

@ -19265,6 +19265,8 @@ with pkgs;
uisp = callPackage ../development/embedded/uisp { };
wch-isp = callPackage ../development/embedded/wch-isp { };
uncrustify = callPackage ../development/tools/misc/uncrustify { };
universal-ctags = callPackage ../development/tools/misc/universal-ctags { };
@ -39899,6 +39901,12 @@ with pkgs;
dart-sass = callPackage ../development/tools/misc/dart-sass { };
fetchDartDeps = callPackage ../build-support/dart/fetch-dart-deps { };
buildDartApplication = callPackage ../build-support/dart/build-dart-application { };
dartHooks = callPackage ../build-support/dart/build-dart-application/hooks { };
httrack = callPackage ../tools/backup/httrack { };
httraqt = libsForQt5.callPackage ../tools/backup/httrack/qt.nix { };

View File

@ -82,6 +82,7 @@ let
mathcomp-bigenough = callPackage ../development/coq-modules/mathcomp-bigenough {};
mathcomp-classical = self.mathcomp-analysis.classical;
mathcomp-finmap = callPackage ../development/coq-modules/mathcomp-finmap {};
mathcomp-infotheo = callPackage ../development/coq-modules/mathcomp-infotheo {};
mathcomp-real-closed = callPackage ../development/coq-modules/mathcomp-real-closed {};
mathcomp-tarjan = callPackage ../development/coq-modules/mathcomp-tarjan {};
mathcomp-word = callPackage ../development/coq-modules/mathcomp-word {};

View File

@ -2109,6 +2109,8 @@ self: super: with self; {
crayons = callPackage ../development/python-modules/crayons { };
crc = callPackage ../development/python-modules/crc { };
crc16 = callPackage ../development/python-modules/crc16 { };
crc32c = callPackage ../development/python-modules/crc32c { };