Question:
honk-initdb.service attempts tu run even though already exists, causing it to fail and prevent honk.service from starting. I think honk-initdb.service is supposed to be skipped since already exists? Please run and paste the result.
Hi, Thanks for the bug report. That's weird, because that service shouldn't run since the file already exists. I will try to investigate during the week.
Do you know if there is any way I can make honk.service believe its dependencies are met, as a workaround?
What I did precisely in I have no clue why this is not working yet.
I pushed a PR here: Could you try it and let me know if this is fixing the issue ?
Dear is your issue fixed now ?
Ping ^^
The condition seems to work but the issue remains?

unitConfig = { ConditionPathExists = [ # Skip this service if the database already exists <del> "!$STATE_DIRECTORY/honk.db" </del> <ins> "!%S/honk/honk.db" </ins> ]; }; };


Question: Package name: cryptomator Latest released version: 1.10.1Current version on the unstable channel: 1.9.4 Current version on the stable/release channel: 1.8.0 Notify maintainers Note for maintainers: Please tag this issue in your PR.

assert stdenv.isLinux; # better than `called with unexpected argument 'enableJavaFX'` mavenJdk.buildMavenPackage rec { pname = "cryptomator"; <del> version = "1.9.4"; </del> <ins> version = "1.10.1"; </ins> src = fetchFromGitHub { owner = "cryptomator"; repo = "cryptomator"; rev = version; <del> hash = "sha256-63UXn1ejL/wDx6S2lugwwthu+C+vJovPypgM0iak78I="; </del> <ins> hash = "sha256-xhj7RUurBRq9ZIDAlcq7KyYGnLqc+vTjaf2VMNStpVQ"; </ins> }; mvnParameters = "-Dmaven.test.skip=true"; <del> mvnHash = "sha256-7gv++Pc+wqmVYaAMgHhSy7xwChfVBgpDFxExzu3bXO0="; </del> <ins> mvnHash = "sha256-XAIwKn8wMqILMQbg9wM4kHAaRSGWQaBx9AXQyJuUO5k="; </ins> preBuild = '' VERSION=${version}


Question:
Package name: rio Latest released version: 0.0.27 <!-- Search your package here: --- Current version on the unstable channel: 0.0.19 Current version on the stable/release channel: N/A <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers: Please tag this issue in your PR.
Seems one of the dependence of depends on which not entered master yet (see ). I'll handle this once it gets ready.
Not sure why it requires it. Maybe removing this requirement?
And it's an critical component that could not be remove.
1.72.1 merged into master
:+1: Looking forward to this as well. Hopefully fixes
Still not merged into master, merged into staging-next though.
1.73 has been merged into master.
I sent the update

rio.pkg = p: p.rio; rio.cmd = "rio -e $command"; <ins> rio.pinkValue = "#FF1261"; </ins> roxterm.pkg = p: p.roxterm; roxterm.cmd = "roxterm -e $command";


Question:
Package name: rio Latest released version: 0.0.27 <!-- Search your package here: --- Current version on the unstable channel: 0.0.19 Current version on the stable/release channel: N/A <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers: Please tag this issue in your PR.
Seems one of the dependence of depends on which not entered master yet (see ). I'll handle this once it gets ready.
Not sure why it requires it. Maybe removing this requirement?
And it's an critical component that could not be remove.
1.72.1 merged into master
:+1: Looking forward to this as well. Hopefully fixes
Still not merged into master, merged into staging-next though.
1.73 has been merged into master.
I sent the update

, nix-update-script , autoPatchelfHook <ins> , cmake </ins> , ncurses , pkg-config


Question:
Package name: rio Latest released version: 0.0.27 <!-- Search your package here: --- Current version on the unstable channel: 0.0.19 Current version on the stable/release channel: N/A <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers: Please tag this issue in your PR.
Seems one of the dependence of depends on which not entered master yet (see ). I'll handle this once it gets ready.
Not sure why it requires it. Maybe removing this requirement?
And it's an critical component that could not be remove.
1.72.1 merged into master
:+1: Looking forward to this as well. Hopefully fixes
Still not merged into master, merged into staging-next though.
1.73 has been merged into master.
I sent the update

in rustPlatform.buildRustPackage rec { pname = "rio"; <del> version = "0.0.19"; </del> <ins> version = "0.0.27"; </ins> src = fetchFromGitHub { owner = "raphamorim"; repo = "rio"; rev = "v${version}"; <del> hash = "sha256-N7eHIyp2imkMUVwiOCameOROoaDJ7g+zNKdIB2aGZy0="; </del> <ins> hash = "sha256-q3Wq7jIYE4g1uPAlpzNWvwUvMy9eN6NQNmPNC4cFmYg="; </ins> }; <del> cargoHash = "sha256-XD+/DaaJEJ9jHZITTUma/wfsbduPUTc/SralPOx46Yo="; </del> <ins> cargoHash = "sha256-SP85se+H4jL/cXyvfbFS2lxpNSjuptAIPs3/htcrMcw="; </ins> nativeBuildInputs = [ ncurses <ins> cmake </ins> ] ++ lib.optionals stdenv.isLinux [ pkg-config autoPatchelfHook


Question:
Package name: rio Latest released version: 0.0.27 <!-- Search your package here: --- Current version on the unstable channel: 0.0.19 Current version on the stable/release channel: N/A <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers: Please tag this issue in your PR.
Seems one of the dependence of depends on which not entered master yet (see ). I'll handle this once it gets ready.
Not sure why it requires it. Maybe removing this requirement?
And it's an critical component that could not be remove.
1.72.1 merged into master
:+1: Looking forward to this as well. Hopefully fixes
Still not merged into master, merged into staging-next though.
1.73 has been merged into master.
I sent the update

postInstall = '' install -D -m 644 misc/rio.desktop -t $out/share/applications <del> install -D -m 644 rio/src/screen/window/resources/images/logo.png  $out/share/icons/hicolor/scalable/apps/rio.png </del> <ins> install -D -m 644 misc/logo.svg  $out/share/icons/hicolor/scalable/apps/rio.svg </ins> install -dm 755 "$terminfo/share/terminfo/r/" tic -xe rio,rio-direct -o "$terminfo/share/terminfo" misc/rio.terminfo


Question: Package name: qdigidoc Latest released version: 4.4.0 <!-- Search your package here: --- Current version on the unstable channel: 4.2.12 Current version on the stable/release channel: 4.2.12 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers Note for maintainers: Please tag this issue in your PR.

, mkDerivation , fetchurl , cmake <ins> , flatbuffers </ins> , gettext , pkg-config , libdigidocpp


Question: Package name: qdigidoc Latest released version: 4.4.0 <!-- Search your package here: --- Current version on the unstable channel: 4.2.12 Current version on the stable/release channel: 4.2.12 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers Note for maintainers: Please tag this issue in your PR.

mkDerivation rec { pname = "qdigidoc"; <del> version = "4.2.12"; </del> <ins> version = "4.4.0"; </ins> src = fetchurl { url = "https://github.com/open-eid/DigiDoc4-Client/releases/download/v${version}/qdigidoc4-${version}.tar.gz"; <del> hash = "sha256-6bso1qvhVhbBfrcTq4S+aHtHli7X2A926N4r45ztq4E="; </del> <ins> hash = "sha256-5zo0yoY0wufm9DWRIccxJ5g4DXn75nT4fd2h+5QP4oQ="; </ins> }; tsl = fetchurl {


Question: Package name: qdigidoc Latest released version: 4.4.0 <!-- Search your package here: --- Current version on the unstable channel: 4.2.12 Current version on the stable/release channel: 4.2.12 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers Note for maintainers: Please tag this issue in your PR.

''; buildInputs = [ <ins> flatbuffers </ins> libdigidocpp opensc openldap


Question:
Steps to reproduce the behavior: pyside6 Please run and paste the result. :sweat_smile: I guess it says not found because i have no channels (i use flakes)
This same failure is causing syncplay to fail to install on my system.
yeah thats how i knew lol
To confirm, I can reproduce this issue.
I'm trying to package something which relies on pyside6. Package builds fine on nixos-stable but fails under nixos-unstable due to pyside6 not building.

{ lib , stdenv <ins> , fetchpatch2 </ins> , cmake , ninja , python


Question:
Steps to reproduce the behavior: pyside6 Please run and paste the result. :sweat_smile: I guess it says not found because i have no channels (i use flakes)
This same failure is causing syncplay to fail to install on my system.
yeah thats how i knew lol
To confirm, I can reproduce this issue.
I'm trying to package something which relies on pyside6. Package builds fine on nixos-stable but fails under nixos-unstable due to pyside6 not building.

sourceRoot = "pyside-setup-everywhere-src-${version}/sources/${pname}"; <ins> patches = [ # Needed to build against qt 6.5.3, until pyside 6.5.3 is released (fetchpatch2 { url = "https://code.qt.io/cgit/pyside/pyside-setup.git/patch/sources/pyside6?id=63ef7628091c8827e3d0d688220d3ae165587eb2"; hash = "sha256-TN1xdBkrzZhNontShMC1SKyJK6a8fOk/Di3zX3kv5+I="; stripLen = 2; }) ]; </ins> # FIXME: cmake/Macros/PySideModules.cmake supposes that all Qt frameworks on macOS # reside in the same directory as QtCore.framework, which is not true for Nix. postPatch = lib.optionalString stdenv.isLinux ''


Question:
The , which . I do not have a short reproducer. However, the issue was observed on in a cgo context. The issue can be resolved by applying the following change to : The error should not have occurred. The code under test used to work, and failed after an update of the nixpkgs revision in use from to . n/a The commit range includes the following two commits that touch on : adds to the strip setup-hook adds to the cc-wrapper for response file handling The latter one seems to be the cause of the issue. Similar issues were described in and <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Please run and paste the result.
So the wrapper picks up the binary from the system instead of the one from the store because the environment is not pure? This makes the behavior of this and other wrappers unpredictable. Maybe it would be better to make sure that the tools used in the wrapper are actually from its real runtime dependencies in the store?
Yes, that matches my understanding. Yes, that thought crossed my mind, too. However, I saw that there is an , which is then . And this import and seems to be . I don't know the context or reasoning for all this logic and didn't venture there. But, that may very well also be a good solution.
Ah cool! So it basically already works that way. Setting actually enables the import. Your explanation led me to find where this logic was first introduced. The discussion there is very interesting, afaiu we need to restore to its original value so things like linker scripts will still find the intended executables. I think that the commit that introduced the should have it before the path gets restored.
Oh, I see, thanks! I overlooked one negation. That seems like it could solve the issue, too. Perhaps it's easier to just resolve before the is reset and then still invoke it later, since . I had opened that replaces the invocation by a portable one. That approach was easier to test in my use-case without rebuilding the world.

fi if (( "${NIX_CC_USE_RESPONSE_FILE:-@use_response_file_by_default@}" >= 1 )); then <del> responseFile=$(mktemp --tmpdir cc-params.XXXXXX) </del> <ins> responseFile=$(mktemp "${TMPDIR:-/tmp}/cc-params.XXXXXX") </ins> trap 'rm -f -- "$responseFile"' EXIT printf "%qn"  ${extraBefore+"${extraBefore[@]}"}


Question: Steps to reproduce the behavior: as such, so that it builds with Airplay 2 support: Strangest thing is that I have 4.1.1 built and working for a while (probably at ) but following a it does not rebuild anymore, even though and hasn't changed, while the only two subsequent commits are and which I'm not too sure how they could relate. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Please run and paste the result.

# To achieve this, we coerce the output to a string to prevent # mkDerivation's splicing logic from kicking in. "${glib.dev}" <ins> ] ++ optional enableAirplay2 [ unixtools.xxd </ins> ]; makeFlags = [


Question: Steps to reproduce the behavior: as such, so that it builds with Airplay 2 support: Strangest thing is that I have 4.1.1 built and working for a while (probably at ) but following a it does not rebuild anymore, even though and hasn't changed, while the only two subsequent commits are and which I'm not too sure how they could relate. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Please run and paste the result.

libgcrypt libuuid ffmpeg <del> unixtools.xxd </del> ] ++ optional stdenv.isLinux glib;


Question:
I have transmission running inside a Nixos container which has been working without issue until I recently updated the system. It now fails to start inside the container, I have tried deleting the container and all its data but the same issue exists when creating a new one. I have also tried creating the path "" on both the host and container but it doesn't seem to care. Steps to reproduce the behavior: Run transmission inside of a container Transmission service starts and runs without issue Service status Here's where I have the container and transmission defined in my config. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
Same here, not sure if it's an upstream or nixpkgs issue
For the time being and since it's inside a container anyway I'm overriding the root dir of the systemd unit:
Thanks your fix is working for me!
The problem is that is listed in : Which got introduced in to The original problem was that was not in the chroot. I'd say mounting all of as read-only is going too far, so a better fix would be to just mount and only if is true. It also seems weird to have this logic be part of Transmission, but whatever. So a workaround is: (And I'm not sure why this wasn't a problem for 3 years)
I've stumbled upon this issue as well, and wondering if there is anything we can do about it regarding the Transmission service. I had to disable the following is well, before it played nicely in my setup.
indeed, adding only was one the alternatives suggested in , so we can try your suggestion. IMHO disabling or should not be the default, we could make them use though, would that be enough for you?
This is actually still an issue and it isn't limited to containers. Adding the params that posted, unfortunately, does not work for me ;/

BindPaths = [ "${cfg.home}/${settingsDir}" cfg.settings.download-dir <ins> # Transmission may need to read in the host's /run (eg. /run/systemd/resolve) # or write in its private /run (eg. /run/host). "/run" </ins> ] ++ optional cfg.settings.incomplete-dir-enabled cfg.settings.incomplete-dir ++


Question:
I have transmission running inside a Nixos container which has been working without issue until I recently updated the system. It now fails to start inside the container, I have tried deleting the container and all its data but the same issue exists when creating a new one. I have also tried creating the path "" on both the host and container but it doesn't seem to care. Steps to reproduce the behavior: Run transmission inside of a container Transmission service starts and runs without issue Service status Here's where I have the container and transmission defined in my config. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
Same here, not sure if it's an upstream or nixpkgs issue
For the time being and since it's inside a container anyway I'm overriding the root dir of the systemd unit:
Thanks your fix is working for me!
The problem is that is listed in : Which got introduced in to The original problem was that was not in the chroot. I'd say mounting all of as read-only is going too far, so a better fix would be to just mount and only if is true. It also seems weird to have this logic be part of Transmission, but whatever. So a workaround is: (And I'm not sure why this wasn't a problem for 3 years)
I've stumbled upon this issue as well, and wondering if there is anything we can do about it regarding the Transmission service. I had to disable the following is well, before it played nicely in my setup.
indeed, adding only was one the alternatives suggested in , so we can try your suggestion. IMHO disabling or should not be the default, we could make them use though, would that be enough for you?
This is actually still an issue and it isn't limited to containers. Adding the params that posted, unfortunately, does not work for me ;/

# an AppArmor profile is provided to get a confinement based upon paths and rights. builtins.storeDir "/etc" <del> "/run" </del> ] ++ optional (cfg.settings.script-torrent-done-enabled && cfg.settings.script-torrent-done-filename != null)


Question:
I have transmission running inside a Nixos container which has been working without issue until I recently updated the system. It now fails to start inside the container, I have tried deleting the container and all its data but the same issue exists when creating a new one. I have also tried creating the path "" on both the host and container but it doesn't seem to care. Steps to reproduce the behavior: Run transmission inside of a container Transmission service starts and runs without issue Service status Here's where I have the container and transmission defined in my config. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
Same here, not sure if it's an upstream or nixpkgs issue
For the time being and since it's inside a container anyway I'm overriding the root dir of the systemd unit:
Thanks your fix is working for me!
The problem is that is listed in : Which got introduced in to The original problem was that was not in the chroot. I'd say mounting all of as read-only is going too far, so a better fix would be to just mount and only if is true. It also seems weird to have this logic be part of Transmission, but whatever. So a workaround is: (And I'm not sure why this wasn't a problem for 3 years)
I've stumbled upon this issue as well, and wondering if there is anything we can do about it regarding the Transmission service. I had to disable the following is well, before it played nicely in my setup.
indeed, adding only was one the alternatives suggested in , so we can try your suggestion. IMHO disabling or should not be the default, we could make them use though, would that be enough for you?
This is actually still an issue and it isn't limited to containers. Adding the params that posted, unfortunately, does not work for me ;/

MemoryDenyWriteExecute = true; NoNewPrivileges = true; PrivateDevices = true; <del> PrivateMounts = true; </del> <ins> PrivateMounts = mkDefault true; </ins> PrivateNetwork = mkDefault false; PrivateTmp = true; <del> PrivateUsers = true; </del> <ins> PrivateUsers = mkDefault true; </ins> ProtectClock = true; ProtectControlGroups = true; # ProtectHome=true would not allow BindPaths= to work across /home,


Question: Package name: Latest released version: <!-- Search your package here: --- Current version on the unstable channel: 0.37.1 Current version on the stable/release channel: 0.24.1 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. -- Note for maintainers: Please tag this issue in your PR.

, flit-core , linkify-it-py , markdown <ins> , mdit-py-plugins </ins> , mdurl , mistletoe , mistune


Question: Package name: Latest released version: <!-- Search your package here: --- Current version on the unstable channel: 0.37.1 Current version on the stable/release channel: 0.24.1 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. -- Note for maintainers: Please tag this issue in your PR.

passthru.optional-dependencies = { compare = [ commonmark markdown mistletoe mistune panflute ]; linkify = [ linkify-it-py ]; <ins> plugins = [ mdit-py-plugins ]; </ins> rtd = [ attrs myst-parser pyyaml sphinx sphinx-copybutton sphinx-design sphinx-book-theme ]; };


Question: Package name: Latest released version: <!-- Search your package here: --- Current version on the unstable channel: 0.37.1 Current version on the stable/release channel: 0.24.1 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. -- Note for maintainers: Please tag this issue in your PR.

{ lib <del> , aiohttp </del> , buildPythonPackage <del> , click </del> , fetchFromGitHub , importlib-metadata , jinja2 <del> , linkify-it-py </del> , markdown-it-py <del> , mdit-py-plugins , mkdocs-exclude , msgpack </del> , poetry-core , pytest-aiohttp , pytestCheckHook


Question: Package name: Latest released version: <!-- Search your package here: --- Current version on the unstable channel: 0.37.1 Current version on the stable/release channel: 0.24.1 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. -- Note for maintainers: Please tag this issue in your PR.

, rich , syrupy , time-machine <ins> , tree-sitter </ins> , typing-extensions }: buildPythonPackage rec { pname = "textual"; <del> version = "0.37.1"; format = "pyproject"; </del> <ins> version = "0.40.0"; pyproject = true; </ins> disabled = pythonOlder "3.7";


Question: Package name: Latest released version: <!-- Search your package here: --- Current version on the unstable channel: 0.37.1 Current version on the stable/release channel: 0.24.1 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. -- Note for maintainers: Please tag this issue in your PR.

owner = "Textualize"; repo = pname; rev = "refs/tags/v${version}"; <del> hash = "sha256-4ehq36j2n2wRMgos5x4LQ0QeELpWAOgpgTxEWjqFLJs="; </del> <ins> hash = "sha256-+3bxc0ryHtbEJkB+EqjJhW+yWJWxMkxlSav4v6D3/gw="; </ins> }; nativeBuildInputs = [


Question: Package name: Latest released version: <!-- Search your package here: --- Current version on the unstable channel: 0.37.1 Current version on the stable/release channel: 0.24.1 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. -- Note for maintainers: Please tag this issue in your PR.

]; propagatedBuildInputs = [ <del> aiohttp click </del> importlib-metadata <del> linkify-it-py </del> markdown-it-py <del> mdit-py-plugins mkdocs-exclude msgpack </del> rich <del> ] ++ lib.optionals (pythonOlder "3.11") [ </del> typing-extensions <del> ]; </del> <ins> ] ++ markdown-it-py.optional-dependencies.plugins ++ markdown-it-py.optional-dependencies.linkify; passthru.optional-dependencies = { syntax = [ tree-sitter # tree-sitter-languages ]; }; </ins> nativeCheckInputs = [ jinja2


Question: Package name: Latest released version: <!-- Search your package here: --- Current version on the unstable channel: 0.37.1 Current version on the stable/release channel: 0.24.1 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. -- Note for maintainers: Please tag this issue in your PR.

pytestCheckHook syrupy time-machine <del> ]; </del> <ins> ] ++ passthru.optional-dependencies.syntax; </ins> disabledTestPaths = [ # snapshot tests require syrupy<4


Question: Package name: Latest released version: <!-- Search your package here: --- Current version on the unstable channel: 0.37.1 Current version on the stable/release channel: 0.24.1 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. -- Note for maintainers: Please tag this issue in your PR.

# Assertion issues "test_textual_env_var" "test_softbreak_split_links_rendered_correctly" <ins> # requires tree-sitter-languages which is not packaged in nixpkgs "test_register_language" </ins> ]; pythonImportsCheck = [


Question:
if a folder is a substring of another folder, we don't delete it even if we have overrideFolders and the substring id got removed from the config. Steps to reproduce the behavior: a folder with id "xxx" a folder with id "yyyzzzxxx"; folder with id "xxx" from config never gets removed folder "xxx" should have been removed after removing it from config <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Please run and paste the result.
Thanks for spotting the issue and reporting :) It sounds to me like a issue not being accurate... Maybe only the 1st commit in does the job?
yes, the first commit solves the issue with substring ids. the second commit solves the issue with ids like "hello/world". I tried escaping the id to send a DELETE request but couldn't find out how to correctly escape the / in the id
I'd never imagine someone would do that LOL. What if we'd impose a check in the module that would prevent such ids? Is it even supported upstream?
well it works in the webinterface. so it seems supported? also the default value for the id in our nixos module is the key, which also is the path. I usually do something like so all those ids are broken. as a workaround we could replace all / in the id, but that would break interaction with non nixos setups. PUTing the config seems to not have that issue. Were there any problems with PUTing the config if we want to override folders and devices anyway?
Could you perhaps give more context? I don't understand what kind of a json object is passed to the commands when you do that. I also observed in the below code that "/" are taken care of in a special way? As I in , I don't like how the code diverges in the , and it seems to me it doesn't handle the case where you want to delete a stale folder, and you don't .
yeah the PR sadly isn't complete, I just used it as a test for my local systems where I just override everything. I guess we need to handle individual overrides better, but not sure how. setting wold result in a nixos configuration of when I initially wrote this module this seemed unique enough and like a sane default. I thought about hashing the key for the id, but this would have ended in unnecessary long keys.
I see. I think that using such IDs for folders and devices is very uniqe usage... I tend towards suggesting to take the 1st commit of the PR, and a message when evaluating the script, in case the folders' IDs contain "/", and is true. However, that would not solve your particular, usage. Perhaps we can talk with upstream about it? They are rather responsive from my experience.
that sounds like an idea. I'm busy the next couple of days, but you can cherry pick the first commit from my PR and close it and we will continue with this once we have some better idea how to handle things and we maybe have an answer from upstream?

the Nix configured list of IDs */ + lib.optionalString s.override '' <del> old_conf_${conf_type}_ids="$(curl -X GET ${s.baseAddress} | ${jq} --raw-output '.[].${s.GET_IdAttrName}')" for id in ''${old_conf_${conf_type}_ids}; do if echo ${lib.concatStringsSep " " s.new_conf_IDs} | grep -q $id; then continue else curl -X DELETE ${s.baseAddress}/$id fi </del> <ins> stale_${conf_type}_ids="$(curl -X GET ${s.baseAddress} | ${jq}  --argjson new_ids ${lib.escapeShellArg (builtins.toJSON s.new_conf_IDs)}  --raw-output  '[.[].${s.GET_IdAttrName}] - $new_ids | .[]' )" for id in ''${stale_${conf_type}_ids}; do curl -X DELETE ${s.baseAddress}/$id </ins> done '' ))


Question:
if a folder is a substring of another folder, we don't delete it even if we have overrideFolders and the substring id got removed from the config. Steps to reproduce the behavior: a folder with id "xxx" a folder with id "yyyzzzxxx"; folder with id "xxx" from config never gets removed folder "xxx" should have been removed after removing it from config <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Please run and paste the result.
Thanks for spotting the issue and reporting :) It sounds to me like a issue not being accurate... Maybe only the 1st commit in does the job?
yes, the first commit solves the issue with substring ids. the second commit solves the issue with ids like "hello/world". I tried escaping the id to send a DELETE request but couldn't find out how to correctly escape the / in the id
I'd never imagine someone would do that LOL. What if we'd impose a check in the module that would prevent such ids? Is it even supported upstream?
well it works in the webinterface. so it seems supported? also the default value for the id in our nixos module is the key, which also is the path. I usually do something like so all those ids are broken. as a workaround we could replace all / in the id, but that would break interaction with non nixos setups. PUTing the config seems to not have that issue. Were there any problems with PUTing the config if we want to override folders and devices anyway?
Could you perhaps give more context? I don't understand what kind of a json object is passed to the commands when you do that. I also observed in the below code that "/" are taken care of in a special way? As I in , I don't like how the code diverges in the , and it seems to me it doesn't handle the case where you want to delete a stale folder, and you don't .
yeah the PR sadly isn't complete, I just used it as a test for my local systems where I just override everything. I guess we need to handle individual overrides better, but not sure how. setting wold result in a nixos configuration of when I initially wrote this module this seemed unique enough and like a sane default. I thought about hashing the key for the id, but this would have ended in unnecessary long keys.
I see. I think that using such IDs for folders and devices is very uniqe usage... I tend towards suggesting to take the 1st commit of the PR, and a message when evaluating the script, in case the folders' IDs contain "/", and is true. However, that would not solve your particular, usage. Perhaps we can talk with upstream about it? They are rather responsive from my experience.
that sounds like an idea. I'm busy the next couple of days, but you can cherry pick the first commit from my PR and close it and we will continue with this once we have some better idea how to handle things and we maybe have an answer from upstream?

import ./make-test-python.nix ({ lib, pkgs, ... }: let testId = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU"; <del> testName = "testDevice foo'bar"; </del> in { name = "syncthing-init";


Question: Project description Colorful, adaptive gemini browser <!-- Describe the project a little: --Metadata homepage URL: source URL: license: gpl3 platforms: linux

<ins> # This file is automatically @generated by Cargo. # It is not intended for manual editing. version = 3 [[package]] name = "aho-corasick" version = "0.7.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" dependencies = [ "memchr", ] [[package]] name = "anyhow" version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" [[package]] name = "async-channel" version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" dependencies = [ "concurrent-queue", "event-listener", "futures-core", ] [[package]] name = "async-fs" version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" dependencies = [ "async-lock", "autocfg", "blocking", "futures-lite", ] [[package]] name = "async-io" version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794" dependencies = [ "async-lock", "autocfg", "concurrent-queue", "futures-lite", "libc", "log", "parking", "polling", "slab", "socket2", "waker-fn", "windows-sys 0.42.0", ] [[package]] name = "async-lock" version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" dependencies = [ "event-listener", ] [[package]] name = "async-native-tls" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e9e7a929bd34c68a82d58a4de7f86fffdaf97fb2af850162a7bb19dd7269b33" dependencies = [ "async-std", "native-tls", "thiserror", "url", ] [[package]] name = "async-net" version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4051e67316bc7eff608fe723df5d32ed639946adcd69e07df41fd42a7b411f1f" dependencies = [ "async-io", "autocfg", "blocking", "futures-lite", ] [[package]] name = "async-std" version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" dependencies = [ "async-channel", "async-lock", "crossbeam-utils", "futures-channel", "futures-core", "futures-io", "memchr", "once_cell", "pin-project-lite", "pin-utils", "slab", "wasm-bindgen-futures", ] [[package]] name = "async-task" version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" [[package]] name = "async-trait" version = "0.1.65" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "095183a3539c7c7649b2beb87c2d3f0591f3a7fed07761cc546d244e27e0238c" dependencies = [ "proc-macro2", "quote", "syn", ] [[package]] name = "atomic-waker" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599" [[package]] name = "atty" version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ "hermit-abi", "libc", "winapi", ] [[package]] name = "autocfg" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "bitflags" version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "blocking" version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8" dependencies = [ "async-channel", "async-lock", "async-task", "atomic-waker", "fastrand", "futures-lite", ] [[package]] name = "bumpalo" version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" [[package]] name = "cairo-rs" version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8af54f5d48af1226928adc1f57edd22f5df1349e7da1fc96ae15cf43db0e871" dependencies = [ "bitflags", "cairo-sys-rs", "glib", "libc", "once_cell", "thiserror", ] [[package]] name = "cairo-sys-rs" version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f55382a01d30e5e53f185eee269124f5e21ab526595b872751278dfbb463594e" dependencies = [ "glib-sys", "libc", "system-deps", ] [[package]] name = "cc" version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" [[package]] name = "cfg-expr" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0357a6402b295ca3a86bc148e84df46c02e41f41fef186bda662557ef6328aa" dependencies = [ "smallvec", ] [[package]] name = "cfg-if" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "concurrent-queue" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e" dependencies = [ "crossbeam-utils", ] [[package]] name = "core-foundation" version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" dependencies = [ "core-foundation-sys", "libc", ] [[package]] name = "core-foundation-sys" version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] name = "crossbeam-utils" version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" dependencies = [ "cfg-if", ] [[package]] name = "env_logger" version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" dependencies = [ "atty", "humantime", "log", "regex", "termcolor", ] [[package]] name = "errno" version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" dependencies = [ "errno-dragonfly", "libc", "winapi", ] [[package]] name = "errno-dragonfly" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" dependencies = [ "cc", "libc", ] [[package]] name = "event-listener" version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "fastrand" version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] [[package]] name = "field-offset" version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3cf3a800ff6e860c863ca6d4b16fd999db8b752819c1606884047b73e468535" dependencies = [ "memoffset", "rustc_version", ] [[package]] name = "foreign-types" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" dependencies = [ "foreign-types-shared", ] [[package]] name = "foreign-types-shared" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" dependencies = [ "percent-encoding", ] [[package]] name = "futures" version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" dependencies = [ "futures-channel", "futures-core", "futures-executor", "futures-io", "futures-sink", "futures-task", "futures-util", ] [[package]] name = "futures-channel" version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" dependencies = [ "futures-core", "futures-sink", ] [[package]] name = "futures-core" version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" [[package]] name = "futures-executor" version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" dependencies = [ "futures-core", "futures-task", "futures-util", ] [[package]] name = "futures-io" version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" [[package]] name = "futures-lite" version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" dependencies = [ "fastrand", "futures-core", "futures-io", "memchr", "parking", "pin-project-lite", "waker-fn", ] [[package]] name = "futures-macro" version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" dependencies = [ "proc-macro2", "quote", "syn", ] [[package]] name = "futures-sink" version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" [[package]] name = "futures-task" version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" [[package]] name = "futures-util" version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" dependencies = [ "futures-channel", "futures-core", "futures-io", "futures-macro", "futures-sink", "futures-task", "memchr", "pin-project-lite", "pin-utils", "slab", ] [[package]] name = "gdk-pixbuf" version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b023fbe0c6b407bd3d9805d107d9800da3829dc5a676653210f1d5f16d7f59bf" dependencies = [ "bitflags", "gdk-pixbuf-sys", "gio", "glib", "libc", "once_cell", ] [[package]] name = "gdk-pixbuf-sys" version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b41bd2b44ed49d99277d3925652a163038bd5ed943ec9809338ffb2f4391e3b" dependencies = [ "gio-sys", "glib-sys", "gobject-sys", "libc", "system-deps", ] [[package]] name = "gdk4" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5042053ee765aeef08d9d7e3f0f1e36a4d37f1659b3f93ad3d6997515dbb64a" dependencies = [ "bitflags", "cairo-rs", "gdk-pixbuf", "gdk4-sys", "gio", "glib", "libc", "pango", ] [[package]] name = "gdk4-sys" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14f0fb00507af1e9299681dd09965f720e2b5ea95536d49a5681e8994ef10c7a" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", "gio-sys", "glib-sys", "gobject-sys", "libc", "pango-sys", "pkg-config", "system-deps", ] [[package]] name = "gemini" version = "0.1.0" dependencies = [ "async-native-tls", "async-net", "futures", "log", "once_cell", "regex", "thiserror", "url", ] [[package]] name = "geopard" version = "1.4.0" dependencies = [ "anyhow", "async-fs", "async-native-tls", "async-net", "async-trait", "env_logger", "futures", "gemini", "gtk4", "libadwaita", "log", "once_cell", "serde", "thiserror", "toml", "url", ] [[package]] name = "gio" version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65acfc24267314eee46f49e0a531e08fd6c3025040d1cfb4a7cd8e41c5e06116" dependencies = [ "bitflags", "futures-channel", "futures-core", "futures-io", "futures-util", "gio-sys", "glib", "libc", "once_cell", "pin-project-lite", "smallvec", "thiserror", ] [[package]] name = "gio-sys" version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5d3076ecb86c8c3a672c9843d6232b3a344fb81d304d0ba1ac64b23343efa46" dependencies = [ "glib-sys", "gobject-sys", "libc", "system-deps", "winapi", ] [[package]] name = "glib" version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a78b6a0901e258cb03c761ca94c84d519427ede489cae12cd5ba0d7d584e69e9" dependencies = [ "bitflags", "futures-channel", "futures-core", "futures-executor", "futures-task", "futures-util", "gio-sys", "glib-macros", "glib-sys", "gobject-sys", "libc", "memchr", "once_cell", "smallvec", "thiserror", ] [[package]] name = "glib-macros" version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55e93d79ed130f0f0b58bc0aa29fb0e40c9dfd63997fec51f8adf780d1520bc4" dependencies = [ "anyhow", "heck", "proc-macro-crate", "proc-macro-error", "proc-macro2", "quote", "syn", ] [[package]] name = "glib-sys" version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72a0985cf568e18cf63b443c9a14f4bdaa947fed7437476000dba84926a20b25" dependencies = [ "libc", "system-deps", ] [[package]] name = "gobject-sys" version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a0155d388840c77d61b033b66ef4f9bc7f4133d83df83572d6b4fb234a3be7d" dependencies = [ "glib-sys", "libc", "system-deps", ] [[package]] name = "graphene-rs" version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21cf11565bb0e4dfc2f99d4775b6c329f0d40a2cff9c0066214d31a0e1b46256" dependencies = [ "glib", "graphene-sys", "libc", ] [[package]] name = "graphene-sys" version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf80a4849a8d9565410a8fec6fc3678e9c617f4ac7be182ca55ab75016e07af9" dependencies = [ "glib-sys", "libc", "pkg-config", "system-deps", ] [[package]] name = "gsk4" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2fa9cd285a72a95124b65c069a9cb1b8fb8e310be71783404c39fccf3bf7774c" dependencies = [ "bitflags", "cairo-rs", "gdk4", "glib", "graphene-rs", "gsk4-sys", "libc", "pango", ] [[package]] name = "gsk4-sys" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a445ae1e50cbf181a1d5c61b920a7e7e8657b96e0ecdbbf8911a86fad462a32" dependencies = [ "cairo-sys-rs", "gdk4-sys", "glib-sys", "gobject-sys", "graphene-sys", "libc", "pango-sys", "system-deps", ] [[package]] name = "gtk4" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e47dca53cb1a8ae3006e869b5711ae7370180db537f6d98e3bcaf23fabfd911f" dependencies = [ "bitflags", "cairo-rs", "field-offset", "futures-channel", "gdk-pixbuf", "gdk4", "gio", "glib", "graphene-rs", "gsk4", "gtk4-macros", "gtk4-sys", "libc", "once_cell", "pango", ] [[package]] name = "gtk4-macros" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db4676c4f90d8b010e88cb4558f61f47d76d6f6b8e6f6b89e62640f443907f61" dependencies = [ "anyhow", "proc-macro-crate", "proc-macro-error", "proc-macro2", "quote", "syn", ] [[package]] name = "gtk4-sys" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65463dc801460e498d5e7ffa6e9ae2cfbed7d05fabd1ca5a8d024adbc89eeda6" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", "gdk4-sys", "gio-sys", "glib-sys", "gobject-sys", "graphene-sys", "gsk4-sys", "libc", "pango-sys", "system-deps", ] [[package]] name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "heck" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" dependencies = [ "libc", ] [[package]] name = "humantime" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "idna" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" dependencies = [ "unicode-bidi", "unicode-normalization", ] [[package]] name = "indexmap" version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown", ] [[package]] name = "instant" version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ "cfg-if", ] [[package]] name = "io-lifetimes" version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" dependencies = [ "libc", "windows-sys 0.45.0", ] [[package]] name = "js-sys" version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] [[package]] name = "lazy_static" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libadwaita" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1c4efd2020a4fcedbad2c4a97de97bf6045e5dc49d61d5a5d0cfd753db60700" dependencies = [ "bitflags", "futures-channel", "gdk-pixbuf", "gdk4", "gio", "glib", "gtk4", "libadwaita-sys", "libc", "once_cell", "pango", ] [[package]] name = "libadwaita-sys" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0727b85b4fe2b1bed5ac90df6343de15cbf8118bfb96d7c3cc1512681a4b34ac" dependencies = [ "gdk4-sys", "gio-sys", "glib-sys", "gobject-sys", "gtk4-sys", "libc", "pango-sys", "system-deps", ] [[package]] name = "libc" version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "linux-raw-sys" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "log" version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ "cfg-if", ] [[package]] name = "memchr" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memoffset" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" dependencies = [ "autocfg", ] [[package]] name = "native-tls" version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" dependencies = [ "lazy_static", "libc", "log", "openssl", "openssl-probe", "openssl-sys", "schannel", "security-framework", "security-framework-sys", "tempfile", ] [[package]] name = "once_cell" version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "openssl" version = "0.10.45" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1" dependencies = [ "bitflags", "cfg-if", "foreign-types", "libc", "once_cell", "openssl-macros", "openssl-sys", ] [[package]] name = "openssl-macros" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" dependencies = [ "proc-macro2", "quote", "syn", ] [[package]] name = "openssl-probe" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" version = "0.9.80" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7" dependencies = [ "autocfg", "cc", "libc", "pkg-config", "vcpkg", ] [[package]] name = "pango" version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "243c048be90312220fb3bd578176eed8290568274a93c95040289d39349384bc" dependencies = [ "bitflags", "gio", "glib", "libc", "once_cell", "pango-sys", ] [[package]] name = "pango-sys" version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4293d0f0b5525eb5c24734d30b0ed02cd02aa734f216883f376b54de49625de8" dependencies = [ "glib-sys", "gobject-sys", "libc", "system-deps", ] [[package]] name = "parking" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" [[package]] name = "percent-encoding" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pin-project-lite" version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" [[package]] name = "pin-utils" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "polling" version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6" dependencies = [ "autocfg", "cfg-if", "libc", "log", "wepoll-ffi", "windows-sys 0.42.0", ] [[package]] name = "proc-macro-crate" version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", "toml_edit", ] [[package]] name = "proc-macro-error" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", "syn", "version_check", ] [[package]] name = "proc-macro-error-attr" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ "proc-macro2", "quote", "version_check", ] [[package]] name = "proc-macro2" version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" dependencies = [ "unicode-ident", ] [[package]] name = "quote" version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ "proc-macro2", ] [[package]] name = "redox_syscall" version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ "bitflags", ] [[package]] name = "regex" version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ "aho-corasick", "memchr", "regex-syntax", ] [[package]] name = "regex-syntax" version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "rustc_version" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ "semver", ] [[package]] name = "rustix" version = "0.36.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd5c6ff11fecd55b40746d1995a02f2eb375bf8c00d192d521ee09f42bef37bc" dependencies = [ "bitflags", "errno", "io-lifetimes", "libc", "linux-raw-sys", "windows-sys 0.45.0", ] [[package]] name = "schannel" version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ "windows-sys 0.42.0", ] [[package]] name = "security-framework" version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ "bitflags", "core-foundation", "core-foundation-sys", "libc", "security-framework-sys", ] [[package]] name = "security-framework-sys" version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" dependencies = [ "core-foundation-sys", "libc", ] [[package]] name = "semver" version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" [[package]] name = "serde" version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ "proc-macro2", "quote", "syn", ] [[package]] name = "slab" version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg", ] [[package]] name = "smallvec" version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "socket2" version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ "libc", "winapi", ] [[package]] name = "syn" version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] [[package]] name = "system-deps" version = "6.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2955b1fe31e1fa2fbd1976b71cc69a606d7d4da16f6de3333d0c92d51419aeff" dependencies = [ "cfg-expr", "heck", "pkg-config", "toml", "version-compare", ] [[package]] name = "tempfile" version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95" dependencies = [ "cfg-if", "fastrand", "redox_syscall", "rustix", "windows-sys 0.42.0", ] [[package]] name = "termcolor" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] [[package]] name = "thiserror" version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", "syn", ] [[package]] name = "tinyvec" version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" dependencies = [ "tinyvec_macros", ] [[package]] name = "tinyvec_macros" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "toml" version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" dependencies = [ "serde", ] [[package]] name = "toml_datetime" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" [[package]] name = "toml_edit" version = "0.19.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a1eb0622d28f4b9c90adc4ea4b2b46b47663fde9ac5fafcb14a1369d5508825" dependencies = [ "indexmap", "toml_datetime", "winnow", ] [[package]] name = "unicode-bidi" version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[package]] name = "unicode-ident" version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "775c11906edafc97bc378816b94585fbd9a054eabaf86fdd0ced94af449efab7" [[package]] name = "unicode-normalization" version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] [[package]] name = "url" version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" dependencies = [ "form_urlencoded", "idna", "percent-encoding", ] [[package]] name = "vcpkg" version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version-compare" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" [[package]] name = "version_check" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "waker-fn" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" [[package]] name = "wasm-bindgen" version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", "syn", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" dependencies = [ "cfg-if", "js-sys", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ "quote", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "web-sys" version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" dependencies = [ "js-sys", "wasm-bindgen", ] [[package]] name = "wepoll-ffi" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb" dependencies = [ "cc", ] [[package]] name = "winapi" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" dependencies = [ "winapi-i686-pc-windows-gnu", "winapi-x86_64-pc-windows-gnu", ] [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" dependencies = [ "winapi", ] [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-sys" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", "windows_i686_gnu", "windows_i686_msvc", "windows_x86_64_gnu", "windows_x86_64_gnullvm", "windows_x86_64_msvc", ] [[package]] name = "windows-sys" version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ "windows-targets", ] [[package]] name = "windows-targets" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", "windows_i686_gnu", "windows_i686_msvc", "windows_x86_64_gnu", "windows_x86_64_gnullvm", "windows_x86_64_msvc", ] [[package]] name = "windows_aarch64_gnullvm" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" [[package]] name = "windows_aarch64_msvc" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" [[package]] name = "windows_i686_gnu" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" [[package]] name = "windows_i686_msvc" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" [[package]] name = "windows_x86_64_gnu" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" [[package]] name = "windows_x86_64_gnullvm" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" [[package]] name = "windows_x86_64_msvc" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] name = "winnow" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c95fb4ff192527911dd18eb138ac30908e7165b8944e528b6af93aa4c842d345" dependencies = [ "memchr", ] </ins>


Question: Project description Colorful, adaptive gemini browser <!-- Describe the project a little: --Metadata homepage URL: source URL: license: gpl3 platforms: linux

<ins> { stdenv , cargo , rustc , fetchFromGitHub , glib , gtk4 , libadwaita , rustPlatform , openssl , pkg-config , lib , wrapGAppsHook4 , meson , ninja , gdk-pixbuf , cmake , desktop-file-utils , gettext , blueprint-compiler , appstream-glib }: stdenv.mkDerivation rec { pname = "geopard"; version = "1.4.0"; src = fetchFromGitHub { owner = "ranfdev"; repo = pname; rev = version; hash = "sha256-elHxtFEGkdhEPHxuJtcMYwWnvo6vDaHiOyN51EOzym0="; }; cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; }; nativeBuildInputs = [ openssl gettext glib # for glib-compile-schemas meson ninja pkg-config wrapGAppsHook4 cmake blueprint-compiler desktop-file-utils appstream-glib blueprint-compiler cargo rustc rustPlatform.cargoSetupHook ]; buildInputs = [ desktop-file-utils gdk-pixbuf glib gtk4 libadwaita openssl ]; meta = with lib; { homepage = "https://github.com/ranfdev/Geopard"; description = "Colorful, adaptive gemini browser"; maintainers = with maintainers; [ jfvillablanca ]; license = licenses.gpl3Plus; platforms = platforms.linux; mainProgram = "geopard"; }; } </ins>


Question:
If you add enough (minimum number I haven't searched for) settings, then the script of applying these settings via api will not be able to execute completely and curl will generate "CSRF Error" error, this happens because syncthing resets api key after applying a certain number of settings Steps to reproduce the behavior: services.syncthing several devices and options logs of syncthing-init.service, there will be errors syncthing-init.service will execute entirely with no errors and will apply the entire configuration without errors ! I made a vm with the minimal configuration at which the error is reproduced I used nixpkgs commit Config for vm - Steps to reproduce nixpkgs - vm config - vm - vm, login as with password "CSRF Error" and parse error from jq Also during testing I managed to fix this by parsing the api key before each curl call, this helps but looks like a dirty solution <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Please run and paste the result.
Hmm indeed we recently changed a few details in the script in: I tried to write a nixos test to test some of these issues, and I experienced numerous other bugs, and I sort of reproduced the issue as well. I Reverted In: And reopened: cc .
I have this issue with (vm config, that i provided, uses this values too) So i dont think reverting will help
Could you try to merge locally and test?
I tested vanila with as patch on top. In both cases, the issue persists
OK. Thanks for the report!
As I said before, getting the api key from config before each curl call solves the problem (an example of this solution is in the patch), but I don't think it's a good solution, probably we should check the result (or/and stdout) of curl, reparsing api key if needed, call curl again, before trying to parse it with jq Patch:
I also found that to add several different devices you need to have different id's, so I tested with four devices with different id's. With my patch, all 4 devices were to correctly and syncthing-init.service ran correctly and without errors
I also found out that during my testings in . You are invited to submit that patch, with better formatting. I am also looking into finding a way to add dummy, but valid devices ID, for testings.
OK I managed to fix the test, regarding checking that the script indeed deletes devices that need to be deleted. I haven't shared it in , because I use there private (sort-of) syncthing's devices' IDs I took from my personal configuration. I'm still looking for a way to generate valid dummy devices IDs. My help request is at syncthing's forum: I also applied a better version of your patch to the (currently draft) . I plan to add many more devices to that test, and maybe do the same for folders. Then I'll also test issue . In the meantime, I'm waiting for a dummy device ID generator.
I managed to create dummy syncthing device IDs and I am using them now in my PR . I saw your PR , and I think we can concentrate our efforts together on my PR at , where I'm currently failing to reproduce your issue, your comments will be appreciated. I am testing your issue without the 2nd commit in my PR (that is identical to your commit at ), and I'm testing that is fixed by reverting commit just for testing (this works :)).

# be careful not to leak secrets in the filesystem or in process listings umask 0077 <del> # get the api key by parsing the config.xml while ! ${pkgs.libxml2}/bin/xmllint  --xpath 'string(configuration/gui/apikey)'  ${cfg.configDir}/config.xml  >"$RUNTIME_DIRECTORY/api_key" do sleep 1; done (printf "X-API-Key: "; cat "$RUNTIME_DIRECTORY/api_key") >"$RUNTIME_DIRECTORY/headers" </del> curl() { <ins> # get the api key by parsing the config.xml while ! ${pkgs.libxml2}/bin/xmllint  --xpath 'string(configuration/gui/apikey)'  ${cfg.configDir}/config.xml  >"$RUNTIME_DIRECTORY/api_key" do sleep 1; done (printf "X-API-Key: "; cat "$RUNTIME_DIRECTORY/api_key") >"$RUNTIME_DIRECTORY/headers" </ins> ${pkgs.curl}/bin/curl -sSLk -H "@$RUNTIME_DIRECTORY/headers"  --retry 1000 --retry-delay 1 --retry-all-errors  "$@"


Question:
If you add enough (minimum number I haven't searched for) settings, then the script of applying these settings via api will not be able to execute completely and curl will generate "CSRF Error" error, this happens because syncthing resets api key after applying a certain number of settings Steps to reproduce the behavior: services.syncthing several devices and options logs of syncthing-init.service, there will be errors syncthing-init.service will execute entirely with no errors and will apply the entire configuration without errors ! I made a vm with the minimal configuration at which the error is reproduced I used nixpkgs commit Config for vm - Steps to reproduce nixpkgs - vm config - vm - vm, login as with password "CSRF Error" and parse error from jq Also during testing I managed to fix this by parsing the api key before each curl call, this helps but looks like a dirty solution <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Please run and paste the result.
Hmm indeed we recently changed a few details in the script in: I tried to write a nixos test to test some of these issues, and I experienced numerous other bugs, and I sort of reproduced the issue as well. I Reverted In: And reopened: cc .
I have this issue with (vm config, that i provided, uses this values too) So i dont think reverting will help
Could you try to merge locally and test?
I tested vanila with as patch on top. In both cases, the issue persists
OK. Thanks for the report!
As I said before, getting the api key from config before each curl call solves the problem (an example of this solution is in the patch), but I don't think it's a good solution, probably we should check the result (or/and stdout) of curl, reparsing api key if needed, call curl again, before trying to parse it with jq Patch:
I also found that to add several different devices you need to have different id's, so I tested with four devices with different id's. With my patch, all 4 devices were to correctly and syncthing-init.service ran correctly and without errors
I also found out that during my testings in . You are invited to submit that patch, with better formatting. I am also looking into finding a way to add dummy, but valid devices ID, for testings.
OK I managed to fix the test, regarding checking that the script indeed deletes devices that need to be deleted. I haven't shared it in , because I use there private (sort-of) syncthing's devices' IDs I took from my personal configuration. I'm still looking for a way to generate valid dummy devices IDs. My help request is at syncthing's forum: I also applied a better version of your patch to the (currently draft) . I plan to add many more devices to that test, and maybe do the same for folders. Then I'll also test issue . In the meantime, I'm waiting for a dummy device ID generator.
I managed to create dummy syncthing device IDs and I am using them now in my PR . I saw your PR , and I think we can concentrate our efforts together on my PR at , where I'm currently failing to reproduce your issue, your comments will be appreciated. I am testing your issue without the 2nd commit in my PR (that is identical to your commit at ), and I'm testing that is fixed by reverting commit just for testing (this works :)).

syncthing = handleTest ./syncthing.nix {}; syncthing-no-settings = handleTest ./syncthing-no-settings.nix {}; syncthing-init = handleTest ./syncthing-init.nix {}; <ins> syncthing-many-devices = handleTest ./syncthing-many-devices.nix {}; </ins> syncthing-relay = handleTest ./syncthing-relay.nix {}; systemd = handleTest ./systemd.nix {}; systemd-analyze = handleTest ./systemd-analyze.nix {};


Question:
If you add enough (minimum number I haven't searched for) settings, then the script of applying these settings via api will not be able to execute completely and curl will generate "CSRF Error" error, this happens because syncthing resets api key after applying a certain number of settings Steps to reproduce the behavior: services.syncthing several devices and options logs of syncthing-init.service, there will be errors syncthing-init.service will execute entirely with no errors and will apply the entire configuration without errors ! I made a vm with the minimal configuration at which the error is reproduced I used nixpkgs commit Config for vm - Steps to reproduce nixpkgs - vm config - vm - vm, login as with password "CSRF Error" and parse error from jq Also during testing I managed to fix this by parsing the api key before each curl call, this helps but looks like a dirty solution <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Please run and paste the result.
Hmm indeed we recently changed a few details in the script in: I tried to write a nixos test to test some of these issues, and I experienced numerous other bugs, and I sort of reproduced the issue as well. I Reverted In: And reopened: cc .
I have this issue with (vm config, that i provided, uses this values too) So i dont think reverting will help
Could you try to merge locally and test?
I tested vanila with as patch on top. In both cases, the issue persists
OK. Thanks for the report!
As I said before, getting the api key from config before each curl call solves the problem (an example of this solution is in the patch), but I don't think it's a good solution, probably we should check the result (or/and stdout) of curl, reparsing api key if needed, call curl again, before trying to parse it with jq Patch:
I also found that to add several different devices you need to have different id's, so I tested with four devices with different id's. With my patch, all 4 devices were to correctly and syncthing-init.service ran correctly and without errors
I also found out that during my testings in . You are invited to submit that patch, with better formatting. I am also looking into finding a way to add dummy, but valid devices ID, for testings.
OK I managed to fix the test, regarding checking that the script indeed deletes devices that need to be deleted. I haven't shared it in , because I use there private (sort-of) syncthing's devices' IDs I took from my personal configuration. I'm still looking for a way to generate valid dummy devices IDs. My help request is at syncthing's forum: I also applied a better version of your patch to the (currently draft) . I plan to add many more devices to that test, and maybe do the same for folders. Then I'll also test issue . In the meantime, I'm waiting for a dummy device ID generator.
I managed to create dummy syncthing device IDs and I am using them now in my PR . I saw your PR , and I think we can concentrate our efforts together on my PR at , where I'm currently failing to reproduce your issue, your comments will be appreciated. I am testing your issue without the 2nd commit in my PR (that is identical to your commit at ), and I'm testing that is fixed by reverting commit just for testing (this works :)).

<ins> import ./make-test-python.nix ({ lib, pkgs, ... }: # This nixosTest is supposed to check the following: # # - Whether syncthing's API handles multiple requests for many devices, see #   https://github.com/NixOS/nixpkgs/issues/260262 # # - Whether syncthing-init.service generated bash script removes devices and #   folders that are not present in the user's configuration, which is partly #   injected into the script. See also: #   https://github.com/NixOS/nixpkgs/issues/259256 # let # Just a long path not to copy paste configPath = "/var/lib/syncthing/.config/syncthing/config.xml"; # We will iterate this and more attribute sets defined here, later in the # testScript. Start with this, and distinguish these settings from other # settings, as we check these differently with xmllint, due to the ID. settingsWithId = { devices = { # All of the device IDs used here were generated by the following command: # #    (${pkgs.syncthing}/bin/syncthing generate --home /tmp/foo #       | grep ID: | sed 's/.*ID: *//') && rm -rf /tmp/foo # # See also discussion at: # https://forum.syncthing.net/t/how-to-generate-dummy-device-ids/20927/8 test_device1.id  = "IVTZ5XF-EF3GKFT-GS4AZLG-IT6H2ZP-6WK75SF-AFXQXJJ-BNRZ4N6-XPDKVAU"; test_device2.id  = "5C35H56-Z2GFF4F-F3IVD4B-GJYVWIE-SMDBJZN-GI66KWP-52JIQGN-4AVLYAM"; test_device3.id  = "XKLSKHE-BZOHV7B-WQZACEF-GTH36NP-6JSBB6L-RXS3M7C-EEVWO2L-C5B4OAJ"; test_device4.id  = "APN5Q7J-35GZETO-5KCLF35-ZA7KBWK-HGWPBNG-FERF24R-UTLGMEX-4VJ6PQX"; test_device5.id  = "D4YXQEE-5MK6LIK-BRU5QWM-ZRXJCK2-N3RQBJE-23JKTQQ-LYGDPHF-RFPZIQX"; test_device6.id  = "TKMCH64-T44VSLI-6FN2YLF-URBZOBR-ATO4DYX-GEDRIII-CSMRQAI-UAQMDQG"; test_device7.id  = "472EEBG-Q4PZCD4-4CX6PGF-XS3FSQ2-UFXBZVB-PGNXWLX-7FKBLER-NJ3EMAR"; test_device8.id  = "HW6KUMK-WTBG24L-2HZQXLO-TGJSG2M-2JG3FHX-5OGYRUJ-T6L5NN7-L364QAZ"; test_device9.id  = "YAE24AP-7LSVY4T-J74ZSEM-A2IK6RB-FGA35TP-AG4CSLU-ED4UYYY-2J2TDQU"; test_device10.id = "277XFSB-OFMQOBI-3XGNGUE-Y7FWRV3-QQDADIY-QIIPQ26-EOGTYKW-JP2EXAI"; test_device11.id = "2WWXVTN-Q3QWAAY-XFORMRM-2FDI5XZ-OGN33BD-XOLL42R-DHLT2ML-QYXDQAU"; }; # Generates a few folders with IDs and paths as written... folders = lib.pipe 6 [ (builtins.genList (x: { name = "/var/lib/syncthing/test_folder${builtins.toString x}"; value = { id = "DontDeleteMe${builtins.toString x}"; }; })) builtins.listToAttrs ]; }; # Non default options that we check later if were applied settingsWithoutId = { options = { autoUpgradeIntervalH = 0; urAccepted = -1; }; gui = { theme = "dark"; }; }; # Used later when checking whether settings were set in config.xml: checkSettingWithId = { t # t for type , id , not ? false }: '' print("Searching for a ${t} with id ${id}") configVal_${t} = machine.succeed( "${pkgs.libxml2}/bin/xmllint " "--xpath 'string(//${t}[@id="${id}"]/@id)' ${configPath}" ) print("${t}.id = {}".format(configVal_${t})) assert "${id}" ${if not then "not" else ""} in configVal_${t} ''; # Same as checkSettingWithId, but for 'options' and 'gui' checkSettingWithoutId = { t # t for type , n # n for name , v # v for value , not ? false }: '' print("checking whether setting ${t}.${n} is set to ${v}") configVal_${t}_${n} = machine.succeed( "${pkgs.libxml2}/bin/xmllint " "--xpath 'string(/configuration/${t}/${n})' ${configPath}" ) print("${t}.${n} = {}".format(configVal_${t}_${n})) assert "${v}" ${if not then "not" else ""} in configVal_${t}_${n} ''; # Removes duplication a bit to define this function for the IDs to delete - # we check whether they were added after our script ran, and before the # systemd unit's bash script ran, and afterwards - whether the systemd unit # worked. checkSettingsToDelete = { not }: lib.pipe IDsToDelete [ (lib.mapAttrsToList (t: id: checkSettingWithId { inherit t id; inherit not; } )) lib.concatStrings ]; # These IDs are added to syncthing using the API, similarly to how the # generated systemd unit's bash script does it. Only we add it and expect the # systemd unit bash script to remove them when executed. IDsToDelete = { # Also created using the syncthing generate command above device = "LZ2CTHT-3W2M7BC-CMKDFZL-DLUQJFS-WJR73PA-NZGODWG-DZBHCHI-OXTQXAK"; # Intentionally this is a substring of the IDs of the 'test_folder's, as # explained in: https://github.com/NixOS/nixpkgs/issues/259256 folder = "DeleteMe"; }; addDeviceToDeleteScript = pkgs.writers.writeBash "syncthing-add-device-to-delete.sh" '' set -euo pipefail export RUNTIME_DIRECTORY=/tmp curl() { # get the api key by parsing the config.xml while ! ${pkgs.libxml2}/bin/xmllint  --xpath 'string(configuration/gui/apikey)'  ${configPath}  >"$RUNTIME_DIRECTORY/api_key" do sleep 1; done (printf "X-API-Key: "; cat "$RUNTIME_DIRECTORY/api_key") >"$RUNTIME_DIRECTORY/headers" ${pkgs.curl}/bin/curl -sSLk -H "@$RUNTIME_DIRECTORY/headers"  --retry 1000 --retry-delay 1 --retry-all-errors  "$@" } curl -d ${lib.escapeShellArg (builtins.toJSON { deviceID = IDsToDelete.device;})}  -X POST 127.0.0.1:8384/rest/config/devices curl -d ${lib.escapeShellArg (builtins.toJSON { id = IDsToDelete.folder;})}  -X POST 127.0.0.1:8384/rest/config/folders ''; in { name = "syncthing-init"; meta.maintainers = with lib.maintainers; [ doronbehar ]; nodes.machine = { services.syncthing = { enable = true; overrideDevices = true; overrideFolders = true; settings = settingsWithoutId // settingsWithId; }; }; testScript = '' machine.wait_for_unit("syncthing-init.service") '' + (lib.pipe settingsWithId [ # Check that folders and devices were added properly and that all IDs exist (lib.mapAttrsRecursive (path: id: checkSettingWithId { # plural -> solitary t = (lib.removeSuffix "s" (builtins.elemAt path 0)); inherit id; } )) # Get all the values we applied the above function upon (lib.collect builtins.isString) lib.concatStrings ]) + (lib.pipe settingsWithoutId [ # Check that all other syncthing.settings were added properly with correct # values (lib.mapAttrsRecursive (path: value: checkSettingWithoutId { t = (builtins.elemAt path 0); n = (builtins.elemAt path 1); v = (builtins.toString value); } )) # Get all the values we applied the above function upon (lib.collect builtins.isString) lib.concatStrings ]) + '' # Run the script on the machine machine.succeed("${addDeviceToDeleteScript}") '' + (checkSettingsToDelete { not = false; }) + '' # Useful for debugging later machine.copy_from_vm("${configPath}", "before") machine.systemctl("restart syncthing-init.service") machine.wait_for_unit("syncthing-init.service") '' + (checkSettingsToDelete { not = true; }) + '' # Useful for debugging later machine.copy_from_vm("${configPath}", "after") # Copy the systemd unit's bash script, to inspect it for debugging. mergeScript = machine.succeed( "systemctl cat syncthing-init.service | " "${pkgs.initool}/bin/initool g - Service ExecStart --value-only" ).strip() # strip from new lines machine.copy_from_vm(mergeScript, "") ''; }) </ins>


Question:
Steps to reproduce the behavior: llpp Works on 22.05 05 probably depends on insecure with:
I don't use this package, but I looked into it because why not I guess It looks like it builds if you bump the AUR patch to the latest one but only if you also include (which fixes a derivation bug but was reverted because other packages in nixpkgs have workarounds that stopped working when the bug was fixed....)
ohh, thanks for looking at this! I build it with that version of mupdf and the aur patch, and it does build fine, but I get a runtime error now if run without arguments . Still, it does seem able to open pdfs now, so it's sort of usable :p
Hmm I don't actually seem to get that error when running it without args I don't actually know how to use this program though
I'll still merge in a bit to fix build for now, but I may have gotten sniped into taking back up again and will hopefully making a staging PR today (because we really should fix that....)
Sorry! :p
Snipe is in now

url = "https://aur.archlinux.org/cgit/aur.git/plain/system-makedeps.patch?h=llpp&id=0d2913056aaf3dbf7431e57b7b08b55568ba076c"; hash = "sha256-t9PLXsM8+exCeYqJBe0LSDK0D2rpktmozS8qNcEAcHo="; }) <ins> ./fix-mupdf.patch </ins> ]; postPatch = ''


Question:
Steps to reproduce the behavior: llpp Works on 22.05 05 probably depends on insecure with:
I don't use this package, but I looked into it because why not I guess It looks like it builds if you bump the AUR patch to the latest one but only if you also include (which fixes a derivation bug but was reverted because other packages in nixpkgs have workarounds that stopped working when the bug was fixed....)
ohh, thanks for looking at this! I build it with that version of mupdf and the aur patch, and it does build fine, but I get a runtime error now if run without arguments . Still, it does seem able to open pdfs now, so it's sort of usable :p
Hmm I don't actually seem to get that error when running it without args I don't actually know how to use this program though
I'll still merge in a bit to fix build for now, but I may have gotten sniped into taking back up again and will hopefully making a staging PR today (because we really should fix that....)
Sorry! :p
Snipe is in now

<del> diff --git a/build.bash b/build.bash index 7c278b6..41494c5 100755 with manual adjustments --- a/build.bash +++ b/build.bash @@ -30,7 +30,6 @@ srcd="$(dirname $0)" mudir=$outd/mupdf muinc="-I $mudir/include -I $mudir/thirdparty/freetype/include" -test -d "$mudir" || die muPDF not found, consult $(dirname $0)/BUILDING mkdir -p $outd/{$wsid,lablGL} :>$outd/ordered @@ -41,12 +40,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; } mulibst="$mudir/build/$mbt/libs" mulibs="$mudir/build/$mbt/libmupdf.a $mudir/build/$mbt/libmupdf-third.a" -keycmd="(cd $mudir && make -q build=$mbt libs && echo); digest $mulibs" -isfresh "$mulibst" "$(eval $keycmd)" || ( -    make -C "$mudir" build=$mbt -j $mjobs libs -    eval $keycmd >${mulibst}.past -) && vecho "fresh mupdf" - oincs() { local i= local incs1= @@ -100,35 +93,6 @@ mflags() { } overs="$(ocamlc -vnum 2>/dev/null)" || overs="" -test "$overs" = "4.11.1" || { -    url=https://caml.inria.fr/pub/distrib/ocaml-4.11/ocaml-4.11.1.tar.xz -    txz=$outd/$(basename $url) -    keycmd="printf $url; digest $txz;" -    isfresh $txz "$(eval $keycmd)" || { -        executable_p() { command -v "$1" >/dev/null 2>&1; } -        if executable_p wget; then dl() { wget -q "$1" -O "$2"; } -        elif executable_p curl; then dl() { curl -L "$1" -o "$2"; } -        else die "no program to fetch remote urls found" -        fi -        dl $url $txz -        eval $keycmd >$txz.past -    } && vecho "fresh $txz" -    absprefix=$(cd $outd &>/dev/null; pwd -P) -    export PATH=$absprefix/bin:$PATH -    ocamlc=$absprefix/bin/ocamlc -    keycmd="printf $url; digest $ocamlc;" -    isfresh $ocamlc "$(eval $keycmd)" || ( -        tar xf $txz -C $outd -        bn=$(basename $url) -        cd $outd/${bn%.tar.xz} -        ./configure --disable-ocamldoc --disable-ocamltest       -                    --enable-debugger=no --prefix=$absprefix -        make -j $mjobs world -        make install -        eval $keycmd >$absprefix/bin/ocamlc.past -    ) && vecho "fresh ocamlc" -    overs=$(ocamlc -vnum 2>/dev/null) -} ccomp=${LLPP_CC-$(ocamlc -config | grep "^c_compiler: " |  { read _ c; echo $c; })} @@ -243,7 +208,7 @@ bobjc() { } && vecho "fresh $o" } -ver=$(cd $srcd && git describe --tags --dirty) || ver=unknown +ver=@version@ cmd="(. $srcd/genconfstr.sh >$outd/confstruct.ml)" keycmd="digest $srcd/genconfstr.sh $outd/confstruct.ml" @@ -291,7 +256,7 @@ for m in ml_gl ml_glarray ml_raw; do done libs="str.cma unix.cma" -clibs="-L$mudir/build/$mbt -lmupdf -lmupdf-third -lpthread" +clibs="-lmupdf -lmupdf-third -lfreetype -lgumbo -ljpeg -lopenjp2 -ljbig2dec -llcms2 -lharfbuzz -lpthread -lz" if $darwin; then mcomp=$(ocamlc -config | grep bytecomp_c_co | { read _ c; echo $c; }) clibs="$clibs -framework Cocoa -framework OpenGL" </del>


Question:
Steps to reproduce the behavior: llpp Works on 22.05 05 probably depends on insecure with:
I don't use this package, but I looked into it because why not I guess It looks like it builds if you bump the AUR patch to the latest one but only if you also include (which fixes a derivation bug but was reverted because other packages in nixpkgs have workarounds that stopped working when the bug was fixed....)
ohh, thanks for looking at this! I build it with that version of mupdf and the aur patch, and it does build fine, but I get a runtime error now if run without arguments . Still, it does seem able to open pdfs now, so it's sort of usable :p
Hmm I don't actually seem to get that error when running it without args I don't actually know how to use this program though
I'll still merge in a bit to fix build for now, but I may have gotten sniped into taking back up again and will hopefully making a staging PR today (because we really should fix that....)
Sorry! :p
Snipe is in now

<ins> --- a/link.c +++ b/link.c @@ -1522,8 +1522,9 @@ static void *mainloop (void UNUSED_ATTR *unused) if (pdf && nameddest && *nameddest) { fz_point xy; struct pagedim *pdim; -                int pageno = pdf_lookup_anchor (state.ctx, pdf, nameddest, +                fz_location location = fz_resolve_link (state.ctx, state.doc, nameddest, &xy.x, &xy.y); +                int pageno = location.page; pdim = pdimofpageno (pageno); xy = fz_transform_point (xy, pdim->ctm); printd ("a %d %d %d", pageno, (int) xy.x, (int) xy.y); </ins>