mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-06 17:13:24 -05:00
Merge staging-next into staging
This commit is contained in:
commit
8aead29dd7
99 changed files with 2284 additions and 1672 deletions
6
.github/ISSUE_TEMPLATE.md
vendored
6
.github/ISSUE_TEMPLATE.md
vendored
|
|
@ -1,6 +0,0 @@
|
|||
<!--
|
||||
Please note: This blank issue template is meant for extraordinary issues
|
||||
that do not fit the templates. Unless you know your issue is relevant to
|
||||
Nixpkgs and requires the free-form blank issue, please use the issue
|
||||
templates instead.
|
||||
-->
|
||||
3
.github/ISSUE_TEMPLATE/01_bug_report.yml
vendored
3
.github/ISSUE_TEMPLATE/01_bug_report.yml
vendored
|
|
@ -35,7 +35,8 @@ body:
|
|||
If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report.
|
||||
options:
|
||||
- "Please select a version."
|
||||
- "- Unstable (26.05)"
|
||||
- "- Unstable (26.11)"
|
||||
- "- Beta (26.05)"
|
||||
- "- Stable (25.11)"
|
||||
default: 0
|
||||
validations:
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@ body:
|
|||
If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report.
|
||||
options:
|
||||
- "Please select a version."
|
||||
- "- Unstable (26.05)"
|
||||
- "- Unstable (26.11)"
|
||||
- "- Beta (26.05)"
|
||||
- "- Stable (25.11)"
|
||||
default: 0
|
||||
validations:
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@ body:
|
|||
If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report.
|
||||
options:
|
||||
- "Please select a version."
|
||||
- "- Unstable (26.05)"
|
||||
- "- Unstable (26.11)"
|
||||
- "- Beta (26.05)"
|
||||
- "- Stable (25.11)"
|
||||
default: 0
|
||||
validations:
|
||||
|
|
|
|||
3
.github/ISSUE_TEMPLATE/04_build_failure.yml
vendored
3
.github/ISSUE_TEMPLATE/04_build_failure.yml
vendored
|
|
@ -37,7 +37,8 @@ body:
|
|||
If you are purposefully trying to build an ancient version of a package in an older Nixpkgs, please coordinate with the [NixOS Archivists](https://matrix.to/#/#archivists:nixos.org).
|
||||
options:
|
||||
- "Please select a version."
|
||||
- "- Unstable (26.05)"
|
||||
- "- Unstable (26.11)"
|
||||
- "- Beta (26.05)"
|
||||
- "- Stable (25.11)"
|
||||
default: 0
|
||||
validations:
|
||||
|
|
|
|||
3
.github/ISSUE_TEMPLATE/05_update_request.yml
vendored
3
.github/ISSUE_TEMPLATE/05_update_request.yml
vendored
|
|
@ -37,7 +37,8 @@ body:
|
|||
If the package has been updated in unstable, but you believe the update should be backported to the stable release of Nixpkgs, please file the '**Request: backport to stable**' form instead.
|
||||
options:
|
||||
- "Please select a version."
|
||||
- "- Unstable (26.05)"
|
||||
- "- Unstable (26.11)"
|
||||
- "- Beta (26.05)"
|
||||
- "- Stable (25.11)"
|
||||
default: 0
|
||||
validations:
|
||||
|
|
|
|||
3
.github/ISSUE_TEMPLATE/06_module_request.yml
vendored
3
.github/ISSUE_TEMPLATE/06_module_request.yml
vendored
|
|
@ -35,7 +35,8 @@ body:
|
|||
If you are using an older or stable version, please update to the latest **unstable** version and check if the module still does not exist before continuing this request.
|
||||
options:
|
||||
- "Please select a version."
|
||||
- "- Unstable (26.05)"
|
||||
- "- Unstable (26.11)"
|
||||
- "- Beta (26.05)"
|
||||
- "- Stable (25.11)"
|
||||
default: 0
|
||||
validations:
|
||||
|
|
|
|||
11
.github/labeler-no-sync.yml
vendored
11
.github/labeler-no-sync.yml
vendored
|
|
@ -33,4 +33,15 @@
|
|||
- maintainers/github-teams.json
|
||||
- base-branch: ['master']
|
||||
|
||||
"backport release-26.05":
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- .github/actions/**/*
|
||||
- .github/workflows/*
|
||||
- .github/labeler*.yml
|
||||
- ci/**/*.*
|
||||
- maintainers/github-teams.json
|
||||
- base-branch: ['master']
|
||||
|
||||
# keep-sorted end
|
||||
|
|
|
|||
2
.github/workflows/periodic-merge-24h.yml
vendored
2
.github/workflows/periodic-merge-24h.yml
vendored
|
|
@ -35,7 +35,7 @@ jobs:
|
|||
into: staging-next-25.11
|
||||
- from: staging-next-25.11
|
||||
into: staging-25.11
|
||||
- from: master
|
||||
- from: release-26.05
|
||||
into: staging-next-26.05
|
||||
- from: staging-next-26.05
|
||||
into: staging-26.05
|
||||
|
|
|
|||
|
|
@ -2,9 +2,7 @@
|
|||
|
||||
There is a TeX Live packaging that lives entirely under attribute `texlive`.
|
||||
|
||||
## User's guide (experimental new interface) {#sec-language-texlive-user-guide-experimental}
|
||||
|
||||
Release 23.11 ships with a new interface that will eventually replace `texlive.combine`.
|
||||
## User's guide {#sec-language-texlive-user-guide}
|
||||
|
||||
- For basic usage, use some of the prebuilt environments available at the top level, such as `texliveBasic`, `texliveSmall`. For the full list of prebuilt environments, inspect `texlive.schemes`.
|
||||
|
||||
|
|
@ -24,7 +22,7 @@ Release 23.11 ships with a new interface that will eventually replace `texlive.c
|
|||
|
||||
- `texlive.withPackages` uses the same logic as `buildEnv`. Only parts of a package are installed in an environment: its 'runtime' files (`tex` output), binaries (`out` output), and support files (`tlpkg` output). Moreover, man and info pages are assembled into separate `man` and `info` outputs. To add only the TeX files of a package, or its documentation (`texdoc` output), just specify the outputs:
|
||||
```nix
|
||||
texlive.withPackages (
|
||||
texliveBasic.withPackages (
|
||||
ps: with ps; [
|
||||
texdoc # recommended package to navigate the documentation
|
||||
perlPackages.LaTeXML.tex # tex files of LaTeXML, omit binaries
|
||||
|
|
@ -34,64 +32,19 @@ Release 23.11 ships with a new interface that will eventually replace `texlive.c
|
|||
)
|
||||
```
|
||||
|
||||
- To add the documentation for all packages in the environment, use
|
||||
```nix
|
||||
texliveSmall.overrideAttrs { withDocs = true; }
|
||||
```
|
||||
This can be applied before or after calling `withPackages`. The parameter `withSources` adds all source containers.
|
||||
|
||||
- All packages distributed by TeX Live, which contains most of CTAN, are available and can be found under `texlive.pkgs`:
|
||||
```ShellSession
|
||||
$ nix repl
|
||||
nix-repl> :l <nixpkgs>
|
||||
nix-repl> texlive.pkgs.[TAB]
|
||||
```
|
||||
Note that the packages in `texlive.pkgs` are only provided for search purposes and must not be used directly.
|
||||
|
||||
- **Experimental and subject to change without notice:** to add the documentation for all packages in the environment, use
|
||||
```nix
|
||||
texliveSmall.__overrideTeXConfig { withDocs = true; }
|
||||
```
|
||||
This can be applied before or after calling `withPackages`.
|
||||
|
||||
The function currently supports the parameters `withDocs`, `withSources`, and `requireTeXPackages`.
|
||||
|
||||
## User's guide {#sec-language-texlive-user-guide}
|
||||
|
||||
- For basic usage just pull `texlive.combined.scheme-basic` for an environment with basic LaTeX support.
|
||||
|
||||
- It typically won't work to use separately installed packages together. Instead, you can build a custom set of packages like this. Most CTAN packages should be available:
|
||||
|
||||
```nix
|
||||
texlive.combine {
|
||||
inherit (texlive)
|
||||
scheme-small
|
||||
collection-langkorean
|
||||
algorithms
|
||||
cm-super
|
||||
;
|
||||
}
|
||||
```
|
||||
|
||||
- There are all the schemes, collections and a few thousand packages, as defined upstream (perhaps with tiny differences).
|
||||
|
||||
- By default you only get executables and files needed during runtime, and a little documentation for the core packages. To change that, you need to add `pkgFilter` function to `combine`.
|
||||
|
||||
```nix
|
||||
texlive.combine {
|
||||
# inherit (texlive) whatever-you-want;
|
||||
pkgFilter =
|
||||
pkg: pkg.tlType == "run" || pkg.tlType == "bin" || pkg.hasManpages || pkg.pname == "cm-super";
|
||||
# elem tlType [ "run" "bin" "doc" "source" ]
|
||||
# there are also other attributes: version, name
|
||||
}
|
||||
```
|
||||
|
||||
- You can list packages e.g. by `nix repl`.
|
||||
|
||||
```ShellSession
|
||||
$ nix repl
|
||||
nix-repl> :l <nixpkgs>
|
||||
nix-repl> texlive.collection-[TAB]
|
||||
```
|
||||
|
||||
- Note that the wrapper assumes that the result has a chance to be useful. For example, the core executables should be present, as well as some core data files. The supported way of ensuring this is by including some scheme, for example, `scheme-basic`, into the combination.
|
||||
|
||||
- TeX Live packages are also available under `texlive.pkgs` as derivations with outputs `out`, `tex`, `texdoc`, `texsource`, `tlpkg`, `man`, `info`. They cannot be installed outside of `texlive.combine` but are available for other uses. To repackage a font, for instance, use
|
||||
These are derivations with outputs `out`, `tex`, `texdoc`, `texsource`, `tlpkg`, `man`, `info`. They cannot be installed outside of `texlive.withPackages` but are available for other uses. To repackage a font, for instance, use
|
||||
|
||||
```nix
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
|
|
@ -112,9 +65,9 @@ Release 23.11 ships with a new interface that will eventually replace `texlive.c
|
|||
|
||||
## Custom packages {#sec-language-texlive-custom-packages}
|
||||
|
||||
You may find that you need to use an external TeX package. A derivation for such package has to provide the contents of the "texmf" directory in its `"tex"` output, according to the [TeX Directory Structure](https://tug.ctan.org/tds/tds.html). Dependencies on other TeX packages can be listed in the attribute `tlDeps`.
|
||||
You may find that you need to use an external TeX package. A derivation for such package has to provide the contents of the "texmf" directory in its `"tex"` output, according to the [TeX Directory Structure](https://tug.ctan.org/tds/tds.html). Dependencies on other TeX packages can be listed in the attribute `passthru.tlDeps`, which is a function taking a package set and returning a list of packages.
|
||||
|
||||
The functions `texlive.combine` and `texlive.withPackages` recognise the following outputs:
|
||||
The function `texlive.withPackages` recognise the following outputs:
|
||||
|
||||
- `"out"`: contents are linked in the TeX Live environment, and binaries in the `$out/bin` folder are wrapped;
|
||||
- `"tex"`: linked in `$TEXMFDIST`; files should follow the TDS (for instance `$tex/tex/latex/foiltex/foiltex.cls`);
|
||||
|
|
@ -122,8 +75,6 @@ The functions `texlive.combine` and `texlive.withPackages` recognise the followi
|
|||
- `"tlpkg"`: linked in `$TEXMFROOT/tlpkg`;
|
||||
- `"man"`, `"info"`, ...: the other outputs are combined into separate outputs.
|
||||
|
||||
When using `pkgFilter`, `texlive.combine` will assign `tlType` respectively `"bin"`, `"run"`, `"doc"`, `"source"`, `"tlpkg"` to the above outputs.
|
||||
|
||||
Here is a (very verbose) example. See also the packages `auctex`, `eukleides`, `mftrace` for more examples.
|
||||
|
||||
```nix
|
||||
|
|
@ -138,7 +89,7 @@ let
|
|||
"tex"
|
||||
"texdoc"
|
||||
];
|
||||
passthru.tlDeps = with texlive; [ latex ];
|
||||
passthru.tlDeps = ps: [ ps.latex ];
|
||||
|
||||
srcs = [
|
||||
(fetchurl {
|
||||
|
|
@ -169,13 +120,14 @@ let
|
|||
latexmk
|
||||
]
|
||||
))
|
||||
# multiple-outputs.sh fails if $out is not defined
|
||||
(writeShellScript "force-tex-output.sh" ''
|
||||
out="''${tex-}"
|
||||
'')
|
||||
writableTmpDirAsHomeHook # Need a writable $HOME for latexmk
|
||||
];
|
||||
|
||||
# multiple-outputs.sh fails if $out is not defined
|
||||
preHook = ''
|
||||
out="''${tex-}"
|
||||
'';
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
buildPhase = ''
|
||||
|
|
|
|||
|
|
@ -433,6 +433,30 @@
|
|||
"chap-overlays": [
|
||||
"index.html#chap-overlays"
|
||||
],
|
||||
"sec-nixpkgs-release-26.11": [
|
||||
"release-notes.html#sec-nixpkgs-release-26.11"
|
||||
],
|
||||
"sec-nixpkgs-release-26.11-highlights": [
|
||||
"release-notes.html#sec-nixpkgs-release-26.11-highlights"
|
||||
],
|
||||
"sec-nixpkgs-release-26.11-incompatibilities": [
|
||||
"release-notes.html#sec-nixpkgs-release-26.11-incompatibilities"
|
||||
],
|
||||
"sec-nixpkgs-release-26.11-lib": [
|
||||
"release-notes.html#sec-nixpkgs-release-26.11-lib"
|
||||
],
|
||||
"sec-nixpkgs-release-26.11-lib-breaking": [
|
||||
"release-notes.html#sec-nixpkgs-release-26.11-lib-breaking"
|
||||
],
|
||||
"sec-nixpkgs-release-26.11-lib-deprecations": [
|
||||
"release-notes.html#sec-nixpkgs-release-26.11-lib-deprecations"
|
||||
],
|
||||
"sec-nixpkgs-release-26.11-lib-additions-improvements": [
|
||||
"release-notes.html#sec-nixpkgs-release-26.11-lib-additions-improvements"
|
||||
],
|
||||
"sec-nixpkgs-release-26.11-notable-changes": [
|
||||
"release-notes.html#sec-nixpkgs-release-26.11-notable-changes"
|
||||
],
|
||||
"sec-nixpkgs-release-26.05": [
|
||||
"release-notes.html#sec-nixpkgs-release-26.05"
|
||||
],
|
||||
|
|
@ -4428,11 +4452,9 @@
|
|||
"sec-language-texlive": [
|
||||
"index.html#sec-language-texlive"
|
||||
],
|
||||
"sec-language-texlive-user-guide-experimental": [
|
||||
"index.html#sec-language-texlive-user-guide-experimental"
|
||||
],
|
||||
"sec-language-texlive-user-guide": [
|
||||
"index.html#sec-language-texlive-user-guide"
|
||||
"index.html#sec-language-texlive-user-guide",
|
||||
"index.html#sec-language-texlive-user-guide-experimental"
|
||||
],
|
||||
"sec-language-texlive-custom-packages": [
|
||||
"index.html#sec-language-texlive-custom-packages"
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
This section lists the release notes for each stable version of Nixpkgs and the current unstable revision.
|
||||
|
||||
```{=include=} sections
|
||||
rl-2611.section.md
|
||||
rl-2605.section.md
|
||||
rl-2511.section.md
|
||||
rl-2505.section.md
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Nixpkgs 26.11 (2026.11/??) {#sec-nixpkgs-release-26.11}
|
||||
# Nixpkgs 26.11 ("Zokor", 2026.11/??) {#sec-nixpkgs-release-26.11}
|
||||
|
||||
## Highlights {#sec-nixpkgs-release-26.11-highlights}
|
||||
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
- `hurl` has been updated to `8.x.x` which has some breaking changes. See [upstream changelog](https://github.com/Orange-OpenSource/hurl/releases/tag/8.0.0) for details.
|
||||
|
||||
## Other Notable Changes {#sec-nixpkgs-release-26.11-notable-changes}
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
26.05
|
||||
26.11
|
||||
|
|
@ -504,7 +504,7 @@ in
|
|||
On each release the first letter is bumped and a new animal is chosen
|
||||
starting with that new letter.
|
||||
*/
|
||||
codeName = "Yarara";
|
||||
codeName = "Zokor";
|
||||
|
||||
/**
|
||||
Returns the current nixpkgs version suffix as string.
|
||||
|
|
|
|||
|
|
@ -28528,6 +28528,12 @@
|
|||
githubId = 30677291;
|
||||
name = "u2x1";
|
||||
};
|
||||
u3kkasha = {
|
||||
email = "fida.waseque@gmail.com";
|
||||
github = "u3kkasha";
|
||||
githubId = 146055002;
|
||||
name = "Fida Waseque Choudhury";
|
||||
};
|
||||
uakci = {
|
||||
name = "uakci";
|
||||
email = "git@uakci.space";
|
||||
|
|
|
|||
|
|
@ -2363,6 +2363,21 @@
|
|||
"ch-release-notes": [
|
||||
"release-notes.html#ch-release-notes"
|
||||
],
|
||||
"sec-release-26.11": [
|
||||
"release-notes.html#sec-release-26.11"
|
||||
],
|
||||
"sec-release-26.11-highlights": [
|
||||
"release-notes.html#sec-release-26.11-highlights"
|
||||
],
|
||||
"sec-release-26.11-new-modules": [
|
||||
"release-notes.html#sec-release-26.11-new-modules"
|
||||
],
|
||||
"sec-release-26.11-incompatibilities": [
|
||||
"release-notes.html#sec-release-26.11-incompatibilities"
|
||||
],
|
||||
"sec-release-26.11-notable-changes": [
|
||||
"release-notes.html#sec-release-26.11-notable-changes"
|
||||
],
|
||||
"sec-release-26.05": [
|
||||
"release-notes.html#sec-release-26.05"
|
||||
],
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
This section lists the release notes for each stable version of NixOS and current unstable revision.
|
||||
|
||||
```{=include=} sections
|
||||
rl-2611.section.md
|
||||
rl-2605.section.md
|
||||
rl-2511.section.md
|
||||
rl-2505.section.md
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Release 26.11 (2026.11/??) {#sec-release-26.11}
|
||||
# Release 26.11 ("Zokor", 2026.11/??) {#sec-release-26.11}
|
||||
|
||||
## Highlights {#sec-release-26.11-highlights}
|
||||
|
||||
|
|
|
|||
|
|
@ -155,7 +155,8 @@ in
|
|||
CapabilityBoundingSet = [ "" ];
|
||||
DevicePolicy = "closed";
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = !useYTMusic;
|
||||
# breaks pyopenssl's cffi calls, used in remote access feature
|
||||
MemoryDenyWriteExecute = false;
|
||||
ProcSubset = "pid";
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ in
|
|||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
pkgs.cosmic-comp
|
||||
pkgs.cosmic-icons
|
||||
cfg.package
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -1776,6 +1776,20 @@ final: prev: {
|
|||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
blink-calc = buildVimPlugin {
|
||||
pname = "blink-calc";
|
||||
version = "0-unstable-2025-10-06";
|
||||
src = fetchFromGitHub {
|
||||
owner = "joelazar";
|
||||
repo = "blink-calc";
|
||||
rev = "199e8a5fe356d553d33a3511ca28e625dac5c470";
|
||||
hash = "sha256-3w+vQf3N6+umBUF+PkCbPXggn53rNekxHgR2y+ICwHw=";
|
||||
};
|
||||
meta.homepage = "https://github.com/joelazar/blink-calc/";
|
||||
meta.license = unfree;
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
blink-cmp-avante = buildVimPlugin {
|
||||
pname = "blink-cmp-avante";
|
||||
version = "0.1.0-unstable-2025-07-24";
|
||||
|
|
|
|||
|
|
@ -8,13 +8,13 @@
|
|||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
version = "0.4.1";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Saghen";
|
||||
repo = "blink.pairs";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-IfnFSusQMm6LujE1AmihK9wEF2RSGfKYwpV2fedg0fc=";
|
||||
hash = "sha256-PTbj6jlXNRUOmwFSplvRDDiyyGqkBzUKtuBrvZm9kzM=";
|
||||
};
|
||||
|
||||
blink-pairs-lib = rustPlatform.buildRustPackage {
|
||||
|
|
@ -51,6 +51,12 @@ vimUtils.buildVimPlugin {
|
|||
ln -s ${blink-pairs-lib}/lib/libblink_pairs${ext} target/release/
|
||||
'';
|
||||
|
||||
nvimSkipModules = [
|
||||
# a module to quickly setup a minimal reproduction environment for testing
|
||||
# bugs. therefore mostly useless from a consumer side
|
||||
"repro"
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script {
|
||||
attrPath = "vimPlugins.blink-pairs.blink-pairs-lib";
|
||||
|
|
|
|||
|
|
@ -370,6 +370,10 @@ assertNoAdditions {
|
|||
};
|
||||
});
|
||||
|
||||
blink-calc = super.blink-calc.overrideAttrs {
|
||||
dependencies = [ self.blink-cmp ];
|
||||
};
|
||||
|
||||
blink-cmp-conventional-commits = super.blink-cmp-conventional-commits.overrideAttrs {
|
||||
dependencies = [ self.blink-cmp ];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -125,6 +125,7 @@ https://github.com/LunarVim/bigfile.nvim/,,
|
|||
https://github.com/openembedded/bitbake/,,
|
||||
https://github.com/FabijanZulj/blame.nvim/,,
|
||||
https://github.com/z4p5a9/blamer.nvim/,,
|
||||
https://github.com/joelazar/blink-calc/,,
|
||||
https://github.com/Kaiser-Yang/blink-cmp-avante/,,
|
||||
https://github.com/disrupted/blink-cmp-conventional-commits/,,
|
||||
https://github.com/giuxtaposition/blink-cmp-copilot/,,
|
||||
|
|
|
|||
|
|
@ -5,13 +5,13 @@
|
|||
}:
|
||||
mkLibretroCore {
|
||||
core = "mednafen-pce-fast";
|
||||
version = "0-unstable-2026-05-16";
|
||||
version = "0-unstable-2026-05-22";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "beetle-pce-fast-libretro";
|
||||
rev = "82cbe149648969fa55d60b955d455f15fd125b1d";
|
||||
hash = "sha256-odOMCxLl2fCBdalnW/ykOeVmB+G8N/lGbZqCTr2mdow=";
|
||||
rev = "b4de121a733a57ce825a7fd7543206ca96af8a18";
|
||||
hash = "sha256-0V6w9F2T2ROkPvH6K5mKltblogn9mAtvb/JGrWMk4CQ=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
|
|
|||
|
|
@ -45,11 +45,11 @@
|
|||
"vendorHash": "sha256-5IfYhOEhXRpdL7G3Op9a0Ep14el2gwcVmRMkGB7oWH4="
|
||||
},
|
||||
"aliyun_alicloud": {
|
||||
"hash": "sha256-IM7vrhWZG5aAm9qEdEthQJpLj/NPEPIVNzX3KFR8do0=",
|
||||
"hash": "sha256-YmfHL9uCtbxKE1wdacn9gf4Jo85/ivCkxOtMuBQin0I=",
|
||||
"homepage": "https://registry.terraform.io/providers/aliyun/alicloud",
|
||||
"owner": "aliyun",
|
||||
"repo": "terraform-provider-alicloud",
|
||||
"rev": "v1.278.0",
|
||||
"rev": "v1.279.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-lBD9ifRpUwg45V7zZG3grHvndG0V42oiX68zgcM7t74="
|
||||
},
|
||||
|
|
@ -409,13 +409,13 @@
|
|||
"vendorHash": null
|
||||
},
|
||||
"fastly_fastly": {
|
||||
"hash": "sha256-deph1BQ/aUgTOf4Bgaxpac4V2fmy4dSdbBRa/qvvKdk=",
|
||||
"hash": "sha256-dWT0E6eugOD79Cn51P0KQbwwY1seSL1NvZVzjWxtGNs=",
|
||||
"homepage": "https://registry.terraform.io/providers/fastly/fastly",
|
||||
"owner": "fastly",
|
||||
"repo": "terraform-provider-fastly",
|
||||
"rev": "v9.1.1",
|
||||
"rev": "v9.2.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-lxBvfkuvf1eoprkCuPtYqOw6P7sTzS70VXTYGToazf8="
|
||||
"vendorHash": "sha256-+5eeZdU5iS/StHuo/7KRkdM+DW4IDvJ52BDKNZI7lAc="
|
||||
},
|
||||
"flexibleenginecloud_flexibleengine": {
|
||||
"hash": "sha256-yEZ9JiUSqFFbfqzOOD59ZBv4yFCeUBBKlp6aiUqDqiM=",
|
||||
|
|
@ -445,13 +445,13 @@
|
|||
"vendorHash": "sha256-FcxAh8EOvnT8r1GHu0Oj2C5Jgbr2WPwD7/vY4/qIvTA="
|
||||
},
|
||||
"gitlabhq_gitlab": {
|
||||
"hash": "sha256-0zU1HXGs+4qJ/IYePgX3uE7/i7vV85nXD1jiwKasgxA=",
|
||||
"hash": "sha256-pMwgByUQPPKM6ZQP/DkbJERXPqfw6pU/zMnJH2YXhCE=",
|
||||
"homepage": "https://registry.terraform.io/providers/gitlabhq/gitlab",
|
||||
"owner": "gitlabhq",
|
||||
"repo": "terraform-provider-gitlab",
|
||||
"rev": "v18.11.0",
|
||||
"rev": "v19.0.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-a82yKFb82R6mlts5X2igussJTBldNAtwaz35QIe/hSk="
|
||||
"vendorHash": "sha256-YdNHXnJXUIYrq9BJ+58+0LEtgKNCF481pAsggBRjISA="
|
||||
},
|
||||
"go-gandi_gandi": {
|
||||
"hash": "sha256-fsCtmwyxkXfOtiZG27VEb010jglK35yr4EynnUWlFog=",
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@
|
|||
perl,
|
||||
readline,
|
||||
tcl,
|
||||
texlive,
|
||||
texliveSmall,
|
||||
tk,
|
||||
xz,
|
||||
|
|
@ -198,23 +197,20 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
|
||||
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||
|
||||
# make tex output available to texlive.combine
|
||||
passthru.pkgs = [ finalAttrs.finalPackage.tex ];
|
||||
passthru.tlType = "run";
|
||||
# dependencies (based on \RequirePackage in jss.cls, Rd.sty, Sweave.sty)
|
||||
passthru.tlDeps = with texlive; [
|
||||
amsfonts
|
||||
amsmath
|
||||
fancyvrb
|
||||
graphics
|
||||
hyperref
|
||||
iftex
|
||||
jknapltx
|
||||
latex
|
||||
lm
|
||||
tools
|
||||
upquote
|
||||
url
|
||||
passthru.tlDeps = ps: [
|
||||
ps.amsfonts
|
||||
ps.amsmath
|
||||
ps.fancyvrb
|
||||
ps.graphics
|
||||
ps.hyperref
|
||||
ps.iftex
|
||||
ps.jknapltx
|
||||
ps.latex
|
||||
ps.lm
|
||||
ps.tools
|
||||
ps.upquote
|
||||
ps.url
|
||||
];
|
||||
|
||||
meta = {
|
||||
|
|
|
|||
|
|
@ -55,12 +55,11 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
export USER=nonexistent-but-specified-user
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
INSTALLDIR=$out/bin make install
|
||||
installFlags = [ "INSTALLDIR=$(out)/bin" ];
|
||||
|
||||
postInstall = ''
|
||||
installManPage fossil.1
|
||||
installShellCompletion --name fossil.bash tools/fossil-autocomplete.bash
|
||||
installShellCompletion --cmd fossil tools/fossil-autocomplete.{bash,zsh}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
|
|
|||
|
|
@ -16,16 +16,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "amdgpu_top";
|
||||
version = "0.11.4";
|
||||
version = "0.11.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Umio-Yasuno";
|
||||
repo = "amdgpu_top";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ap1X53Ou/eWhHvXOnHY7zGb6i+ZLs8LeSNpOJWm+IKc=";
|
||||
hash = "sha256-hOwZHqm5DD4GGirvtYT1HWRp7Y59K1HIDsr9myFleRI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-b9OO//9M/LyS4ZMQzppvLHJHL3JyPVoSOIPVlrX1Wes=";
|
||||
cargoHash = "sha256-Mqy95IflBLXnp6ZYWjZCDrNJWZ2kqd90533sPJ94c2U=";
|
||||
|
||||
buildInputs = [
|
||||
libdrm
|
||||
|
|
|
|||
76
pkgs/by-name/an/antigravity-cli/package.nix
Normal file
76
pkgs/by-name/an/antigravity-cli/package.nix
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchzip,
|
||||
autoPatchelfHook,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
let
|
||||
# Version and platform-specific data retrieved from Google's manifests
|
||||
version = "1.0.2";
|
||||
|
||||
sources = {
|
||||
"x86_64-linux" = {
|
||||
url = "https://storage.googleapis.com/antigravity-public/antigravity-cli/1.0.2-6109799369277440/linux-x64/cli_linux_x64.tar.gz";
|
||||
hash = "sha256-XAq2oHWaAe2AoAgDBb1/NvABfkodg3xYTDmTY5H9RD0=";
|
||||
};
|
||||
"aarch64-linux" = {
|
||||
url = "https://storage.googleapis.com/antigravity-public/antigravity-cli/1.0.2-6109799369277440/linux-arm/cli_linux_arm64.tar.gz";
|
||||
hash = "sha256-7pj7TMHg+Z7DyWVmXOMqoM9kQkw5FxXTF+P4hGYc2hE=";
|
||||
};
|
||||
"aarch64-darwin" = {
|
||||
url = "https://storage.googleapis.com/antigravity-public/antigravity-cli/1.0.2-6109799369277440/darwin-arm/cli_mac_arm64.tar.gz";
|
||||
hash = "sha256-stu8KZDa5id5wVImTgyedkIKJPdkBTagRCphoYLWUoI=";
|
||||
};
|
||||
"x86_64-darwin" = {
|
||||
url = "https://storage.googleapis.com/antigravity-public/antigravity-cli/1.0.2-6109799369277440/darwin-x64/cli_mac_x64.tar.gz";
|
||||
hash = "sha256-KDOEEgFhvpO9bifljSuhRKpb+J6c+q4TWmnrNAAS3A0=";
|
||||
};
|
||||
};
|
||||
|
||||
source =
|
||||
sources.${stdenv.hostPlatform.system}
|
||||
or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "antigravity-cli";
|
||||
inherit version;
|
||||
|
||||
src = fetchzip {
|
||||
inherit (source) url hash;
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
|
||||
|
||||
dontBuild = true;
|
||||
dontConfigure = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 antigravity $out/bin/antigravity-cli
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = ./update.py;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Google's Go-based terminal user interface (TUI) agent client";
|
||||
homepage = "https://antigravity.google";
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = with lib.maintainers; [ u3kkasha ];
|
||||
platforms = lib.attrNames sources;
|
||||
mainProgram = "antigravity-cli";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
})
|
||||
131
pkgs/by-name/an/antigravity-cli/update.py
Executable file
131
pkgs/by-name/an/antigravity-cli/update.py
Executable file
|
|
@ -0,0 +1,131 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i python3 -p python3 nix jq
|
||||
|
||||
import re
|
||||
import urllib.request
|
||||
import json
|
||||
import subprocess
|
||||
import sys
|
||||
import os
|
||||
import tempfile
|
||||
|
||||
MANIFEST_BASE = (
|
||||
"https://antigravity-cli-auto-updater-974169037036.us-central1.run.app/manifests"
|
||||
)
|
||||
PLATFORMS = {
|
||||
"x86_64-linux": "linux_amd64",
|
||||
"aarch64-linux": "linux_arm64",
|
||||
"x86_64-darwin": "darwin_amd64",
|
||||
"aarch64-darwin": "darwin_arm64",
|
||||
}
|
||||
|
||||
|
||||
def fetch_json(url):
|
||||
req = urllib.request.Request(
|
||||
url, headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"}
|
||||
)
|
||||
with urllib.request.urlopen(req) as response:
|
||||
return json.loads(response.read().decode("utf-8"))
|
||||
|
||||
|
||||
def get_nix_hash(url):
|
||||
"""Downloads, unpacks, and returns the SRI hash of the directory content."""
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
archive_path = os.path.join(tmpdir, "archive.tar.gz")
|
||||
unpack_path = os.path.join(tmpdir, "unpack")
|
||||
os.makedirs(unpack_path)
|
||||
|
||||
# Download
|
||||
req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
|
||||
with (
|
||||
urllib.request.urlopen(req) as response,
|
||||
open(archive_path, "wb") as out_file,
|
||||
):
|
||||
out_file.write(response.read())
|
||||
|
||||
# Unpack
|
||||
subprocess.run(["tar", "-xzf", archive_path, "-C", unpack_path], check=True)
|
||||
|
||||
# Hash
|
||||
result = subprocess.run(
|
||||
["nix", "hash", "path", "--type", "sha256", unpack_path],
|
||||
capture_output=True,
|
||||
text=True,
|
||||
check=True,
|
||||
)
|
||||
return result.stdout.strip()
|
||||
|
||||
|
||||
def main():
|
||||
# Change directory to the script's directory so paths are relative
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
os.chdir(script_dir)
|
||||
|
||||
print("Checking for updates from Google Antigravity release API...")
|
||||
|
||||
# 1. Fetch the latest version from the linux_amd64 manifest
|
||||
try:
|
||||
manifest = fetch_json(f"{MANIFEST_BASE}/linux_amd64.json")
|
||||
except Exception as e:
|
||||
print(f"Error fetching manifest: {e}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
latest_version = manifest["version"]
|
||||
|
||||
# Read the current package.nix
|
||||
package_file = "package.nix"
|
||||
if not os.path.exists(package_file):
|
||||
print(f"Error: Could not find package.nix in {script_dir}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
with open(package_file, "r") as f:
|
||||
content = f.read()
|
||||
|
||||
# Extract current version
|
||||
version_match = re.search(r'version\s*=\s*"([^"]*)"', content)
|
||||
if not version_match:
|
||||
print(
|
||||
"Error: Could not parse current version from package.nix", file=sys.stderr
|
||||
)
|
||||
sys.exit(1)
|
||||
|
||||
current_version = version_match.group(1)
|
||||
|
||||
if current_version == latest_version:
|
||||
print(f"Already up to date (current version {current_version} is the latest).")
|
||||
sys.exit(0)
|
||||
|
||||
print(f"New version found! Updating: {current_version} -> {latest_version}")
|
||||
|
||||
# 2. Update the version string in content
|
||||
content = re.sub(
|
||||
r'(version\s*=\s*")[^"]*(";)', f"\\g<1>{latest_version}\\g<2>", content
|
||||
)
|
||||
|
||||
# 3. For each platform, fetch url and hash, and update sources
|
||||
for platform, manifest_name in PLATFORMS.items():
|
||||
print(f"Fetching manifest for {platform}...")
|
||||
try:
|
||||
m = fetch_json(f"{MANIFEST_BASE}/{manifest_name}.json")
|
||||
except Exception as e:
|
||||
print(f"Error fetching manifest for {platform}: {e}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
url = m["url"]
|
||||
sri_hash = get_nix_hash(url)
|
||||
|
||||
# Regex to locate and replace URL and hash for this specific platform in package.nix
|
||||
pattern = rf'("{platform}"\s*=\s*\{{[^}}]+url\s*=\s*")[^"]*(";[^}}]+hash\s*=\s*")[^"]*(";)'
|
||||
replacement = f"\\g<1>{url}\\g<2>{sri_hash}\\g<3>"
|
||||
|
||||
content = re.sub(pattern, replacement, content)
|
||||
|
||||
# Write the updated content back
|
||||
with open(package_file, "w") as f:
|
||||
f.write(content)
|
||||
|
||||
print(f"Successfully updated package.nix to version {latest_version}!")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
@ -35,14 +35,14 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "apt";
|
||||
version = "3.3.0";
|
||||
version = "3.3.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "salsa.debian.org";
|
||||
owner = "apt-team";
|
||||
repo = "apt";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-UvCdRQDXNwWqc4FDt4AFdPIX1oMUVpFYzbWGDqS7TvA=";
|
||||
hash = "sha256-93DR4MfKuJ4sF1BHCZyyR04v+WIoEMBW+GvLy7OhuWk=";
|
||||
};
|
||||
|
||||
# cycle detection; lib can't be split
|
||||
|
|
|
|||
|
|
@ -7,50 +7,43 @@
|
|||
ghostscript,
|
||||
}:
|
||||
|
||||
let
|
||||
auctex = stdenv.mkDerivation rec {
|
||||
# Make this a valid tex(live-new) package;
|
||||
# the pkgs attribute is provided with a hack below.
|
||||
pname = "auctex";
|
||||
version = "13.2";
|
||||
tlType = "run";
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "auctex";
|
||||
version = "13.2";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"tex"
|
||||
];
|
||||
outputs = [
|
||||
"out"
|
||||
"tex"
|
||||
];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/auctex/auctex-${version}.tar.gz";
|
||||
hash = "sha256-Hn5AKrz4RmlOuncZklvwlcI+8zpeZgIgHHS2ymCUQDU=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
emacs
|
||||
ghostscript
|
||||
(texliveBasic.withPackages (ps: [
|
||||
ps.etoolbox
|
||||
ps.hypdoc
|
||||
]))
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
mkdir -p "$tex"
|
||||
export HOME=$(mktemp -d)
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-lispdir=\${out}/share/emacs/site-lisp"
|
||||
"--with-texmf-dir=\${tex}"
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.gnu.org/software/auctex";
|
||||
description = "Extensible package for writing and formatting TeX files in GNU Emacs and XEmacs";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/auctex/auctex-${version}.tar.gz";
|
||||
hash = "sha256-Hn5AKrz4RmlOuncZklvwlcI+8zpeZgIgHHS2ymCUQDU=";
|
||||
};
|
||||
|
||||
in
|
||||
auctex // { pkgs = [ auctex.tex ]; }
|
||||
buildInputs = [
|
||||
emacs
|
||||
ghostscript
|
||||
(texliveBasic.withPackages (ps: [
|
||||
ps.etoolbox
|
||||
ps.hypdoc
|
||||
]))
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
mkdir -p "$tex"
|
||||
export HOME=$(mktemp -d)
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-lispdir=\${out}/share/emacs/site-lisp"
|
||||
"--with-texmf-dir=\${tex}"
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.gnu.org/software/auctex";
|
||||
description = "Extensible package for writing and formatting TeX files in GNU Emacs and XEmacs";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -145,11 +145,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
perlWithPackages
|
||||
];
|
||||
|
||||
passthru = {
|
||||
tlType = "run";
|
||||
pkgs = [ finalAttrs.finalPackage ];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Create and manage multiple choice questionnaires with automated marking";
|
||||
mainProgram = "auto-multiple-choice";
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
glib-networking,
|
||||
glycin-loaders,
|
||||
gtk4,
|
||||
gtksourceview5,
|
||||
json-glib,
|
||||
libadwaita,
|
||||
libdex,
|
||||
|
|
@ -33,7 +34,7 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "bazaar";
|
||||
version = "0.7.15";
|
||||
version = "0.8.1";
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
|
@ -49,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
owner = "bazaar-org";
|
||||
repo = "bazaar";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-+52W2iU8rdzN4cCxjkKe80qAbvyeqkvDYRRIiBB5yCg=";
|
||||
hash = "sha256-Ni2WfZu4LpCIXueGJYnZ2c7sCQ9VJAeI9zVNNrh7BLE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
@ -71,6 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
flatpak
|
||||
glib-networking
|
||||
gtk4
|
||||
gtksourceview5
|
||||
json-glib
|
||||
libadwaita
|
||||
libdex
|
||||
|
|
|
|||
|
|
@ -11,16 +11,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-codspeed";
|
||||
version = "4.6.0";
|
||||
version = "4.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CodSpeedHQ";
|
||||
repo = "codspeed-rust";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Hfqh9kKTiRTWhKbsdXAK/DqBeAKxXQaYdWoZN55lcLo=";
|
||||
hash = "sha256-6XSKAPLcxgnshkMuiSmw13tsE4keJ9h5DpxwidqMLbg=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-ix8Q+GbazKC5HIIUUVYjLTlufOQLxppqmVGznbTAXEI=";
|
||||
cargoHash = "sha256-1AjODDI114CL/L8ZDFWDfPwxxxY9vgT/miSVsMLLSgE=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
curl
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
getopt,
|
||||
readline,
|
||||
texinfo,
|
||||
texlive,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
|
|
@ -91,17 +90,13 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
"tex"
|
||||
];
|
||||
|
||||
passthru = {
|
||||
tlType = "run";
|
||||
# packages needed by euktoeps, euktopdf and eukleides.sty
|
||||
tlDeps = with texlive; [
|
||||
collection-pstricks
|
||||
epstopdf
|
||||
iftex
|
||||
moreverb
|
||||
];
|
||||
pkgs = [ finalAttrs.finalPackage.tex ];
|
||||
};
|
||||
# packages needed by euktoeps, euktopdf and eukleides.sty
|
||||
passthru.tlDeps = ps: [
|
||||
ps.collection-pstricks
|
||||
ps.epstopdf
|
||||
ps.iftex
|
||||
ps.moreverb
|
||||
];
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
|
|
|||
|
|
@ -25,27 +25,26 @@ let
|
|||
];
|
||||
pubspecLock = lib.importJSON ./pubspec.lock.json;
|
||||
libwebrtc = fetchzip {
|
||||
url = "https://github.com/flutter-webrtc/flutter-webrtc/releases/download/v1.3.0/libwebrtc.zip";
|
||||
sha256 = "sha256-lGvWAicdKbNdMZAQS9Qyxv737G/sBI/hKbge/Xw5bDM=";
|
||||
url = "https://github.com/flutter-webrtc/flutter-webrtc/releases/download/v1.4.0/libwebrtc.zip";
|
||||
sha256 = "sha256-OvqUF6RuytDorJE+C58EnIxPHfcphs8iPiPjt7SDrU0=";
|
||||
};
|
||||
in
|
||||
flutter341.buildFlutterApplication (
|
||||
rec {
|
||||
pname = "fluffychat-${targetFlutterPlatform}";
|
||||
version = "2.5.1";
|
||||
version = "2.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "krille-chan";
|
||||
repo = "fluffychat";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-8iMSfF5K/9bQot7Tzc2XuuiQnquLZmS0ucC5t2T/HEA=";
|
||||
hash = "sha256-iAHJjpDd2RNYPtEqyotFNvW/nybW1ozNtvMTT+wQVVY=";
|
||||
};
|
||||
|
||||
inherit pubspecLock;
|
||||
|
||||
gitHashes = {
|
||||
flutter_web_auth_2 = "sha256-3aci73SP8eXg6++IQTQoyS+erUUuSiuXymvR32sxHFw=";
|
||||
flutter_secure_storage_linux = "sha256-cFNHW7dAaX8BV7arwbn68GgkkBeiAgPfhMOAFSJWlyY=";
|
||||
webcrypto = "sha256-yPhL0LoSIaJ9e9wrLtdPuTBRvXft1DQM9KR7WdNcj68=";
|
||||
};
|
||||
|
||||
inherit targetFlutterPlatform;
|
||||
|
|
|
|||
|
|
@ -4,31 +4,31 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "_fe_analyzer_shared",
|
||||
"sha256": "c209688d9f5a5f26b2fb47a188131a6fb9e876ae9e47af3737c0b4f58a93470d",
|
||||
"sha256": "8d7ff3948166b8ec5da0fbb5962000926b8e02f2ed9b3e51d1738905fbd4c98d",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "91.0.0"
|
||||
"version": "93.0.0"
|
||||
},
|
||||
"analyzer": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "analyzer",
|
||||
"sha256": "f51c8499b35f9b26820cfe914828a6a98a94efd5cc78b37bb7d03debae3a1d08",
|
||||
"sha256": "de7148ed2fcec579b19f122c1800933dfa028f6d9fd38a152b04b1516cec120b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.4.1"
|
||||
"version": "10.0.1"
|
||||
},
|
||||
"analyzer_plugin": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "analyzer_plugin",
|
||||
"sha256": "825071d553c4aef2252196d46a665fbd8e0cb06de07725f25d1b29bd18d65fff",
|
||||
"sha256": "7df504f0c9d6891bacc9f73a5a8c5f6fe4fc49c90ec8e3379916372906ba0b32",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.13.6"
|
||||
"version": "0.14.1"
|
||||
},
|
||||
"ansicolor": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -64,11 +64,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "async",
|
||||
"sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb",
|
||||
"sha256": "e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.13.0"
|
||||
"version": "2.13.1"
|
||||
},
|
||||
"audio_session": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -84,11 +84,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "badges",
|
||||
"sha256": "a7b6bbd60dce418df0db3058b53f9d083c22cdb5132a052145dc267494df0b84",
|
||||
"sha256": "cf1c88fb3777df69ccd630b80de5267f54efa4a39381b0404a7c03d56cb7c041",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.1.2"
|
||||
"version": "3.2.0"
|
||||
},
|
||||
"barbecue": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -184,11 +184,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "chewie",
|
||||
"sha256": "44bcfc5f0dfd1de290c87c9d86a61308b3282a70b63435d5557cfd60f54a69ca",
|
||||
"sha256": "53dadd2c5b6748742d7744072b38a417ad22691ca55715850300ee793dc7cb27",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.13.0"
|
||||
"version": "1.13.1"
|
||||
},
|
||||
"cli_config": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -314,11 +314,11 @@
|
|||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "dart_code_linter",
|
||||
"sha256": "1b53722d9933a5f5d4580acc29c7f16b1fde66d21d1ecf7bb2a811caf3a42b42",
|
||||
"sha256": "f0a63317198a495d04cccf98643fa6c2e8838805e370808b11b883a3efee0380",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.2.1"
|
||||
"version": "4.0.3"
|
||||
},
|
||||
"dart_earcut": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -344,21 +344,21 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "dart_style",
|
||||
"sha256": "a9c30492da18ff84efe2422ba2d319a89942d93e58eb0b73d32abe822ef54b7b",
|
||||
"sha256": "29f7ecc274a86d32920b1d9cfc7502fa87220da41ec60b55f329559d5732e2b2",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.1.3"
|
||||
"version": "3.1.7"
|
||||
},
|
||||
"dart_webrtc": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "dart_webrtc",
|
||||
"sha256": "4ed7b9fa9924e5a81eb39271e2c2356739dd1039d60a13b86ba6c5f448625086",
|
||||
"sha256": "f6d615bddea5e458ce180a914f3055c234ffb52fb7397a51b3491e76d6d7edb2",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.7.0"
|
||||
"version": "1.8.1"
|
||||
},
|
||||
"dbus": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -374,21 +374,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "desktop_drop",
|
||||
"sha256": "e70b46b2d61f1af7a81a40d1f79b43c28a879e30a4ef31e87e9c27bea4d784e8",
|
||||
"sha256": "aa1e797255bfbc76f9eb5aa4f61e5b68dbf69962ab1be6495816d2f251bc0d1f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.7.0"
|
||||
},
|
||||
"desktop_notifications": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "desktop_notifications",
|
||||
"sha256": "6d92694ad6e9297a862c5ff7dd6b8ff64c819972557754769f819d2209612927",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.6.3"
|
||||
"version": "0.7.1"
|
||||
},
|
||||
"desktop_webview_window": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -404,11 +394,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "device_info_plus",
|
||||
"sha256": "4df8babf73058181227e18b08e6ea3520cf5fc5d796888d33b7cb0f33f984b7c",
|
||||
"sha256": "b4fed1b2835da9d670d7bed7db79ae2a94b0f5ad6312268158a9b5479abbacdd",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "12.3.0"
|
||||
"version": "12.4.0"
|
||||
},
|
||||
"device_info_plus_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -474,11 +464,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "file_picker",
|
||||
"sha256": "57d9a1dd5063f85fa3107fb42d1faffda52fdc948cefd5fe5ea85267a5fc7343",
|
||||
"sha256": "f13a03000d942e476bc1ff0a736d2e9de711d2f89a95cd4c1d88f861c3348387",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "10.3.10"
|
||||
"version": "11.0.2"
|
||||
},
|
||||
"file_selector": {
|
||||
"dependency": "direct main",
|
||||
|
|
@ -586,11 +576,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "flutter_foreground_task",
|
||||
"sha256": "1903697944a31f596622e51a6af55e3a9dfb27762f9763ab2841184098c6b0ba",
|
||||
"sha256": "fc5c01a5e1b8f7bb51d0c737714f0c50440dbdf1aeddc5f8cbba313aa6fd4856",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "9.2.1"
|
||||
"version": "9.2.2"
|
||||
},
|
||||
"flutter_linkify": {
|
||||
"dependency": "direct main",
|
||||
|
|
@ -662,11 +652,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "flutter_map",
|
||||
"sha256": "391e7dc95cc3f5190748210a69d4cfeb5d8f84dcdfa9c3235d0a9d7742ccb3f8",
|
||||
"sha256": "03b71c02806ff20c3718d108cbbb3638142ebafe368d8ce2dd22a33344bcb02b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.2.2"
|
||||
"version": "8.3.0"
|
||||
},
|
||||
"flutter_native_splash": {
|
||||
"dependency": "direct dev",
|
||||
|
|
@ -712,21 +702,21 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "flutter_secure_storage",
|
||||
"sha256": "da922f2aab2d733db7e011a6bcc4a825b844892d4edd6df83ff156b09a9b2e40",
|
||||
"sha256": "6848263f9744072d0977347c383fb8b57d9780319a6bf5238b5a2866a029de62",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "10.0.0"
|
||||
"version": "10.2.0"
|
||||
},
|
||||
"flutter_secure_storage_darwin": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "flutter_secure_storage_darwin",
|
||||
"sha256": "8878c25136a79def1668c75985e8e193d9d7d095453ec28730da0315dc69aee3",
|
||||
"sha256": "67cd1ff671add31dc13e45194398187a04bb63804b37fa47866afae296d73fcb",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.2.0"
|
||||
"version": "0.3.1"
|
||||
},
|
||||
"flutter_secure_storage_linux": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -752,11 +742,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "flutter_secure_storage_web",
|
||||
"sha256": "6a1137df62b84b54261dca582c1c09ea72f4f9a4b2fcee21b025964132d5d0c3",
|
||||
"sha256": "073a62b3aeb866ab4ce795f960413948e51e5a42a9b0c8333b6daf5bb3208a1c",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.0"
|
||||
"version": "2.1.1"
|
||||
},
|
||||
"flutter_secure_storage_windows": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -798,11 +788,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "flutter_web_auth_2",
|
||||
"sha256": "432ff8c7b2834eaeec3378d99e24a0210b9ac2f453b3f7a7d739a5c09069fba3",
|
||||
"sha256": "d354998934ddc338e69b999b2abaeb33c6fd09999d3a5f92ead1a6b49b49712e",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.0.1"
|
||||
"version": "5.0.2"
|
||||
},
|
||||
"flutter_web_auth_2_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -824,11 +814,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "flutter_webrtc",
|
||||
"sha256": "c549ea8ffb20167110ad0a28e5f17a2650b5bea8837d984898cd9b0ffd5fa78b",
|
||||
"sha256": "c7b0a67ca2c878575fc5c146d801cd874f58f5f1ef5fa6e8eb0c93d413beb948",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.3.1"
|
||||
"version": "1.4.1"
|
||||
},
|
||||
"frontend_server_client": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -940,11 +930,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "go_router",
|
||||
"sha256": "7974313e217a7771557add6ff2238acb63f635317c35fa590d348fb238f00896",
|
||||
"sha256": "92d8cee7c57dff0a6c409c05597b460002434eccf7424a712283225b3962d03f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "17.1.0"
|
||||
"version": "17.2.3"
|
||||
},
|
||||
"gsettings": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -1050,11 +1040,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "image_picker",
|
||||
"sha256": "784210112be18ea55f69d7076e2c656a4e24949fa9e76429fe53af0c0f4fa320",
|
||||
"sha256": "91c025426c2881c551100bce834e201c835a170151545f58d17da5180ca7d9ac",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.2.1"
|
||||
"version": "1.2.2"
|
||||
},
|
||||
"image_picker_android": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -1336,11 +1326,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "matrix",
|
||||
"sha256": "5bb38e98212bc4c3244c762a1af787f7239a38d2cfdf44488258283ff899f77c",
|
||||
"sha256": "734eae63fa4b707999ee9165e0fc7e1205d1fcb37fef9727bb4f79cda460e1ab",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.2.0"
|
||||
"version": "7.1.2"
|
||||
},
|
||||
"meta": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -1446,11 +1436,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "package_info_plus",
|
||||
"sha256": "f69da0d3189a4b4ceaeb1a3defb0f329b3b352517f52bed4290f83d4f06bc08d",
|
||||
"sha256": "468c26b4254ab01979fa5e4a98cb343ea3631b9acee6f21028997419a80e1a20",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "9.0.0"
|
||||
"version": "9.0.1"
|
||||
},
|
||||
"package_info_plus_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -1476,11 +1466,21 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "particles_network",
|
||||
"sha256": "fbaead7961925946ff83e5b441bdbc8628139ea161ce901547e6f1190a6161de",
|
||||
"sha256": "f35f4e2bbd6872c6cff1d13628853d2fb2df6cc83b88c4f4757afe70333f5c6a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.9.3"
|
||||
"version": "1.9.4"
|
||||
},
|
||||
"pasteboard": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "pasteboard",
|
||||
"sha256": "fedbe8da188d2f713aa8b01260737342e6e1087534a3ab26e1a719f8d3e8f32f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.5.0"
|
||||
},
|
||||
"path": {
|
||||
"dependency": "direct main",
|
||||
|
|
@ -1736,61 +1736,61 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "record",
|
||||
"sha256": "d5b6b334f3ab02460db6544e08583c942dbf23e3504bf1e14fd4cbe3d9409277",
|
||||
"sha256": "10911465138fafacef459a780564e883e01bd48eabf87ab20543684884492870",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.2.0"
|
||||
"version": "6.2.1"
|
||||
},
|
||||
"record_android": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "record_android",
|
||||
"sha256": "94783f08403aed33ffb68797bf0715b0812eb852f3c7985644c945faea462ba1",
|
||||
"sha256": "eb1732e42d0d2a1895b8db86e4fc917287e6d8491b6ed59918aea8bed6c69de4",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.5.1"
|
||||
"version": "1.5.2"
|
||||
},
|
||||
"record_ios": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "record_ios",
|
||||
"sha256": "8df7c136131bd05efc19256af29b2ba6ccc000ccc2c80d4b6b6d7a8d21a3b5a9",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.2.0"
|
||||
},
|
||||
"record_linux": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "record_linux",
|
||||
"sha256": "c31a35cc158cd666fc6395f7f56fc054f31685571684be6b97670a27649ce5c7",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.3.0"
|
||||
},
|
||||
"record_macos": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "record_macos",
|
||||
"sha256": "084902e63fc9c0c224c29203d6c75f0bdf9b6a40536c9d916393c8f4c4256488",
|
||||
"sha256": "c051fb48edd7a0e265daafb9108730dc827c27b551728a3fdfb3ef69efd89c73",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.2.1"
|
||||
},
|
||||
"record_linux": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "record_linux",
|
||||
"sha256": "31181787bf7eccb0e298835836b69b3cd0a903863b75d70e937de3dec71cd8f3",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.3.1"
|
||||
},
|
||||
"record_macos": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "record_macos",
|
||||
"sha256": "cfe1b61435e27db418bf513dc36820d10c9f7eb1843786c2c9a52e07e2f4f627",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.2.2"
|
||||
},
|
||||
"record_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "record_platform_interface",
|
||||
"sha256": "8a81dbc4e14e1272a285bbfef6c9136d070a47d9b0d1f40aa6193516253ee2f6",
|
||||
"sha256": "8e56cbe06c6984137fb86132ff03459f29938d927496d9b2d0962e2d6345d488",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.5.0"
|
||||
"version": "1.6.0"
|
||||
},
|
||||
"record_web": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -1916,11 +1916,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "share_plus",
|
||||
"sha256": "14c8860d4de93d3a7e53af51bff479598c4e999605290756bbbe45cf65b37840",
|
||||
"sha256": "223873d106614442ea6f20db5a038685cc5b32a2fba81cdecaefbbae0523f7fa",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "12.0.1"
|
||||
"version": "12.0.2"
|
||||
},
|
||||
"share_plus_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -1936,11 +1936,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "shared_preferences",
|
||||
"sha256": "2939ae520c9024cb197fc20dee269cd8cdbf564c8b5746374ec6cacdc5169e64",
|
||||
"sha256": "c3025c5534b01739267eb7d76959bbc25a6d10f6988e1c2a3036940133dd10bf",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.5.4"
|
||||
"version": "2.5.5"
|
||||
},
|
||||
"shared_preferences_android": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -2562,11 +2562,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "wakelock_plus",
|
||||
"sha256": "e4e125b7c1a2f0e491e5452afdc0e25ab77b2d2775a7caa231fcc1c1f2162c47",
|
||||
"sha256": "ddf3db70eaa10c37558ff817519b85d527dbd21034fd5d8e1c2e85f31588f1c1",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.5.0"
|
||||
"version": "1.5.2"
|
||||
},
|
||||
"wakelock_plus_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
|
|
@ -2619,13 +2619,14 @@
|
|||
"version": "3.0.3"
|
||||
},
|
||||
"webcrypto": {
|
||||
"dependency": "transitive",
|
||||
"dependency": "direct overridden",
|
||||
"description": {
|
||||
"name": "webcrypto",
|
||||
"sha256": "sha256-a0MAHEEQhW/3+l5eZeey1EvsHYtUpNhNX6LHYiJnxcE=",
|
||||
"url": "https://pub.dev"
|
||||
"path": ".",
|
||||
"ref": "master",
|
||||
"resolved-ref": "dcc7ba78c9721de56a800fda9a9e2bc759b9cad3",
|
||||
"url": "https://github.com/google/webcrypto.dart.git"
|
||||
},
|
||||
"source": "hosted",
|
||||
"source": "git",
|
||||
"version": "0.6.0"
|
||||
},
|
||||
"webdriver": {
|
||||
|
|
@ -2662,11 +2663,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "webrtc_interface",
|
||||
"sha256": "ad0e5786b2acd3be72a3219ef1dde9e1cac071cf4604c685f11b61d63cdd6eb3",
|
||||
"sha256": "c6f100eac5057d9a817a60473126f9828c796d42884d498af4f339c97b21014f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.4.0"
|
||||
"version": "1.5.1"
|
||||
},
|
||||
"win32": {
|
||||
"dependency": "transitive",
|
||||
|
|
|
|||
|
|
@ -24,25 +24,24 @@
|
|||
libsecret,
|
||||
curl,
|
||||
|
||||
_experimental-update-script-combinators,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (stdenv.hostPlatform.node) arch platform;
|
||||
cacheRootHash = "sha256-mR5geiPPAv+oK1efT3pMfnUT1keOxB8Ge1yiq4hLtj0=";
|
||||
cacheAppHash = "sha256-Th3I9IPiHXEvj3FTCg3gefClnX1jDT8EPb/FzIVpjiY=";
|
||||
cacheRootHash = "sha256-OJDxq1Yep3swLU87YyJz7WfpPzpxo5ISukB4pIwxJBA=";
|
||||
cacheAppHash = "sha256-DYUlLNxWn4sn7PBir/miJUoDVAQ2/nbOVGWSGN+IPxw=";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "github-desktop";
|
||||
version = "3.5.8";
|
||||
version = "3.5.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "desktop";
|
||||
repo = "desktop";
|
||||
tag = "release-${finalAttrs.version}";
|
||||
hash = "sha256-K3+YpdSheeXMRehkWy044OFO9jpzfBjWOK39uXAqrsE=";
|
||||
hash = "sha256-AG5YiX8Jyi3ebgPSU4he2UamEdxgTjEYjezh2WkZjC8=";
|
||||
fetchSubmodules = true;
|
||||
postCheckout = "git -C $out rev-parse HEAD > $out/.gitrev";
|
||||
};
|
||||
|
|
@ -182,16 +181,16 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
|
||||
passthru = {
|
||||
inherit (finalAttrs) cacheRoot cacheApp;
|
||||
updateScript = _experimental-update-script-combinators.sequence [
|
||||
(nix-update-script {
|
||||
extraArgs = [
|
||||
"--version-regex"
|
||||
''^release-(\d\.\d\.\d)$''
|
||||
];
|
||||
})
|
||||
# TODO: in the future, use `nix-update --custom-dep`.
|
||||
./update-yarn-caches.sh
|
||||
];
|
||||
updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
"--version-regex"
|
||||
''^release-(\d+\.\d+\.\d+)$''
|
||||
"--custom-dep"
|
||||
"cacheRoot"
|
||||
"--custom-dep"
|
||||
"cacheApp"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
|
|
|||
|
|
@ -9,15 +9,15 @@
|
|||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "goperf";
|
||||
version = "0-unstable-2026-04-09";
|
||||
version = "0-unstable-2026-05-12";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://go.googlesource.com/perf";
|
||||
rev = "8e83ce0f7b1c6c5d6eab4763f10b9322cbe4cecb";
|
||||
hash = "sha256-JIR+ytMsZaiQ5w4vTmLG4JHg6tz3/sAs24C3m5//hy4=";
|
||||
rev = "3cf34090a3db6bb64df2259e30021db7ff5d9595";
|
||||
hash = "sha256-2dz8GCzmyS8LkN1zzyCO8cn/NBKmPhIqFRfILc9/lVo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-5WnH49NE1OUaTFuan3DZYhm0uJxIf7i5pgXK1PuqhA0=";
|
||||
vendorHash = "sha256-H9aP7PGzq5gmFvlYrkrOFfqCSdlpoQkIkTwKMgwr2hs=";
|
||||
|
||||
passthru.updateScript = writeShellScript "update-goperf" ''
|
||||
export UPDATE_NIX_ATTR_PATH=goperf
|
||||
|
|
|
|||
|
|
@ -13,16 +13,18 @@
|
|||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "hurl";
|
||||
version = "7.1.0";
|
||||
version = "8.0.1";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Orange-OpenSource";
|
||||
repo = "hurl";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-ZKTlS+J+43cqB0O5BAqvGwB9ZXfiOunOVB4hH6t2NxI=";
|
||||
hash = "sha256-DVxY7vjZpcqptq/4CUxo5WX7+Bf9o/sxGobZ7+BMXHM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-ZfkOh/sZb0OrA/f5v1mwZ23XuArTAoAcs3evmtAElf4=";
|
||||
cargoHash = "sha256-rBn14XK1DrwRfe4Mo0aezF4lLhQf4PtsRYkuM1wcZXU=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
|
|
|||
|
|
@ -8,13 +8,13 @@
|
|||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "jamulus";
|
||||
version = "3.11.0";
|
||||
version = "3.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jamulussoftware";
|
||||
repo = "jamulus";
|
||||
tag = "r${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}";
|
||||
hash = "sha256-YxXSSVm3n96YzE51cXpWf4z2nQBSguvcEp/kU0a6iBA=";
|
||||
hash = "sha256-GWbk556oggBgh+fX0oKu3hBZ3pU7vTj0ohuNHrN+fks=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
lib,
|
||||
stdenvNoCC,
|
||||
fetchzip,
|
||||
texlive,
|
||||
callPackage,
|
||||
}:
|
||||
|
||||
|
|
@ -47,9 +46,9 @@ stdenvNoCC.mkDerivation rec {
|
|||
'';
|
||||
|
||||
passthru = {
|
||||
tlDeps = with texlive; [
|
||||
xkeyval
|
||||
fontspec
|
||||
tlDeps = ps: [
|
||||
ps.xkeyval
|
||||
ps.fontspec
|
||||
];
|
||||
|
||||
tests = callPackage ./tests.nix { };
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
withKeePassNetworking ? true,
|
||||
withKeePassSSHAgent ? true,
|
||||
withKeePassX11 ? true,
|
||||
withKeePassYubiKey ? stdenv.hostPlatform.isLinux,
|
||||
withKeePassYubiKey ? true,
|
||||
|
||||
nixosTests,
|
||||
}:
|
||||
|
|
@ -61,9 +61,15 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
];
|
||||
};
|
||||
|
||||
patches = [
|
||||
./darwin.patch
|
||||
];
|
||||
patches = [ ./darwin-remove-macdeployqt.patch ];
|
||||
|
||||
# Upstream develops against a build of PCSC from Xcode.
|
||||
# The types are incompatible with nixpkgs pcsclite.
|
||||
# https://github.com/NixOS/nixpkgs/issues/520227
|
||||
postPatch = ''
|
||||
substituteInPlace src/keys/drivers/YubiKeyInterfacePCSC.cpp \
|
||||
--replace-fail "typedef uint32_t RETVAL;" "typedef int32_t RETVAL;"
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "KEEPASSXC_BUILD_TYPE" "Release")
|
||||
|
|
|
|||
|
|
@ -1,46 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
imake,
|
||||
gccmakedep,
|
||||
libx11,
|
||||
libxext,
|
||||
libxmu,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "larswm";
|
||||
version = "7.5.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/larswm/larswm-${finalAttrs.version}.tar.gz";
|
||||
sha256 = "1xmlx9g1nhklxjrg0wvsya01s4k5b9fphnpl9zdwp29mm484ni3v";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
imake
|
||||
gccmakedep
|
||||
];
|
||||
buildInputs = [
|
||||
libx11
|
||||
libxext
|
||||
libxmu
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"BINDIR=$(out)/bin"
|
||||
"MANPATH=$(out)/share/man"
|
||||
];
|
||||
installTargets = [
|
||||
"install"
|
||||
"install.man"
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "http://www.fnurt.net/larswm";
|
||||
description = "9wm-like tiling window manager";
|
||||
license = lib.licenses.free;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{ callPackage }:
|
||||
{ callPackage, runCommand }:
|
||||
let
|
||||
src = callPackage ./src.nix { };
|
||||
in
|
||||
|
|
@ -32,10 +32,6 @@ rec {
|
|||
|
||||
sed -i '/# This must remain last./i gkrust_features += ["glean_disable_upload"]\'$'\n' toolkit/library/rust/gkrust-features.mozbuild
|
||||
|
||||
# Temporary fix used with patches/rust-build.patch
|
||||
sed -i 's/9456ca46168ef86c98399a2536f577ef7be3cdde90c0c51392d8ac48519d3fae/60cd124908737068ab21c7773b3df71d00e186cd605f15bad9977232830aabc0/g' third_party/rust/encoding_rs/.cargo-checksum.json
|
||||
sed -i 's/d7405d2bcf99cf9729075473c45f677630f4c1947c8ba9757db607f2025a7da2/a066ad881d5a74386e666fc844f7fecbbd70021d0330c1b08a2d7a2a67437ccf/g' third_party/rust/encoding_rs/.cargo-checksum.json
|
||||
|
||||
cp ${source}/patches/pref-pane/category-librewolf.svg browser/themes/shared/preferences
|
||||
cp ${source}/patches/pref-pane/librewolf.css browser/themes/shared/preferences
|
||||
cp ${source}/patches/pref-pane/librewolf.inc.xhtml browser/components/preferences
|
||||
|
|
@ -55,7 +51,16 @@ rec {
|
|||
done
|
||||
'';
|
||||
|
||||
extraPrefsFiles = [ "${source}/settings/librewolf.cfg" ];
|
||||
localSettingsPrefs = runCommand "local-settings.js" { } ''
|
||||
# Import of `librewolf.cfg` file is already being done manually.
|
||||
substitute ${source}/settings/defaults/pref/local-settings.js $out \
|
||||
--replace-fail 'pref("general.config.filename", "librewolf.cfg");' ""
|
||||
'';
|
||||
|
||||
extraPrefsFiles = [
|
||||
"${source}/settings/librewolf.cfg"
|
||||
localSettingsPrefs
|
||||
];
|
||||
|
||||
extraPoliciesFiles = [ "${source}/settings/distribution/policies.json" ];
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
"packageVersion": "150.0.3-1",
|
||||
"packageVersion": "151.0.1-2",
|
||||
"source": {
|
||||
"rev": "150.0.3-1",
|
||||
"hash": "sha256-ScwnfmK2zUFQLoy1Z9P9xQ2iTss2ufbzji/IHJSri9U="
|
||||
"rev": "151.0.1-2",
|
||||
"hash": "sha256-6C048VV6NECGTcdGla4qIa88z677ZTjORf5FM0a4xMM="
|
||||
},
|
||||
"firefox": {
|
||||
"version": "150.0.3",
|
||||
"hash": "sha512-hFLaYSAPjuZnkNP/8jDKhLKskpGvK1fgGEhsUPk4xTxvtJQ/5s/h6ZuXg0ZvsAv3B/oAYpN1OsaYYY/B47cKSg=="
|
||||
"version": "151.0.1",
|
||||
"hash": "sha512-hJKhu5VrODcxU5OL0YsOGOOkrQ0qvCAXtF4CvCdoyPRo1cBjKaMkhaA6Z7ucIhAuar/x5zCAx3dkc11DDcdydw=="
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
cmake,
|
||||
ninja,
|
||||
pkg-config,
|
||||
|
|
@ -18,16 +19,24 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
version = "0.7.36";
|
||||
version = "0.7.37";
|
||||
pname = "libsolv";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openSUSE";
|
||||
repo = "libsolv";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-7a/vAdgW7ma2GHqv1LaQNFA7w1Hmzm6Q/HriNN6hlpE=";
|
||||
hash = "sha256-hiumMnTJ3eP+acH2V0eNTM71Fw//IWQPechCA0+kH1s=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "CVE-2026-9149";
|
||||
url = "https://github.com/openSUSE/libsolv/commit/210386037c892a720972ad35a3d8f7073b4d763b.patch";
|
||||
hash = "sha256-ju3xn78UGMR5usq1e1ovFTWnKW1TPDA77sNGx8yc8Z8=";
|
||||
})
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DENABLE_COMPLEX_DEPS=true"
|
||||
(lib.cmakeBool "ENABLE_CONDA" withConda)
|
||||
|
|
|
|||
|
|
@ -11,13 +11,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "manifold";
|
||||
version = "3.4.1";
|
||||
version = "3.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elalish";
|
||||
repo = "manifold";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-QcsyX1YwjqNaPAMJy6LtfHxocbBrqVGaRpZ2kxE4xXQ=";
|
||||
hash = "sha256-4TFS4toHzZsNO/vf3r2dW9QCpnHi2p0BAGSCZVswlYk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
|
|
|||
71
pkgs/by-name/me/metadata/ffmpeg-next-8.1.patch
Normal file
71
pkgs/by-name/me/metadata/ffmpeg-next-8.1.patch
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -37,7 +37,7 @@
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4f72209734318d0b619a5e0f5129918b848c416e122a3c4ce054e03cb87b726f"
|
||||
dependencies = [
|
||||
- "bitflags 2.9.3",
|
||||
+ "bitflags 2.11.1",
|
||||
"cexpr",
|
||||
"clang-sys",
|
||||
"itertools",
|
||||
@@ -57,9 +57,9 @@
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
-version = "2.9.3"
|
||||
+version = "2.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d"
|
||||
+checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3"
|
||||
|
||||
[[package]]
|
||||
name = "block-buffer"
|
||||
@@ -204,20 +204,20 @@
|
||||
|
||||
[[package]]
|
||||
name = "ffmpeg-next"
|
||||
-version = "8.0.0"
|
||||
+version = "8.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "d658424d233cbd993a972dd73a66ca733acd12a494c68995c9ac32ae1fe65b40"
|
||||
+checksum = "f7c4bd5ab1ac61f29c634df1175d350ded29cf74c3c6d4f7030431a5ae3c7d5d"
|
||||
dependencies = [
|
||||
- "bitflags 2.9.3",
|
||||
+ "bitflags 2.11.1",
|
||||
"ffmpeg-sys-next",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ffmpeg-sys-next"
|
||||
-version = "8.0.1"
|
||||
+version = "8.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "9bca20aa4ee774fe384c2490096c122b0b23cf524a9910add0686691003d797b"
|
||||
+checksum = "a314bc0e022a33a99567ed4bd2576bd58ffd8fcff7891c29194cfecc26a62547"
|
||||
dependencies = [
|
||||
"bindgen",
|
||||
"cc",
|
||||
@@ -606,7 +606,7 @@
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
|
||||
dependencies = [
|
||||
- "bitflags 2.9.3",
|
||||
+ "bitflags 2.11.1",
|
||||
"errno",
|
||||
"libc",
|
||||
"linux-raw-sys",
|
||||
diff --git a/Cargo.toml b/Cargo.toml
|
||||
--- a/Cargo.toml
|
||||
+++ b/Cargo.toml
|
||||
@@ -33,7 +33,7 @@
|
||||
serde_derive = "1.0.198"
|
||||
|
||||
[dependencies.ffmpeg-next]
|
||||
-version = "8.0.0"
|
||||
+version = "8.1.0"
|
||||
default-features = false
|
||||
features = ["codec", "format"]
|
||||
|
||||
|
|
@ -20,7 +20,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
|||
hash = "sha256-gDOYqPwrWUfUTCx+p+ZpwsP8XxUufDCGem/WzW5cQPc=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-tUVaseaavm746sxaA2A3ua4ZxzoKSnRQ4rJRBeO9t1U=";
|
||||
cargoPatches = [
|
||||
# bump ffmpeg-next 8.0.0 -> 8.1.0 for ffmpeg 8.1 enum variants
|
||||
./ffmpeg-next-8.1.patch
|
||||
];
|
||||
|
||||
cargoHash = "sha256-TgF88oaf6567Xk20TkqbtE+H+nEKTiUSyswvxvCNFVI=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
python3,
|
||||
fontforge,
|
||||
potrace,
|
||||
texlive,
|
||||
fetchpatch2,
|
||||
}:
|
||||
|
||||
|
|
@ -59,12 +58,11 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
wrapProgram $out/bin/mftrace --prefix PATH : ${lib.makeBinPath finalAttrs.buildInputs}
|
||||
'';
|
||||
|
||||
# experimental texlive.combine support
|
||||
# (note that only the bin/ folder will be combined into texlive)
|
||||
passthru.tlDeps = with texlive; [
|
||||
kpathsea
|
||||
t1utils
|
||||
metafont
|
||||
# for use with texlive.withPackages
|
||||
passthru.tlDeps = ps: [
|
||||
ps.kpathsea
|
||||
ps.t1utils
|
||||
ps.metafont
|
||||
];
|
||||
|
||||
meta = {
|
||||
|
|
|
|||
|
|
@ -11,16 +11,16 @@
|
|||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "mongodb-atlas-cli";
|
||||
version = "1.54.0";
|
||||
version = "1.55.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mongodb";
|
||||
repo = "mongodb-atlas-cli";
|
||||
tag = "atlascli/v${finalAttrs.version}";
|
||||
hash = "sha256-OZiumnbWNOaH++1u7ZFkpi2xPQ8PG0TI63dXZxX4GOM=";
|
||||
hash = "sha256-VLX+EpXFo0ow6lvCiCFnobwtMh1DFmYcAA9YK7eOxro=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-k7hLJ4bk3IAI/m//MIqp+YVMa3bbADnDiLsuEmz1suI=";
|
||||
vendorHash = "sha256-SaY2ypCTlt4430TGcXuL97wHLm+2OnLsCZHJZDIi8F4=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@ let
|
|||
."${stdenv.hostPlatform.system}" or throwSystem;
|
||||
|
||||
docDir = "share/mprime/doc";
|
||||
ccArch = stdenv.hostPlatform.gcc.arch or "x86-64";
|
||||
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mprime";
|
||||
|
|
@ -67,17 +69,30 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
gmp
|
||||
];
|
||||
|
||||
env = {
|
||||
NIX_CFLAGS_COMPILE = toString (
|
||||
# The following is needed because compiling with stdenv.hostPlatform.gcc.arch
|
||||
# set to something like "znver1" causes fatal errors during runtime due to
|
||||
# rounding issues
|
||||
lib.optional (stdenv.hostPlatform.isx86_64 && ccArch != "x86-64") "-march=x86-64"
|
||||
);
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
make -C gwnum -f ${gwnum} ''${enableParallelBuilding:+-j$NIX_BUILD_CORES}
|
||||
make -C ${srcDir} ''${enableParallelBuilding:+-j$NIX_BUILD_CORES}
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm555 -t $out/bin ${srcDir}/mprime
|
||||
|
||||
install -Dm444 -t $out/${docDir} license.txt readme.txt stress.txt undoc.txt
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
|
|
|||
7
pkgs/by-name/ne/netbird-proxy/package.nix
Normal file
7
pkgs/by-name/ne/netbird-proxy/package.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# nixpkgs-update: no auto update
|
||||
# updated via the parent 'netbird' derivation
|
||||
{ netbird }:
|
||||
|
||||
netbird.override {
|
||||
componentName = "proxy";
|
||||
}
|
||||
|
|
@ -14,6 +14,7 @@
|
|||
libxxf86vm,
|
||||
versionCheckHook,
|
||||
netbird-management,
|
||||
netbird-proxy,
|
||||
netbird-relay,
|
||||
netbird-signal,
|
||||
netbird-ui,
|
||||
|
|
@ -62,6 +63,11 @@ let
|
|||
binaryName = "netbird-relay";
|
||||
license = lib.licenses.agpl3Only;
|
||||
};
|
||||
proxy = {
|
||||
module = "proxy/cmd/proxy";
|
||||
binaryName = "netbird-proxy";
|
||||
license = lib.licenses.agpl3Only;
|
||||
};
|
||||
};
|
||||
component = availableComponents.${componentName};
|
||||
in
|
||||
|
|
@ -149,6 +155,7 @@ buildGoModule (finalAttrs: {
|
|||
netbird-signal
|
||||
netbird-ui
|
||||
netbird-upload
|
||||
netbird-proxy
|
||||
;
|
||||
};
|
||||
updateScript = nix-update-script { };
|
||||
|
|
|
|||
1563
pkgs/by-name/ne/netease-cloud-music-gtk/Cargo.lock
generated
1563
pkgs/by-name/ne/netease-cloud-music-gtk/Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
|
@ -20,19 +20,19 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "netease-cloud-music-gtk";
|
||||
version = "2.5.2";
|
||||
version = "2.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gmg137";
|
||||
repo = "netease-cloud-music-gtk";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-3vAEk4HwS7EiMv0DAYOvZ9dOlO0yMEUcaO2qCCWlpLs=";
|
||||
hash = "sha256-yZOCUoAee2XSfO87SzTBjkZ4r2YzVC7mpqYULV5JPRE=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.importCargoLock {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"netease-cloud-music-api-1.5.1" = "sha256-PFzXm7jgNsEJiluBaNuhSF0kg/licDdbItMDWmfIBDk=";
|
||||
"netease-cloud-music-api-1.5.2" = "sha256-7j5MLC++MPyuRvJRiUMWPV7OxWM2H+RD/hChuco3UTE=";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
96
pkgs/by-name/no/nocturne/package.nix
Normal file
96
pkgs/by-name/no/nocturne/package.nix
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
meson,
|
||||
ninja,
|
||||
blueprint-compiler,
|
||||
wrapGAppsHook4,
|
||||
gettext,
|
||||
desktop-file-utils,
|
||||
appstream,
|
||||
glib,
|
||||
glib-networking,
|
||||
pkg-config,
|
||||
cmake,
|
||||
gtk4,
|
||||
python3,
|
||||
python3Packages,
|
||||
libadwaita,
|
||||
gobject-introspection,
|
||||
libsecret,
|
||||
gst_all_1,
|
||||
xdg-user-dirs,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "nocturne";
|
||||
version = "1.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Jeffser";
|
||||
repo = "Nocturne";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-7B9wtuxfsF6brtLkIEeWII4IvXwdJHnZ1Wr3uLfoqHU=";
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
blueprint-compiler
|
||||
gobject-introspection
|
||||
wrapGAppsHook4
|
||||
gettext # for msgfmt
|
||||
desktop-file-utils # for desktop-file-validate
|
||||
appstream
|
||||
glib
|
||||
pkg-config
|
||||
cmake
|
||||
gtk4
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk4
|
||||
libadwaita
|
||||
libsecret
|
||||
python3
|
||||
glib-networking
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
];
|
||||
|
||||
pythonDependencies = [
|
||||
python3Packages.pygobject3
|
||||
python3Packages.tinytag
|
||||
python3Packages.requests
|
||||
python3Packages.syncedlyrics
|
||||
python3Packages.pycairo
|
||||
python3Packages.colorthief
|
||||
python3Packages.favicon
|
||||
python3Packages.mpris-server
|
||||
python3Packages.pillow
|
||||
];
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PATH : ${lib.makeBinPath [ xdg-user-dirs ]}
|
||||
--prefix PYTHONPATH : ${python3.pkgs.makePythonPath finalAttrs.pythonDependencies}
|
||||
)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Adwaita Music Player and Library Manager";
|
||||
homepage = "https://jeffser.com/nocturne/";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [ pbsds ];
|
||||
mainProgram = "nocturne";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
|
|
@ -88,11 +88,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
"tex"
|
||||
];
|
||||
|
||||
passthru = {
|
||||
tlType = "run";
|
||||
pkgs = [ finalAttrs.finalPackage.tex ];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Simple, extensible literate-programming tool";
|
||||
homepage = "https://www.cs.tufts.edu/~nr/noweb";
|
||||
|
|
|
|||
|
|
@ -10,13 +10,13 @@
|
|||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "nwg-dock-hyprland";
|
||||
version = "0.4.8";
|
||||
version = "0.4.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nwg-piotr";
|
||||
repo = "nwg-dock-hyprland";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-a+LNABfe5rHStZrf+qlayNuCwTQf+7qY4xjx2K7Ky7E=";
|
||||
hash = "sha256-c2rLNHlC03Lt9y1mCL52zZWD2WFiMQBuWOujErp2k44=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-uHxH3g0pcfA5emF4LpvjYsSocjoFtk2p57JRSsY/PKY=";
|
||||
|
|
|
|||
|
|
@ -5,14 +5,17 @@
|
|||
fetchFromGitHub,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm_10,
|
||||
pnpm_11,
|
||||
nodejs_22,
|
||||
makeWrapper,
|
||||
versionCheckHook,
|
||||
rolldown,
|
||||
installShellFiles,
|
||||
version ? "2026.5.7",
|
||||
version ? "2026.5.12",
|
||||
}:
|
||||
let
|
||||
pnpm = pnpm_11.override { nodejs = nodejs_22; };
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "openclaw";
|
||||
version = version;
|
||||
|
|
@ -21,15 +24,15 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
|||
owner = "openclaw";
|
||||
repo = "openclaw";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ICkq6YfMJVvRC93sM+7/q2JI82wUhjaYAI3pRzmTHYc=";
|
||||
hash = "sha256-URuoljISNcDLuWUwOpZoFjPNVOmbThC9r00uShPR4Co=";
|
||||
};
|
||||
|
||||
pnpmDepsHash = "sha256-LXaRfZ0WY8VDpDc2zFr+Oel6AuYo6SiTrp37yokT1VU=";
|
||||
pnpmDepsHash = "sha256-pLQoA9eyHD84E0Rp8MMqfu95tGJtDEMbY+fh0nHjdWo=";
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
pnpm = pnpm_10;
|
||||
fetcherVersion = 3;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 4;
|
||||
hash = finalAttrs.pnpmDepsHash;
|
||||
};
|
||||
|
||||
|
|
@ -37,7 +40,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
|||
|
||||
nativeBuildInputs = [
|
||||
pnpmConfigHook
|
||||
pnpm_10
|
||||
pnpm
|
||||
nodejs_22
|
||||
makeWrapper
|
||||
installShellFiles
|
||||
|
|
|
|||
|
|
@ -12,13 +12,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "orbiton";
|
||||
version = "2.74.0";
|
||||
version = "2.74.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xyproto";
|
||||
repo = "orbiton";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ZzGwcTmfx7f5TeHim+ynJ7l09sktmXz1fLt2pRyW1Og=";
|
||||
hash = "sha256-NUXA5K3tT1XhWwS0Xj8DquOSBLmJqzH6ikiqiEg3kIs=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
|
|
|||
|
|
@ -23,25 +23,25 @@
|
|||
# runs without an external linter, which leaves `jsPlugins` configs inert.
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "oxlint";
|
||||
version = "1.65.0";
|
||||
version = "1.66.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oxc-project";
|
||||
repo = "oxc";
|
||||
tag = "oxlint_v${finalAttrs.version}";
|
||||
hash = "sha256-sEc4+FQKzYcKW33AwXzl0A1gNucSbpROYrY0pzVKhE8=";
|
||||
hash = "sha256-Z2NLzW5e83Mdoj1B0dkJ17FBGGXLH4BH+BJcLjGV1Hk=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-9YTUpr52HSnixGwmuArQVmvvVPHM2um4642FUP8h3lY=";
|
||||
hash = "sha256-TLdLpOsZswVhi9F+wT9Jbx212wIUl/604sOfhOvoWLY=";
|
||||
};
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
pnpm = pnpm_10;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-C2WEaxluYXmBl4UG4V444lWeKa7+7zcsY3B7Dz7nEqA=";
|
||||
hash = "sha256-i626Dy+J5bEqncxQrBV5mZCP09DwW7iF5fYLc8mvKG4=";
|
||||
};
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
|
|
|||
|
|
@ -21,13 +21,13 @@
|
|||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "peertube";
|
||||
version = "8.1.5";
|
||||
version = "8.1.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Chocobozzz";
|
||||
repo = "PeerTube";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-vLKjTn8tdHb/DUHj/w3ovXmRNzD8CMSKCaPleW+i7Tc=";
|
||||
hash = "sha256-Ei7MgEyHDJyLXnjI8mT7S7pLno+pTmFWZHc6oEZaTcM=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
|
@ -40,7 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
inherit (finalAttrs) pname version src;
|
||||
pnpm = pnpm_10;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-gvjk4OmKR6W/nllUCSaiX/lVXJSac9r04xr7fNiBftI=";
|
||||
hash = "sha256-fQ0FyBPZ3v3lCSoWYz1ccbOSrfgnzwQvOyE7Dp3ZGRY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
|||
|
|
@ -29,13 +29,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "planify";
|
||||
version = "4.19.3";
|
||||
version = "4.19.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alainm23";
|
||||
repo = "planify";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-811T28jvPTHwNDlR03Ym2f6RPq0N3FLZFqnThBIW1CU=";
|
||||
hash = "sha256-TUtaz0dYy4j6WBcHCLJR5+Rh6PwcU51PfxvdgEUM+vU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
|||
|
|
@ -7,16 +7,16 @@
|
|||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "pocketbase";
|
||||
version = "0.38.0";
|
||||
version = "0.38.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pocketbase";
|
||||
repo = "pocketbase";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-nN3yqf/CKHBTp0Dg31R1g8ZNXpinFfpkKsqYbt8EK5o=";
|
||||
hash = "sha256-p2cyZ1g5F2sIkhoXVPvDvy67gIJl57mX4dn5dH+E3kI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-8YtDQLeStdUb6HXX/KEifDHiX//9cH7XCBu2LtHrCQM=";
|
||||
vendorHash = "sha256-TrcCWMZx9rVathC4nSLQB72SlF6pQIX1+SseSbx6UDU=";
|
||||
|
||||
# This is the released subpackage from upstream repo
|
||||
subPackages = [ "examples/base" ];
|
||||
|
|
|
|||
|
|
@ -14,7 +14,9 @@
|
|||
nodejs,
|
||||
npmHooks,
|
||||
openssl,
|
||||
pipewire, # pw-metadata for bit-perfect sample rate queries
|
||||
pkg-config,
|
||||
pulseaudio, # pactl for PipeWire device enumeration and sink routing
|
||||
rustPlatform,
|
||||
webkitgtk_4_1,
|
||||
wrapGAppsHook3,
|
||||
|
|
@ -66,6 +68,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
|||
|
||||
postInstall = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PATH : ${
|
||||
lib.makeBinPath [
|
||||
pulseaudio
|
||||
pipewire
|
||||
]
|
||||
}
|
||||
--prefix LD_LIBRARY_PATH : ${
|
||||
lib.makeLibraryPath [
|
||||
libappindicator
|
||||
|
|
|
|||
|
|
@ -14,16 +14,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "qdrant";
|
||||
version = "1.17.1";
|
||||
version = "1.18.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qdrant";
|
||||
repo = "qdrant";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-EGk1BM8/SjH4LO25fG5GGtRXTnhA9prmGR5MxyzJNd4=";
|
||||
hash = "sha256-lqMyLnVD2iRu2AxlDHO7LzH2fFT01Gegn2JMhLAtDns=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-8+tMZQUsyouNbxlvykfQ66/THd9PMPnVUbWaXwMtVCM=";
|
||||
cargoHash = "sha256-nYW1vZzDg2atNLqROFhzKLh0v6aZHoYKUeNNTb82tr4=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
protobuf
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "qpwgraph";
|
||||
version = "1.0.1";
|
||||
version = "1.0.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "rncbc";
|
||||
repo = "qpwgraph";
|
||||
tag = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-RU6FD8/H4Z/IxaP+eTHNqkcP63nJ1Tos4PXpZE+i9d4=";
|
||||
sha256 = "sha256-mCsjNkQw4yalwZvkMzEmK/NVviVZCLxkROtaNrgEAUo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
|||
|
|
@ -109,7 +109,6 @@ rustPlatform.buildRustPackage rec {
|
|||
passthru = {
|
||||
tests = {
|
||||
inherit (nixosTests) quickwit;
|
||||
inherit (nixosTests.vector) syslog-quickwit;
|
||||
};
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
cargo,
|
||||
rustc,
|
||||
cmake,
|
||||
version ? "1.0.0-rc.12",
|
||||
version ? "1.0.0",
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "rolldown";
|
||||
|
|
@ -22,13 +22,13 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
owner = "rolldown";
|
||||
repo = "rolldown";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-G26fPJElnIob1b94KqM5b2A64qs+x/d8FNrAsaN8BOI=";
|
||||
hash = "sha256-EbxZe2JBj69F6bpPn4X7BTRE/dTb/mUIvvqw7oqhAe8=";
|
||||
};
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
pname = "rolldown";
|
||||
version = finalAttrs.version;
|
||||
src = finalAttrs.src;
|
||||
hash = "sha256-btGnMU+t8zij/gRfFp5p6h2/781IZM5AWvZNqC2dfNs=";
|
||||
hash = "sha256-VDDbS45Lefs/4x0fU1rULgBtjzZJgL1t2lYwENPknEE=";
|
||||
};
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
pname = "rolldown";
|
||||
|
|
@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
src = finalAttrs.src;
|
||||
pnpm = pnpm_10;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-lQVbYV8S3P1+AQwF9PBDxJqbKf9jBAtwymKcxQ55FeQ=";
|
||||
hash = "sha256-pq94ZI0WW9XJFzecdiM/PaOUp7DSSOWWjRO91rd8Xs4=";
|
||||
};
|
||||
|
||||
# cmake is only needed for Rust build (mimalloc-sys), not for a top-level configure
|
||||
|
|
|
|||
|
|
@ -43,11 +43,11 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "saga";
|
||||
version = "9.12.3";
|
||||
version = "9.12.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/saga-gis/saga-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-GLVFk3gaTJ6+AF3Vk201NwzetDI6VTA1Q7sE3KHyqDA=";
|
||||
hash = "sha256-hI7l0XiIACD65/i+Mhwlp2FMYrpXKHnGr3oYhwNEw3U=";
|
||||
};
|
||||
|
||||
sourceRoot = "saga-${finalAttrs.version}/saga-gis";
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
replaceVars,
|
||||
pandoc,
|
||||
nodejs,
|
||||
pnpm_9,
|
||||
pnpm_10,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
electron,
|
||||
|
|
@ -15,24 +15,22 @@
|
|||
copyDesktopItems,
|
||||
nix-update-script,
|
||||
xdg-utils,
|
||||
darwin,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (stdenv.hostPlatform) isLinux isDarwin system;
|
||||
|
||||
pnpm = pnpm_10;
|
||||
|
||||
platformIds = {
|
||||
"x86_64-linux" = "linux";
|
||||
"aarch64-linux" = "linux-arm64";
|
||||
"x86_64-darwin" = "darwin";
|
||||
"aarch64-darwin" = "darwin-arm64";
|
||||
};
|
||||
|
||||
platformId = platformIds.${stdenv.system} or (throw "Unsupported platform: ${stdenv.system}");
|
||||
|
||||
desktopEntry = makeDesktopItem {
|
||||
name = "siyuan";
|
||||
desktopName = "SiYuan";
|
||||
comment = "Refactor your thinking";
|
||||
icon = "siyuan";
|
||||
exec = "siyuan %U";
|
||||
categories = [ "Utility" ];
|
||||
};
|
||||
platformId = platformIds.${system} or (throw "Unsupported platform: ${system}");
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "siyuan";
|
||||
|
|
@ -69,9 +67,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
# Set flags and tags as per upstream's Dockerfile
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X"
|
||||
"github.com/siyuan-note/siyuan/kernel/util.Mode=prod"
|
||||
"-X 'github.com/siyuan-note/siyuan/kernel/util.Mode=prod'"
|
||||
];
|
||||
tags = [ "fts5" ];
|
||||
};
|
||||
|
|
@ -85,9 +81,14 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
nativeBuildInputs = [
|
||||
nodejs
|
||||
pnpmConfigHook
|
||||
pnpm_9
|
||||
pnpm
|
||||
]
|
||||
++ lib.optionals isLinux [
|
||||
makeWrapper
|
||||
copyDesktopItems
|
||||
]
|
||||
++ lib.optionals isDarwin [
|
||||
darwin.autoSignDarwinBinariesHook
|
||||
];
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
|
|
@ -98,9 +99,9 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
sourceRoot
|
||||
postPatch
|
||||
;
|
||||
pnpm = pnpm_9;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-GAbP9H+c+JXymH0/vpeYOJrkkFJGVyKcpJYFeyRLSKc=";
|
||||
hash = "sha256-M2Fdie0XK2Pck/fP7Djxb7XNAQXpJO2i2kSJrDj1G0E=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/app";
|
||||
|
|
@ -114,6 +115,9 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
# link kernel into the correct starting place so that electron-builder can copy it to it's final location
|
||||
mkdir kernel-${platformId}
|
||||
ln -s ${finalAttrs.kernel}/bin/kernel kernel-${platformId}/SiYuan-Kernel
|
||||
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
|
|
@ -121,19 +125,36 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
|
||||
pnpm build
|
||||
|
||||
npm exec electron-builder -- \
|
||||
--dir \
|
||||
--config electron-builder-${platformId}.yml \
|
||||
-c.electronDist=${electron.dist} \
|
||||
-c.electronVersion=${electron.version}
|
||||
electronBuilderArgs=(
|
||||
--dir
|
||||
--config electron-builder-${platformId}.yml
|
||||
-c.electronDist=electron-dist
|
||||
-c.electronVersion=${electron.version}
|
||||
-c.mac.identity=null
|
||||
)
|
||||
|
||||
npm exec electron-builder -- "''${electronBuilderArgs[@]}"
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
''
|
||||
+ lib.optionalString isDarwin ''
|
||||
mkdir -p $out/Applications $out/bin
|
||||
|
||||
cp -R build/mac*/*.app $out/Applications/SiYuan.app
|
||||
|
||||
cat > $out/bin/siyuan << EOF
|
||||
#!${stdenv.shell}
|
||||
exec open -na "$out/Applications/SiYuan.app" --args "\$@"
|
||||
EOF
|
||||
chmod +x $out/bin/siyuan
|
||||
''
|
||||
+ lib.optionalString isLinux ''
|
||||
mkdir -p $out/share/siyuan
|
||||
|
||||
cp -r build/*-unpacked/{locales,resources{,.pak}} $out/share/siyuan
|
||||
|
||||
makeWrapper ${lib.getExe electron} $out/bin/siyuan \
|
||||
|
|
@ -145,20 +166,26 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
--inherit-argv0
|
||||
|
||||
install -Dm644 src/assets/icon.svg $out/share/icons/hicolor/scalable/apps/siyuan.svg
|
||||
|
||||
''
|
||||
+ ''
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
desktopItems = [ desktopEntry ];
|
||||
desktopItems = lib.optional isLinux (makeDesktopItem {
|
||||
name = "siyuan";
|
||||
desktopName = "SiYuan";
|
||||
comment = "Refactor your thinking";
|
||||
icon = "siyuan";
|
||||
exec = "siyuan %U";
|
||||
categories = [ "Utility" ];
|
||||
});
|
||||
|
||||
passthru = {
|
||||
inherit (finalAttrs.kernel) goModules; # this tricks nix-update into also updating the kernel goModules FOD
|
||||
updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
"--version-regex"
|
||||
"^v(\\d+\\.\\d+\\.\\d+)$"
|
||||
];
|
||||
};
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
"--version-regex"
|
||||
"^v(\\d+\\.\\d+\\.\\d+)$"
|
||||
"--subpackage=kernel"
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
|
|
|||
|
|
@ -5,13 +5,13 @@
|
|||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "clipboard.yazi";
|
||||
version = "0-unstable-2026-05-20";
|
||||
version = "0-unstable-2026-05-22";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "XYenon";
|
||||
repo = "clipboard.yazi";
|
||||
rev = "a125df07ba69c893df0e22592e55c1130ce16fe4";
|
||||
hash = "sha256-Q+8MGfeP7reX3nDl5V/HFxRYIayPKEQT5w0b+n73b5k=";
|
||||
rev = "0ac03203a88a6ca85539378fbb1b73b75fe8521e";
|
||||
hash = "sha256-Ug0lEL+lR3xH1ps4fNljbs2DyExz0P5M2waWR9XTcEQ=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
|
|
|||
|
|
@ -5,13 +5,13 @@
|
|||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "close-and-restore-tab.yazi";
|
||||
version = "0-unstable-2025-05-29";
|
||||
version = "0-unstable-2026-05-23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MasouShizuka";
|
||||
repo = "close-and-restore-tab.yazi";
|
||||
rev = "5047217e59f9c2f4aa5ae15baa92df7b3f724e67";
|
||||
hash = "sha256-bsx6HVdB2CcKXQG+tGxY2T8Ys8TluIe6xWHhOhv4L4I=";
|
||||
rev = "d7638aadf1f6c4ca5ed2dbff2d3b07c6f86d9804";
|
||||
hash = "sha256-s9VOheYlUw7uqxZnd0+mN6lFghOi1shxf0DVIfn6unQ=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
stdenv,
|
||||
fetchurl,
|
||||
perl,
|
||||
expat,
|
||||
fontconfig,
|
||||
freetype,
|
||||
libxrender,
|
||||
|
|
@ -11,6 +10,7 @@
|
|||
libx11,
|
||||
libsm,
|
||||
libice,
|
||||
which,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
|
|
@ -22,9 +22,12 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
hash = "sha256-8pZ/HAVV341K6QRDUC0UzzO2rGW2AvSZ++Pp445V27w=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
nativeBuildInputs = [
|
||||
perl
|
||||
expat
|
||||
which
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
fontconfig
|
||||
freetype
|
||||
libice
|
||||
|
|
@ -34,7 +37,11 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
libxrender
|
||||
];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2 -fgnu89-inline";
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
enableParallelBuilding = true;
|
||||
|
||||
env.CFLAGS = "-fgnu89-inline";
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.logicalshift.co.uk/unix/zoom/";
|
||||
|
|
@ -49,5 +56,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
license = lib.licenses.gpl3;
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "zoom";
|
||||
broken = true;
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "emscripten";
|
||||
version = "5.0.6";
|
||||
version = "5.0.7";
|
||||
|
||||
llvmEnv = symlinkJoin {
|
||||
name = "emscripten-llvm-${version}";
|
||||
|
|
@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
|
|||
src = fetchFromGitHub {
|
||||
owner = "emscripten-core";
|
||||
repo = "emscripten";
|
||||
hash = "sha256-1lsM/qyNS1rRj0D45mSTtTz7ba+OZggdE0t9N4SHLBU=";
|
||||
hash = "sha256-EZYjaTja0rojl27UYFbhjHpSBvWu6Vlr6Xe7S+5C4Xc=";
|
||||
rev = version;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "airos";
|
||||
version = "0.6.5";
|
||||
version = "0.6.7";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.13";
|
||||
|
|
@ -23,7 +23,7 @@ buildPythonPackage (finalAttrs: {
|
|||
owner = "CoMPaTech";
|
||||
repo = "python-airos";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-B94YeY6R+83xo9+tmUbgJNi6AvBZ7h4C9VxovPVOL9E=";
|
||||
hash = "sha256-ad2rYKVnA3yMhXDwARg01EcAr1Et6ADgppkTEAGDI0I=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
|
|
|||
|
|
@ -11,6 +11,11 @@
|
|||
lz4,
|
||||
zlib,
|
||||
zstd,
|
||||
stdenv,
|
||||
sse2Support ? stdenv.hostPlatform.avx2Support,
|
||||
ssse3Support ? stdenv.hostPlatform.ssse3Support,
|
||||
avx2Support ? stdenv.hostPlatform.avx2Support,
|
||||
avx512Support ? stdenv.hostPlatform.avx512Support,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
|
|
@ -64,10 +69,10 @@ buildPythonPackage rec {
|
|||
# on Linux/Darwin. Pin them to keep the output generic and machine-independent.
|
||||
# https://github.com/silx-kit/hdf5plugin/blob/v6.0.0/doc/install.rst#available-options
|
||||
env.HDF5PLUGIN_NATIVE = "False";
|
||||
env.HDF5PLUGIN_SSE2 = "False";
|
||||
env.HDF5PLUGIN_SSSE3 = "False";
|
||||
env.HDF5PLUGIN_AVX2 = "False";
|
||||
env.HDF5PLUGIN_AVX512 = "False";
|
||||
env.HDF5PLUGIN_SSE2 = if sse2Support then "True" else "False";
|
||||
env.HDF5PLUGIN_SSSE3 = if ssse3Support then "True" else "False";
|
||||
env.HDF5PLUGIN_AVX2 = if avx2Support then "True" else "False";
|
||||
env.HDF5PLUGIN_AVX512 = if avx512Support then "True" else "False";
|
||||
|
||||
checkPhase = ''
|
||||
python test/test.py
|
||||
|
|
|
|||
51
pkgs/development/python-modules/mpris-server/default.nix
Normal file
51
pkgs/development/python-modules/mpris-server/default.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
emoji,
|
||||
pydbus,
|
||||
pygobject3,
|
||||
unidecode,
|
||||
setuptools,
|
||||
strenum,
|
||||
}:
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "mpris-server";
|
||||
version = "0.9.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "mpris_server";
|
||||
inherit (finalAttrs) version;
|
||||
hash = "sha256-T0ZeDQiYIAhKR8aw3iv3rtwzc+R0PTQuIh6+Hi4rIHQ=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace mpris_server/__init__.py \
|
||||
--replace-fail \
|
||||
"__version__: Final[str] = '0.9.0'" \
|
||||
"__version__: Final[str] = '${finalAttrs.version}'"
|
||||
'';
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
emoji
|
||||
pydbus
|
||||
pygobject3
|
||||
strenum
|
||||
unidecode
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "mpris_server" ];
|
||||
|
||||
# upstream has no tests
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Publish a MediaPlayer2 MPRIS device to D-Bus";
|
||||
homepage = "https://pypi.org/project/mpris-server/";
|
||||
license = lib.licenses.agpl3Only;
|
||||
maintainers = with lib.maintainers; [ pbsds ];
|
||||
};
|
||||
})
|
||||
|
|
@ -149,6 +149,10 @@ buildPythonPackage (finalAttrs: {
|
|||
"test_big_arrays" # ValueError: array is too big; `arr.size * arr.dtype.itemsize` is larger tha...
|
||||
"test_multinomial_pvals_float32" # Failed: DID NOT RAISE <class 'ValueError'>
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isRiscV64 [
|
||||
"test_floor_division_errors" # FloatingPointError: invalid value encountered in floor_divide
|
||||
"test_unary_spurious_fpexception" # AssertionError: Got warnings: [<warnings.WarningMessage ...>]
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [
|
||||
# AssertionError: (np.int64(0), np.longdouble('9.9999999999999994515e-21'), np.longdouble('3.9696755572509052902e+20'), 'arctanh')
|
||||
"test_loss_of_precision"
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
python,
|
||||
pytestCheckHook,
|
||||
|
||||
# build system
|
||||
|
|
@ -44,6 +45,11 @@ buildPythonPackage (finalAttrs: {
|
|||
pytest-mypy-plugins
|
||||
];
|
||||
|
||||
# expose the installed package so pytest-mypy-plugins' mypy subprocess can resolve `import obspec`
|
||||
preCheck = ''
|
||||
export MYPYPATH=$out/${python.sitePackages}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Object storage interface definitions for Python";
|
||||
homepage = "http://developmentseed.org/obspec/";
|
||||
|
|
|
|||
|
|
@ -3,18 +3,21 @@
|
|||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
unittestCheckHook,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "unidiff";
|
||||
version = "0.7.5";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
inherit (finalAttrs) pname version;
|
||||
sha256 = "2e5f0162052248946b9f0970a40e9e124236bf86c82b70821143a6fc1dea2574";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
nativeCheckInputs = [ unittestCheckHook ];
|
||||
|
||||
unittestFlagsArray = [
|
||||
|
|
@ -28,8 +31,8 @@ buildPythonPackage rec {
|
|||
description = "Unified diff python parsing/metadata extraction library";
|
||||
mainProgram = "unidiff";
|
||||
homepage = "https://github.com/matiasb/python-unidiff";
|
||||
changelog = "https://github.com/matiasb/python-unidiff/raw/v${version}/HISTORY";
|
||||
changelog = "https://github.com/matiasb/python-unidiff/raw/v${finalAttrs.version}/HISTORY";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.pbsds ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -28,11 +28,11 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "drbd";
|
||||
version = "9.33.0";
|
||||
version = "9.34.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pkg.linbit.com/downloads/drbd/utils/drbd-utils-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-Ij/gfQtkbpkbM7qepBRo+aZvkDVi59p2bdD8a06jPbk=";
|
||||
hash = "sha256-cGPmRRBWtsUbGrKeGjMyETEobRGu6jy59JFFizymPas=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
grafanaPlugin {
|
||||
pname = "victoriametrics-logs-datasource";
|
||||
version = "0.26.3";
|
||||
zipHash = "sha256-6aRSuGZCfw3iPkZrGvgij7sTRCZ/kp+2s1T4MCecdIo=";
|
||||
version = "0.27.1";
|
||||
zipHash = "sha256-aE/PUQQJKsavZTNuS304Ds/PaWx6vkUklaAwVNeMHvQ=";
|
||||
meta = {
|
||||
description = "Grafana datasource for VictoriaLogs";
|
||||
license = lib.licenses.asl20;
|
||||
|
|
|
|||
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
postgresqlBuildExtension (finalAttrs: {
|
||||
pname = "pg_net";
|
||||
version = "0.20.2";
|
||||
version = "0.20.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "supabase";
|
||||
repo = "pg_net";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-8xhk3WPONVjB2JIIRDBJP9fmtlMx0ld2t9GFYIzTYyQ=";
|
||||
hash = "sha256-uOy/ESRKXngAyDTLHEQ81ZxZCfdtqoP9OxsqzyQJdEY=";
|
||||
};
|
||||
|
||||
buildInputs = [ curl ];
|
||||
|
|
|
|||
|
|
@ -239,11 +239,7 @@ rec {
|
|||
runCommand "texlive-test-texdoc"
|
||||
{
|
||||
nativeBuildInputs = [
|
||||
(texlive.withPackages (ps: [
|
||||
ps.luatex
|
||||
ps.texdoc
|
||||
ps.texdoc.texdoc
|
||||
]))
|
||||
((texlive.withPackages (ps: [ ps.texdoc ])).overrideAttrs { withDocs = true; })
|
||||
];
|
||||
}
|
||||
''
|
||||
|
|
@ -951,7 +947,7 @@ rec {
|
|||
scheme:
|
||||
builtins.foldl' (
|
||||
acc: pkg: concatLicenses acc (lib.toList (pkg.meta.license or [ ]))
|
||||
) [ ] scheme.passthru.requiredTeXPackages;
|
||||
) [ ] scheme.passthru.includedTeXPackages;
|
||||
correctLicensesAttrNames = scheme: lib.sort lt (map licenseToAttrName (correctLicenses scheme));
|
||||
|
||||
hasLicenseMismatch =
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
# texlive package set
|
||||
tl,
|
||||
bin,
|
||||
|
||||
tlpdbVersion,
|
||||
|
||||
|
|
@ -11,10 +10,7 @@
|
|||
makeFontsConf,
|
||||
makeWrapper,
|
||||
runCommand,
|
||||
writeShellScript,
|
||||
writeText,
|
||||
toTLPkgSets,
|
||||
bash,
|
||||
perl,
|
||||
|
||||
# common runtime dependencies
|
||||
|
|
@ -26,12 +22,9 @@
|
|||
}:
|
||||
|
||||
lib.fix (
|
||||
self:
|
||||
buildTeXEnv:
|
||||
{
|
||||
withDocs ? false,
|
||||
withSources ? false,
|
||||
requiredTeXPackages ? ps: [ ps.scheme-infraonly ],
|
||||
|
||||
### texlive.combine backward compatibility
|
||||
__extraName ? "combined",
|
||||
__extraVersion ? "",
|
||||
|
|
@ -41,448 +34,494 @@ lib.fix (
|
|||
__fromCombineWrapper ? false,
|
||||
# build only the formats of a package (for internal use!)
|
||||
__formatsOf ? null,
|
||||
}@args:
|
||||
}:
|
||||
buildEnv (
|
||||
finalAttrs:
|
||||
|
||||
let
|
||||
### texlive.combine backward compatibility
|
||||
# if necessary, convert old style { pkgs = [ ... ]; } packages to attribute sets
|
||||
isOldPkgList = p: !p.outputSpecified or false && p ? pkgs && builtins.all (p: p ? tlType) p.pkgs;
|
||||
ensurePkgSets =
|
||||
ps:
|
||||
if !__fromCombineWrapper && builtins.any isOldPkgList ps then
|
||||
let
|
||||
oldPkgLists = builtins.partition isOldPkgList ps;
|
||||
in
|
||||
oldPkgLists.wrong ++ lib.concatMap toTLPkgSets oldPkgLists.right
|
||||
else
|
||||
ps;
|
||||
|
||||
pkgList = rec {
|
||||
# resolve dependencies of the packages that affect the runtime
|
||||
all =
|
||||
let
|
||||
packages = ensurePkgSets (requiredTeXPackages tl);
|
||||
runtime = builtins.partition (
|
||||
p:
|
||||
p.outputSpecified or false
|
||||
-> builtins.elem (p.tlOutputName or p.outputName) [
|
||||
"out"
|
||||
"tex"
|
||||
"tlpkg"
|
||||
]
|
||||
) packages;
|
||||
keySet = p: {
|
||||
key =
|
||||
p.pname or p.name
|
||||
+ lib.optionalString (p.outputSpecified or false) ("-" + p.tlOutputName or p.outputName or "");
|
||||
inherit p;
|
||||
tlDeps = if p ? tlDeps then ensurePkgSets p.tlDeps else (p.requiredTeXPackages or (_: [ ]) tl);
|
||||
};
|
||||
in
|
||||
# texlive.combine: the wrapper already resolves all dependencies
|
||||
if __fromCombineWrapper then
|
||||
requiredTeXPackages null
|
||||
let
|
||||
# if necessary, convert old style { pkgs = [ ... ]; } packages to attribute sets
|
||||
isOldPkgList = p: !p.outputSpecified or false && p ? pkgs && builtins.all (p: p ? tlType) p.pkgs;
|
||||
ensurePkgSets =
|
||||
ps:
|
||||
if !finalAttrs.passthru.__fromCombineWrapper && builtins.any isOldPkgList ps then
|
||||
let
|
||||
oldPkgLists = builtins.partition isOldPkgList ps;
|
||||
in
|
||||
oldPkgLists.wrong ++ lib.concatMap toTLPkgSets oldPkgLists.right
|
||||
else
|
||||
builtins.catAttrs "p" (
|
||||
builtins.genericClosure {
|
||||
startSet = map keySet runtime.right;
|
||||
operator = p: map keySet p.tlDeps;
|
||||
}
|
||||
)
|
||||
++ runtime.wrong;
|
||||
ps;
|
||||
|
||||
# group the specified outputs
|
||||
specified = builtins.partition (p: p.outputSpecified or false) all;
|
||||
specifiedOutputs = lib.groupBy (p: p.tlOutputName or p.outputName) specified.right;
|
||||
otherOutputNames = builtins.catAttrs "key" (
|
||||
builtins.genericClosure {
|
||||
startSet = map (key: { inherit key; }) (
|
||||
lib.concatLists (builtins.catAttrs "outputs" specified.wrong)
|
||||
);
|
||||
operator = _: [ ];
|
||||
}
|
||||
);
|
||||
otherOutputs = lib.genAttrs otherOutputNames (n: builtins.catAttrs n specified.wrong);
|
||||
outputsToInstall = builtins.catAttrs "key" (
|
||||
builtins.genericClosure {
|
||||
startSet = map (key: { inherit key; }) (
|
||||
[ "out" ]
|
||||
++ lib.optional (otherOutputs ? man) "man"
|
||||
++ lib.concatLists (builtins.catAttrs "outputsToInstall" (builtins.catAttrs "meta" specified.wrong))
|
||||
);
|
||||
operator = _: [ ];
|
||||
}
|
||||
);
|
||||
pkgList = rec {
|
||||
# resolve dependencies of the packages that affect the runtime
|
||||
all =
|
||||
let
|
||||
packages = ensurePkgSets (finalAttrs.passthru.requiredTeXPackages tl);
|
||||
runtime = builtins.partition (
|
||||
p:
|
||||
p.outputSpecified or false
|
||||
-> builtins.elem (p.tlOutputName or p.outputName) [
|
||||
"out"
|
||||
"tex"
|
||||
"tlpkg"
|
||||
]
|
||||
) packages;
|
||||
keySet = p: {
|
||||
key =
|
||||
p.pname or p.name
|
||||
+ lib.optionalString (p.outputSpecified or false) ("-" + p.tlOutputName or p.outputName or "");
|
||||
inherit p;
|
||||
tlDeps =
|
||||
if p ? tlDeps then
|
||||
(if builtins.isFunction p.tlDeps then p.tlDeps tl else ensurePkgSets p.tlDeps)
|
||||
else
|
||||
[ ];
|
||||
};
|
||||
in
|
||||
# texlive.combine: the wrapper already resolves all dependencies
|
||||
if finalAttrs.passthru.__fromCombineWrapper then
|
||||
finalAttrs.passthru.requiredTeXPackages null
|
||||
else
|
||||
builtins.catAttrs "p" (
|
||||
builtins.genericClosure {
|
||||
startSet = map keySet runtime.right;
|
||||
operator = p: map keySet p.tlDeps;
|
||||
}
|
||||
)
|
||||
++ runtime.wrong;
|
||||
|
||||
# split binary and tlpkg from tex, texdoc, texsource
|
||||
bin =
|
||||
if __fromCombineWrapper then
|
||||
builtins.filter (p: p.tlType == "bin") all # texlive.combine: legacy filter
|
||||
else
|
||||
otherOutputs.out or [ ] ++ specifiedOutputs.out or [ ];
|
||||
tlpkg =
|
||||
if __fromCombineWrapper then
|
||||
builtins.filter (p: p.tlType == "tlpkg") all # texlive.combine: legacy filter
|
||||
else
|
||||
otherOutputs.tlpkg or [ ] ++ specifiedOutputs.tlpkg or [ ];
|
||||
|
||||
nonbin =
|
||||
if __fromCombineWrapper then
|
||||
builtins.filter (p: p.tlType != "bin" && p.tlType != "tlpkg") all # texlive.combine: legacy filter
|
||||
else
|
||||
(
|
||||
if __combine then # texlive.combine: emulate old input ordering to avoid rebuilds
|
||||
lib.concatMap (
|
||||
p:
|
||||
lib.optional (p ? tex) p.tex
|
||||
++ lib.optional ((withDocs || p ? man) && p ? texdoc) p.texdoc
|
||||
++ lib.optional (withSources && p ? texsource) p.texsource
|
||||
) specified.wrong
|
||||
else
|
||||
otherOutputs.tex or [ ]
|
||||
++ lib.optionals withDocs (otherOutputs.texdoc or [ ])
|
||||
++ lib.optionals withSources (otherOutputs.texsource or [ ])
|
||||
)
|
||||
++ specifiedOutputs.tex or [ ]
|
||||
++ specifiedOutputs.texdoc or [ ]
|
||||
++ specifiedOutputs.texsource or [ ];
|
||||
|
||||
# outputs that do not become part of the environment
|
||||
nonEnvOutputs = lib.subtractLists [ "out" "tex" "texdoc" "texsource" "tlpkg" ] otherOutputNames;
|
||||
|
||||
# packages that contribute to config files and formats
|
||||
fontMaps = lib.filter (p: p ? fontMaps && (p.tlOutputName or p.outputName == "tex")) nonbin;
|
||||
sortedFontMaps = builtins.sort (a: b: a.pname < b.pname) fontMaps;
|
||||
hyphenPatterns = lib.filter (
|
||||
p: p ? hyphenPatterns && (p.tlOutputName or p.outputName == "tex")
|
||||
) nonbin;
|
||||
sortedHyphenPatterns = builtins.sort (a: b: a.pname < b.pname) hyphenPatterns;
|
||||
formatPkgs = lib.filter (
|
||||
p:
|
||||
p ? formats
|
||||
&& (p.outputSpecified or false -> p.tlOutputName or p.outputName == "tex")
|
||||
&& builtins.any (f: f.enabled or true) p.formats
|
||||
) all;
|
||||
sortedFormatPkgs =
|
||||
if __formatsOf != null then [ __formatsOf ] else builtins.sort (a: b: a.pname < b.pname) formatPkgs;
|
||||
formats = map (
|
||||
p:
|
||||
self {
|
||||
requiredTeXPackages =
|
||||
ps:
|
||||
[
|
||||
ps.scheme-infraonly
|
||||
p
|
||||
]
|
||||
++ hyphenPatterns;
|
||||
__formatsOf = p;
|
||||
}
|
||||
) sortedFormatPkgs;
|
||||
};
|
||||
|
||||
# list generated by inspecting `grep -IR '\([^a-zA-Z]\|^\)gs\( \|$\|"\)' "$TEXMFDIST"/scripts`
|
||||
# and `grep -IR rungs "$TEXMFDIST"`
|
||||
# and ignoring luatex, perl, and shell scripts (those must be patched using postFixup)
|
||||
needsGhostscript = lib.any (
|
||||
p:
|
||||
lib.elem p.pname [
|
||||
"context"
|
||||
"dvipdfmx"
|
||||
"latex-papersize"
|
||||
"lyluatex"
|
||||
]
|
||||
) pkgList.bin;
|
||||
|
||||
pname =
|
||||
if __combine then
|
||||
"texlive-${__extraName}" # texlive.combine: old name
|
||||
else
|
||||
"texlive";
|
||||
version =
|
||||
if __combine then
|
||||
"${toString tlpdbVersion.year}${__extraVersion}" # texlive.combine: old version
|
||||
else
|
||||
"${toString tlpdbVersion.year}-r${toString tlpdbVersion.revision}-"
|
||||
+ (lib.optionalString tlpdbVersion.frozen "final-")
|
||||
+ (if __formatsOf != null then "${__formatsOf.pname}-fmt" else "env");
|
||||
|
||||
name = "${pname}-${version}";
|
||||
|
||||
texmfdist = buildEnv {
|
||||
name = "${name}-texmfdist";
|
||||
|
||||
# remove fake derivations (without 'outPath') to avoid undesired build dependencies
|
||||
paths = builtins.catAttrs "outPath" pkgList.nonbin;
|
||||
|
||||
# mktexlsr
|
||||
nativeBuildInputs = [
|
||||
tl.texlive-scripts # for mktexlsr.pl with --sort support
|
||||
perl
|
||||
];
|
||||
|
||||
postBuild = # generate ls-R database
|
||||
''
|
||||
perl ${tl.texlive-scripts.tex}/scripts/texlive/mktexlsr.pl --sort "$out"
|
||||
'';
|
||||
};
|
||||
|
||||
tlpkg = buildEnv {
|
||||
name = "${name}-tlpkg";
|
||||
|
||||
# remove fake derivations (without 'outPath') to avoid undesired build dependencies
|
||||
paths = builtins.catAttrs "outPath" pkgList.tlpkg;
|
||||
};
|
||||
|
||||
# the 'non-relocated' packages must live in $TEXMFROOT/texmf-dist
|
||||
# and sometimes look into $TEXMFROOT/tlpkg (notably fmtutil, updmap look for perl modules in both)
|
||||
texmfroot =
|
||||
runCommand "${name}-texmfroot"
|
||||
{
|
||||
inherit texmfdist tlpkg;
|
||||
}
|
||||
''
|
||||
mkdir -p "$out"
|
||||
ln -s "$texmfdist" "$out"/texmf-dist
|
||||
ln -s "$tlpkg" "$out"/tlpkg
|
||||
'';
|
||||
|
||||
# texlive.combine: expose info and man pages in usual /share/{info,man} location
|
||||
doc = buildEnv {
|
||||
name = "${name}-doc";
|
||||
|
||||
paths = [ (texmfdist.outPath + "/doc") ];
|
||||
extraPrefix = "/share";
|
||||
|
||||
pathsToLink = [
|
||||
"/info"
|
||||
"/man"
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description =
|
||||
"TeX Live environment"
|
||||
+ lib.optionalString withDocs " with documentation"
|
||||
+ lib.optionalString (withDocs && withSources) " and"
|
||||
+ lib.optionalString withSources " with sources";
|
||||
platforms = lib.platforms.all;
|
||||
longDescription =
|
||||
"Contains the following packages and their transitive dependencies:\n - "
|
||||
+ lib.concatMapStringsSep "\n - " (
|
||||
p:
|
||||
p.pname + (lib.optionalString (p.outputSpecified or false) " (${p.tlOutputName or p.outputName})")
|
||||
) (requiredTeXPackages tl);
|
||||
};
|
||||
|
||||
# other outputs
|
||||
nonEnvOutputs = lib.genAttrs pkgList.nonEnvOutputs (
|
||||
outName:
|
||||
buildEnv {
|
||||
inherit name;
|
||||
paths = builtins.catAttrs "outPath" (
|
||||
pkgList.otherOutputs.${outName} or [ ] ++ pkgList.specifiedOutputs.${outName} or [ ]
|
||||
# group the specified outputs
|
||||
specified = builtins.partition (p: p.outputSpecified or false) all;
|
||||
specifiedOutputs = lib.groupBy (p: p.tlOutputName or p.outputName) specified.right;
|
||||
otherOutputNames = builtins.catAttrs "key" (
|
||||
builtins.genericClosure {
|
||||
startSet = map (key: { inherit key; }) (
|
||||
lib.concatLists (builtins.catAttrs "outputs" specified.wrong)
|
||||
);
|
||||
operator = _: [ ];
|
||||
}
|
||||
);
|
||||
derivationArgs = {
|
||||
outputs = [ outName ];
|
||||
nativeBuildInputs = [
|
||||
# force the output to be ${outName} or nix-env will not work
|
||||
(writeShellScript "force-output.sh" ''
|
||||
export out="''${${outName}-}"
|
||||
'')
|
||||
];
|
||||
inherit meta passthru;
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
passthru = {
|
||||
# This is set primarily to help find-tarballs.nix to do its job
|
||||
requiredTeXPackages = builtins.filter lib.isDerivation (
|
||||
pkgList.bin
|
||||
++ pkgList.nonbin
|
||||
++ lib.optionals (!__fromCombineWrapper) (
|
||||
lib.concatMap (
|
||||
n: (pkgList.otherOutputs.${n} or [ ] ++ pkgList.specifiedOutputs.${n} or [ ])
|
||||
) pkgList.nonEnvOutputs
|
||||
)
|
||||
);
|
||||
# useful for inclusion in the `fonts.packages` nixos option or for use in devshells
|
||||
fonts = "${texmfroot}/texmf-dist/fonts";
|
||||
# support variants attrs, (prev: attrs)
|
||||
__overrideTeXConfig =
|
||||
newArgs:
|
||||
let
|
||||
appliedArgs = if builtins.isFunction newArgs then newArgs args else newArgs;
|
||||
in
|
||||
self (args // { __fromCombineWrapper = false; } // appliedArgs);
|
||||
withPackages =
|
||||
reqs:
|
||||
self (
|
||||
args
|
||||
// {
|
||||
requiredTeXPackages = ps: reqs ps ++ requiredTeXPackages ps;
|
||||
__fromCombineWrapper = false;
|
||||
otherOutputs = lib.genAttrs otherOutputNames (n: builtins.catAttrs n specified.wrong);
|
||||
outputsToInstall = builtins.catAttrs "key" (
|
||||
builtins.genericClosure {
|
||||
startSet = map (key: { inherit key; }) (
|
||||
[ "out" ]
|
||||
++ lib.optional (otherOutputs ? man) "man"
|
||||
++ lib.concatLists (builtins.catAttrs "outputsToInstall" (builtins.catAttrs "meta" specified.wrong))
|
||||
);
|
||||
operator = _: [ ];
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
# TeXLive::TLOBJ::fmtutil_cnf_lines
|
||||
fmtutilLine =
|
||||
{
|
||||
name,
|
||||
engine,
|
||||
enabled ? true,
|
||||
patterns ? [ "-" ],
|
||||
options ? "",
|
||||
...
|
||||
}:
|
||||
lib.optionalString (!enabled) "#! "
|
||||
+ "${name} ${engine} ${lib.concatStringsSep "," patterns} ${options}";
|
||||
fmtutilLines =
|
||||
{ pname, formats, ... }:
|
||||
[
|
||||
"#"
|
||||
"# from ${pname}:"
|
||||
]
|
||||
++ map fmtutilLine formats;
|
||||
# split binary and tlpkg from tex, texdoc, texsource
|
||||
bin =
|
||||
if finalAttrs.passthru.__fromCombineWrapper then
|
||||
builtins.filter (p: p.tlType == "bin") all # texlive.combine: legacy filter
|
||||
else
|
||||
otherOutputs.out or [ ] ++ specifiedOutputs.out or [ ];
|
||||
tlpkg =
|
||||
if finalAttrs.passthru.__fromCombineWrapper then
|
||||
builtins.filter (p: p.tlType == "tlpkg") all # texlive.combine: legacy filter
|
||||
else
|
||||
otherOutputs.tlpkg or [ ] ++ specifiedOutputs.tlpkg or [ ];
|
||||
|
||||
# TeXLive::TLOBJ::language_dat_lines
|
||||
langDatLine =
|
||||
{
|
||||
name,
|
||||
file,
|
||||
synonyms ? [ ],
|
||||
...
|
||||
}:
|
||||
[ "${name} ${file}" ] ++ map (s: "=" + s) synonyms;
|
||||
langDatLines =
|
||||
{ pname, hyphenPatterns, ... }:
|
||||
[ "% from ${pname}:" ] ++ builtins.concatMap langDatLine hyphenPatterns;
|
||||
nonbin =
|
||||
if finalAttrs.passthru.__fromCombineWrapper then
|
||||
builtins.filter (p: p.tlType != "bin" && p.tlType != "tlpkg") all # texlive.combine: legacy filter
|
||||
else
|
||||
(
|
||||
if finalAttrs.__combine then # texlive.combine: emulate old input ordering to avoid rebuilds
|
||||
lib.concatMap (
|
||||
p:
|
||||
lib.optional (p ? tex) p.tex
|
||||
++ lib.optional ((finalAttrs.withDocs || p ? man) && p ? texdoc) p.texdoc
|
||||
++ lib.optional (finalAttrs.withSources && p ? texsource) p.texsource
|
||||
) specified.wrong
|
||||
else
|
||||
otherOutputs.tex or [ ]
|
||||
++ lib.optionals finalAttrs.withDocs (otherOutputs.texdoc or [ ])
|
||||
++ lib.optionals finalAttrs.withSources (otherOutputs.texsource or [ ])
|
||||
)
|
||||
++ specifiedOutputs.tex or [ ]
|
||||
++ specifiedOutputs.texdoc or [ ]
|
||||
++ specifiedOutputs.texsource or [ ];
|
||||
|
||||
# TeXLive::TLOBJ::language_def_lines
|
||||
# see TeXLive::TLUtils::parse_AddHyphen_line for default values
|
||||
langDefLine =
|
||||
{
|
||||
name,
|
||||
file,
|
||||
lefthyphenmin ? "",
|
||||
righthyphenmin ? "",
|
||||
synonyms ? [ ],
|
||||
...
|
||||
}:
|
||||
map (
|
||||
n:
|
||||
"\\addlanguage{${n}}{${file}}{}{${if lefthyphenmin == "" then "2" else lefthyphenmin}}{${
|
||||
if righthyphenmin == "" then "3" else righthyphenmin
|
||||
}}"
|
||||
) ([ name ] ++ synonyms);
|
||||
langDefLines =
|
||||
{ pname, hyphenPatterns, ... }:
|
||||
[ "% from ${pname}:" ] ++ builtins.concatMap langDefLine hyphenPatterns;
|
||||
# outputs that do not become part of the environment
|
||||
nonEnvOutputs = lib.subtractLists [ "out" "tex" "texdoc" "texsource" "tlpkg" ] otherOutputNames;
|
||||
|
||||
# TeXLive::TLOBJ::language_lua_lines
|
||||
# see TeXLive::TLUtils::parse_AddHyphen_line for default values
|
||||
langLuaLine =
|
||||
{
|
||||
name,
|
||||
file,
|
||||
lefthyphenmin ? "",
|
||||
righthyphenmin ? "",
|
||||
synonyms ? [ ],
|
||||
...
|
||||
}@args:
|
||||
''
|
||||
''\t['${name}'] = {
|
||||
''\t''\tloader = '${file}',
|
||||
''\t''\tlefthyphenmin = ${if lefthyphenmin == "" then "2" else lefthyphenmin},
|
||||
''\t''\trighthyphenmin = ${if righthyphenmin == "" then "3" else righthyphenmin},
|
||||
''\t''\tsynonyms = { ${lib.concatStringsSep ", " (map (s: "'${s}'") synonyms)} },
|
||||
''
|
||||
+ lib.optionalString (args ? file_patterns) "\t\tpatterns = '${args.file_patterns}',\n"
|
||||
+ lib.optionalString (args ? file_exceptions) "\t\thyphenation = '${args.file_exceptions}',\n"
|
||||
+ lib.optionalString (args ? luaspecial) "\t\tspecial = '${args.luaspecial}',\n"
|
||||
+ "\t},";
|
||||
langLuaLines =
|
||||
{ pname, hyphenPatterns, ... }: [ "-- from ${pname}:" ] ++ map langLuaLine hyphenPatterns;
|
||||
# packages that contribute to config files and formats
|
||||
fontMaps = lib.filter (p: p ? fontMaps && (p.tlOutputName or p.outputName == "tex")) nonbin;
|
||||
sortedFontMaps = builtins.sort (a: b: a.pname < b.pname) fontMaps;
|
||||
hyphenPatterns = lib.filter (
|
||||
p: p ? hyphenPatterns && (p.tlOutputName or p.outputName == "tex")
|
||||
) nonbin;
|
||||
sortedHyphenPatterns = builtins.sort (a: b: a.pname < b.pname) hyphenPatterns;
|
||||
formatPkgs = lib.filter (
|
||||
p:
|
||||
p ? formats
|
||||
&& (p.outputSpecified or false -> p.tlOutputName or p.outputName == "tex")
|
||||
&& builtins.any (f: f.enabled or true) p.formats
|
||||
) all;
|
||||
sortedFormatPkgs =
|
||||
if __formatsOf != null then [ __formatsOf ] else builtins.sort (a: b: a.pname < b.pname) formatPkgs;
|
||||
formats = map (
|
||||
p:
|
||||
buildTeXEnv {
|
||||
requiredTeXPackages =
|
||||
ps:
|
||||
[
|
||||
ps.scheme-infraonly
|
||||
p
|
||||
]
|
||||
++ hyphenPatterns;
|
||||
__formatsOf = p;
|
||||
}
|
||||
) sortedFormatPkgs;
|
||||
};
|
||||
|
||||
assembleConfigLines = f: packages: builtins.concatStringsSep "\n" (builtins.concatMap f packages);
|
||||
# list generated by inspecting `grep -IR '\([^a-zA-Z]\|^\)gs\( \|$\|"\)' "$TEXMFDIST"/scripts`
|
||||
# and `grep -IR rungs "$TEXMFDIST"`
|
||||
# and ignoring luatex, perl, and shell scripts (those must be patched using postFixup)
|
||||
needsGhostscript = lib.any (
|
||||
p:
|
||||
lib.elem p.pname [
|
||||
"context"
|
||||
"dvipdfmx"
|
||||
"latex-papersize"
|
||||
"lyluatex"
|
||||
]
|
||||
) pkgList.bin;
|
||||
|
||||
updmapLines = { pname, fontMaps, ... }: [ "# from ${pname}:" ] ++ fontMaps;
|
||||
pname =
|
||||
if finalAttrs.__combine then
|
||||
"texlive-${finalAttrs.passthru.__extraName}" # texlive.combine: old name
|
||||
else
|
||||
"texlive";
|
||||
version =
|
||||
if finalAttrs.__combine then
|
||||
"${toString tlpdbVersion.year}${finalAttrs.passthru.__extraVersion}" # texlive.combine: old version
|
||||
else
|
||||
"${toString tlpdbVersion.year}-r${toString tlpdbVersion.revision}-"
|
||||
+ (lib.optionalString tlpdbVersion.frozen "final-")
|
||||
+ (if __formatsOf != null then "${__formatsOf.pname}-fmt" else "env");
|
||||
|
||||
in
|
||||
buildEnv {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
inherit name;
|
||||
texmfdist = buildEnv {
|
||||
name = "${name}-texmfdist";
|
||||
|
||||
# remove fake derivations (without 'outPath') to avoid undesired build dependencies
|
||||
paths =
|
||||
builtins.catAttrs "outPath" pkgList.bin
|
||||
++ lib.optionals (!__combine && __formatsOf == null) pkgList.formats
|
||||
++ lib.optional __combine doc;
|
||||
pathsToLink = [
|
||||
"/"
|
||||
"/share/texmf-var/scripts"
|
||||
"/share/texmf-var/tex/generic/config"
|
||||
"/share/texmf-var/web2c"
|
||||
"/share/texmf-config"
|
||||
"/bin" # ensure these are writeable directories
|
||||
];
|
||||
# remove fake derivations (without 'outPath') to avoid undesired build dependencies
|
||||
paths = builtins.catAttrs "outPath" pkgList.nonbin;
|
||||
|
||||
postBuild = ''
|
||||
. "${./build-tex-env.sh}"
|
||||
'';
|
||||
# mktexlsr
|
||||
nativeBuildInputs = [
|
||||
tl.texlive-scripts # for mktexlsr.pl with --sort support
|
||||
perl
|
||||
];
|
||||
|
||||
derivationArgs = {
|
||||
# use attrNames, attrValues to ensure the two lists are sorted in the same way
|
||||
outputs = [
|
||||
"out"
|
||||
]
|
||||
++ lib.optionals (!__combine && __formatsOf == null) (builtins.attrNames nonEnvOutputs);
|
||||
otherOutputs = lib.optionals (!__combine && __formatsOf == null) (
|
||||
builtins.attrValues nonEnvOutputs
|
||||
postBuild = # generate ls-R database
|
||||
''
|
||||
perl ${tl.texlive-scripts.tex}/scripts/texlive/mktexlsr.pl --sort "$out"
|
||||
'';
|
||||
};
|
||||
|
||||
tlpkg = buildEnv {
|
||||
name = "${name}-tlpkg";
|
||||
|
||||
# remove fake derivations (without 'outPath') to avoid undesired build dependencies
|
||||
paths = builtins.catAttrs "outPath" pkgList.tlpkg;
|
||||
};
|
||||
|
||||
# the 'non-relocated' packages must live in $TEXMFROOT/texmf-dist
|
||||
# and sometimes look into $TEXMFROOT/tlpkg (notably fmtutil, updmap look for perl modules in both)
|
||||
texmfroot =
|
||||
runCommand "${name}-texmfroot"
|
||||
{
|
||||
inherit texmfdist tlpkg;
|
||||
}
|
||||
''
|
||||
mkdir -p "$out"
|
||||
ln -s "$texmfdist" "$out"/texmf-dist
|
||||
ln -s "$tlpkg" "$out"/tlpkg
|
||||
'';
|
||||
|
||||
# texlive.combine: expose info and man pages in usual /share/{info,man} location
|
||||
doc = buildEnv {
|
||||
name = "${name}-doc";
|
||||
|
||||
paths = [ (texmfdist.outPath + "/doc") ];
|
||||
extraPrefix = "/share";
|
||||
|
||||
pathsToLink = [
|
||||
"/info"
|
||||
"/man"
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description =
|
||||
"TeX Live environment"
|
||||
+ lib.optionalString finalAttrs.withDocs " with documentation"
|
||||
+ lib.optionalString (finalAttrs.withDocs && finalAttrs.withSources) " and"
|
||||
+ lib.optionalString finalAttrs.withSources " with sources";
|
||||
platforms = lib.platforms.all;
|
||||
longDescription =
|
||||
"Contains the following packages and their transitive dependencies:\n - "
|
||||
+ lib.concatMapStringsSep "\n - " (
|
||||
p:
|
||||
p.pname + (lib.optionalString (p.outputSpecified or false) " (${p.tlOutputName or p.outputName})")
|
||||
) (finalAttrs.passthru.requiredTeXPackages tl);
|
||||
};
|
||||
|
||||
# other outputs
|
||||
nonEnvOutputs = lib.genAttrs pkgList.nonEnvOutputs (
|
||||
outName:
|
||||
buildEnv {
|
||||
inherit name;
|
||||
paths = builtins.catAttrs "outPath" (
|
||||
pkgList.otherOutputs.${outName} or [ ] ++ pkgList.specifiedOutputs.${outName} or [ ]
|
||||
);
|
||||
derivationArgs = {
|
||||
outputs = [ outName ];
|
||||
|
||||
# force the output to be ${outName} or nix-env will not work
|
||||
preHook = ''
|
||||
export out="''${${outName}}"
|
||||
'';
|
||||
|
||||
inherit meta passthru;
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
libfaketime
|
||||
tl."texlive.infra" # mktexlsr
|
||||
tl.texlive-scripts # fmtutil, updmap
|
||||
tl.texlive-scripts-extra # texlinks
|
||||
perl
|
||||
passthru = {
|
||||
inherit
|
||||
requiredTeXPackages
|
||||
__fromCombineWrapper
|
||||
__extraName
|
||||
__extraVersion
|
||||
;
|
||||
# This is set primarily to help find-tarballs.nix to do its job
|
||||
includedTeXPackages = builtins.filter lib.isDerivation (
|
||||
pkgList.bin
|
||||
++ pkgList.nonbin
|
||||
++ lib.optionals (!finalAttrs.passthru.__fromCombineWrapper) (
|
||||
lib.concatMap (
|
||||
n: (pkgList.otherOutputs.${n} or [ ] ++ pkgList.specifiedOutputs.${n} or [ ])
|
||||
) pkgList.nonEnvOutputs
|
||||
)
|
||||
);
|
||||
# useful for inclusion in the `fonts.packages` nixos option or for use in devshells
|
||||
fonts = "${texmfroot}/texmf-dist/fonts";
|
||||
__overrideTeXConfig = lib.warn "__overrideTeXConfig is deprecated, please switch to overrideAttrs" (
|
||||
newArgs:
|
||||
let
|
||||
# arguments of buildTeXEnv before deprecation of __overrideTeXConfig
|
||||
prevArgs = {
|
||||
inherit (finalAttrs)
|
||||
__combine
|
||||
;
|
||||
inherit (finalAttrs.passthru)
|
||||
requiredTeXPackages
|
||||
__extraName
|
||||
__extraVersion
|
||||
__fromCombineWrapper
|
||||
;
|
||||
}
|
||||
// lib.optionalAttrs (finalAttrs ? withDocs) { inherit (finalAttrs) withDocs; }
|
||||
// lib.optionalAttrs (finalAttrs ? withSources) { inherit (finalAttrs) withSources; };
|
||||
appliedArgs = prevArgs // (if builtins.isFunction newArgs then newArgs prevArgs else newArgs);
|
||||
in
|
||||
finalAttrs.finalPackage.overrideAttrs (
|
||||
prevAttrs:
|
||||
{
|
||||
passthru = prevAttrs.passthru // {
|
||||
inherit (appliedArgs)
|
||||
requiredTeXPackages
|
||||
__extraName
|
||||
__extraVersion
|
||||
;
|
||||
__fromCombineWrapper = false;
|
||||
};
|
||||
inherit (appliedArgs) __combine;
|
||||
}
|
||||
// lib.optionalAttrs (appliedArgs ? withDocs) { inherit (appliedArgs) withDocs; }
|
||||
// lib.optionalAttrs (appliedArgs ? withSources) { inherit (appliedArgs) withSources; }
|
||||
)
|
||||
);
|
||||
withPackages =
|
||||
reqs:
|
||||
finalAttrs.finalPackage.overrideAttrs (prevAttrs: {
|
||||
passthru = prevAttrs.passthru // {
|
||||
requiredTeXPackages = ps: reqs ps ++ prevAttrs.passthru.requiredTeXPackages ps;
|
||||
__fromCombineWrapper = false;
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
# TeXLive::TLOBJ::fmtutil_cnf_lines
|
||||
fmtutilLine =
|
||||
{
|
||||
name,
|
||||
engine,
|
||||
enabled ? true,
|
||||
patterns ? [ "-" ],
|
||||
options ? "",
|
||||
...
|
||||
}:
|
||||
lib.optionalString (!enabled) "#! "
|
||||
+ "${name} ${engine} ${lib.concatStringsSep "," patterns} ${options}";
|
||||
fmtutilLines =
|
||||
{ pname, formats, ... }:
|
||||
[
|
||||
"#"
|
||||
"# from ${pname}:"
|
||||
]
|
||||
++ map fmtutilLine formats;
|
||||
|
||||
# TeXLive::TLOBJ::language_dat_lines
|
||||
langDatLine =
|
||||
{
|
||||
name,
|
||||
file,
|
||||
synonyms ? [ ],
|
||||
...
|
||||
}:
|
||||
[ "${name} ${file}" ] ++ map (s: "=" + s) synonyms;
|
||||
langDatLines =
|
||||
{ pname, hyphenPatterns, ... }:
|
||||
[ "% from ${pname}:" ] ++ builtins.concatMap langDatLine hyphenPatterns;
|
||||
|
||||
# TeXLive::TLOBJ::language_def_lines
|
||||
# see TeXLive::TLUtils::parse_AddHyphen_line for default values
|
||||
langDefLine =
|
||||
{
|
||||
name,
|
||||
file,
|
||||
lefthyphenmin ? "",
|
||||
righthyphenmin ? "",
|
||||
synonyms ? [ ],
|
||||
...
|
||||
}:
|
||||
map (
|
||||
n:
|
||||
"\\addlanguage{${n}}{${file}}{}{${if lefthyphenmin == "" then "2" else lefthyphenmin}}{${
|
||||
if righthyphenmin == "" then "3" else righthyphenmin
|
||||
}}"
|
||||
) ([ name ] ++ synonyms);
|
||||
langDefLines =
|
||||
{ pname, hyphenPatterns, ... }:
|
||||
[ "% from ${pname}:" ] ++ builtins.concatMap langDefLine hyphenPatterns;
|
||||
|
||||
# TeXLive::TLOBJ::language_lua_lines
|
||||
# see TeXLive::TLUtils::parse_AddHyphen_line for default values
|
||||
langLuaLine =
|
||||
{
|
||||
name,
|
||||
file,
|
||||
lefthyphenmin ? "",
|
||||
righthyphenmin ? "",
|
||||
synonyms ? [ ],
|
||||
...
|
||||
}@args:
|
||||
''
|
||||
''\t['${name}'] = {
|
||||
''\t''\tloader = '${file}',
|
||||
''\t''\tlefthyphenmin = ${if lefthyphenmin == "" then "2" else lefthyphenmin},
|
||||
''\t''\trighthyphenmin = ${if righthyphenmin == "" then "3" else righthyphenmin},
|
||||
''\t''\tsynonyms = { ${lib.concatStringsSep ", " (map (s: "'${s}'") synonyms)} },
|
||||
''
|
||||
+ lib.optionalString (args ? file_patterns) "\t\tpatterns = '${args.file_patterns}',\n"
|
||||
+ lib.optionalString (args ? file_exceptions) "\t\thyphenation = '${args.file_exceptions}',\n"
|
||||
+ lib.optionalString (args ? luaspecial) "\t\tspecial = '${args.luaspecial}',\n"
|
||||
+ "\t},";
|
||||
langLuaLines =
|
||||
{ pname, hyphenPatterns, ... }: [ "-- from ${pname}:" ] ++ map langLuaLine hyphenPatterns;
|
||||
|
||||
assembleConfigLines = f: packages: builtins.concatStringsSep "\n" (builtins.concatMap f packages);
|
||||
|
||||
updmapLines = { pname, fontMaps, ... }: [ "# from ${pname}:" ] ++ fontMaps;
|
||||
|
||||
in
|
||||
{
|
||||
|
||||
inherit name;
|
||||
|
||||
# remove fake derivations (without 'outPath') to avoid undesired build dependencies
|
||||
paths =
|
||||
builtins.catAttrs "outPath" pkgList.bin
|
||||
++ lib.optionals (!finalAttrs.__combine && __formatsOf == null) pkgList.formats
|
||||
++ lib.optional finalAttrs.__combine doc;
|
||||
pathsToLink = [
|
||||
"/"
|
||||
"/share/texmf-var/scripts"
|
||||
"/share/texmf-var/tex/generic/config"
|
||||
"/share/texmf-var/web2c"
|
||||
"/share/texmf-config"
|
||||
"/bin" # ensure these are writeable directories
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
coreutils
|
||||
gawk
|
||||
gnugrep
|
||||
gnused
|
||||
]
|
||||
++ lib.optional needsGhostscript ghostscript;
|
||||
postBuild = ''
|
||||
. "${./build-tex-env.sh}"
|
||||
'';
|
||||
|
||||
inherit passthru __combine;
|
||||
__formatsOf = __formatsOf.pname or null;
|
||||
derivationArgs = {
|
||||
# use attrNames, attrValues to ensure the two lists are sorted in the same way
|
||||
outputs = [
|
||||
"out"
|
||||
]
|
||||
++ lib.optionals (!finalAttrs.__combine && __formatsOf == null) (builtins.attrNames nonEnvOutputs);
|
||||
otherOutputs = lib.optionals (!finalAttrs.__combine && __formatsOf == null) (
|
||||
builtins.attrValues nonEnvOutputs
|
||||
);
|
||||
|
||||
inherit texmfdist texmfroot;
|
||||
strictDeps = true;
|
||||
|
||||
fontconfigFile = makeFontsConf { fontDirectories = [ "${texmfroot}/texmf-dist/fonts" ]; };
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
libfaketime
|
||||
tl."texlive.infra" # mktexlsr
|
||||
tl.texlive-scripts # fmtutil, updmap
|
||||
tl.texlive-scripts-extra # texlinks
|
||||
perl
|
||||
];
|
||||
|
||||
fmtutilCnf = assembleConfigLines fmtutilLines pkgList.sortedFormatPkgs;
|
||||
updmapCfg = assembleConfigLines updmapLines pkgList.sortedFontMaps;
|
||||
buildInputs = [
|
||||
coreutils
|
||||
gawk
|
||||
gnugrep
|
||||
gnused
|
||||
]
|
||||
++ lib.optional needsGhostscript ghostscript;
|
||||
|
||||
languageDat = assembleConfigLines langDatLines pkgList.sortedHyphenPatterns;
|
||||
languageDef = assembleConfigLines langDefLines pkgList.sortedHyphenPatterns;
|
||||
languageLua = assembleConfigLines langLuaLines pkgList.sortedHyphenPatterns;
|
||||
inherit passthru __combine;
|
||||
__formatsOf = __formatsOf.pname or null;
|
||||
|
||||
postactionScripts = builtins.catAttrs "postactionScript" pkgList.tlpkg;
|
||||
inherit texmfdist texmfroot;
|
||||
|
||||
allowSubstitutes = true;
|
||||
preferLocalBuild = false;
|
||||
fontconfigFile = makeFontsConf { fontDirectories = [ "${texmfroot}/texmf-dist/fonts" ]; };
|
||||
|
||||
meta =
|
||||
meta
|
||||
// lib.optionalAttrs (!__combine && __formatsOf == null) {
|
||||
inherit (pkgList) outputsToInstall;
|
||||
};
|
||||
};
|
||||
}
|
||||
fmtutilCnf = assembleConfigLines fmtutilLines pkgList.sortedFormatPkgs;
|
||||
updmapCfg = assembleConfigLines updmapLines pkgList.sortedFontMaps;
|
||||
|
||||
languageDat = assembleConfigLines langDatLines pkgList.sortedHyphenPatterns;
|
||||
languageDef = assembleConfigLines langDefLines pkgList.sortedHyphenPatterns;
|
||||
languageLua = assembleConfigLines langLuaLines pkgList.sortedHyphenPatterns;
|
||||
|
||||
postactionScripts = builtins.catAttrs "postactionScript" pkgList.tlpkg;
|
||||
|
||||
# whethe to include doc, source containers
|
||||
withDocs = false;
|
||||
withSources = false;
|
||||
|
||||
allowSubstitutes = true;
|
||||
preferLocalBuild = false;
|
||||
|
||||
meta =
|
||||
meta
|
||||
// lib.optionalAttrs (!finalAttrs.__combine && __formatsOf == null) {
|
||||
inherit (pkgList) outputsToInstall;
|
||||
};
|
||||
};
|
||||
}
|
||||
)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
lib,
|
||||
toTLPkgList,
|
||||
toTLPkgSets,
|
||||
tl,
|
||||
buildTeXEnv,
|
||||
}:
|
||||
args@{
|
||||
|
|
@ -46,7 +46,11 @@ let
|
|||
in
|
||||
builtins.genericClosure {
|
||||
startSet = pkgListToSets pkgList;
|
||||
operator = { pkg, ... }: pkgListToSets (pkg.tlDeps or [ ]);
|
||||
operator =
|
||||
{ pkg, ... }:
|
||||
pkgListToSets (
|
||||
if pkg ? tlDeps then if builtins.isFunction pkg.tlDeps then pkg.tlDeps tl else pkg.tlDeps else [ ]
|
||||
);
|
||||
}
|
||||
);
|
||||
combined = combinePkgs (lib.attrValues pkgSet);
|
||||
|
|
|
|||
|
|
@ -233,7 +233,7 @@ let
|
|||
|
||||
# function for creating a working environment
|
||||
buildTeXEnv = import ./build-tex-env.nix {
|
||||
inherit bin tl;
|
||||
inherit tl;
|
||||
inherit tlpdbVersion;
|
||||
ghostscript = ghostscript_headless;
|
||||
inherit
|
||||
|
|
@ -243,10 +243,7 @@ let
|
|||
makeFontsConf
|
||||
makeWrapper
|
||||
runCommand
|
||||
writeShellScript
|
||||
writeText
|
||||
toTLPkgSets
|
||||
bash
|
||||
perl
|
||||
coreutils
|
||||
gawk
|
||||
|
|
@ -260,19 +257,31 @@ let
|
|||
# respecting specified outputs
|
||||
toTLPkgList =
|
||||
drv:
|
||||
let
|
||||
drvWithoutDeps = removeAttrs drv [ "tlDeps" ];
|
||||
drvWithDeps =
|
||||
if (drv ? tlDeps) then
|
||||
drv // { tlDeps = if builtins.isFunction drv.tlDeps then drv.tlDeps tl else drv.tlDeps; }
|
||||
else
|
||||
drv;
|
||||
in
|
||||
if drv.outputSpecified or false then
|
||||
let
|
||||
tlType = drv.tlType or tlOutToType.${drv.tlOutputName or drv.outputName} or null;
|
||||
in
|
||||
lib.optional (tlType != null) (drv // { inherit tlType; })
|
||||
lib.optional (tlType != null) (drvWithDeps // { inherit tlType; })
|
||||
else
|
||||
[ (drv.tex // { tlType = "run"; }) ]
|
||||
lib.optional (drv ? tex) (drvWithDeps.tex // { tlType = "run"; })
|
||||
++ lib.optional (drv ? texdoc) (
|
||||
drv.texdoc // { tlType = "doc"; } // lib.optionalAttrs (drv ? man) { hasManpages = true; }
|
||||
drvWithoutDeps.texdoc
|
||||
// {
|
||||
tlType = "doc";
|
||||
}
|
||||
// lib.optionalAttrs (drv ? man) { hasManpages = true; }
|
||||
)
|
||||
++ lib.optional (drv ? texsource) (drv.texsource // { tlType = "source"; })
|
||||
++ lib.optional (drv ? tlpkg) (drv.tlpkg // { tlType = "tlpkg"; })
|
||||
++ lib.optional (drv ? out) (drv.out // { tlType = "bin"; });
|
||||
++ lib.optional (drv ? texsource) (drvWithoutDeps.texsource // { tlType = "source"; })
|
||||
++ lib.optional (drv ? tlpkg) (drvWithDeps.tlpkg // { tlType = "tlpkg"; })
|
||||
++ lib.optional (drv ? out) (drvWithDeps.out // { tlType = "bin"; });
|
||||
tlOutToType = {
|
||||
out = "bin";
|
||||
tex = "run";
|
||||
|
|
@ -315,8 +324,8 @@ let
|
|||
inherit
|
||||
buildTeXEnv
|
||||
lib
|
||||
tl
|
||||
toTLPkgList
|
||||
toTLPkgSets
|
||||
;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1080,6 +1080,7 @@ mapAliases {
|
|||
languageMachines.ucto = ucto; # Added 2025-10-7
|
||||
languageMachines.uctodata = uctodata; # Added 2025-10-7
|
||||
lanzaboote-tool = throw "lanzaboote-tool has been removed due to lack of integration maintenance with nixpkgs. Consider using the Nix expressions provided by https://github.com/nix-community/lanzaboote"; # Added 2025-07-23
|
||||
larswm = throw "'larswm' has been removed, as it is unmaintained upstream"; # Added 2026-05-24
|
||||
larynx = throw "'larynx' has been renamed to/replaced by 'piper-tts'"; # Converted to throw 2025-10-27
|
||||
lash = throw "'lash' has been removed, as it is unmaintained upstream"; # Added 2026-01-02
|
||||
LAStools = lastools; # Added 2026-02-08
|
||||
|
|
|
|||
|
|
@ -1737,6 +1737,7 @@ with pkgs;
|
|||
texliveSmall
|
||||
texliveTeTeX
|
||||
;
|
||||
texliveFullWithDocs = texliveFull.overrideAttrs { withDocs = true; };
|
||||
texlivePackages = recurseIntoAttrs (lib.mapAttrs (_: v: v.build) texlive.pkgs);
|
||||
|
||||
futhark = haskell.lib.compose.justStaticExecutables haskellPackages.futhark;
|
||||
|
|
|
|||
|
|
@ -18573,10 +18573,6 @@ with self;
|
|||
}
|
||||
done
|
||||
'';
|
||||
passthru = {
|
||||
tlType = "run";
|
||||
pkgs = [ LaTeXML.tex ];
|
||||
};
|
||||
meta = {
|
||||
description = "Transforms TeX and LaTeX into XML/HTML/MathML";
|
||||
homepage = "https://dlmf.nist.gov/LaTeXML/";
|
||||
|
|
|
|||
|
|
@ -347,7 +347,6 @@ mapAliases {
|
|||
monarchmoney = throw "'monarchmoney' has been renamed to/replaced by 'monarchmoneycommunity'"; # Added 2026-03-05
|
||||
monkeytype = throw "'monkeytype' has been removed as it was unmaintained upstream"; # Added 2026-04-19
|
||||
moretools = "'moretools' has been removed because it is unmaintained"; # Added 2026-01-19
|
||||
mpris-server = throw "mpris-server was removed because it is unused"; # added 2025-10-31
|
||||
msldap-bad = throw "'msldap-bad' has been renamed to/replaced by 'badldap'"; # added 2025-11-06
|
||||
mullvad-closest = throw "'mullvad-closest' has been removed as it was unmaintained. Consider using 'mullvad-compass' instead."; # Added 2026-01-13
|
||||
multi_key_dict = throw "'multi_key_dict' has been renamed to/replaced by 'multi-key-dict'"; # Converted to throw 2025-10-29
|
||||
|
|
|
|||
|
|
@ -10409,6 +10409,8 @@ self: super: with self; {
|
|||
|
||||
mpris-api = callPackage ../development/python-modules/mpris-api { };
|
||||
|
||||
mpris-server = callPackage ../development/python-modules/mpris-server { };
|
||||
|
||||
mprisify = callPackage ../development/python-modules/mprisify { };
|
||||
|
||||
mpv = callPackage ../development/python-modules/mpv { inherit (pkgs) mpv; };
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue