Merge branch 'master' into staging-next

This commit is contained in:
Vladimír Čunát
2024-07-27 09:18:58 +02:00
196 changed files with 4463 additions and 2952 deletions
+1 -1
View File
@@ -94,7 +94,7 @@ jobs:
base=$(mktemp -d)
git worktree add "$base" "$(git rev-parse HEAD^1)"
echo "base=$base" >> "$GITHUB_ENV"
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
if: env.mergedSha
- name: Fetching the pinned tool
if: env.mergedSha
-4
View File
@@ -1,4 +0,0 @@
{
outputPath = "share/doc/nixpkgs";
indexPath = "manual.html";
}
+5 -195
View File
@@ -1,196 +1,6 @@
{ pkgs ? (import ./.. { }), nixpkgs ? { }}:
let
inherit (pkgs) lib;
inherit (lib) hasPrefix removePrefix;
fs = lib.fileset;
{
pkgs ? (import ./.. { }),
nixpkgs ? { },
}:
common = import ./common.nix;
lib-docs = import ./doc-support/lib-function-docs.nix {
inherit pkgs nixpkgs;
libsets = [
{ name = "asserts"; description = "assertion functions"; }
{ name = "attrsets"; description = "attribute set functions"; }
{ name = "strings"; description = "string manipulation functions"; }
{ name = "versions"; description = "version string functions"; }
{ name = "trivial"; description = "miscellaneous functions"; }
{ name = "fixedPoints"; baseName = "fixed-points"; description = "explicit recursion functions"; }
{ name = "lists"; description = "list manipulation functions"; }
{ name = "debug"; description = "debugging functions"; }
{ name = "options"; description = "NixOS / nixpkgs option handling"; }
{ name = "path"; description = "path functions"; }
{ name = "filesystem"; description = "filesystem functions"; }
{ name = "fileset"; description = "file set functions"; }
{ name = "sources"; description = "source filtering functions"; }
{ name = "cli"; description = "command-line serialization functions"; }
{ name = "generators"; description = "functions that create file formats from nix data structures"; }
{ name = "gvariant"; description = "GVariant formatted string serialization functions"; }
{ name = "customisation"; description = "Functions to customise (derivation-related) functions, derivatons, or attribute sets"; }
{ name = "meta"; description = "functions for derivation metadata"; }
{ name = "derivations"; description = "miscellaneous derivation-specific functions"; }
];
};
epub = pkgs.runCommand "manual.epub" {
nativeBuildInputs = with pkgs; [ libxslt zip ];
epub = ''
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="nixpkgs-manual">
<info>
<title>Nixpkgs Manual</title>
<subtitle>Version ${pkgs.lib.version}</subtitle>
</info>
<chapter>
<title>Temporarily unavailable</title>
<para>
The Nixpkgs manual is currently not available in EPUB format,
please use the <link xlink:href="https://nixos.org/nixpkgs/manual">HTML manual</link>
instead.
</para>
<para>
If you've used the EPUB manual in the past and it has been useful to you, please
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/237234">let us know</link>.
</para>
</chapter>
</book>
'';
passAsFile = [ "epub" ];
} ''
mkdir scratch
xsltproc \
--param chapter.autolabel 0 \
--nonet \
--output scratch/ \
${pkgs.docbook_xsl_ns}/xml/xsl/docbook/epub/docbook.xsl \
$epubPath
echo "application/epub+zip" > mimetype
zip -0Xq -b "$TMPDIR" "$out" mimetype
cd scratch && zip -Xr9D -b "$TMPDIR" "$out" *
'';
# NB: This file describes the Nixpkgs manual, which happens to use module
# docs infra originally developed for NixOS.
optionsDoc = pkgs.nixosOptionsDoc {
inherit (pkgs.lib.evalModules {
modules = [ ../pkgs/top-level/config.nix ];
class = "nixpkgsConfig";
}) options;
documentType = "none";
transformOptions = opt:
opt // {
declarations =
map
(decl:
if hasPrefix (toString ../..) (toString decl)
then
let subpath = removePrefix "/" (removePrefix (toString ../.) (toString decl));
in { url = "https://github.com/NixOS/nixpkgs/blob/master/${subpath}"; name = subpath; }
else decl)
opt.declarations;
};
};
in pkgs.stdenv.mkDerivation {
name = "nixpkgs-manual";
nativeBuildInputs = with pkgs; [
nixos-render-docs
];
src = fs.toSource {
root = ./.;
fileset = fs.unions [
(fs.fileFilter (file:
file.hasExt "md"
|| file.hasExt "md.in"
) ./.)
./style.css
./anchor-use.js
./anchor.min.js
./manpage-urls.json
];
};
postPatch = ''
ln -s ${optionsDoc.optionsJSON}/share/doc/nixos/options.json ./config-options.json
'';
pythonInterpreterTable = pkgs.callPackage ./doc-support/python-interpreter-table.nix {};
passAsFile = [ "pythonInterpreterTable" ];
buildPhase = ''
substituteInPlace ./languages-frameworks/python.section.md --subst-var-by python-interpreter-table "$(<"$pythonInterpreterTablePath")"
cat \
./functions/library.md.in \
${lib-docs}/index.md \
> ./functions/library.md
substitute ./manual.md.in ./manual.md \
--replace-fail '@MANUAL_VERSION@' '${pkgs.lib.version}'
mkdir -p out/media
mkdir -p out/highlightjs
cp -t out/highlightjs \
${pkgs.documentation-highlighter}/highlight.pack.js \
${pkgs.documentation-highlighter}/LICENSE \
${pkgs.documentation-highlighter}/mono-blue.css \
${pkgs.documentation-highlighter}/loader.js
cp -t out ./style.css ./anchor.min.js ./anchor-use.js
nixos-render-docs manual html \
--manpage-urls ./manpage-urls.json \
--revision ${pkgs.lib.trivial.revisionWithDefault (pkgs.rev or "master")} \
--stylesheet style.css \
--stylesheet highlightjs/mono-blue.css \
--script ./highlightjs/highlight.pack.js \
--script ./highlightjs/loader.js \
--script ./anchor.min.js \
--script ./anchor-use.js \
--toc-depth 1 \
--section-toc-depth 1 \
manual.md \
out/index.html
'';
installPhase = ''
dest="$out/${common.outputPath}"
mkdir -p "$(dirname "$dest")"
mv out "$dest"
mv "$dest/index.html" "$dest/${common.indexPath}"
cp ${epub} "$dest/nixpkgs-manual.epub"
mkdir -p $out/nix-support/
echo "doc manual $dest ${common.indexPath}" >> $out/nix-support/hydra-build-products
echo "doc manual $dest nixpkgs-manual.epub" >> $out/nix-support/hydra-build-products
'';
passthru.tests.manpage-urls = with pkgs; testers.invalidateFetcherByDrvHash
({ name ? "manual_check-manpage-urls"
, script
, urlsFile
}: runCommand name {
nativeBuildInputs = [
cacert
(python3.withPackages (p: with p; [
aiohttp
rich
structlog
]))
];
outputHash = "sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU="; # Empty output
} ''
python3 ${script} ${urlsFile}
touch $out
'') {
script = ./tests/manpage-urls.py;
urlsFile = ./manpage-urls.json;
};
}
pkgs.nixpkgs-manual.override { inherit nixpkgs; }
+54
View File
@@ -0,0 +1,54 @@
# To build this derivation, run `nix-build -A nixpkgs-manual.epub`
{
lib,
runCommand,
docbook_xsl_ns,
libxslt,
zip,
}:
runCommand "manual.epub"
{
nativeBuildInputs = [
libxslt
zip
];
epub = ''
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="nixpkgs-manual">
<info>
<title>Nixpkgs Manual</title>
<subtitle>Version ${lib.version}</subtitle>
</info>
<chapter>
<title>Temporarily unavailable</title>
<para>
The Nixpkgs manual is currently not available in EPUB format,
please use the <link xlink:href="https://nixos.org/nixpkgs/manual">HTML manual</link>
instead.
</para>
<para>
If you've used the EPUB manual in the past and it has been useful to you, please
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/237234">let us know</link>.
</para>
</chapter>
</book>
'';
passAsFile = [ "epub" ];
}
''
mkdir scratch
xsltproc \
--param chapter.autolabel 0 \
--nonet \
--output scratch/ \
${docbook_xsl_ns}/xml/xsl/docbook/epub/docbook.xsl \
$epubPath
echo "application/epub+zip" > mimetype
zip -0Xq -b "$TMPDIR" "$out" mimetype
cd scratch && zip -Xr9D -b "$TMPDIR" "$out" *
''
+106 -11
View File
@@ -1,23 +1,111 @@
# Generates the documentation for library functions via nixdoc.
# To build this derivation, run `nix-build -A nixpkgs-manual.lib-docs`
{
lib,
stdenvNoCC,
nixdoc,
nix,
nixpkgs ? { },
libsets ? [
{
name = "asserts";
description = "assertion functions";
}
{
name = "attrsets";
description = "attribute set functions";
}
{
name = "strings";
description = "string manipulation functions";
}
{
name = "versions";
description = "version string functions";
}
{
name = "trivial";
description = "miscellaneous functions";
}
{
name = "fixedPoints";
baseName = "fixed-points";
description = "explicit recursion functions";
}
{
name = "lists";
description = "list manipulation functions";
}
{
name = "debug";
description = "debugging functions";
}
{
name = "options";
description = "NixOS / nixpkgs option handling";
}
{
name = "path";
description = "path functions";
}
{
name = "filesystem";
description = "filesystem functions";
}
{
name = "fileset";
description = "file set functions";
}
{
name = "sources";
description = "source filtering functions";
}
{
name = "cli";
description = "command-line serialization functions";
}
{
name = "generators";
description = "functions that create file formats from nix data structures";
}
{
name = "gvariant";
description = "GVariant formatted string serialization functions";
}
{
name = "customisation";
description = "Functions to customise (derivation-related) functions, derivatons, or attribute sets";
}
{
name = "meta";
description = "functions for derivation metadata";
}
{
name = "derivations";
description = "miscellaneous derivation-specific functions";
}
],
}:
{ pkgs, nixpkgs, libsets }:
with pkgs;
stdenv.mkDerivation {
stdenvNoCC.mkDerivation {
name = "nixpkgs-lib-docs";
src = pkgs.lib.fileset.toSource {
src = lib.fileset.toSource {
root = ../..;
fileset = ../../lib;
};
buildInputs = [ nixdoc nix ];
buildInputs = [
nixdoc
nix
];
installPhase = ''
export NIX_STATE_DIR=$(mktemp -d)
nix-instantiate --eval --strict --json ${./lib-function-locations.nix} \
--arg nixpkgsPath "./." \
--argstr revision ${nixpkgs.rev or "master"} \
--argstr libsetsJSON ${pkgs.lib.escapeShellArg (builtins.toJSON libsets)} \
--argstr libsetsJSON ${lib.escapeShellArg (builtins.toJSON libsets)} \
> locations.json
function docgen {
@@ -39,9 +127,16 @@ stdenv.mkDerivation {
```{=include=} sections auto-id-prefix=auto-generated
EOF
${lib.concatMapStrings ({ name, baseName ? name, description }: ''
docgen ${name} ${baseName} ${lib.escapeShellArg description}
'') libsets}
${lib.concatMapStrings (
{
name,
baseName ? name,
description,
}:
''
docgen ${name} ${baseName} ${lib.escapeShellArg description}
''
) libsets}
echo '```' >> "$out/index.md"
'';
+28
View File
@@ -0,0 +1,28 @@
# To build this derivation, run `nix-build -A nixpkgs-manual.optionsDoc`
{ lib, nixosOptionsDoc }:
let
modules = lib.evalModules {
modules = [ ../../pkgs/top-level/config.nix ];
class = "nixpkgsConfig";
};
root = toString ../..;
transformDeclaration =
decl:
let
declStr = toString decl;
subpath = lib.removePrefix "/" (lib.removePrefix root declStr);
in
assert lib.hasPrefix root declStr;
{
url = "https://github.com/NixOS/nixpkgs/blob/master/${subpath}";
name = subpath;
};
in
nixosOptionsDoc {
inherit (modules) options;
documentType = "none";
transformOptions = opt: opt // { declarations = map transformDeclaration opt.declarations; };
}
+106
View File
@@ -0,0 +1,106 @@
# This file describes the Nixpkgs manual, which happens to use module docs infra originally
# developed for NixOS. To build this derivation, run `nix-build -A nixpkgs-manual`.
#
{
lib,
stdenvNoCC,
callPackage,
documentation-highlighter,
nixos-render-docs,
nixpkgs ? { },
}:
stdenvNoCC.mkDerivation (
finalAttrs:
let
inherit (finalAttrs.finalPackage.optionsDoc) optionsJSON;
inherit (finalAttrs.finalPackage) epub lib-docs pythonInterpreterTable;
in
{
name = "nixpkgs-manual";
nativeBuildInputs = [ nixos-render-docs ];
src = lib.fileset.toSource {
root = ../.;
fileset = lib.fileset.unions [
(lib.fileset.fileFilter (file: file.hasExt "md" || file.hasExt "md.in") ../.)
../style.css
../anchor-use.js
../anchor.min.js
../manpage-urls.json
];
};
postPatch = ''
ln -s ${optionsJSON}/share/doc/nixos/options.json ./config-options.json
'';
buildPhase = ''
substituteInPlace ./languages-frameworks/python.section.md \
--subst-var-by python-interpreter-table "$(<"${pythonInterpreterTable}")"
cat \
./functions/library.md.in \
${lib-docs}/index.md \
> ./functions/library.md
substitute ./manual.md.in ./manual.md \
--replace-fail '@MANUAL_VERSION@' '${lib.version}'
mkdir -p out/media
mkdir -p out/highlightjs
cp -t out/highlightjs \
${documentation-highlighter}/highlight.pack.js \
${documentation-highlighter}/LICENSE \
${documentation-highlighter}/mono-blue.css \
${documentation-highlighter}/loader.js
cp -t out ./style.css ./anchor.min.js ./anchor-use.js
nixos-render-docs manual html \
--manpage-urls ./manpage-urls.json \
--revision ${lib.trivial.revisionWithDefault (nixpkgs.rev or "master")} \
--stylesheet style.css \
--stylesheet highlightjs/mono-blue.css \
--script ./highlightjs/highlight.pack.js \
--script ./highlightjs/loader.js \
--script ./anchor.min.js \
--script ./anchor-use.js \
--toc-depth 1 \
--section-toc-depth 1 \
manual.md \
out/index.html
'';
installPhase = ''
dest="$out/share/doc/nixpkgs"
mkdir -p "$(dirname "$dest")"
mv out "$dest"
mv "$dest/index.html" "$dest/manual.html"
cp ${epub} "$dest/nixpkgs-manual.epub"
mkdir -p $out/nix-support/
echo "doc manual $dest manual.html" >> $out/nix-support/hydra-build-products
echo "doc manual $dest nixpkgs-manual.epub" >> $out/nix-support/hydra-build-products
'';
passthru = {
lib-docs = callPackage ./lib-function-docs.nix { inherit nixpkgs; };
epub = callPackage ./epub.nix { };
optionsDoc = callPackage ./options-doc.nix { };
pythonInterpreterTable = callPackage ./python-interpreter-table.nix { };
shell = callPackage ../../pkgs/tools/nix/web-devmode.nix {
buildArgs = "./.";
open = "/share/doc/nixpkgs/manual.html";
};
tests.manpage-urls = callPackage ../tests/manpage-urls.nix { };
};
}
)
+27 -26
View File
@@ -1,14 +1,15 @@
# For debugging, run in this directory:
# nix eval --impure --raw --expr 'import ./python-interpreter-table.nix {}'
{ pkgs ? (import ../.. { config = { }; overlays = []; }) }:
# To build this derivation, run `nix-build -A nixpkgs-manual.pythonInterpreterTable`
{
lib,
writeText,
pkgs,
pythonInterpreters,
}:
let
lib = pkgs.lib;
inherit (lib.attrsets) attrNames filterAttrs;
inherit (lib.lists) elem filter map naturalSort reverseList;
inherit (lib.strings) concatStringsSep;
isPythonInterpreter = name:
/* NB: Package names that don't follow the regular expression:
isPythonInterpreter =
name:
/*
NB: Package names that don't follow the regular expression:
- `python-cosmopolitan` is not part of `pkgs.pythonInterpreters`.
- `_prebuilt` interpreters are used for bootstrapping internally.
- `python3Minimal` contains python packages, left behind conservatively.
@@ -16,7 +17,8 @@ let
*/
(lib.strings.match "(pypy|python)([[:digit:]]*)" name) != null;
interpreterName = pname:
interpreterName =
pname:
let
cuteName = {
cpython = "CPython";
@@ -26,16 +28,16 @@ let
in
"${cuteName.${interpreter.implementation}} ${interpreter.pythonVersion}";
interpreters = reverseList (naturalSort (
filter isPythonInterpreter (attrNames pkgs.pythonInterpreters)
));
interpreters = lib.reverseList (
lib.naturalSort (lib.filter isPythonInterpreter (lib.attrNames pythonInterpreters))
);
aliases = pname:
attrNames (
filterAttrs (name: value:
isPythonInterpreter name
&& name != pname
&& interpreterName name == interpreterName pname
aliases =
pname:
lib.attrNames (
lib.filterAttrs (
name: value:
isPythonInterpreter name && name != pname && interpreterName name == interpreterName pname
) pkgs
);
@@ -45,18 +47,17 @@ let
interpreter = interpreterName pname;
}) interpreters;
toMarkdown = data:
toMarkdown =
data:
let
line = package: ''
| ${package.pname} | ${join ", " package.aliases or [ ]} | ${package.interpreter} |
| ${package.pname} | ${lib.concatStringsSep ", " package.aliases or [ ]} | ${package.interpreter} |
'';
in
join "" (map line data);
join = lib.strings.concatStringsSep;
lib.concatStringsSep "" (map line data);
in
''
writeText "python-interpreter-table.md" ''
| Package | Aliases | Interpeter |
|---------|---------|------------|
${toMarkdown result}
+3 -16
View File
@@ -1,20 +1,7 @@
let
pkgs = import ../. {
config = {};
overlays = [];
};
common = import ./common.nix;
inherit (common) outputPath indexPath;
web-devmode = import ../pkgs/tools/nix/web-devmode.nix {
inherit pkgs;
buildArgs = "./.";
open = "/${outputPath}/${indexPath}";
config = { };
overlays = [ ];
};
in
pkgs.mkShell {
packages = [
web-devmode
];
}
pkgs.nixpkgs-manual.shell
+32
View File
@@ -0,0 +1,32 @@
# To build this derivation, run `nix-build -A nixpkgs-manual.tests.manpage-urls`
{
lib,
runCommand,
invalidateFetcherByDrvHash,
cacert,
python3,
}:
invalidateFetcherByDrvHash (
{
name ? "manual_check-manpage-urls",
script ? ./manpage-urls.py,
urlsFile ? ../manpage-urls.json,
}:
runCommand name
{
nativeBuildInputs = [
cacert
(python3.withPackages (p: [
p.aiohttp
p.rich
p.structlog
]))
];
outputHash = "sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU="; # Empty output
}
''
python3 ${script} ${urlsFile}
touch $out
''
) { }
@@ -154,6 +154,8 @@
before changing the package to `pkgs.stalwart-mail` in
[`services.stalwart-mail.package`](#opt-services.stalwart-mail.package).
- The `nomad_1_5` package was dropped, as [it has reached end-of-life upstream](https://support.hashicorp.com/hc/en-us/articles/360021185113-Support-Period-and-End-of-Life-EOL-Policy). Evaluating it will throw an error.
- `androidndkPkgs` has been updated to `androidndkPkgs_26`.
- Android NDK version 26 and SDK version 33 are now the default versions used for cross compilation to android.
@@ -299,6 +301,9 @@
- `iproute2` now has libbpf support.
- `nix.channel.enable = false` no longer implies `nix.settings.nix-path = []`.
Since Nix 2.13, a `nix-path` set in `nix.conf` cannot be overriden by the `NIX_PATH` configuration variable.
## Detailed migration information {#sec-release-24.11-migration}
### `sound` options removal {#sec-release-24.11-migration-sound}
+6 -13
View File
@@ -1,20 +1,13 @@
let
pkgs = import ../../.. {
config = {};
overlays = [];
config = { };
overlays = [ ];
};
common = import ./common.nix;
inherit (common) outputPath indexPath;
web-devmode = import ../../../pkgs/tools/nix/web-devmode.nix {
inherit pkgs;
buildArgs = "../../release.nix -A manualHTML.${builtins.currentSystem}";
open = "/${outputPath}/${indexPath}";
};
in
pkgs.mkShell {
packages = [
web-devmode
];
}
pkgs.callPackage ../../../pkgs/tools/nix/web-devmode.nix {
buildArgs = "../../release.nix -A manualHTML.${builtins.currentSystem}";
open = "/${outputPath}/${indexPath}";
}
-2
View File
@@ -94,8 +94,6 @@ in
NIX_PATH = cfg.nixPath;
};
nix.settings.nix-path = mkIf (! cfg.channel.enable) (mkDefault "");
systemd.tmpfiles.rules = lib.mkIf cfg.channel.enable [
''f /root/.nix-channels - - - - ${config.system.defaultChannel} nixos\n''
];
+87
View File
@@ -58,9 +58,96 @@ in
modifiable properties.
'';
};
theme = {
package = lib.mkPackageOption pkgs "gnome-themes-extra" { } // {
description = ''
The package that provides the theme given in the name option.
'';
};
name = lib.mkOption {
type = lib.types.str;
default = "Adwaita";
description = ''
Name of the theme to use for regreet.
'';
};
};
iconTheme = {
package = lib.mkPackageOption pkgs "adwaita-icon-theme" { } // {
description = ''
The package that provides the icon theme given in the name option.
'';
};
name = lib.mkOption {
type = lib.types.str;
default = "Adwaita";
description = ''
Name of the icon theme to use for regreet.
'';
};
};
font = {
package = lib.mkPackageOption pkgs "cantarell-fonts" { } // {
description = ''
The package that provides the font given in the name option.
'';
};
name = lib.mkOption {
type = lib.types.str;
default = "Cantarell";
description = ''
Name of the font to use for regreet.
'';
};
size = lib.mkOption {
type = lib.types.ints.positive;
default = 16;
description = ''
Size of the font to use for regreet.
'';
};
};
cursorTheme = {
package = lib.mkPackageOption pkgs "adwaita-icon-theme" { } // {
description = ''
The package that provides the cursor theme given in the name option.
'';
};
name = lib.mkOption {
type = lib.types.str;
default = "Adwaita";
description = ''
Name of the cursor theme to use for regreet.
'';
};
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [
cfg.theme.package
cfg.iconTheme.package
cfg.cursorTheme.package
];
fonts.packages = [ cfg.font.package ];
programs.regreet.settings = {
cursor_theme_name = cfg.cursorTheme.name;
font_name = "${cfg.font.name} ${toString cfg.font.size}";
icon_theme_name = cfg.iconTheme.name;
theme_name = cfg.theme.name;
};
services.greetd = {
enable = lib.mkDefault true;
settings.default_session.command = lib.mkDefault "${pkgs.dbus}/bin/dbus-run-session ${lib.getExe pkgs.cage} ${lib.escapeShellArgs cfg.cageArgs} -- ${lib.getExe cfg.package}";
+7 -5
View File
@@ -45,7 +45,7 @@ let
{
BindReadOnlyPaths = [
"${cfg.configFile}:${env.RAD_HOME}/config.json"
"${if isPath cfg.publicKeyFile then cfg.publicKeyFile else pkgs.writeText "radicle.pub" cfg.publicKeyFile}:${env.RAD_HOME}/keys/radicle.pub"
"${if types.path.check cfg.publicKey then cfg.publicKey else pkgs.writeText "radicle.pub" cfg.publicKey}:${env.RAD_HOME}/keys/radicle.pub"
];
KillMode = "process";
StateDirectory = [ "radicle" ];
@@ -119,19 +119,21 @@ in
enable = mkEnableOption "Radicle Seed Node";
package = mkPackageOption pkgs "radicle-node" { };
privateKeyFile = mkOption {
type = with types; either path str;
type = types.path;
description = ''
SSH private key generated by `rad auth`.
Absolute file path to an SSH private key,
usually generated by `rad auth`.
If it contains a colon (`:`) the string before the colon
is taken as the credential name
and the string after as a path encrypted with `systemd-creds`.
'';
};
publicKeyFile = mkOption {
publicKey = mkOption {
type = with types; either path str;
description = ''
SSH public key generated by `rad auth`.
An SSH public key (as an absolute file path or directly as a string),
usually generated by `rad auth`.
'';
};
node = {
@@ -114,6 +114,13 @@ in
Collect PVE onboot status
'';
};
replication = mkOption {
type = types.bool;
default = true;
description = ''
Collect PVE replication info
'';
};
};
};
serviceOpts = {
@@ -128,6 +135,7 @@ in
--${optionalString (!cfg.collectors.cluster) "no-"}collector.cluster \
--${optionalString (!cfg.collectors.resources) "no-"}collector.resources \
--${optionalString (!cfg.collectors.config) "no-"}collector.config \
--${optionalString (!cfg.collectors.replication) "no-"}collector.replication \
${optionalString (cfg.server.keyFile != null) "--server.keyfile ${cfg.server.keyFile}"} \
${optionalString (cfg.server.certFile != null) "--server.certfile ${cfg.server.certFile}"} \
--config.file %d/configFile \
+1 -1
View File
@@ -23,7 +23,7 @@ let
assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a")
'';
}) args);
kernels = (removeAttrs pkgs.linuxKernel.vanillaPackages ["__attrsFailEvaluation"]) // {
kernels = pkgs.linuxKernel.vanillaPackages // {
inherit (pkgs.linuxKernel.packages)
linux_4_19_hardened
linux_5_4_hardened
+9
View File
@@ -44,6 +44,7 @@ let
};
plugins = with config.services.keycloak.package.plugins; [
keycloak-discord
keycloak-metrics-spi
];
};
environment.systemPackages = with pkgs; [
@@ -121,6 +122,14 @@ let
| jq -r '"Authorization: bearer " + .access_token' >admin_auth_header
""")
# Register the metrics SPI
keycloak.succeed(
"""${pkgs.jre}/bin/keytool -import -alias snakeoil -file ${certs.ca.cert} -storepass aaaaaa -keystore cacert.jks -noprompt""",
"""KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' kcadm.sh config credentials --server '${frontendUrl}' --realm master --user admin --password "$(<${adminPasswordFile})" """,
"""KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' kcadm.sh update events/config -s 'eventsEnabled=true' -s 'adminEventsEnabled=true' -s 'eventsListeners+=metrics-listener'""",
"""curl -sSf '${frontendUrl}/realms/master/metrics' | grep '^keycloak_admin_event_UPDATE'"""
)
# Publish the realm, including a test OIDC client and user
keycloak.succeed(
"curl -sSf -H @admin_auth_header -X POST -H 'Content-Type: application/json' -d @${realmDataJson} '${frontendUrl}/admin/realms/'"
+1 -2
View File
@@ -96,9 +96,8 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
cmd = "dbus-send --session --dest=org.pantheon.gala --print-reply /org/pantheon/gala org.pantheon.gala.PerformAction int32:1"
env = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus DISPLAY=:0"
machine.succeed(f"su - ${user.name} -c '{env} {cmd}'")
machine.sleep(3)
machine.sleep(5)
machine.screenshot("multitasking")
machine.succeed(f"su - ${user.name} -c '{env} {cmd}'")
with subtest("Check if gala has ever coredumped"):
machine.fail("coredumpctl --json=short | grep gala")
+1 -1
View File
@@ -66,7 +66,7 @@ in
services.radicle = {
enable = true;
privateKeyFile = seed-ssh-keys.snakeOilEd25519PrivateKey;
publicKeyFile = seed-ssh-keys.snakeOilEd25519PublicKey;
publicKey = seed-ssh-keys.snakeOilEd25519PublicKey;
node = {
openFirewall = true;
};
@@ -6,6 +6,7 @@
, wrapGAppsHook3
, pkg-config
, adwaita-icon-theme
, alsa-lib
, binutils
, glib
@@ -63,6 +64,12 @@ stdenv.mkDerivation rec {
buildFlags = [ "translations" ];
preFixup = ''
gappsWrapperArgs+=(
--prefix XDG_DATA_DIRS : "${adwaita-icon-theme}/share"
)
'';
meta = with lib; {
description = "Xournal++ is a handwriting Notetaking software with PDF annotation support";
homepage = "https://xournalpp.github.io/";
+2 -2
View File
@@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "far2l";
version = "2.6.2";
version = "2.6.3";
src = fetchFromGitHub {
owner = "elfmz";
repo = "far2l";
rev = "v_${version}";
sha256 = "sha256-rX+r5l6dOKZPeiOIdWVPlux5yu5TsuRNCfv3PmNvJWI=";
sha256 = "sha256-iWZQpLe+shdepCVOHZDp7QEQoqelbHGRJh09KWb6aD0=";
};
nativeBuildInputs = [ cmake ninja pkg-config m4 perl makeWrapper ];
+2 -2
View File
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "fetchmail";
version = "6.4.38";
version = "6.4.39";
src = fetchurl {
url = "mirror://sourceforge/fetchmail/fetchmail-${version}.tar.xz";
sha256 = "sha256-pstOqGOsYdJC/7LbVko5EjdhV40+QNcc57bykFvmCdk=";
sha256 = "sha256-dRCaHzB7U4FV+gX17ymOgpjLTerpWu0kwWs402/woYY=";
};
buildInputs = [ openssl python3 ];
@@ -8,13 +8,13 @@ let config-module = "github.com/f1bonacc1/process-compose/src/config";
in
buildGoModule rec {
pname = "process-compose";
version = "1.6.1";
version = "1.9.0";
src = fetchFromGitHub {
owner = "F1bonacc1";
repo = pname;
rev = "v${version}";
hash = "sha256-yFKqdUlfiMQbx3yJLD5/BJ8pecg5NRr64+HbUwsEOE4=";
hash = "sha256-vZYPbvMt0z08KoN75w3v9Vu0NcpcSz8WpX1CJeO1YbU=";
# 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;
@@ -43,7 +43,7 @@ buildGoModule rec {
installShellFiles
];
vendorHash = "sha256-c53Af0X/TUFsxpV4YE525uh+yLG/t2tSmQkr9ElziBM=";
vendorHash = "sha256-9tSNqdngkx2Tbb5m6UByu8Q+UYeWnwdGmm5De6ITw3k=";
doCheck = false;
@@ -2,14 +2,14 @@
buildGoModule rec {
pname = "ktop";
version = "0.3.6";
version = "0.3.7";
excludedPackages = [".ci"];
src = fetchFromGitHub {
owner = "vladimirvivien";
repo = pname;
rev = "v${version}";
hash = "sha256-nVZ1e/GKiJFTwuq5dPIzF4Jrv2DJ2wwWAiOn304hTA4=";
hash = "sha256-oxyEkDY53HjBgjWRajlcg+8Kx092lyLkPgOJleioO7o=";
};
vendorHash = "sha256-MLIcTHWo7lsqtAqH8naSvpS013t8KBVPRbch+CfeUNk=";
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kubectl-ktop";
version = "0.3.6";
version = "0.3.7";
src = fetchFromGitHub {
owner = "vladimirvivien";
repo = "ktop";
rev = "v${version}";
sha256 = "sha256-nVZ1e/GKiJFTwuq5dPIzF4Jrv2DJ2wwWAiOn304hTA4=";
sha256 = "sha256-oxyEkDY53HjBgjWRajlcg+8Kx092lyLkPgOJleioO7o=";
};
vendorHash = "sha256-MLIcTHWo7lsqtAqH8naSvpS013t8KBVPRbch+CfeUNk=";
@@ -1,6 +1,7 @@
{ lib
, buildGoModule
, buildGo121Module
, buildGo122Module
, fetchFromGitHub
, nixosTests
, installShellFiles
@@ -44,6 +45,8 @@ let
maintainers = with maintainers; [ rushmorem pradeepchhetri techknowlogick cottand ];
};
} // attrs');
throwUnsupportaed = version: "${version} is no longer supported upstream. You can switch to using a newer version of the nomad package, or revert to older nixpkgs if you cannot upgrade";
in
rec {
# Nomad never updates major go versions within a release series and is unsupported
@@ -54,19 +57,9 @@ rec {
nomad = nomad_1_7;
nomad_1_4 = throw "nomad_1_4 is no longer supported upstream. You can switch to using a newer version of the nomad package, or revert to older nixpkgs if you cannot upgrade";
nomad_1_4 = throwUnsupportaed "nomad_1_4";
nomad_1_5 = generic {
buildGoModule = buildGo121Module;
version = "1.5.15";
sha256 = "sha256-OFmGOU+ObA0+BS48y0ZyyxR+VI5DYL39peVKcyVHgGI=";
vendorHash = "sha256-Ds94lB43cyMNyRJZti0mZDWGTtSdwY31dDijfAUxR0I=";
license = lib.licenses.mpl20;
passthru.tests.nomad = nixosTests.nomad;
preCheck = ''
export PATH="$PATH:$NIX_BUILD_TOP/go/bin"
'';
};
nomad_1_5 = throwUnsupportaed "nomad_1_5";
nomad_1_6 = generic {
buildGoModule = buildGo121Module;
@@ -81,7 +74,7 @@ rec {
};
nomad_1_7 = generic {
buildGoModule = buildGo121Module;
buildGoModule = buildGo122Module;
version = "1.7.7";
sha256 = "sha256-4nuRheidR6rIoytrnDQdIP69f+sBLJ3Ias5DvqVaLFc=";
vendorHash = "sha256-ZuaD8iDsT+/eW0QUavf485R804Jtjl76NcQWYHA8QII=";
@@ -93,10 +86,10 @@ rec {
};
nomad_1_8 = generic {
buildGoModule = buildGo121Module;
version = "1.8.0";
sha256 = "sha256-j/9wvnxYhv6h344904cO2Fi6pNeSV5IfcqS4mSjDqpo=";
vendorHash = "sha256-jNdLLs/mfARl5Uk9RalwSDFLAKqIISEkek3l1wV8EYE=";
buildGoModule = buildGo122Module;
version = "1.8.2";
sha256 = "sha256-deVLC7yGgLHCauq+3h0Uu5ln5omoeV8/FkVtQM9CEXc=";
vendorHash = "sha256-Pr38tRzym8UFPZKs9367xOZJ9P5OHotwwClorcSgOys=";
license = lib.licenses.bsl11;
passthru.tests.nomad = nixosTests.nomad;
preCheck = ''
@@ -1,10 +1,12 @@
{ callPackage
, libsForQt5
, python311
}:
let
mkGui = args: callPackage (import ./gui.nix (args)) {
inherit (libsForQt5) wrapQtAppsHook;
python3 = python311;
};
mkServer = args: callPackage (import ./server.nix (args)) { };
+2 -1
View File
@@ -33,7 +33,8 @@ python3.pkgs.buildPythonApplication rec {
psutil
sentry-sdk
setuptools
sip4 (pyqt5.override { withWebSockets = true; })
sip
(pyqt5.override { withWebSockets = true; })
truststore
qt5.qtwayland
] ++ lib.optionals (pythonOlder "3.9") [
@@ -5,7 +5,7 @@ let
stable = "0.0.60";
ptb = "0.0.95";
canary = "0.0.455";
development = "0.0.23";
development = "0.0.24";
} else {
stable = "0.0.311";
ptb = "0.0.124";
@@ -29,7 +29,7 @@ let
};
development = fetchurl {
url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
hash = "sha256-dLHfiWih2e0pFVglQgViZ3As+fCPIfWHIgl5Nv34Iug=";
hash = "sha256-rSlGL2BwtUxLJltSD2Ms94qmZ4kuX5i9jFqyYC30jyQ=";
};
};
x86_64-darwin = {
@@ -642,5 +642,6 @@ in stdenv.mkDerivation (finalAttrs: {
license = licenses.lgpl3;
maintainers = with maintainers; [ raskin ];
platforms = platforms.linux;
mainProgram = "libreoffice";
};
})
+2 -2
View File
@@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "qlog";
version = "0.37.1";
version = "0.37.2";
src = fetchFromGitHub {
owner = "foldynl";
repo = "QLog";
rev = "v${version}";
hash = "sha256-ZIgKyPRTzlk6N23SmDEPNM8vXXh0FizXb9/WqtbmSCU=";
hash = "sha256-cphbM9dl+Ls2i3H5QjOugW0nXqa9bp5LpcnE9ACjqWM=";
fetchSubmodules = true;
};
@@ -10,12 +10,12 @@
}:
let
version = "3.8.1";
version = "3.8.2";
src = fetchFromGitHub {
owner = "openrefine";
repo = "openrefine";
rev = version;
hash = "sha256-MnFwFJdKIU7D8GQgnDvCO+P8r8h1Se/wmbt/Z3EX+3Q=";
hash = "sha256-3KCO9ooYN8PPVirU2wh7wu4feHqugc3JSXWR2aWIanE=";
};
npmPkg = buildNpmPackage {
@@ -53,7 +53,7 @@ in maven.buildMavenPackage {
mvnJdk = jdk;
mvnParameters = "-pl !packaging";
mvnHash = "sha256-FD4g0Mshz39N1h8MDAk907PhF5TguWTZ7AXKECHuhzQ=";
mvnHash = "sha256-AuZp+uq5bmb4gnzKvqXeTmBrsCT6qmJOrwtJq9iCkRQ=";
nativeBuildInputs = [ makeWrapper ];
File diff suppressed because it is too large Load Diff
@@ -47,7 +47,7 @@ let
owner = "facebook";
repo = "sapling";
rev = version;
hash = "sha256-uzev4x9jY6foop35z4dvUMIfjRtRqhNFDVFpagOosAc";
hash = "sha256-4pOpJ91esTSH90MvvMu74CnlLULLUawqxcniUeqnLwA=";
};
addonsSrc = "${src}/addons";
@@ -55,7 +55,7 @@ let
# Fetches the Yarn modules in Nix to to be used as an offline cache
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${addonsSrc}/yarn.lock";
sha256 = "sha256-3JFrVk78EiNVLLXkCFbuRnXwYHNfVv1pBPBS1yCHtPU";
sha256 = "sha256-jCtrflwDrwql6rY1ff1eXLKdwmnXhg5bCJPlCczBCIk=";
};
# Builds the NodeJS server that runs with `sl web`
@@ -78,11 +78,11 @@ let
yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress
patchShebangs node_modules
patchShebangs isl/node_modules
substituteInPlace build-tar.py \
--replace-fail 'run(yarn + ["--cwd", src_join(), "install", "--prefer-offline"])' 'pass'
# TODO: build-tar.py tries to run 'yarn install'. We patched
# shebangs node_modules, so we don't want 'yarn install'
# changing files. We should disable the 'yarn install' in
# build-tar.py to be safe.
${python3Packages.python}/bin/python3 build-tar.py \
--output isl-dist.tar.xz \
--yarn 'yarn --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress'
@@ -112,10 +112,10 @@ python3Packages.buildPythonApplication {
lockFile = ./Cargo.lock;
outputHashes = {
"abomonation-0.7.3+smallvec1" = "sha256-AxEXR6GC8gHjycIPOfoViP7KceM29p2ZISIt4iwJzvM=";
"cloned-0.1.0" = "sha256-mzAqjM8qovZAd4ZF0GDuD0Ns/UztAO1pAJhukuKc5a0=";
"fb303_core-0.0.0" = "sha256-x8I0Lty+sRclpkNMqTMc29J46z/vMsVwOUS3EX7Shes=";
"fbthrift-0.0.1+unstable" = "sha256-yTS1wkh8tETZ4K43V0G+TbkN5jgSlXT0endDPBHa1Ps=";
"serde_bser-0.3.1" = "sha256-vvMCa6mlcr+xazxZVl2bcF8/r+ufzZmiQ79KofZGWrA=";
"cloned-0.1.0" = "sha256-2BaNR/pQmR7pHtRf6VBQLcZgLHbj2JCxeX4auAB0efU=";
"fb303_core-0.0.0" = "sha256-PDGdKjR6KPv1uH1JSTeoG5Rs0ZkmNJLqqSXtvV3RWic=";
"fbthrift-0.0.1+unstable" = "sha256-J4REXGuLjHyN3SHilSWhMoqpRcn1QnEtsTsZF4Z3feU=";
"serde_bser-0.4.0" = "sha256-Su1IP3NzQu/87p/+uQaG8JcICL9hit3OV1O9oFiACsQ=";
};
};
postPatch = ''
+2 -2
View File
@@ -1,5 +1,5 @@
{
"links": [],
"version": "0.2.20240116-133042+8acecb66",
"versionHash": "11094621090461381576"
"version": "0.2.20240718-145624+f4e9df48",
"versionHash": "7014953821350190751"
}
+18 -9
View File
@@ -1,19 +1,25 @@
{ stdenv, lib, fetchurl, appimageTools, makeWrapper, electron, nixosTests }:
{
stdenv,
lib,
fetchurl,
appimageTools,
makeWrapper,
electron,
nixosTests,
}:
stdenv.mkDerivation rec {
pname = "freetube";
version = "0.21.1";
version = "0.21.2";
src = fetchurl {
url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage";
sha256 = "sha256-HAtOWa/2j8xIICz8BQcG9X4t5Wu+VjlpWUGcTVteeME=";
hash = "sha256-Mk8qHDiUs2Nd8APMR8q1wZhTtxyzRhBAeXew9ogC3nk=";
};
passthru.tests = nixosTests.freetube;
appimageContents = appimageTools.extractType2 {
inherit pname version src;
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
dontUnpack = true;
dontConfigure = true;
@@ -42,11 +48,14 @@ stdenv.mkDerivation rec {
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
'';
meta = with lib; {
meta = {
description = "Open Source YouTube app for privacy";
homepage = "https://freetubeapp.io/";
license = licenses.agpl3Only;
maintainers = with maintainers; [ ryneeverett alyaeanyx ];
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [
ryneeverett
alyaeanyx
];
inherit (electron.meta) platforms;
mainProgram = "freetube";
};
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "docker-buildx";
version = "0.16.0";
version = "0.16.1";
src = fetchFromGitHub {
owner = "docker";
repo = "buildx";
rev = "v${version}";
hash = "sha256-pEPm4NtuJeoULmESIZfWVW4jzS1eC6hUb5/62Tjsv0I=";
hash = "sha256-pD4drDX9jS6X6S2q/GaxODL1zVG++xGerDQiioONHII=";
};
doCheck = false;
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "docker-compose";
version = "2.29.0";
version = "2.29.1";
src = fetchFromGitHub {
owner = "docker";
repo = "compose";
rev = "v${version}";
hash = "sha256-nyfTVTxdByNccxRn3kyE+75dHWqIGl2PWkIoNo8O6DM=";
hash = "sha256-6GZtKfPBE9Wl6ccwU1OY+9rq+IZr2qpOB4Vlxidhisw=";
};
postPatch = ''
@@ -16,7 +16,7 @@ buildGoModule rec {
rm -rf e2e/
'';
vendorHash = "sha256-ACFHejd8EMh2/NfQBLj/DM9ewIgueFtHHFc81Skgkk4=";
vendorHash = "sha256-CkXCAqHOlSc3jHqVUYovT8YDnlCZewpLv3sC0ADgwL0=";
ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
@@ -5,7 +5,7 @@
fetchFromGitHub,
rustPlatform,
libiconv,
Security,
darwin,
openssl,
pkg-config,
nix-update-script,
@@ -13,16 +13,16 @@
rustPlatform.buildRustPackage rec {
pname = "agate";
version = "3.3.7";
version = "3.3.8";
src = fetchFromGitHub {
owner = "mbrubeck";
repo = "agate";
rev = "v${version}";
hash = "sha256-pNfTgkl59NTRDH+w23P49MUWzIXh5ElnJitMEYfsBnc=";
hash = "sha256-HK4ZTpRe6dEvBnjZLisSGXJmD5gTPEnf6f/gN0AHUsI=";
};
cargoHash = "sha256-RuSvweZhPWS2C2lwncxWAW2XLQN6+bAslv3p4IwQ2BA=";
cargoHash = "sha256-yRCH4TRZ3m7ZG/NAEi1YDisSoad6FxCyojtXVvwbU9w=";
nativeBuildInputs = [ pkg-config ];
@@ -30,7 +30,7 @@ rustPlatform.buildRustPackage rec {
[ openssl ]
++ lib.optionals stdenv.isDarwin [
libiconv
Security
darwin.apple_sdk.frameworks.Security
];
doInstallCheck = true;
+77 -25
View File
@@ -1,40 +1,92 @@
{ lib
, fetchurl
, appimageTools
, makeWrapper
{
lib,
stdenv,
fetchurl,
appimageTools,
makeWrapper,
autoPatchelfHook,
libgcc,
appVariants ? [ ],
}:
let
pname = "caido";
version = "0.33.0";
src = fetchurl {
appVariantList = [
"cli"
"desktop"
];
version = "0.39.0";
cli = fetchurl {
url = "https://storage.googleapis.com/caido-releases/v${version}/caido-cli-v${version}-linux-x86_64.tar.gz";
hash = "sha256-I8UF2rzIKfpcrxyvDa4AReWDIHOKTCj3ERaWhG1xGG0=";
};
desktop = fetchurl {
url = "https://storage.googleapis.com/caido-releases/v${version}/caido-desktop-v${version}-linux-x86_64.AppImage";
hash = "sha256-MUQ1tVcIpLrC2RKsWDqv8MBGaHfh56OxIC/ARArQjiU=";
hash = "sha256-KYQck2+YYPLJN3L6qchacjyVyyXR3nmJDTX5GPB4WvI=";
};
appimageContents = appimageTools.extractType2 {
inherit pname version;
src = desktop;
};
appimageContents = appimageTools.extractType2 { inherit pname src version; };
in appimageTools.wrapType2 {
inherit pname src version;
wrappedDesktop = appimageTools.wrapType2 {
src = desktop;
inherit pname version;
extraPkgs = pkgs: [ pkgs.libthai ];
extraPkgs = pkgs: [ pkgs.libthai ];
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/caido.desktop -t $out/share/applications
install -m 444 -D ${appimageContents}/caido.png \
$out/share/icons/hicolor/512x512/apps/caido.png
source "${makeWrapper}/nix-support/setup-hook"
wrapProgram $out/bin/${pname} \
--set WEBKIT_DISABLE_COMPOSITING_MODE 1
'';
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/caido.desktop -t $out/share/applications
install -m 444 -D ${appimageContents}/caido.png \
$out/share/icons/hicolor/512x512/apps/caido.png
source "${makeWrapper}/nix-support/setup-hook"
wrapProgram $out/bin/caido \
--set WEBKIT_DISABLE_COMPOSITING_MODE 1
'';
};
meta = with lib; {
wrappedCli = stdenv.mkDerivation {
src = cli;
inherit pname version;
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [ libgcc ];
sourceRoot = ".";
installPhase = ''
runHook preInstall
install -m755 -D caido-cli $out/bin/caido-cli
'';
};
meta = {
description = "Lightweight web security auditing toolkit";
homepage = "https://caido.io/";
changelog = "https://github.com/caido/caido/releases/tag/v${version}";
license = licenses.unfree;
maintainers = with maintainers; [ octodi ];
mainProgram = "caido";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [
octodi
d3vil0p3r
];
platforms = [ "x86_64-linux" ];
};
}
in
lib.checkListOfEnum "${pname}: appVariants" appVariantList appVariants (
if appVariants == [ "desktop" ] then
wrappedDesktop
else if appVariants == [ "cli" ] then
wrappedCli
else
stdenv.mkDerivation {
inherit pname version meta;
dontUnpack = true;
installPhase = ''
mkdir -p $out/bin
ln -s ${wrappedDesktop}/bin/caido $out/bin/caido
ln -s ${wrappedCli}/bin/caido-cli $out/bin/caido-cli
'';
}
)
+3 -3
View File
@@ -9,7 +9,7 @@
}:
let
version = "2024.6.0";
version = "2024.6.1";
# nix version of install-onlyoffice.sh
# a later version could rebuild from sdkjs/web-apps as per
# https://github.com/cryptpad/onlyoffice-builds/blob/main/build.sh
@@ -68,10 +68,10 @@ buildNpmPackage {
owner = "cryptpad";
repo = "cryptpad";
rev = version;
hash = "sha256-huIhhnjatkaVfm1zDeqi88EX/nAUBQ0onPNOwn7hrX4=";
hash = "sha256-qwyXpTY8Ds7R5687PVGZa/rlEyrAZjNzJ4+VQZpF8v0=";
};
npmDepsHash = "sha256-Oh1fBvP7OXC+VDiH3D+prHmi8pRrxld06n30sqw5apY=";
npmDepsHash = "sha256-GSTPsXqe/rxiDh5OW2t+ZY1YRNgRSDxkJ0pvcLIFtFw=";
nativeBuildInputs = [
makeBinaryWrapper
@@ -0,0 +1,15 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 43636fa9b9...e8da76c480 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -208,10 +208,6 @@
# For CI runners to run tests, the following custom target serves to perform the download automatically.
# If the directory "test-data" has already been created, the target becomes a "no-op".
#
- add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/test-data
- COMMENT "Checkout unit-test data repository. Please wait..."
- COMMAND git
- ARGS clone https://invent.kde.org/graphics/digikam-test-data.git ${CMAKE_SOURCE_DIR}/test-data)
add_custom_target(test-data ALL DEPENDS ${CMAKE_SOURCE_DIR}/test-data)
endif()
+159 -106
View File
@@ -1,149 +1,202 @@
{ stdenv, config, lib, fetchurl, cmake, doxygen, extra-cmake-modules, wrapGAppsHook3
{
stdenv,
config,
lib,
fetchFromGitLab,
fetchgit,
# For `digitaglinktree`
, perl, sqlite
cmake,
ninja,
extra-cmake-modules,
flex,
bison,
wrapGAppsHook3,
, libsForQt5
opencv,
libtiff,
libpng,
libjpeg,
libheif,
libjxl,
boost,
lcms2,
expat,
exiv2,
libxml2,
libxslt,
ffmpeg,
jasper,
eigen,
lensfun,
liblqr1,
libgphoto2,
libusb1,
imagemagick,
x265,
libGLX,
libGLU,
, bison
, boost
, eigen
, exiv2
, ffmpeg_4
, flex
, graphviz
, imagemagick
, lcms2
, lensfun
, libgphoto2
, liblqr1
, libusb1
, libheif
, libGL
, libGLU
, opencv
, pcre
, x265
, jasper
kdePackages,
, bash
# For panorama and focus stacking
, enblend-enfuse
, hugin
, gnumake
# For `digitaglinktree`
perl,
sqlite,
, cudaSupport ? config.cudaSupport
, cudaPackages ? {}
runtimeShell,
# For panorama and focus stacking
enblend-enfuse,
hugin,
gnumake,
}:
stdenv.mkDerivation rec {
pname = "digikam";
version = "8.3.0";
src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/digiKam-${version}-1.tar.xz";
hash = "sha256-BbFF/38vIAX6IbxXnBUqsjyBkbZ4/ylEyPBAbWud5tg=";
let
testData = fetchgit {
url = "https://invent.kde.org/graphics/digikam-test-data.git";
rev = "d02dd20b23cc279792325a0f03d21688547a7a59";
fetchLFS = true;
hash = "sha256-SvsmcniDRorwu9x9OLtHD9ftgquyoE5Kl8qDgqi1XdQ=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "digikam";
version = "8.4.0";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "graphics";
repo = "digikam";
rev = "v${finalAttrs.version}";
hash = "sha256-GJYlxJkvFEXppVk0yC9ojszylfAGt3eBMAjNUu60XDY=";
};
patches = [ ./disable-tests-download.patch ];
strictDeps = true;
depsBuildBuild = [ cmake ];
nativeBuildInputs = [
cmake
doxygen
ninja
extra-cmake-modules
libsForQt5.kdoctools
libsForQt5.wrapQtAppsHook
flex
bison
kdePackages.wrapQtAppsHook
wrapGAppsHook3
] ++ lib.optionals cudaSupport (with cudaPackages; [
cuda_nvcc
]);
];
# Based on <https://www.digikam.org/api/index.html#externaldeps>,
# but it doesnt have everything, so you also have to check the
# CMake files…
#
# We list nonQt dependencies first to override Qts propagated
# build inputs.
buildInputs = [
bison
boost
eigen
exiv2
ffmpeg_4
flex
graphviz
imagemagick
lcms2
lensfun
libgphoto2
libheif
liblqr1
libusb1
libGL
libGLU
opencv
pcre
x265
libtiff
libpng
# TODO: Figure out how on earth to get it to pick up libjpeg8 for
# lossy DNG support.
libjpeg
libheif
libjxl
boost
lcms2
expat
exiv2
libxml2
libxslt
# Qt WebEngine uses and propagates FFmpeg, and if its a
# different version it causes linker warnings.
#ffmpeg
jasper
] ++ (with libsForQt5; [
libkipi
libksane
libqtav
eigen
lensfun
liblqr1
libgphoto2
libusb1
imagemagick
x265
libGLX
libGLU
qtbase
qtxmlpatterns
qtsvg
qtwebengine
qtnetworkauth
kdePackages.qtbase
kdePackages.qtnetworkauth
kdePackages.qtscxml
kdePackages.qtsvg
kdePackages.qtwebengine
kdePackages.qt5compat
kdePackages.qtmultimedia
akonadi-contacts
kcalendarcore
kconfigwidgets
kcoreaddons
kfilemetadata
knotifications
knotifyconfig
ktextwidgets
kwidgetsaddons
kxmlgui
kdePackages.kconfig
kdePackages.kxmlgui
kdePackages.ki18n
kdePackages.kwindowsystem
kdePackages.kservice
kdePackages.solid
kdePackages.kcoreaddons
kdePackages.knotifyconfig
kdePackages.knotifications
kdePackages.threadweaver
kdePackages.kiconthemes
kdePackages.kfilemetadata
kdePackages.kcalendarcore
kdePackages.kio
kdePackages.sonnet
# libksane and akonadi-contacts do not yet work when building for
# Qt 6.
];
breeze-icons
marble
oxygen
threadweaver
]) ++ lib.optionals cudaSupport (with cudaPackages; [
cuda_cudart
]);
checkInputs = [ kdePackages.qtdeclarative ];
postConfigure = lib.optionalString finalAttrs.doCheck ''
ln -s ${testData} $cmakeDir/test-data
'';
postPatch = ''
substituteInPlace \
core/dplugins/bqm/custom/userscript/userscript.cpp \
core/utilities/import/backend/cameracontroller.cpp \
--replace-fail \"/bin/bash\" \"${lib.getExe bash}\"
--replace-fail '"/bin/bash"' ${lib.escapeShellArg "\"${runtimeShell}\""}
'';
cmakeFlags = [
"-DENABLE_MYSQLSUPPORT=1"
"-DENABLE_INTERNALMYSQL=1"
"-DENABLE_MEDIAPLAYER=1"
"-DENABLE_QWEBENGINE=on"
"-DENABLE_APPSTYLES=on"
"-DCMAKE_CXX_FLAGS=-I${libsForQt5.libksane}/include/KF5" # fix `#include <ksane_version.h>`
(lib.cmakeBool "BUILD_WITH_QT6" true)
(lib.cmakeBool "ENABLE_KFILEMETADATASUPPORT" true)
#(lib.cmakeBool "ENABLE_AKONADICONTACTSUPPORT" true)
(lib.cmakeBool "ENABLE_MEDIAPLAYER" true)
(lib.cmakeBool "ENABLE_APPSTYLES" true)
];
# Tests segfault for some reason…
# TODO: Get them working.
doCheck = false;
dontWrapGApps = true;
preFixup = ''
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
qtWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ gnumake hugin enblend-enfuse ]})
qtWrapperArgs+=(--suffix DK_PLUGIN_PATH : ${placeholder "out"}/${libsForQt5.qtbase.qtPluginPrefix}/${pname})
qtWrapperArgs+=(--prefix PATH : ${
lib.makeBinPath [
gnumake
hugin
enblend-enfuse
]
})
qtWrapperArgs+=(--suffix DK_PLUGIN_PATH : ${placeholder "out"}/${kdePackages.qtbase.qtPluginPrefix}/digikam)
substituteInPlace $out/bin/digitaglinktree \
--replace "/usr/bin/perl" "${perl}/bin/perl" \
--replace "/usr/bin/sqlite3" "${sqlite}/bin/sqlite3"
'';
meta = with lib; {
description = "Photo Management Program";
license = licenses.gpl2;
homepage = "https://www.digikam.org";
maintainers = with maintainers; [ ];
platforms = platforms.linux;
meta = {
description = "Photo management application";
homepage = "https://www.digikam.org/";
changelog = "${finalAttrs.src.meta.homepage}-/blob/master/project/NEWS.${finalAttrs.version}";
sourceProvenance = [ lib.sourceTypes.fromSource ];
license = lib.licenses.gpl2Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
mainProgram = "digikam";
};
}
})
+3 -3
View File
@@ -10,19 +10,19 @@
rustPlatform.buildRustPackage rec {
pname = "downonspot";
version = "0.5.0";
version = "0.5.1";
src = fetchFromGitHub {
owner = "oSumAtrIX";
repo = "DownOnSpot";
rev = "refs/tags/v${version}";
hash = "sha256-PA11R/hVAmismayE8uU03P0eeNnrgpD2HxbMW0vlk3k=";
hash = "sha256-F0SW/qce7eEEDC4FQvO6eW9V4POkRK/WP8bMUBtzGIw=";
};
# Use official public librespot version
cargoPatches = [ ./Cargo.lock.patch ];
cargoHash = "sha256-jdscYr4Emm2+mWXbxfhU1rp855tsGY5hrdJsDEfXeUo=";
cargoHash = "sha256-kLMV8jDadb2BryOqXGkiunQvZRjzjbVTh9Z+jHSSHbU=";
nativeBuildInputs = [
pkg-config
+2 -2
View File
@@ -47,13 +47,13 @@ let
in
stdenv'.mkDerivation (finalAttrs: {
pname = "fastfetch";
version = "2.19.1";
version = "2.20.0";
src = fetchFromGitHub {
owner = "fastfetch-cli";
repo = "fastfetch";
rev = finalAttrs.version;
hash = "sha256-3PXbuaB7QD2xgqaoVx+nRXsPmyoLC0f6Mv0EcNj5sJw=";
hash = "sha256-8N2BG9eTZpAvnc1wiG6p7GJSCPfZ+NTbz8kLGPRg5HU=";
};
outputs = [ "out" "man" ];
+3 -3
View File
@@ -24,16 +24,16 @@ let
in
buildRustPackage rec {
pname = "fedimint";
version = "0.3.2";
version = "0.3.3";
src = fetchFromGitHub {
owner = "fedimint";
repo = "fedimint";
rev = "v${version}";
hash = "sha256-FEzlNLo6X4zZQM3KEsf6wwJm4Uw6/8HJNZiM4jK2x2k=";
hash = "sha256-0SsIuMCdsZdYSRA1yT1axMe6+p+tIpXyN71V+1B7jYc=";
};
cargoHash = "sha256-lILETtCaPDAWgObNwHIfO/w6pqs0PkbqpDbjODRDOzw=";
cargoHash = "sha256-nQvEcgNOT04H5OgMHfN1713A4nbEaKK2KDx9E3qxcbM=";
nativeBuildInputs = [
protobuf
+199
View File
@@ -0,0 +1,199 @@
{
diff-lcs = {
groups = ["default" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0rwvjahnp7cpmracd8x732rjgnilqv2sx7d1gfrysslc3h039fa9";
type = "gem";
};
version = "1.5.0";
};
docile = {
groups = ["default" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lxqxgq71rqwj1lpl9q1mbhhhhhhdkkj7my341f2889pwayk85sz";
type = "gem";
};
version = "1.4.0";
};
ghi = {
dependencies = ["pygments.rb"];
groups = ["default"];
platforms = [];
source = {
path = ./.;
type = "path";
};
version = "1.2.0";
};
hpricot = {
groups = ["default" "development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1jn8x9ch79gqmnzgyz78kppavjh5lqx0y0r6frykga2b86rz9s6z";
type = "gem";
};
version = "0.8.6";
};
json = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn";
type = "gem";
};
version = "2.3.0";
};
mustache = {
groups = ["default" "development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1l0p4wx15mi3wnamfv92ipkia4nsx8qi132c6g51jfdma3fiz2ch";
type = "gem";
};
version = "1.1.1";
};
"pygments.rb" = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "047mjyzz8v4kkgi1ap6fsjf7kcp6dwirpnigif00ss0hxsxchhac";
type = "gem";
};
version = "2.3.0";
};
rake = {
groups = ["development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
type = "gem";
};
version = "13.0.6";
};
rdiscount = {
groups = ["default" "development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "16srf8cr8ynlafyh6ls654b9a3bqgai8n3y86zzv9mcpvlk6k27g";
type = "gem";
};
version = "2.2.0.2";
};
ronn = {
dependencies = ["hpricot" "mustache" "rdiscount"];
groups = ["development"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "07plsxxfx5bxdk72ii9za6km0ziqlq8jh3bicr4774dalga6zpw2";
type = "gem";
};
version = "0.7.3";
};
rspec = {
dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
groups = ["test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "19dyb6rcvgi9j2mksd29wfdhfdyzqk7yjhy1ai77559hbhpg61w9";
type = "gem";
};
version = "3.11.0";
};
rspec-core = {
dependencies = ["rspec-support"];
groups = ["default" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "118hkfw9b11hvvalr7qlylwal5h8dihagm9xg7k4gskg7587hca6";
type = "gem";
};
version = "3.11.0";
};
rspec-expectations = {
dependencies = ["diff-lcs" "rspec-support"];
groups = ["default" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "001ihayil7jpfxdlxlhakvz02kx0nk5m1w0bz6z8izdx0nc8bh53";
type = "gem";
};
version = "3.11.0";
};
rspec-mocks = {
dependencies = ["diff-lcs" "rspec-support"];
groups = ["default" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0y38dc66yhnfcf4ky3k47c20xak1rax940s4a96qkjxqrniy5ys3";
type = "gem";
};
version = "3.11.0";
};
rspec-support = {
groups = ["default" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xfk4pla77251n39zf4n792m1rhg5sn1kp63yvpvvysany34la03";
type = "gem";
};
version = "3.11.0";
};
rspec_junit_formatter = {
dependencies = ["rspec-core"];
groups = ["test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1sm4yj6149v4pisnizplh58ahaqri2v6p7gyzybqy1ql0zwignxy";
type = "gem";
};
version = "0.3.0";
};
simplecov = {
dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"];
groups = ["test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1hrv046jll6ad1s964gsmcq4hvkr3zzr6jc7z1mns22mvfpbc3cr";
type = "gem";
};
version = "0.21.2";
};
simplecov-html = {
groups = ["default" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb";
type = "gem";
};
version = "0.12.3";
};
simplecov_json_formatter = {
groups = ["default" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0a5l0733hj7sk51j81ykfmlk2vd5vaijlq9d5fn165yyx3xii52j";
type = "gem";
};
version = "0.1.4";
};
}
+45
View File
@@ -0,0 +1,45 @@
{ lib
, stdenv
, fetchFromGitHub
, makeWrapper
, bundlerEnv
, tree
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ghi";
version = "1.2.1";
src = fetchFromGitHub {
owner = "drazisil";
repo = "ghi";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-3V1lxI4VhP0jC3VSWyNS327gOCKowbbLB6ae1idpFFI=";
};
env = bundlerEnv {
name = "ghi";
gemfile = "${finalAttrs.src}/Gemfile";
lockfile = "${finalAttrs.src}/Gemfile.lock";
gemset = ./gemset.nix;
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ finalAttrs.env.wrappedRuby ];
installPhase = ''
mkdir -p $out/bin
cp ghi $out/bin
'';
meta = {
description = "GitHub Issues on the command line";
mainProgram = "ghi";
homepage = "https://github.com/drazisil/ghi";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ sigmanificient];
};
})
+44
View File
@@ -0,0 +1,44 @@
{
lib,
buildGoModule,
fetchFromGitHub,
git,
nix-update-script,
}:
buildGoModule rec {
pname = "git-spice";
version = "0.3.0";
src = fetchFromGitHub {
owner = "abhinav";
repo = "git-spice";
rev = "refs/tags/v${version}";
hash = "sha256-BYIq+12piA0WgfwVSB6P6CKC81icAY/P4/pv2ZMj5N8=";
};
vendorHash = "sha256-AIqy0OQsYRStbFLv2L8m4R0k1tr5fVM1FeMFn90yFoY=";
subPackages = [ "." ];
nativeCheckInputs = [ git ];
buildInputs = [ git ];
ldflags = [
"-s"
"-w"
"-X=main._version=${version}"
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Manage stacked Git branches";
homepage = "https://abhinav.github.io/git-spice/";
changelog = "https://github.com/abhinav/git-spice/blob/${src.rev}/CHANGELOG.md";
license = lib.licenses.gpl3Only;
maintainers = [ lib.maintainers.vinnymeller ];
mainProgram = "gs";
};
}
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "havn";
version = "0.1.12";
version = "0.1.13";
src = fetchFromGitHub {
owner = "mrjackwills";
repo = "havn";
rev = "refs/tags/v${version}";
hash = "sha256-BCg572435CdQMOldm3Ao4D+sDxbXUlDxMWmxa+aqTY0=";
hash = "sha256-z6505lMqNQ0FpMMRJwpOFodELfDeoIjrjG58mrfSvTY=";
};
cargoHash = "sha256-JaAlWiaOUoXSV6O4wmU7zCR5h5olO2zkB5WEGk2/ZdE=";
cargoHash = "sha256-RzfIu2apaFacSJz29UTaCKcC7Y81uxj1EerVyxZB50E=";
checkFlags = [
# Skip tests that require network access
+2 -2
View File
@@ -2,13 +2,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "imsprog";
version = "1.4.2";
version = "1.4.3";
src = fetchFromGitHub {
owner = "bigbigmdm";
repo = "IMSProg";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-9ALiYTUnrdoRHfcyuz4nPzXFHL7pPkFUTBL2/v1atz0=";
hash = "sha256-FAvGGxw7qDuucAbyaq9gDhMvHL9mJCQApRzzQ7Kh0c8=";
};
strictDeps = true;
+3 -2
View File
@@ -3,7 +3,7 @@
, fetchFromGitHub
, cmake
, ninja
, llvm_17
, llvm_18
, curl
, tzdata
, lit
@@ -62,7 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
nativeBuildInputs = [
cmake ldcBootstrap lit lit.python llvm_17.dev makeWrapper ninja unzip
cmake ldcBootstrap lit lit.python llvm_18.dev makeWrapper ninja unzip
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.Foundation
] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
@@ -146,6 +146,7 @@ stdenv.mkDerivation (finalAttrs: {
platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
};
passthru.ldcBootstrap = ldcBootstrap;
passthru.tests = let
ldc = finalAttrs.finalPackage;
helloWorld = stdenv.mkDerivation (finalAttrs: {
@@ -0,0 +1,36 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
nix-update-script,
}:
stdenvNoCC.mkDerivation {
pname = "librime-octagram";
version = "0-unstable-2024-02-05";
src = fetchFromGitHub {
owner = "lotem";
repo = "librime-octagram";
rev = "bd12863f45fbbd5c7db06d5ec8be8987b10253bf";
hash = "sha256-77g72tee4ahNcu3hfW1Okqr9z8Y6WrPgUhw316O72Ng=";
};
installPhase = ''
runHook preInstall
mkdir $out
cp --archive --verbose * $out
runHook postInstall
'';
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
meta = {
description = "RIME essay grammar plugin";
homepage = "https://github.com/lotem/librime-octagram";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ azuwis ];
};
}
+2 -2
View File
@@ -6,13 +6,13 @@
stdenvNoCC.mkDerivation rec {
pname = "nuclei-templates";
version = "9.9.1";
version = "9.9.2";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "nuclei-templates";
rev = "refs/tags/v${version}";
hash = "sha256-zD+mW7l7Wv6re8X6YztEnfwBYbMSLWZgbVpOpjZWNXM=";
hash = "sha256-PObtdRhj4KaQRHpSSGCZzhFXRYRAJ4mejkYi7SgOqyE=";
};
installPhase = ''
+115 -109
View File
@@ -1,6 +1,7 @@
{ stdenv
, lib
, fetchurl
, buildFHSEnv
# Alphabetic ordering below
, alsa-lib
, at-spi2-atk
@@ -24,6 +25,8 @@
, libudev0-shim
, libdrm
, makeWrapper
, mesa
, noto-fonts-cjk-sans
, nspr
, nss
, pulseaudio
@@ -52,18 +55,6 @@ let
# TODO: Find out which of these fonts we'd be allowed to distribute along
# with this package, or how to make this easier for users otherwise.
# Not using the `noto-fonts-cjk` package from nixpkgs, because it was
# reported that its `.ttc` file is not picked up by OnlyOffice, see:
# https://github.com/NixOS/nixpkgs/pull/116343#discussion_r593979816
noto-fonts-cjk = fetchurl {
url =
let
version = "v20201206-cjk";
in
"https://github.com/googlefonts/noto-cjk/raw/${version}/NotoSansCJKsc-Regular.otf";
sha256 = "sha256-aJXSVNJ+p6wMAislXUn4JQilLhimNSedbc9nAuPVxo4=";
};
runtimeLibs = lib.makeLibraryPath [
curl
glibc
@@ -72,115 +63,130 @@ let
pulseaudio
];
in
stdenv.mkDerivation rec {
pname = "onlyoffice-desktopeditors";
version = "7.2.0";
minor = null;
src = fetchurl {
url = "https://github.com/ONLYOFFICE/DesktopEditors/releases/download/v${version}/onlyoffice-desktopeditors_amd64.deb";
sha256 = "sha256-O9gC/b5/eZ1YImuXpEZOJhI1rzCNuFrm5IqablnYo9Y=";
derivation = stdenv.mkDerivation rec {
pname = "onlyoffice-desktopeditors";
version = "8.1.0";
minor = null;
src = fetchurl {
url = "https://github.com/ONLYOFFICE/DesktopEditors/releases/download/v${version}/onlyoffice-desktopeditors_amd64.deb";
sha256 = "sha256-hS1+gLN17sP3EFud3fQXRWeFiQbrumBONLjqXEl89Js=";
};
nativeBuildInputs = [
autoPatchelfHook
dpkg
makeWrapper
wrapGAppsHook3
];
buildInputs = [
alsa-lib
at-spi2-atk
atk
cairo
dbus
dconf
fontconfig
gdk-pixbuf
glib
gsettings-desktop-schemas
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
gtk2
gtk3
libpulseaudio
libdrm
nspr
nss
mesa # libgbm
qt5.qtbase
qt5.qtdeclarative
qt5.qtsvg
qt5.qtwayland
xorg.libX11
xorg.libxcb
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXScrnSaver
xorg.libXtst
];
dontWrapQtApps = true;
unpackPhase = ''
dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib,share}
mv usr/bin/* $out/bin
mv usr/share/* $out/share/
mv opt/onlyoffice/desktopeditors $out/share
for f in $out/share/desktopeditors/asc-de-*.png; do
size=$(basename "$f" ".png" | cut -d"-" -f3)
res="''${size}x''${size}"
mkdir -pv "$out/share/icons/hicolor/$res/apps"
ln -s "$f" "$out/share/icons/hicolor/$res/apps/onlyoffice-desktopeditors.png"
done;
substituteInPlace $out/bin/onlyoffice-desktopeditors \
--replace "/opt/onlyoffice/" "$out/share/"
ln -s $out/share/desktopeditors/DesktopEditors $out/bin/DesktopEditors
runHook postInstall
'';
preFixup = ''
gappsWrapperArgs+=(
--prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
--set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \
--set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale" \
--set QT_QPA_PLATFORM "xcb"
# the bundled version of qt does not support wayland
)
'';
};
nativeBuildInputs = [
autoPatchelfHook
dpkg
makeWrapper
wrapGAppsHook3
in
# In order to download plugins, OnlyOffice uses /usr/bin/curl so we have to wrap it.
# Curl still needs to be in runtimeLibs because the library is used directly in other parts of the code.
# Fonts are also discovered by looking in /usr/share/fonts, so adding fonts to targetPkgs will include them
buildFHSEnv {
inherit (derivation) pname version;
targetPkgs = pkgs': [
curl
derivation
noto-fonts-cjk-sans
];
buildInputs = [
alsa-lib
at-spi2-atk
atk
cairo
dbus
dconf
fontconfig
gdk-pixbuf
glib
gsettings-desktop-schemas
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
gtk2
gtk3
libpulseaudio
libdrm
nspr
nss
qt5.qtbase
qt5.qtdeclarative
qt5.qtsvg
qt5.qtwayland
xorg.libX11
xorg.libxcb
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXScrnSaver
xorg.libXtst
];
dontWrapQtApps = true;
unpackPhase = ''
dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner
'';
preConfigure = ''
cp --no-preserve=mode,ownership ${noto-fonts-cjk} opt/onlyoffice/desktopeditors/fonts/
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib,share}
mv usr/bin/* $out/bin
mv usr/share/* $out/share/
mv opt/onlyoffice/desktopeditors $out/share
for f in $out/share/desktopeditors/asc-de-*.png; do
size=$(basename "$f" ".png" | cut -d"-" -f3)
res="''${size}x''${size}"
mkdir -pv "$out/share/icons/hicolor/$res/apps"
ln -s "$f" "$out/share/icons/hicolor/$res/apps/onlyoffice-desktopeditors.png"
done;
substituteInPlace $out/bin/onlyoffice-desktopeditors \
--replace "/opt/onlyoffice/" "$out/share/"
ln -s $out/share/desktopeditors/DesktopEditors $out/bin/DesktopEditors
runScript = "/bin/onlyoffice-desktopeditors";
extraInstallCommands = ''
mkdir -p $out/share
ln -s ${derivation}/share/icons $out/share
cp -r ${derivation}/share/applications $out/share
substituteInPlace $out/share/applications/onlyoffice-desktopeditors.desktop \
--replace "/usr/bin/onlyoffice-desktopeditor" "$out/bin/DesktopEditor"
runHook postInstall
'';
preFixup = ''
gappsWrapperArgs+=(
--prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
--set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \
--set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale" \
--set QT_QPA_PLATFORM "xcb"
# the bundled version of qt does not support wayland
)
--replace "/usr/bin/onlyoffice-desktopeditors" "$out/bin/onlyoffice-desktopeditors"
'';
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "Office suite that combines text, spreadsheet and presentation editors allowing to create, view and edit local documents";
longDescription = ''
The latest versions of OnlyOffice are currently broken on wlroots environments (e.g. Hyprland, Sway).
If you are using a different environment, you can get the latest version using `onlyoffice-bin_latest`.
'';
mainProgram = "onlyoffice-desktopeditors";
homepage = "https://www.onlyoffice.com/";
downloadPage = "https://github.com/ONLYOFFICE/DesktopEditors/releases";
changelog = "https://github.com/ONLYOFFICE/DesktopEditors/blob/master/CHANGELOG.md";
@@ -1,202 +0,0 @@
{ stdenv
, lib
, fetchurl
, buildFHSEnv
# Alphabetic ordering below
, alsa-lib
, at-spi2-atk
, atk
, autoPatchelfHook
, cairo
, curl
, dbus
, dconf
, dpkg
, fontconfig
, gcc-unwrapped
, gdk-pixbuf
, glib
, glibc
, gsettings-desktop-schemas
, gst_all_1
, gtk2
, gtk3
, libpulseaudio
, libudev0-shim
, libdrm
, makeWrapper
, mesa
, noto-fonts-cjk-sans
, nspr
, nss
, pulseaudio
, qt5
, wrapGAppsHook3
, xkeyboard_config
, xorg
}:
let
# Note on fonts:
#
# OnlyOffice does not distribute unfree fonts, but makes it easy to pick up
# any fonts you install. See:
#
# * https://helpcenter.onlyoffice.com/en/installation/docs-community-install-fonts-linux.aspx
# * https://www.onlyoffice.com/blog/2020/04/how-to-add-new-fonts-to-onlyoffice-desktop-editors/
#
# As recommended there, you should download
#
# arial.ttf, calibri.ttf, cour.ttf, symbol.ttf, times.ttf, wingding.ttf
#
# into `~/.local/share/fonts/`, otherwise the default template fonts, and
# things like bullet points, will not look as expected.
# TODO: Find out which of these fonts we'd be allowed to distribute along
# with this package, or how to make this easier for users otherwise.
runtimeLibs = lib.makeLibraryPath [
curl
glibc
gcc-unwrapped.lib
libudev0-shim
pulseaudio
];
derivation = stdenv.mkDerivation rec {
pname = "onlyoffice-desktopeditors";
version = "8.1.0";
minor = null;
src = fetchurl {
url = "https://github.com/ONLYOFFICE/DesktopEditors/releases/download/v${version}/onlyoffice-desktopeditors_amd64.deb";
sha256 = "sha256-hS1+gLN17sP3EFud3fQXRWeFiQbrumBONLjqXEl89Js=";
};
nativeBuildInputs = [
autoPatchelfHook
dpkg
makeWrapper
wrapGAppsHook3
];
buildInputs = [
alsa-lib
at-spi2-atk
atk
cairo
dbus
dconf
fontconfig
gdk-pixbuf
glib
gsettings-desktop-schemas
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
gtk2
gtk3
libpulseaudio
libdrm
nspr
nss
mesa # libgbm
qt5.qtbase
qt5.qtdeclarative
qt5.qtsvg
qt5.qtwayland
xorg.libX11
xorg.libxcb
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXScrnSaver
xorg.libXtst
];
dontWrapQtApps = true;
unpackPhase = ''
dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib,share}
mv usr/bin/* $out/bin
mv usr/share/* $out/share/
mv opt/onlyoffice/desktopeditors $out/share
for f in $out/share/desktopeditors/asc-de-*.png; do
size=$(basename "$f" ".png" | cut -d"-" -f3)
res="''${size}x''${size}"
mkdir -pv "$out/share/icons/hicolor/$res/apps"
ln -s "$f" "$out/share/icons/hicolor/$res/apps/onlyoffice-desktopeditors.png"
done;
substituteInPlace $out/bin/onlyoffice-desktopeditors \
--replace "/opt/onlyoffice/" "$out/share/"
ln -s $out/share/desktopeditors/DesktopEditors $out/bin/DesktopEditors
runHook postInstall
'';
preFixup = ''
gappsWrapperArgs+=(
--prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
--set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \
--set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale" \
--set QT_QPA_PLATFORM "xcb"
# the bundled version of qt does not support wayland
)
'';
};
in
# In order to download plugins, OnlyOffice uses /usr/bin/curl so we have to wrap it.
# Curl still needs to be in runtimeLibs because the library is used directly in other parts of the code.
# Fonts are also discovered by looking in /usr/share/fonts, so adding fonts to targetPkgs will include them
buildFHSEnv {
inherit (derivation) pname version;
targetPkgs = pkgs': [
curl
derivation
noto-fonts-cjk-sans
];
runScript = "/bin/onlyoffice-desktopeditors";
extraInstallCommands = ''
mkdir -p $out/share
ln -s ${derivation}/share/icons $out/share
cp -r ${derivation}/share/applications $out/share
substituteInPlace $out/share/applications/onlyoffice-desktopeditors.desktop \
--replace "/usr/bin/onlyoffice-desktopeditors" "$out/bin/onlyoffice-desktopeditors"
'';
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "Office suite that combines text, spreadsheet and presentation editors allowing to create, view and edit local documents";
mainProgram = "onlyoffice-desktopeditors";
longDescription = ''
This version is broken on wlroots environments (e.g. Hyprland, Sway).
If you are using one of these environments, please use `onlyoffice-bin` instead.
'';
homepage = "https://www.onlyoffice.com/";
downloadPage = "https://github.com/ONLYOFFICE/DesktopEditors/releases";
changelog = "https://github.com/ONLYOFFICE/DesktopEditors/blob/master/CHANGELOG.md";
platforms = [ "x86_64-linux" ];
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.agpl3Plus;
maintainers = with maintainers; [ nh2 gtrunsec ];
};
}
@@ -1,5 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
version="$(curl -sL "https://api.github.com/repos/ONLYOFFICE/DesktopEditors/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')"
update-source-version onlyoffice-bin "$version"
+2 -2
View File
@@ -2,13 +2,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "openjph";
version = "0.14.2";
version = "0.15.0";
src = fetchFromGitHub {
owner = "aous72";
repo = "openjph";
rev = finalAttrs.version;
hash = "sha256-jksQfNcgw3LRzQlcsGpTAn6avmM3BsH6wGNTdX9khYY=";
hash = "sha256-v4rqBTS6rk5fgDQqvqPwFAYxLNxtsRhZuQsj+y3sE3o=";
};
nativeBuildInputs = [ cmake validatePkgConfig ];
+2 -2
View File
@@ -6,13 +6,13 @@
php.buildComposerProject (finalAttrs: {
pname = "phpunit";
version = "11.2.7";
version = "11.2.8";
src = fetchFromGitHub {
owner = "sebastianbergmann";
repo = "phpunit";
rev = finalAttrs.version;
hash = "sha256-s/zfTW8a+E/FOuHg+oSpVZdxBdfIVL0RmvBBcI6zB9Y=";
hash = "sha256-f3xLLOLpbSbgYoGpJHvUpea+wOu2U3M6jxZy/Rxro20=";
};
vendorHash = "sha256-Gjii3m8wWmZbozKnJW/n9+wQUupemIU8XjmlCuTtfxU=";
+4 -4
View File
@@ -1,13 +1,13 @@
{ lib, buildNpmPackage, fetchFromGitHub, runCommand, jq }:
let
version = "1.1.370";
version = "1.1.373";
src = fetchFromGitHub {
owner = "Microsoft";
repo = "pyright";
rev = "${version}";
hash = "sha256-IYQ6HUEaT3KjMcFeWal4Ru2A/Kxf7sAMZ1p48l9RQ2o=";
hash = "sha256-TMQ9ttWUDwf7Lp2JOwpIu4Bn3TbioXxkCPpEZiPDPyk=";
};
patchedPackageJSON = runCommand "package.json" { } ''
@@ -37,7 +37,7 @@ let
pname = "pyright-internal";
inherit version src;
sourceRoot = "${src.name}/packages/pyright-internal";
npmDepsHash = "sha256-P57+FEyjsHXwZ3A91bfecCuXvkrrwqsRHMjV3oGt1Nw=";
npmDepsHash = "sha256-BsfhbfhjHIlip3IiOJewjVD6Eq4bgr+Yo81rvIrJr7E=";
dontNpmBuild = true;
installPhase = ''
runHook preInstall
@@ -51,7 +51,7 @@ buildNpmPackage rec {
inherit version src;
sourceRoot = "${src.name}/packages/pyright";
npmDepsHash = "sha256-tLRSGuJMKAKvTsmERI7SyQXamAJPi/h4P/wQEo4HdtY=";
npmDepsHash = "sha256-cZhNkQjO1dAghXNoVCF0NQEi9QjXci626Ck9PXntoYA=";
postPatch = ''
chmod +w ../../
+3 -3
View File
@@ -9,16 +9,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "release-plz";
version = "0.3.74";
version = "0.3.79";
src = fetchFromGitHub {
owner = "MarcoIeni";
repo = "release-plz";
rev = "release-plz-v${version}";
hash = "sha256-6Cj23OlIVWnuJC4jpmd7o5L4pUSUkTycZbpu8CzSVM0=";
hash = "sha256-tI9/FtGxjKPIFg6L7pNeSx24G3FcfwOlIqcuF6wCTSU=";
};
cargoHash = "sha256-YAijOHu59BWIsS5cYFYbG4zGG0l+x9cqHfEGu3oL5l0=";
cargoHash = "sha256-UN3SkNNY8ovaT/eNb9JyF9KQWt8KG0TX9ztLjrAnPPo=";
nativeBuildInputs = [ installShellFiles pkg-config perl ];
buildInputs = [ openssl ];
+91
View File
@@ -0,0 +1,91 @@
{
lib,
buildGoModule,
fetchFromGitHub,
installShellFiles,
restic,
bash,
testers,
resticprofile,
}:
buildGoModule rec {
pname = "resticprofile";
version = "0.27.0";
src = fetchFromGitHub {
owner = "creativeprojects";
repo = "resticprofile";
rev = "refs/tags/v${version}";
hash = "sha256-CUTDlSpP0ztr3sEKT0ppFnWx/bcVuY1oIKWJNZylDoM=";
};
postPatch = ''
substituteInPlace schedule_jobs.go \
--replace-fail "os.Executable()" "\"$out/bin/resticprofile\", nil"
substituteInPlace shell/command.go \
--replace-fail '"bash"' '"${lib.getExe bash}"'
substituteInPlace filesearch/filesearch.go \
--replace-fail 'paths := getSearchBinaryLocations()' 'return "${lib.getExe restic}", nil; paths := getSearchBinaryLocations()'
'';
vendorHash = "sha256-t2R5uNsliSn+rIvRM0vT6lQJY62DhhozXnONiCJ9CMc=";
ldflags = [
"-X main.commit=${src.rev}"
"-X main.date=unknown"
"-X main.builtBy=nixpkgs"
];
nativeBuildInputs = [ installShellFiles ];
preCheck = ''
rm battery_test.go # tries to get battery data
rm update_test.go # tries to use network
rm lock/lock_test.go # needs ping
rm preventsleep/caffeinate_test.go # tries to communicate with dbus
rm priority/ioprio_test.go # tries to set nice(2) IO priority
rm restic/downloader_test.go # tries to use network
rm schedule/schedule_test.go # tries to use systemctl
# `config/path_test.go` expects `$HOME` to be the same as `~nixbld` which is `$NIX_BUILD_TOP`
export HOME="$NIX_BUILD_TOP"
# `util/tempdir_test.go` expects `$HOME/.cache` to exist
mkdir "$HOME/.cache"
'';
installPhase = ''
runHook preInstall
install -Dm755 $GOPATH/bin/resticprofile -t $out/bin
installShellCompletion --cmd resticprofile \
--bash <($out/bin/resticprofile generate --bash-completion) \
--zsh <($out/bin/resticprofile generate --zsh-completion)
runHook postInstall
'';
passthru = {
tests.version = testers.testVersion {
package = resticprofile;
command = "resticprofile version";
};
};
meta = {
changelog = "https://github.com/creativeprojects/resticprofile/releases/tag/v${version}";
description = "Configuration profiles manager for restic backup";
homepage = "https://creativeprojects.github.io/resticprofile/";
license = with lib.licenses; [
gpl3Only
lgpl3 # bash shell completion
];
mainProgram = "resticprofile";
maintainers = with lib.maintainers; [ tomasajt ];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
}
+10 -9
View File
@@ -1,19 +1,20 @@
{ stdenv
, lib
, undmg
, fetchurl
{
stdenv,
lib,
undmg,
fetchurl,
}:
stdenv.mkDerivation rec {
pname = "Skim";
version = "1.7.2";
version = "1.7.3";
src = fetchurl {
name = "Skim-${version}.dmg";
url = "mirror://sourceforge/project/skim-app/Skim/Skim-${version}/Skim-${version}.dmg";
sha256 = "t/A3Bd7mQ8hFGdbpQou4ru9i5jX4HaYOXgMvfPAUEYc=";
hash = "sha256-AMHEzlipL0Bv68Gnyq040t4DQhPkQcmDixZ6Oo0Vobc=";
};
nativeBuildInputs = [ undmg ];
nativeBuildInputs = [undmg];
sourceRoot = ".";
@@ -28,9 +29,9 @@ stdenv.mkDerivation rec {
description = "Skim is a PDF reader and note-taker for OS X";
homepage = "https://skim-app.sourceforge.io/";
license = licenses.bsd0;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
sourceProvenance = with sourceTypes; [binaryNativeCode];
mainProgram = "Skim.app";
maintainers = with maintainers; [ YvesStraten ];
maintainers = with maintainers; [YvesStraten];
platforms = platforms.darwin;
};
}
+3 -3
View File
@@ -10,14 +10,14 @@
buildGoModule rec {
pname = "symfony-cli";
version = "5.9.1";
vendorHash = "sha256-oo4lLJTF44hBb8QaIMONj+2WRdDSlhImZaC/nniWAhs=";
version = "5.10.2";
vendorHash = "sha256-WSZM/9inaFLlZIAwH3E8hWyRQaOvY8BJ6ECpbkqJN6g=";
src = fetchFromGitHub {
owner = "symfony-cli";
repo = "symfony-cli";
rev = "v${version}";
hash = "sha256-uJbX1IzZtcXH7mZuqh2YZy9wYZHNWfUHRZ8Tlm5zEac=";
hash = "sha256-/fJ9Ovk2gXCIvvieCXxnI8gDjwrhQHJoF3Ia47dSdgQ=";
leaveDotGit = true;
postFetch = ''
git --git-dir $out/.git log -1 --pretty=%cd --date=format:'%Y-%m-%dT%H:%M:%SZ' > $out/SOURCE_DATE
+45
View File
@@ -0,0 +1,45 @@
{
lib,
python311Packages,
fetchFromGitHub,
testers,
toolong,
}:
python311Packages.buildPythonApplication rec {
pname = "toolong";
version = "1.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Textualize";
repo = "toolong";
rev = "refs/tags/v${version}";
hash = "sha256-Zd6j1BIrsLJqptg7BXb67qY3DaeHRHieWJoYYCDHaoc=";
};
build-system = [ python311Packages.poetry-core ];
dependencies = with python311Packages; [
click
textual
typing-extensions
];
pythonRelaxDeps = [ "textual" ];
pythonImportsCheck = [ "toolong" ];
doCheck = false; # no tests
passthru.tests.version = testers.testVersion {
package = toolong;
command = "${lib.getExe toolong} --version";
};
meta = with lib; {
description = "Terminal application to view, tail, merge, and search log files (plus JSONL)";
license = licenses.mit;
homepage = "https://github.com/textualize/toolong";
maintainers = with maintainers; [ sigmanificient ];
mainProgram = "tl";
};
}
+4 -3
View File
@@ -12,18 +12,18 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "wrangler";
version = "3.62.0";
version = "3.66.0";
src = fetchFromGitHub {
owner = "cloudflare";
repo = "workers-sdk";
rev = "wrangler@${finalAttrs.version}";
hash = "sha256-/4iIkvSn85fkRggmIha2kRlW0MEwvzy0ZAmIb8+LpZQ=";
hash = "sha256-YY+wp9rmXDWeSvdMC6FQyuDf8XP3GhHeHuFe9q0uNng=";
};
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-aTTaiGXm1WYwmy+ljUC9yO3qtvN20SA+24T83dWYrI0=";
hash = "sha256-BjSpgkDYafnDb0SBdL3B6IYWT4EOqCAxdDm+Ev6QIgw=";
};
buildInputs = [
@@ -84,6 +84,7 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
seanrmurphy
dezren39
ryand56
];
mainProgram = "wrangler";
# cpp is required for building workerd.
@@ -1,18 +1,9 @@
{ lib
, buildPythonPackage
, python3Packages
, fetchPypi
, brotli
, hatchling
, certifi
, ffmpeg
, ffmpeg-headless
, rtmpdump
, atomicparsley
, pycryptodomex
, websockets
, mutagen
, requests
, secretstorage
, urllib3
, atomicparsleySupport ? true
, ffmpegSupport ? true
, rtmpSupport ? true
@@ -20,7 +11,7 @@
, update-python-libraries
}:
buildPythonPackage rec {
python3Packages.buildPythonApplication rec {
pname = "yt-dlp";
# The websites yt-dlp deals with are a very moving target. That means that
# downloads break constantly. Because of that, updates should always be backported
@@ -34,13 +25,14 @@ buildPythonPackage rec {
hash = "sha256-dYeqJeI2z3sUvbk3i7//9RIC2QGwQgK+DPYsu1bTtSw=";
};
build-system = [
build-system = with python3Packages; [
hatchling
];
dependencies = [
dependencies = with python3Packages; [
brotli
certifi
curl-cffi
mutagen
pycryptodomex
requests
@@ -57,7 +49,7 @@ buildPythonPackage rec {
let
packagesToBinPath = []
++ lib.optional atomicparsleySupport atomicparsley
++ lib.optional ffmpegSupport ffmpeg
++ lib.optional ffmpegSupport ffmpeg-headless
++ lib.optional rtmpSupport rtmpdump;
in lib.optionals (packagesToBinPath != [])
[ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ];
+2 -2
View File
@@ -2,11 +2,11 @@
stdenvNoCC.mkDerivation rec {
pname = "cozette";
version = "1.24.1";
version = "1.25.0";
src = fetchzip {
url = "https://github.com/slavfox/Cozette/releases/download/v.${version}/CozetteFonts-v-${builtins.replaceStrings ["."] ["-"] version}.zip";
hash = "sha256-G3/m0g3pdPHUlSLnJhGIFem6UOyEf1VxjOvz/0E9Vr0=";
hash = "sha256-ybq72r2p/2e41jzcZ/KxQgib3VIET6PppyCsGAQVXD8=";
};
installPhase = ''
+2 -2
View File
@@ -15,11 +15,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gnustep-back";
version = "0.30.0";
version = "0.31.0";
src = fetchzip {
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-back-${finalAttrs.version}.tar.gz";
sha256 = "sha256-HD4PLdkE573nPWqFwffUmcHw8VYIl5rLiPKWrbnwpCI=";
sha256 = "sha256-CjcoXlKiPVPJMOdrBKjxiNauTZvLcId5Lb8DzbgBbBg=";
};
nativeBuildInputs = [ make pkg-config wrapGNUstepAppsHook ];
+2 -2
View File
@@ -7,12 +7,12 @@
}:
stdenv.mkDerivation (finalAttrs: {
version = "0.30.0";
version = "0.31.1";
pname = "gnustep-gui";
src = fetchzip {
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-gui-${finalAttrs.version}.tar.gz";
sha256 = "sha256-24hL4TeIY6izlhQUcxKI0nXITysAPfRrncRqsDm2zNk=";
sha256 = "sha256-+4XEJ6PKpantbIbyNroFMaNBTFffkuW/ajSocGQO9Mo=";
};
nativeBuildInputs = [ make wrapGNUstepAppsHook ];
@@ -5,7 +5,6 @@
, meson
, ninja
, pkg-config
, python3
, vala
, wrapGAppsHook3
, clutter
@@ -24,20 +23,19 @@
stdenv.mkDerivation rec {
pname = "elementary-calendar";
version = "7.0.0";
version = "8.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "calendar";
rev = version;
sha256 = "sha256-qZvSzhLGr4Gg9DSJ638IQRLlPiZkbJUCJ7tZ8ZFZZ1E=";
sha256 = "sha256-gBQfrRSaw3TKcsSAQh/hcTpBoEQstGdLbppoZ1/Z1q8=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
python3
vala
wrapGAppsHook3
];
@@ -57,11 +55,6 @@ stdenv.mkDerivation rec {
libportal-gtk3
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
passthru = {
updateScript = nix-update-script { };
};
@@ -5,7 +5,6 @@
, meson
, ninja
, pkg-config
, python3
, vala
, wrapGAppsHook4
, elementary-gtk-theme
@@ -14,24 +13,24 @@
, granite7
, gst_all_1
, gtk4
, libadwaita
}:
stdenv.mkDerivation rec {
pname = "elementary-music";
version = "7.1.0";
version = "8.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "music";
rev = version;
sha256 = "sha256-L+E5gDtIgVkfmOIhzS7x8vtyMJYqx/UQpYMChrt2Tgo=";
sha256 = "sha256-pqOAeHTFWSoJqXE9UCUkVIy5T7EoYsieJ4PMU1oX9ko=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
python3
vala
wrapGAppsHook4
];
@@ -41,6 +40,7 @@ stdenv.mkDerivation rec {
glib
granite7
gtk4
libadwaita
] ++ (with gst_all_1; [
gst-plugins-bad
gst-plugins-base
@@ -49,11 +49,6 @@ stdenv.mkDerivation rec {
gstreamer
]);
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
preFixup = ''
gappsWrapperArgs+=(
# The GTK theme is hardcoded.
@@ -6,7 +6,6 @@
, meson
, ninja
, vala
, python3
, desktop-file-utils
, gtk3
, granite
@@ -18,13 +17,13 @@
stdenv.mkDerivation rec {
pname = "elementary-screenshot";
version = "6.0.4";
version = "8.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "screenshot";
rev = version;
sha256 = "sha256-xG67a19ySuYc5IXlEkaqhnDpDa2krF2y6PnhJkd/rOg=";
sha256 = "sha256-z7FP+OZYF/9YLXYCQF/ElihKjKHVfeHc38RHdPb2aIE=";
};
nativeBuildInputs = [
@@ -32,7 +31,6 @@ stdenv.mkDerivation rec {
meson
ninja
pkg-config
python3
vala
wrapGAppsHook3
];
@@ -45,11 +43,6 @@ stdenv.mkDerivation rec {
libhandy
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
passthru = {
updateScript = nix-update-script { };
};
@@ -1,28 +1,30 @@
{ lib
, stdenv
, fetchFromGitHub
, nix-update-script
, pkg-config
, meson
, ninja
, vala
, gtk3
, granite
, libgee
, libhandy
, gst_all_1
, wrapGAppsHook3
{
stdenv,
lib,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
vala,
wrapGAppsHook4,
gdk-pixbuf,
granite7,
gst_all_1,
gtk4,
libadwaita,
libgee,
}:
stdenv.mkDerivation rec {
pname = "elementary-videos";
version = "3.0.0";
version = "8.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "videos";
rev = version;
sha256 = "sha256-O98478E3NlY2NYqjyy8mcXZ3lG+wIV+VrPzdzOp44yA=";
hash = "sha256-GfTYwnNZg8/cmJMzLDfYpulG7K4SMYK2H+SXtiS3TCg=";
};
nativeBuildInputs = [
@@ -30,23 +32,24 @@ stdenv.mkDerivation rec {
ninja
pkg-config
vala
wrapGAppsHook3
wrapGAppsHook4
];
buildInputs = [
granite
gtk3
libgee
libhandy
] ++ (with gst_all_1; [
gst-libav
gst-plugins-bad
gst-plugins-base
gdk-pixbuf
granite7
gst_all_1.gst-libav
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-base
# https://github.com/elementary/videos/issues/356
(gst-plugins-good.override { gtkSupport = true; })
gst-plugins-ugly
gstreamer
]);
(gst_all_1.gst-plugins-good.override { gtkSupport = true; })
gst_all_1.gst-plugins-rs # GTK 4 Sink
gst_all_1.gst-plugins-ugly
gst_all_1.gstreamer
gtk4
libadwaita
libgee
];
passthru = {
updateScript = nix-update-script { };
@@ -5,31 +5,33 @@
, meson
, ninja
, pkg-config
, python3
, vala
, accountsservice
, dbus
, desktop-file-utils
, fwupd
, gdk-pixbuf
, geoclue2
, gexiv2
, glib
, gobject-introspection
, gtk3
, granite
, libgee
, packagekit
, systemd
, wrapGAppsHook3
}:
stdenv.mkDerivation rec {
pname = "elementary-settings-daemon";
version = "1.3.1";
version = "8.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "settings-daemon";
rev = version;
sha256 = "sha256-mEmc9uLwUTObsP70P0G2vcRdQF6do/wMTQjvfLUU//o=";
sha256 = "sha256-e70OVdvyKzzF+W7epzj23/Q1lsJiSJd7z1fj41sWfWU=";
};
nativeBuildInputs = [
@@ -38,7 +40,6 @@ stdenv.mkDerivation rec {
meson
ninja
pkg-config
python3
vala
wrapGAppsHook3
];
@@ -47,19 +48,17 @@ stdenv.mkDerivation rec {
accountsservice
dbus
fwupd
gdk-pixbuf
geoclue2
gexiv2
glib
gtk3
granite
libgee
packagekit
systemd
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
passthru = {
updateScript = nix-update-script { };
};
@@ -8,7 +8,6 @@
, libXfixes
, libXtst
, libxml2
, libsoup_3
, libxfce4ui
, libxfce4util
, wayland
@@ -24,10 +23,10 @@
mkXfceDerivation {
category = "apps";
pname = "xfce4-screenshooter";
version = "1.10.6";
version = "1.11.0";
odd-unstable = false;
sha256 = "sha256-g3wYIyJEnYCFhCs6YXzfEe5lnvIY8ACN/m7He+ww3mA=";
sha256 = "sha256-DMLGaDHmwDDHvOMev/QKvmDr6AQ6Qnzxf3YCbf0/nXg=";
nativeBuildInputs = [
wayland-scanner
@@ -41,7 +40,6 @@ mkXfceDerivation {
libXfixes
libXtst
libxml2
libsoup_3
libxfce4ui
libxfce4util
wayland
+1 -1
View File
@@ -452,7 +452,7 @@ pipe ((callFile ./common/builder.nix {}) ({
if (is8 && targetPlatform.isAvr) then []
else if !(is48 || is49 || is6) then [ "aarch64-darwin" ]
else platforms.darwin;
} // optionalAttrs is11 {
} // optionalAttrs is10 {
badPlatforms = if targetPlatform != hostPlatform then [ "aarch64-darwin" ] else [ ];
};
} // optionalAttrs (!atLeast10 && stdenv.targetPlatform.isDarwin) {
@@ -156,8 +156,8 @@ in
}) ];
"12" = [ (fetchurl {
name = "gcc-12-darwin-aarch64-support.patch";
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/f1188b90d610e2ed170b22512ff7435ba5c891e2/gcc/gcc-12.3.0.diff";
sha256 = "sha256-naL5ZNiurqfDBiPSU8PTbTmLqj25B+vjjiqc4fAFgYs=";
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/1ed9eaea059f1677d27382c62f21462b476b37fe/gcc/gcc-12.4.0.diff";
sha256 = "sha256-wOjpT79lps4TKG5/E761odhLGCphBIkCbOPiQg/D1Fw=";
}) ];
"11" = [ (fetchpatch {
# There are no upstream release tags in https://github.com/iains/gcc-11-branch.
@@ -165,6 +165,12 @@ in
url = "https://github.com/iains/gcc-11-branch/compare/ff4bf326d03e750a8d4905ea49425fe7d15a04b8..gcc-11.4-darwin-r0.diff";
hash = "sha256-6prPgR2eGVJs7vKd6iM1eZsEPCD1ShzLns2Z+29vlt4=";
}) ];
"10" = [ (fetchpatch {
# There are no upstream release tags in https://github.com/iains/gcc-10-branch.
# d04fe55 is the commit from https://github.com/gcc-mirror/gcc/releases/tag/releases%2Fgcc-10.5.0
url = "https://github.com/iains/gcc-10-branch/compare/d04fe5541c53cb16d1ca5c80da044b4c7633dbc6...gcc-10-5Dr0-pre-0.diff";
hash = "sha256-kVUHZKtYqkWIcqxHG7yAOR2B60w4KWLoxzaiFD/FWYk=";
}) ];
}.${majorVersion} or [])
# Work around newer AvailabilityInternal.h when building older versions of GCC.
@@ -14,16 +14,16 @@
rustPlatform.buildRustPackage rec {
pname = "wasmer";
version = "4.3.4";
version = "4.3.5";
src = fetchFromGitHub {
owner = "wasmerio";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-lpWgitQAZ+voGNj3Bo2FjbjDXPRSb067rx3/bIX+C9Y=";
hash = "sha256-hEhU3o/SLHWV9zmgCtW+7K/2ev+oGAnrZmlyNtoeSV4=";
};
cargoHash = "sha256-1/krpq7+E2p70d/SlSj0vCHr/9w6SbO15OhfkQiWf2k=";
cargoHash = "sha256-xyR5pnwMGE5K4o7X0Q2JEervSgR5LK1vqpOa3Mm6xkU=";
nativeBuildInputs = [
rustPlatform.bindgenHook
@@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "libcdada";
version = "0.5.2";
version = "0.6.0";
src = fetchFromGitHub {
owner = "msune";
repo = "libcdada";
rev = "v${version}";
hash = "sha256-rrBmsXBatvaf/u/UVHpTm9YUo+gsQv1rtuprpRF/3kU=";
hash = "sha256-fgH4gl8Uq8mY9gxa968suU66VJYnFzpSLj4JGpJcJA4=";
};
nativeBuildInputs = [
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "libgbinder";
version = "1.1.39";
version = "1.1.40";
src = fetchFromGitHub {
owner = "mer-hybris";
repo = pname;
rev = version;
sha256 = "sha256-O+Fg6NtWdBe0k+XhE/h62C1tvC6Y1BQZWva63sXJDfY=";
sha256 = "sha256-bv3UeL5xx28N/fSG1BeUSbbSvDaNgehpnx2OzIIaSXw=";
};
outputs = [ "out" "dev" ];
@@ -1,15 +1,27 @@
{ lib, stdenv, fetchurl, libkrb5 }:
{
lib,
stdenv,
fetchFromGitLab,
autoreconfHook,
libkrb5,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "libgssglue";
version = "0.4";
version = "0.9";
src = fetchurl {
url = "http://www.citi.umich.edu/projects/nfsv4/linux/libgssglue/${pname}-${version}.tar.gz";
sha256 = "0fh475kxzlabwz30wz3bf7i8kfqiqzhfahayx3jj79rba1sily9z";
src = fetchFromGitLab {
owner = "gsasl";
repo = "libgssglue";
rev = "tags/libgssglue-${finalAttrs.version}";
hash = "sha256-p9dujLklv2ZC1YA1gKGCRJf9EvF3stv5v4Z/5m1nSeM=";
};
nativeBuildInputs = [ autoreconfHook ];
postPatch = ''
touch ChangeLog
sed s:/etc/gssapi_mech.conf:$out/etc/gssapi_mech.conf: -i src/g_initialize.c
'';
@@ -27,4 +39,4 @@ stdenv.mkDerivation rec {
platforms = platforms.linux;
maintainers = with maintainers; [ corngood ];
};
}
})
@@ -21,20 +21,20 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libkrun";
version = "1.9.3";
version = "1.9.4";
src = fetchFromGitHub {
owner = "containers";
repo = "libkrun";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-LIp2/794gbHPweBJcHCjbF0m+bJAs0SPF7WivW7fxLI=";
hash = "sha256-QzyNPThwbjPKANeZ4GAT9b4f8LTcjXnCiK+vzRkhM4c=";
};
outputs = [ "out" "dev" ];
cargoDeps = rustPlatform.fetchCargoTarball {
inherit (finalAttrs) pname version src;
hash = "sha256-g4ceYi16mjEgvWTAQEW8ShT/e5IKnlgLgk49Mg0N2fQ=";
hash = "sha256-33s62iOWYh1a8ETY/fbPRxvnj8dR4/UfG8mjFyWwz5k=";
};
nativeBuildInputs = [
@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libkrunfw";
version = "4.0.0-unstable-2024-06-10";
version = "4.2.0";
src = fetchFromGitHub {
owner = "containers";
repo = "libkrunfw";
rev = "12236fa4caa42423ff3081b6179aa0a5f37c67c9";
hash = "sha256-Vcbg2zBVMQsiAQF/cEEIRMqppMBVGnqUBlDquGzRBsc=";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-LaIyPk9QkxPFP169r6PqyBMpFujbQBlX77z63OqKGYc=";
};
kernelSrc = fetchurl {
@@ -1,71 +0,0 @@
{ mkDerivation
, lib
, fetchFromGitHub
, extra-cmake-modules
, qtbase
, qtmultimedia
, qttools
, libGL
, libX11
, libass
, openal
, ffmpeg_4
, libuchardet
, alsa-lib
, libpulseaudio
, libva
}:
mkDerivation rec {
pname = "libqtav";
version = "unstable-2020-09-10";
nativeBuildInputs = [ extra-cmake-modules qttools ];
buildInputs = [
qtbase
qtmultimedia
libGL
libX11
libass
openal
ffmpeg_4
libuchardet
alsa-lib
libpulseaudio
libva
];
src = fetchFromGitHub {
sha256 = "0qwrk40dihkbwmm7krz6qaqyn9v3qdjnd2k9b4s3a67x4403pib3";
rev = "2a470d2a8d2fe22fae969bee5d594909a07b350a";
repo = "QtAV";
owner = "wang-bin";
fetchSubmodules = true;
};
# Make sure libqtav finds its libGL dependency at both link and run time
# by adding libGL to rpath. Not sure why it wasn't done automatically like
# the other libraries as `libGL` is part of our `buildInputs`.
NIX_CFLAGS_LINK = "-Wl,-rpath,${libGL}/lib";
cmakeFlags = [
# RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/
"-DCMAKE_SKIP_BUILD_RPATH=ON"
];
preFixup = ''
mkdir -p "$out/bin"
cp -a "./bin/"* "$out/bin"
'';
stripDebugList = [ "lib" "libexec" "bin" "qml" ];
meta = with lib; {
description = "Multimedia playback framework based on Qt + FFmpeg";
#license = licenses.lgpl21; # For the libraries / headers only.
license = licenses.gpl3; # With the examples (under bin) and most likely some of the optional dependencies used.
homepage = "http://www.qtav.org/";
maintainers = [ maintainers.jraygauthier ];
platforms = platforms.linux;
};
}
@@ -1,5 +1,6 @@
{ lib, stdenv, fetchFromGitHub, cmake, boost, glog, leveldb, marisa, opencc,
yaml-cpp, gtest, capnproto, pkg-config, librime-lua, plugins ? [ librime-lua ] }:
yaml-cpp, gtest, capnproto, pkg-config, librime-lua, librime-octagram,
plugins ? [ librime-lua librime-octagram ] }:
let
copySinglePlugin = plug: "cp -r ${plug} plugins/${plug.name}";
-185
View File
@@ -1,185 +0,0 @@
{ lib, stdenv, fetchFromGitHub, perl, yasm
, vp8DecoderSupport ? true # VP8 decoder
, vp8EncoderSupport ? true # VP8 encoder
, vp9DecoderSupport ? true # VP9 decoder
, vp9EncoderSupport ? true # VP9 encoder
, extraWarningsSupport ? false # emit non-fatal warnings
, werrorSupport ? false # treat warnings as errors (not available with all compilers)
, debugSupport ? false # debug mode
, gprofSupport ? false # gprof profiling instrumentation
, gcovSupport ? false # gcov coverage instrumentation
, sizeLimitSupport ? true # limit max size to allow in the decoder
, optimizationsSupport ? true # compiler optimization flags
, runtimeCpuDetectSupport ? true # detect cpu capabilities at runtime
, thumbSupport ? false # build arm assembly in thumb mode
, examplesSupport ? true # build examples (vpxdec & vpxenc are part of examples)
, debugLibsSupport ? false # include debug version of each library
, postprocSupport ? true # postprocessing
, multithreadSupport ? true # multithreaded decoding & encoding
, internalStatsSupport ? false # output of encoder internal stats for debug, if supported (encoders)
, spatialResamplingSupport ? true # spatial sampling (scaling)
, realtimeOnlySupport ? false # build for real-time encoding
, ontheflyBitpackingSupport ? false # on-the-fly bitpacking in real-time encoding
, errorConcealmentSupport ? false # decoder conceals losses
, smallSupport ? false # favor smaller binary over speed
, postprocVisualizerSupport ? false # macro block/block level visualizers
, unitTestsSupport ? false, curl ? null, coreutils ? null # unit tests
, webmIOSupport ? true # input from and output to webm container
, libyuvSupport ? true # libyuv
, decodePerfTestsSupport ? false # build decoder perf tests with unit tests
, encodePerfTestsSupport ? false # build encoder perf tests with unit tests
, multiResEncodingSupport ? false # multiple-resolution encoding
, temporalDenoisingSupport ? true # use temporal denoising instead of spatial denoising
, coefficientRangeCheckingSupport ? false # decoder checks if intermediate transform coefficients are in valid range
, vp9HighbitdepthSupport ? true # 10/12 bit color support in VP9
# Experimental features
, experimentalSpatialSvcSupport ? false # Spatial scalable video coding
, experimentalFpMbStatsSupport ? false
, experimentalEmulateHardwareSupport ? false
}:
let
inherit (stdenv) is64bit isMips isDarwin isCygwin;
inherit (lib) enableFeature optional optionals;
in
assert vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport;
assert internalStatsSupport && (vp9DecoderSupport || vp9EncoderSupport) -> postprocSupport;
/* If spatialResamplingSupport not enabled, build will fail with undeclared variable errors.
Variables called in vpx_scale/generic/vpx_scale.c are declared by vpx_scale/vpx_scale_rtcd.pl,
but is only executed if spatialResamplingSupport is enabled */
assert spatialResamplingSupport;
assert postprocVisualizerSupport -> postprocSupport;
assert unitTestsSupport -> curl != null && coreutils != null;
assert vp9HighbitdepthSupport -> (vp9DecoderSupport || vp9EncoderSupport);
assert isCygwin -> unitTestsSupport && webmIOSupport && libyuvSupport;
stdenv.mkDerivation rec {
pname = "libvpx";
version = "1.8.2";
src = fetchFromGitHub {
owner = "webmproject";
repo = "libvpx";
rev = "v${version}";
sha256 = "0gyq4fkbd2fv7m1mm9xrvn6rk6f4jsmbv8bnlhingmnrvyncnmnr";
};
patches = [
# ./CVE-2019-9232.CVE-2019-9325.CVE-2019-9371.CVE-2019-9433.patch
];
postPatch = ''
patchShebangs --build \
build/make/*.sh \
build/make/*.pl \
build/make/*.pm \
test/*.sh \
configure
'';
outputs = [ "bin" "dev" "out" ];
setOutputFlags = false;
configurePlatforms = [];
configureFlags = [
(enableFeature (vp8EncoderSupport || vp8DecoderSupport) "vp8")
(enableFeature vp8EncoderSupport "vp8-encoder")
(enableFeature vp8DecoderSupport "vp8-decoder")
(enableFeature (vp9EncoderSupport || vp9DecoderSupport) "vp9")
(enableFeature vp9EncoderSupport "vp9-encoder")
(enableFeature vp9DecoderSupport "vp9-decoder")
(enableFeature extraWarningsSupport "extra-warnings")
(enableFeature werrorSupport "werror")
"--disable-install-docs"
(enableFeature examplesSupport "install-bins")
"--enable-install-libs"
"--disable-install-srcs"
(enableFeature debugSupport "debug")
(enableFeature gprofSupport "gprof")
(enableFeature gcovSupport "gcov")
# Required to build shared libraries
(enableFeature (!isCygwin) "pic")
(enableFeature optimizationsSupport "optimizations")
(enableFeature runtimeCpuDetectSupport "runtime-cpu-detect")
(enableFeature thumbSupport "thumb")
"--enable-libs"
(enableFeature examplesSupport "examples")
"--disable-docs"
"--as=yasm"
# Limit default decoder max to WHXGA
(if sizeLimitSupport then "--size-limit=5120x3200" else null)
"--disable-codec-srcs"
(enableFeature debugLibsSupport "debug-libs")
(enableFeature isMips "dequant-tokens")
(enableFeature isMips "dc-recon")
(enableFeature postprocSupport "postproc")
(enableFeature (postprocSupport && (vp9DecoderSupport || vp9EncoderSupport)) "vp9-postproc")
(enableFeature multithreadSupport "multithread")
(enableFeature internalStatsSupport "internal-stats")
(enableFeature spatialResamplingSupport "spatial-resampling")
(enableFeature realtimeOnlySupport "realtime-only")
(enableFeature ontheflyBitpackingSupport "onthefly-bitpacking")
(enableFeature errorConcealmentSupport "error-concealment")
# Shared libraries are only supported on ELF platforms
(if isDarwin || isCygwin then
"--enable-static --disable-shared"
else
"--enable-shared")
(enableFeature smallSupport "small")
(enableFeature postprocVisualizerSupport "postproc-visualizer")
(enableFeature unitTestsSupport "unit-tests")
(enableFeature webmIOSupport "webm-io")
(enableFeature libyuvSupport "libyuv")
(enableFeature decodePerfTestsSupport "decode-perf-tests")
(enableFeature encodePerfTestsSupport "encode-perf-tests")
(enableFeature multiResEncodingSupport "multi-res-encoding")
(enableFeature temporalDenoisingSupport "temporal-denoising")
(enableFeature (temporalDenoisingSupport && (vp9DecoderSupport || vp9EncoderSupport)) "vp9-temporal-denoising")
(enableFeature coefficientRangeCheckingSupport "coefficient-range-checking")
(enableFeature (vp9HighbitdepthSupport && is64bit) "vp9-highbitdepth")
(enableFeature (experimentalSpatialSvcSupport ||
experimentalFpMbStatsSupport ||
experimentalEmulateHardwareSupport) "experimental")
] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"--enable-external-build"
# libvpx darwin targets include darwin version (ie. ARCH-darwinXX-gcc, XX being the darwin version)
# See all_platforms: https://github.com/webmproject/libvpx/blob/master/configure
# Darwin versions: 10.4=8, 10.5=9, 10.6=10, 10.7=11, 10.8=12, 10.9=13, 10.10=14
"--force-target=${stdenv.hostPlatform.config}${
if stdenv.hostPlatform.isDarwin then
if stdenv.hostPlatform.osxMinVersion == "10.10" then "14"
else if stdenv.hostPlatform.osxMinVersion == "10.9" then "13"
else if stdenv.hostPlatform.osxMinVersion == "10.8" then "12"
else if stdenv.hostPlatform.osxMinVersion == "10.7" then "11"
else if stdenv.hostPlatform.osxMinVersion == "10.6" then "10"
else if stdenv.hostPlatform.osxMinVersion == "10.5" then "9"
else "8"
else ""}-gcc"
(lib.optionalString stdenv.hostPlatform.isCygwin "--enable-static-msvcrt")
] # Experimental features
++ optional experimentalSpatialSvcSupport "--enable-spatial-svc"
++ optional experimentalFpMbStatsSupport "--enable-fp-mb-stats"
++ optional experimentalEmulateHardwareSupport "--enable-emulate-hardware";
nativeBuildInputs = [ perl yasm ];
buildInputs = [ ]
++ optionals unitTestsSupport [ coreutils curl ];
NIX_LDFLAGS = [
"-lpthread" # fixes linker errors
];
enableParallelBuilding = true;
postInstall = ''moveToOutput bin "$bin" '';
meta = with lib; {
description = "WebM VP8/VP9 codec SDK";
homepage = "https://www.webmproject.org/";
license = licenses.bsd3;
maintainers = with maintainers; [ codyopel ];
platforms = platforms.all;
};
}
@@ -19,13 +19,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rocksdb";
version = "9.3.1";
version = "9.4.0";
src = fetchFromGitHub {
owner = "facebook";
repo = "rocksdb";
rev = "v${finalAttrs.version}";
hash = "sha256-bTUzh7ch14TDcm6GkfhA5I/qUVmUm+RE5d2HMZ3zaNc=";
hash = "sha256-eABOzOuaSMAipX8yuXDfZPTHDyIInyPzreE42MwAcYg=";
};
patches = lib.optional (lib.versionAtLeast finalAttrs.version "6.29.3" && enableLiburing) ./fix-findliburing.patch;
+2 -4
View File
@@ -6,8 +6,6 @@ pkgs: lib: self: super:
### Use `./remove-attr.py [attrname]` in this directory to remove your alias
### from the `nodePackages` set without regenerating the entire file.
with self;
let
# Removing recurseForDerivation prevents derivations of aliased attribute
# set to appear while listing all the packages available.
@@ -113,7 +111,7 @@ mapAliases {
inherit (pkgs) jake; # added 2023-08-19
inherit (pkgs) javascript-typescript-langserver; # added 2023-08-19
karma = pkgs.karma-runner; # added 2023-07-29
leetcode-cli = vsc-leetcode-cli; # added 2023-08-31
leetcode-cli = self.vsc-leetcode-cli; # added 2023-08-31
inherit (pkgs) lv_font_conv; # added 2024-06-28
manta = pkgs.node-manta; # Added 2023-05-06
inherit (pkgs) markdown-link-check; # added 2024-06-28
@@ -128,7 +126,7 @@ mapAliases {
inherit (pkgs) nodemon; # added 2024-06-28
inherit (pkgs) npm-check-updates; # added 2023-08-22
ocaml-language-server = throw "ocaml-language-server was removed because it was abandoned upstream"; # added 2023-09-04
parcel-bundler = parcel; # added 2023-09-04
parcel-bundler = self.parcel; # added 2023-09-04
pkg = pkgs.vercel-pkg; # added 2023-10-04
inherit (pkgs) pm2; # added 2024-01-22
inherit (pkgs) pnpm; # added 2024-06-26
@@ -204,6 +204,11 @@ final: prev: {
url = "https://github.com/svanderburg/node2nix/commit/3b63e735458947ef39aca247923f8775633363e5.patch";
hash = "sha256-pe8Xm4mjPh9oKXugoMY6pRl8YYgtdw0sRXN+TienalU=";
})
# Use top-level cctools in generated files - PR svanderburg/node2nix#334
(fetchpatch {
url = "https://github.com/svanderburg/node2nix/commit/31c308bba5f39ea0105f66b9f40dbe57fed7a292.patch";
hash = "sha256-DdNRteonMvyffPh0uo0lUbsohKYnyqv0QcD9vjN6aXE=";
})
];
in ''
${lib.concatStringsSep "\n" (map (patch: "patch -d $out/lib/node_modules/node2nix -p1 < ${patch}") patches)}
@@ -23,7 +23,7 @@
buildPythonPackage rec {
pname = "accelerate";
version = "0.31.0";
version = "0.32.0";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
owner = "huggingface";
repo = "accelerate";
rev = "refs/tags/v${version}";
hash = "sha256-1iLTmSyZzOHGeAr2xBW4mebbq1FZdNfJb8blCtbSqsI=";
hash = "sha256-/Is5aKTYHxvgUJSkF7HxMbEA6dgn/y5F1B3D6qSCSaE=";
};
buildInputs = [ llvmPackages.openmp ];
@@ -21,14 +21,14 @@
buildPythonPackage rec {
pname = "apprise";
version = "1.8.0";
version = "1.8.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-6PWM6/6ho09WnLTGiAmjF1voDsBvCi7Ec1IrkgIyEsU=";
hash = "sha256-CKIP5yZyt+kPeWnVuHnWV8Li2zhaiowQ9Uy6VlvyN/I=";
};
nativeBuildInputs = [ installShellFiles ];
@@ -20,7 +20,7 @@
buildPythonPackage rec {
pname = "asf-search";
version = "7.1.3";
version = "7.1.4";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
owner = "asfadmin";
repo = "Discovery-asf_search";
rev = "refs/tags/v${version}";
hash = "sha256-4TiLncVxDxGB8YSgeEvXGb3kY2tjfYYmBAleJeaiPWU=";
hash = "sha256-l1FrhQ82+0g/ivm2K2yXJ5EZNDGM3Olcj1AxiQc8cZI=";
};
pythonRelaxDeps = [ "tenacity" ];
@@ -26,7 +26,7 @@
buildPythonPackage rec {
pname = "awswrangler";
version = "3.8.0";
version = "3.9.0";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
owner = "aws";
repo = "aws-sdk-pandas";
rev = "refs/tags/${version}";
hash = "sha256-2eF8WDhWfYgR3Ce/ehzCBtUdGUFzNmrTNfnatDpCg7Q=";
hash = "sha256-XhTRnQ2wsCD2jiiRFHDagmMB26lZ8Oj+tscgVypN0+c=";
};
pythonRelaxDeps = [ "packaging" ];
@@ -49,6 +49,8 @@ buildPythonPackage rec {
pyre-extensions
];
env.ALLOW_BOTORCH_LATEST = "1";
checkInputs = [
hypothesis
mercurial
@@ -4,23 +4,26 @@
azure-mgmt-core,
buildPythonPackage,
fetchPypi,
setuptools,
isodate,
pythonOlder,
}:
buildPythonPackage rec {
pname = "azure-mgmt-keyvault";
version = "10.3.0";
format = "setuptools";
version = "10.3.1";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-GDtBZM8YaLjqfv6qmO2tfSpOFKm9l3woGLErdRUM0qI=";
hash = "sha256-NLkpVq773VccrloD9weOA32Ah7LADPpnSINdxzq7WjA=";
};
propagatedBuildInputs = [
build-system = [ setuptools ];
dependencies = [
azure-common
azure-mgmt-core
isodate
@@ -28,6 +31,8 @@ buildPythonPackage rec {
pythonNamespaces = [ "azure.mgmt" ];
pythonImportsCheck = [ "azure.mgmt.keyvault" ];
# Module has no tests
doCheck = false;
@@ -36,8 +41,6 @@ buildPythonPackage rec {
homepage = "https://github.com/Azure/azure-sdk-for-python";
changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-keyvault_${version}/sdk/keyvault/azure-mgmt-keyvault/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [
maxwilson
];
maintainers = with maintainers; [ maxwilson ];
};
}
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "azure-mgmt-netapp";
version = "13.0.0";
version = "13.1.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-R322hzij1kcnrwxMClOzta40cMnd4w6bGnp5+p2pMQ8=";
hash = "sha256-8JzJFZTplNGo74wBelP8Geo7+FQ7WYmAOAef4jv533M=";
};
build-system = [ setuptools ];
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "azure-storage-file-share";
version = "12.16.0";
version = "12.17.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-QS+35sPCj29yKvmBlapZQHqqMjI6+hOkoB9i0Lh3TrM=";
hash = "sha256-97LGz8G3y4AJelOx7S76nlRbSaKRQw02nNtJ+vvIQdY=";
};
build-system = [ setuptools ];
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "azure-storage-queue";
version = "12.10.0";
version = "12.11.0";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-dnuj1czNtPcJdOXOYdFkx6t0cyz7K0Qd2HN2aaIRbag=";
hash = "sha256-Cox3eDnbpcUIJMrEivo8xWvgRPqkXKYbcmnrMZ6/AXE=";
};
nativeBuildInputs = [ setuptools ];

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