mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-21 08:01:31 +00:00
Merge staging-next into staging
This commit is contained in:
7
doc/doc-support/header.html
Normal file
7
doc/doc-support/header.html
Normal file
@@ -0,0 +1,7 @@
|
||||
<div class="manual-header">
|
||||
<nav class="manual-header--tabs">
|
||||
<a class="manual-header--tab manual-header--tab-active" href="#">Nixpkgs</a>
|
||||
<a class="manual-header--tab" href="https://nixos.org/manual/nixos/stable/">NixOS</a>
|
||||
</nav>
|
||||
<span class="manual-header--title">Nixpkgs Manual</span>
|
||||
</div>
|
||||
@@ -119,6 +119,8 @@ stdenvNoCC.mkDerivation (
|
||||
--script ./anchor-use.js \
|
||||
--sidebar-depth 3 \
|
||||
--nav ./nav.json \
|
||||
--header ${./header.html}\
|
||||
--no-navheader \
|
||||
manual.md \
|
||||
out/index.html
|
||||
|
||||
|
||||
@@ -23,14 +23,14 @@ body {
|
||||
@media screen and (min-width: 992px) {
|
||||
.book,
|
||||
.appendix {
|
||||
max-width: 60rem;
|
||||
max-width: 55rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1200px) {
|
||||
.book,
|
||||
.appendix {
|
||||
max-width: 73rem;
|
||||
max-width: 55rem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -398,6 +398,7 @@ div.appendix .variablelist .term {
|
||||
|
||||
:root {
|
||||
--sidebar-width: 20rem;
|
||||
--header-height: 3rem;
|
||||
--background: #fff;
|
||||
--main-text-color: #000;
|
||||
--link-color: #405d99;
|
||||
@@ -528,7 +529,7 @@ nav.toc-sidebar summary {
|
||||
min-height: 0;
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
grid-template-rows: auto minmax(0, 1fr);
|
||||
grid-template-rows: var(--header-height) auto minmax(0, 1fr);
|
||||
}
|
||||
|
||||
body:has(> nav.toc-sidebar) {
|
||||
@@ -537,7 +538,7 @@ nav.toc-sidebar summary {
|
||||
|
||||
.navheader {
|
||||
grid-column: 1 / -1;
|
||||
grid-row: 1;
|
||||
grid-row: 2;
|
||||
}
|
||||
|
||||
nav.toc-sidebar {
|
||||
@@ -548,7 +549,7 @@ nav.toc-sidebar summary {
|
||||
/* */
|
||||
margin: 0;
|
||||
grid-column: 1;
|
||||
grid-row: 2;
|
||||
grid-row: 3;
|
||||
max-height: none;
|
||||
overflow-y: auto;
|
||||
border: none;
|
||||
@@ -562,7 +563,7 @@ nav.toc-sidebar summary {
|
||||
|
||||
main.content {
|
||||
grid-column: 1 / -1;
|
||||
grid-row: 2;
|
||||
grid-row: 3;
|
||||
overflow-y: auto;
|
||||
padding: 0 1rem;
|
||||
}
|
||||
@@ -571,3 +572,73 @@ nav.toc-sidebar summary {
|
||||
grid-column: 2;
|
||||
}
|
||||
}
|
||||
|
||||
.manual-header {
|
||||
background-color: var(--background);
|
||||
border-bottom: 0.0625rem solid #d8d8d8;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.manual-header--title {
|
||||
order: -1;
|
||||
padding: 0.5rem 1rem 0;
|
||||
font-size: 0.875rem;
|
||||
font-weight: 500;
|
||||
color: var(--small-heading-color);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.manual-header--tabs {
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
justify-content: space-around;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.manual-header--tab {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 1rem;
|
||||
font-size: 0.875rem;
|
||||
font-weight: 500;
|
||||
color: var(--main-text-color);
|
||||
text-decoration: none;
|
||||
border-bottom: 0.1875rem solid transparent;
|
||||
border-top: 0.1875rem solid transparent;
|
||||
transition: border-bottom-color 0.15s ease;
|
||||
}
|
||||
|
||||
.manual-header--tab:hover {
|
||||
border-bottom-color: var(--heading-color);
|
||||
color: var(--main-text-color);
|
||||
}
|
||||
|
||||
.manual-header--tab-active {
|
||||
border-bottom-color: var(--heading-color);
|
||||
color: var(--heading-color);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 768px) {
|
||||
.manual-header {
|
||||
height: var(--header-height);
|
||||
flex-direction: row;
|
||||
align-items: stretch;
|
||||
grid-column: 1 / -1;
|
||||
grid-row: 1;
|
||||
}
|
||||
|
||||
.manual-header--title {
|
||||
order: 0;
|
||||
margin-left: auto;
|
||||
padding: 0 1rem;
|
||||
align-self: center;
|
||||
}
|
||||
|
||||
.manual-header--tabs {
|
||||
justify-content: flex-start;
|
||||
padding: 0 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -202,6 +202,8 @@ rec {
|
||||
--script ./anchor.min.js \
|
||||
--script ./anchor-use.js \
|
||||
--sidebar-depth 2 \
|
||||
--header ${./header.html}\
|
||||
--no-navheader \
|
||||
./manual.md \
|
||||
$dst/${common.indexPath}
|
||||
|
||||
|
||||
7
nixos/doc/manual/header.html
Normal file
7
nixos/doc/manual/header.html
Normal file
@@ -0,0 +1,7 @@
|
||||
<div class="manual-header">
|
||||
<nav class="manual-header--tabs">
|
||||
<a class="manual-header--tab" href="https://nixos.org/manual/nixos/stable/">Nixpkgs</a>
|
||||
<a class="manual-header--tab manual-header--tab-active" href="#">NixOS</a>
|
||||
</nav>
|
||||
<span class="manual-header--title">Nixos Manual</span>
|
||||
</div>
|
||||
@@ -14,13 +14,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "play";
|
||||
version = "0-unstable-2026-06-22";
|
||||
version = "0-unstable-2026-07-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jpd002";
|
||||
repo = "Play-";
|
||||
rev = "1e4f393f3c52581cdec7867ddadc47f6b4d20cec";
|
||||
hash = "sha256-a02AsJg7mm/fUBN/5IC2Q6NexLYsBYp74bfqfJosaxc=";
|
||||
rev = "50aedca2639521bc498ace0b2be1ea012801a86a";
|
||||
hash = "sha256-ywqwy8HwxigRG/2GfvfpewNjTIeunXH9NtyAH5iUfa8=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -36,7 +36,10 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.10.2";
|
||||
# This is separated into its own file so it's easier for `update.sh`.
|
||||
sources = import ./sources.nix;
|
||||
|
||||
version = sources.version;
|
||||
|
||||
# JDK 21 is the toolchain required by docs/build.md. enableJavaFX is not
|
||||
# strictly required (Bisq bundles its own JavaFX jars), but mirrors the
|
||||
@@ -86,17 +89,17 @@ let
|
||||
publicKey = {
|
||||
"E222AA02" = fetchurl {
|
||||
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/E222AA02.asc";
|
||||
hash = "sha256-Ue/UmS6F440/ybEEIAR+pdPEIksAt6QSMN6G5TZVWzc=";
|
||||
hash = sources."key-E222AA02-hash";
|
||||
};
|
||||
|
||||
"4A133008" = fetchurl {
|
||||
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/4A133008.asc";
|
||||
hash = "sha256-UijG3DkJNNTakVJd2wl30mDepa27n6R/Xxfl4sjt0sk=";
|
||||
hash = sources."key-4A133008-hash";
|
||||
};
|
||||
|
||||
"387C8307" = fetchurl {
|
||||
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/387C8307.asc";
|
||||
hash = "sha256-PrRYZLT0xv82dUscOBgQGKNf6zwzWUDhriAffZbNpmI=";
|
||||
hash = sources."key-387C8307-hash";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -133,7 +136,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb";
|
||||
hash = "sha256-e7rPUhA6KF3Tz3zlYqEfM9G0owe9hAUFDifKseRvb6A=";
|
||||
hash = sources."deb-hash";
|
||||
|
||||
# Verify the upstream Debian package's detached PGP signature prior to use.
|
||||
# This ensures that a successful build of this Nix package requires the
|
||||
@@ -158,7 +161,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
signature = fetchurl {
|
||||
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb.asc";
|
||||
hash = "sha256-kBRaOXuP22DvXMkJ1XQatwvTmu/Ds8FvmUgYnRT7Vg0=";
|
||||
hash = sources."sig-hash";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -241,6 +244,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = {
|
||||
description = "Decentralized bitcoin exchange network (Bisq 1)";
|
||||
homepage = "https://bisq.network";
|
||||
|
||||
9
pkgs/by-name/bi/bisq1/sources.nix
Normal file
9
pkgs/by-name/bi/bisq1/sources.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
# Generated by ./update.sh - do not update manually!
|
||||
{
|
||||
version = "1.10.3";
|
||||
deb-hash = "sha256-kzLtadq8gfX6j9XU3PD5kNV43wLDoICPlXdJqULkAWE=";
|
||||
sig-hash = "sha256-+51j+SBp7buukop1T4Gz0YDUga6540BVxDRoU2YE3pY=";
|
||||
key-E222AA02-hash = "sha256-Ue/UmS6F440/ybEEIAR+pdPEIksAt6QSMN6G5TZVWzc=";
|
||||
key-4A133008-hash = "sha256-UijG3DkJNNTakVJd2wl30mDepa27n6R/Xxfl4sjt0sk=";
|
||||
key-387C8307-hash = "sha256-PrRYZLT0xv82dUscOBgQGKNf6zwzWUDhriAffZbNpmI=";
|
||||
}
|
||||
79
pkgs/by-name/bi/bisq1/update.sh
Executable file
79
pkgs/by-name/bi/bisq1/update.sh
Executable file
@@ -0,0 +1,79 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash --pure --keep GITHUB_TOKEN -p nix git curl cacert jq
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||
|
||||
# Fetch the latest release version from GitHub
|
||||
payload=$(curl -sL https://api.github.com/repos/bisq-network/bisq/releases/latest)
|
||||
version=$(jq -r .tag_name <<< "$payload" | sed 's/^v//')
|
||||
|
||||
echo "Updating bisq1 to version $version"
|
||||
|
||||
# URLs for the new version
|
||||
deb_url="https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb"
|
||||
sig_url="https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb.asc"
|
||||
|
||||
# Fetch and compute hashes using nix-prefetch-url and convert to SRI format
|
||||
echo "Prefetching .deb package..."
|
||||
deb_hash_raw=$(nix-prefetch-url "$deb_url" 2>/dev/null)
|
||||
deb_hash=$(nix --extra-experimental-features nix-command hash convert --to sri --hash-algo sha256 "$deb_hash_raw")
|
||||
echo " deb hash: $deb_hash"
|
||||
|
||||
echo "Prefetching signature..."
|
||||
sig_hash_raw=$(nix-prefetch-url "$sig_url" 2>/dev/null)
|
||||
sig_hash=$(nix --extra-experimental-features nix-command hash convert --to sri --hash-algo sha256 "$sig_hash_raw")
|
||||
echo " signature hash: $sig_hash"
|
||||
|
||||
# Fetch and compute hashes for public keys (these may not exist in all releases)
|
||||
get_key_hash() {
|
||||
local key_name=$1
|
||||
local url="https://github.com/bisq-network/bisq/releases/download/v${version}/${key_name}.asc"
|
||||
local hash_raw
|
||||
if hash_raw=$(nix-prefetch-url "$url" 2>/dev/null); then
|
||||
nix --extra-experimental-features nix-command hash convert --to sri --hash-algo sha256 "$hash_raw"
|
||||
else
|
||||
echo "" # Return empty if key doesn't exist
|
||||
fi
|
||||
}
|
||||
|
||||
echo "Prefetching public keys..."
|
||||
key_E222AA02_hash=$(get_key_hash "E222AA02")
|
||||
if [ -n "$key_E222AA02_hash" ]; then
|
||||
echo " E222AA02 hash: $key_E222AA02_hash"
|
||||
else
|
||||
echo " E222AA02: not found in this release, keeping old hash"
|
||||
key_E222AA02_hash=$(grep 'key-E222AA02-hash' sources.nix | sed 's/.*= "\(.*\)".*/\1/')
|
||||
fi
|
||||
|
||||
key_4A133008_hash=$(get_key_hash "4A133008")
|
||||
if [ -n "$key_4A133008_hash" ]; then
|
||||
echo " 4A133008 hash: $key_4A133008_hash"
|
||||
else
|
||||
echo " 4A133008: not found in this release, keeping old hash"
|
||||
key_4A133008_hash=$(grep 'key-4A133008-hash' sources.nix | sed 's/.*= "\(.*\)".*/\1/')
|
||||
fi
|
||||
|
||||
key_387C8307_hash=$(get_key_hash "387C8307")
|
||||
if [ -n "$key_387C8307_hash" ]; then
|
||||
echo " 387C8307 hash: $key_387C8307_hash"
|
||||
else
|
||||
echo " 387C8307: not found in this release, keeping old hash"
|
||||
key_387C8307_hash=$(grep 'key-387C8307-hash' sources.nix | sed 's/.*= "\(.*\)".*/\1/')
|
||||
fi
|
||||
|
||||
# Write sources.nix (only include keys that exist)
|
||||
cat >sources.nix <<EOF
|
||||
# Generated by ./update.sh
|
||||
{
|
||||
version = "$version";
|
||||
deb-hash = "$deb_hash";
|
||||
sig-hash = "$sig_hash";
|
||||
key-E222AA02-hash = "$key_E222AA02_hash";
|
||||
key-4A133008-hash = "$key_4A133008_hash";
|
||||
key-387C8307-hash = "$key_387C8307_hash";
|
||||
}
|
||||
EOF
|
||||
|
||||
echo "Updated sources.nix with version $version"
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bloop";
|
||||
version = "2.1.0";
|
||||
version = "2.1.1";
|
||||
|
||||
platform =
|
||||
if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64 then
|
||||
@@ -42,11 +42,11 @@ stdenv.mkDerivation rec {
|
||||
url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-${platform}";
|
||||
sha256 =
|
||||
if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64 then
|
||||
"sha256-yZEN3w2pvCmDRcvwE3KjUaJOVbUSDvVthMmlRSY2cSY="
|
||||
"sha256-F5wRihAwf/TNBSYortTCoK9qKqTI+1N5InJ+rqLFp8A="
|
||||
else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 then
|
||||
"sha256-U1rPA1h0xVjAsuDFfaFvy7n6L+yRNKgqS9OQYvZH8MM="
|
||||
"sha256-wQXAldzU6Typ6pZB8k3dfX7g+aaVF7jXvd0pnuk5gZU="
|
||||
else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then
|
||||
"sha256-1MO14ChMnn/cDSEl1qiwDhzgX3pQjsSN8ksp4WkPDMk="
|
||||
"sha256-OrONKbC2l0jjfmguDmoiyEaJWdTrKBiP0ZEa5rhizDM="
|
||||
else
|
||||
throw "unsupported platform";
|
||||
};
|
||||
|
||||
@@ -18,13 +18,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "context7-mcp";
|
||||
version = "3.2.2";
|
||||
version = "3.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "upstash";
|
||||
repo = "context7";
|
||||
tag = "${tag-prefix}@${finalAttrs.version}";
|
||||
hash = "sha256-v3zKMnZsc0gWVAdgZwFTskWcFVlOU6sG2i+qDwjx+dw=";
|
||||
hash = "sha256-yyz4UraRm1JR/C7J2ib0nBU6zsNpKCWIWduTu7OlebM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -23,13 +23,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "davmail";
|
||||
version = "6.8.0";
|
||||
version = "6.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mguessan";
|
||||
repo = "davmail";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-I5MQTxCU3SCIAj6Y6idJ9KbBRhvSbzZhZ9nY82BXM7k=";
|
||||
hash = "sha256-kIDAMVenUzc7tIC49yzc1MzqNa9B7nNlX1bzwpG8Vp0=";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
|
||||
@@ -29,13 +29,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dosbox-x";
|
||||
version = "2026.06.02";
|
||||
version = "2026.07.02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "joncampbell123";
|
||||
repo = "dosbox-x";
|
||||
rev = "dosbox-x-v${finalAttrs.version}";
|
||||
hash = "sha256-60ZMaevTqYjHq6WrhKVQ8T8kfrQV7Auy59y3JFMHi5w=";
|
||||
hash = "sha256-HO5JJQHeEJYXU7TtNCXZALgqkNbIMGI+TjDwbvs5L8w=";
|
||||
};
|
||||
|
||||
# sips is unavailable in sandbox, replacing with imagemagick breaks build due to wrong Foundation propagation(?) so don't generate resolution variants
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
|
||||
let
|
||||
# for update.sh easy to handle
|
||||
ngclientVersion = "0.0.225";
|
||||
ngclientRev = "b740ef00435af2066936f90d4cf284b5662c4bf9";
|
||||
ngclientHash = "sha256-X8ZhCmwfroIZWj3DjFq/InN+2zCOtHjEE1TyCXHNaIw=";
|
||||
ngclientVersion = "0.0.226";
|
||||
ngclientRev = "2cc3e2e088ddb4691bb389b0afa89287d399340e";
|
||||
ngclientHash = "sha256-uMWOunSaV9HNhgH65P2boangZFe/9NCRb5BBqXv9TI0=";
|
||||
|
||||
# from Duplicati/Server/webroot/ngclient/package.json
|
||||
ngclient = buildNpmPackage {
|
||||
@@ -30,7 +30,7 @@ let
|
||||
hash = ngclientHash;
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-DhP1gY965xNOj98s95LqSTCaqJt4YdFfbZ4bGp3o4cA=";
|
||||
npmDepsHash = "sha256-89l/1v8dncwImDgiQic2VN65K/dxIkEPCrsHCty2VV0=";
|
||||
|
||||
nativeBuildInputs = [ bun ];
|
||||
|
||||
@@ -58,15 +58,15 @@ let
|
||||
in
|
||||
buildDotnetModule rec {
|
||||
pname = "duplicati";
|
||||
version = "2.3.0.3";
|
||||
version = "2.3.0.4";
|
||||
channel = "stable";
|
||||
buildDate = "2026-06-10";
|
||||
buildDate = "2026-07-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "duplicati";
|
||||
repo = "duplicati";
|
||||
tag = "v${version}_${channel}_${buildDate}";
|
||||
hash = "sha256-vRD3pehsGznGesynrftns6F5md9Ej509A99Ug0IOPGk=";
|
||||
hash = "sha256-pVfcD7bIlZ/ZsMNwjPcg+DY6YFNm191ngEm5SrDukSw=";
|
||||
stripRoot = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -20,9 +20,20 @@ rustPlatform.buildRustPackage {
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# bugfix: fix missing_docs error
|
||||
# Needed to build with Rust 1.83+.
|
||||
name = "0001-bugfix-fix-missing-docs-error";
|
||||
url = "https://github.com/google/json5format/commit/32914546e7088b3d9173ae9a2f307effa87917bf.patch";
|
||||
hash = "sha256-kAbRUL/FuhnxkC9Xo4J2bXt9nkMOLeJvgMmOoKnSxKc=";
|
||||
})
|
||||
(fetchpatch {
|
||||
# Skip rewriting unchanged files with --replace
|
||||
# Unmerged upstream patch, ensures json5format is compatible with treefmt(-nix),
|
||||
# which is quite popular in the Nix ecosystem.
|
||||
name = "0002-skip-rewriting-unchanged-files";
|
||||
url = "https://github.com/google/json5format/commit/7bb67ff03529f6f0350d72b7a36839f20fe9d190.patch";
|
||||
hash = "sha256-ZY7Ck51/vHcRDQ5GEwOuMIF+QiYNGay3wbIvesmEl9k=";
|
||||
})
|
||||
];
|
||||
|
||||
cargoHash = "sha256-1CSt9dPVHdOqfQXio7/eXiDLWt+iOe6Qj+VtWblwSDE=";
|
||||
|
||||
@@ -19,16 +19,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "gelly";
|
||||
version = "1.9.0";
|
||||
version = "1.9.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Fingel";
|
||||
repo = "gelly";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-DIE+IjFpDG9kCEwN3XLlxYLWduGZ7G8LXjVDnl6pp1w=";
|
||||
hash = "sha256-WcnPNsFvQ/CqvAYxWeoAWZiJ62bOgLe8fGNeyh2B+8s=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-iOJMUyjqYBl5muWZCnKRRgpAf5lTPgANjohTHa1cfGY=";
|
||||
cargoHash = "sha256-0ZKW2xxjTn84mWBrK6zhw/uiOnd5sD+URu2O0a1TZW8=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchFromGitiles,
|
||||
makeWrapper,
|
||||
nix-update-script,
|
||||
python3,
|
||||
git,
|
||||
gnupg,
|
||||
@@ -13,13 +12,12 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "git-repo";
|
||||
version = "2.59";
|
||||
version = "2.65";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aosp-mirror";
|
||||
repo = "tools_repo";
|
||||
src = fetchFromGitiles {
|
||||
url = "https://android.googlesource.com/tools/repo";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-5ffk5B4ZA/Wy2bQNahFaXPFRSZdKz5t6TaGbN00mfxo=";
|
||||
hash = "sha256-ToJj5WS74vwCAX53UB5zgy1K54y1gNK+1d4qQLmp1L8=";
|
||||
};
|
||||
|
||||
# Fix 'NameError: name 'ssl' is not defined'
|
||||
@@ -57,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
updateScript = ./update.sh;
|
||||
};
|
||||
|
||||
meta = {
|
||||
@@ -70,7 +68,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
homepage = "https://android.googlesource.com/tools/repo";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ otavio ];
|
||||
maintainers = with lib.maintainers; [
|
||||
otavio
|
||||
ungeskriptet
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "repo";
|
||||
};
|
||||
|
||||
7
pkgs/by-name/gi/git-repo/update.sh
Executable file
7
pkgs/by-name/gi/git-repo/update.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p common-updater-scripts git
|
||||
set -euo pipefail
|
||||
latest_tag=$(list-git-tags --url="https://android.googlesource.com/tools/repo" | sort -V | tail -n1)
|
||||
latest_tag=${latest_tag##v}
|
||||
cd "$(git rev-parse --show-toplevel)"
|
||||
update-source-version git-repo "$latest_tag"
|
||||
@@ -9,7 +9,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.14.1";
|
||||
version = "1.14.2";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "libcpr";
|
||||
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
|
||||
owner = "libcpr";
|
||||
repo = "cpr";
|
||||
rev = version;
|
||||
hash = "sha256-kwbkdAeTpkEJbzvqpUQx007ZIBtwqOPG8n41TvFxeiM=";
|
||||
hash = "sha256-fglJNQzf+5c5nJysxqTxE4EWSQO0GVauLV8yLypQMPs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -2,26 +2,28 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
autoreconfHook,
|
||||
pkg-config,
|
||||
libvlc,
|
||||
meson,
|
||||
ninja,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libvlcpp";
|
||||
version = "0.1.0-unstable-2024-02-04";
|
||||
version = "0.1.0-unstable-2026-04-16";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "code.videolan.org";
|
||||
owner = "videolan";
|
||||
repo = "libvlcpp";
|
||||
rev = "44c1f48e56a66c3f418175af1e1ef3fd1ab1b118";
|
||||
hash = "sha256-nnS4DMz/2VciCrhOBGRb1+kDbxj+ZOnEtQmzs/TJ870=";
|
||||
rev = "33214afee13df36dc46309ef5416d681b56db5b9";
|
||||
hash = "sha256-PjJzFrvkmrTsBjzmEG6hNU8VzDlofQrdfTGFhxkVPWU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
autoreconfHook
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -13,9 +13,6 @@
|
||||
json_c,
|
||||
libvirt,
|
||||
|
||||
withVMIFS ? true,
|
||||
fuse,
|
||||
|
||||
legacyKVM ? false,
|
||||
libkvmi,
|
||||
|
||||
@@ -67,13 +64,11 @@ stdenv.mkDerivation {
|
||||
libvirt
|
||||
]
|
||||
++ lib.optionals xenSupport [ xen ]
|
||||
++ lib.optionals (!legacyKVM) [ libkvmi ]
|
||||
++ lib.optionals withVMIFS [ fuse ];
|
||||
++ lib.optionals (!legacyKVM) [ libkvmi ];
|
||||
|
||||
configureFlags =
|
||||
lib.optionals (!xenSupport) [ "--disable-xen" ]
|
||||
++ lib.optionals legacyKVM [ "--enable-kvm-legacy" ]
|
||||
++ lib.optionals withVMIFS [ "--enable-vmifs" ];
|
||||
++ lib.optionals legacyKVM [ "--enable-kvm-legacy" ];
|
||||
|
||||
# libvmi uses dlopen() for the xen libraries, however autoPatchelfHook doesn't work here
|
||||
postFixup = lib.optionalString xenSupport ''
|
||||
|
||||
@@ -4,37 +4,60 @@
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
qt6,
|
||||
yara-x,
|
||||
replxx,
|
||||
readline,
|
||||
pkg-config,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "maskromtool";
|
||||
version = "2024-08-18";
|
||||
version = "2026-07-04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "travisgoodspeed";
|
||||
repo = "maskromtool";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-iuCjAAVEKVwJuAgKITwkXGhKau2DVWhFQLPjp28tjIo=";
|
||||
hash = "sha256-QO2s+nGmf0XTq+PRcIqjEeuc6djzQv8TcJjlYYs/X5c=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# remove hardcoded PKG_CONFIG_PATH
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace-fail \
|
||||
'set(ENV{PKG_CONFIG_PATH} "c:/lib/pkgconfig;/usr/local/lib64")' \
|
||||
""
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "FETCHCONTENT_TRY_FIND_PACKAGE_MODE" "ALWAYS")
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qt6.qtbase
|
||||
qt6.qtcharts
|
||||
qt6.qttools
|
||||
yara-x
|
||||
replxx
|
||||
readline
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
qt6.wrapQtAppsHook
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "CAD tool for extracting bits from Mask ROM photographs";
|
||||
homepage = "https://github.com/travisgoodspeed/maskromtool";
|
||||
changelog = "https://github.com/travisgoodspeed/maskromtool/releases/tag/v${finalAttrs.version}";
|
||||
license = with lib.licenses; [
|
||||
beerware
|
||||
gpl1Plus
|
||||
];
|
||||
maintainers = with lib.maintainers; [ evanrichter ];
|
||||
mainProgram = "maskromtool";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -38,17 +38,17 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "matrix-continuwuity";
|
||||
version = "26.6.1";
|
||||
version = "26.6.2";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "forgejo.ellis.link";
|
||||
owner = "continuwuation";
|
||||
repo = "continuwuity";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-sfUxhBPf0P46Xf0lcZFDj23cuZ9apJDyTQPa97jlcSY=";
|
||||
hash = "sha256-GcCjJiUOGX+vF7R4IRgNQs8KpfVj+MXwnhofwSm6gpA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Qmw9Xum+Osu/4kbVqJP79gbtimpV2P7SkCMuQWyBYxg=";
|
||||
cargoHash = "sha256-p1Bz7op/qPogBn8bj9pQ7KjRhH2kZao8o0LPqWH2ZYo=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
gitUpdater,
|
||||
nixosTests,
|
||||
boost,
|
||||
@@ -12,6 +11,8 @@
|
||||
glib,
|
||||
glm,
|
||||
gtest,
|
||||
gtk4,
|
||||
gtk4-layer-shell,
|
||||
json_c,
|
||||
libevdev,
|
||||
libglvnd,
|
||||
@@ -29,31 +30,21 @@
|
||||
wasmedge,
|
||||
wayland,
|
||||
wayland-scanner,
|
||||
wrapGAppsHook4,
|
||||
yaml-cpp,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "miracle-wm";
|
||||
version = "0.9.1";
|
||||
version = "0.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "miracle-wm-org";
|
||||
repo = "miracle-wm";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-7JtdSopKBHfFK0KsV0+9OxrOx3vrSydmZSmAiBvKQiI=";
|
||||
hash = "sha256-htFgvXYgxQXV2U3F+tXEoaTb0udc2H1aHsIg5E8nRL8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "0001-miracle-wm-mir2.28.patch";
|
||||
url = "https://github.com/miracle-wm-org/miracle-wm/commit/0fcfb54c59327d0776f6e8074e885080731a95c4.patch";
|
||||
excludes = [
|
||||
".github/workflows/test-deb-install.yml"
|
||||
];
|
||||
hash = "sha256-HuXwPkM0whLFIy8HM6n9bG9I/DZOuzAajmDpJMZt9BQ=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace-fail 'DESTINATION lib' 'DESTINATION ''${CMAKE_INSTALL_LIBDIR}' \
|
||||
@@ -67,12 +58,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
makeWrapper
|
||||
pkg-config
|
||||
wayland-scanner
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
glib
|
||||
glm
|
||||
gtk4
|
||||
gtk4-layer-shell
|
||||
json_c
|
||||
libevdev
|
||||
libglvnd
|
||||
@@ -96,11 +90,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
checkInputs = [ gtest ];
|
||||
|
||||
# Manually wrapping the few binaries that needs it
|
||||
dontWrapGApps = true;
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "BUILD_DEBUG_OVERLAY" true)
|
||||
(lib.cmakeBool "BUILD_ERROR_REPORTER" true)
|
||||
(lib.cmakeBool "ENABLE_LTO" true)
|
||||
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
|
||||
# https://github.com/miracle-wm-org/miracle-wm/issues/865
|
||||
(lib.cmakeBool "FEATURE_PLUGIN_SYSTEM" false)
|
||||
(lib.cmakeBool "FEATURE_PLUGIN_SYSTEM" true)
|
||||
(lib.cmakeBool "SYSTEMD_INTEGRATION" true)
|
||||
(lib.cmakeBool "END_TO_END_TESTS" finalAttrs.finalPackage.doCheck)
|
||||
];
|
||||
@@ -119,6 +117,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
postFixup = ''
|
||||
patchShebangs $out/libexec/miracle-wm-session-setup
|
||||
|
||||
wrapProgram $out/libexec/miracle-wm-session-setup \
|
||||
--prefix PATH : "$out/bin:${
|
||||
lib.makeBinPath [
|
||||
@@ -127,6 +126,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
systemd # systemctl
|
||||
]
|
||||
}"
|
||||
|
||||
wrapGApp $out/bin/miracle-wm-basic-error-reporter
|
||||
wrapGApp $out/bin/miracle-wm-debug-overlay
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "multipath-tools";
|
||||
version = "0.14.1";
|
||||
version = "0.14.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "opensvc";
|
||||
repo = "multipath-tools";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-fkpBvadQAR+oiFeyar7flwL8N69RoWhwOaiYSwYCbXs=";
|
||||
hash = "sha256-uppx79+ZWazGM/QQ+8jeTogqXyHosiFfcnH2npiz7W0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -265,6 +265,8 @@ class HTMLParameters(NamedTuple):
|
||||
sidebar_depth: int
|
||||
media_dir: Path
|
||||
sidebar_open: frozenset[str] = frozenset()
|
||||
header: Path | None = None
|
||||
no_navheader: bool = False
|
||||
|
||||
class ManualHTMLRenderer(RendererMixin, HTMLRenderer):
|
||||
_base_path: Path
|
||||
@@ -344,7 +346,8 @@ class ManualHTMLRenderer(RendererMixin, HTMLRenderer):
|
||||
if toc.next:
|
||||
next_link = f'<link rel="next" href="{toc.next.target.href()}" title="{toc.next.target.title}" />'
|
||||
next_a = f'<a accesskey="n" href="{toc.next.target.href()}">Next</a>'
|
||||
if toc.prev or toc.parent or toc.next:
|
||||
# nav_header is not disabled
|
||||
if not self._html_params.no_navheader and (toc.prev or toc.parent or toc.next):
|
||||
nav_html = "\n".join([
|
||||
' <div class="navheader">',
|
||||
' <table width="100%" summary="Navigation header">',
|
||||
@@ -381,6 +384,10 @@ class ManualHTMLRenderer(RendererMixin, HTMLRenderer):
|
||||
});
|
||||
});
|
||||
"""
|
||||
header_content = ""
|
||||
if self._html_params.header:
|
||||
with open(self._html_params.header) as header_file:
|
||||
header_content = header_file.read()
|
||||
|
||||
return "\n".join([
|
||||
'<?xml version="1.0" encoding="utf-8" standalone="no"?>',
|
||||
@@ -406,6 +413,7 @@ class ManualHTMLRenderer(RendererMixin, HTMLRenderer):
|
||||
(' <button type="button" class="toc-toggle" popovertarget="manual-toc"'
|
||||
' popovertargetaction="toggle" aria-label="Toggle table of contents">'
|
||||
'☰</button>') if sidebar else "",
|
||||
header_content,
|
||||
nav_html,
|
||||
f' <nav id="manual-toc" class="toc-sidebar" popover="auto">{sidebar}</nav>' if sidebar else "",
|
||||
' <main class="content">',
|
||||
@@ -757,6 +765,9 @@ def _build_cli_html(p: argparse.ArgumentParser) -> None:
|
||||
p.add_argument('--chunk-toc-depth', nargs='?', action=_DeprecatedDepthFlag, default=None)
|
||||
p.add_argument('--section-toc-depth', nargs='?', action=_DeprecatedDepthFlag, default=None)
|
||||
# Positional
|
||||
p.add_argument('--no-navheader', default=False, action='store_true')
|
||||
p.add_argument('--header', type=Path,
|
||||
help='Inject any html fragment into the <body> as first child')
|
||||
p.add_argument('infile', type=Path)
|
||||
p.add_argument('outfile', type=Path)
|
||||
|
||||
@@ -774,7 +785,7 @@ def _run_cli_html(args: argparse.Namespace) -> None:
|
||||
md = HTMLConverter(
|
||||
args.revision,
|
||||
HTMLParameters(args.generator, args.stylesheet, args.script,
|
||||
args.sidebar_depth, args.media_dir, sidebar_open),
|
||||
args.sidebar_depth, args.media_dir, sidebar_open, args.header, args.no_navheader),
|
||||
json.load(manpage_urls), redirects)
|
||||
md.convert(args.infile, args.outfile)
|
||||
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
from nixos_render_docs.manual import HTMLConverter, HTMLParameters
|
||||
|
||||
SAMPLE_BOOK = "# Title {#book-title}\n## Subtitle\n"
|
||||
|
||||
def render(tmp_path: Path, header: Path | None) -> str:
|
||||
infile = tmp_path / "index.md"
|
||||
infile.write_text(SAMPLE_BOOK)
|
||||
outfile = tmp_path / "index.html"
|
||||
params = HTMLParameters("", [], [], 2, sidebar_open = [], media_dir=tmp_path, header = header)
|
||||
HTMLConverter("1.0.0", params, {}).convert(infile, outfile)
|
||||
return outfile.read_text()
|
||||
|
||||
|
||||
def test_html_header_injected_at_start_of_body(tmp_path: Path) -> None:
|
||||
fragment = '<header class="corp-nav">corporate navigation</header>'
|
||||
header = tmp_path / "header.html"
|
||||
header.write_text(fragment)
|
||||
|
||||
out = render(tmp_path, header)
|
||||
assert fragment in out
|
||||
# verify markers appear in this order
|
||||
assert out.index(" <body>") < out.index(fragment) < out.index('<main class="content">')
|
||||
|
||||
|
||||
def test_html_header_absent_when_not_given(tmp_path: Path) -> None:
|
||||
out = render(tmp_path, None)
|
||||
assert "corp-nav" not in out
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
version = "3.13.0";
|
||||
hash = "sha256-v6jk4MqoxcfK+yj+T31Ovqj1tyh3mc4aEr8BD0vjBOc=";
|
||||
version = "3.13.1";
|
||||
hash = "sha256-DtUdZp/o/tzLjiOZJ3duGqaLoNvkzulbL+wyLnY0dwA=";
|
||||
pnpmDepsHash = "sha256-Z1TYYZhELi+rIiuleN8xR/WiMn9TF4KotFMTOsR2e6Y=";
|
||||
vendorHash = "sha256-yvzQHfe7yd6Sjh1Vd2VxTp3jK8OWoKTmJ2uMyXX3+xs=";
|
||||
}
|
||||
|
||||
@@ -49,9 +49,22 @@ cat > "$SOURCE_NIX" <<-EOF
|
||||
}
|
||||
EOF
|
||||
|
||||
VENDOR_HASH=$(extractHash prometheus.goModules)
|
||||
# Resolve pnpm hash first: the Go integration pulls in the assets, so a fake
|
||||
# pnpmDepsHash makes that stage fail.
|
||||
PNPM_DEPS_HASH=$(extractHash prometheus.assets.pnpmDeps)
|
||||
|
||||
cat > "$SOURCE_NIX" <<-EOF
|
||||
{
|
||||
version = "$TARGET_VERSION";
|
||||
hash = "$PREFETCH_HASH";
|
||||
pnpmDepsHash = "$PNPM_DEPS_HASH";
|
||||
vendorHash = "$FAKE_HASH";
|
||||
}
|
||||
EOF
|
||||
|
||||
# Now do the Go module fetch.
|
||||
VENDOR_HASH=$(extractHash prometheus.goModules)
|
||||
|
||||
cat > "$SOURCE_NIX" <<-EOF
|
||||
{
|
||||
version = "$TARGET_VERSION";
|
||||
|
||||
@@ -9,27 +9,28 @@
|
||||
copyDesktopItems,
|
||||
dart-sass,
|
||||
makeWrapper,
|
||||
nodejs-slim_20,
|
||||
nodejs-slim_24,
|
||||
pkg-config,
|
||||
yarnConfigHook,
|
||||
|
||||
electron,
|
||||
electron_41,
|
||||
libsecret,
|
||||
sqlite,
|
||||
}:
|
||||
|
||||
let
|
||||
nodejs = nodejs-slim_20;
|
||||
electron = electron_41;
|
||||
nodejs = nodejs-slim_24;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "redisinsight";
|
||||
version = "3.4.2";
|
||||
version = "3.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "redis";
|
||||
repo = "RedisInsight";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-QV1xxpr8aMgkxWitJPVjXB/G2UaAYrV2wMM1FbltZpE=";
|
||||
hash = "sha256-YnBy++KshDVNw3p1gf7gHydQyyh03fkSULhnZsqZMxs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -42,21 +43,21 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
baseOfflineCache = fetchYarnDeps {
|
||||
name = "redisinsight-${finalAttrs.version}-base-offline-cache";
|
||||
inherit (finalAttrs) src patches;
|
||||
hash = "sha256-hU8/ycljmRxqQEx0neezQmJPaianJhL0IyVOJEfLy5o=";
|
||||
hash = "sha256-lfCasq3C0jD4wNpguxSOxwrR0Sx3ZfwK95Ib31TShSQ=";
|
||||
};
|
||||
|
||||
innerOfflineCache = fetchYarnDeps {
|
||||
name = "redisinsight-${finalAttrs.version}-inner-offline-cache";
|
||||
inherit (finalAttrs) src patches;
|
||||
postPatch = "cd redisinsight";
|
||||
hash = "sha256-s4JTgqXT+5P/C5e3/c30/VZHt8MRct3KViZOD1Fekqc=";
|
||||
hash = "sha256-vdBSquVsIeMh5eZMRxYdVz3iuhM27RgEtI6FZqjCP74=";
|
||||
};
|
||||
|
||||
apiOfflineCache = fetchYarnDeps {
|
||||
name = "redisinsight-${finalAttrs.version}-api-offline-cache";
|
||||
inherit (finalAttrs) src patches;
|
||||
postPatch = "cd redisinsight/api";
|
||||
hash = "sha256-GsdKJjQltpHKDZmGRF60M1TLTbnwyHt9e5ayrXgbFOU=";
|
||||
hash = "sha256-8u4igcegknwydNsVLcPv6E5/uwQJpwNWhIpCujfoXqk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -101,6 +102,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
npm rebuild --verbose --no-progress
|
||||
cd redisinsight
|
||||
npm rebuild --verbose --no-progress
|
||||
export npm_config_nodedir=${nodejs}
|
||||
cd api
|
||||
npm rebuild --verbose --no-progress
|
||||
cd ../..
|
||||
@@ -115,6 +117,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
substituteInPlace node_modules/sass/dist/lib/src/compiler-path.js \
|
||||
--replace-fail 'compilerCommand = (() => {' 'compilerCommand = (() => { return ["${lib.getExe dart-sass}"];'
|
||||
|
||||
yarn --cwd redisinsight/api generate:api-client
|
||||
yarn --offline build:prod
|
||||
|
||||
# TODO: Generate defaults. Currently broken because it requires network access.
|
||||
|
||||
@@ -14,18 +14,35 @@
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "thorium-reader";
|
||||
version = "3.3.0";
|
||||
version = "3.4.0";
|
||||
nodejs = nodejs_24;
|
||||
npmDepsHash = "sha256-UR2MSqmdJ79Fz7qjQRkCAwx2jdMn8KLWPzNSnnsb5Ak=";
|
||||
npmDepsHash = "sha256-IwdU77fRJJ7Ch5rWop3lFpf14XHklFDa8w6YJCFtJRU=";
|
||||
makeCacheWritable = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "edrlab";
|
||||
repo = "thorium-reader";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-2d5M9C/cLK2A8O3Ls0xEkT6H8tucVR7eivPi+82V7Zg=";
|
||||
hash = "sha256-h285GM7DKKD34Wjw6E+zSSIGkUH/UOesLrYD2EdQ7+U=";
|
||||
};
|
||||
|
||||
# The upstream `build` script re-runs `npm i` inside `dist/` to populate
|
||||
# `dist/node_modules` with the runtime subset declared in `src/package.json`.
|
||||
# This is bad (not reproducible), so we strip that segment from the `build`
|
||||
# script. This ends up not being an issue, since our build/install process
|
||||
# copies relevant dependencies anyways.
|
||||
patches = [ ./remove-dist-npm-install.patch ];
|
||||
|
||||
postBuild = ''
|
||||
# copy node modules manually
|
||||
cp -r node_modules dist/node_modules
|
||||
|
||||
# remove unnecessary npm deps
|
||||
pushd dist
|
||||
npm prune --production --ignore-scripts --offline --no-audit --no-fund
|
||||
popd
|
||||
'';
|
||||
|
||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
||||
# makeBinaryWrapper is required on Darwin since MacOS is confuses itself
|
||||
# into thinking it needs Rosetta 2 if it encounters a non-MachO executable
|
||||
|
||||
13
pkgs/by-name/th/thorium-reader/remove-dist-npm-install.patch
Normal file
13
pkgs/by-name/th/thorium-reader/remove-dist-npm-install.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/package.json b/package.json
|
||||
index d838331..073dfff 100644
|
||||
--- a/package.json
|
||||
+++ b/package.json
|
||||
@@ -25,7 +25,7 @@
|
||||
"_NOT_NEEDED_electron-build_": "npm rebuild --runtime=electron --target=41.1.1 --disturl=https://electronjs.org/headers --build-from-source",
|
||||
"_NOT_NEEDED_electron-build": "electron-rebuild --version=41.1.1 --disturl=https://electronjs.org/headers",
|
||||
"_NOT_NEEDED_rmDupeReactReduxTypes": "rimraf \"./node_modules/@types/react-redux/node_modules/@types/react\"",
|
||||
- "build": "cross-env NODE_ENV=production webpack --config webpack.config.js && ncp src/package.json dist/package.json && cd dist && rimraf node_modules && npm i --ignore-scripts --foreground-scripts && rimraf package-lock.json && cd ..",
|
||||
+ "build": "cross-env NODE_ENV=production webpack --config webpack.config.js && ncp src/package.json dist/package.json",
|
||||
"build:prod": "npm run lint && npm run build",
|
||||
"build:dev:main": "webpack --config webpack.config.main.js",
|
||||
"_NOT_NEEDED_build:dev:renderer:library": "webpack --config webpack.config.renderer-library.js",
|
||||
@@ -2,14 +2,12 @@
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitLab,
|
||||
fetchpatch,
|
||||
gitUpdater,
|
||||
nixosTests,
|
||||
testers,
|
||||
boost,
|
||||
cmake,
|
||||
cmake-extras,
|
||||
ctestCheckHook,
|
||||
doxygen,
|
||||
gst_all_1,
|
||||
gdk-pixbuf,
|
||||
@@ -37,13 +35,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lomiri-thumbnailer";
|
||||
version = "3.1.2";
|
||||
version = "3.1.3";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/lomiri-thumbnailer";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-6fQonYnOjxzHcM51VgCeL5OfsmThq9tNpGnMvNWrDXI=";
|
||||
hash = "sha256-bDSqLxYQYCnN5SngoZmYwJTL6qoWpZ9HVUQMiAVQxlE=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@@ -125,7 +123,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
]);
|
||||
|
||||
nativeCheckInputs = [
|
||||
ctestCheckHook
|
||||
shared-mime-info
|
||||
xvfb-run
|
||||
];
|
||||
@@ -147,17 +144,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||
|
||||
disabledTests = [
|
||||
# QSignalSpy tests in QML suite always fail, pass when running interactively
|
||||
"qml"
|
||||
]
|
||||
++ lib.optionals withQt6 [
|
||||
# https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/work_items/13
|
||||
"dbus"
|
||||
"lomiri-thumbnailer-qt6"
|
||||
"thumbnailer-admin"
|
||||
];
|
||||
|
||||
enableParallelChecking = false;
|
||||
|
||||
preCheck = ''
|
||||
|
||||
@@ -29,17 +29,17 @@
|
||||
}:
|
||||
|
||||
let
|
||||
withQt6 = lib.strings.versionAtLeast qtbase.version "6";
|
||||
withQt6 = lib.versions.major qtbase.version == "6";
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lomiri-url-dispatcher";
|
||||
version = "0.1.4";
|
||||
version = "0.1.5";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/lomiri-url-dispatcher";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-+3/C6z8wyiNSpt/eyMl+j/TGJW0gZ5T3Vd1NmghK67k=";
|
||||
hash = "sha256-Qg3nYg8SThm6lYp/TB81XW4yEM5NhzK3wPU8bB/g/ks=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@@ -81,7 +81,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
setuptools
|
||||
]
|
||||
++ lib.optionals finalAttrs.finalPackage.doCheck [
|
||||
fixtures
|
||||
python-dbusmock
|
||||
testtools
|
||||
]
|
||||
))
|
||||
wrapQtAppsHook
|
||||
@@ -103,6 +105,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeCheckInputs = [
|
||||
dbus
|
||||
dbus-test-runner
|
||||
sqlite
|
||||
];
|
||||
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bytecode";
|
||||
version = "0.17.0";
|
||||
version = "0.18.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vstinner";
|
||||
owner = "MatthieuDartiailh";
|
||||
repo = "bytecode";
|
||||
tag = version;
|
||||
hash = "sha256-AocS5Z4WkHTR+nO5/4B7oV/fb/ASG0aGrG/722Ioup0=";
|
||||
hash = "sha256-hjPjF7xC7v2dZ6espAcru2sb7/6AEb3D1MYO0ekzJds=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools-scm ];
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "genai-prices";
|
||||
version = "0.0.69";
|
||||
version = "0.0.71";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pydantic";
|
||||
repo = "genai-prices";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-kXS8+GcrcDPGxfIej18wSn/DdBzgf3mjFo/1QIOGwVM=";
|
||||
hash = "sha256-IFBdpXJ0AE3UNNqUlOrYMIgRGeB87BYbNqb4GvtJkl0=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/packages/python";
|
||||
|
||||
@@ -35,14 +35,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pandas-stubs";
|
||||
version = "2.3.3.260113";
|
||||
version = "3.0.3.260530";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pandas-dev";
|
||||
repo = "pandas-stubs";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-DJS3aG79IZowiTqHeOEgDdlH9Z1SXrbZ7yplCrFTtzw=";
|
||||
hash = "sha256-vPXz4ibNbFE2B14pkGPN5EDAwhA92VgFXzMLR9da6WQ=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
@@ -78,12 +78,19 @@ buildPythonPackage rec {
|
||||
# Missing dependencies, error and warning checks
|
||||
"test_all_read_without_lxml_dtype_backend" # pyarrow.orc
|
||||
"test_orc" # pyarrow.orc
|
||||
"test_iceberg" # pyiceberg
|
||||
"test_plotting" # UserWarning: No artists with labels found to put in legend.
|
||||
"test_spss" # FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0!
|
||||
"test_show_version"
|
||||
# FutureWarning: In the future `np.bool` will be defined as the corresponding...
|
||||
"test_timedelta_cmp"
|
||||
"test_timestamp_cmp"
|
||||
# DeprecationWarning: The 'generic' unit for NumPy timedelta is deprecated
|
||||
"test_timedelta_properties_methods"
|
||||
"test_sparse_dtype"
|
||||
"test_sparse_dtype_fill_value_subtype_compatibility"
|
||||
"test_isna"
|
||||
"test_timedelta_range"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"test_clipboard" # FileNotFoundError: [Errno 2] No such file or directory: 'pbcopy'
|
||||
|
||||
@@ -20,14 +20,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pydantic-ai-slim";
|
||||
version = "2.5.0";
|
||||
version = "2.8.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pydantic";
|
||||
repo = "pydantic-ai";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-SpWiFEN9wwBtKSRDKZ8buPvBiRU3cqjwTCLFkGKpeOs=";
|
||||
hash = "sha256-KwuhRZWGOofglR5SVsUOijtgYnhVV3Fc9DLtUwL+KSU=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/pydantic_ai_slim";
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pydantic-graph";
|
||||
version = "2.5.0";
|
||||
version = "2.8.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pydantic";
|
||||
repo = "pydantic-ai";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-SpWiFEN9wwBtKSRDKZ8buPvBiRU3cqjwTCLFkGKpeOs=";
|
||||
hash = "sha256-KwuhRZWGOofglR5SVsUOijtgYnhVV3Fc9DLtUwL+KSU=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/pydantic_graph";
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sabctools";
|
||||
version = "9.5.0";
|
||||
version = "9.6.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-x0+9GT/xs+EdX63qglTeuYE/z8cp/kOZmk6zd8MlAgQ=";
|
||||
hash = "sha256-7hiLzmhaB5btSw5OVWcGpWAvsnKKamybRvwDQMrdigM=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
Reference in New Issue
Block a user