Merge branch 'master' into staging-next
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
outputPath = "share/doc/nixpkgs";
|
||||
indexPath = "manual.html";
|
||||
}
|
||||
+5
-195
@@ -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; }
|
||||
|
||||
@@ -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" *
|
||||
''
|
||||
@@ -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"
|
||||
'';
|
||||
|
||||
@@ -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; };
|
||||
}
|
||||
@@ -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 { };
|
||||
};
|
||||
}
|
||||
)
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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}";
|
||||
}
|
||||
|
||||
@@ -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''
|
||||
];
|
||||
|
||||
@@ -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}";
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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/'"
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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/";
|
||||
|
||||
@@ -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,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)) { };
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
+1725
-1063
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
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"links": [],
|
||||
"version": "0.2.20240116-133042+8acecb66",
|
||||
"versionHash": "11094621090461381576"
|
||||
"version": "0.2.20240718-145624+f4e9df48",
|
||||
"versionHash": "7014953821350190751"
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
@@ -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
|
||||
'';
|
||||
}
|
||||
)
|
||||
|
||||
@@ -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
@@ -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 doesn’t have everything, so you also have to check the
|
||||
# CMake files…
|
||||
#
|
||||
# We list non‐Qt dependencies first to override Qt’s 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 it’s 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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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];
|
||||
};
|
||||
})
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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,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,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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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,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 ];
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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 ../../
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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,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 = ''
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}";
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user