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


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}


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";


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


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


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


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


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 {


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


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


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 ''


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[@]}"}


# 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 = [


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


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 ++


# 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)


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,


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


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 ]; };


{ 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


, 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";


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


]; 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


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


# 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 = [


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 '' ))


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";


<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>


<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>


# 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  "$@"


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 {};


<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>


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 = ''


<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>


<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>


rustPlatform.buildRustPackage rec { pname = "nsncd"; <del> version = "unstable-2022-11-14"; </del> <ins> version = "unstable-2023-10-26"; # https://github.com/twosigma/nsncd/pull/71 has not been upstreamed # to twosigma/nsncd yet. Using the nix-community fork in the # meantime. </ins> src = fetchFromGitHub { owner = "nix-community"; repo = "nsncd"; <del> rev = "47e580f1db99603df6e212a2e62f18cc970cef40"; hash = "sha256-Nv3MYZcuYgD66BAGs3Tg37s086HAGsaDBFvELqQF3Tk="; </del> <ins> rev =  "d6513421f420e407248c6d0aee39ae2f861a7cec"; hash = "sha256-PykzwpPxMDHJOr2HubXuw+Krk9Jbi0E3M2lEAOXhx2M="; </ins> }; <del> cargoSha256 = "sha256-c1L6nEUBHw1YegmoRrI3WU/bF80Nzbz13hsGlNyBR9o="; </del> <ins> cargoSha256 = "sha256-cUM7rYXWpJ0aMiurXBp15IlxAmf/x5uiodxEqBPCQT0="; </ins> meta = with lib; { description = "the name service non-caching daemon";


stdenv.mkDerivation rec { pname = "exim"; <del> version = "4.96.1"; </del> <ins> version = "4.96.2"; </ins> src = fetchurl { url = "https://ftp.exim.org/pub/exim/exim4/${pname}-${version}.tar.xz"; <del> hash = "sha256-k6wHVcMX4f276ozLcKhoh2vfMUhpKJHHKtD+gWdnAz0="; </del> <ins> hash = "sha256-A44yfo0ek9AFusm7Bv0irsRNUCiTDW2+iBetRLv8HeY="; </ins> }; enableParallelBuilding = true;


a stable URL for Nixpkgs to use to package this proprietary software. </para> </listitem> <ins> <listitem> <para> The GRUB specific option <option>boot.loader.grub.extraInitrd</option> has been replaced with the generic option <option>boot.initrd.secrets</option>. This option creates a secondary initrd from the specified files, rather than using a manually created initrd file. </para> </listitem> </ins> </itemizedlist> </section>


let efiSysMountPoint = if args.efiSysMountPoint == null then args.path else args.efiSysMountPoint; efiSysMountPoint' = replaceChars [ "/" ] [ "-" ] efiSysMountPoint; <ins> initrdSecrets = config.boot.initrd.secrets != {}; </ins> in pkgs.writeText "grub-config.xml" (builtins.toXML { splashImage = f cfg.splashImage;


storePath = config.boot.loader.grub.storePath; bootloaderId = if args.efiBootloaderId == null then "NixOS${efiSysMountPoint'}" else args.efiBootloaderId; timeout = if config.boot.loader.timeout == null then -1 else config.boot.loader.timeout; <del> inherit efiSysMountPoint; </del> <ins> inherit efiSysMountPoint initrdSecrets; </ins> inherit (args) devices; inherit (efi) canTouchEfiVariables; inherit (cfg) version extraConfig extraPerEntryConfig extraEntries forceInstall useOSProber <del> extraEntriesBeforeNixOS extraPrepareConfig extraInitrd configurationLimit copyKernels </del> <ins> extraEntriesBeforeNixOS extraPrepareConfig configurationLimit copyKernels </ins> default fsIdentifier efiSupport efiInstallAsRemovable gfxmodeEfi gfxmodeBios; path = (makeBinPath ([ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.findutils pkgs.diffutils pkgs.btrfs-progs


''; }; <del> extraInitrd = mkOption { type = types.nullOr types.path; default = null; example = "/boot/extra_initramfs.gz"; description = '' The path to a second initramfs to be supplied to the kernel. This ramfs will not be copied to the store, so that it can contain secrets such as LUKS keyfiles or ssh keys. This implies that rolling back to a previous configuration won't rollback the state of this file. ''; }; </del> useOSProber = mkOption { default = false; type = types.bool;


{ path = "/boot"; inherit (cfg) devices; inherit (efi) efiSysMountPoint; } ]; <ins> boot.loader.supportsInitrdSecrets = true; </ins> system.build.installBootLoader = let install-grub-pl = pkgs.substituteAll {


my $extraPerEntryConfig = get("extraPerEntryConfig"); my $extraEntries = get("extraEntries"); my $extraEntriesBeforeNixOS = get("extraEntriesBeforeNixOS") eq "true"; <del> my $extraInitrd = get("extraInitrd"); </del> <ins> my $initrdSecrets = get("initrdSecrets"); </ins> my $splashImage = get("splashImage"); my $configurationLimit = int(get("configurationLimit")); my $copyKernels = get("copyKernels") eq "true";


if ($copyKernels == 0) { $grubStore = GrubFs($storePath); } <del> my $extraInitrdPath; if ($extraInitrd) { if (! -f $extraInitrd) { print STDERR "Warning: the specified extraInitrd " . $extraInitrd . " doesn't exist. Your system won't boot without it.n"; } $extraInitrdPath = GrubFs($extraInitrd); } </del> # Generate the header. my $conf .= "# Automatically generated.  DO NOT EDIT THIS FILE!n";


my $kernel = copyToKernelsDir(Cwd::abs_path("$path/kernel")); my $initrd = copyToKernelsDir(Cwd::abs_path("$path/initrd")); <del> if ($extraInitrd) { $initrd .= " " .$extraInitrdPath->path; </del> <ins> # Include second initrd with secrets if ($initrdSecrets) { # Get last element of path $initrd =~ //([^/]+)$/; my $initrdSecretsPath = "$bootPath/kernels/$1-secrets"; $initrd .= " $initrd-secrets"; my $oldUmask = umask; # Make sure initrd is not world readable (won't work if /boot is FAT) umask 0137; my $initrdSecretsPathTemp = File::Temp::mktemp("$initrdSecretsPath.XXXXXXXX"); system("$path/append-initrd-secrets", $initrdSecretsPathTemp) == 0 or die "failed to create initrd secretsn"; rename $initrdSecretsPathTemp, $initrdSecretsPath or die "failed to move initrd secrets into placen"; umask $oldUmask; $copied{$initrdSecretsPath} = 1; </ins> } my $xen = -e "$path/xen.gz" ? copyToKernelsDir(Cwd::abs_path("$path/xen.gz")) : undef; # FIXME: $confName


if ($copyKernels == 0) { $conf .= $grubStore->search . "n"; } <del> if ($extraInitrd) { $conf .= $extraInitrdPath->search . "n"; } </del> $conf .= "  $extraPerEntryConfign" if $extraPerEntryConfig; $conf .= "  multiboot $xen $xenParamsn" if $xen; $conf .= "  " . ($xen ? "module" : "linux") . " $kernel $kernelParamsn";


, enableSqlite ? true }: python3.pkgs.buildPythonApplication rec { pname = "mautrix-googlechat"; <del> version = "unstable-2023-07-16"; </del> <ins> version = "0.5.1"; </ins> src = fetchFromGitHub { owner = "mautrix"; repo = "googlechat"; <del> rev = "f4cddafd474b12be09efd15c6652c04d0650458e"; sha256 = "sha256-WMJVAX5oUdYYuXoJKk7OoERR0LJM0Er5444xwqIUTm8="; </del> <ins> rev = "refs/tags/v${version}"; hash = "sha256-a/EWz/aCkBE6XdDpmZcx2Q7/xKNwGCiZUhZc9YIIDhU="; </ins> }; patches = [


config = mkIf cfg.enable { warnings = [] <del> ++ optional (cfg.settings != null && cfg.settings.location != null) </del> <ins> ++ optional (cfg.settings != null && cfg.settings ? location) </ins> "`services.borgmatic.settings.location` is deprecated, please move your options out of sections to the global scope" ++ optional (catAttrs "location" (attrValues cfg.configurations) != []) "`services.borgmatic.configurations.<name>.location` is deprecated, please move your options out of sections to the global scope"


in stdenv.mkDerivation (finalAttrs: { pname = "prl-tools"; <del> version = "19.0.0-54570"; </del> <ins> version = "19.1.0-54729"; </ins> # We download the full distribution to extract prl-tools-lin.iso from # => ${dmg}/Parallels Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso src = fetchurl { url = "https://download.parallels.com/desktop/v${lib.versions.major finalAttrs.version}/${finalAttrs.version}/ParallelsDesktop-${finalAttrs.version}.dmg"; <del> hash = "sha256-y7UC+E5i2cxkOJ9nVI6aQAFJ5kTXv9uaZoMO4/SCS6k="; </del> <ins> hash = "sha256-Qo/6EuILu5i3hjhxecf3qfoMFEJHJZVY19tDIXDJiag="; </ins> }; hardeningDisable = [ "pic" "format" ];


<del> { lib, buildPythonPackage, fetchFromGitHub, keyutils, pytest-runner, pytest }: </del> <ins> { lib , buildPythonPackage , cython , fetchFromGitHub , keyutils , pytestCheckHook }: </ins> buildPythonPackage rec { pname = "keyutils";


substituteInPlace setup.py --replace '"pytest-runner"' "" ''; <ins> preBuild = '' cython keyutils/_keyutils.pyx ''; preCheck = '' rm -rf keyutils ''; </ins> buildInputs = [ keyutils ]; <del> nativeCheckInputs = [ pytest pytest-runner ]; </del> <ins> nativeBuildInputs = [ cython ]; nativeCheckInputs = [ pytestCheckHook ]; </ins> meta = { description = "A set of python bindings for keyutils";


stdenv.mkDerivation rec { pname = "cardinal"; <del> version = "23.09"; </del> <ins> version = "23.10"; </ins> src = fetchurl { url = "https://github.com/DISTRHO/Cardinal/releases/download/${version}/cardinal+deps-${version}.tar.xz"; <del> hash = "sha256-q42ry47y4tTkUbejv6iN5jXcadXSSTPQ3omhMUevfqU="; </del> <ins> hash = "sha256-6Wt2sC7vdrz2Fkl08bNLfnGu+pAV7b5lZUmsx1wtJRE="; </ins> }; prePatch = ''


, buildWebExtension ? false }: let <del> version = "1.5.8"; gitHash = "544edce"; </del> <ins> version = "1.6.0"; gitHash = "ffe6bb1"; </ins> in buildNpmPackage rec { pname = "vencord";


owner = "Vendicated"; repo = "Vencord"; rev = "v${version}"; <del> hash = "sha256-cJ+8CKCET7Z2MebyrW5OQr50tvbDM3mkvEQQm3zSbdU="; </del> <ins> hash = "sha256-t4+8ybPzqcCtTSukBBgvbD7HiKG4K51WPVnJg0RQbs8="; </ins> }; ESBUILD_BINARY_PATH = lib.getExe (esbuild.overrideAttrs (final: _: {


npmRebuildFlags = [ "|| true" ]; makeCacheWritable = true; <del> npmDepsHash = "sha256-JeJjjrCfJMuxP9sVVkKJQ7bRCGu0jbGfiw78jS0r2Sg="; </del> <ins> npmDepsHash = "sha256-H2f6xdAa7fNETbQhIv+InCB7+O4nq0bx+RILjGjqXdY="; </ins> npmFlags = [ "--legacy-peer-deps" ]; npmBuildScript = if buildWebExtension then "buildWeb" else "build"; npmBuildFlags = [ "--" "--standalone" "--disable-updater" ];


{ "name": "vencord", <del> "version": "1.5.8", </del> <ins> "version": "1.6.0", </ins> "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "vencord", <del> "version": "1.5.8", </del> <ins> "version": "1.6.0", </ins> "license": "GPL-3.0-or-later", "dependencies": { "@sapphi-red/web-noise-suppressor": "0.3.3",


} }, "node_modules/@eslint-community/regexpp": { <del> "version": "4.9.1", "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", </del> <ins> "version": "4.10.0", "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", </ins> "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0"


"dev": true }, "node_modules/@types/node": { <del> "version": "18.18.6", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.6.tgz", "integrity": "sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==", "dev": true </del> <ins> "version": "18.18.7", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.7.tgz", "integrity": "sha512-bw+lEsxis6eqJYW8Ql6+yTqkE6RuFtsQPSe5JxXbqYRFQEER5aJA9a5UH9igqDWm3X4iLHIKOHlnAXLM4mi7uQ==", "dev": true, "dependencies": { "undici-types": "~5.26.4" } </ins> }, "node_modules/@types/normalize-package-data": { "version": "2.4.3",


"dev": true }, "node_modules/@types/react": { <del> "version": "18.2.31", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.31.tgz", "integrity": "sha512-c2UnPv548q+5DFh03y8lEDeMfDwBn9G3dRwfkrxQMo/dOtRHUUO57k6pHvBIfH/VF4Nh+98mZ5aaSe+2echD5g==", </del> <ins> "version": "18.2.33", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz", "integrity": "sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg==", </ins> "dev": true, "dependencies": { "@types/prop-types": "*",


"through": "^2.3.8" } }, <ins> "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, </ins> "node_modules/union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",


<del> { lib , buildGoModule , fetchFromGitHub , makeBinaryWrapper , pkg-config , libGL , libxkbcommon , xorg , wayland , vulkan-headers , wine64Packages , fetchpatch , fetchFromGitLab , fetchurl , }: let stagingPatch = fetchFromGitLab { sha256 = "sha256-VQ4j4PuXRoXbCUZ16snVO+jRvuKD4Rjn14R7bhwdAco="; domain = "gitlab.winehq.org"; owner = "wine"; repo = "wine-staging"; rev = "v9.2"; }; wine = wine64Packages.staging.overrideDerivation (oldAttrs: { prePatch = '' patchShebangs tools cp -r ${stagingPatch}/patches ${stagingPatch}/staging . chmod +w patches patchShebangs ./patches/gitapply.sh python3 ./staging/patchinstall.py --destdir="$PWD" --all ''; patches = (oldAttrs.patches or [ ]) ++ [ (fetchurl { name = "childwindow.patch"; hash = "sha256-u3mDvlbhQnfh2tUKb8jNJA0tTcLIaKVLfY8ktJmeRns="; url = "https://raw.githubusercontent.com/flathub/org.vinegarhq.Vinegar/9f43ce33a691afb50562d95adfc6719a3b58ddb7/patches/wine/childwindow.patch"; }) (fetchpatch { name = "mouselock.patch"; hash = "sha256-0AGA4AQbxTL5BGVbm072moav7xVA3zpotYqM8pcEDa4="; url = "https://raw.githubusercontent.com/flathub/org.vinegarhq.Vinegar/9f43ce33a691afb50562d95adfc6719a3b58ddb7/patches/wine/mouselock.patch"; }) (fetchpatch { name = "segregrevert.patch"; hash = "sha256-+3Nld81nG3GufI4jAF6yrWfkJmsSCOku39rx0Hov29c="; url = "https://raw.githubusercontent.com/flathub/org.vinegarhq.Vinegar/9f43ce33a691afb50562d95adfc6719a3b58ddb7/patches/wine/segregrevert.patch"; }) ]; src = fetchFromGitLab rec { sha256 = "sha256-GlPH34dr9aHx7xvlcbtDMn/wrY//DP58ilXjhQXgihQ="; domain = "gitlab.winehq.org"; owner = "wine"; repo = "wine"; rev = "wine-9.2"; }; }); in buildGoModule rec { pname = "vinegar"; version = "1.7.5"; src = fetchFromGitHub { owner = "vinegarhq"; repo = "vinegar"; rev = "v${version}"; hash = "sha256-eU6xlmgz8X7q51GSkQlz/kEQgTzzXYw5P6Yr47f7hbs="; }; vendorHash = "sha256-O2AQFcJmYY3FtLXB3BPdzsplFbthYEyasfctpPOQVhs="; nativeBuildInputs = [ pkg-config makeBinaryWrapper ]; buildInputs = [ libGL libxkbcommon xorg.libX11 xorg.libXcursor xorg.libXfixes wayland vulkan-headers wine ]; buildPhase = '' runHook preBuild make PREFIX=$out runHook postBuild ''; installPhase = '' runHook preInstall make PREFIX=$out install runHook postInstall ''; postInstall = '' wrapProgram $out/bin/vinegar  --prefix PATH : ${lib.makeBinPath [wine]} ''; meta = with lib; { description = "Open-source, minimal, configurable, fast bootstrapper for running Roblox on Linux"; homepage = "https://github.com/vinegarhq/vinegar"; changelog = "https://github.com/vinegarhq/vinegar/releases/tag/v${version}"; mainProgram = "vinegar"; license = licenses.gpl3Only; platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ nyanbinary ]; }; } </del>


<del> { lib , fetchFromGitLab , gobject-introspection , pciutils , python3Packages , gtk3 , wrapGAppsHook3 , glib , cairo , desktop-file-utils , xdg-utils , xdg-user-dirs , gettext , winetricks , wine , glxinfo , xrandr , bash }: python3Packages.buildPythonApplication rec  { pname = "grapejuice"; version = "7.20.11"; src = fetchFromGitLab { owner = "BrinkerVII"; repo = "grapejuice"; rev = "v${version}"; hash = "sha256-sDw67Xseeak1v5x0daznfdeNQahDTj21AVvXmuZlsgg="; }; nativeBuildInputs = [ gobject-introspection desktop-file-utils glib wrapGAppsHook3 python3Packages.pip ]; buildInputs = [ cairo gettext gtk3 bash ]; propagatedBuildInputs = with python3Packages; [ psutil dbus-python pygobject3 packaging wheel setuptools requests unidecode click pydantic ]; dontWrapGApps = true; makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ xdg-user-dirs wine winetricks pciutils glxinfo xrandr ]}" # make xdg-open overrideable at runtime "--suffix PATH : ${lib.makeBinPath [ xdg-utils ]}" ]; postPatch = '' substituteInPlace src/grapejuice_common/assets/desktop/grapejuice.desktop  --replace $GRAPEJUICE_EXECUTABLE "$out/bin/grapejuice"  --replace $GRAPEJUICE_GUI_EXECUTABLE "$out/bin/grapejuice-gui"  --replace $GRAPEJUICE_ICON grapejuice substituteInPlace src/grapejuice_common/assets/desktop/roblox-player.desktop  --replace $GRAPEJUICE_EXECUTABLE "$out/bin/grapejuice"  --replace $PLAYER_ICON "grapejuice-roblox-player" substituteInPlace src/grapejuice_common/assets/desktop/roblox-app.desktop  --replace $GRAPEJUICE_EXECUTABLE "$out/bin/grapejuice"  --replace $PLAYER_ICON "grapejuice-roblox-player" substituteInPlace src/grapejuice_common/assets/desktop/roblox-studio.desktop src/grapejuice_common/assets/desktop/roblox-studio-auth.desktop  --replace $GRAPEJUICE_EXECUTABLE "$out/bin/grapejuice"  --replace $STUDIO_ICON "grapejuice-roblox-studio" substituteInPlace src/grapejuice_common/paths.py  --replace 'return local_share() / "locale"' 'return Path("${placeholder "out"}/share/locale")' substituteInPlace src/grapejuice_common/models/settings_model.py  --replace 'default_wine_home: Optional[str] = ""' 'default_wine_home: Optional[str] = "${wine}"' substituteInPlace src/grapejuice_packaging/builders/linux_package_builder.py  --replace '"--no-dependencies",' '"--no-dependencies", "--no-build-isolation",' substituteInPlace src/grapejuice_packaging/packaging_resources/bin/grapejuice src/grapejuice_packaging/packaging_resources/bin/grapejuice-gui  --replace "/usr/bin/env python3" "${python3Packages.python.interpreter}" ''; installPhase = '' runHook preInstall PYTHONPATH=$(pwd)/src:$PYTHONPATH python3 -m grapejuice_packaging linux_package mkdir -p "$out" "$out/${python3Packages.python.sitePackages}" tar -xvf ./dist/linux_package/grapejuice-''${version}.tar.gz --strip-components=1 -C "$out" mv "$out/lib/python3/dist-packages/"* "$out/${python3Packages.python.sitePackages}" rmdir --ignore-fail-on-non-empty -p "$out/lib/python3/dist-packages" runHook postInstall ''; postFixup = '' patchShebangs "$out/bin/grapejuice{,-gui}" buildPythonPath "$out $pythonPath" for bin in grapejuice grapejuice-gui; do wrapProgram "$out/bin/$bin"  --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"  ''${makeWrapperArgs[@]}  ''${gappsWrapperArgs[@]} done ''; # No tests doCheck = false; pythonImportsCheck = [ "grapejuice" ]; meta = with lib; { homepage = "https://gitlab.com/brinkervii/grapejuice"; description = "Simple Wine+Roblox management tool"; license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = with maintainers; [ artturin helium ]; }; } </del>


gradle_5 = throw "gradle_5 has been removed because it's no longer being updated"; # Added 2023-01-17 grafana_reporter = grafana-reporter; # Added 2024-06-09 gr-ais = throw "'gr-ais' has been renamed to/replaced by 'gnuradio3_7.pkgs.ais'"; # Converted to throw 2023-09-10 <ins> grapefruit = throw "'grapefruit' was removed due to being blocked by Roblox, rendering the package useless"; # Added 2024-08-23 </ins> graylog = throw "graylog is now available in versions 3.3 up to 5.0. Please mind the upgrade path and choose the appropriate version. Direct upgrading from 3.3 to 4.3 or above is not supported"; # Added 2023-04-24 graylog-3_3 = throw "graylog 3.x is EOL. Please consider downgrading nixpkgs if you need an upgrade from 3.x to latest series."; # Added 2023-10-09 graylog-4_0 = throw "graylog 4.x is EOL. Please consider downgrading nixpkgs if you need an upgrade from 4.x to latest series."; # Added 2023-10-09


vikunja-frontend = throw "'vikunja-frontend' has been replaced by 'vikunja'"; # Added 2024-02-19 vimHugeX = vim-full; # Added 2022-12-04 vim_configurable = vim-full; # Added 2022-12-04 <ins> vinegar = throw "'vinegar' was removed due to being blocked by Roblox, rendering the package useless"; # Added 2024-08-23 </ins> virtmanager = throw "'virtmanager' has been renamed to/replaced by 'virt-manager'"; # Converted to throw 2023-09-10 virtmanager-qt = throw "'virtmanager-qt' has been renamed to/replaced by 'virt-manager-qt'"; # Converted to throw 2023-09-10 vivaldi-widevine = throw "'vivaldi-widevine' has been renamed to/replaced by 'widevine-cdm'"; # Added 2023-02-25


qtads = qt5.callPackage ../games/qtads { }; <del> grapejuice = callPackage ../games/grapejuice { wine = wineWowPackages.unstable; }; </del> graphwar = callPackage ../games/graphwar { }; gtypist = callPackage ../games/gtypist { };


, file , substituteAll , writeTextFile <ins> , writeShellApplication </ins> }: let


defaultShellPath = lib.makeBinPath defaultShellUtils; <ins> bashWithDefaultShellUtils = writeShellApplication { name = "bash"; runtimeInputs = defaultShellUtils; text = '' if [[ "$PATH" == "/no-such-path" ]]; then export PATH=${defaultShellPath} fi exec ${bash}/bin/bash "$@" ''; }; </ins> platforms = lib.platforms.linux ++ lib.platforms.darwin; system = if stdenv.hostPlatform.isDarwin then "darwin" else "linux";


# If you add more replacements here, you must change the grep above! # Only files containing /bin are taken into account. substituteInPlace "$path"  <del> --replace /bin/bash ${bash}/bin/bash  --replace "/usr/bin/env bash" ${bash}/bin/bash  </del> <ins> --replace /bin/bash ${bashWithDefaultShellUtils}/bin/bash  --replace "/usr/bin/env bash" ${bashWithDefaultShellUtils}/bin/bash  </ins> --replace "/usr/bin/env python" ${python3}/bin/python  --replace /usr/bin/env ${coreutils}/bin/env  --replace /bin/true ${coreutils}/bin/true


# bazel test runner include references to /bin/bash substituteInPlace tools/build_rules/test_rules.bzl  <del> --replace /bin/bash ${bash}/bin/bash </del> <ins> --replace /bin/bash ${bashWithDefaultShellUtils}/bin/bash </ins> for i in $(find tools/cpp/ -type f) do substituteInPlace $i  <del> --replace /bin/bash ${bash}/bin/bash </del> <ins> --replace /bin/bash ${bashWithDefaultShellUtils}/bin/bash </ins> done # Fixup scripts that generate scripts. Not fixed up by patchShebangs below. substituteInPlace scripts/bootstrap/compile.sh  <del> --replace /bin/bash ${bash}/bin/bash </del> <ins> --replace /bin/bash ${bashWithDefaultShellUtils}/bin/bash </ins> # add nix environment vars to .bazelrc cat >> .bazelrc <<EOF


in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches + genericPatches; <del> buildInputs = [buildJdk] ++ defaultShellUtils; </del> <ins> buildInputs = [buildJdk bashWithDefaultShellUtils] ++ defaultShellUtils; </ins> # when a command can’t be found in a bazel build, you might also # need to add it to `defaultShellPath`.


{ stdenv, python, buildPythonPackage <del> , protobuf, google_apputils, pyext </del> <ins> , protobuf, google_apputils, pyext, libcxx </ins> , disabled, doCheck ? true }: with stdenv.lib;


inherit (protobuf) name src; inherit disabled doCheck; <ins> # work around python distutils compiling C++ with $CC NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1"; </ins> propagatedBuildInputs = [ protobuf google_apputils ]; buildInputs = [ google_apputils pyext ];


githubId = 2147649; name = "Euan Kemp"; }; <ins> eureka-cpu = { email = "github.eureka@gmail.com"; github = "eureka-cpu"; githubId = 57543709; name = "Chris O'Brien"; }; </ins> evalexpr = { name = "Jonathan Wilkins"; email = "nixos@wilkins.tech";


<ins> { lib , stdenvNoCC , fetchFromGitHub , gtk3 , breeze-icons , gnome-icon-theme , hicolor-icon-theme }: stdenvNoCC.mkDerivation { pname = "gruvbox-plus-icons"; version = "unstable-2023-12-07"; src = fetchFromGitHub { owner = "SylEleuth"; repo = "gruvbox-plus-icon-pack"; rev = "f3109979fe93b31ea14eb2d5c04247a895302ea0"; sha256 = "sha256-EijTEDkPmcDcMhCuL6fOWjU9eXFUwmeOEwfGlxadb1U="; }; nativeBuildInputs = [ gtk3 ]; propagatedBuildInputs = [ breeze-icons gnome-icon-theme hicolor-icon-theme ]; installPhase = '' runHook preInstall mkdir -p $out/share/icons cp -r Gruvbox-Plus-Dark $out/share/icons/ gtk-update-icon-cache $out/share/icons/Gruvbox-Plus-Dark runHook postInstall ''; dontDropIconThemeCache = true; dontBuild = true; dontConfigure = true; meta = with lib; { description = "Icon pack for Linux desktops based on the Gruvbox color scheme"; homepage = "https://github.com/SylEleuth/gruvbox-plus-icon-pack"; license = licenses.gpl3Only; platforms = platforms.linux; maintainers = with maintainers; [ eureka-cpu RGBCube ]; }; } </ins>


{ mkDerivation, lib , extra-cmake-modules <del> , hunspell, qtbase, qttools </del> <ins> , aspell, qtbase, qttools </ins> }: mkDerivation {


broken = builtins.compareVersions qtbase.version "5.7.0" < 0; }; nativeBuildInputs = [ extra-cmake-modules ]; <del> buildInputs = [ hunspell qttools ]; </del> <ins> buildInputs = [ aspell qttools ]; </ins> propagatedBuildInputs = [ qtbase ]; }


packages.into_par_iter().try_for_each(|package| { eprintln!("{}", package.name); <del> let tarball = package.tarball()?; </del> <ins> let tarball = package .tarball() .map_err(|e| anyhow!("couldn't fetch {} at {}: {e:?}", package.name, package.url))?; </ins> let integrity = package.integrity().map(ToString::to_string); cache


} if let UrlOrString::Url(v) = &package.version { <del> for (scheme, host) in [ ("github", "github.com"), ("bitbucket", "bitbucket.org"), ("gitlab", "gitlab.com"), ] { if v.scheme() == scheme { package.version = { let mut new_url = initial_url.clone(); new_url.set_host(Some(host))?; if v.path().ends_with(".git") { new_url.set_path(v.path()); } else { new_url.set_path(&format!("{}.git", v.path())); } new_url.set_fragment(v.fragment()); UrlOrString::Url(new_url) }; break; </del> <ins> if v.scheme() == "npm" { if let Some(UrlOrString::Url(ref url)) = &package.resolved { package.version = UrlOrString::Url(url.clone()); } } else { for (scheme, host) in [ ("github", "github.com"), ("bitbucket", "bitbucket.org"), ("gitlab", "gitlab.com"), ] { if v.scheme() == scheme { package.version = { let mut new_url = initial_url.clone(); new_url.set_host(Some(host))?; if v.path().ends_with(".git") { new_url.set_path(v.path()); } else { new_url.set_path(&format!("{}.git", v.path())); } new_url.set_fragment(v.fragment()); UrlOrString::Url(new_url) }; break; } </ins> } } }


#[cfg(test)] mod tests { use super::{ <del> get_initial_url, to_new_packages, Hash, HashCollection, OldPackage, Package, UrlOrString, </del> <ins> get_initial_url, packages, to_new_packages, Hash, HashCollection, OldPackage, Package, UrlOrString, </ins> }; use std::{ cmp::Ordering,


Some(Hash(String::from("sha512-foo"))) ); } <ins> #[test] fn parse_lockfile_correctly() { let packages = packages( r#"{ "name": "node-ddr", "version": "1.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { "string-width-cjs": { "version": "npm:string-width@4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } } } }"#).unwrap(); assert_eq!(packages.len(), 1); assert_eq!( packages[0].resolved, Some(UrlOrString::Url( Url::parse("https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz") .unwrap() )) ); } </ins> }


<ins> { lib , python3 , fetchFromGitHub }: let python = python3.override { packageOverrides = self: super: { lark = super.lark.overridePythonAttrs (old: rec { # gdtoolkit needs exactly this lark version version = "0.8.0"; src = fetchFromGitHub { owner = "lark-parser"; repo = "lark"; rev = version; hash = "sha256-KN9buVlH8hJ8t0ZP5yefeYM5vH5Gg7a7TEDGKJYpozs="; fetchSubmodules = true; }; patches = [ ]; }); }; }; in python.pkgs.buildPythonApplication rec { pname = "gdtoolkit3"; version = "3.5.0"; # If we try to get using fetchPypi it requires GeoIP (but the package dont has that dep!?) src = fetchFromGitHub { owner = "Scony"; repo = "godot-gdscript-toolkit"; rev = version; hash = "sha256-cMGD5Xdf9ElS1NT7Q0NPB//EvUO0MI0VTtps5JRisZ4="; }; disabled = python.pythonOlder "3.7"; propagatedBuildInputs = with python.pkgs; [ docopt lark pyyaml setuptools ]; doCheck = true; nativeCheckInputs = with python.pkgs; [ pytestCheckHook hypothesis ]; preCheck = '' # The tests want to run the installed executables export PATH=$out/bin:$PATH # gdtoolkit tries to write cache variables to $HOME/.cache export HOME=$TMP ''; # The tests are not working on NixOS disabledTests = [ "test_cc_on_empty_file_succeeds" "test_cc_on_file_with_single_function_succeeds" ]; pythonImportsCheck = [ "gdtoolkit" "gdtoolkit.formatter" "gdtoolkit.linter" "gdtoolkit.parser" ]; meta = with lib; { description = "Independent set of tools for working with Godot's GDScript - parser, linter and formatter"; homepage = "https://github.com/Scony/godot-gdscript-toolkit"; license = licenses.mit; maintainers = with maintainers; [ shiryel tmarkus ]; }; } </ins>


<ins> { lib , python3 , fetchFromGitHub }: let python = python3.override { packageOverrides = self: super: { lark = super.lark.overridePythonAttrs (old: rec { # gdtoolkit needs exactly this lark version version = "1.1.9"; src = fetchFromGitHub { owner = "lark-parser"; repo = "lark"; rev = version; hash = "sha256-vDu+VPAXONY8J+A6oS7EiMeOMgzGms0nWpE+DKI1MVU="; fetchSubmodules = true; }; patches = [ ]; }); }; }; in python.pkgs.buildPythonApplication rec { pname = "gdtoolkit"; version = "4.2.2"; src = fetchFromGitHub { owner = "Scony"; repo = "godot-gdscript-toolkit"; rev = version; hash = "sha256-SvEKKuDnfxV+5AArg5ssrQzgIwRITdek4KYEs3d0n4Y="; }; disabled = python.pythonOlder "3.7"; propagatedBuildInputs = with python.pkgs; [ docopt lark pyyaml setuptools ]; doCheck = true; nativeCheckInputs = with python.pkgs; [ pytestCheckHook hypothesis ]; preCheck = '' # The tests want to run the installed executables export PATH=$out/bin:$PATH # gdtoolkit tries to write cache variables to $HOME/.cache export HOME=$TMP ''; # The tests are not working on NixOS disabledTestPaths = [ "tests/generated/test_expression_parsing.py" "tests/gdradon/test_executable.py" ]; pythonImportsCheck = [ "gdtoolkit" "gdtoolkit.formatter" "gdtoolkit.linter" "gdtoolkit.parser" ]; meta = with lib; { description = "Independent set of tools for working with Godot's GDScript - parser, linter and formatter"; homepage = "https://github.com/Scony/godot-gdscript-toolkit"; license = licenses.mit; maintainers = with maintainers; [ squarepear ]; }; } </ins>


<del> { lib , python3 , fetchFromGitHub , godot3-server }: let python = python3.override { packageOverrides = self: super: { lark = super.lark.overridePythonAttrs (old: rec { # gdtoolkit needs exactly this lark version version = "0.8.0"; src = fetchFromGitHub { owner = "lark-parser"; repo = "lark"; rev = version; hash = "sha256-KN9buVlH8hJ8t0ZP5yefeYM5vH5Gg7a7TEDGKJYpozs="; fetchSubmodules = true; }; patches = [ ]; }); }; }; in python.pkgs.buildPythonApplication rec { pname = "gdtoolkit"; version = "3.3.1"; # If we try to get using fetchPypi it requires GeoIP (but the package dont has that dep!?) src = fetchFromGitHub { owner = "Scony"; repo = "godot-gdscript-toolkit"; rev = version; sha256 = "13nnpwy550jf5qnm9ixpxl1bwfnhhbiys8vqfd25g3aim4bm3gnn"; }; disabled = python.pythonOlder "3.7"; propagatedBuildInputs = with python.pkgs; [ docopt lark pyyaml setuptools ]; doCheck = true; nativeCheckInputs = with python.pkgs; [ pytestCheckHook hypothesis godot3-server ]; preCheck = let godotServerMajorVersion = lib.versions.major godot3-server.version; gdtoolkitMajorVersion = lib.versions.major version; msg = '' gdtoolkit major version ${gdtoolkitMajorVersion} does not match godot-server major version ${godotServerMajorVersion}! gdtoolkit needs a matching godot-server for its tests. If you see this error, you can either: - disable doCheck for gdtoolkit, or - provide a compatible godot-server version to gdtoolkit" ''; in lib.throwIf (godotServerMajorVersion != gdtoolkitMajorVersion) msg '' # The tests want to run the installed executables export PATH=$out/bin:$PATH # gdtoolkit tries to write cache variables to $HOME/.cache export HOME=$TMP # Work around https://github.com/godotengine/godot/issues/20503 # Without this, Godot will complain about a missing project file touch project.godot # Remove broken test case # (hard to skip via disabledTests since the test name contains an absolute path) rm tests/potential-godot-bugs/multiline-subscription-expression.gd ''; pythonImportsCheck = [ "gdtoolkit" "gdtoolkit.formatter" "gdtoolkit.linter" "gdtoolkit.parser" ]; meta = with lib; { description = "Independent set of tools for working with Godot's GDScript - parser, linter and formatter"; homepage = "https://github.com/Scony/godot-gdscript-toolkit"; license = licenses.mit; maintainers = with maintainers; [ shiryel tmarkus ]; }; } </del>


godot-headless = throw "godot-headless has been renamed to godot3-headless to distinguish from version 4"; # Added 2023-07-16 godot-server = throw "godot-server has been renamed to godot3-server to distinguish from version 4"; # Added 2023-07-16 <ins> gdtoolkit = throw "gdtoolkit has been renamed to gdtoolkit_3 to distinguish from version 4"; # Added 2024-02-17 </ins> google-chrome-beta = throw "'google-chrome-beta' has been removed due to the lack of maintenance in nixpkgs. Consider using 'google-chrome' instead."; # Added 2023-10-18 google-chrome-dev = throw "'google-chrome-dev' has been removed due to the lack of maintenance in nixpkgs. Consider using 'google-chrome' instead."; # Added 2023-10-18 google-gflags = throw "'google-gflags' has been renamed to/replaced by 'gflags'"; # Converted to throw 2023-09-10


gdmap = callPackage ../tools/system/gdmap { }; <del> gdtoolkit = callPackage ../development/tools/gdtoolkit { }; </del> gef = callPackage ../development/tools/misc/gef { }; gelasio = callPackage ../data/fonts/gelasio { };


existing process, but will need to start that process from gdb (so it is a child). Or you can set `boot.kernel.sysctl."kernel.yama.ptrace_scope"` to 0. <ins> - Gitea 1.21 upgrade has several breaking changes, including: - Custom themes and other assets that were previously stored in `custom/public/*` now belong in `custom/public/assets/*` - New instances of Gitea using MySQL now ignore the `[database].CHARSET` config option and always use the `utf8mb4` charset, existing instances should migrate via the `gitea doctor convert` CLI command. </ins> - The `hardware.pulseaudio` module now sets permission of pulse user home directory to 755 when running in "systemWide" mode. It fixes [issue 114399](https://github.com/NixOS/nixpkgs/issues/114399).


buildGoModule rec { pname = "gitea"; <del> version = "1.20.5"; </del> <ins> version = "1.21.1"; </ins> # not fetching directly from the git repo, because that lacks several vendor files for the web UI src = fetchurl { url = "https://dl.gitea.com/gitea/${version}/gitea-src-${version}.tar.gz"; <del> hash = "sha256-cH/AHsFXOdvfSfj9AZUd3l/RlYE06o1ByZu0vvGQuXw="; </del> <ins> hash = "sha256-5WEHUMQsQNgrglS+xJ4IWHUl0a6RLLPyx0l+ECJ4R9g="; </ins> }; vendorHash = null;


{ lib, stdenv, fetchFromGitHub, openssl, nss, nspr, libkrb5, gmp, zlib, libpcap, re2 <del> , gcc, python3Packages, perl, perlPackages, makeWrapper, fetchpatch }: </del> <ins> , gcc, python3Packages, perl, perlPackages, makeWrapper, }: </ins> stdenv.mkDerivation rec { pname = "john"; <del> version = "1.9.0-jumbo-1"; </del> <ins> version = "rolling-2404"; </ins> src = fetchFromGitHub { owner = "openwall"; <del> repo = pname; rev = "1.9.0-Jumbo-1"; sha256 = "sha256-O1iPh5QTMjZ78sKvGbvSpaHFbBuVc1z49UKTbMa24Rs="; </del> <ins> repo = "john"; rev = "f9fedd238b0b1d69181c1fef033b85c787e96e57"; hash = "sha256-zvoN+8Sx6qpVg2JeRLOIH1ehfl3tFTv7r5wQZ44Qsbc="; </ins> }; <del> patches = [ (fetchpatch { name = "fix-gcc-11-struct-allignment-incompatibility.patch"; url = "https://github.com/openwall/john/commit/154ee1156d62dd207aff0052b04c61796a1fde3b.patch"; sha256 = "sha256-3rfS2tu/TF+KW2MQiR+bh4w/FVECciTooDQNTHNw31A="; }) (fetchpatch { name = "improve-apple-clang-pseudo-intrinsics-portability.patch"; url = "https://github.com/openwall/john/commit/c9825e688d1fb9fdd8942ceb0a6b4457b0f9f9b4.patch"; excludes = [ "doc/*" ]; sha256 = "sha256-hgoiz7IgR4f66fMP7bV1F8knJttY8g2Hxyk3QfkTu+g="; }) ]; </del> postPatch = '' sed -ri -e ' s!^(#defines+CFG_[A-Z]+_NAMEs+).*/!1"'"$out"'/etc/john/!


description = "John the Ripper password cracker"; license = licenses.gpl2Plus; homepage = "https://github.com/openwall/john/"; <del> maintainers = with maintainers; [ offline matthewbauer ]; </del> <ins> maintainers = with maintainers; [ offline matthewbauer cherrykitten ]; </ins> platforms = platforms.unix; }; }


, numactl , writeText # Processing, video codecs, containers <del> , ffmpeg_5-full </del> <ins> , ffmpeg-full </ins> , nv-codec-headers , libogg , x264


# for now we disable GTK GUI support on Darwin. (It may be possible to remove # this restriction later.) , useGtk ? !stdenv.isDarwin <ins> , bzip2 , desktop-file-utils , meson , ninja </ins> , wrapGAppsHook , intltool , glib