Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-06-18 00:14:16 +00:00 committed by GitHub
commit e07bc34357
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
267 changed files with 5703 additions and 2863 deletions

View File

@ -21822,6 +21822,12 @@
githubId = 5837359;
name = "Adrian Pistol";
};
vigress8 = {
email = "vig@disroot.org";
github = "vigress8";
githubId = 150687949;
name = "Vigress";
};
vikanezrimaya = {
email = "vika@fireburn.ru";
github = "vikanezrimaya";

View File

@ -39,7 +39,7 @@ with lib;
# dep of graphviz, libXpm is optional for Xpm support
gd = super.gd.override { withXorg = false; };
ghostscript = super.ghostscript.override { cupsSupport = false; x11Support = false; };
gjs = super.gjs.overrideAttrs { doCheck = false; installTests = false; }; # avoid test dependency on gtk3
gjs = (super.gjs.override { installTests = false; }).overrideAttrs { doCheck = false; }; # avoid test dependency on gtk3
gobject-introspection = super.gobject-introspection.override { x11Support = false; };
gpg-tui = super.gpg-tui.override { x11Support = false; };
gpsd = super.gpsd.override { guiSupport = false; };

View File

@ -29,17 +29,13 @@ in
config =
let
shell_files = pkgs.stdenv.mkDerivation rec {
name = "kubeswitch-shell-files";
phases = [ "installPhase" ];
installPhase = ''
mkdir -p $out/share
for shell in bash zsh; do
${cfg.package}/bin/switcher init $shell | sed 's/switch(/${cfg.commandName}(/' > $out/share/${cfg.commandName}_init.$shell
${cfg.package}/bin/switcher --cmd ${cfg.commandName} completion $shell > $out/share/${cfg.commandName}_completion.$shell
done
'';
};
shell_files = pkgs.runCommand "kubeswitch-shell-files" {} ''
mkdir -p $out/share
for shell in bash zsh; do
${cfg.package}/bin/switcher init $shell | sed 's/switch(/${cfg.commandName}(/' > $out/share/${cfg.commandName}_init.$shell
${cfg.package}/bin/switcher --cmd ${cfg.commandName} completion $shell > $out/share/${cfg.commandName}_completion.$shell
done
'';
in
lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];

View File

@ -28,13 +28,7 @@ in {
options.services.amazon-ssm-agent = {
enable = mkEnableOption "Amazon SSM agent";
package = mkOption {
type = types.path;
description = "The Amazon SSM agent package to use";
default = pkgs.amazon-ssm-agent.override { overrideEtc = false; };
defaultText = literalExpression "pkgs.amazon-ssm-agent.override { overrideEtc = false; }";
};
package = mkPackageOption pkgs "amazon-ssm-agent" {};
};
config = mkIf cfg.enable {

View File

@ -586,11 +586,11 @@ in
wantedBy = [ "multi-user.target" ];
wants = [ "network-online.target" ] ++ lib.optionals needsKeycloak [ "keycloak.service" ];
after = [ "network-online.target" ] ++ lib.optionals needsKeycloak [ "keycloak.service" ];
restartTriggers = [ cfg.keyFile ];
serviceConfig = {
User = "oauth2-proxy";
Restart = "always";
ExecStart = "${cfg.package}/bin/oauth2-proxy ${configString}";
ExecStart = "${lib.getExe cfg.package} ${configString}";
EnvironmentFile = lib.mkIf (cfg.keyFile != null) cfg.keyFile;
};
};

View File

@ -310,7 +310,7 @@ in
type = types.str;
default = "redis+socket://${config.services.redis.servers.pretix.unixSocket}?virtual_host=1";
defaultText = literalExpression ''
optionalString config.services.pretix.celery.enable "redis+socket://''${config.services.redis.servers.pretix.unixSocket}?virtual_host=1"
redis+socket://''${config.services.redis.servers.pretix.unixSocket}?virtual_host=1
'';
description = ''
URI to the celery backend used for the asynchronous job queue.
@ -321,7 +321,7 @@ in
type = types.str;
default = "redis+socket://${config.services.redis.servers.pretix.unixSocket}?virtual_host=2";
defaultText = literalExpression ''
optionalString config.services.pretix.celery.enable "redis+socket://''${config.services.redis.servers.pretix.unixSocket}?virtual_host=2"
redis+socket://''${config.services.redis.servers.pretix.unixSocket}?virtual_host=2
'';
description = ''
URI to the celery broker used for the asynchronous job queue.

View File

@ -1,5 +1,54 @@
import ./make-test-python.nix ({ lib, pkgs, ... }:
let
# Define an example Quickwit index schema,
# and some `exampleDocs` below, to test if ingesting
# and querying works as expected.
index_yaml = ''
version: 0.7
index_id: example_server_logs
doc_mapping:
mode: dynamic
field_mappings:
- name: datetime
type: datetime
fast: true
input_formats:
- iso8601
output_format: iso8601
fast_precision: seconds
fast: true
- name: git
type: text
tokenizer: raw
- name: hostname
type: text
tokenizer: raw
- name: level
type: text
tokenizer: raw
- name: message
type: text
- name: location
type: text
- name: source
type: text
timestamp_field: datetime
search_settings:
default_search_fields: [message]
indexing_settings:
commit_timeout_secs: 10
'';
exampleDocs = ''
{"datetime":"2024-05-03T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-1","level":"Info","message":"Processing request done","location":"path/to/server.c:6442:32","source":""}
{"datetime":"2024-05-04T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-1","level":"Info","message":"Got exception processing request: HTTP 404","location":"path/to/server.c:6444:32","source":""}
{"datetime":"2024-05-05T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-1","level":"Info","message":"Got exception processing request: HTTP 404","location":"path/to/server.c:6444:32","source":""}
{"datetime":"2024-05-06T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-2","level":"Info","message":"Got exception processing request: HTTP 404","location":"path/to/server.c:6444:32","source":""}
'';
in
{
name = "quickwit";
meta.maintainers = [ pkgs.lib.maintainers.happysalada ];
@ -24,6 +73,29 @@ import ./make-test-python.nix ({ lib, pkgs, ... }:
"journalctl -o cat -u quickwit.service | grep 'transitioned to ready state'"
)
with subtest("verify UI installed"):
machine.succeed("curl -sSf http://127.0.0.1:7280/ui/")
with subtest("injest and query data"):
import json
# Test CLI ingestion
print(machine.succeed('${pkgs.quickwit}/bin/quickwit index create --index-config ${pkgs.writeText "index.yaml" index_yaml}'))
# Important to use `--wait`, otherwise the queries below race with index processing.
print(machine.succeed('${pkgs.quickwit}/bin/quickwit index ingest --index example_server_logs --input-path ${pkgs.writeText "exampleDocs.json" exampleDocs} --wait'))
# Test CLI query
cli_query_output = machine.succeed('${pkgs.quickwit}/bin/quickwit index search --index example_server_logs --query "exception"')
print(cli_query_output)
# Assert query result is as expected.
num_hits = len(json.loads(cli_query_output)["hits"])
assert num_hits == 3, f"cli_query_output contains unexpected number of results: {num_hits}"
# Test API query
api_query_output = machine.succeed('curl --fail http://127.0.0.1:7280/api/v1/example_server_logs/search?query=exception')
print(api_query_output)
quickwit.log(quickwit.succeed(
"systemd-analyze security quickwit.service | grep -v ''"
))

View File

@ -32,6 +32,7 @@ Before adding a new package, please consider the following questions:
* Does the project have a clear license statement? Remember that software is unfree by default (all rights reserved), and merely providing access to the source code does not imply its redistribution. In case of doubt, ask upstream.
* How realistic is it that it will be used by other people? It's good that nixpkgs caters to various niches, but if it's a niche of 5 people it's probably too small.
* Are you willing to maintain the package? You should care enough about the package to be willing to keep it up and running for at least one complete Nixpkgs' release life-cycle.
* In case you are not able to maintain the package you wrote, you can seek someone to fill that role, effectively adopting the package.
If any of these questions' answer is no, then you should probably not add the package.

View File

@ -20,14 +20,14 @@
, Kernel
}:
stdenv.mkDerivation rec {
pname = "MIDIVisualizer";
stdenv.mkDerivation (finalAttrs: {
pname = "midivisualizer";
version = "7.0";
src = fetchFromGitHub {
owner = "kosua20";
repo = pname;
rev = "v${version}";
repo = "MIDIVisualizer";
rev = "v${finalAttrs.version}";
sha256 = "sha256-wfPSPH+E9cErVvfJZqHttFtjiUYJopM/u6w6NpRHifE=";
};
@ -72,4 +72,4 @@ stdenv.mkDerivation rec {
platforms = platforms.unix;
maintainers = [ maintainers.ericdallo ];
};
}
})

View File

@ -33,14 +33,14 @@ let
in
stdenv.mkDerivation rec {
pname = if withGui then "bitcoin" else "bitcoind";
version = "27.0";
version = "27.1";
src = fetchurl {
urls = [
"https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
];
# hash retrieved from signed SHA256SUMS
sha256 = "9c1ee651d3b157baccc3388be28b8cf3bfcefcd2493b943725ad6040ca6b146b";
sha256 = "0c1051fd921b8fae912f5c2dfd86b085ab45baa05cd7be4585b10b4d1818f3da";
};
nativeBuildInputs =

View File

@ -1,112 +0,0 @@
{ stdenv, lib, callPackage, fetchFromGitHub, cmake, ninja, pkg-config
, curl, freetype, giflib, libjpeg, libpng, libwebp, pixman, tinyxml, zlib
, harfbuzzFull, glib, fontconfig, pcre
, libX11, libXext, libXcursor, libXxf86vm, libGL, libXi
, cmark
}:
# Unfree version is not redistributable:
# https://dev.aseprite.org/2016/09/01/new-source-code-license/
# Consider supporting the developer: https://aseprite.org/#buy
let
skia = callPackage ./skia.nix {};
in
stdenv.mkDerivation rec {
pname = "aseprite";
version = "1.3.6";
src = fetchFromGitHub {
owner = "aseprite";
repo = "aseprite";
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-17f6pIGsOIswnyY63pjHKEEYuCo43kf25mPLBv4vQAs=";
};
nativeBuildInputs = [
cmake pkg-config ninja
];
buildInputs = [
curl freetype giflib libjpeg libpng libwebp pixman tinyxml zlib
libX11 libXext libXcursor libXxf86vm
cmark
harfbuzzFull glib fontconfig pcre
skia libGL libXi
];
patches = [
./shared-libwebp.patch
./shared-skia-deps.patch
];
postPatch = ''
sed -i src/ver/CMakeLists.txt -e "s-set(VERSION \".*\")-set(VERSION \"$version\")-"
'';
cmakeFlags = [
"-DENABLE_UPDATER=OFF"
"-DUSE_SHARED_CURL=ON"
"-DUSE_SHARED_FREETYPE=ON"
"-DUSE_SHARED_GIFLIB=ON"
"-DUSE_SHARED_JPEGLIB=ON"
"-DUSE_SHARED_LIBPNG=ON"
"-DUSE_SHARED_LIBWEBP=ON"
"-DUSE_SHARED_PIXMAN=ON"
"-DUSE_SHARED_TINYXML=ON"
"-DUSE_SHARED_ZLIB=ON"
"-DUSE_SHARED_CMARK=ON"
"-DUSE_SHARED_HARFBUZZ=ON"
"-DUSE_SHARED_WEBP=ON"
# Disable libarchive programs.
"-DENABLE_CAT=OFF"
"-DENABLE_CPIO=OFF"
"-DENABLE_TAR=OFF"
# UI backend.
"-DLAF_WITH_EXAMPLES=OFF"
"-DLAF_OS_BACKEND=skia"
"-DENABLE_DESKTOP_INTEGRATION=ON"
"-DSKIA_DIR=${skia}"
"-DSKIA_LIBRARY_DIR=${skia}/out/Release"
];
postInstall = ''
# Install desktop icons.
src="$out/share/aseprite/data/icons"
for size in 16 32 48 64; do
dst="$out"/share/icons/hicolor/"$size"x"$size"
install -Dm644 "$src"/ase"$size".png "$dst"/apps/aseprite.png
install -Dm644 "$src"/doc"$size".png "$dst"/mimetypes/aseprite.png
done
# Delete unneeded artifacts of bundled libraries.
rm -rf "$out"/include "$out"/lib
'';
passthru = { inherit skia; };
meta = with lib; {
homepage = "https://www.aseprite.org/";
description = "Animated sprite editor & pixel art tool";
license = licenses.unfree;
longDescription =
''Aseprite is a program to create animated sprites. Its main features are:
- Sprites are composed by layers & frames (as separated concepts).
- Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale.
- Load/save sequence of PNG files and GIF animations (and FLC, FLI, JPG, BMP, PCX, TGA).
- Export/import animations to/from Sprite Sheets.
- Tiled drawing mode, useful to draw patterns and textures.
- Undo/Redo for every operation.
- Real-time animation preview.
- Multiple editors support.
- Pixel-art specific tools like filled Contour, Polygon, Shading mode, etc.
- Onion skinning.
This version is not redistributable: https://dev.aseprite.org/2016/09/01/new-source-code-license/
Consider supporting the developer: https://aseprite.org/#buy
'';
maintainers = with maintainers; [ orivej ];
platforms = platforms.linux;
};
}

View File

@ -1,37 +0,0 @@
#!/usr/bin/env bash
FILTER=$1
OUT=skia-deps.nix
REVISION=861e4743af6d9bf6077ae6dda7274e5a136ee4e2
DEPS=$(curl -s https://raw.githubusercontent.com/aseprite/skia/$REVISION/DEPS)
THIRD_PARTY_DEPS=$(echo "$DEPS" | grep third_party | grep "#" -v | sed 's/"//g')
function write_fetch_defs ()
{
while read -r DEP; do
NAME=$(echo "$DEP" | cut -d: -f1 | cut -d/ -f3 | sed 's/ //g')
URL=$(echo "$DEP" | cut -d: -f2- | cut -d@ -f1 | sed 's/ //g')
REV=$(echo "$DEP" | cut -d: -f2- | cut -d@ -f2 | sed 's/[ ,]//g')
echo "Fetching $NAME@$REV"
PREFETCH=$(nix-prefetch-git --rev "$REV" "$URL")
(
cat <<EOF
$NAME = fetchgit {
url = "$URL";
rev = "$REV";
sha256 = $(echo $PREFETCH | jq '.sha256');
};
EOF
) >> "$OUT"
echo "----------"
echo
done <<< "$1"
}
echo "{ fetchgit }:" > "$OUT"
echo "{" >> "$OUT"
write_fetch_defs "$(echo "$THIRD_PARTY_DEPS" | grep -E "$FILTER")"
echo "}" >> "$OUT"

View File

@ -1,80 +0,0 @@
{ stdenv, lib, fetchFromGitHub, fetchgit, python3, gn, ninja
, fontconfig, expat, icu, libglvnd, libjpeg, libpng, libwebp, zlib
, mesa, libX11, harfbuzzFull
}:
let
# skia-deps.nix is generated by: ./skia-make-deps.sh 'angle2|dng_sdk|piex|sfntly'
depSrcs = import ./skia-deps.nix { inherit fetchgit; };
in
stdenv.mkDerivation {
pname = "skia";
version = "aseprite-m102";
src = fetchFromGitHub {
owner = "aseprite";
repo = "skia";
# latest commit from aseprite-m102 branch
rev = "861e4743af6d9bf6077ae6dda7274e5a136ee4e2";
hash = "sha256-IlZbalmHl549uDUfPG8hlzub8TLWhG0EsV6HVAPdsl0=";
};
nativeBuildInputs = [ python3 gn ninja ];
buildInputs = [
fontconfig expat icu libglvnd libjpeg libpng libwebp zlib
mesa libX11 harfbuzzFull
];
preConfigure = with depSrcs; ''
mkdir -p third_party/externals
ln -s ${angle2} third_party/externals/angle2
ln -s ${dng_sdk} third_party/externals/dng_sdk
ln -s ${piex} third_party/externals/piex
ln -s ${sfntly} third_party/externals/sfntly
'';
configurePhase = ''
runHook preConfigure
gn gen out/Release --args="is_debug=false is_official_build=true extra_cflags=[\"-I${harfbuzzFull.dev}/include/harfbuzz\"]"
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
ninja -C out/Release skia modules
runHook postBuild
'';
installPhase = ''
mkdir -p $out
# Glob will match all subdirs.
shopt -s globstar
# All these paths are used in some way when building aseprite.
cp -r --parents -t $out/ \
include/codec \
include/config \
include/core \
include/effects \
include/gpu \
include/private \
include/utils \
include/third_party/skcms/*.h \
out/Release/*.a \
src/gpu/**/*.h \
src/core/*.h \
modules/skshaper/include/*.h \
third_party/externals/angle2/include \
third_party/skcms/**/*.h
'';
meta = with lib; {
description = "Skia is a complete 2D graphic library for drawing Text, Geometries, and Images";
homepage = "https://skia.org/";
license = licenses.bsd3;
maintainers = with maintainers; [ ];
platforms = platforms.all;
};
}

View File

@ -16,7 +16,7 @@
}:
let
rev = "e5cf0b704274d3deae8f4a3b6a3d0664a176bc8b";
rev = "152431c0b1d731d0302e1849690e2361f3caf7c1";
python = python3.withPackages (ps: with ps; [
epc
orjson
@ -28,13 +28,13 @@ let
in
melpaBuild {
pname = "lsp-bridge";
version = "20240609.1553";
version = "20240615.2321";
src = fetchFromGitHub {
owner = "manateelazycat";
repo = "lsp-bridge";
inherit rev;
hash = "sha256-96GgMJPLFoabhlvjTMWKtEpGuctjlcRuChvzDziaq8g=";
hash = "sha256-LIjqr1IntQ6WTFOO3b6cAuB6LslG1HzVa9C+GYUyQOU=";
};
commit = rev;

View File

@ -1,5 +1,4 @@
repo,branch,alias
https://codeberg.org/FelipeLema/cmp-async-path/,,
https://github.com/euclidianAce/BetterLua.vim/,,
https://github.com/vim-scripts/BufOnly.vim/,,
https://github.com/jackMort/ChatGPT.nvim/,HEAD,
@ -132,11 +131,8 @@ https://github.com/laytan/cloak.nvim/,HEAD,
https://github.com/asheq/close-buffers.vim/,HEAD,
https://github.com/Civitasv/cmake-tools.nvim/,,
https://github.com/winston0410/cmd-parser.nvim/,,
<<<<<<< HEAD
https://github.com/tzachar/cmp-ai/,HEAD,
https://codeberg.org/FelipeLema/cmp-async-path/,,
=======
>>>>>>> 8c49439301ad (vimPlugins.nvim-genghis: init at 2024-05-21)
https://github.com/crispgm/cmp-beancount/,HEAD,
https://github.com/hrsh7th/cmp-buffer/,,
https://github.com/hrsh7th/cmp-calc/,,

View File

@ -5,7 +5,7 @@
callPackage,
}:
let
version = "1.52.0";
version = "1.54.0";
rescript-editor-analysis = callPackage ./rescript-editor-analysis.nix { inherit version; };
arch =
if stdenv.isLinux then
@ -21,7 +21,7 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
name = "rescript-vscode";
publisher = "chenglou92";
inherit version;
hash = "sha256-3H7JgdmrGMdirVpT08wmwy4G6QLt0H65d3l7o/DuvpI=";
hash = "sha256-c7TJED5YpHRwn7Ooq8sG+N99b7tH6TOgeC9TTYdb4JA=";
};
postPatch = ''
rm -r ${analysisDir}

View File

@ -542,6 +542,22 @@ let
betterthantomorrow.calva = callPackage ./betterthantomorrow.calva { };
bierner.comment-tagged-templates = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "comment-tagged-templates";
publisher = "bierner";
version = "0.3.3";
hash = "sha256-M2XdMQ2l6oMYiHTdfRJ/n/Ys3LecEPwAozQtLBcn7FY=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/bierner.comment-tagged-templates/changelog";
description = "VS Code extension that adds basic syntax highlighting for JavaScript and TypeScript tagged template strings using language identifier comments";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=bierner.comment-tagged-templates";
homepage = "https://github.com/mjbvz/vscode-comment-tagged-templates";
license = lib.licenses.mit;
};
};
bierner.docs-view = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "docs-view";
@ -610,6 +626,23 @@ let
};
};
bierner.markdown-footnotes = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "markdown-footnotes";
publisher = "bierner";
version = "0.1.1";
hash = "sha256-h/Iyk8CKFr0M5ULXbEbjFsqplnlN7F+ZvnUTy1An5t4=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/bierner.markdown-footnotes/changelog";
description = "Adds [^1] footnote syntax support to VS Code's built-in Markdown preview";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=bierner.markdown-footnotes";
homepage = "https://github.com/mjbvz/vscode-markdown-footnotes";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
bierner.markdown-mermaid = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "markdown-mermaid";
@ -622,6 +655,27 @@ let
};
};
biomejs.biome = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "biome";
publisher = "biomejs";
version = "2024.5.251958";
hash = "sha256-Pxbvj6e3nRwuLKmPEtE02JdHmZbyuXNh4T+FZKjBkWo=";
};
meta = {
changelog = "https://github.com/biomejs/biome-vscode/blob/main/CHANGELOG.md";
description = "Biome LSP extension for Visual Studio Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=biomejs.biome";
homepage = "https://github.com/biomejs/biome-vscode";
license = with lib.licenses; [
mit
# or
asl20
];
maintainers = [ lib.maintainers.uncenter ];
};
};
bmalehorn.vscode-fish = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-fish";
@ -964,26 +1018,26 @@ let
sources = {
"x86_64-linux" = {
arch = "linux-x64";
hash = "sha256-GQH+KKteWbCz18AlTWjLWrVpPRxumi+iDPS5n+5xy/0=";
hash = "sha256-ZlbPRFQwvZNCp8K/rbHqVa3coXa2dT4nOrNChC9naC8=";
};
"x86_64-darwin" = {
arch = "darwin-x64";
hash = "sha256-xBwuAtvRdOgYkfxP0JaxhAQZx5AJWymDVQ50piTx608=";
hash = "sha256-hSRdvno8VZNi48rckaqWbAgDXT6RXEcPnkNOT8DV1wA=";
};
"aarch64-linux" = {
arch = "linux-arm64";
hash = "sha256-oLLKnNZ+E06PbUrhj5Y0HOdHhUs/fXd+3lZXX/P2C10=";
hash = "sha256-rimE7dKT6zajHo6E42z7IyfP35xBXThIwMHhZjaZwHk=";
};
"aarch64-darwin" = {
arch = "darwin-arm64";
hash = "sha256-nWuyqOIELp8MrjzCFH3yu4pWm5KsNxmx3eacgStWKG0=";
hash = "sha256-7TeUAZLiEnqi5i5nHLhtv5aMxIcw7iiABOAkwP1YYqM=";
};
};
in
{
name = "continue";
publisher = "Continue";
version = "0.8.25";
version = "0.8.40";
}
// sources.${stdenv.system};
nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
@ -1747,6 +1801,23 @@ let
};
};
fortran-lang.linter-gfortran = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "linter-gfortran";
publisher = "fortran-lang";
version = "3.4.2024061701";
hash = "sha256-i357EzQ8cm8NPsMBbsV5ToMoBDa59Bh6ylC9tNjMY6s=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/fortran-lang.linter-gfortran/changelog";
description = "Fortran language support for Visual Studio Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=fortran-lang.linter-gfortran";
homepage = "https://github.com/fortran-lang/vscode-fortran-support";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
foxundermoon.shell-format = callPackage ./foxundermoon.shell-format { };
freebroccolo.reasonml = buildVscodeMarketplaceExtension {
@ -2784,6 +2855,23 @@ let
};
};
meganrogge.template-string-converter = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "template-string-converter";
publisher = "meganrogge";
version = "0.6.1";
hash = "sha256-w0ppzh0m/9Hw3BPJbAKsNcMStdzoH9ODf3zweRcCG5k=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/meganrogge.template-string-converter/changelog";
description = "VS Code extension to autocorrect from quotes to backticks";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=meganrogge.template-string-converter";
homepage = "https://github.com/meganrogge/template-string-converter";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
mgt19937.typst-preview = callPackage ./mgt19937.typst-preview { };
mhutchie.git-graph = buildVscodeMarketplaceExtension {
@ -4540,6 +4628,23 @@ let
};
};
vitaliymaz.vscode-svg-previewer = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-svg-previewer";
publisher = "vitaliymaz";
version = "0.7.0";
hash = "sha256-iX+Js2Pqz1gLDwrihuYtDwQG4ek7GiOhL3M0j3jHF/Y=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/vitaliymaz.vscode-svg-previewer/changelog";
description = "Preview SVGs in VS Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=vitaliymaz.vscode-svg-previewer";
homepage = "https://github.com/vitaliymaz/vscode-svg-previewer";
license = lib.licenses.unfree;
maintainers = [ lib.maintainers.uncenter ];
};
};
vlanguage.vscode-vlang = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-vlang";
@ -4856,6 +4961,22 @@ let
};
};
yoavbls.pretty-ts-errors = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "pretty-ts-errors";
publisher = "yoavbls";
version = "0.5.3";
hash = "sha256-JSCyTzz10eoUNu76wNUuvPVVKq4KaVKobS1CAPqgXUA=";
};
meta = {
description = "Make TypeScript errors prettier and human-readable in VSCode";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=yoavbls.pretty-ts-errors";
homepage = "https://github.com/yoavbls/pretty-ts-errors";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
yzhang.dictionary-completion = buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "yzhang";

View File

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

View File

@ -1,6 +1,9 @@
{ lib, stdenv
, mkDerivation
, fetchurl
, autoconf
, automake
, libtool
, pkg-config
, djvulibre
, qtbase
@ -12,14 +15,19 @@
mkDerivation rec {
pname = "djview";
version = "4.10.6";
version = "4.12";
outputs = [ "out" "man" ];
src = fetchurl {
url = "mirror://sourceforge/djvu/${pname}-${version}.tar.gz";
sha256 = "08bwv8ppdzhryfcnifgzgdilb12jcnivl4ig6hd44f12d76z6il4";
hash = "sha256-VnPGqLfhlbkaFyCyQJGRW4FF3jSHnbEVi8k2sQDq8+M=";
};
nativeBuildInputs = [
autoconf
automake
libtool
pkg-config
qttools
];
@ -31,24 +39,24 @@ mkDerivation rec {
libtiff
] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.AGL;
preConfigure = ''
NOCONFIGURE=1 ./autogen.sh
'';
configureFlags = [
"--disable-silent-rules"
"--disable-dependency-tracking"
"--with-x"
"--with-tiff"
# NOTE: 2019-09-19: experimental "--enable-npdjvu" fails
"--disable-nsdejavu" # 2023-11-14: modern browsers have dropped support for NPAPI
] ++ lib.optional stdenv.isDarwin "--enable-mac";
passthru = {
mozillaPlugin = "/lib/mozilla/plugins";
};
meta = with lib; {
broken = stdenv.isDarwin;
description = "Portable DjVu viewer (Qt5) and browser (nsdejavu) plugin";
mainProgram = "djview";
homepage = "https://djvu.sourceforge.net/djview4.html";
license = licenses.gpl2;
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ Anton-Latukha ];
longDescription = ''

View File

@ -41,7 +41,7 @@ buildDotnetModule rec {
doCheck = true;
preBuild = ''
export projectFile=(ArchiSteamFarm)
dotnetProjectFiles=(ArchiSteamFarm)
'';
preInstall = ''

View File

@ -27,11 +27,11 @@
version = "2024-05-13";
};
ungoogled-patches = {
hash = "sha256-2Yt91vWR5SYLBTO+PIEgFswkvwxJsNpKidOwxUBgLeg=";
rev = "126.0.6478.55-1";
hash = "sha256-vQrUQMmNSw+b9nPzP1RmkncQHasmZvnxNHjfiPoMUXo=";
rev = "126.0.6478.61-1";
};
};
hash = "sha256-nXRzISkU37TIgV8rjO0qgnhq8uM37M6IpMoGHdsOGIM=";
version = "126.0.6478.55";
hash = "sha256-cB2jrasrtaFWM8tpG9leuC+jUAvoU8g5977cn4r7rbw=";
version = "126.0.6478.61";
};
}

View File

@ -1,35 +0,0 @@
{ lib, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
pname = "kontemplate";
version = "1.8.0";
goPackagePath = "github.com/tazjin/kontemplate";
goDeps = ./deps.nix;
src = fetchFromGitHub {
owner = "tazjin";
repo = "kontemplate";
rev = "v${version}";
sha256 = "123mjmmm4hynraq1fpn3j5i0a1i87l265kkjraxxxbl0zacv74i1";
};
meta = with lib; {
description = "Extremely simple Kubernetes resource templates";
mainProgram = "kontemplate";
homepage = "http://kontemplate.works";
downloadPage = "https://github.com/tazjin/kontemplate/releases";
license = licenses.gpl3;
maintainers = with maintainers; [ mbode tazjin ];
platforms = platforms.unix;
longDescription = ''
Kontemplate is a simple CLI tool that can take sets of
Kubernetes resource files with placeholders and insert values
per environment.
It can be used as a simple way of deploying the same set of
resources to different Kubernetes contexts with context-specific
configuration.
'';
};
}

View File

@ -1,111 +0,0 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
[
{
goPackagePath = "github.com/Masterminds/goutils";
fetch = {
type = "git";
url = "https://github.com/Masterminds/goutils";
rev = "41ac8693c5c10a92ea1ff5ac3a7f95646f6123b0";
sha256 = "180px47gj936qyk5bkv5mbbgiil9abdjq6kwkf7sq70vyi9mcfiq";
};
}
{
goPackagePath = "github.com/Masterminds/semver";
fetch = {
type = "git";
url = "https://github.com/Masterminds/semver";
rev = "5bc3b9184d48f1412b300b87a200cf020d9254cf";
sha256 = "1vdfm653v50jf63cw0kg2hslx50cn4mk6lj3p51bi11jrg48kfng";
};
}
{
goPackagePath = "github.com/Masterminds/sprig";
fetch = {
type = "git";
url = "https://github.com/Masterminds/sprig";
rev = "6f509977777c33eae63b2136d97f7b976cb971cc";
sha256 = "05h9k6fhjxnpwlihj3z02q9kvqvnq53jix0ab84sx0666bci3cdh";
};
}
{
goPackagePath = "github.com/alecthomas/template";
fetch = {
type = "git";
url = "https://github.com/alecthomas/template";
rev = "fb15b899a75114aa79cc930e33c46b577cc664b1";
sha256 = "1vlasv4dgycydh5wx6jdcvz40zdv90zz1h7836z7lhsi2ymvii26";
};
}
{
goPackagePath = "github.com/alecthomas/units";
fetch = {
type = "git";
url = "https://github.com/alecthomas/units";
rev = "c3de453c63f4bdb4dadffab9805ec00426c505f7";
sha256 = "0js37zlgv37y61j4a2d46jh72xm5kxmpaiw0ya9v944bjpc386my";
};
}
{
goPackagePath = "github.com/ghodss/yaml";
fetch = {
type = "git";
url = "https://github.com/ghodss/yaml";
rev = "25d852aebe32c875e9c044af3eef9c7dc6bc777f";
sha256 = "1w9yq0bxzygc4qwkwwiy7k1k1yviaspcqqv18255k2xkjv5ipccz";
};
}
{
goPackagePath = "github.com/google/uuid";
fetch = {
type = "git";
url = "https://github.com/google/uuid";
rev = "c2e93f3ae59f2904160ceaab466009f965df46d6";
sha256 = "0zw8fvl6jqg0fmv6kmvhss0g4gkrbvgyvl2zgy5wdbdlgp4fja0h";
};
}
{
goPackagePath = "github.com/huandu/xstrings";
fetch = {
type = "git";
url = "https://github.com/huandu/xstrings";
rev = "8bbcf2f9ccb55755e748b7644164cd4bdce94c1d";
sha256 = "1ivvc95514z63k7cpz71l0dwlanffmsh1pijhaqmp41kfiby8rsx";
};
}
{
goPackagePath = "github.com/imdario/mergo";
fetch = {
type = "git";
url = "https://github.com/imdario/mergo";
rev = "4c317f2286be3bd0c4f1a0e622edc6398ec4656d";
sha256 = "0bihha1qsgfjk14yv1hwddv3d8dzxpbjlaxwwyys6lhgxz1cr9h9";
};
}
{
goPackagePath = "golang.org/x/crypto";
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "9756ffdc24725223350eb3266ffb92590d28f278";
sha256 = "0q7hxaaq6lp0v8qqzifvysl47z5rfdlrxkh3d29vsl3wyby3dxl8";
};
}
{
goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
fetch = {
type = "git";
url = "https://gopkg.in/alecthomas/kingpin.v2";
rev = "947dcec5ba9c011838740e680966fd7087a71d0d";
sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
};
}
{
goPackagePath = "gopkg.in/yaml.v2";
fetch = {
type = "git";
url = "https://gopkg.in/yaml.v2";
rev = "51d6538a90f86fe93ac480b35f37b2be17fef232";
sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
};
}
]

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kyverno";
version = "1.12.3";
version = "1.12.4";
src = fetchFromGitHub {
owner = "kyverno";
repo = "kyverno";
rev = "v${version}";
hash = "sha256-vJ9HXpvkuZWOZtsoJhcpM0KGGiyd+D5HTQBHwb8l/II=";
hash = "sha256-TVtE1mdOai2G2+KCp9r5G+E9QhGQ5TmUFCN9x5EKM7o=";
};
ldflags = [

View File

@ -1,7 +1,7 @@
{ lib
, stdenv
, fetchurl
, electron_28
, electron
, makeWrapper
}:
@ -52,7 +52,7 @@ stdenv.mkDerivation {
substituteInPlace $out/share/applications/Mattermost.desktop \
--replace /share/mattermost-desktop/mattermost-desktop /bin/mattermost-desktop
makeWrapper '${lib.getExe electron_28}' $out/bin/${pname} \
makeWrapper '${lib.getExe electron}' $out/bin/${pname} \
--set-default ELECTRON_IS_DEV 0 \
--add-flags $out/share/${pname}/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"

View File

@ -9,13 +9,13 @@
stdenv.mkDerivation {
pname = "tg_owt";
version = "0-unstable-2023-12-21";
version = "0-unstable-2024-06-15";
src = fetchFromGitHub {
owner = "desktop-app";
repo = "tg_owt";
rev = "afd9d5d31798d3eacf9ed6c30601e91d0f1e4d60";
sha256 = "sha256-/1cghoxmm+6uFEUgCjh1Xhb0CTnd1XAq1M21FruDRek=";
rev = "c9cc4390ab951f2cbc103ff783a11f398b27660b";
sha256 = "sha256-FfWmSYaeryTDbsGJT3R7YK1oiyJcrR7YKKBOF+9PmpY=";
fetchSubmodules = true;
};

View File

@ -17,7 +17,6 @@
, nodejs
, yarn
, yarn2nix-moretea
, v8
, cacert
, redis
}:
@ -83,7 +82,7 @@ let
};
mini_racer = attrs: {
buildFlags = [
"--with-v8-dir=\"${v8}\""
"--with-v8-dir=\"${nodejs.libv8}\""
];
dontBuild = false;
postPatch = ''

View File

@ -58,6 +58,7 @@ let
"8.18.0".sha256 = "sha256-WhiBs4nzPHQ0R24xAdM49kmxSCPOxiOVMA1iiMYunz4=";
"8.19.0".sha256 = "sha256-ixsYCvCXpBHqJ71hLQklphlwoOO3i/6w2PJjllKqf9k=";
"8.19.1".sha256 = "sha256-kmZ8Uk8jpzjOd67aAPp3C+vU2oNaBw9pr7+Uixcgg94=";
"8.19.2".sha256 = "sha256-q+i07JsMZp83Gqav6v1jxsgPLN7sPvp5/oszVnavmz0=";
};
releaseRev = v: "V${v}";
fetched = import ../../../../build-support/coq/meta-fetch/default.nix

View File

@ -0,0 +1,30 @@
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, inputstreamhelper, plugin-cache }:
buildKodiAddon rec {
pname = "raiplay";
namespace = "plugin.video.raitv";
version = "4.1.2";
propagatedBuildInputs = [
plugin-cache
inputstreamhelper
];
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-9aR1kkl+0+nhP0bOTnaKCgSfuPvJzX5TWHU0WJZIvSM=";
};
passthru = {
updateScript = addonUpdateScript {
attrPath = "kodi.packages.raiplay";
};
};
meta = with lib; {
homepage = "https://github.com/maxbambi/plugin.video.raitv/";
description = "Live radio and TV channels, latest 7 days of programming, broadcast archive, news";
license = licenses.gpl3Only;
maintainers = teams.kodi.members;
};
}

View File

@ -1,7 +1,7 @@
{ lib
, stdenvNoCC
, fetchurl
, undmg
, _7zz
, pname
, version
, hash
@ -19,15 +19,18 @@ in
stdenvNoCC.mkDerivation {
inherit pname version src;
nativeBuildInputs = [ undmg ];
nativeBuildInputs = [ _7zz ];
sourceRoot = "LosslessCut.app";
installPhase = ''
mkdir -p "$out/Applications/LosslessCut.app"
cp -R . "$out/Applications/LosslessCut.app"
runHook preInstall
mkdir -p "$out/Applications"
cd ..
mv "$sourceRoot" "$out/Applications"
mkdir -p "$out/bin"
ln -s "$out/Applications/LosslessCut.app/Contents/MacOS/LosslessCut" "$out/bin/losslesscut"
ln -s "$out/Applications/$(basename "$sourceRoot")/Contents/MacOS/LosslessCut" "$out/bin/losslesscut"
runHook postInstall
'';
meta = metaCommon // (with lib; {

View File

@ -19,15 +19,20 @@ stdenvNoCC.mkDerivation {
nativeBuildInputs = [ p7zip ];
unpackPhase = ''
7z x $src -oLosslessCut-win-x64
runHook preUnpack
7z x "$src" -o"$sourceRoot"
runHook postUnpack
'';
sourceRoot = "LosslessCut-win-x64";
installPhase = ''
mkdir -p $out/bin $out/libexec
(cd .. && mv LosslessCut-win-x64 $out/libexec)
ln -s "$out/libexec/LosslessCut-win-x64/LosslessCut.exe" "$out/bin/LosslessCut.exe"
runHook preInstall
mkdir -p "$out/bin" "$out/libexec"
cd ..
mv "$sourceRoot" "$out/libexec"
ln -s "$out/libexec/$(basename "$sourceRoot")/LosslessCut.exe" "$out/bin/LosslessCut.exe"
runHook postInstall
'';
meta = metaCommon // (with lib; {

View File

@ -6,7 +6,7 @@
let
pname = "losslesscut";
version = "3.58.0";
version = "3.61.1";
metaCommon = with lib; {
description = "Swiss army knife of lossless video/audio editing";
homepage = "https://mifi.no/losslesscut/";
@ -17,22 +17,22 @@ let
};
x86_64-appimage = callPackage ./build-from-appimage.nix {
inherit pname version metaCommon;
hash = "sha256-wmOdW5LdGLs6Wrt/VBlbC1ScFZBmd5gVQaj/cYADnWc=";
hash = "sha256-wKhEB+MfOsBvZRTIt3hLofw37+YO+hWKowlSi1OxSAU=";
inherit (buildPackages) makeWrapper;
};
x86_64-dmg = callPackage ./build-from-dmg.nix {
inherit pname version metaCommon;
hash = "sha256-ZNUkzxpFTmsFcdC4oJWDxvqunpaBKz7Fnmrsa4W12Bg=";
hash = "sha256-yZYmM533D9VzM+a0bnYz/aqocaEJVFOTgLWjbQGOQR0=";
isAarch64 = false;
};
aarch64-dmg = callPackage ./build-from-dmg.nix {
inherit pname version metaCommon;
hash = "sha256-PpQF31qsn9TOIRVzOdDoLUqti+m1uRpBQrrqKtxFleE=";
hash = "sha256-/qa2P0R7xRzDgnPKqkeKN6lrDbPg9WuZ/Nnc51NTzaM=";
isAarch64 = true;
};
x86_64-windows = callPackage ./build-from-windows.nix {
inherit pname version metaCommon;
hash = "sha256-AgWvLU9m2q7fxZYXgHGMgEj1WLP5XzERq7tWcin2/30=";
hash = "sha256-0awYmSGxm8M12X0WQftlapRF9m3GGCZivNwBtRjSa4E=";
};
in
(

View File

@ -1,50 +0,0 @@
{ aria2
, cmake
, fetchFromGitHub
, ffmpeg
, lib
, python3
, qtbase
, stdenv
, wrapQtAppsHook
, yt-dlp
}:
stdenv.mkDerivation (finalAttrs: {
pname = "media-downloader";
version = "4.7.0";
src = fetchFromGitHub {
owner = "mhogomchungu";
repo = "media-downloader";
rev = finalAttrs.version;
hash = "sha256-ykPYxRgzKZrA0KwS1FoxZOkSL+7TbLgy0yLfs7Iqpf4=";
};
nativeBuildInputs = [
cmake
wrapQtAppsHook
];
buildInputs = [
qtbase
];
qtWrapperArgs = [
"--prefix PATH : ${lib.makeBinPath [
aria2
ffmpeg
python3
yt-dlp
]}"
];
meta = {
description = "Qt/C++ GUI front end for yt-dlp and others";
homepage = "https://github.com/mhogomchungu/media-downloader";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ zendo ];
platforms = lib.platforms.linux;
mainProgram = "media-downloader";
};
})

View File

@ -28,7 +28,7 @@ buildDotnetModule (args // {
] ++ (nugetDeps fetchNuGet);
};
projectFile = "";
dotnetGlobalTool = true;
useDotnetFromEnv = true;

View File

@ -69,7 +69,7 @@
, disabledTests ? [ ]
# The project file to run unit tests against. This is usually referenced in the regular project file, but sometimes it needs to be manually set.
# It gets restored and build, but not installed. You may need to regenerate your nuget lockfile after setting this.
, testProjectFile ? ""
, testProjectFile ? null
# The type of build to perform. This is passed to `dotnet` with the `--configuration` flag. Possible values are `Release`, `Debug`, etc.
, buildType ? "Release"
@ -88,17 +88,18 @@
} @ args:
let
projectFiles =
lib.optionals (projectFile != null) (lib.toList projectFile);
testProjectFiles =
lib.optionals (testProjectFile != null) (lib.toList testProjectFile);
platforms =
if args ? meta.platforms
then lib.intersectLists args.meta.platforms dotnet-sdk.meta.platforms
else dotnet-sdk.meta.platforms;
inherit (callPackage ./hooks {
inherit dotnet-sdk disabledTests nuget-source dotnet-runtime runtimeDeps buildType;
runtimeId =
if runtimeId != null
then runtimeId
else dotnetCorePackages.systemToDotnetRid stdenvNoCC.targetPlatform.system;
inherit dotnet-sdk dotnet-runtime;
}) dotnetConfigureHook dotnetBuildHook dotnetCheckHook dotnetInstallHook dotnetFixupHook;
localDeps =
@ -143,6 +144,19 @@ let
nugetDepsFile = _nugetDeps.sourceFile;
in
stdenvNoCC.mkDerivation (args // {
dotnetInstallPath = installPath;
dotnetExecutables = executables;
dotnetBuildType = buildType;
dotnetProjectFiles = projectFiles;
dotnetTestProjectFiles = testProjectFiles;
dotnetDisabledTests = disabledTests;
dotnetRuntimeId = runtimeId;
nugetSource = nuget-source;
dotnetRuntimeDeps = map lib.getLib runtimeDeps;
dotnetSelfContainedBuild = selfContainedBuild;
dotnetUseAppHost = useAppHost;
inherit useDotnetFromEnv;
nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [
dotnetConfigureHook
dotnetBuildHook
@ -172,7 +186,7 @@ stdenvNoCC.mkDerivation (args // {
else [ ]));
makeWrapperArgs = args.makeWrapperArgs or [ ] ++ [
"--prefix LD_LIBRARY_PATH : ${dotnet-sdk.icu}/lib"
"--prefix" "LD_LIBRARY_PATH" ":" "${dotnet-sdk.icu}/lib"
];
# Stripping breaks the executable
@ -181,8 +195,6 @@ stdenvNoCC.mkDerivation (args // {
# gappsWrapperArgs gets included when wrapping for dotnet, as to avoid double wrapping
dontWrapGApps = args.dontWrapGApps or true;
inherit selfContainedBuild useAppHost useDotnetFromEnv;
# propagate the runtime sandbox profile since the contents apply to published
# executables
propagatedSandboxProfile = toString dotnet-runtime.__propagatedSandboxProfile;
@ -267,11 +279,11 @@ stdenvNoCC.mkDerivation (args // {
--no-cache \
--force \
${lib.optionalString (!enableParallelBuilding) "--disable-parallel"} \
${lib.optionalString (flags != []) (toString flags)}
${lib.escapeShellArgs flags}
}
declare -a projectFiles=( ${toString (lib.toList projectFile)} )
declare -a testProjectFiles=( ${toString (lib.toList testProjectFile)} )
declare -a projectFiles=( ${lib.escapeShellArgs projectFiles} )
declare -a testProjectFiles=( ${lib.escapeShellArgs testProjectFiles} )
export DOTNET_NOLOGO=1
export DOTNET_CLI_TELEMETRY_OPTOUT=1

View File

@ -4,28 +4,21 @@
, coreutils
, zlib
, openssl
, callPackage
, makeSetupHook
, makeWrapper
, dotnetCorePackages
# Passed from ../default.nix
, dotnet-sdk
, disabledTests
, nuget-source
, dotnet-runtime
, runtimeDeps
, buildType
, runtimeId
}:
assert (builtins.isString runtimeId);
let
libraryPath = lib.makeLibraryPath runtimeDeps;
runtimeId = dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system;
in
{
dotnetConfigureHook = makeSetupHook
{
name = "dotnet-configure-hook";
substitutions = {
nugetSource = nuget-source;
runtimeId = lib.escapeShellArg runtimeId;
dynamicLinker = "${stdenv.cc}/nix-support/dynamic-linker";
libPath = lib.makeLibraryPath [
stdenv.cc.cc.lib
@ -34,7 +27,6 @@ in
zlib
openssl
];
inherit runtimeId;
};
}
./dotnet-configure-hook.sh;
@ -43,7 +35,7 @@ in
{
name = "dotnet-build-hook";
substitutions = {
inherit buildType runtimeId;
runtimeId = lib.escapeShellArg runtimeId;
};
}
./dotnet-build-hook.sh;
@ -52,15 +44,7 @@ in
{
name = "dotnet-check-hook";
substitutions = {
inherit buildType runtimeId libraryPath;
disabledTests = lib.optionalString (disabledTests != [ ])
(
let
escapedNames = lib.lists.map (n: lib.replaceStrings [ "," ] [ "%2C" ] n) disabledTests;
filters = lib.lists.map (n: "FullyQualifiedName!=${n}") escapedNames;
in
"${lib.concatStringsSep "&" filters}"
);
runtimeId = lib.escapeShellArg runtimeId;
};
}
./dotnet-check-hook.sh;
@ -69,7 +53,7 @@ in
{
name = "dotnet-install-hook";
substitutions = {
inherit buildType runtimeId;
runtimeId = lib.escapeShellArg runtimeId;
};
}
./dotnet-install-hook.sh;
@ -79,11 +63,7 @@ in
name = "dotnet-fixup-hook";
substitutions = {
dotnetRuntime = dotnet-runtime;
runtimeDeps = libraryPath;
shell = stdenv.shell;
which = "${which}/bin/which";
dirname = "${coreutils}/bin/dirname";
realpath = "${coreutils}/bin/realpath";
wrapperPath = lib.makeBinPath [ which coreutils ];
};
}
./dotnet-fixup-hook.sh;

View File

@ -1,12 +1,25 @@
# inherit arguments from derivation
dotnetBuildFlags=( ${dotnetBuildFlags[@]-} )
dotnetBuildHook() {
echo "Executing dotnetBuildHook"
runHook preBuild
if [ "${enableParallelBuilding-}" ]; then
local -r hostRuntimeId=@runtimeId@
local -r dotnetBuildType="${dotnetBuildType-Release}"
local -r dotnetRuntimeId="${dotnetRuntimeId-$hostRuntimeId}"
if [[ -n $__structuredAttrs ]]; then
local dotnetProjectFilesArray=( "${dotnetProjectFiles[@]}" )
local dotnetTestProjectFilesArray=( "${dotnetTestProjectFiles[@]}" )
local dotnetFlagsArray=( "${dotnetFlags[@]}" )
local dotnetBuildFlagsArray=( "${dotnetBuildFlags[@]}" )
else
local dotnetProjectFilesArray=($dotnetProjectFiles)
local dotnetTestProjectFilesArray=($dotnetTestProjectFiles)
local dotnetFlagsArray=($dotnetFlags)
local dotnetBuildFlagsArray=($dotnetBuildFlags)
fi
if [[ -n "${enableParallelBuilding-}" ]]; then
local -r maxCpuFlag="$NIX_BUILD_CORES"
local -r parallelBuildFlag="true"
else
@ -14,50 +27,53 @@ dotnetBuildHook() {
local -r parallelBuildFlag="false"
fi
if [ "${selfContainedBuild-}" ]; then
dotnetBuildFlags+=("-p:SelfContained=true")
if [[ -n ${dotnetSelfContainedBuild-} ]]; then
dotnetBuildFlagsArray+=("-p:SelfContained=true")
else
dotnetBuildFlags+=("-p:SelfContained=false")
dotnetBuildFlagsArray+=("-p:SelfContained=false")
fi
if [ "${useAppHost-}" ]; then
dotnetBuildFlags+=("-p:UseAppHost=true")
if [[ -n ${dotnetUseAppHost-} ]]; then
dotnetBuildFlagsArray+=("-p:UseAppHost=true")
fi
local versionFlags=()
if [ "${version-}" ]; then
versionFlags+=("-p:InformationalVersion=${version-}")
local versionFlagsArray=()
if [[ -n ${version-} ]]; then
versionFlagsArray+=("-p:InformationalVersion=$version")
fi
if [ "${versionForDotnet-}" ]; then
versionFlags+=("-p:Version=${versionForDotnet-}")
if [[ -n ${versionForDotnet-} ]]; then
versionFlagsArray+=("-p:Version=$versionForDotnet")
fi
dotnetBuild() {
local -r project="${1-}"
local -r projectFile="${1-}"
runtimeIdFlags=()
if [[ "$project" == *.csproj ]] || [ "${selfContainedBuild-}" ]; then
runtimeIdFlags+=("--runtime @runtimeId@")
local runtimeIdFlagsArray=()
if [[ $projectFile == *.csproj || -n ${dotnetSelfContainedBuild-} ]]; then
runtimeIdFlagsArray+=("--runtime" "$dotnetRuntimeId")
fi
dotnet build ${project-} \
-maxcpucount:$maxCpuFlag \
-p:BuildInParallel=$parallelBuildFlag \
dotnet build ${1+"$projectFile"} \
-maxcpucount:"$maxCpuFlag" \
-p:BuildInParallel="$parallelBuildFlag" \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
--configuration "@buildType@" \
--configuration "$dotnetBuildType" \
--no-restore \
${versionFlags[@]} \
${runtimeIdFlags[@]} \
${dotnetBuildFlags[@]} \
${dotnetFlags[@]}
"${versionFlagsArray[@]}" \
"${runtimeIdFlagsArray[@]}" \
"${dotnetBuildFlagsArray[@]}" \
"${dotnetFlagsArray[@]}"
}
(( "${#projectFile[@]}" == 0 )) && dotnetBuild
if (( ${#dotnetProjectFilesArray[@]} == 0 )); then
dotnetBuild
fi
for project in ${projectFile[@]} ${testProjectFile[@]-}; do
dotnetBuild "$project"
local projectFile
for projectFile in "${dotnetProjectFilesArray[@]}" "${dotnetTestProjectFilesArray[@]}"; do
dotnetBuild "$projectFile"
done
runHook postBuild
@ -65,6 +81,6 @@ dotnetBuildHook() {
echo "Finished dotnetBuildHook"
}
if [[ -z "${dontDotnetBuild-}" && -z "${buildPhase-}" ]]; then
if [[ -z ${dontDotnetBuild-} && -z ${buildPhase-} ]]; then
buildPhase=dotnetBuildHook
fi

View File

@ -1,39 +1,65 @@
# inherit arguments from derivation
dotnetTestFlags=( ${dotnetTestFlags[@]-} )
dotnetCheckHook() {
echo "Executing dotnetCheckHook"
runHook preCheck
if [ "${disabledTests-}" ]; then
local -r disabledTestsFlag="--filter @disabledTests@"
local -r hostRuntimeId=@runtimeId@
local -r dotnetBuildType="${dotnetBuildType-Release}"
local -r dotnetRuntimeId="${dotnetRuntimeId-$hostRuntimeId}"
if [[ -n $__structuredAttrs ]]; then
local dotnetProjectFilesArray=( "${dotnetProjectFiles[@]}" )
local dotnetTestProjectFilesArray=( "${dotnetTestProjectFiles[@]}" )
local dotnetTestFlagsArray=( "${dotnetTestFlags[@]}" )
local dotnetDisabledTestsArray=( "${dotnetDisabledTests[@]}" )
local dotnetRuntimeDepsArray=( "${dotnetRuntimeDeps[@]}" )
else
local dotnetProjectFilesArray=($dotnetProjectFiles)
local dotnetTestProjectFilesArray=($dotnetTestProjectFiles)
local dotnetTestFlagsArray=($dotnetTestFlags)
local dotnetDisabledTestsArray=($dotnetDisabledTests)
local dotnetRuntimeDepsArray=($dotnetRuntimeDeps)
fi
if [ "${enableParallelBuilding-}" ]; then
if (( ${#dotnetDisabledTestsArray[@]} > 0 )); then
local disabledTestsFilters=("${dotnetDisabledTestsArray[@]/#/FullyQualifiedName!=}")
local OLDIFS="$IFS" IFS='&'
dotnetTestFlagsArray+=("--filter:${disabledTestsFilters[*]//,/%2C}")
IFS="$OLDIFS"
fi
local libraryPath="${LD_LIBRARY_PATH-}"
if (( ${#dotnetRuntimeDepsArray[@]} > 0 )); then
local libraryPathArray=("${dotnetRuntimeDepsArray[@]/%//lib}")
local OLDIFS="$IFS" IFS=':'
libraryPath="${libraryPathArray[*]}${libraryPath:+':'}$libraryPath"
IFS="$OLDIFS"
fi
if [[ -n ${enableParallelBuilding-} ]]; then
local -r maxCpuFlag="$NIX_BUILD_CORES"
else
local -r maxCpuFlag="1"
fi
for project in ${testProjectFile[@]-${projectFile[@]}}; do
runtimeIdFlags=()
if [[ "$project" == *.csproj ]]; then
runtimeIdFlags=("--runtime @runtimeId@")
local projectFile
for projectFile in "${dotnetTestProjectFilesArray[@]-${dotnetProjectFilesArray[@]}}"; do
local runtimeIdFlagsArray=()
if [[ $projectFile == *.csproj ]]; then
runtimeIdFlagsArray=("--runtime" "$dotnetRuntimeId")
fi
LD_LIBRARY_PATH="@libraryPath@" \
dotnet test "$project" \
-maxcpucount:$maxCpuFlag \
LD_LIBRARY_PATH=$libraryPath \
dotnet test "$projectFile" \
-maxcpucount:"$maxCpuFlag" \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
--configuration "@buildType@" \
--configuration "$dotnetBuildType" \
--no-build \
--logger "console;verbosity=normal" \
${disabledTestsFlag-} \
${runtimeIdFlags[@]} \
"${dotnetTestFlags[@]}" \
"${dotnetFlags[@]}"
"${runtimeIdFlagsArray[@]}" \
"${dotnetTestFlagsArray[@]}" \
"${dotnetFlagsArray[@]}"
done
runHook postCheck

View File

@ -1,63 +1,103 @@
declare -a projectFile testProjectFile
# Inherit arguments from derivation
dotnetFlags=( ${dotnetFlags[@]-} )
dotnetRestoreFlags=( ${dotnetRestoreFlags[@]-} )
dotnetConfigureHook() {
echo "Executing dotnetConfigureHook"
runHook preConfigure
if [ -z "${enableParallelBuilding-}" ]; then
if [[ -z ${nugetSource-} ]]; then
echo
echo "ERROR: no dependencies were specified"
echo 'Hint: set `nugetSource` if using these hooks individually. If this is happening with `buildDotnetModule`, please open an issue.'
echo
exit 1
fi
local nugetSourceSedQuoted="${nugetSource//[\/\\&$'\n']/\\&}"
local nugetSourceXMLQuoted="$nugetSource"
nugetSourceXMLQuoted="${nugetSource//&/\&amp;}"
nugetSourceXMLQuoted="${nugetSourceXMLQuoted//\"/\&quot;}"
local -r hostRuntimeId=@runtimeId@
local -r dynamicLinker=@dynamicLinker@
local -r libPath=@libPath@
local -r dotnetRuntimeId="${dotnetRuntimeId-$hostRuntimeId}"
if [[ -n $__structuredAttrs ]]; then
local dotnetProjectFilesArray=( "${dotnetProjectFiles[@]}" )
local dotnetTestProjectFilesArray=( "${dotnetTestProjectFiles[@]}" )
local dotnetFlagsArray=( "${dotnetFlags[@]}" )
local dotnetRestoreFlagsArray=( "${dotnetRestoreFlags[@]}" )
else
local dotnetProjectFilesArray=($dotnetProjectFiles)
local dotnetTestProjectFilesArray=($dotnetTestProjectFiles)
local dotnetFlagsArray=($dotnetFlags)
local dotnetRestoreFlagsArray=($dotnetRestoreFlags)
fi
if [[ -z ${enableParallelBuilding-} ]]; then
local -r parallelFlag="--disable-parallel"
fi
dotnetRestore() {
local -r project="${1-}"
dotnet restore ${project-} \
local -r projectFile="${1-}"
dotnet restore ${1+"$projectFile"} \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
--runtime "@runtimeId@" \
--source "@nugetSource@/lib" \
--runtime "$dotnetRuntimeId" \
--source "$nugetSource/lib" \
${parallelFlag-} \
${dotnetRestoreFlags[@]} \
${dotnetFlags[@]}
"${dotnetRestoreFlagsArray[@]}" \
"${dotnetFlagsArray[@]}"
}
# Generate a NuGet.config file to make sure everything,
# including things like <Sdk /> dependencies, is restored from the proper source
cat <<EOF > "./NuGet.config"
cat >NuGet.config <<EOF
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="nugetSource" value="@nugetSource@/lib" />
<add key="nugetSource" value="$nugetSourceXMLQuoted/lib" />
</packageSources>
</configuration>
EOF
# Patch paket.dependencies and paket.lock (if found) to use the proper source. This ensures
# paket restore works correctly
# We use + instead of / in sed to avoid problems with slashes
find -name paket.dependencies -exec sed -i 's+source .*+source @nugetSource@/lib+g' {} \;
find -name paket.lock -exec sed -i 's+remote:.*+remote: @nugetSource@/lib+g' {} \;
# Patch paket.dependencies and paket.lock (if found) to use the proper
# source. This ensures paket restore works correctly. Note that the
# nugetSourceSedQuoted abomination below safely escapes nugetSource string
# for use as a sed replacement string to avoid issues with slashes and other
# special characters ('&', '\\' and '\n').
find -name paket.dependencies -exec sed -i "s/source .*/source $nugetSourceSedQuoted\/lib/g" {} \;
find -name paket.lock -exec sed -i "s/remote:.*/remote: $nugetSourceSedQuoted\/lib/g" {} \;
dotnet tool restore --add-source "@nugetSource@/lib"
dotnet tool restore --add-source "$nugetSource/lib"
(( "${#projectFile[@]}" == 0 )) && dotnetRestore
# dotnetGlobalTool is set in buildDotnetGlobalTool to patch dependencies but
# avoid other project-specific logic. This is a hack, but the old behavior
# is worse as it relied on a bug: setting projectFile to an empty string
# made the hooks actually skip all project-specific logic. Its hard to keep
# backwards compatibility with this odd behavior now since we are using
# arrays, so instead we just pass a variable to indicate that we dont have
# projects.
if [[ -z ${dotnetGlobalTool-} ]]; then
if (( ${#dotnetProjectFilesArray[@]} == 0 )); then
dotnetRestore
fi
for project in ${projectFile[@]} ${testProjectFile[@]-}; do
dotnetRestore "$project"
done
local projectFile
for projectFile in "${dotnetProjectFilesArray[@]}" "${dotnetTestProjectFilesArray[@]}"; do
dotnetRestore "$projectFile"
done
fi
echo "Fixing up native binaries..."
# Find all native binaries and nuget libraries, and fix them up,
# by setting the proper interpreter and rpath to some commonly used libraries
local binary
for binary in $(find "$HOME/.nuget/packages/" -type f -executable); do
if patchelf --print-interpreter "$binary" >/dev/null 2>/dev/null; then
echo "Found binary: $binary, fixing it up..."
patchelf --set-interpreter "$(cat "@dynamicLinker@")" "$binary"
patchelf --set-interpreter "$(cat "$dynamicLinker")" "$binary"
# This makes sure that if the binary requires some specific runtime dependencies, it can find it.
# This fixes dotnet-built binaries like crossgen2
@ -68,7 +108,7 @@ EOF
--add-needed libssl.so \
"$binary"
patchelf --set-rpath "@libPath@" "$binary"
patchelf --set-rpath "$libPath" "$binary"
fi
done

View File

@ -1,28 +1,55 @@
# Inherit arguments from the derivation
declare -a derivationMakeWrapperArgs="( ${makeWrapperArgs-} )"
makeWrapperArgs=( "${derivationMakeWrapperArgs[@]}" )
# First argument is the executable you want to wrap,
# the second is the destination for the wrapper.
wrapDotnetProgram() {
local dotnetRootFlags=()
local -r dotnetRuntime=@dotnetRuntime@
local -r wrapperPath=@wrapperPath@
if [ ! "${selfContainedBuild-}" ]; then
if [ "${useDotnetFromEnv-}" ]; then
local -r dotnetFromEnvScript='dotnetFromEnv() {
local dotnetPath
if command -v dotnet 2>&1 >/dev/null; then
dotnetPath=$(which dotnet) && \
dotnetPath=$(realpath "$dotnetPath") && \
dotnetPath=$(dirname "$dotnetPath") && \
export DOTNET_ROOT="$dotnetPath"
fi
}
dotnetFromEnv'
if [[ -n $__structuredAttrs ]]; then
local -r dotnetRuntimeDepsArray=( "${dotnetRuntimeDeps[@]}" )
local -r makeWrapperArgsArray=( "${makeWrapperArgs[@]}" )
else
local -r dotnetRuntimeDepsArray=($dotnetRuntimeDeps)
local -r makeWrapperArgsArray=($makeWrapperArgs)
fi
local dotnetRuntimeDepsFlags=()
if (( ${#dotnetRuntimeDepsArray[@]} > 0 )); then
local libraryPathArray=("${dotnetRuntimeDepsArray[@]/%//lib}")
local OLDIFS="$IFS" IFS=':'
dotnetRuntimeDepsFlags+=("--suffix" "LD_LIBRARY_PATH" ":" "${libraryPathArray[*]}")
IFS="$OLDIFS"
fi
local dotnetRootFlagsArray=()
if [[ -z ${dotnetSelfContainedBuild-} ]]; then
if [[ -n ${useDotnetFromEnv-} ]]; then
# if dotnet CLI is available, set DOTNET_ROOT based on it. Otherwise set to default .NET runtime
dotnetRootFlags+=("--run" 'command -v dotnet &>/dev/null && export DOTNET_ROOT="$(@dirname@ "$(@realpath@ "$(@which@ dotnet)")")" || export DOTNET_ROOT="@dotnetRuntime@"')
dotnetRootFlags+=("--suffix" "PATH" ":" "@dotnetRuntime@/bin")
dotnetRootFlagsArray+=("--suffix" "PATH" ":" "$wrapperPath")
dotnetRootFlagsArray+=("--run" "$dotnetFromEnvScript")
dotnetRootFlagsArray+=("--set-default" "DOTNET_ROOT" "$dotnetRuntime")
dotnetRootFlagsArray+=("--suffix" "PATH" ":" "$dotnetRuntime/bin")
else
dotnetRootFlags+=("--set" "DOTNET_ROOT" "@dotnetRuntime@")
dotnetRootFlags+=("--prefix" "PATH" ":" "@dotnetRuntime@/bin")
dotnetRootFlagsArray+=("--set" "DOTNET_ROOT" "$dotnetRuntime")
dotnetRootFlagsArray+=("--prefix" "PATH" ":" "$dotnetRuntime/bin")
fi
fi
makeWrapper "$1" "$2" \
--suffix "LD_LIBRARY_PATH" : "@runtimeDeps@" \
"${dotnetRootFlags[@]}" \
"${dotnetRuntimeDepsFlags[@]}" \
"${dotnetRootFlagsArray[@]}" \
"${gappsWrapperArgs[@]}" \
"${makeWrapperArgs[@]}"
"${makeWrapperArgsArray[@]}"
echo "installed wrapper to "$2""
}
@ -30,13 +57,24 @@ wrapDotnetProgram() {
dotnetFixupHook() {
echo "Executing dotnetFixupPhase"
# check if executables is declared (including empty values, in which case we generate no executables)
if declare -p executables &>/dev/null; then
for executable in ${executables[@]}; do
path="${installPath-$out/lib/$pname}/$executable"
local -r dotnetInstallPath="${dotnetInstallPath-$out/lib/$pname}"
local executable executableBasename
# check if dotnetExecutables is declared (including empty values, in which case we generate no executables)
if declare -p dotnetExecutables &>/dev/null; then
if [[ -n $__structuredAttrs ]]; then
local dotnetExecutablesArray=( "${dotnetExecutables[@]}" )
else
local dotnetExecutablesArray=($dotnetExecutables)
fi
for executable in "${dotnetExecutablesArray[@]}"; do
executableBasename=$(basename "$executable")
local path="$dotnetInstallPath/$executable"
if test -x "$path"; then
wrapDotnetProgram "$path" "$out/bin/$(basename "$executable")"
wrapDotnetProgram "$path" "$out/bin/$executableBasename"
else
echo "Specified binary \"$executable\" is either not an executable or does not exist!"
echo "Looked in $path"
@ -45,8 +83,9 @@ dotnetFixupHook() {
done
else
while IFS= read -d '' executable; do
wrapDotnetProgram "$executable" "$out/bin/$(basename "$executable")" \;
done < <(find "${installPath-$out/lib/$pname}" ! -name "*.dll" -executable -type f -print0)
executableBasename=$(basename "$executable")
wrapDotnetProgram "$executable" "$out/bin/$executableBasename" \;
done < <(find "$dotnetInstallPath" ! -name "*.dll" -executable -type f -print0)
fi
echo "Finished dotnetFixupPhase"

View File

@ -1,70 +1,86 @@
# inherit arguments from derivation
dotnetInstallFlags=( ${dotnetInstallFlags[@]-} )
dotnetInstallHook() {
echo "Executing dotnetInstallHook"
runHook preInstall
if [ "${selfContainedBuild-}" ]; then
dotnetInstallFlags+=("--self-contained")
local -r hostRuntimeId=@runtimeId@
local -r dotnetInstallPath="${dotnetInstallPath-$out/lib/$pname}"
local -r dotnetBuildType="${dotnetBuildType-Release}"
local -r dotnetRuntimeId="${dotnetRuntimeId-$hostRuntimeId}"
if [[ -n $__structuredAttrs ]]; then
local dotnetProjectFilesArray=( "${dotnetProjectFiles[@]}" )
local dotnetFlagsArray=( "${dotnetFlags[@]}" )
local dotnetInstallFlagsArray=( "${dotnetInstallFlags[@]}" )
local dotnetPackFlagsArray=( "${dotnetPackFlags[@]}" )
else
dotnetInstallFlags+=("--no-self-contained")
# https://learn.microsoft.com/en-us/dotnet/core/deploying/trimming/trim-self-contained
# Trimming is only available for self-contained build, so force disable it here
dotnetInstallFlags+=("-p:PublishTrimmed=false")
local dotnetProjectFilesArray=($dotnetProjectFiles)
local dotnetFlagsArray=($dotnetFlags)
local dotnetInstallFlagsArray=($dotnetInstallFlags)
local dotnetPackFlagsArray=($dotnetPackFlags)
fi
if [ "${useAppHost-}" ]; then
dotnetInstallFlags+=("-p:UseAppHost=true")
if [[ -n ${dotnetSelfContainedBuild-} ]]; then
dotnetInstallFlagsArray+=("--self-contained")
else
dotnetInstallFlagsArray+=("--no-self-contained")
# https://learn.microsoft.com/en-us/dotnet/core/deploying/trimming/trim-self-contained
# Trimming is only available for self-contained build, so force disable it here
dotnetInstallFlagsArray+=("-p:PublishTrimmed=false")
fi
if [[ -n ${dotnetUseAppHost-} ]]; then
dotnetInstallFlagsArray+=("-p:UseAppHost=true")
fi
dotnetPublish() {
local -r project="${1-}"
local -r projectFile="${1-}"
runtimeIdFlags=()
if [[ "$project" == *.csproj ]] || [ "${selfContainedBuild-}" ]; then
runtimeIdFlags+=("--runtime @runtimeId@")
runtimeIdFlagsArray=()
if [[ $projectFile == *.csproj || -n ${dotnetSelfContainedBuild-} ]]; then
runtimeIdFlagsArray+=("--runtime" "$dotnetRuntimeId")
fi
dotnet publish ${project-} \
dotnet publish ${1+"$projectFile"} \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
--output "${installPath-$out/lib/$pname}" \
--configuration "@buildType@" \
--output "$dotnetInstallPath" \
--configuration "$dotnetBuildType" \
--no-build \
${runtimeIdFlags[@]} \
${dotnetInstallFlags[@]} \
${dotnetFlags[@]}
"${runtimeIdFlagsArray[@]}" \
"${dotnetInstallFlagsArray[@]}" \
"${dotnetFlagsArray[@]}"
}
dotnetPack() {
local -r project="${1-}"
dotnet pack ${project-} \
local -r projectFile="${1-}"
dotnet pack ${1+"$projectFile"} \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
--output "$out/share" \
--configuration "@buildType@" \
--configuration "$dotnetBuildType" \
--no-build \
--runtime "@runtimeId@" \
${dotnetPackFlags[@]} \
${dotnetFlags[@]}
--runtime "$dotnetRuntimeId" \
"${dotnetPackFlagsArray[@]}" \
"${dotnetFlagsArray[@]}"
}
if (( "${#projectFile[@]}" == 0 )); then
if (( ${#dotnetProjectFilesArray[@]} == 0 )); then
dotnetPublish
else
for project in ${projectFile[@]}; do
dotnetPublish "$project"
local projectFile
for projectFile in "${dotnetProjectFilesArray[@]}"; do
dotnetPublish "$projectFile"
done
fi
if [[ "${packNupkg-}" ]]; then
if (( "${#projectFile[@]}" == 0 )); then
if [[ -n ${packNupkg-} ]]; then
if (( ${#dotnetProjectFilesArray[@]} == 0 )); then
dotnetPack
else
for project in ${projectFile[@]}; do
dotnetPack "$project"
local projectFile
for projectFile in "${dotnetProjectFilesArray[@]}"; do
dotnetPack "$projectFile"
done
fi
fi

View File

@ -7,7 +7,7 @@
telegram-desktop.overrideAttrs (old: rec {
pname = "64gram";
version = "1.1.27";
version = "1.1.29";
src = fetchFromGitHub {
owner = "TDesktop-x64";
@ -15,7 +15,7 @@ telegram-desktop.overrideAttrs (old: rec {
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-5Q2VxjiT1IpqCC9oXgHbKxcEfV/gPah0ovOpQ9TZJZs=";
hash = "sha256-OJiVmmDIsijK/IHGEdsCoAwvc9JlSth+76r9O1aJbd0=";
};
passthru.updateScript = nix-update-script {};

View File

@ -14,7 +14,6 @@
, nixosTests
, testers
, amazon-ssm-agent
, overrideEtc ? true
}:
let
@ -96,9 +95,6 @@ buildGoModule rec {
--replace "/sbin/shutdown" "shutdown"
echo "${version}" > VERSION
'' + lib.optionalString overrideEtc ''
substituteInPlace agent/appconfig/constants_unix.go \
--replace '"/etc/amazon/ssm/"' '"${placeholder "out"}/etc/amazon/ssm/"'
'' + lib.optionalString stdenv.isLinux ''
substituteInPlace agent/managedInstances/fingerprint/hardwareInfo_unix.go \
--replace /usr/sbin/dmidecode ${dmidecode}/bin/dmidecode

View File

@ -75,7 +75,7 @@ clangStdenv.mkDerivation rec {
meta = {
homepage = "https://gitlab.com/ananicy-cpp/ananicy-cpp";
description = "Rewrite of ananicy in c++ for lower cpu and memory usage";
license = lib.licenses.gpl3Only;
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
artturin

View File

@ -5,13 +5,13 @@
}:
python3Packages.buildPythonApplication rec {
pname = "arxiv-latex-cleaner";
version = "1.0.5";
version = "1.0.6";
src = fetchFromGitHub {
owner = "google-research";
repo = "arxiv-latex-cleaner";
rev = "refs/tags/v${version}";
hash = "sha256-Yxp8XtlISVZfEjCEJ/EXsIGMCHDPOwPcjkJxECeXvYk=";
hash = "sha256-S/r5riFIsRG+5za+4kVvUXOLIJ3ELCDWlSpYeSuNs+s=";
};
propagatedBuildInputs = with python3Packages; [

View File

@ -0,0 +1,171 @@
{
clangStdenv,
cmake,
cmark,
curl,
fetchFromGitHub,
fetchpatch,
fmt,
fontconfig,
freetype,
giflib,
gitUpdater,
glib,
harfbuzzFull,
lib,
libGL,
libjpeg,
libpng,
libwebp,
libX11,
libXcursor,
libXext,
libXi,
libXxf86vm,
ninja,
pcre2,
pixman,
pkg-config,
skia-aseprite,
tinyxml-2,
zlib,
}:
clangStdenv.mkDerivation (finalAttrs: {
pname = "aseprite";
version = "1.3.7";
src = fetchFromGitHub {
owner = "aseprite";
repo = "aseprite";
rev = "v" + finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-75kYJXmyags0cW2D5Ksq1uUrFSCAkFOdmn7Ya/6jLXc=";
};
nativeBuildInputs = [
cmake
ninja
pkg-config
];
buildInputs = [
cmark
curl
fmt
fontconfig
freetype
giflib
glib
harfbuzzFull
libGL
libjpeg
libpng
libwebp
libX11
libXcursor
libXext
libXi
libXxf86vm
pcre2
pixman
skia-aseprite
tinyxml-2
zlib
];
patches = [
# https://github.com/aseprite/aseprite/issues/4486
# FIXME: remove on next release.
(fetchpatch {
name = "ENABLE_UPDATER-fix.patch";
url = "https://github.com/aseprite/aseprite/commit/8fce589.patch";
hash = "sha256-DbL6kK//gQXbsXEn/t+KTuoM7E9ocPAsVqEO+lYrka4=";
})
./shared-fmt.patch
./shared-libwebp.patch
./shared-skia-deps.patch
];
postPatch =
let
# Translation strings
strings = fetchFromGitHub {
owner = "aseprite";
repo = "strings";
rev = "e18a09fefbb6cd904e506183d5fbe08558a52ed4";
hash = "sha256-GyCCxbhgf0vST20EH/+KkNLrF+U9Xzgpxlao8s925PQ=";
};
in
''
sed -i src/ver/CMakeLists.txt -e "s-set(VERSION \".*\")-set(VERSION \"$version\")-"
rm -rf data/strings
cp -r ${strings} data/strings
'';
cmakeFlags = [
"-DENABLE_DESKTOP_INTEGRATION=ON"
"-DENABLE_UPDATER=OFF"
"-DUSE_SHARED_CMARK=ON"
"-DUSE_SHARED_CURL=ON"
"-DUSE_SHARED_FMT=ON"
"-DUSE_SHARED_FREETYPE=ON"
"-DUSE_SHARED_GIFLIB=ON"
"-DUSE_SHARED_HARFBUZZ=ON"
"-DUSE_SHARED_JPEGLIB=ON"
"-DUSE_SHARED_LIBPNG=ON"
"-DUSE_SHARED_LIBWEBP=ON"
"-DUSE_SHARED_PIXMAN=ON"
"-DUSE_SHARED_TINYXML=ON"
"-DUSE_SHARED_WEBP=ON"
"-DUSE_SHARED_ZLIB=ON"
# Disable libarchive programs.
"-DENABLE_CAT=OFF"
"-DENABLE_CPIO=OFF"
"-DENABLE_TAR=OFF"
# UI backend.
"-DLAF_OS_BACKEND=skia"
"-DLAF_WITH_EXAMPLES=OFF"
"-DSKIA_DIR=${skia-aseprite}"
"-DSKIA_LIBRARY_DIR=${skia-aseprite}/lib"
];
postInstall = ''
# Install desktop icons.
src="$out/share/aseprite/data/icons"
for size in 16 32 48 64 128 256; do
dst="$out"/share/icons/hicolor/"$size"x"$size"
install -Dm644 "$src"/ase"$size".png "$dst"/apps/aseprite.png
install -Dm644 "$src"/doc"$size".png "$dst"/mimetypes/image-x-aseprite.png
done
# Delete unneeded artifacts of bundled libraries.
rm -rf "$out"/{include,lib,man}
'';
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
meta = {
homepage = "https://www.aseprite.org/";
description = "Animated sprite editor & pixel art tool";
license = lib.licenses.unfree;
longDescription = ''
Aseprite is a program to create animated sprites. Its main features are:
- Sprites are composed by layers & frames (as separated concepts).
- Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale.
- Load/save sequence of PNG files and GIF animations (and FLC, FLI, JPG, BMP, PCX, TGA).
- Export/import animations to/from Sprite Sheets.
- Tiled drawing mode, useful to draw patterns and textures.
- Undo/Redo for every operation.
- Real-time animation preview.
- Multiple editors support.
- Pixel-art specific tools like filled Contour, Polygon, Shading mode, etc.
- Onion skinning.
'';
maintainers = with lib.maintainers; [
orivej
vigress8
];
platforms = lib.platforms.linux;
};
})

View File

@ -0,0 +1,71 @@
--- a/CMakeLists.txt 2022-01-08 00:37:08.165330523 +0100
+++ b/CMakeLists.txt 2022-01-08 00:52:41.163585173 +0100
@@ -54,6 +54,7 @@
option(USE_SHARED_CMARK "Use your installed copy of cmark" off)
option(USE_SHARED_CURL "Use your installed copy of curl" off)
+option(USE_SHARED_FMT "Use your installed copy of fmt" off)
option(USE_SHARED_GIFLIB "Use your installed copy of giflib" off)
option(USE_SHARED_JPEGLIB "Use your installed copy of jpeglib" off)
option(USE_SHARED_ZLIB "Use your installed copy of zlib" off)
@@ -165,6 +165,7 @@
set(SOURCE_DATA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/data)
set(CMARK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/cmark)
set(CURL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/curl)
+set(FMT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/fmt)
set(GIFLIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/giflib)
set(LIBJPEG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/jpeg)
set(LIBPNG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/libpng)
@@ -204,6 +205,15 @@
set(CURL_STATICLIB ON BOOL)
endif()
+if(USE_SHARED_FMT)
+ find_package(FMT REQUIRED)
+ set(FMT_LIBRARIES fmt::fmt)
+else()
+ set(FMT_FOUND)
+ set(FMT_LIBRARIES fmt)
+ # No need to include extra directories, actually
+endif()
+
# zlib
if(USE_SHARED_ZLIB)
find_package(ZLIB REQUIRED)
--- a/src/app/CMakeLists.txt 2022-01-08 00:37:07.378671200 +0100
+++ b/src/app/CMakeLists.txt 2022-01-08 00:53:13.669969512 +0100
@@ -741,7 +741,7 @@ target_link_libraries(app-lib
${HARFBUZZ_LIBRARIES}
json11
archive_static
- fmt
+ ${FMT_LIBRARIES}
tinyexpr
qoi)
if(ENABLE_PSD)
--- a/src/dio/CMakeLists.txt 2022-01-08 00:41:50.712726972 +0100
+++ b/src/dio/CMakeLists.txt 2022-01-08 00:53:39.936408022 +0100
@@ -10,7 +10,7 @@
target_link_libraries(dio-lib
${ZLIB_LIBRARIES}
- fmt
+ ${FMT_LIBRARIES}
flic-lib
laf-base
fixmath-lib
--- a/third_party/CMakeLists.txt 2022-01-08 00:37:08.165330523 +0100
+++ b/third_party/CMakeLists.txt 2022-01-08 00:54:30.455969136 +0100
@@ -106,7 +106,10 @@
endif()
add_subdirectory(simpleini)
-add_subdirectory(fmt)
+
+if(NOT USE_SHARED_FMT)
+ add_subdirectory(fmt)
+endif()
# Add cmark without tests
if(NOT USE_SHARED_CMARK)

View File

@ -2,22 +2,23 @@
, stdenv
, fetchurl
, electron
, zstd
, makeWrapper
}:
stdenv.mkDerivation rec {
pname = "bilibili";
version = "1.13.2-1";
version = "1.13.5-2";
src = fetchurl {
url = "https://github.com/msojocs/bilibili-linux/releases/download/v${version}/io.github.msojocs.bilibili_${version}_amd64.deb";
hash = "sha256-yqgQNsTD4iT54LJYEbV6dk7OD7KoZvX61XERYQ4MsSA=";
hash = "sha256-4p5izaQsax4i2/AnjivDVoY205ITmEx48GhblPOZDjk=";
};
unpackPhase = ''
runHook preUnpack
ar x $src
tar xf data.tar.xz
tar -I ${zstd}/bin/zstd -xvf data.tar.zst
runHook postUnpack
'';

View File

@ -2,9 +2,8 @@
, stdenvNoCC
, fetchFromGitHub
, gtk3
, git
, colloid-gtk-theme
, gnome-themes-extra
, gtk-engine-murrine
, python3
, sassc
, nix-update-script
@ -20,6 +19,7 @@ let
validVariants = [ "latte" "frappe" "macchiato" "mocha" ];
pname = "catppuccin-gtk";
version = "1.0.3";
in
lib.checkListOfEnum "${pname}: theme accent" validAccents accents
@ -27,38 +27,29 @@ lib.checkListOfEnum "${pname}: color variant" validVariants [variant]
lib.checkListOfEnum "${pname}: size variant" validSizes [size]
lib.checkListOfEnum "${pname}: tweaks" validTweaks tweaks
stdenvNoCC.mkDerivation rec {
inherit pname;
version = "0.7.5";
stdenvNoCC.mkDerivation {
inherit pname version;
src = fetchFromGitHub {
owner = "catppuccin";
repo = "gtk";
rev = "v${version}";
hash = "sha256-DIeMdkEjIcPIf/EgE83F5URHY+lR2+hxdc4wSrruFJ8=";
hash = "sha256-8KyZtZqVVz5UKuGdLrUsR2djD3nsJDliHMtvFtUVim8=";
};
nativeBuildInputs = [ gtk3 sassc ];
patches = [
./colloid-src-git-reset.patch
];
buildInputs = [
gnome-themes-extra
nativeBuildInputs = [
gtk3
sassc
# git is needed here since "git apply" is being used for patches
# see <https://github.com/catppuccin/gtk/blob/4173b70b910bbb3a42ef0e329b3e98d53cef3350/build.py#L465>
git
(python3.withPackages (ps: [ ps.catppuccin ]))
];
propagatedUserEnvPkgs = [ gtk-engine-murrine ];
postUnpack = ''
rm -rf source/colloid
cp -r ${colloid-gtk-theme.src} source/colloid
chmod -R +w source/colloid
'';
postPatch = ''
patchShebangs --build colloid/install.sh colloid/build.sh
rm -rf source/sources/colloid
cp -r ${colloid-gtk-theme.src} source/sources/colloid
chmod -R +w source/sources/colloid
'';
dontConfigure = true;
@ -67,14 +58,12 @@ stdenvNoCC.mkDerivation rec {
installPhase = ''
runHook preInstall
cp -r colloid colloid-base
mkdir -p $out/share/themes
export HOME=$(mktemp -d)
python3 install.py ${variant} \
${lib.optionalString (accents != []) "--accent " + builtins.toString accents} \
${lib.optionalString (size != []) "--size " + size} \
${lib.optionalString (tweaks != []) "--tweaks " + builtins.toString tweaks} \
python3 build.py ${variant} \
--accent ${builtins.toString accents} \
${lib.optionalString (size != [ ]) "--size " + size} \
${lib.optionalString (tweaks != [ ]) "--tweaks " + builtins.toString tweaks} \
--dest $out/share/themes
runHook postInstall
@ -82,11 +71,11 @@ stdenvNoCC.mkDerivation rec {
passthru.updateScript = nix-update-script { };
meta = with lib; {
meta = {
description = "Soothing pastel theme for GTK";
homepage = "https://github.com/catppuccin/gtk";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ fufexan dixslyf ];
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ fufexan dixslyf isabelroses ];
};
}

View File

@ -8,14 +8,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "debianutils";
version = "5.18";
version = "5.19";
src = fetchFromGitLab {
domain = "salsa.debian.org";
owner = "debian";
repo = "debianutils";
rev = "debian/${finalAttrs.version}";
hash = "sha256-rZEDUwx8ldCTVUB1CqghYgaZ4kMGxWCtiFCdoxQDwpo=";
hash = "sha256-2YJgHwjD1JyqzdYaicrgKHA/a5KdkdPJnhGQxoq/KpU=";
};
nativeBuildInputs = [

View File

@ -7,13 +7,13 @@
buildGoModule rec {
pname = "dmarc-report-converter";
version = "0.8.0";
version = "0.8.1";
src = fetchFromGitHub {
owner = "tierpod";
repo = "dmarc-report-converter";
rev = "v${version}";
hash = "sha256-TqvAqMZEXhMO3/0VNY3Mr/E15QQbucuKyG95j2jWU5g=";
hash = "sha256-j1uFPCyxLqO3BMxl/02wILj5HGag9qjxCTB8ZxZHEGo=";
};
vendorHash = null;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "flashmq";
version = "1.14.0";
version = "1.15.1";
src = fetchFromGitHub {
owner = "halfgaar";
repo = "FlashMQ";
rev = "v${version}";
hash = "sha256-rOhH3mRPW4LweQmzztr6/xGqSfo02nFBWrAVd0/oQGA=";
hash = "sha256-6ShMYTynqIVm7EH3b9Jzy5UKE7SH/Lq5uWV3VaDVREQ=";
};
nativeBuildInputs = [ cmake installShellFiles ];

View File

@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "ghciwatch";
version = "0.5.16";
version = "1.0.0";
src = fetchFromGitHub {
owner = "MercuryTechnologies";
repo = "ghciwatch";
rev = "v${version}";
hash = "sha256-XKR/X27oScB9XdyXeYKD6nlnkBTLJLXkzsRgfS3ygVE=";
hash = "sha256-SV2QRFXXXwWZGd2pe+7aK+p3X+EviDrykqceZ+24t4I=";
};
cargoHash = "sha256-BKPzOv2RtcE4MzRyvHs3VmNME2uKtGXCqGrULfryacM=";
cargoHash = "sha256-/N1R8/qRIt0AiIzTKt/vPlSLxPdKU+oeuE4eZTjwJlA=";
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreFoundation

View File

@ -12,16 +12,16 @@
rustPlatform.buildRustPackage rec {
pname = "gitu";
version = "0.20.1";
version = "0.21.0";
src = fetchFromGitHub {
owner = "altsem";
repo = "gitu";
rev = "v${version}";
hash = "sha256-H1REl6DkWYwZ1s8FLyHlsFi1DQY0C3Zizz/o9KUO7XQ=";
hash = "sha256-2YcQl9aPFPE/t/Pzoo0mWkCjOE6b4BJH0oT8Gbx+vIg=";
};
cargoHash = "sha256-/u6VmcaQpVagz7W/eAFql9sKF+9dn/o1VGvFGJAJkaA=";
cargoHash = "sha256-RldCa0UITX8zj5tliww1xiL1Y60t9EN6o1ZA5eVEaT4=";
nativeBuildInputs = [
pkg-config

View File

@ -49,13 +49,13 @@ assert lib.assertMsg
stdenv.mkDerivation (finalAttrs: {
pname = "gmic-qt${lib.optionalString (variant != "standalone") "-${variant}"}";
version = "3.3.6";
version = "3.4.0";
src = fetchFromGitHub {
owner = "c-koi";
repo = "gmic-qt";
rev = "v.${finalAttrs.version}";
hash = "sha256-0MtQTc2nUF8N1IDIcRxGqfXKULl9ZjnqDt4q84jA5ow=";
hash = "sha256-IZMvvhWQwbnyxF3CkvEjySl3o3DB6UucpjqOFR9NjQ0=";
};
nativeBuildInputs = [

View File

@ -26,7 +26,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gmic";
version = "3.3.6";
version = "3.4.0";
outputs = [ "out" "lib" "dev" "man" ];
@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "GreycLab";
repo = "gmic";
rev = "v.${finalAttrs.version}";
hash = "sha256-gyQP+ulXLMVkNn1Bss7zlQINcTunwbP+MAsftADqtOk=";
hash = "sha256-uK/kgzlUvEAxRB8Wc3Inspv4/8vnjXrCilP1g/QMuCs=";
};
# TODO: build this from source
@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
gmic_stdlib = fetchurl {
name = "gmic_stdlib_community.h";
url = "http://gmic.eu/gmic_stdlib_community${lib.replaceStrings ["."] [""] finalAttrs.version}.h";
hash = "sha256-mj6yOGc+CGY6oFDv9PJ7y9KABdn9DG32m2IVlLAhrsc=";
hash = "sha256-wq8yQ0pxEGH3sOmwmgQfRVluHAC4JBYgs2mto1PNLP4=";
};
nativeBuildInputs = [

View File

@ -9,13 +9,13 @@
buildGoModule rec {
pname = "grype";
version = "0.77.4";
version = "0.79.0";
src = fetchFromGitHub {
owner = "anchore";
repo = "grype";
rev = "refs/tags/v${version}";
hash = "sha256-xD6G4DGimmYVVCZHpXlvC24zaRwpRpQ0iRc4Yxac3O8=";
hash = "sha256-fFiZ6GOKaHcBnxakhd3Mdm1hHmfAwyq/ScBNUwrm0vw=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@ -30,7 +30,7 @@ buildGoModule rec {
proxyVendor = true;
vendorHash = "sha256-WosgdN49MEXSfK42l4em+Cpk8iAQphf9KOhY0mgBQ7U=";
vendorHash = "sha256-PIs+6P7w6vjOOpH96KEdG6tHRCU7ijtdyS/1C77BPDw=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -0,0 +1,37 @@
{ lib
, buildGoModule
, fetchgit
}:
buildGoModule {
pname = "kontemplate";
version = "1.8.0-unstable-2024-06-09";
src = fetchgit {
url = "https://code.tvl.fyi/depot.git";
sha256 = "sha256-Cv/y1Tj+hUKP0gi9ceS1Gml1WRYbUGSeWfJfXyX6dLA=";
rev = "b16ddb54b0327606cec2df220eaabb1328e18e3e";
};
modRoot = "ops/kontemplate";
vendorHash = "sha256-xPGVM2dq5fAVOiuodOXhDm3v3k+ncNLhlk6aCtF5S9E=";
meta = {
description = "Extremely simple Kubernetes resource templates";
mainProgram = "kontemplate";
homepage = "https://code.tvl.fyi/about/ops/kontemplate";
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [ mbode tazjin ];
platforms = lib.platforms.unix;
longDescription = ''
Kontemplate is a simple CLI tool that can take sets of
Kubernetes resource files with placeholders and insert values
per environment.
It can be used as a simple way of deploying the same set of
resources to different Kubernetes contexts with context-specific
configuration.
'';
};
}

View File

@ -6,7 +6,7 @@
let
pname = "lefthook";
version = "1.6.15";
version = "1.6.16";
in
buildGoModule {
inherit pname version;
@ -15,7 +15,7 @@ buildGoModule {
owner = "evilmartians";
repo = "lefthook";
rev = "v${version}";
hash = "sha256-Pc4m4T/+hABX3eGgni12EC8lD9xl5j/eALhfuSVbEJc=";
hash = "sha256-5sGhm+ioH9hQLDuk7a0oUB1CqiiTt88UKAmBqUeCfic=";
};
vendorHash = "sha256-ralnfqrP6R58Wjc/AWRf1motWZICPagZxHCkqVcwYoo=";

View File

@ -25,6 +25,12 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/less/-/raw/1d570db0c84fe95799f460526492e45e24c30ad0/backport-007521ac3c95bc76.patch";
hash = "sha256-BT8DLIu7oVhL5XL50uFVUp97qjklcvRHy85UQwVKAmc=";
})
(fetchpatch {
# https://github.com/gwsw/less/pull/416
name = "freebsd.patch";
url = "https://github.com/gwsw/less/commit/3ecff3752078fda90fd46c9f020f2a2bb548dd71.patch";
hash = "sha256-Iv2Jm/7wwRsyLchoEvYz9VziySJ6sI4YbSgFTdQrV+I=";
})
];
buildInputs = [

View File

@ -7,7 +7,7 @@
buildGoModule rec {
pname = "litmusctl";
version = "1.6.0";
version = "1.7.0";
nativeBuildInputs = [
installShellFiles
@ -21,10 +21,10 @@ buildGoModule rec {
owner = "litmuschaos";
repo = "litmusctl";
rev = "${version}";
hash = "sha256-aJcnK4VhtqVFaSUf0A40qGb0TBKiqlgkwY2nRdfTl2E=";
hash = "sha256-g3g0wVjtVIF56N1gTillHMkNDHt58tpRQa2ds+3rHAE=";
};
vendorHash = "sha256-U4dp2E2TZ3rds63PS6GzUVhb2qDSv92bf9JCkWpdLew=";
vendorHash = "sha256-7FYOQ89aUFPX+5NCPYKg+YGCXstQ6j9DK4V2mCgklu0=";
postInstall = ''
installShellCompletion --cmd litmusctl \

View File

@ -10,13 +10,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "marwaita-x";
version = "1.2";
version = "1.2.1";
src = fetchFromGitHub {
owner = "darkomarko42";
repo = "marwaita-x";
rev = finalAttrs.version;
sha256 = "sha256-HQsIF9CNFROaxl5hnmat2VWEXFT8gW4UWSi/A1dFi6Y=";
sha256 = "sha256-x5b3aaasYbxFGvdNNF6vIrF/ZZWBGbdS2kEuB1rwOlA=";
};
buildInputs = [

View File

@ -0,0 +1,67 @@
{
aria2,
cmake,
# https://github.com/mhogomchungu/media-downloader?tab=readme-ov-file#extensions
extraPackages ? [
aria2
yt-dlp
ffmpeg
python3
],
fetchFromGitHub,
ffmpeg,
lib,
libsForQt5,
python3,
stdenv,
yt-dlp,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "media-downloader";
version = "4.7.0";
src = fetchFromGitHub {
owner = "mhogomchungu";
repo = "media-downloader";
rev = finalAttrs.version;
hash = "sha256-ykPYxRgzKZrA0KwS1FoxZOkSL+7TbLgy0yLfs7Iqpf4=";
};
# Disable automatically updating extensions when starting the program because this will
# invalidate the dependence on extensions and may cause potential security issues
# Can still be enabled in Configure > Actions At Startup
postPatch = ''
substituteInPlace src/settings.cpp \
--replace-fail '"ShowVersionInfoAndAutoDownloadUpdates",true' '"ShowVersionInfoAndAutoDownloadUpdates",false' \
'';
nativeBuildInputs = [
cmake
libsForQt5.wrapQtAppsHook
];
buildInputs = [ libsForQt5.qtbase ];
qtWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath extraPackages}" ];
meta = {
description = "Qt/C++ GUI front end for yt-dlp and others";
longDescription = ''
Media Downloader is a GUI front end to yt-dlp, youtube-dl, gallery-dl,
lux, you-get, svtplay-dl, aria2c, wget and safari books.
Read https://github.com/mhogomchungu/media-downloader/wiki/Extensions
for further information. We have packaged most of them, and they can
be added by overriding `extraPackages`.
'';
homepage = "https://github.com/mhogomchungu/media-downloader";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [
zendo
aleksana
];
platforms = lib.platforms.linux;
mainProgram = "media-downloader";
};
})

View File

@ -5,12 +5,12 @@
appimageTools.wrapType2 rec {
pname = "miru";
version = "5.1.0";
version = "5.1.3";
src = fetchurl {
url = "https://github.com/ThaUnknown/miru/releases/download/v${version}/linux-Miru-${version}.AppImage";
name = "${pname}-${version}.AppImage";
sha256 = "sha256-N9I5YNFIfBmANCnJA3gUmgq04cc5LLfOsYiEdwJupf8=";
sha256 = "sha256-F2wFCZvuANoeBNO+o3Rs/DJtyIVQl46MQCpXQcRiDHs=";
};
extraInstallCommands =

View File

@ -1287,33 +1287,33 @@ dependencies = [
[[package]]
name = "lalrpop"
version = "0.19.12"
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a1cbf952127589f2851ab2046af368fd20645491bb4b376f04b7f94d7a9837b"
checksum = "55cb077ad656299f160924eb2912aa147d7339ea7d69e1b5517326fdcec3c1ca"
dependencies = [
"ascii-canvas",
"bit-set",
"diff",
"ena",
"is-terminal",
"itertools 0.10.5",
"itertools 0.11.0",
"lalrpop-util",
"petgraph",
"pico-args",
"regex",
"regex-syntax 0.6.29",
"regex-syntax 0.8.2",
"string_cache",
"term",
"tiny-keccak",
"unicode-xid 0.2.4",
"walkdir",
]
[[package]]
name = "lalrpop-util"
version = "0.19.12"
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3c48237b9604c5a4702de6b824e02006c3214327564636aef27c1028a8fa0ed"
checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553"
dependencies = [
"regex",
"regex-automata",
]
[[package]]
@ -1649,7 +1649,7 @@ dependencies = [
[[package]]
name = "nickel-lang-cli"
version = "1.6.0"
version = "1.7.0"
dependencies = [
"clap 4.5.2",
"clap_complete",
@ -1667,7 +1667,7 @@ dependencies = [
[[package]]
name = "nickel-lang-core"
version = "0.7.0"
version = "0.8.0"
dependencies = [
"ansi_term",
"assert_matches",
@ -1722,7 +1722,7 @@ dependencies = [
[[package]]
name = "nickel-lang-lsp"
version = "1.6.0"
version = "1.7.0"
dependencies = [
"anyhow",
"assert_cmd",
@ -1736,6 +1736,7 @@ dependencies = [
"csv",
"derive_more",
"env_logger",
"git-version",
"glob",
"insta",
"lalrpop",
@ -1769,7 +1770,7 @@ dependencies = [
[[package]]
name = "nickel-wasm-repl"
version = "0.7.0"
version = "0.8.0"
dependencies = [
"nickel-lang-core",
]
@ -1935,6 +1936,12 @@ dependencies = [
"siphasher",
]
[[package]]
name = "pico-args"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315"
[[package]]
name = "pin-project-lite"
version = "0.2.13"
@ -2114,7 +2121,7 @@ dependencies = [
[[package]]
name = "pyckel"
version = "1.6.0"
version = "1.7.0"
dependencies = [
"codespan-reporting",
"nickel-lang-core",
@ -3010,8 +3017,9 @@ dependencies = [
[[package]]
name = "topiary-core"
version = "0.3.0"
source = "git+https://github.com/tweag/topiary.git?rev=82a94a9f57104b89d4316afaeeab271cc51f7698#82a94a9f57104b89d4316afaeeab271cc51f7698"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b26541394bdbcd5a039deb917b2096a69c6604f733f0d41f534fc6975987040d"
dependencies = [
"futures",
"itertools 0.11.0",
@ -3028,13 +3036,15 @@ dependencies = [
[[package]]
name = "topiary-queries"
version = "0.3.0"
source = "git+https://github.com/tweag/topiary.git?rev=82a94a9f57104b89d4316afaeeab271cc51f7698#82a94a9f57104b89d4316afaeeab271cc51f7698"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89106b9c504a9e3247b8e40f879a73a922f0d516e1051a6ef739b4cf7d54c8d9"
[[package]]
name = "topiary-tree-sitter-facade"
version = "0.3.0"
source = "git+https://github.com/tweag/topiary.git?rev=82a94a9f57104b89d4316afaeeab271cc51f7698#82a94a9f57104b89d4316afaeeab271cc51f7698"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea7c870d9a844bbba0f55be40eaa89624a9f627c155cd22eea70dd808bd71b3d"
dependencies = [
"js-sys",
"topiary-web-tree-sitter-sys",
@ -3045,8 +3055,9 @@ dependencies = [
[[package]]
name = "topiary-web-tree-sitter-sys"
version = "0.3.0"
source = "git+https://github.com/tweag/topiary.git?rev=82a94a9f57104b89d4316afaeeab271cc51f7698#82a94a9f57104b89d4316afaeeab271cc51f7698"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc9e35caeeb7f07e97b71ee7ea204c89516e7cc490d1c2ae318eca3ff3c08d46"
dependencies = [
"js-sys",
"wasm-bindgen",
@ -3066,8 +3077,9 @@ dependencies = [
[[package]]
name = "tree-sitter-nickel"
version = "0.1.0"
source = "git+https://github.com/nickel-lang/tree-sitter-nickel?rev=58baf89db8fdae54a84bcf22c80ff10ee3f929ed#58baf89db8fdae54a84bcf22c80ff10ee3f929ed"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "449daa9ac0e2a18d7243eaf21d7299d6683ce6750ca225ebd557412d22d106cf"
dependencies = [
"cc",
"tree-sitter",

View File

@ -8,21 +8,17 @@
rustPlatform.buildRustPackage rec {
pname = "nickel";
version = "1.6.0";
version = "1.7.0";
src = fetchFromGitHub {
owner = "tweag";
repo = "nickel";
rev = "refs/tags/${version}";
hash = "sha256-AL5YkdITO9CPFYzMGQwHbuFZrMDUvF1yTt2XTotoymM=";
hash = "sha256-EwiZg0iyF9EQ0Z65Re5WgeV7xgs/wPtTQ9XA0iEMEIQ=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"topiary-core-0.3.0" = "sha256-KWfgbVFV2zbCuNNFp9yeSgAa0Cc7cT090KK2J1ynfKg=";
"tree-sitter-nickel-0.1.0" = "sha256-WuY6X1mnXdjiy4joIcY8voK2sqICFf0GvudulZ9lwqg=";
};
};
cargoBuildFlags = [ "-p nickel-lang-cli" "-p nickel-lang-lsp" ];

View File

@ -5,13 +5,13 @@
}:
buildGoModule rec {
pname = "nom";
version = "2.5.0";
version = "2.5.1";
src = fetchFromGitHub {
owner = "guyfedwards";
repo = "nom";
rev = "v${version}";
hash = "sha256-uy4c3NLBZY0ybjoK/AYilAZ4bA0+Jkh7OLScH5cVRHI=";
hash = "sha256-kIm0q4/D80skFjlj2ABq4d2PKnATDt53x4fLU6kmA9U=";
};
vendorHash = "sha256-xolhwdWRjYZMgwI4jq0fGzvxnNjx6EplvZC7XMvBw+M=";

View File

@ -192,8 +192,8 @@ goBuild ((lib.optionalAttrs enableRocm {
ldflags = [
"-s"
"-w"
"-X=github.com/jmorganca/ollama/version.Version=${version}"
"-X=github.com/jmorganca/ollama/server.mode=release"
"-X=github.com/ollama/ollama/version.Version=${version}"
"-X=github.com/ollama/ollama/server.mode=release"
];
passthru.tests = {

View File

@ -9,13 +9,13 @@
stdenv.mkDerivation {
pname = "ols";
version = "0-unstable-2024-06-05";
version = "0-unstable-2024-06-13";
src = fetchFromGitHub {
owner = "DanielGavin";
repo = "ols";
rev = "c4996b10d88aed9a0028c92ea54c42e4e9aeb39f";
hash = "sha256-PnajCKfk4XVR1FwG5ySzL/ibpwie+Xhr6MxHeXZiKmg=";
rev = "09f865e685f8ebddaf994e51baeabed795e7f849";
hash = "sha256-JdKmXMyRZCf6UYo5sKmiIaeZNgnbUm5ALP39tf6z36w=";
};
postPatch = ''

View File

@ -4,6 +4,7 @@
, makeDesktopItem
, python3
, libsForQt5
, ffmpeg
}:
python3.pkgs.buildPythonApplication rec {
@ -27,6 +28,7 @@ python3.pkgs.buildPythonApplication rec {
propagatedBuildInputs = with python3.pkgs; [
charset-normalizer
defusedxml
ffmpeg
librespot
music-tag
packaging
@ -52,16 +54,32 @@ python3.pkgs.buildPythonApplication rec {
pythonRelaxDeps = true;
postInstall = ''
install -Dm444 $src/src/onthespot/resources/icon.png $out/share/icons/hicolor/256x256/apps/onthespot.png
'';
preFixup = ''
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
'';
desktopItems = [
(makeDesktopItem {
name = "Onthespot";
exec = "onthespot_gui";
icon = "onthespot";
desktopName = "Onthespot";
comment = meta.description;
categories = [ "Audio" ];
})
];
meta = with lib; {
description = " QT based Spotify music downloader written in Python";
description = "QT based Spotify music downloader written in Python";
homepage = "https://github.com/casualsnek/onthespot";
changelog = "https://github.com/casualsnek/onthespot/releases/tag/v${version}";
license = licenses.gpl2Only;
maintainers = with maintainers; [ onny ];
platforms = platforms.linux;
mainProgram = "onthespot_gui";
};
}

View File

@ -7,19 +7,19 @@
}:
let
pname = "open-webui";
version = "0.3.4";
version = "0.3.5";
src = fetchFromGitHub {
owner = "open-webui";
repo = "open-webui";
rev = "v${version}";
hash = "sha256-HO7kvJB4GDdAtb0jq8XPU94sP8QbyYlxAmhpLAshMng=";
hash = "sha256-copxy9fgHTHfF14bh9ddF4eTWx2GP2Mkw3lr+1NKKkI=";
};
frontend = buildNpmPackage {
inherit pname version src;
npmDepsHash = "sha256-EZvFslntBjpxsjXYyfPGNa2SmYth56cjy8zg+fmiCGo=";
npmDepsHash = "sha256-whddW3ThC/zlttqhV3wf15roaCgp0H/BELWLs9/c5Jc=";
# Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
# Until this is solved, running python packages from the browser will not work.
@ -59,8 +59,6 @@ python3.pkgs.buildPythonApplication rec {
"opencv-python-headless"
# using `psycopg2` instead
"psycopg2-binary"
# package request: https://github.com/NixOS/nixpkgs/issues/317065
"rapidocr-onnxruntime"
];
dependencies = with python3.pkgs; [
@ -106,6 +104,7 @@ python3.pkgs.buildPythonApplication rec {
pytube
pyxlsb
rank-bm25
rapidocr-onnxruntime
requests
sentence-transformers
unstructured

View File

@ -1,16 +1,16 @@
{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles, makeWrapper, pkg-config
{ lib, stdenv, buildGo122Module, fetchFromGitHub, installShellFiles, makeWrapper, pkg-config
, withGui ? true, vte
}:
buildGoModule rec {
buildGo122Module rec {
pname = "orbiton";
version = "2.65.11";
version = "2.65.12";
src = fetchFromGitHub {
owner = "xyproto";
repo = "orbiton";
rev = "v${version}";
hash = "sha256-eb7Ku1hgvYdmRgemXcEZMl53oNXYcomh4wYHpRzLTUc=";
hash = "sha256-1KVw2dj//6vwUUj1jVWe2J/9F6J8BQsvCAEbJZnW26c=";
};
vendorHash = null;

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "plumber";
version = "2.6.1";
version = "2.7.0";
src = fetchFromGitHub {
owner = "streamdal";
repo = pname;
rev = "v${version}";
hash = "sha256-7sOj21ZTmo3KJ8CduH25jA4gmXLMKi5QWAng6nP0dsQ=";
hash = "sha256-20rc9TLiCkt9k/Gtr5aoheGiiqOp1eURSqg4p1jTnkE=";
};
vendorHash = null;

View File

@ -0,0 +1,33 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "poutine";
version = "0.11.0";
src = fetchFromGitHub {
owner = "boostsecurityio";
repo = "poutine";
rev = "refs/tags/v${version}";
hash = "sha256-T81Qi79VaZzfKL4niTZQW+gwwiBcyInALrvyUg1V4Ck=";
};
vendorHash = "sha256-/chq40j+puAI3KdI15vbZwrnzCKrU7g+Z/t9aOXQ1Sg=";
ldflags = [
"-s"
"-w"
];
meta = with lib; {
description = "Security scanner that detects misconfigurations and vulnerabilities in build pipelines of repositories";
homepage = "https://github.com/boostsecurityio/poutine";
changelog = "https://github.com/boostsecurityio/poutine/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
mainProgram = "poutine";
};
}

View File

@ -0,0 +1,36 @@
{
lib,
stdenv,
fetchurl,
}:
stdenv.mkDerivation (
finalAttrs:
let
jarName = "jmx_prometheus_javaagent-${finalAttrs.version}.jar";
in
{
pname = "jmx-prometheus-javaagent";
version = "0.20.0";
src = fetchurl {
url = "mirror://maven/io/prometheus/jmx/jmx_prometheus_javaagent/${finalAttrs.version}/${jarName}";
sha256 = "sha256-i2ftQEhdR1ZIw20R0hRktIRAb4X6+RKzNj9xpqeGEyA=";
};
dontUnpack = true;
installPhase = ''
env
mkdir -p $out/lib
cp $src $out/lib/${jarName}
'';
meta = {
homepage = "https://github.com/prometheus/jmx_exporter";
description = "A process for exposing JMX Beans via HTTP for Prometheus consumption";
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.srhb ];
platforms = lib.platforms.unix;
};
}
)

View File

@ -7,7 +7,7 @@
python3Packages.buildPythonApplication rec {
pname = "pyprland";
version = "2.3.7";
version = "2.3.8";
format = "pyproject";
disabled = python3Packages.pythonOlder "3.10";
@ -16,7 +16,7 @@ python3Packages.buildPythonApplication rec {
owner = "hyprland-community";
repo = "pyprland";
rev = "refs/tags/${version}";
hash = "sha256-Mcn5d0p+vu1I9oKHUdOH/v1+wC9UTGZaejbsgurrrhg=";
hash = "sha256-0YUI2/gJmBoummiHGpq2p2sT25SwCdnsRwfGK2pcm4s=";
};
nativeBuildInputs = with python3Packages; [ poetry-core ];

View File

@ -0,0 +1,46 @@
{ lib
, stdenv
, fetchFromGitHub
, rustPlatform
, installShellFiles
, pkg-config
, perl
, openssl
}:
rustPlatform.buildRustPackage rec {
pname = "release-plz";
version = "0.3.72";
src = fetchFromGitHub {
owner = "MarcoIeni";
repo = "release-plz";
rev = "release-plz-v${version}";
hash = "sha256-wc/+X/P/FKDpvw0U7ItIgzHbqsEnngHk4wt7Pjzk594=";
};
cargoHash = "sha256-RB+NXuASfpx6tZJfG18Hj7JOfXK9FIqSD7QaDfGUHi4=";
nativeBuildInputs = [ installShellFiles pkg-config perl ];
buildInputs = [ openssl ];
buildAndTestSubdir = "crates/release_plz";
# Tests depend on additional infrastructure to be running locally
doCheck = false;
postInstall = ''
installShellCompletion --cmd ${meta.mainProgram} \
--bash <($out/bin/${meta.mainProgram} generate-completions bash) \
--fish <($out/bin/${meta.mainProgram} generate-completions fish) \
--zsh <($out/bin/${meta.mainProgram} generate-completions zsh)
'';
meta = {
description = "Publish Rust crates from CI with a Release PR";
homepage = "https://release-plz.ieni.dev";
license = with lib.licenses; [ asl20 mit ];
maintainers = with lib.maintainers; [ dannixon ];
mainProgram = "release-plz";
broken = stdenv.isDarwin;
};
}

View File

@ -3,21 +3,21 @@
angle2 = fetchgit {
url = "https://chromium.googlesource.com/angle/angle.git";
rev = "8718783526307a3fbb35d4c1ad4e8101262a0d73";
sha256 = "0c90q8f4syvwcayw58743sa332dcpkmblwh3ffkjqn5ygym04xji";
hash = "sha256-UXYCqn++WCyncwNyuuq8rIkxlB7koMK9Ynx7TRzCIDE=";
};
dng_sdk = fetchgit {
url = "https://android.googlesource.com/platform/external/dng_sdk.git";
rev = "c8d0c9b1d16bfda56f15165d39e0ffa360a11123";
sha256 = "1nlq082aij7q197i5646bi4vd2il7fww6sdwhqisv2cs842nyfwm";
hash = "sha256-lTtvBUGaia0jhrxpw7k7NIq2SVyGmBJPCvjIqAQCmNo=";
};
piex = fetchgit {
url = "https://android.googlesource.com/platform/external/piex.git";
rev = "bb217acdca1cc0c16b704669dd6f91a1b509c406";
sha256 = "05ipmag6k55jmidbyvg5mkqm69zfw03gfkqhi9jnjlmlbg31y412";
hash = "sha256-IhAfxlu0UmllihBP9wbg7idT8azlbb9arLKUaZ6qNxY=";
};
sfntly = fetchgit {
url = "https://chromium.googlesource.com/external/github.com/googlei18n/sfntly.git";
rev = "b55ff303ea2f9e26702b514cf6a3196a2e3e2974";
sha256 = "1qi5rfzmwfrji46x95g6dsb03i1v26700kifl2hpgm3pqhr7afpz";
hash = "sha256-/zp1MsR31HehoC5OAI4RO8QBlm7mldQNiTI7Xr/LJeI=";
};
}

View File

@ -0,0 +1,115 @@
{
aseprite,
clangStdenv,
expat,
fetchFromGitHub,
fetchgit,
fontconfig,
gn,
harfbuzzFull,
icu,
lib,
libglvnd,
libjpeg,
libpng,
libwebp,
libX11,
mesa,
ninja,
python3,
zlib,
}:
let
# deps.nix is generated by ./update.sh
depSrcs = import ./deps.nix { inherit fetchgit; };
in
clangStdenv.mkDerivation (finalAttrs: {
pname = "skia-aseprite";
version = "m102-861e4743af";
src = fetchFromGitHub {
owner = "aseprite";
repo = "skia";
rev = finalAttrs.version;
hash = "sha256-IlZbalmHl549uDUfPG8hlzub8TLWhG0EsV6HVAPdsl0=";
};
nativeBuildInputs = [
gn
ninja
python3
];
preConfigure = with depSrcs; ''
mkdir -p third_party/externals
ln -s ${angle2} third_party/externals/angle2
ln -s ${dng_sdk} third_party/externals/dng_sdk
ln -s ${piex} third_party/externals/piex
ln -s ${sfntly} third_party/externals/sfntly
'';
configurePhase = ''
runHook preConfigure
gn gen lib --args="is_debug=false is_official_build=true extra_cflags=[\"-I${harfbuzzFull.dev}/include/harfbuzz\"]"
runHook postConfigure
'';
buildInputs = [
expat
fontconfig
harfbuzzFull
icu
libglvnd
libjpeg
libpng
libwebp
libX11
mesa
zlib
];
buildPhase = ''
runHook preBuild
ninja -C lib skia modules
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out
# Glob will match all subdirs.
shopt -s globstar
# All these paths are used in some way when building Aseprite.
cp -r --parents -t $out/ \
include/codec \
include/config \
include/core \
include/effects \
include/gpu \
include/private \
include/utils \
include/third_party/skcms/*.h \
lib/*.a \
modules/skshaper/include/*.h \
src/core/*.h \
src/gpu/**/*.h \
third_party/externals/angle2/include \
third_party/skcms/**/*.h
runHook postInstall
'';
passthru.updateScript = [ ./update.sh ] ++ builtins.attrNames depSrcs;
meta = {
description = "Complete 2D graphic library for drawing Text, Geometries, and Images (Aseprite's fork)";
homepage = "https://skia.org/";
downloadPage = "https://github.com/aseprite/skia";
license = lib.licenses.bsd3;
inherit (aseprite.meta) maintainers;
platforms = lib.platforms.all;
};
})

View File

@ -0,0 +1,71 @@
#!/usr/bin/env nix-shell
#!nix-shell --pure -i bash
#!nix-shell -p cacert curl git jq nix-prefetch-git
# shellcheck shell=bash
# vim: set tabstop=2 shiftwidth=2 expandtab:
set -euo pipefail
shopt -s inherit_errexit
[ $# -gt 0 ] || {
printf >&2 'usage: %s <deps>' "$0"
exit 1
}
pkgpath=$(git rev-parse --show-toplevel)/pkgs/by-name/sk/skia-aseprite
depfilter=$(tr ' ' '|' <<< "$*")
depfile=$pkgpath/deps.nix
pkgfile=$pkgpath/package.nix
update_deps() {
local deps third_party_deps name url rev hash prefetch
version=$(sed -n 's|.*version = "\(.*\)".*|\1|p' < "$pkgfile")
deps=$(curl -fsS https://raw.githubusercontent.com/aseprite/skia/$version/DEPS)
third_party_deps=$(sed -n 's|[ ",]||g; s|:| |; s|@| |; s|^third_party/externals/||p' <<< "$deps")
filtered=$(grep -E -- "$depfilter" <<< "$third_party_deps")
if [[ -z $filtered ]]; then
printf >&2 '%s: error: filter "%s" matched nothing' "$0" "$depfilter"
return 1
fi
printf '{ fetchgit }:\n{\n'
while read -r name url rev; do
printf >&2 'Fetching %s@%s\n' "$name" "$rev"
prefetch=$(nix-prefetch-git --quiet --rev "$rev" "$url")
hash=$(jq -r '.hash' <<< "$prefetch")
cat << EOF
$name = fetchgit {
url = "$url";
rev = "$rev";
hash = "$hash";
};
EOF
# `read` could exit with a non-zero code without a newline at the end
done < <(printf '%s\n' "$filtered")
printf '}\n'
}
update_version() {
local newver newrev
newver=$(
curl --fail \
--header 'Accept: application/vnd.github+json' \
--location --show-error --silent \
${GITHUB_TOKEN:+ --user \":$GITHUB_TOKEN\"} \
https://api.github.com/repos/aseprite/skia/releases/latest \
| jq -r .tag_name
)
newhash=$(nix-prefetch-git --quiet --rev "$newver" https://github.com/aseprite/skia.git | jq -r '.hash')
sed \
-e 's|version = ".*"|version = "'$newver'"|' \
-e 's|hash = ".*"|hash = "'$newhash'"|' \
-- "$pkgfile"
}
temp=$(mktemp)
trap 'ret=$?; rm -rf -- "$temp"; exit $ret' EXIT
update_version > "$temp"
cp "$temp" "$pkgfile"
update_deps > "$temp"
cp "$temp" "$depfile"

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,13 @@
{ fetchFromGitHub, rustPlatform, lib, pkg-config, openssl, glib, atk, gtk3, libsoup, webkitgtk_4_1 }:
rustPlatform.buildRustPackage {
pname = "snx-rs";
version = "2.2.0";
version = "2.2.3";
src = fetchFromGitHub {
owner = "ancwrd1";
repo = "snx-rs";
rev = "v2.2.0";
hash = "sha256-9aBJM20+G1U2NuJXBmax50o3M/lwRpLeqdcHCA28iAw=";
rev = "v2.2.3";
hash = "sha256-tBl67uDeYVmVBwi8NQVclfFQ0Sj1dl+hR8Jct1iE2LI=";
};
nativeBuildInputs = [ pkg-config ];
@ -20,7 +20,7 @@ rustPlatform.buildRustPackage {
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"isakmp-0.1.0" = "sha256-Gk0/tyIQ62kH6ZSW6ov8SMVR2UBEWkz8HfqeWjSXmlY=";
"isakmp-0.1.0" = "sha256-6v5xhkt9iaQg3Eh8S1tXW55oLv4YFDYvY0cfsepMuIM=";
};
};

View File

@ -1,16 +1,16 @@
{ lib, fetchFromGitHub, buildGoModule }:
buildGoModule rec {
pname = "starlark";
version = "0-unstable-2023-11-21";
version = "0-unstable-2024-05-21";
src = fetchFromGitHub {
owner = "google";
repo = "starlark-go";
rev = "90ade8b19d09805d1b91a9687198869add6dfaa1";
hash = "sha256-ZNOPx7L21A4BR5WshMMAHGm6j1ukWC9waJ1lYLvxBw0=";
rev = "046347dcd1044f5e568fcf64884b0344f27910c0";
hash = "sha256-qpJPCcMxrsspiN5FeQDZRaNchYPawMNJHtKK8fmrRug=";
};
vendorHash = "sha256-jQE5fSqJeiDV7PW7BY/dzCxG6b/KEVIobcjJsaL2zMw=";
vendorHash = "sha256-8drlCBy+KROyqXzm/c+HBe/bMVOyvwRoLHxOApJhMfo=";
ldflags = [ "-s" "-w" ];

View File

@ -8,11 +8,11 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "stats";
version = "2.10.16";
version = "2.10.18";
src = fetchurl {
url = "https://github.com/exelban/stats/releases/download/v${finalAttrs.version}/Stats.dmg";
hash = "sha256-fSn4qZMXRlWxqIZ2Jh1anLQPbx/TqHA7UFRq+pR3o+4=";
hash = "sha256-iBo6rP8V7jGTFaKyd3er3L2EWW3slCyV6eFoJT3w7z8=";
};
sourceRoot = ".";

View File

@ -1,12 +1,8 @@
{ appimageTools, fetchurl, lib }:
let
pname = "Sylk";
version = "3.0.1";
in
appimageTools.wrapType2 rec {
inherit pname version;
pname = "sylk";
version = "3.0.1";
src = fetchurl {
url = "http://download.ag-projects.com/Sylk/Sylk-${version}-x86_64.AppImage";
@ -17,12 +13,13 @@ appimageTools.wrapType2 rec {
export LC_ALL=C.UTF-8
'';
meta = with lib; {
description = "Sylk WebRTC client";
meta = {
description = "Desktop client for SylkServer, a multiparty conferencing tool";
homepage = "https://sylkserver.com/";
license = licenses.agpl3Plus;
maintainers = with maintainers; [ zimbatm ];
platforms = [ "i386-linux" "x86_64-linux" ];
license = lib.licenses.agpl3Plus;
mainProgram = "Sylk";
maintainers = with lib.maintainers; [ zimbatm ];
platforms = [ "i386-linux" "x86_64-linux" ];
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
};
}

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "tenv";
version = "2.0.3";
version = "2.0.7";
src = fetchFromGitHub {
owner = "tofuutils";
repo = "tenv";
rev = "v${version}";
hash = "sha256-Bx5E/vJe2SjYRJ2o3enBrzMMellRWapu99hH4HRr8nM=";
hash = "sha256-654ZaQ7KzAWEXwN9Xwzdmg4KsCCLCm+i2M0730gP/zM=";
};
vendorHash = "sha256-OrMCzqqOFQkI8IwcfO/JVPyd/sw+Ud0VySV7UPiucwc=";

View File

@ -3743,7 +3743,7 @@ dependencies = [
[[package]]
name = "tests"
version = "0.11.10"
version = "0.11.11"
dependencies = [
"insta",
"lsp-server",
@ -3840,7 +3840,7 @@ dependencies = [
[[package]]
name = "tinymist"
version = "0.11.10"
version = "0.11.11"
dependencies = [
"anyhow",
"async-trait",
@ -3891,7 +3891,7 @@ dependencies = [
[[package]]
name = "tinymist-query"
version = "0.11.10"
version = "0.11.11"
dependencies = [
"anyhow",
"biblatex",
@ -3935,7 +3935,7 @@ dependencies = [
[[package]]
name = "tinymist-render"
version = "0.11.10"
version = "0.11.11"
dependencies = [
"base64 0.22.1",
"log",
@ -4530,9 +4530,9 @@ dependencies = [
[[package]]
name = "typstyle"
version = "0.11.23"
version = "0.11.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb15ec2ba1f804eab4f8f2ae1bbbe8a7d2f882bb8acabaee0b101de46ee28c56"
checksum = "b08c00b01698330e3c46dd9454c3472e4107866de14fc52aeb1a55aa260bfc7b"
dependencies = [
"anyhow",
"clap",

View File

@ -13,13 +13,13 @@ rustPlatform.buildRustPackage rec {
pname = "tinymist";
# Please update the corresponding vscode extension when updating
# this derivation.
version = "0.11.10";
version = "0.11.11";
src = fetchFromGitHub {
owner = "Myriad-Dreamin";
repo = "tinymist";
rev = "refs/tags/v${version}";
hash = "sha256-lmT0da517dVaXGeObyCXZyte8DNBh+/vaqV7hA+SJR4=";
hash = "sha256-uXrV3tvv9fXoEdFH+ajHECfNy4uTvUZBkhkfzGzj3HE=";
};
cargoLock = {

View File

@ -1,13 +1,13 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "treefmt";
version = "2.0.0-rc4";
version = "2.0.0-rc5";
src = fetchFromGitHub {
owner = "numtide";
repo = "treefmt";
rev = "v${version}";
hash = "sha256-8l4d3ABd7XEu3ZrtBPS15N0zNHcb+A36j2EV/QZmA9U=";
hash = "sha256-Ckvpb2at7lg7AB0XNtIxeo8lWXX+04MVHHKoUs876dg=";
};
vendorHash = "sha256-rjdGNfR2DpLZCzL/+3xiZ7gGDd4bPyBT5qMCO+NyWbg=";

View File

@ -117,7 +117,7 @@ stdenv.mkDerivation (finalAttrs: {
cp -r dist/*unpacked/resources $out/opt/Vesktop/
for file in build/icon_*x32.png; do
file_suffix=''${file//icon_}
file_suffix=''${file//build\/icon_}
install -Dm0644 $file $out/share/icons/hicolor/''${file_suffix//x32.png}/apps/vesktop.png
done
''

View File

@ -0,0 +1,63 @@
{
lib,
autoreconfHook,
bison,
fetchFromGitLab,
flex,
pkg-config,
spirv-headers,
stdenv,
vulkan-headers,
vulkan-loader,
wine,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "vkd3d";
version = "1.12";
src = fetchFromGitLab {
domain = "gitlab.winehq.org";
owner = "wine";
repo = "vkd3d";
rev = "vkd3d-${finalAttrs.version}";
hash = "sha256-9FNuWtfJJqkSZ3O11G22aNp8PfseLHH4oyL6MulNwMY=";
};
outputs = [ "out" "dev" "lib" ];
nativeBuildInputs = [
autoreconfHook
bison
flex
pkg-config
wine
];
buildInputs = [
spirv-headers
vulkan-headers
vulkan-loader
];
strictDeps = true;
meta = {
homepage = "https://gitlab.winehq.org/wine/vkd3d";
description = "Direct3D to Vulkan translation library";
longDescription = ''
Vkd3d is a 3D graphics library built on top of Vulkan. It has an API very
similar, but not identical, to Direct3D 12.
Vkd3d can be used by projects that target Direct3D 12 as a drop-in
replacement at build-time with some modest source modifications.
If vkd3d is available when building Wine, then Wine will use it to support
Direct3D 12 applications.
'';
license = with lib.licenses; [ lgpl21Plus ];
mainProgram = "vkd3d-compiler";
maintainers = with lib.maintainers; [ AndersonTorres ];
inherit (wine.meta) platforms;
};
})

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "xplr";
version = "0.21.8";
version = "0.21.9";
src = fetchFromGitHub {
owner = "sayanarijit";
repo = pname;
rev = "v${version}";
sha256 = "sha256-GpGYCGXSCQhFEPDUnHaOdz0LZ0jjRcCRnRCyOrulDVs=";
sha256 = "sha256-0c2QJUEQwKEzzDBDP5XdX7xe1rivazsoZtepB4Dxp/c=";
};
cargoHash = "sha256-eCIoUUWHpFk+O5ipswwiQxf1H1ygkj07Sjyj4L8Ui6I=";
cargoHash = "sha256-RZgdWhVBZozYxbbNslCBLhN6EnogpyVXvht6GbzLnPs=";
# fixes `thread 'main' panicked at 'cannot find strip'` on x86_64-darwin
env = lib.optionalAttrs (stdenv.isx86_64 && stdenv.isDarwin) {

View File

@ -1,17 +0,0 @@
diff --git a/scripts/create_theme.py b/scripts/create_theme.py
index 074dc43..7e7a8eb 100644
--- a/scripts/create_theme.py
+++ b/scripts/create_theme.py
@@ -34,7 +34,11 @@ def create_theme(types: List[str], accents: List[str], dest: str, link: bool = F
os.chdir(work_dir)
subprocess.call("./build.sh", shell=True) # Rebuild all scss
subprocess.call(install_cmd, shell=True) # Install the theme globally for you
- subprocess.call("git reset --hard HEAD", shell=True) # reset colloid repo to original state
+ # subprocess.call("git reset --hard HEAD", shell=True) # reset colloid repo to original state
+ # recreate git reset
+ os.chdir(repo_dir)
+ shutil.rmtree("colloid")
+ shutil.copytree("colloid-base", "colloid")
try:
# Rename colloid generated files as per catppuccin

View File

@ -11,13 +11,13 @@
stdenvNoCC.mkDerivation rec {
pname = "mint-x-icons";
version = "1.6.8";
version = "1.6.9";
src = fetchFromGitHub {
owner = "linuxmint";
repo = pname;
rev = version;
hash = "sha256-cxBZsAcGgoIY9KhjR/BWnMcttrywN6qap4lu5b2hauo=";
hash = "sha256-J5Osy+VosyBhwiiwELMtjDTf3/J6DpuQ4c9DO06fo+4=";
};
propagatedBuildInputs = [

View File

@ -9,13 +9,13 @@
stdenvNoCC.mkDerivation rec {
pname = "mint-y-icons";
version = "1.7.5";
version = "1.7.6";
src = fetchFromGitHub {
owner = "linuxmint";
repo = pname;
rev = version;
hash = "sha256-ZStRvT0qP8W1RCSJoXZHMrECp6k8dh/18UvgmV87oNQ=";
hash = "sha256-baBacAatUP/jtU/SEVRa6HceGooMwI9N9arDWqPHR2Y=";
};
propagatedBuildInputs = [

View File

@ -8,13 +8,13 @@ let
pkg = self: stdenv.mkDerivation rec {
pname = "hex";
version = "2.0.6";
version = "2.1.1";
src = fetchFromGitHub {
owner = "hexpm";
repo = "hex";
rev = "v${version}";
sha256 = "sha256-fSADQDrqh5U/TdhaHXsMiLMk1wtQ0gEiTqEclJ2w2nY=";
sha256 = "sha256-pEfd2BqkVwZVbnka98MafJ/NRn94BHh+wM0i2Q5duTo=";
};
setupHook = writeText "setupHook.sh" ''

View File

@ -7,16 +7,17 @@
, libxml2
, libffi
, xar
, testers
}:
llvmPackages.stdenv.mkDerivation rec {
llvmPackages.stdenv.mkDerivation (finalAttrs: {
pname = "c3c";
version = "0.5.5";
src = fetchFromGitHub {
owner = "c3lang";
repo = pname;
rev = "refs/tags/${version}";
repo = "c3c";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-iOljE1BRVc92NJZj+nr1G6KkBTCwJEUOadXHUDNoPGk=";
};
@ -50,11 +51,18 @@ llvmPackages.stdenv.mkDerivation rec {
runHook postCheck
'';
passthru.tests = {
version = testers.testVersion {
package = finalAttrs.finalPackage;
};
};
meta = with lib; {
description = "Compiler for the C3 language";
homepage = "https://github.com/c3lang/c3c";
license = licenses.lgpl3Only;
maintainers = with maintainers; [ luc65r ];
platforms = platforms.all;
mainProgram = "c3c";
};
}
})

View File

@ -6,13 +6,15 @@
stdenv.mkDerivation rec {
pname = "ispc";
version = "1.23.0";
version = "1.24.0";
dontFixCmake = true; # https://github.com/NixOS/nixpkgs/pull/232522#issuecomment-2133803566
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-zixPt7YICCG0N8t1pcXEu/sPKCVLQVPCiJsQEqEXl+A=";
sha256 = "sha256-1Ns8w34fXgYrSu3XE89uowjaVoW3MOgKYV1Jb/XRj1Q=";
};
nativeBuildInputs = [ cmake which m4 bison flex python3 llvmPackages.libllvm.dev tbb ] ++ lib.lists.optionals stdenv.isDarwin [ xcode ];

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