Merge #289734: staging-next 2024-02-18

This commit is contained in:
Vladimír Čunát 2024-02-24 21:37:07 +01:00
commit 6d8aba54f3
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA
230 changed files with 8748 additions and 6213 deletions

View file

@ -215,6 +215,11 @@ install the package
environment variable and add dependent libraries to script's `LUA_PATH` and
`LUA_CPATH`.
It accepts as arguments:
* 'luarocksConfig': a nix value that directly maps to the luarocks config used during
the installation
By default `meta.platforms` is set to the same value as the interpreter unless overridden otherwise.
#### `buildLuaApplication` function {#buildluaapplication-function}

View file

@ -475,7 +475,7 @@ are used in [`buildPythonPackage`](#buildpythonpackage-function).
be added as `build-system`.
- `pipInstallHook` to install wheels.
- `pytestCheckHook` to run tests with `pytest`. See [example usage](#using-pytestcheckhook).
- `pythonCatchConflictsHook` to check whether a Python package is not already existing.
- `pythonCatchConflictsHook` to fail if the package depends on two different versions of the same dependency.
- `pythonImportsCheckHook` to check whether importing the listed modules works.
- `pythonRelaxDepsHook` will relax Python dependencies restrictions for the package.
See [example usage](#using-pythonrelaxdepshook).

View file

@ -161,6 +161,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- The bundled Lua was updated to Lua v5.2, which includes breaking changes. See the [Lua manual](https://www.lua.org/manual/5.2/manual.html#8) for more information.
- The WebSocket API [was rewritten](https://github.com/MCJack123/craftos2/issues/337), which introduced breaking changes.
- The `gtest` package has been updated past v1.13.0, which requires C++14 or higher.
- The latest available version of Nextcloud is v28 (available as `pkgs.nextcloud28`). The installation logic is as follows:
- If [`services.nextcloud.package`](#opt-services.nextcloud.package) is specified explicitly, this package will be installed (**recommended**)
- If [`system.stateVersion`](#opt-system.stateVersion) is >=24.05, `pkgs.nextcloud28` will be installed by default.

View file

@ -67,7 +67,7 @@ with lib;
networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; };
pango = super.pango.override { x11Support = false; };
pinentry = super.pinentry.override { enabledFlavors = [ "curses" "tty" "emacs" ]; withLibsecret = false; };
pipewire = super.pipewire.override { x11Support = false; };
pipewire = super.pipewire.override { vulkanSupport = false; x11Support = false; };
pythonPackagesExtensions = super.pythonPackagesExtensions ++ [
(python-final: python-prev: {
# tk feature requires wayland which fails to compile

View file

@ -11,7 +11,8 @@ let
extraCertificateFiles = cfg.certificateFiles;
extraCertificateStrings = cfg.certificates;
};
caBundle = "${cacertPackage}/etc/ssl/certs/ca-bundle.crt";
caBundleName = if cfg.useCompatibleBundle then "ca-no-trust-rules-bundle.crt" else "ca-bundle.crt";
caBundle = "${cacertPackage}/etc/ssl/certs/${caBundleName}";
in
@ -23,6 +24,17 @@ in
internal = true;
};
security.pki.useCompatibleBundle = mkEnableOption ''usage of a compatibility bundle.
Such a bundle consist exclusively of `BEGIN CERTIFICATE` and no `BEGIN TRUSTED CERTIFICATE`,
which is a OpenSSL specific PEM format.
It is known to be incompatible with certain software stacks.
Nevertheless, enabling this will strip all additional trust rules provided by the
certificates themselves, this can have security consequences depending on your usecases.
'';
security.pki.certificateFiles = mkOption {
type = types.listOf types.path;
default = [];

View file

@ -30,6 +30,21 @@
license = lib.licenses.free;
};
}) {};
activities = callPackage ({ elpaBuild, emacs, fetchurl, lib, persist }:
elpaBuild {
pname = "activities";
ename = "activities";
version = "0.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/activities-0.4.tar";
sha256 = "0mmb7fslirb40n75m8zfib1999yndysm13lyj0mypn9ciy1mvm6l";
};
packageRequires = [ emacs persist ];
meta = {
homepage = "https://elpa.gnu.org/packages/activities.html";
license = lib.licenses.free;
};
}) {};
ada-mode = callPackage ({ elpaBuild
, emacs
, fetchurl
@ -81,16 +96,16 @@
license = lib.licenses.free;
};
}) {};
adjust-parens = callPackage ({ elpaBuild, fetchurl, lib }:
adjust-parens = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "adjust-parens";
ename = "adjust-parens";
version = "3.1";
version = "3.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/adjust-parens-3.1.tar";
sha256 = "059v0njd52vxidr5xwv2jmknm2shnwpj3101069q6lsmz1wq242a";
url = "https://elpa.gnu.org/packages/adjust-parens-3.2.tar";
sha256 = "01l8bgfqgbkh5p9r8mc5pqizg0sgr7bl6x7x657gm0qjnwmfwai5";
};
packageRequires = [];
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/adjust-parens.html";
license = lib.licenses.free;
@ -250,10 +265,10 @@
elpaBuild {
pname = "async";
ename = "async";
version = "1.9.7";
version = "1.9.8";
src = fetchurl {
url = "https://elpa.gnu.org/packages/async-1.9.7.tar";
sha256 = "0wwjgvj42irznwz6rjh8yiz4p9hswgi6ak57anjn256c4zx8xaz2";
url = "https://elpa.gnu.org/packages/async-1.9.8.tar";
sha256 = "00x22dh96vhyvgailxm3mv2jqhwlb6lisrjv10m8vpkmlk5mhnwb";
};
packageRequires = [ emacs ];
meta = {
@ -265,10 +280,10 @@
elpaBuild {
pname = "auctex";
ename = "auctex";
version = "13.2.2";
version = "13.3.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/auctex-13.2.2.tar";
sha256 = "1k8ypxp2iwg7a0m5lyk1sy5chcnmas0gs6frk6xw6k0r974f193s";
url = "https://elpa.gnu.org/packages/auctex-13.3.0.tar";
sha256 = "09yc9242xya2by8z72899li7zc9g23bb8j8m30kbvivynmdfhzkf";
};
packageRequires = [ emacs ];
meta = {
@ -400,10 +415,10 @@
elpaBuild {
pname = "beframe";
ename = "beframe";
version = "0.3.0";
version = "1.0.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/beframe-0.3.0.tar";
sha256 = "0naa3agr4h0z1fc3fwnsq4k57zpzvg7ganbr6dyp7c70ja8x32h0";
url = "https://elpa.gnu.org/packages/beframe-1.0.0.tar";
sha256 = "0fw0nsdp78x194gkscwfyayq51yfb8r4k0q51ia1rnj43kxmmvr9";
};
packageRequires = [ emacs ];
meta = {
@ -411,6 +426,21 @@
license = lib.licenses.free;
};
}) {};
bicep-ts-mode = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "bicep-ts-mode";
ename = "bicep-ts-mode";
version = "0.1.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/bicep-ts-mode-0.1.1.tar";
sha256 = "0yxn9vk8hbsx50ljjy2swn38cxw2nkvkyc6hqw3qxj014vaavxvn";
};
packageRequires = [];
meta = {
homepage = "https://elpa.gnu.org/packages/bicep-ts-mode.html";
license = lib.licenses.free;
};
}) {};
bind-key = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "bind-key";
@ -426,16 +456,16 @@
license = lib.licenses.free;
};
}) {};
blist = callPackage ({ elpaBuild, fetchurl, lib }:
blist = callPackage ({ elpaBuild, emacs, fetchurl, ilist, lib }:
elpaBuild {
pname = "blist";
ename = "blist";
version = "0.2";
version = "0.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/blist-0.2.tar";
sha256 = "1gsrj6clsfw36i7pdayfip615r80543j3iph6zm93p88wgwqigrq";
url = "https://elpa.gnu.org/packages/blist-0.3.tar";
sha256 = "1cqvj6jjkch4xivdn2vyxz38amm6w403hnrfx0hhknbwxq5k8swp";
};
packageRequires = [];
packageRequires = [ emacs ilist ];
meta = {
homepage = "https://elpa.gnu.org/packages/blist.html";
license = lib.licenses.free;
@ -569,10 +599,10 @@
elpaBuild {
pname = "bufferlo";
ename = "bufferlo";
version = "0.3";
version = "0.6";
src = fetchurl {
url = "https://elpa.gnu.org/packages/bufferlo-0.3.tar";
sha256 = "16fj1wiqymyys0wjnbmmfwpvqxnm3mlqfrg7nrsryfgpv2mv9z17";
url = "https://elpa.gnu.org/packages/bufferlo-0.6.tar";
sha256 = "0q942zsxv27gvkx3b391yzshh58l2xd75y04rqyqk269q0cdhqff";
};
packageRequires = [ emacs ];
meta = {
@ -614,10 +644,10 @@
elpaBuild {
pname = "calibre";
ename = "calibre";
version = "1.3.3";
version = "1.4.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/calibre-1.3.3.tar";
sha256 = "03vg3vym5v04jcvrbyh1m1vfh04a4maiyac89c052lj9zp7yzrx7";
url = "https://elpa.gnu.org/packages/calibre-1.4.0.tar";
sha256 = "1p3sla0j9v1d42z2amwb3hk2gs80ld50nxm1bfi30vdh563cfz4q";
};
packageRequires = [ compat emacs ];
meta = {
@ -629,10 +659,10 @@
elpaBuild {
pname = "cape";
ename = "cape";
version = "0.17";
version = "1.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/cape-0.17.tar";
sha256 = "1kby5qbw2z5c6629vfx6dx4f1a8gx58ciif9b9589drc6fnnsnlr";
url = "https://elpa.gnu.org/packages/cape-1.2.tar";
sha256 = "0f18y40ajrkl5kc2r656lvi5vqkz7cpvyz0h6dwbc4dfhsa3cyfs";
};
packageRequires = [ compat emacs ];
meta = {
@ -764,10 +794,10 @@
elpaBuild {
pname = "code-cells";
ename = "code-cells";
version = "0.3";
version = "0.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/code-cells-0.3.tar";
sha256 = "0i5n9xqpf0www553in3xibc93vw9x6659zaqnvr5rkad95gz456x";
url = "https://elpa.gnu.org/packages/code-cells-0.4.tar";
sha256 = "0a7m6d5slz2zarbk54900cihs5071i63qdz4yj8n7j3zfz28x5kg";
};
packageRequires = [ emacs ];
meta = {
@ -892,10 +922,10 @@
elpaBuild {
pname = "consult";
ename = "consult";
version = "0.35";
version = "1.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/consult-0.35.tar";
sha256 = "00rw4d9k16wx55pk7fyj4z718vmqjq18jy0xiv7izzkdkkkk3l7p";
url = "https://elpa.gnu.org/packages/consult-1.2.tar";
sha256 = "1dxnr5a1gj1gwmwagl9sd8bq2g9fw0gmldzz2jfg8dj3dw75rk71";
};
packageRequires = [ compat emacs ];
meta = {
@ -907,10 +937,10 @@
elpaBuild {
pname = "consult-recoll";
ename = "consult-recoll";
version = "0.8";
version = "0.8.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/consult-recoll-0.8.tar";
sha256 = "02vg1rr2fkcqrrivqgggdjdq0ywvlyzazwq1xd02yah3j4sbv4ag";
url = "https://elpa.gnu.org/packages/consult-recoll-0.8.1.tar";
sha256 = "0z2vlnv0q6hzvj6hk2a5flhp1gmm71c65j8nrpk4a18aq5gir213";
};
packageRequires = [ consult emacs ];
meta = {
@ -937,10 +967,10 @@
elpaBuild {
pname = "corfu";
ename = "corfu";
version = "0.38";
version = "1.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/corfu-0.38.tar";
sha256 = "1pj7zdcqfk77fvfqgvp1gri4m11akn5hd87av28k745i7s0nq0i6";
url = "https://elpa.gnu.org/packages/corfu-1.2.tar";
sha256 = "1yy4lqbkj8hkvbzaw5wrjqxwp2afhgwjyvmqncils37hvyih4rwl";
};
packageRequires = [ compat emacs ];
meta = {
@ -1057,10 +1087,10 @@
elpaBuild {
pname = "csv-mode";
ename = "csv-mode";
version = "1.22";
version = "1.23";
src = fetchurl {
url = "https://elpa.gnu.org/packages/csv-mode-1.22.tar";
sha256 = "1f9pny1hkhdfmkmfpsk6ayjmb9p5hdpxpnmcprf51nfbvmi7ssig";
url = "https://elpa.gnu.org/packages/csv-mode-1.23.tar";
sha256 = "0bdx56bn5aw0xjqgqhx2ccrrns3si04zy9ya755jz7n1djqn3mcz";
};
packageRequires = [ cl-lib emacs ];
meta = {
@ -1098,6 +1128,21 @@
license = lib.licenses.free;
};
}) {};
dape = callPackage ({ elpaBuild, emacs, fetchurl, jsonrpc, lib }:
elpaBuild {
pname = "dape";
ename = "dape";
version = "0.5.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/dape-0.5.0.tar";
sha256 = "1pgrlgk1wf35afgfcbm256ikixk2r6rbkc05iwsr6x6l9y3h0v3w";
};
packageRequires = [ emacs jsonrpc ];
meta = {
homepage = "https://elpa.gnu.org/packages/dape.html";
license = lib.licenses.free;
};
}) {};
darkroom = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "darkroom";
@ -1147,10 +1192,10 @@
elpaBuild {
pname = "debbugs";
ename = "debbugs";
version = "0.37";
version = "0.38";
src = fetchurl {
url = "https://elpa.gnu.org/packages/debbugs-0.37.tar";
sha256 = "0xj0sv5d3y88fsbm7yhm0v59mzj1srxayng1hr418v89ky43rxpr";
url = "https://elpa.gnu.org/packages/debbugs-0.38.tar";
sha256 = "0cl6vcnlyanrl3qzhd31pw9qvij6g88cgifl3mwgw54bbagl9hh6";
};
packageRequires = [ emacs soap-client ];
meta = {
@ -1177,10 +1222,10 @@
elpaBuild {
pname = "denote";
ename = "denote";
version = "2.1.0";
version = "2.2.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/denote-2.1.0.tar";
sha256 = "1igp9h327b9x3fxrp34bz0x5slk659r3asjdia3jm8amajm4bw6s";
url = "https://elpa.gnu.org/packages/denote-2.2.4.tar";
sha256 = "0a0f4s715nfb7kly82m1gb2ady69z089wlay5i53n9bxzi61x3j7";
};
packageRequires = [ emacs ];
meta = {
@ -1233,6 +1278,21 @@
license = lib.licenses.free;
};
}) {};
devicetree-ts-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "devicetree-ts-mode";
ename = "devicetree-ts-mode";
version = "0.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/devicetree-ts-mode-0.3.tar";
sha256 = "1vhk9b0aa9w6yalv0d712dc9d7pmcgbg5b4baggc7dyaa5n6ilkn";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/devicetree-ts-mode.html";
license = lib.licenses.free;
};
}) {};
dict-tree = callPackage ({ elpaBuild
, emacs
, fetchurl
@ -1513,10 +1573,10 @@
elpaBuild {
pname = "ebdb";
ename = "ebdb";
version = "0.8.18";
version = "0.8.22";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ebdb-0.8.18.tar";
sha256 = "1mb1qsw3dfaa6x52vsg73by6w7x5i6w5l7b0d2jr667y006q2vvf";
url = "https://elpa.gnu.org/packages/ebdb-0.8.22.tar";
sha256 = "12sydb2lm571096gpb8r0jpg19wiqpl52rcnrhkvzlhzxgg18pg5";
};
packageRequires = [ emacs seq ];
meta = {
@ -1573,10 +1633,10 @@
elpaBuild {
pname = "eev";
ename = "eev";
version = "20230127";
version = "20240115";
src = fetchurl {
url = "https://elpa.gnu.org/packages/eev-20230127.tar";
sha256 = "12f8r1mymd73gjbha6w9fk1ar38yxgbnrr6asvr8aa9rhcwwgxqm";
url = "https://elpa.gnu.org/packages/eev-20240115.tar";
sha256 = "0vlw88wjgzgl3wsa7k5p03qvj2yipvjsrjcrv8vjlvnm83pszskh";
};
packageRequires = [ emacs ];
meta = {
@ -1588,10 +1648,10 @@
elpaBuild {
pname = "ef-themes";
ename = "ef-themes";
version = "1.4.0";
version = "1.5.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ef-themes-1.4.0.tar";
sha256 = "0pp72bi9s7vyxyyy7dc0vql4k6hqzd1gg3a2i4wi09awdak85gi6";
url = "https://elpa.gnu.org/packages/ef-themes-1.5.0.tar";
sha256 = "1jckhizsrlnkfrfal9ym214gb10kyfzws7vvmyxnpxn8pspiby4a";
};
packageRequires = [ emacs ];
meta = {
@ -1613,10 +1673,10 @@
elpaBuild {
pname = "eglot";
ename = "eglot";
version = "1.15";
version = "1.17";
src = fetchurl {
url = "https://elpa.gnu.org/packages/eglot-1.15.tar";
sha256 = "05brq76xbdkbhbn572n0hyz80lwc3ly5waaqsaan5l1apxgl6ww7";
url = "https://elpa.gnu.org/packages/eglot-1.17.tar";
sha256 = "1can988d7qdn0dj4wg8adjz1s9j5yin8bcp7ylhq1pr327d5flky";
};
packageRequires = [
eldoc
@ -1657,10 +1717,10 @@
elpaBuild {
pname = "eldoc";
ename = "eldoc";
version = "1.14.0";
version = "1.15.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/eldoc-1.14.0.tar";
sha256 = "15bg61nbfb6l51frlsn430ga3vscns2651wvi6377vlyra7kgn39";
url = "https://elpa.gnu.org/packages/eldoc-1.15.0.tar";
sha256 = "1wn7q2f19lfdc3b639ffhbmsglnm3zc6rvgyc6amqwnpc2n2gkdl";
};
packageRequires = [ emacs ];
meta = {
@ -1698,14 +1758,35 @@
license = lib.licenses.free;
};
}) {};
ellama = callPackage ({ dash
, elpaBuild
, emacs
, fetchurl
, lib
, llm
, spinner }:
elpaBuild {
pname = "ellama";
ename = "ellama";
version = "0.7.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ellama-0.7.4.tar";
sha256 = "0xpavi6kqrimgxyhpqlp1kkgisswkarm35s1b40938i70cyy3157";
};
packageRequires = [ dash emacs llm spinner ];
meta = {
homepage = "https://elpa.gnu.org/packages/ellama.html";
license = lib.licenses.free;
};
}) {};
emacs-gc-stats = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "emacs-gc-stats";
ename = "emacs-gc-stats";
version = "1.4.1";
version = "1.4.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/emacs-gc-stats-1.4.1.tar";
sha256 = "0k7vng4ikcgb3s9qwjxfyjaq4s45n9r2m9hhnvi953gh3q4xdyck";
url = "https://elpa.gnu.org/packages/emacs-gc-stats-1.4.2.tar";
sha256 = "19wb4s7bm9fhkbjw28fi5pkxzqnkc7wrx338vgrrzyaficblkcps";
};
packageRequires = [ emacs ];
meta = {
@ -1717,10 +1798,10 @@
elpaBuild {
pname = "embark";
ename = "embark";
version = "0.23";
version = "1.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/embark-0.23.tar";
sha256 = "03qmhi5wlx4wpj8fnqx352cwnx0czrj6majr18hyavx5cih8i8v6";
url = "https://elpa.gnu.org/packages/embark-1.0.tar";
sha256 = "01kgln4hvy0hfga7syjvrdvwwalx93pq0s2na0qyvy44rsszlwwh";
};
packageRequires = [ compat emacs ];
meta = {
@ -1728,7 +1809,8 @@
license = lib.licenses.free;
};
}) {};
embark-consult = callPackage ({ consult
embark-consult = callPackage ({ compat
, consult
, elpaBuild
, emacs
, embark
@ -1737,12 +1819,12 @@
elpaBuild {
pname = "embark-consult";
ename = "embark-consult";
version = "0.8";
version = "1.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/embark-consult-0.8.tar";
sha256 = "1l6fcrf9hx7ll6zrm3igh80nkcig6i7fqwicm3dy9rwsjyjlmy2f";
url = "https://elpa.gnu.org/packages/embark-consult-1.0.tar";
sha256 = "18zbaanza8vvrmk3gbj0glijyxgb4qd7yzc46lv9fr7xr4l58jqc";
};
packageRequires = [ consult emacs embark ];
packageRequires = [ compat consult emacs embark ];
meta = {
homepage = "https://elpa.gnu.org/packages/embark-consult.html";
license = lib.licenses.free;
@ -1762,10 +1844,10 @@
elpaBuild {
pname = "ement";
ename = "ement";
version = "0.13";
version = "0.14";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ement-0.13.tar";
sha256 = "15pi9d5nxg3d7xnh36xpd0fa94fv3yra5imqpwbzz98d4wyacrv8";
url = "https://elpa.gnu.org/packages/ement-0.14.tar";
sha256 = "02ay594byrlwkcl85drxn82fgvlzf11l9rl4hbk9phz9axy2mgyw";
};
packageRequires = [
emacs
@ -1791,10 +1873,10 @@
elpaBuild {
pname = "emms";
ename = "emms";
version = "16";
version = "18";
src = fetchurl {
url = "https://elpa.gnu.org/packages/emms-16.tar";
sha256 = "1c18lrrfg1n5vn1av9p7q3jys27pdmxq8pq5gqb6397jnv9xywby";
url = "https://elpa.gnu.org/packages/emms-18.tar";
sha256 = "1jslk37kx7yzvwy4hq1a6b71kp4a3bgfzzp8bpplv7z6vcmwrmgq";
};
packageRequires = [ cl-lib nadvice seq ];
meta = {
@ -1882,6 +1964,21 @@
license = lib.licenses.free;
};
}) {};
ess = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "ess";
ename = "ess";
version = "24.1.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ess-24.1.1.tar";
sha256 = "1gy1yp6svr8agv38rikmfcji570n80c8jqssrcrrgrq3a2k9j34h";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/ess.html";
license = lib.licenses.free;
};
}) {};
excorporate = callPackage ({ cl-lib ? null
, elpaBuild
, emacs
@ -2422,10 +2519,10 @@
elpaBuild {
pname = "greader";
ename = "greader";
version = "0.6.0";
version = "0.8.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/greader-0.6.0.tar";
sha256 = "01sral1nrgkpbrajvg2pqhaj4rx48rryqfxckj3xprrs0yls3k8q";
url = "https://elpa.gnu.org/packages/greader-0.8.2.tar";
sha256 = "0cfdx4ybvdklsmxd2n10n8c0niw5k2d4cdnmm98ixadvh56bvflr";
};
packageRequires = [ emacs ];
meta = {
@ -2760,6 +2857,21 @@
license = lib.licenses.free;
};
}) {};
jami-bot = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "jami-bot";
ename = "jami-bot";
version = "0.0.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/jami-bot-0.0.4.tar";
sha256 = "1gspzqxznqskc008bcix2fyg1brr3xzxzbqx18q4cy4mz0vm8h1b";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/jami-bot.html";
license = lib.licenses.free;
};
}) {};
jarchive = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "jarchive";
@ -2809,10 +2921,10 @@
elpaBuild {
pname = "jinx";
ename = "jinx";
version = "0.9";
version = "1.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/jinx-0.9.tar";
sha256 = "0q9g3agql5gm95r64lpcwcs9scwhmwcjjnkiykzxdzpnkjn0mjgb";
url = "https://elpa.gnu.org/packages/jinx-1.2.tar";
sha256 = "027r05123bmqwy4h9x8mlxn1m65jv759jqf1rh6gs92bi29slwy8";
};
packageRequires = [ compat emacs ];
meta = {
@ -2839,10 +2951,10 @@
elpaBuild {
pname = "js2-mode";
ename = "js2-mode";
version = "20230408";
version = "20231224";
src = fetchurl {
url = "https://elpa.gnu.org/packages/js2-mode-20230408.tar";
sha256 = "1rzlbqddvaa51dz13did5ylj0ggwqnl0wii8735sylfcv6b82241";
url = "https://elpa.gnu.org/packages/js2-mode-20231224.tar";
sha256 = "1yc7rs748dwpbxy2bqxfspinfiay28qh8l0fly1k76fhk159rwj4";
};
packageRequires = [ cl-lib emacs ];
meta = {
@ -2869,10 +2981,10 @@
elpaBuild {
pname = "jsonrpc";
ename = "jsonrpc";
version = "1.0.17";
version = "1.0.24";
src = fetchurl {
url = "https://elpa.gnu.org/packages/jsonrpc-1.0.17.tar";
sha256 = "0vfd1z78pyif3l6gapcq9vs6cjfxiyc420xzwn0krrb25jjzx1ab";
url = "https://elpa.gnu.org/packages/jsonrpc-1.0.24.tar";
sha256 = "05nwxfybczxx7pmflq762dq3wypm3pmcfljqs5kh81icxvdqvk8s";
};
packageRequires = [ emacs ];
meta = {
@ -2899,10 +3011,10 @@
elpaBuild {
pname = "kind-icon";
ename = "kind-icon";
version = "0.2.0";
version = "0.2.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/kind-icon-0.2.0.tar";
sha256 = "1vgwbd99vx793iy04albkxl24c7vq598s7bg0raqwmgx84abww6r";
url = "https://elpa.gnu.org/packages/kind-icon-0.2.2.tar";
sha256 = "1jpc4izbi5ajqqrvvfp5yqfmljaw2mq06ym36d4p2cxkz95vcmi7";
};
packageRequires = [ emacs svg-lib ];
meta = {
@ -3039,10 +3151,10 @@
elpaBuild {
pname = "llm";
ename = "llm";
version = "0.5.2";
version = "0.9.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/llm-0.5.2.tar";
sha256 = "1nbxdnxpbyvx5rww9mn0zr9hcnblrnk8790cih206y3p1kvs0pnq";
url = "https://elpa.gnu.org/packages/llm-0.9.0.tar";
sha256 = "16sin4l2wgwvzx0a4bjksv2g93ayfcamvjfan6hmflfmc0sd5s7v";
};
packageRequires = [ emacs ];
meta = {
@ -3189,10 +3301,10 @@
elpaBuild {
pname = "marginalia";
ename = "marginalia";
version = "1.3";
version = "1.5";
src = fetchurl {
url = "https://elpa.gnu.org/packages/marginalia-1.3.tar";
sha256 = "14wk3ld9zaj05dmsyhq70kdl0h4bk4gl6sn7x5cckq3av78idh39";
url = "https://elpa.gnu.org/packages/marginalia-1.5.tar";
sha256 = "1hc4jjvrwfkqmhb1kvmjzzkmnqfx188ywy1cmxpns1wivnjic79h";
};
packageRequires = [ compat emacs ];
meta = {
@ -3768,10 +3880,10 @@
elpaBuild {
pname = "org";
ename = "org";
version = "9.6.12";
version = "9.6.17";
src = fetchurl {
url = "https://elpa.gnu.org/packages/org-9.6.12.tar";
sha256 = "0qkq7vx3kga18001clsac4rbg9bw5cp9k5qnixw7s39xajd4bcv3";
url = "https://elpa.gnu.org/packages/org-9.6.17.tar";
sha256 = "1gnm9hja2p93l0h5dz86035jh37wkngw7kk4bpgbzjlv74wih1jb";
};
packageRequires = [ emacs ];
meta = {
@ -3813,10 +3925,10 @@
elpaBuild {
pname = "org-modern";
ename = "org-modern";
version = "0.10";
version = "1.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/org-modern-0.10.tar";
sha256 = "0y17n6ac1b8rsa91qbisagp5mpmpnlni3j78x55z5dnpbi31yn1l";
url = "https://elpa.gnu.org/packages/org-modern-1.1.tar";
sha256 = "1aclips7y3dasjh6rjdcx1b6fkaripjam6120b7wm487qpjcrzc8";
};
packageRequires = [ compat emacs ];
meta = {
@ -3903,10 +4015,10 @@
elpaBuild {
pname = "orgalist";
ename = "orgalist";
version = "1.13";
version = "1.14";
src = fetchurl {
url = "https://elpa.gnu.org/packages/orgalist-1.13.el";
sha256 = "1wkxc5kcy1g4lx6pd78pa8znncjyl9zyhsvz7wpp56qmhq4hlav3";
url = "https://elpa.gnu.org/packages/orgalist-1.14.tar";
sha256 = "08gx8aqi7ph75vhhss2xl1lfypzy8a3zmj7w8flcrvz1nk0z738s";
};
packageRequires = [ emacs ];
meta = {
@ -3933,10 +4045,10 @@
elpaBuild {
pname = "osm";
ename = "osm";
version = "0.14";
version = "1.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/osm-0.14.tar";
sha256 = "03zzdz7l76006x5540121ckbyd5gm10x30k9r43dlj7myd359i90";
url = "https://elpa.gnu.org/packages/osm-1.3.tar";
sha256 = "09c6wgq470hi2kgk7s8pbcqaggw13hg3f2zz5qwi68hfh7nq7z7k";
};
packageRequires = [ compat emacs ];
meta = {
@ -4008,10 +4120,10 @@
elpaBuild {
pname = "parser-generator";
ename = "parser-generator";
version = "0.1.6";
version = "0.2.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/parser-generator-0.1.6.tar";
sha256 = "0qql5klnh8fbnbkb4mhv6axxvw4qv09cy1h556m0qzg30sckxas1";
url = "https://elpa.gnu.org/packages/parser-generator-0.2.0.tar";
sha256 = "1pp11qnm09w69vc1sl2629r0ymd2vhnaqj4d4ly1bbwxrwjl2nsv";
};
packageRequires = [ emacs ];
meta = {
@ -4068,10 +4180,10 @@
elpaBuild {
pname = "persist";
ename = "persist";
version = "0.5";
version = "0.6";
src = fetchurl {
url = "https://elpa.gnu.org/packages/persist-0.5.tar";
sha256 = "090n4479zs82by7a3vb551gyjvv8lpfcylk43ywr2lfyssc9xiq0";
url = "https://elpa.gnu.org/packages/persist-0.6.tar";
sha256 = "0n68dshbbyrs713989bllmm1vypch8766hc8b4y989nmyclixjwp";
};
packageRequires = [];
meta = {
@ -4083,10 +4195,10 @@
elpaBuild {
pname = "phps-mode";
ename = "phps-mode";
version = "0.4.46";
version = "0.4.47";
src = fetchurl {
url = "https://elpa.gnu.org/packages/phps-mode-0.4.46.tar";
sha256 = "128pbn2ndqwvaxxagwz23xa9adr3m5dac1cid7dichddsis849z8";
url = "https://elpa.gnu.org/packages/phps-mode-0.4.47.tar";
sha256 = "08zyk00vwi3wrw9shlv1faxcall3xcqlg02hj3yb8cg4071dv922";
};
packageRequires = [ emacs ];
meta = {
@ -4113,10 +4225,10 @@
elpaBuild {
pname = "plz";
ename = "plz";
version = "0.7";
version = "0.7.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/plz-0.7.tar";
sha256 = "00xm6hp51m4cmlw15qgqrspwgs3d9z1hw9pbpva9sa4v7vsbipd2";
url = "https://elpa.gnu.org/packages/plz-0.7.2.tar";
sha256 = "1qpr4j5rqpvr17arxrrix1z9fzbqy1mddakyylqbvm9lg5yg2wnk";
};
packageRequires = [ emacs ];
meta = {
@ -4578,10 +4690,10 @@
elpaBuild {
pname = "rec-mode";
ename = "rec-mode";
version = "1.9.1";
version = "1.9.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/rec-mode-1.9.1.tar";
sha256 = "0f60bw07l6kk1kkjjxsk30p6rxj9mpngaxqy8piyabnijfgjzd3s";
url = "https://elpa.gnu.org/packages/rec-mode-1.9.3.tar";
sha256 = "15m0h84fcrcxpx67mc9any4ap2dcqysfjm1d2a7sx4clx8h3mgk0";
};
packageRequires = [ emacs ];
meta = {
@ -4623,10 +4735,10 @@
elpaBuild {
pname = "repology";
ename = "repology";
version = "1.2.3";
version = "1.2.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/repology-1.2.3.tar";
sha256 = "1ngx23b7dilyps20nznrrn867kbxyn6nryf4p1sy5m576hkw18kn";
url = "https://elpa.gnu.org/packages/repology-1.2.4.tar";
sha256 = "0l53wl0bk8rnqwsjdh1hwvkvbay080l10bslcj3scn42bgbi59j1";
};
packageRequires = [ emacs ];
meta = {
@ -4668,10 +4780,10 @@
elpaBuild {
pname = "rt-liberation";
ename = "rt-liberation";
version = "5";
version = "6";
src = fetchurl {
url = "https://elpa.gnu.org/packages/rt-liberation-5.tar";
sha256 = "1gjj38rag3hh42xkf7qlvwn0qj45i8v30h5wgs3w2a2ccs46bpy4";
url = "https://elpa.gnu.org/packages/rt-liberation-6.tar";
sha256 = "1l87q2h1hqm5zpg1fz835gmbf5fgl9fvcqg42c17v6kim4has8zd";
};
packageRequires = [];
meta = {
@ -5038,10 +5150,10 @@
elpaBuild {
pname = "spacious-padding";
ename = "spacious-padding";
version = "0.1.0";
version = "0.3.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/spacious-padding-0.1.0.tar";
sha256 = "0kc5f1p9y2gp2sb6l2vljjhi330f8zxfm7gjjvyymhf2grr61mxw";
url = "https://elpa.gnu.org/packages/spacious-padding-0.3.0.tar";
sha256 = "1iiaxgl18k8hkwwyz3qnargv6q8kwzyh39ai46k5xbpmyrsj4b16";
};
packageRequires = [ emacs ];
meta = {
@ -5109,16 +5221,16 @@
license = lib.licenses.free;
};
}) {};
srht = callPackage ({ elpaBuild, emacs, fetchurl, lib, plz }:
srht = callPackage ({ elpaBuild, emacs, fetchurl, lib, plz, transient }:
elpaBuild {
pname = "srht";
ename = "srht";
version = "0.3";
version = "0.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/srht-0.3.tar";
sha256 = "03am21w1gsc1af7slsxny9ga4vqd8rbabbp4rl6mkrq46y5ak375";
url = "https://elpa.gnu.org/packages/srht-0.4.tar";
sha256 = "1g3znmpi0lbl0f4rp1v8v5jl7gngclwmcngkzwdk2w4prsh6skb1";
};
packageRequires = [ emacs plz ];
packageRequires = [ emacs plz transient ];
meta = {
homepage = "https://elpa.gnu.org/packages/srht.html";
license = lib.licenses.free;
@ -5143,10 +5255,10 @@
elpaBuild {
pname = "standard-themes";
ename = "standard-themes";
version = "1.2.0";
version = "2.0.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/standard-themes-1.2.0.tar";
sha256 = "1prf89jk41cmd3bj51343jyz53k5bjbc871s54cqlhz3vvbgc4ww";
url = "https://elpa.gnu.org/packages/standard-themes-2.0.1.tar";
sha256 = "0vdl90xjqq20mw6cgmn6zd42ppr5y471g03a9ljzcpwmbd1wnr60";
};
packageRequires = [ emacs ];
meta = {
@ -5218,10 +5330,10 @@
elpaBuild {
pname = "svg-lib";
ename = "svg-lib";
version = "0.2.7";
version = "0.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/svg-lib-0.2.7.tar";
sha256 = "0vq7a1hh6am5a1hqc1fay4cra7944zch5m5vadwhsnqgnrylm2gw";
url = "https://elpa.gnu.org/packages/svg-lib-0.3.tar";
sha256 = "0d0xkfmk351h8lx28dxgync47r780nyk4fk12sb4j0byfr0lsh8d";
};
packageRequires = [ emacs ];
meta = {
@ -5358,10 +5470,10 @@
elpaBuild {
pname = "taxy-magit-section";
ename = "taxy-magit-section";
version = "0.12.2";
version = "0.13";
src = fetchurl {
url = "https://elpa.gnu.org/packages/taxy-magit-section-0.12.2.tar";
sha256 = "1pf83zz5ibhqqlqgcxig0dsl1rnkk5r6v16s5ngvbc37q40vkwn1";
url = "https://elpa.gnu.org/packages/taxy-magit-section-0.13.tar";
sha256 = "1712hbcna0ph9chaq28a6fanv4sccdiphd5z0hg34ig3g6pslgn9";
};
packageRequires = [ emacs magit-section taxy ];
meta = {
@ -5388,10 +5500,10 @@
elpaBuild {
pname = "tempel";
ename = "tempel";
version = "0.8";
version = "1.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/tempel-0.8.tar";
sha256 = "1ppvkwy7c31p4ibshfralwz02xnxmssf6lgikahpimrg928zcd80";
url = "https://elpa.gnu.org/packages/tempel-1.0.tar";
sha256 = "0k9802fby7yh5kz6slkfzpyvfa0fvs3hcfni61l2bic8pfrdxwl7";
};
packageRequires = [ compat emacs ];
meta = {
@ -5414,6 +5526,21 @@
license = lib.licenses.free;
};
}) {};
theme-buffet = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "theme-buffet";
ename = "theme-buffet";
version = "0.1.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/theme-buffet-0.1.2.tar";
sha256 = "1cb9kn07naz2dkl4cznnwi2hy5ccq9igl5jnm7qhaliaszpg2rf9";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/theme-buffet.html";
license = lib.licenses.free;
};
}) {};
timerfunctions = callPackage ({ cl-lib ? null
, elpaBuild
, emacs
@ -5497,10 +5624,10 @@
elpaBuild {
pname = "tramp";
ename = "tramp";
version = "2.6.1.4";
version = "2.6.2.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/tramp-2.6.1.4.tar";
sha256 = "1ajlx0982hx6ypby9dvw1yh9zyl1h4j9xp4n9rfzxhfvvq3139bi";
url = "https://elpa.gnu.org/packages/tramp-2.6.2.1.tar";
sha256 = "145riknpdvw7rvpz20m766yci3w012f241mw38pbbb9cb8pn2rbf";
};
packageRequires = [ emacs ];
meta = {
@ -5553,16 +5680,16 @@
license = lib.licenses.free;
};
}) {};
transient = callPackage ({ compat, elpaBuild, emacs, fetchurl, lib }:
transient = callPackage ({ compat, elpaBuild, emacs, fetchurl, lib, seq }:
elpaBuild {
pname = "transient";
ename = "transient";
version = "0.4.3";
version = "0.5.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/transient-0.4.3.tar";
sha256 = "1aqw7fr5p2f1xs5pvfpmhhvh16491qvcbg40993siqkdi05w4i1j";
url = "https://elpa.gnu.org/packages/transient-0.5.3.tar";
sha256 = "12ak6rykg627rkwwiga5d9g9pzcrq2sliynqbr3lm8rvlwbdhkhx";
};
packageRequires = [ compat emacs ];
packageRequires = [ compat emacs seq ];
meta = {
homepage = "https://elpa.gnu.org/packages/transient.html";
license = lib.licenses.free;
@ -5707,10 +5834,10 @@
elpaBuild {
pname = "urgrep";
ename = "urgrep";
version = "0.2.0";
version = "0.4.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/urgrep-0.2.0.tar";
sha256 = "1d5wzj6ygfqr9yvi7lxm4j52q0g1vsiwyana3ww6k6yni1fi9y8f";
url = "https://elpa.gnu.org/packages/urgrep-0.4.0.tar";
sha256 = "0l0gswml6hkna48gfljj3hajhcx3bbc1rqwb2v01hvqab05an7zs";
};
packageRequires = [ compat emacs project ];
meta = {
@ -5929,10 +6056,10 @@
elpaBuild {
pname = "vertico";
ename = "vertico";
version = "1.4";
version = "1.7";
src = fetchurl {
url = "https://elpa.gnu.org/packages/vertico-1.4.tar";
sha256 = "0jv4adwi18j14yjasqndsgyxgrd1jnjhwrw90hyplfii08f6gmdq";
url = "https://elpa.gnu.org/packages/vertico-1.7.tar";
sha256 = "1dglwscp29c5281spmrxv5k1pbvswcz5rcap6w5s97fqk5ziinsm";
};
packageRequires = [ compat emacs ];
meta = {
@ -5949,10 +6076,10 @@
elpaBuild {
pname = "vertico-posframe";
ename = "vertico-posframe";
version = "0.7.3";
version = "0.7.7";
src = fetchurl {
url = "https://elpa.gnu.org/packages/vertico-posframe-0.7.3.tar";
sha256 = "1gfapchkj9jkzlyz3hzkb9kpifcak0fn4y5jw6f2cs6379sjwvzm";
url = "https://elpa.gnu.org/packages/vertico-posframe-0.7.7.tar";
sha256 = "0xqbbqkzd2v7kqgmiwlx9pmpck2mpfwxmvy66i7dpzysvargi70q";
};
packageRequires = [ emacs posframe vertico ];
meta = {
@ -6027,10 +6154,10 @@
elpaBuild {
pname = "vundo";
ename = "vundo";
version = "2.1.0";
version = "2.2.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/vundo-2.1.0.tar";
sha256 = "1inm6kvh5j47nsrmq6wpf30dqmx0arzdpa6vdcn834g50i4fh8kc";
url = "https://elpa.gnu.org/packages/vundo-2.2.0.tar";
sha256 = "1vb5mq51krpcaw741dai3b9s12yicn73l1bqql41gylpanca83py";
};
packageRequires = [ emacs ];
meta = {
@ -6332,10 +6459,10 @@
elpaBuild {
pname = "xref-union";
ename = "xref-union";
version = "0.1.1";
version = "0.2.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/xref-union-0.1.1.tar";
sha256 = "1v95l4j3w3zrjmii3pz319s4jmqnfdx6np120zhc6ccgj1fawy2c";
url = "https://elpa.gnu.org/packages/xref-union-0.2.0.tar";
sha256 = "0kcmg9fm9gcpdxfwx7c6zz29krf69j5nh6knv2x3df65sbzwdj0b";
};
packageRequires = [ emacs ];
meta = {
@ -6343,16 +6470,16 @@
license = lib.licenses.free;
};
}) {};
yasnippet = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
yasnippet = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "yasnippet";
ename = "yasnippet";
version = "0.14.0";
version = "0.14.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/yasnippet-0.14.0.tar";
sha256 = "1lbil3dyz43nmr2lvx9vhpybqynpb7shg7m1xl1f7j4vm4dh0r08";
url = "https://elpa.gnu.org/packages/yasnippet-0.14.1.tar";
sha256 = "05nc76wzc9b1a34998xx6l1wc5ss682afllf6dnl6rdj8hza65wy";
};
packageRequires = [ cl-lib ];
packageRequires = [ cl-lib emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/yasnippet.html";
license = lib.licenses.free;

View file

@ -291,10 +291,10 @@
elpaBuild {
pname = "buttercup";
ename = "buttercup";
version = "1.32";
version = "1.33";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/buttercup-1.32.tar";
sha256 = "07vxs1iq38m7ng9wia8h6q2sy4cdykv03jksqjqyqaab4cl7yl27";
url = "https://elpa.nongnu.org/nongnu/buttercup-1.33.tar";
sha256 = "0245fq4iny1jnm440dzkq0fadw10ncnhkj28mayqs9iyyzj9g5h4";
};
packageRequires = [ emacs ];
meta = {
@ -336,10 +336,10 @@
elpaBuild {
pname = "cdlatex";
ename = "cdlatex";
version = "4.18.3";
version = "4.18.4";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/cdlatex-4.18.3.tar";
sha256 = "0zz73csyjagq4vfv1fdnzwg4jhscggg3vk75kjdl78dg1ly191iz";
url = "https://elpa.nongnu.org/nongnu/cdlatex-4.18.4.tar";
sha256 = "0qa4wp76jykykh244an84kmlvwnsqjnc8ii38mdnd5jjnhacg11v";
};
packageRequires = [];
meta = {
@ -361,10 +361,10 @@
elpaBuild {
pname = "cider";
ename = "cider";
version = "1.11.1";
version = "1.13.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/cider-1.11.1.tar";
sha256 = "1zp24p67w9wcc26s0b95idvzy1ndk35a8rabj3ckg1sgddgzh0p6";
url = "https://elpa.nongnu.org/nongnu/cider-1.13.1.tar";
sha256 = "0ipmhm8ggh437m72b0vf9vfmwkcfwj3yy37wldz0yyiv59y2g50p";
};
packageRequires = [
clojure-mode
@ -385,10 +385,10 @@
elpaBuild {
pname = "clojure-mode";
ename = "clojure-mode";
version = "5.18.0";
version = "5.18.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/clojure-mode-5.18.0.tar";
sha256 = "1wh1r3kdjya7aqnnm6ask9q93pxm7h6ff4b7p6lrhwg4iyn2njss";
url = "https://elpa.nongnu.org/nongnu/clojure-mode-5.18.1.tar";
sha256 = "1wnl10r79cc1p9a1zwyzhj9ddvc166xkmc7f04pibwxw9j4l3ppg";
};
packageRequires = [ emacs ];
meta = {
@ -667,10 +667,10 @@
elpaBuild {
pname = "eat";
ename = "eat";
version = "0.9.3";
version = "0.9.4";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/eat-0.9.3.tar";
sha256 = "1dck6vvyn1y94z18p1b0kh3x4i587x8x5pk5bin56vwpkw05s40d";
url = "https://elpa.nongnu.org/nongnu/eat-0.9.4.tar";
sha256 = "0683rni1vgq1jmmp1kjvi0fx9m5k7hh5r9b432whwnkp9gcfrb80";
};
packageRequires = [ compat emacs ];
meta = {
@ -682,10 +682,10 @@
elpaBuild {
pname = "edit-indirect";
ename = "edit-indirect";
version = "0.1.10";
version = "0.1.13";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/edit-indirect-0.1.10.tar";
sha256 = "0mk6s5hc8n9s5c434im6r06mfgmdf5s44zlr9j3hfkjaic1lf45b";
url = "https://elpa.nongnu.org/nongnu/edit-indirect-0.1.13.tar";
sha256 = "06x51lajykz6ny8q1762vhjxzvlqm2il47099hbb9wpj4vjx14q6";
};
packageRequires = [ emacs ];
meta = {
@ -798,6 +798,26 @@
license = lib.licenses.free;
};
}) {};
evil-escape = callPackage ({ cl-lib ? null
, elpaBuild
, emacs
, evil
, fetchurl
, lib }:
elpaBuild {
pname = "evil-escape";
ename = "evil-escape";
version = "3.16";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/evil-escape-3.16.tar";
sha256 = "14289axdn3splza66wdyyvfj1hqslmqxfr63zk480cqvrn0dkpvz";
};
packageRequires = [ cl-lib emacs evil ];
meta = {
homepage = "https://elpa.gnu.org/packages/evil-escape.html";
license = lib.licenses.free;
};
}) {};
evil-exchange = callPackage ({ cl-lib ? null
, elpaBuild
, evil
@ -1148,10 +1168,10 @@
elpaBuild {
pname = "geiser";
ename = "geiser";
version = "0.29.1";
version = "0.30";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/geiser-0.29.1.tar";
sha256 = "0k9jvnaci23swyf3zy67f9msz205d9vdm90rgidnl81w7hg8gjm4";
url = "https://elpa.nongnu.org/nongnu/geiser-0.30.tar";
sha256 = "0bxrxgz49xqxzbipkpnilz9lxm1wmjzhf6imkz3hq49wfp3zdaw6";
};
packageRequires = [ emacs project ];
meta = {
@ -1564,10 +1584,10 @@
elpaBuild {
pname = "helm";
ename = "helm";
version = "3.9.5";
version = "3.9.7";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/helm-3.9.5.tar";
sha256 = "1vsg1xflz5880h477s8hqrxinv4wdx12gdvs08zy7xbmypzwhrz1";
url = "https://elpa.nongnu.org/nongnu/helm-3.9.7.tar";
sha256 = "1xlaxxwv34a8lxijni4yi60g5g7mlpjq4d71p9hdcpqja7xq4igz";
};
packageRequires = [ helm-core popup wfnames ];
meta = {
@ -1579,10 +1599,10 @@
elpaBuild {
pname = "helm-core";
ename = "helm-core";
version = "3.9.5";
version = "3.9.7";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/helm-core-3.9.5.tar";
sha256 = "1ixbbh0zcxnkl5ry5sswgh8nw8a2hrgkw9hqzznz9wiw1avs4g9c";
url = "https://elpa.nongnu.org/nongnu/helm-core-3.9.7.tar";
sha256 = "125fqnj2g61lsagiwwd8fpnrp2s7mxsdppj8cfp3m6c3984fmsx0";
};
packageRequires = [ async emacs ];
meta = {
@ -1661,16 +1681,25 @@
, map
, persist
, plz
, taxy-magit-section
, transient }:
elpaBuild {
pname = "hyperdrive";
ename = "hyperdrive";
version = "0.2";
version = "0.3";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/hyperdrive-0.2.tar";
sha256 = "1cvsl7caprdms83mvhlv3crk4ylka1g0swg0klqld04hayzikq0z";
url = "https://elpa.nongnu.org/nongnu/hyperdrive-0.3.tar";
sha256 = "1q23xrq80wmh4l87rpzfp6gc671gkalvhidfichlapk507sll1y6";
};
packageRequires = [ compat emacs map persist plz transient ];
packageRequires = [
compat
emacs
map
persist
plz
taxy-magit-section
transient
];
meta = {
homepage = "https://elpa.gnu.org/packages/hyperdrive.html";
license = lib.licenses.free;
@ -1749,10 +1778,10 @@
elpaBuild {
pname = "inf-ruby";
ename = "inf-ruby";
version = "2.8.0";
version = "2.8.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/inf-ruby-2.8.0.tar";
sha256 = "1ax2sab4rm5alg12n2k6bz1xwv0mi0jvxx5xmjzavjxl4x6qckxy";
url = "https://elpa.nongnu.org/nongnu/inf-ruby-2.8.1.tar";
sha256 = "0ghf6gaxyslkxfy8cyyglf8ldzyv9jqsyl6nz7iahfk930aiynpj";
};
packageRequires = [ emacs ];
meta = {
@ -1854,10 +1883,10 @@
elpaBuild {
pname = "keycast";
ename = "keycast";
version = "1.3.2";
version = "1.3.3";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/keycast-1.3.2.tar";
sha256 = "0z8q1xxx02di0788kgc4xpvl43iyknkj57l9cwf6qq6hi032c9kj";
url = "https://elpa.nongnu.org/nongnu/keycast-1.3.3.tar";
sha256 = "0cvya8vbbmzly1hjf5jm3n9phml4wmwy2hn4igxp8f2pg1x46049";
};
packageRequires = [ compat emacs ];
meta = {
@ -2365,6 +2394,21 @@
license = lib.licenses.free;
};
}) {};
p4-16-mode = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "p4-16-mode";
ename = "p4-16-mode";
version = "0.3";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/p4-16-mode-0.3.tar";
sha256 = "1jl8mcwpzry7lmfm486wjvvx76053pjp68p1abcrjvg4ppsmbj93";
};
packageRequires = [];
meta = {
homepage = "https://elpa.gnu.org/packages/p4-16-mode.html";
license = lib.licenses.free;
};
}) {};
package-lint = callPackage ({ cl-lib ? null
, compat
, elpaBuild
@ -2435,10 +2479,10 @@
elpaBuild {
pname = "parseclj";
ename = "parseclj";
version = "1.1.0";
version = "1.1.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/parseclj-1.1.0.tar";
sha256 = "0h6fia59crqb1y83a04sjlhlpm6349s6c14zsiqsfi73m97dli6p";
url = "https://elpa.nongnu.org/nongnu/parseclj-1.1.1.tar";
sha256 = "14xczcd7vknsqkfwlk430kd6jz8fi51jwbjpzjqkymnixma32qd6";
};
packageRequires = [ emacs ];
meta = {
@ -2450,10 +2494,10 @@
elpaBuild {
pname = "parseedn";
ename = "parseedn";
version = "1.2.0";
version = "1.2.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/parseedn-1.2.0.tar";
sha256 = "10y6mpjzxpmg029j0kysyxqqxdc82wwhkxh79sf8hz1ffks2ysmm";
url = "https://elpa.nongnu.org/nongnu/parseedn-1.2.1.tar";
sha256 = "039mmsmqbvvzqafhjx1grbg2620mjf6jvrj6g6mwxhy2ckll6bfg";
};
packageRequires = [ emacs map parseclj ];
meta = {
@ -2515,10 +2559,10 @@
elpaBuild {
pname = "php-mode";
ename = "php-mode";
version = "1.25.0";
version = "1.25.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/php-mode-1.25.0.tar";
sha256 = "05n53risvyzgyqr0r7v7bgd267dh30wq266mmfhj2q37v1gkfjiv";
url = "https://elpa.nongnu.org/nongnu/php-mode-1.25.1.tar";
sha256 = "0b8svrjzc7lrbmwib1y1nbmn6pw3w289zqbfinjak9kvma2k7njv";
};
packageRequires = [ emacs ];
meta = {
@ -2608,10 +2652,10 @@
elpaBuild {
pname = "racket-mode";
ename = "racket-mode";
version = "1.0.20231115.104415";
version = "1.0.20240130.151349";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/racket-mode-1.0.20231115.104415.tar";
sha256 = "01ihh66c20c2dv6apswgww8wxwn1ldqhpk70mfbgjipc9a7ykwws";
url = "https://elpa.nongnu.org/nongnu/racket-mode-1.0.20240130.151349.tar";
sha256 = "0hbcnr4x1931c95hpgfdny92vk8m688p8yc0ng41yv1safa0w4pl";
};
packageRequires = [ emacs ];
meta = {
@ -2668,10 +2712,10 @@
elpaBuild {
pname = "reformatter";
ename = "reformatter";
version = "0.7";
version = "0.8";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/reformatter-0.7.tar";
sha256 = "17y61gqljc4r66dp3qbggvpgj8wacnhv7kq4pwkpbb1h5a5l5b6z";
url = "https://elpa.nongnu.org/nongnu/reformatter-0.8.tar";
sha256 = "0yr0h8f53gaxnfz0dvvs9b4jqwp6p0j8xvv01g76j0map0fxkcam";
};
packageRequires = [ emacs ];
meta = {
@ -2848,16 +2892,16 @@
license = lib.licenses.free;
};
}) {};
slime = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, macrostep }:
slime = callPackage ({ elpaBuild, emacs, fetchurl, lib, macrostep }:
elpaBuild {
pname = "slime";
ename = "slime";
version = "2.26.1";
version = "2.29.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/slime-2.26.1.tar";
sha256 = "0f7absmq0nnhhq0i8nfgn2862ydvwlqyzhcq4s6m91mn72d7dw5i";
url = "https://elpa.nongnu.org/nongnu/slime-2.29.1.tar";
sha256 = "1ad9m0a9rbn0gmpwdvnr1l7km833hqy43wp6q3cwv7azmj2sc1r2";
};
packageRequires = [ cl-lib macrostep ];
packageRequires = [ emacs macrostep ];
meta = {
homepage = "https://elpa.gnu.org/packages/slime.html";
license = lib.licenses.free;
@ -2987,10 +3031,10 @@
elpaBuild {
pname = "subed";
ename = "subed";
version = "1.2.7";
version = "1.2.11";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/subed-1.2.7.tar";
sha256 = "1rvc17pvig3ihc74d7i25kl3lnigp0h8lh634x0676hdx38h91ib";
url = "https://elpa.nongnu.org/nongnu/subed-1.2.11.tar";
sha256 = "1dlh7vd8kc16wr9sqd3v7kkxfvqadi56pa52h35b86krndh4vazp";
};
packageRequires = [ emacs ];
meta = {
@ -3002,10 +3046,10 @@
elpaBuild {
pname = "sweeprolog";
ename = "sweeprolog";
version = "0.27.0";
version = "0.27.4";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/sweeprolog-0.27.0.tar";
sha256 = "1r0qspi9qdnsa4gm9bmxzsjyalqi14jhjx96jqw725pmhvjy9933";
url = "https://elpa.nongnu.org/nongnu/sweeprolog-0.27.4.tar";
sha256 = "05hky1103xays0jflyls4zxj3mbmq7ipkdhaasd868gjbky4kryf";
};
packageRequires = [ compat emacs ];
meta = {
@ -3308,10 +3352,10 @@
elpaBuild {
pname = "web-mode";
ename = "web-mode";
version = "17.3.15";
version = "17.3.17";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/web-mode-17.3.15.tar";
sha256 = "028p034793pkkwgaqgc3zw23ji39ss5gma5g8fhml6v8pc4ri2w8";
url = "https://elpa.nongnu.org/nongnu/web-mode-17.3.17.tar";
sha256 = "0a9qsffj2451ccb2gvimkwa0qp9m2n5m70zb6bzjndqgq18n7rfb";
};
packageRequires = [ emacs ];
meta = {
@ -3471,10 +3515,10 @@
elpaBuild {
pname = "xah-fly-keys";
ename = "xah-fly-keys";
version = "24.18.20231115084756";
version = "24.20.20240120121202";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-24.18.20231115084756.tar";
sha256 = "1vj8l4g4hpdvs1yvgkcy79vbf2ibhwxfgcrg1mj26qj3f9naf25s";
url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-24.20.20240120121202.tar";
sha256 = "0v3qfn3jqq7jcbpxjajj8q51r71lf3pfmw5gddd38022szrw6ca6";
};
packageRequires = [ emacs ];
meta = {

View file

@ -5,6 +5,7 @@
, desktop-file-utils
, editorconfig-core-c
, fetchurl
, fetchpatch
, flatpak
, gnome
, libgit2-glib
@ -63,6 +64,12 @@ stdenv.mkDerivation rec {
#
# Typelib file for namespace 'Pango', version '1.0' not found (g-irepository-error-quark, 0)
./fix-finding-test-typelibs.patch
(fetchpatch {
name = "redefinition-of-glib_autoptr_clear_GtkStackPage.patch";
url = "https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/7aaaecefc2ea8a37eaeae8b4d726d119d4eb8fa3.patch";
hash = "sha256-sYLqhwCd9GOkUMUZAO2trAGKC3013jgivHrNC4atdn0=";
})
];
nativeBuildInputs = [

View file

@ -19,14 +19,14 @@ in
let
originalLuaDrv = lua.pkgs.${luaAttr};
luaDrv = (lua.pkgs.luaLib.overrideLuarocks originalLuaDrv (drv: {
luaDrv = originalLuaDrv.overrideAttrs (oa: {
version = attrs.version or oa.version;
rockspecVersion = oa.rockspecVersion;
extraConfig = ''
-- to create a flat hierarchy
lua_modules_path = "lua"
'';
})).overrideAttrs (drv: {
version = attrs.version or drv.version;
rockspecVersion = drv.rockspecVersion;
});
finalDrv = toVimPlugin (luaDrv.overrideAttrs(oa: attrs // {

View file

@ -1,6 +1,6 @@
{ lib, fetchFromGitHub }:
rec {
version = "9.1.0004";
version = "9.1.0075";
outputs = [ "out" "xxd" ];
@ -8,7 +8,7 @@ rec {
owner = "vim";
repo = "vim";
rev = "v${version}";
hash = "sha256-Y5ZSJLEFdptEMA0xvstr6H1G4iiaYXpkJGSSFwoTfc0=";
hash = "sha256-rirPSh0rFg25JHl4idADLz6fIRmEALzp2Oa7De6uuGU=";
};
enableParallelBuilding = true;

View file

@ -155,14 +155,14 @@ stdenv.mkDerivation rec {
mkdir -p "$out/lib/pkgconfig"
cat >"$out/lib/pkgconfig/mupdf.pc" <<EOF
prefix=$out
libdir=$out/lib
includedir=$out/include
libdir=\''${prefix}/lib
includedir=\''${prefix}/include
Name: mupdf
Description: Library for rendering PDF documents
Version: ${version}
Libs: -L$out/lib -lmupdf
Cflags: -I$dev/include
Libs: -L\''${libdir} -lmupdf
Cflags: -I\''${includedir}
EOF
moveToOutput "bin" "$bin"

View file

@ -1,16 +0,0 @@
diff --git a/cmake/googletest-download.cmake b/cmake/googletest-download.cmake
index 0ec4d558..d0910313 100644
--- a/cmake/googletest-download.cmake
+++ b/cmake/googletest-download.cmake
@@ -9,10 +9,7 @@ ExternalProject_Add(
googletest
SOURCE_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-src"
BINARY_DIR "@GOOGLETEST_DOWNLOAD_ROOT@/googletest-build"
- GIT_REPOSITORY
- https://github.com/google/googletest.git
- GIT_TAG
- release-1.10.0
+ URL REPLACEME
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""

View file

@ -4,34 +4,31 @@
stdenv.mkDerivation rec {
pname = "boolector";
version = "3.2.2";
version = "3.2.3";
src = fetchFromGitHub {
owner = "boolector";
repo = "boolector";
rev = version;
sha256 = "1smcy6yp8wvnw2brgnv5bf40v87k4v4fbdbrhi7987vja632k50z";
hash = "sha256-CdfpXUbU1+yEmrNyl+hvHlJfpzzzx356naim6vRafDg=";
};
patches = [
# present in master - remove after 3.2.2
# present in master - remove after 3.2.3
(fetchpatch {
name = "fix-parser-getc-char-casts.patch";
url = "https://github.com/Boolector/boolector/commit/cc3a70918538c1e71ea5e7273fa1ac098da37c1b.patch";
sha256 = "0pjvagcy74vxa2q75zbshcz8j7rvhl98549xfcf5y8yyxf5h8hyq";
name = "update-unit-tests-to-cpp-14.patch";
url = "https://github.com/Boolector/boolector/commit/cc13f371c0c5093d98638ddd213dc835ef3aadf3.patch";
hash = "sha256-h8DBhAvUu+wXBwmvwRhHnJv3XrbEpBpvX9D1FI/+avc=";
})
];
postPatch = ''
sed s@REPLACEME@file://${gtest.src}@ ${./cmake-gtest.patch} | patch -p1
'';
nativeBuildInputs = [ cmake ];
nativeBuildInputs = [ cmake gtest ];
buildInputs = [ lingeling btor2tools gmp ];
cmakeFlags =
[ "-DBUILD_SHARED_LIBS=ON"
"-DUSE_LINGELING=YES"
"-DBtor2Tools_INCLUDE_DIR=${btor2tools.dev}/include/btor2parser"
] ++ (lib.optional (gmp != null) "-DUSE_GMP=YES");
nativeCheckInputs = [ python3 ];

View file

@ -4,14 +4,14 @@
stdenv.mkDerivation rec {
pname = "xterm";
version = "388";
version = "389";
src = fetchurl {
urls = [
"ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz"
"https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz"
];
hash = "sha256-rEKTReb5N6WUWonUJaJl/ubCFfxmnb3GoDJuIfTF9nQ=";
hash = "sha256-HNV2PZTZNw/tENgE6DGgibKs4OenS29W71oWp2a9574=";
};
strictDeps = true;

View file

@ -29,7 +29,7 @@ assert sendEmailSupport -> perlSupport;
assert svnSupport -> perlSupport;
let
version = "2.43.0";
version = "2.43.1";
svn = subversionClient.override { perlBindings = perlSupport; };
gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
in
@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
hash = "sha256-VEZgPnPZEXgdJZ5WV1Dc0nekKDbI45LKyRzxN6qbduw=";
hash = "sha256-IjTze0U/+ORnLCGtQNQcxzk8mo3N/mQL7HrFtTWPMNI=";
};
outputs = [ "out" ] ++ lib.optional withManual "doc";

View file

@ -72,7 +72,10 @@ patchShebangs() {
while IFS= read -r -d $'\0' f; do
isScript "$f" || continue
read -r oldInterpreterLine < "$f"
# read exits unclean if the shebang does not end with a newline, but still assigns the variable.
# So if read returns errno != 0, we check if the assigned variable is non-empty and continue.
read -r oldInterpreterLine < "$f" || [ "$oldInterpreterLine" ]
read -r oldPath arg0 args <<< "${oldInterpreterLine:2}"
if [[ -z "${pathName:-}" ]]; then

View file

@ -1,24 +1,14 @@
{ lib, stdenv, fetchurl, fetchpatch }:
{ lib, stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = "alsa-ucm-conf";
version = "1.2.10";
version = "1.2.11";
src = fetchurl {
url = "mirror://alsa/lib/${pname}-${version}.tar.bz2";
hash = "sha256-nCHj8B/wC6p1jfF+hnzTbiTrtBpr7ElzfpkQXhbyrpc=";
hash = "sha256-OHwBzzDioWdte49ysmgc8hmrynDdHsKp4zrdW/P+roE=";
};
patches = [
(fetchpatch {
# ToDo: Remove this patch in the next package upgrade
# Fixes SplitPCM to make some audio devices work with alsa-ucm-conf v1.2.10 again
name = "alsa-ucm-conf-splitpcm-device-argument-fix.patch";
url = "https://github.com/alsa-project/alsa-ucm-conf/commit/b68aa52acdd2763fedad5eec0f435fbf43e5ccc6.patch";
hash = "sha256-8WE4+uhi4W7cCSZYmL7uFpcHJ9muX09UkGXyZIpEd9I=";
})
];
dontBuild = true;
installPhase = ''

View file

@ -1,10 +1,10 @@
diff -Naur cmake-3.27.7/Utilities/cmcurl/CMakeLists.txt cmake-3.27.7-new/Utilities/cmcurl/CMakeLists.txt
--- cmake-3.27.7/Utilities/cmcurl/CMakeLists.txt 2023-10-06 10:08:35.000000000 -0300
+++ cmake-3.27.7-new/Utilities/cmcurl/CMakeLists.txt 2023-10-22 21:51:09.231609901 -0300
@@ -414,13 +414,6 @@
diff -Naur cmake-3.28.2/Utilities/cmcurl/CMakeLists.txt cmake-3.28.2-new/Utilities/cmcurl/CMakeLists.txt
--- cmake-3.28.2/Utilities/cmcurl/CMakeLists.txt 2024-01-29 23:01:32.000000000 +0300
+++ cmake-3.28.2-new/Utilities/cmcurl/CMakeLists.txt 2024-02-16 13:09:40.805479195 +0300
@@ -470,13 +470,6 @@
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT ENABLE_ARES)
set(use_core_foundation ON)
set(use_core_foundation_and_core_services ON)
-
- find_library(SYSTEMCONFIGURATION_FRAMEWORK "SystemConfiguration")
- if(NOT SYSTEMCONFIGURATION_FRAMEWORK)
@ -15,56 +15,19 @@ diff -Naur cmake-3.27.7/Utilities/cmcurl/CMakeLists.txt cmake-3.27.7-new/Utiliti
endif()
endif()
diff -Naur cmake-3.27.7/Utilities/cmcurl/lib/curl_setup.h cmake-3.27.7-new/Utilities/cmcurl/lib/curl_setup.h
--- cmake-3.27.7/Utilities/cmcurl/lib/curl_setup.h 2023-10-06 10:08:35.000000000 -0300
+++ cmake-3.27.7-new/Utilities/cmcurl/lib/curl_setup.h 2023-10-22 21:52:00.214748294 -0300
@@ -260,11 +260,7 @@
diff -Naur cmake-3.28.2/Utilities/cmcurl/lib/curl_setup.h cmake-3.28.2-new/Utilities/cmcurl/lib/curl_setup.h
--- cmake-3.28.2/Utilities/cmcurl/lib/curl_setup.h 2024-01-29 23:01:32.000000000 +0300
+++ cmake-3.28.2-new/Utilities/cmcurl/lib/curl_setup.h 2024-02-16 13:10:38.822445566 +0300
@@ -255,12 +255,6 @@
* performing this task will result in a synthesized IPv6 address.
*/
#if defined(__APPLE__) && !defined(USE_ARES)
-#include <TargetConditionals.h>
#define USE_RESOLVE_ON_IPS 1
-# if defined(TARGET_OS_OSX) && TARGET_OS_OSX
-# define CURL_OSX_CALL_COPYPROXIES 1
-#define USE_RESOLVE_ON_IPS 1
-# if TARGET_OS_MAC && !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) && \
- defined(ENABLE_IPV6)
-# define CURL_MACOS_CALL_COPYPROXIES 1
-# endif
#endif
#ifdef USE_LWIPSOCK
diff -Naur cmake-3.27.7/Utilities/cmcurl/lib/hostip.c cmake-3.27.7-new/Utilities/cmcurl/lib/hostip.c
--- cmake-3.27.7/Utilities/cmcurl/lib/hostip.c 2023-10-06 10:08:35.000000000 -0300
+++ cmake-3.27.7-new/Utilities/cmcurl/lib/hostip.c 2023-10-22 21:53:29.249989934 -0300
@@ -67,10 +67,6 @@
#include "curl_memory.h"
#include "memdebug.h"
-#if defined(ENABLE_IPV6) && defined(CURL_OSX_CALL_COPYPROXIES)
-#include <SystemConfiguration/SCDynamicStoreCopySpecific.h>
-#endif
-
#if defined(CURLRES_SYNCH) && \
defined(HAVE_ALARM) && \
defined(SIGALRM) && \
@@ -743,23 +739,6 @@
return CURLRESOLV_ERROR;
}
-#if defined(ENABLE_IPV6) && defined(CURL_OSX_CALL_COPYPROXIES)
- {
- /*
- * The automagic conversion from IPv4 literals to IPv6 literals only
- * works if the SCDynamicStoreCopyProxies system function gets called
- * first. As Curl currently doesn't support system-wide HTTP proxies, we
- * therefore don't use any value this function might return.
- *
- * This function is only available on a macOS and is not needed for
- * IPv4-only builds, hence the conditions above.
- */
- CFDictionaryRef dict = SCDynamicStoreCopyProxies(NULL);
- if(dict)
- CFRelease(dict);
- }
-#endif
-
#ifndef USE_RESOLVE_ON_IPS
/* First check if this is an IPv4 address string */
if(Curl_inet_pton(AF_INET, hostname, &in) > 0)

View file

@ -32,7 +32,7 @@
}:
let
inherit (darwin.apple_sdk.frameworks) SystemConfiguration;
inherit (darwin.apple_sdk.frameworks) CoreServices SystemConfiguration;
inherit (libsForQt5) qtbase wrapQtAppsHook;
cursesUI = lib.elem "ncurses" uiToolkits;
qt5UI = lib.elem "qt5" uiToolkits;
@ -46,11 +46,11 @@ stdenv.mkDerivation (finalAttrs: {
+ lib.optionalString isMinimalBuild "-minimal"
+ lib.optionalString cursesUI "-cursesUI"
+ lib.optionalString qt5UI "-qt5UI";
version = "3.27.9";
version = "3.28.2";
src = fetchurl {
url = "https://cmake.org/files/v${lib.versions.majorMinor finalAttrs.version}/cmake-${finalAttrs.version}.tar.gz";
hash = "sha256-YJqbmFcqal6kd/kSz/uXMQntTQpqaz+eI1PSzcBIcI4=";
hash = "sha256-FGb4ctwcIm83PPj7pCMO0hao8Qi9VLR3tczf2eotEko=";
};
patches = [
@ -97,6 +97,7 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optional useOpenSSL openssl
++ lib.optional cursesUI ncurses
++ lib.optional qt5UI qtbase
++ lib.optional stdenv.isDarwin CoreServices
++ lib.optional (stdenv.isDarwin && !isMinimalBuild) SystemConfiguration;
propagatedBuildInputs = lib.optional stdenv.isDarwin ps;

View file

@ -18,13 +18,13 @@ let
in
python3.pkgs.buildPythonApplication rec {
pname = "meson";
version = "1.3.1";
version = "1.3.2";
src = fetchFromGitHub {
owner = "mesonbuild";
repo = "meson";
rev = "refs/tags/${version}";
hash = "sha256-KNNtHi3jx0MRiOgmluA4ucZJWB2WeIYdApfHuspbCqg=";
hash = "sha256-7M/El2snWsQi+gaZWPHnEr9gpJW3trqG1RbnT43M49s=";
};
patches = [

View file

@ -47,6 +47,11 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://salsa.debian.org/ubports-team/net-cpp/-/raw/941d9eceaa66a06eabb1eb79554548b47d4a60ab/debian/patches/1007_wait-for-flask.patch";
hash = "sha256-nsGkZBuqahsg70PLUxn5EluDjmfZ0/wSnOYimfAI4ag=";
})
# Bump std version to 14 for gtest 1.13+
(fetchpatch {
url = "https://salsa.debian.org/ubports-team/net-cpp/-/raw/f3a031eb7e4ce7df00781100f16de58a4709afcb/debian/patches/0001-Bump-std-version-to-14-needed-for-googletest-1.13.0.patch";
hash = "sha256-3ykqCfZjtTx7zWQ5rkMhVp7D5fkpoCjl0CVFwwEd4U4=";
})
];
postPatch = lib.optionalString finalAttrs.finalPackage.doCheck ''

View file

@ -0,0 +1,48 @@
{ lib
, fetchFromGitHub
, gtest
, meson
, nasm
, ninja
, pkg-config
, stdenv
, windows
}:
stdenv.mkDerivation (finalAttrs: {
pname = "openh264";
version = "2.4.1";
src = fetchFromGitHub {
owner = "cisco";
repo = "openh264";
rev = "v${finalAttrs.version}";
hash = "sha256-ai7lcGcQQqpsLGSwHkSs7YAoEfGCIbxdClO6JpGA+MI=";
};
outputs = [ "out" "dev" ];
nativeBuildInputs = [
meson
nasm
ninja
pkg-config
];
buildInputs = [
gtest
] ++ lib.optionals stdenv.hostPlatform.isWindows [
windows.pthreads
];
strictDeps = true;
meta = {
homepage = "https://www.openh264.org";
description = "A codec library which supports H.264 encoding and decoding";
changelog = "https://github.com/cisco/openh264/releases/tag/${finalAttrs.src.rev}";
license = with lib.licenses; [ bsd2 ];
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.unix ++ lib.platforms.windows;
};
})

View file

@ -21,6 +21,8 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-gsNMPNPcfHyOgjJnIrJ5tLYHbCfIfTowEhcaGOUPb2Q=";
};
mesonFlags = [ "-Dcpp_std=c++14" ];
buildInputs = [
freetype
gtest

View file

@ -20,7 +20,7 @@ let
blocklist = writeText "cacert-blocklist.txt" (lib.concatStringsSep "\n" blacklist);
extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" (lib.concatStringsSep "\n\n" extraCertificateStrings);
srcVersion = "3.95";
srcVersion = "3.98";
version = if nssOverride != null then nssOverride.version else srcVersion;
meta = with lib; {
homepage = "https://curl.haxx.se/docs/caextract.html";
@ -37,7 +37,7 @@ let
owner = "nss-dev";
repo = "nss";
rev = "NSS_${lib.replaceStrings ["."] ["_"] version}_RTM";
hash = "sha256-qgSbzlRbU+gElC2ae3FEGRUFSM1JHd/lNGNXC0x4xt4=";
hash = "sha256-0p1HzspxyzhzX46O7ax8tmYiaFEBeqEqEvman4NIiQc=";
};
dontBuild = true;
@ -71,6 +71,7 @@ stdenv.mkDerivation rec {
--ca_bundle_input "${extraCertificatesBundle}" ${lib.escapeShellArgs (map (arg: "${arg}") extraCertificateFiles)} \
--blocklist "${blocklist}" \
--ca_bundle_output ca-bundle.crt \
--ca_standard_bundle_output ca-no-trust-rules-bundle.crt \
--ca_unpacked_output unbundled \
--p11kit_output ca-bundle.trust.p11-kit
'';
@ -78,6 +79,9 @@ stdenv.mkDerivation rec {
installPhase = ''
install -D -t "$out/etc/ssl/certs" ca-bundle.crt
# install standard PEM compatible bundle
install -D -t "$out/etc/ssl/certs" ca-no-trust-rules-bundle.crt
# install p11-kit specific output to p11kit output
install -D -t "$p11kit/etc/ssl/trust-source" ca-bundle.trust.p11-kit

View file

@ -0,0 +1,13 @@
diff --git a/tests/tests.pro b/tests/tests2.pro
index 314cad227646..48f1c66ee3f7 100644
--- a/tests/tests.pro
+++ b/tests/tests.pro
@@ -6,7 +6,7 @@ QT += core gui sql printsupport dbus testlib widgets
#QMAKE_CXXFLAGS += -g -fsanitize=undefined,address -O2
#QMAKE_LFLAGS += -g -fsanitize=undefined,address -O2
-CONFIG += c++11 link_pkgconfig resources_big testcase no_testcase_installs
+CONFIG += c++14 link_pkgconfig resources_big testcase no_testcase_installs
#访问私有方法 -fno-access-control
QMAKE_CXXFLAGS += -g -Wall -fprofile-arcs -ftest-coverage -fno-access-control -O0 -fno-inline

View file

@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
hash = "sha256-G5UZ8lBrUo5G3jMae70p/zi9kOVqHWMNCedOy45L1PA=";
};
patches = [ ./0001-build-tests-with-cpp-14.patch ];
# don't use vendored htmltopdf
postPatch = ''
substituteInPlace deepin_reader.pro \

View file

@ -87,6 +87,11 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/commit/657be3bd1aeb227edc04e26b597b2fe97b2dc51a.patch";
hash = "sha256-XEvdWV3JJujG16+87iewYor0jFK7NTeE5459iT96SkU=";
})
(fetchpatch {
name = "0008-fix-googletest-1-13.patch";
url = "https://salsa.debian.org/ubports-team/lomiri-thumbnailer/-/raw/debian/3.0.3-1/debian/patches/0001_fix_googletest_1_13.patch";
hash = "sha256-oBcdspQMhCxh4L/XotG9NRp/Ij2YzIjpC8xg/jdiptw=";
})
];
postPatch = ''

View file

@ -46,11 +46,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "go";
version = "1.21.6";
version = "1.21.7";
src = fetchurl {
url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz";
hash = "sha256-Ekkmpi5F942qu67bnAEdl2MxhqM8I4/8HiUyDAIEYkg=";
hash = "sha256-ABl6sg8zgTgyv/Yv2TzKHEKgjMaJoypmcspJWRlZv/Y=";
};
strictDeps = true;

View file

@ -94,6 +94,12 @@ in stdenv.mkDerivation (rec {
relative = "llvm";
hash = "sha256-XPbvNJ45SzjMGlNUgt/IgEvM2dHQpDOe6woUJY+nUYA=";
})
# fix RuntimeDyld usage on aarch64-linux (e.g. python312Packages.numba tests)
(fetchpatch {
url = "https://github.com/llvm/llvm-project/commit/2e1b838a889f9793d4bcd5dbfe10db9796b77143.patch";
relative = "llvm";
hash = "sha256-Ot45P/iwaR4hkcM3xtLwfryQNgHI6pv6ADjv98tgdZA=";
})
] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch;
postPatch = optionalString stdenv.isDarwin ''

View file

@ -18,11 +18,11 @@
inherit (lib) optional optionals;
in stdenv.mkDerivation rec {
pname = "orc";
version = "0.4.34";
version = "0.4.36";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/orc/${pname}-${version}.tar.xz";
sha256 = "sha256-j0ers/CXFx5E64B63Nq9hg+6Lv/TfY08T71fNByt1B8=";
sha256 = "sha256-g7B0y2cxfVi+8ejQzIYveuinekW7/wVqH5h8ZIiy9f0=";
};
postPatch = lib.optionalString stdenv.isAarch32 ''

View file

@ -51,9 +51,10 @@
# Appended to the generated luarocks config
, extraConfig ? ""
# Inserted into the generated luarocks config in the "variables" table
, extraVariables ? {}
# The two above arguments have access to builder variables -- e.g. to $out
# transparent mapping nix <-> lua used as LUAROCKS_CONFIG
# Refer to https://github.com/luarocks/luarocks/wiki/Config-file-format for specs
, luarocksConfig ? {}
# relative to srcRoot, path to the rockspec to use when using rocks
, rockspecFilename ? null
@ -92,7 +93,7 @@ let
luarocks
];
inherit doCheck extraVariables rockspecFilename knownRockspec externalDeps nativeCheckInputs;
inherit doCheck extraConfig rockspecFilename knownRockspec externalDeps nativeCheckInputs;
buildInputs = let
# example externalDeps': [ { name = "CRYPTO"; dep = pkgs.openssl; } ]
@ -116,9 +117,18 @@ let
text = self.luarocks_content;
};
luarocks_content = let
externalDepsGenerated = lib.filter (drv: !drv ? luaModule)
(self.nativeBuildInputs ++ self.propagatedBuildInputs ++ self.buildInputs);
luarocks_content =
(lib.generators.toLua { asBindings = true; } self.luarocksConfig) +
''
${self.extraConfig}
'';
# TODO make it the default variable
luarocksConfig = let
externalDepsGenerated = lib.filter (drv: !drv ? luaModule)
(self.nativeBuildInputs ++ self.propagatedBuildInputs ++ self.buildInputs);
generatedConfig = luaLib.generateLuarocksConfig {
externalDeps = lib.unique (self.externalDeps ++ externalDepsGenerated);
# Filter out the lua derivation itself from the Lua module dependency
@ -126,13 +136,17 @@ let
# luaLib.hasLuaModule
requiredLuaRocks = lib.filter luaLib.hasLuaModule
(lua.pkgs.requiredLuaModules (self.nativeBuildInputs ++ self.propagatedBuildInputs));
inherit (self) extraVariables rocksSubdir;
inherit (self) rocksSubdir;
};
in
''
${generatedConfig}
${extraConfig}
'';
luarocksConfig' = lib.recursiveUpdate luarocksConfig
(lib.optionalAttrs (attrs ? extraVariables) (lib.warn "extraVariables in buildLuarocksPackage is deprecated, use luarocksConfig instead"
{
variables = attrs.extraVariables;
}))
;
in lib.recursiveUpdate generatedConfig luarocksConfig';
configurePhase = ''
runHook preConfigure

View file

@ -2,28 +2,77 @@ from importlib.metadata import PathDistribution
from pathlib import Path
import collections
import sys
import os
from typing import Dict, List, Tuple
do_abort: bool = False
packages: Dict[str, Dict[str, List[Dict[str, List[str]]]]] = collections.defaultdict(list)
out_path: Path = Path(os.getenv("out"))
version: Tuple[int, int] = sys.version_info
site_packages_path: str = f'lib/python{version[0]}.{version[1]}/site-packages'
do_abort = False
packages = collections.defaultdict(list)
def get_name(dist: PathDistribution) -> str:
return dist.metadata['name'].lower().replace('-', '_')
for path in sys.path:
for dist_info in Path(path).glob("*.dist-info"):
dist = PathDistribution(dist_info)
packages[dist._normalized_name].append(
f"{dist._normalized_name} {dist.version} ({dist._path})"
)
# pretty print a package
def describe_package(dist: PathDistribution) -> str:
return f"{get_name(dist)} {dist.version} ({dist._path})"
for name, duplicates in packages.items():
if len(duplicates) > 1:
# pretty print a list of parents (dependency chain)
def describe_parents(parents: List[str]) -> str:
if not parents:
return ""
return \
f" dependency chain:\n " \
+ str(f"\n ...depending on: ".join(parents))
# inserts an entry into 'packages'
def add_entry(name: str, version: str, store_path: str, parents: List[str]) -> None:
if name not in packages:
packages[name] = {}
if store_path not in packages[name]:
packages[name][store_path] = []
packages[name][store_path].append(dict(
version=version,
parents=parents,
))
# transitively discover python dependencies and store them in 'packages'
def find_packages(store_path: Path, site_packages_path: str, parents: List[str]) -> None:
site_packages: Path = (store_path / site_packages_path)
propagated_build_inputs: Path = (store_path / "nix-support/propagated-build-inputs")
# add the current package to the list
if site_packages.exists():
for dist_info in site_packages.glob("*.dist-info"):
dist: PathDistribution = PathDistribution(dist_info)
add_entry(get_name(dist), dist.version, store_path, parents)
# recursively add dependencies
if propagated_build_inputs.exists():
with open(propagated_build_inputs, "r") as f:
build_inputs: List[str] = f.read().strip().split(" ")
for build_input in build_inputs:
find_packages(Path(build_input), site_packages_path, parents + [build_input])
find_packages(out_path, site_packages_path, [f"this derivation: {out_path}"])
# print all duplicates
for name, store_paths in packages.items():
if len(store_paths) > 1:
do_abort = True
print("Found duplicated packages in closure for dependency '{}': ".format(name))
for duplicate in duplicates:
print(f"\t{duplicate}")
for store_path, candidates in store_paths.items():
for candidate in candidates:
print(f" {name} {candidate['version']} ({store_path})")
print(describe_parents(candidate['parents']))
# fail if duplicates were found
if do_abort:
print("")
print(

View file

@ -20,10 +20,10 @@
sourceVersion = {
major = "3";
minor = "11";
patch = "7";
patch = "8";
suffix = "";
};
hash = "sha256-GOGqfmb/OlhCPVntIoFaaVTlM0ISLEXfIMlod8Biubc=";
hash = "sha256-ngYAjIkBkkOVvB2jA+rFZ6cprgErqhgqs5Jp9lA4O7M=";
};
};
@ -92,10 +92,10 @@ in {
sourceVersion = {
major = "3";
minor = "12";
patch = "1";
patch = "2";
suffix = "";
};
hash = "sha256-jfuPQm/NImZX+eK9Xx6W5TJkllF2+hfTJljoc1ka6yE=";
hash = "sha256-vigRLayBPSBTVFwUvxOhZAGiGHfxpp626l2ExKDz2HA=";
inherit (darwin) configd;
inherit passthruFun;
};

View file

@ -110,7 +110,7 @@ in {
makePythonHook {
name = "python-catch-conflicts-hook";
substitutions = let
useLegacyHook = lib.versionOlder python.pythonVersion "3.10";
useLegacyHook = lib.versionOlder python.pythonVersion "3";
in {
inherit pythonInterpreter pythonSitePackages;
catchConflicts = if useLegacyHook then
@ -120,6 +120,10 @@ in {
} // lib.optionalAttrs useLegacyHook {
inherit setuptools;
};
passthru.tests = import ./python-catch-conflicts-hook-tests.nix {
inherit pythonOnBuildForHost runCommand;
inherit (pkgs) coreutils gnugrep writeShellScript;
};
} ./python-catch-conflicts-hook.sh) {};
pythonImportsCheckHook = callPackage ({ makePythonHook }:

View file

@ -0,0 +1,137 @@
{ pythonOnBuildForHost, runCommand, writeShellScript, coreutils, gnugrep }: let
pythonPkgs = pythonOnBuildForHost.pkgs;
### UTILITIES
# customize a package so that its store paths differs
customize = pkg: pkg.overrideAttrs { some_modification = true; };
# generates minimal pyproject.toml
pyprojectToml = pname: builtins.toFile "pyproject.toml" ''
[project]
name = "${pname}"
version = "1.0.0"
'';
# generates source for a python project
projectSource = pname: runCommand "my-project-source" {} ''
mkdir -p $out/src
cp ${pyprojectToml pname} $out/pyproject.toml
touch $out/src/__init__.py
'';
# helper to reduce boilerplate
generatePythonPackage = args: pythonPkgs.buildPythonPackage (
{
version = "1.0.0";
src = runCommand "my-project-source" {} ''
mkdir -p $out/src
cp ${pyprojectToml args.pname} $out/pyproject.toml
touch $out/src/__init__.py
'';
pyproject = true;
catchConflicts = true;
buildInputs = [ pythonPkgs.setuptools ];
}
// args
);
# in order to test for a failing build, wrap it in a shell script
expectFailure = build: errorMsg: build.overrideDerivation (old: {
builder = writeShellScript "test-for-failure" ''
export PATH=${coreutils}/bin:${gnugrep}/bin:$PATH
${old.builder} "$@" > ./log 2>&1
status=$?
cat ./log
if [ $status -eq 0 ] || ! grep -q "${errorMsg}" ./log; then
echo "The build should have failed with '${errorMsg}', but it didn't"
exit 1
else
echo "The build failed as expected with: ${errorMsg}"
mkdir -p $out
fi
'';
});
in {
### TEST CASES
# Test case which must not trigger any conflicts.
# This derivation has runtime dependencies on custom versions of multiple build tools.
# This scenario is relevant for lang2nix tools which do not override the nixpkgs fix-point.
# see https://github.com/NixOS/nixpkgs/issues/283695
ignores-build-time-deps =
generatePythonPackage {
pname = "ignores-build-time-deps";
buildInputs = [
pythonPkgs.build
pythonPkgs.packaging
pythonPkgs.setuptools
pythonPkgs.wheel
];
propagatedBuildInputs = [
# Add customized versions of build tools as runtime deps
(customize pythonPkgs.packaging)
(customize pythonPkgs.setuptools)
(customize pythonPkgs.wheel)
];
};
# Simplest test case that should trigger a conflict
catches-simple-conflict = let
# this build must fail due to conflicts
package = pythonPkgs.buildPythonPackage rec {
pname = "catches-simple-conflict";
version = "0.0.0";
src = projectSource pname;
pyproject = true;
catchConflicts = true;
buildInputs = [
pythonPkgs.setuptools
];
# depend on two different versions of packaging
# (an actual runtime dependency conflict)
propagatedBuildInputs = [
pythonPkgs.packaging
(customize pythonPkgs.packaging)
];
};
in
expectFailure package "Found duplicated packages in closure for dependency 'packaging'";
/*
More complex test case with a transitive conflict
Test sets up this dependency tree:
toplevel
dep1
leaf
dep2
leaf (customized version -> conflicting)
*/
catches-transitive-conflict = let
# package depending on both dependency1 and dependency2
toplevel = generatePythonPackage {
pname = "catches-transitive-conflict";
propagatedBuildInputs = [ dep1 dep2 ];
};
# dep1 package depending on leaf
dep1 = generatePythonPackage {
pname = "dependency1";
propagatedBuildInputs = [ leaf ];
};
# dep2 package depending on conflicting version of leaf
dep2 = generatePythonPackage {
pname = "dependency2";
propagatedBuildInputs = [ (customize leaf) ];
};
# some leaf package
leaf = generatePythonPackage {
pname = "leaf";
};
in
expectFailure toplevel "Found duplicated packages in closure for dependency 'leaf'";
}

View file

@ -202,7 +202,9 @@ let
# Allow to override compiler. This is important for cross compiling as
# we need to set a compiler that is different from the build one.
sed -i 's/CONFIG\["CC"\] = "\(.*\)"/CONFIG["CC"] = if ENV["CC"].nil? || ENV["CC"].empty? then "\1" else ENV["CC"] end/' "$rbConfig"
sed -i "$rbConfig" \
-e 's/CONFIG\["CC"\] = "\(.*\)"/CONFIG["CC"] = if ENV["CC"].nil? || ENV["CC"].empty? then "\1" else ENV["CC"] end/' \
-e 's/CONFIG\["CXX"\] = "\(.*\)"/CONFIG["CXX"] = if ENV["CXX"].nil? || ENV["CXX"].empty? then "\1" else ENV["CXX"] end/'
# Remove unnecessary external intermediate files created by gems
extMakefiles=$(find $out/${finalAttrs.passthru.gemPath} -name Makefile)

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "rubygems";
version = "3.5.5";
version = "3.5.6";
src = fetchurl {
url = "https://rubygems.org/rubygems/rubygems-${version}.tgz";
hash = "sha256-ErKsKMIEvs4oA8eS9v1ASfqlMOJOxeTVfCA99AIcTh0=";
hash = "sha256-8/zAMnzuC3677i7wFKQroFtAMtfhg0280xZd3nAMmcI=";
};
patches = [

View file

@ -58,13 +58,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "SDL2";
version = "2.28.5";
version = "2.30.0";
src = fetchFromGitHub {
owner = "libsdl-org";
repo = "SDL";
rev = "release-${finalAttrs.version}";
hash = "sha256-YcM7bfLo+KkWx8LdtG4z2UwJvzlEkvIkm+M5aMSztwU=";
hash = "sha256-uKL9/T6vCEqMqmD3Q3rCMtKPRJZ4fRYVUr+4628/Ajg=";
};
dontDisableStatic = if withStatic then 1 else 0;
outputs = [ "out" "dev" ];

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "aws-c-cal";
version = "0.6.9";
version = "0.6.10";
src = fetchFromGitHub {
owner = "awslabs";
repo = pname;
rev = "v${version}";
sha256 = "sha256-m/RwGXeSjYOJQwCxfPyL4TdJ3gV66zHgVkWd3bpSaJE=";
sha256 = "sha256-rzJypIf0DrKI/2Wt5vFop34dL+KYTeCfWC0RflZpiMo=";
};
nativeBuildInputs = [ cmake ];

View file

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "aws-c-compression";
version = "0.2.17";
version = "0.2.18";
src = fetchFromGitHub {
owner = "awslabs";
repo = "aws-c-compression";
rev = "v${version}";
sha256 = "sha256-XtmSThfz4Cu7CygYrLNQifDCQ6l/c/0OR0lX+OxCYJM=";
sha256 = "sha256-Cf3MvoRWGAy+vlE59JSpTGOBl07dI4mbIaL1HIiLN/I=";
};
nativeBuildInputs = [

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "aws-checksums";
version = "0.1.17";
version = "0.1.18";
src = fetchFromGitHub {
owner = "awslabs";
repo = pname;
rev = "v${version}";
sha256 = "sha256-OoEwubEEkLJmlqmQR4/rp4+b1WYJEbcjYDSdXXHleZQ=";
sha256 = "sha256-EhIVa8/IK4evGt4vYECunLpxrCMSOsr1RZ/8hFbRi9M=";
};
nativeBuildInputs = [ cmake ];

View file

@ -13,11 +13,11 @@
stdenv.mkDerivation rec {
pname = "c-ares";
version = "1.19.1";
version = "1.26.0";
src = fetchurl {
url = "https://c-ares.org/download/${pname}-${version}.tar.gz";
sha256 = "sha256-MhcAOZty7Q4DfQB0xinndB9rLsLdqSlWq+PpZx0+Jo4=";
hash = "sha256-vtWMTwKwCQgOvabCRnukaXIqxq679El9xEqD2MYZTlA=";
};
outputs = [ "out" "dev" "man" ];

View file

@ -1,4 +1,12 @@
{ lib, stdenv, fetchurl, cmake, boost, ffmpeg_4, darwin, zlib }:
{ lib
, stdenv
, fetchurl
, fetchpatch
, cmake
, ffmpeg_6
, darwin
, zlib
}:
stdenv.mkDerivation rec {
pname = "chromaprint";
@ -9,10 +17,26 @@ stdenv.mkDerivation rec {
sha256 = "sha256-oarY+juLGLeNN1Wzdn+v+au2ckLgG0eOyaZOGQ8zXhw=";
};
patches = [
# Use FFmpeg 5.x
# https://github.com/acoustid/chromaprint/pull/120
(fetchpatch {
url = "https://github.com/acoustid/chromaprint/commit/8ccad6937177b1b92e40ab8f4447ea27bac009a7.patch";
hash = "sha256-yO2iWmU9s2p0uJfwIdmk3jZ5HXBIQZ/NyOqG+Y5EHdg=";
excludes = [ "package/build.sh" ];
})
# ffmpeg5 fix for issue #122
# https://github.com/acoustid/chromaprint/pull/125
(fetchpatch {
url = "https://github.com/acoustid/chromaprint/commit/aa67c95b9e486884a6d3ee8b0c91207d8c2b0551.patch";
hash = "sha256-dLY8FBzBqJehAofE924ayZK0HA/aKiuFhEFxL7dg6rY=";
})
];
nativeBuildInputs = [ cmake ];
buildInputs = [ ffmpeg_4 ] ++ lib.optionals stdenv.isDarwin
(with darwin.apple_sdk.frameworks; [Accelerate CoreGraphics CoreVideo zlib]);
buildInputs = [ ffmpeg_6 ] ++ lib.optionals stdenv.isDarwin
(with darwin.apple_sdk.frameworks; [ Accelerate CoreGraphics CoreVideo zlib ]);
cmakeFlags = [ "-DBUILD_EXAMPLES=ON" "-DBUILD_TOOLS=ON" ];

View file

@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [cmake];
buildInputs = [gtest];
cmakeFlags = [ "-Dtest=ON" ];
env.NIX_CFLAGS_COMPILE = "-std=c++11" +
env.NIX_CFLAGS_COMPILE = "-std=c++14" +
lib.optionalString stdenv.isLinux " -pthread";
postInstall = ''
mkdir -p $out/include

View file

@ -1,14 +1,23 @@
{ stdenv, lib, cmake, fetchFromGitHub, glog, folly, fmt_8, boost, gtest }:
{ stdenv
, lib
, fetchFromGitHub
, boost
, cmake
, fmt_8
, folly
, glog
, gtest
}:
stdenv.mkDerivation rec {
pname = "edencommon";
version = "2023.03.06.00";
version = "2024.01.22.00";
src = fetchFromGitHub {
owner = "facebookexperimental";
repo = "edencommon";
rev = "v${version}";
sha256 = "sha256-m54TaxThWe6bUa6Q1t+e99CLFOvut9vq9RSmimTNuaU=";
sha256 = "sha256-KY0vXptzOEJLDjHvGd3T5oiCCvggND2bPBzvll+YBo4=";
};
nativeBuildInputs = [ cmake ];

View file

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitLab
, fetchpatch
, cmake
}:
@ -17,6 +18,20 @@ stdenv.mkDerivation rec {
patches = [
./include-dir.patch
# Fixes e.g. onnxruntime on aarch64-darwin:
# https://hydra.nixos.org/build/248915128/nixlog/1,
# originally suggested in https://github.com/NixOS/nixpkgs/pull/258392.
#
# The patch is from
# ["Fix vectorized reductions for Eigen::half"](https://gitlab.com/libeigen/eigen/-/merge_requests/699)
# which is two years old,
# but Eigen hasn't had a release in two years either:
# https://gitlab.com/libeigen/eigen/-/issues/2699.
(fetchpatch {
url = "https://gitlab.com/libeigen/eigen/-/commit/d0e3791b1a0e2db9edd5f1d1befdb2ac5a40efe0.patch";
hash = "sha256-8qiNpuYehnoiGiqy0c3Mcb45pwrmc6W4rzCxoLDSvj0=";
})
];
nativeBuildInputs = [ cmake ];

View file

@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "enchant";
version = "2.6.5";
version = "2.6.7";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "https://github.com/AbiWord/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
hash = "sha256-no/SjLZae22jVFh4pcL1KhXwPASTOl/0jbif6GhFco4=";
hash = "sha256-ocLltZrMoAC7+ySBCvShFlcz1AfyFUeGWI4HbIzVe/w=";
};
strictDeps = true;

View file

@ -0,0 +1,252 @@
diff --git a/lib/internal.h b/lib/internal.h
index cce71e4c..a217b3f9 100644
--- a/lib/internal.h
+++ b/lib/internal.h
@@ -31,7 +31,7 @@
Copyright (c) 2016-2023 Sebastian Pipping <sebastian@pipping.org>
Copyright (c) 2018 Yury Gribov <tetra2005@gmail.com>
Copyright (c) 2019 David Loffredo <loffredo@steptools.com>
- Copyright (c) 2023 Sony Corporation / Snild Dolkow <snild@sony.com>
+ Copyright (c) 2023-2024 Sony Corporation / Snild Dolkow <snild@sony.com>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
@@ -162,7 +162,7 @@ const char *unsignedCharToPrintable(unsigned char c);
#endif
extern XML_Bool g_reparseDeferralEnabledDefault; // written ONLY in runtests.c
-extern unsigned int g_parseAttempts; // used for testing only
+extern unsigned int g_bytesScanned; // used for testing only
#ifdef __cplusplus
}
diff --git a/lib/xmlparse.c b/lib/xmlparse.c
index aaf0fa9c..6de99d99 100644
--- a/lib/xmlparse.c
+++ b/lib/xmlparse.c
@@ -38,7 +38,7 @@
Copyright (c) 2022 Jann Horn <jannh@google.com>
Copyright (c) 2022 Sean McBride <sean@rogue-research.com>
Copyright (c) 2023 Owain Davies <owaind@bath.edu>
- Copyright (c) 2023 Sony Corporation / Snild Dolkow <snild@sony.com>
+ Copyright (c) 2023-2024 Sony Corporation / Snild Dolkow <snild@sony.com>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
@@ -630,7 +630,7 @@ static unsigned long getDebugLevel(const char *variableName,
: ((*((pool)->ptr)++ = c), 1))
XML_Bool g_reparseDeferralEnabledDefault = XML_TRUE; // write ONLY in runtests.c
-unsigned int g_parseAttempts = 0; // used for testing only
+unsigned int g_bytesScanned = 0; // used for testing only
struct XML_ParserStruct {
/* The first member must be m_userData so that the XML_GetUserData
@@ -1017,7 +1017,7 @@ callProcessor(XML_Parser parser, const char *start, const char *end,
return XML_ERROR_NONE;
}
}
- g_parseAttempts += 1;
+ g_bytesScanned += (unsigned)have_now;
const enum XML_Error ret = parser->m_processor(parser, start, end, endPtr);
if (ret == XML_ERROR_NONE) {
// if we consumed nothing, remember what we had on this parse attempt.
diff --git a/tests/basic_tests.c b/tests/basic_tests.c
index 7112a440..a9cc3861 100644
--- a/tests/basic_tests.c
+++ b/tests/basic_tests.c
@@ -5202,13 +5202,7 @@ START_TEST(test_nested_entity_suspend) {
END_TEST
/* Regression test for quadratic parsing on large tokens */
-START_TEST(test_big_tokens_take_linear_time) {
- const char *const too_slow_failure_message
- = "Compared to the baseline runtime of the first test, this test has a "
- "slowdown of more than <max_slowdown>. "
- "Please keep increasing the value by 1 until it reliably passes the "
- "test on your hardware and open a bug sharing that number with us. "
- "Thanks in advance!";
+START_TEST(test_big_tokens_scale_linearly) {
const struct {
const char *pre;
const char *post;
@@ -5220,65 +5214,57 @@ START_TEST(test_big_tokens_take_linear_time) {
{"<e><", "/></e>"}, // big elem name, used to be O(N²)
};
const int num_cases = sizeof(text) / sizeof(text[0]);
- // For the test we need a <max_slowdown> value that is:
- // (1) big enough that the test passes reliably (avoiding flaky tests), and
- // (2) small enough that the test actually catches regressions.
- const int max_slowdown = 15;
char aaaaaa[4096];
const int fillsize = (int)sizeof(aaaaaa);
const int fillcount = 100;
+ const unsigned approx_bytes = fillsize * fillcount; // ignore pre/post.
+ const unsigned max_factor = 4;
+ const unsigned max_scanned = max_factor * approx_bytes;
memset(aaaaaa, 'a', fillsize);
if (! g_reparseDeferralEnabledDefault) {
return; // heuristic is disabled; we would get O(n^2) and fail.
}
-#if ! defined(__linux__)
- if (CLOCKS_PER_SEC < 100000) {
- // Skip this test if clock() doesn't have reasonably good resolution.
- // This workaround is primarily targeting Windows and FreeBSD, since
- // XSI requires the value to be 1.000.000 (10x the condition here), and
- // we want to be very sure that at least one platform in CI can catch
- // regressions (through a failing test).
- return;
- }
-#endif
- clock_t baseline = 0;
for (int i = 0; i < num_cases; ++i) {
XML_Parser parser = XML_ParserCreate(NULL);
assert_true(parser != NULL);
enum XML_Status status;
- set_subtest("max_slowdown=%d text=\"%saaaaaa%s\"", max_slowdown,
- text[i].pre, text[i].post);
- const clock_t start = clock();
+ set_subtest("text=\"%saaaaaa%s\"", text[i].pre, text[i].post);
// parse the start text
+ g_bytesScanned = 0;
status = _XML_Parse_SINGLE_BYTES(parser, text[i].pre,
(int)strlen(text[i].pre), XML_FALSE);
if (status != XML_STATUS_OK) {
xml_failure(parser);
}
+
// parse lots of 'a', failing the test early if it takes too long
+ unsigned past_max_count = 0;
for (int f = 0; f < fillcount; ++f) {
status = _XML_Parse_SINGLE_BYTES(parser, aaaaaa, fillsize, XML_FALSE);
if (status != XML_STATUS_OK) {
xml_failure(parser);
}
- // i == 0 means we're still calculating the baseline value
- if (i > 0) {
- const clock_t now = clock();
- const clock_t clocks_so_far = now - start;
- const int slowdown = clocks_so_far / baseline;
- if (slowdown >= max_slowdown) {
- fprintf(
- stderr,
- "fill#%d: clocks_so_far=%d baseline=%d slowdown=%d max_slowdown=%d\n",
- f, (int)clocks_so_far, (int)baseline, slowdown, max_slowdown);
- fail(too_slow_failure_message);
- }
+ if (g_bytesScanned > max_scanned) {
+ // We're not done, and have already passed the limit -- the test will
+ // definitely fail. This block allows us to save time by failing early.
+ const unsigned pushed
+ = (unsigned)strlen(text[i].pre) + (f + 1) * fillsize;
+ fprintf(
+ stderr,
+ "after %d/%d loops: pushed=%u scanned=%u (factor ~%.2f) max_scanned: %u (factor ~%u)\n",
+ f + 1, fillcount, pushed, g_bytesScanned,
+ g_bytesScanned / (double)pushed, max_scanned, max_factor);
+ past_max_count++;
+ // We are failing, but allow a few log prints first. If we don't reach
+ // a count of five, the test will fail after the loop instead.
+ assert_true(past_max_count < 5);
}
}
+
// parse the end text
status = _XML_Parse_SINGLE_BYTES(parser, text[i].post,
(int)strlen(text[i].post), XML_TRUE);
@@ -5286,18 +5272,14 @@ START_TEST(test_big_tokens_take_linear_time) {
xml_failure(parser);
}
- // how long did it take in total?
- const clock_t end = clock();
- const clock_t taken = end - start;
- if (i == 0) {
- assert_true(taken > 0); // just to make sure we don't div-by-0 later
- baseline = taken;
- }
- const int slowdown = taken / baseline;
- if (slowdown >= max_slowdown) {
- fprintf(stderr, "taken=%d baseline=%d slowdown=%d max_slowdown=%d\n",
- (int)taken, (int)baseline, slowdown, max_slowdown);
- fail(too_slow_failure_message);
+ assert_true(g_bytesScanned > approx_bytes); // or the counter isn't working
+ if (g_bytesScanned > max_scanned) {
+ fprintf(
+ stderr,
+ "after all input: scanned=%u (factor ~%.2f) max_scanned: %u (factor ~%u)\n",
+ g_bytesScanned, g_bytesScanned / (double)approx_bytes, max_scanned,
+ max_factor);
+ fail("scanned too many bytes");
}
XML_ParserFree(parser);
@@ -5774,19 +5756,17 @@ START_TEST(test_varying_buffer_fills) {
fillsize[2], fillsize[3]);
XML_Parser parser = XML_ParserCreate(NULL);
assert_true(parser != NULL);
- g_parseAttempts = 0;
CharData storage;
CharData_Init(&storage);
XML_SetUserData(parser, &storage);
XML_SetStartElementHandler(parser, start_element_event_handler);
+ g_bytesScanned = 0;
int worstcase_bytes = 0; // sum of (buffered bytes at each XML_Parse call)
- int scanned_bytes = 0; // sum of (buffered bytes at each actual parse)
int offset = 0;
while (*fillsize >= 0) {
assert_true(offset + *fillsize <= document_length); // or test is invalid
- const unsigned attempts_before = g_parseAttempts;
const enum XML_Status status
= XML_Parse(parser, &document[offset], *fillsize, XML_FALSE);
if (status != XML_STATUS_OK) {
@@ -5796,28 +5776,20 @@ START_TEST(test_varying_buffer_fills) {
fillsize++;
assert_true(offset <= INT_MAX - worstcase_bytes); // avoid overflow
worstcase_bytes += offset; // we might've tried to parse all pending bytes
- if (g_parseAttempts != attempts_before) {
- assert_true(g_parseAttempts == attempts_before + 1); // max 1/XML_Parse
- assert_true(offset <= INT_MAX - scanned_bytes); // avoid overflow
- scanned_bytes += offset; // we *did* try to parse all pending bytes
- }
}
assert_true(storage.count == 1); // the big token should've been parsed
- assert_true(scanned_bytes > 0); // test-the-test: does our counter work?
+ assert_true(g_bytesScanned > 0); // test-the-test: does our counter work?
if (g_reparseDeferralEnabledDefault) {
// heuristic is enabled; some XML_Parse calls may have deferred reparsing
- const int max_bytes_scanned = -*fillsize;
- if (scanned_bytes > max_bytes_scanned) {
+ const unsigned max_bytes_scanned = -*fillsize;
+ if (g_bytesScanned > max_bytes_scanned) {
fprintf(stderr,
- "bytes scanned in parse attempts: actual=%d limit=%d \n",
- scanned_bytes, max_bytes_scanned);
+ "bytes scanned in parse attempts: actual=%u limit=%u \n",
+ g_bytesScanned, max_bytes_scanned);
fail("too many bytes scanned in parse attempts");
}
- assert_true(scanned_bytes <= worstcase_bytes);
- } else {
- // heuristic is disabled; every XML_Parse() will have reparsed
- assert_true(scanned_bytes == worstcase_bytes);
}
+ assert_true(g_bytesScanned <= (unsigned)worstcase_bytes);
XML_ParserFree(parser);
}
@@ -6065,7 +6037,7 @@ make_basic_test_case(Suite *s) {
tcase_add_test__ifdef_xml_dtd(tc_basic,
test_pool_integrity_with_unfinished_attr);
tcase_add_test__if_xml_ge(tc_basic, test_nested_entity_suspend);
- tcase_add_test(tc_basic, test_big_tokens_take_linear_time);
+ tcase_add_test(tc_basic, test_big_tokens_scale_linearly);
tcase_add_test(tc_basic, test_set_reparse_deferral);
tcase_add_test(tc_basic, test_reparse_deferral_is_inherited);
tcase_add_test(tc_basic, test_set_reparse_deferral_on_null_parser);

View file

@ -15,15 +15,24 @@
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
let
version = "2.6.0";
tag = "R_${lib.replaceStrings ["."] ["_"] version}";
in
stdenv.mkDerivation (finalAttrs: {
pname = "expat";
version = "2.5.0";
inherit version;
src = fetchurl {
url = with finalAttrs; "https://github.com/libexpat/libexpat/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.xz";
sha256 = "1gnwihpfz4x18rwd6cbrdggmfqjzwsdfh1gpmc0ph21c4gq2097g";
url = with finalAttrs; "https://github.com/libexpat/libexpat/releases/download/${tag}/${pname}-${version}.tar.xz";
hash = "sha256-y19ajqIR4cq9Wb4KkzpS48Aswyboak04fY0hjn7kej4=";
};
patches = [
# Fix tests flakiness on some platforms (like aarch64-darwin), should be released in 2.6.1
./2.6.0-fix-tests-flakiness.patch
];
strictDeps = true;
outputs = [ "out" "dev" ]; # TODO: fix referrers
@ -61,6 +70,7 @@ stdenv.mkDerivation (finalAttrs: {
};
meta = with lib; {
changelog = "https://github.com/libexpat/libexpat/blob/${tag}/expat/Changes";
homepage = "https://libexpat.github.io/";
description = "A stream-oriented XML parser library written in C";
platforms = platforms.all;

View file

@ -2,27 +2,26 @@
, lib
, fetchFromGitHub
, cmake
, glog
, folly
, fmt_8
, boost
, fbthrift
, zlib
, fizz
, folly
, glog
, libsodium
, wangle
, mvfst
, python3
, wangle
, zlib
}:
stdenv.mkDerivation rec {
pname = "fb303";
version = "2023.06.12.00";
version = "2024.01.22.00";
src = fetchFromGitHub {
owner = "facebook";
repo = "fb303";
rev = "v${version}";
sha256 = "sha256-nUOPYb5/tLyHjaZDvKuq0vdu4L7XOmO8R9nNLGAzeLI=";
sha256 = "sha256-EQpe0REGWUpYg+llsCo4x6vJ7UPdWXk3uPM3b8b9Uf0=";
};
nativeBuildInputs = [ cmake ];
@ -33,16 +32,17 @@ stdenv.mkDerivation rec {
];
buildInputs = [
glog
folly
fmt_8
boost
fbthrift
zlib
fizz
folly
folly.boost
folly.fmt
glog
libsodium
wangle
mvfst
python3
wangle
zlib
];
meta = with lib; {

View file

@ -13,6 +13,7 @@
, glog
, gflags
, libiberty
, mvfst
, openssl
, lib
, wangle
@ -22,13 +23,13 @@
stdenv.mkDerivation rec {
pname = "fbthrift";
version = "2023.03.20.00";
version = "2024.01.22.00";
src = fetchFromGitHub {
owner = "facebook";
repo = "fbthrift";
rev = "v${version}";
sha256 = "sha256-jCgdo7jE5QlRK5f2S6XEVM4+TPWI//4DKG/fDMFzgzg=";
sha256 = "sha256-vIYXX4NOs2JdhrAJKmIhf4+hQEXHue2Ok7e4cw6yups=";
};
nativeBuildInputs = [
@ -51,6 +52,7 @@ stdenv.mkDerivation rec {
gflags
libevent
libiberty
mvfst
openssl
wangle
zlib

View file

@ -1,4 +1,11 @@
import ./generic.nix {
version = "6.1";
hash = "sha256-NzhD2D16bCVCyCXo0TRwZYp3Ta5eFSfoQPa+iRkeNZg=";
extraPatches = [
{
name = "avcodec-decode-validate-hw-frames-ctx.patch";
url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/e9c93009fc34ca9dfcf0c6f2ed90ef1df298abf7";
hash = "sha256-aE9WN7a2INbss7oRys+AC9d9+yBzlJdeBRcwSDpG0Qw=";
}
];
}

View file

@ -49,6 +49,7 @@
, withGme ? withFullDeps # Game Music Emulator
, withGnutls ? withHeadlessDeps
, withGsm ? withFullDeps # GSM de/encoder
, withHarfbuzz ? withHeadlessDeps && lib.versionAtLeast version "6.1" # Needed for drawtext filter
, withIconv ? withHeadlessDeps
, withJack ? withFullDeps && !stdenv.isDarwin # Jack audio
, withLadspa ? withFullDeps # LADSPA audio filtering
@ -201,6 +202,7 @@
, game-music-emu
, gnutls
, gsm
, harfbuzz
, intel-media-sdk
, ladspaH
, lame
@ -482,6 +484,9 @@ stdenv.mkDerivation (finalAttrs: {
(enableFeature withGme "libgme")
(enableFeature withGnutls "gnutls")
(enableFeature withGsm "libgsm")
] ++ optionals (versionAtLeast finalAttrs.version "6.1") [
(enableFeature withHarfbuzz "libharfbuzz")
] ++ [
(enableFeature withIconv "iconv")
(enableFeature withJack "libjack")
(enableFeature withLadspa "ladspa")
@ -598,6 +603,7 @@ stdenv.mkDerivation (finalAttrs: {
++ optionals withGme [ game-music-emu ]
++ optionals withGnutls [ gnutls ]
++ optionals withGsm [ gsm ]
++ optionals withHarfbuzz [ harfbuzz ]
++ optionals withIconv [ libiconv ] # On Linux this should be in libc, do we really need it?
++ optionals withJack [ libjack2 ]
++ optionals withLadspa [ ladspaH ]

View file

@ -17,23 +17,25 @@
, zlib
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "fizz";
version = "2023.03.20.00";
version = "2024.01.22.00";
src = fetchFromGitHub {
owner = "facebookincubator";
repo = "fizz";
rev = "refs/tags/v${version}";
hash = "sha256-oBdTj7IPlmtF5rEgDVN/wwa0ZxkN6h2QMN3PQB0nCgQ=";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-17EELvRrWhUprxvm1Ur0FYNimvY1qgK0YH8ehxtLpxM=";
};
nativeBuildInputs = [ cmake ];
cmakeDir = "../fizz";
cmakeFlags = [ "-Wno-dev" ]
++ lib.optionals stdenv.isDarwin [
cmakeFlags = [
"-Wno-dev"
(lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck)
] ++ lib.optionals stdenv.isDarwin [
"-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation
];
@ -46,7 +48,6 @@ stdenv.mkDerivation rec {
folly
glog
gflags
gtest
libevent
libiberty
libsodium
@ -55,6 +56,24 @@ stdenv.mkDerivation rec {
zstd
];
doCheck = true;
checkInputs = [
gtest
];
preCheck = let
disabledTests = [
# these don't work with openssl 3.x probably due to
# https://github.com/openssl/openssl/issues/13283
"DefaultCertificateVerifierTest.TestVerifySuccess"
"DefaultCertificateVerifierTest.TestVerifyWithIntermediates"
# timing-related & flaky
"SlidingBloomReplayCacheTest.TestTimeBucketing"
];
in ''
export GTEST_FILTER="-${lib.concatStringsSep ":" disabledTests}"
'';
meta = with lib; {
description = "C++14 implementation of the TLS-1.3 standard";
homepage = "https://github.com/facebookincubator/fizz";
@ -63,4 +82,4 @@ stdenv.mkDerivation rec {
platforms = platforms.unix;
maintainers = with maintainers; [ pierreis kylesferrazza ];
};
}
})

View file

@ -18,17 +18,21 @@
, zstd
, jemalloc
, follyMobile ? false
# for passthru.tests
, python3
, watchman
}:
stdenv.mkDerivation rec {
pname = "folly";
version = "2023.02.27.00";
version = "2024.01.22.00";
src = fetchFromGitHub {
owner = "facebook";
repo = "folly";
rev = "v${version}";
sha256 = "sha256-DfZiVxncpKSPn9BN25d8o0/tC27+HhSG/t53WgzAT/s=";
sha256 = "sha256-+z1wuEOgr7CMHFnOn5gLm9mtVH7mVURLstOoDqzxKbk=";
};
nativeBuildInputs = [
@ -80,11 +84,16 @@ stdenv.mkDerivation rec {
--replace '$'{_IMPORT_PREFIX}/lib/ $out/lib/
'';
# folly-config.cmake, will `find_package` these, thus there should be
# a way to ensure abi compatibility.
passthru = {
# folly-config.cmake, will `find_package` these, thus there should be
# a way to ensure abi compatibility.
inherit boost;
fmt = fmt_8;
tests = {
inherit watchman;
inherit (python3.pkgs) django pywatchman;
};
};
meta = with lib; {

View file

@ -32,13 +32,13 @@ let
];
in stdenv.mkDerivation (finalAttrs: {
pname = "gjs";
version = "1.78.3";
version = "1.78.4";
outputs = [ "out" "dev" "installedTests" ];
src = fetchurl {
url = "mirror://gnome/sources/gjs/${lib.versions.majorMinor finalAttrs.version}/gjs-${finalAttrs.version}.tar.xz";
hash = "sha256-QtUDZMql15LHZzT+W7zEudu0iBnaIKQGAGHouVJhNKQ=";
hash = "sha256-mux6uHLCBQQEkHrpTwrnq+yKVL2ciU3bXC0PUekyuaE=";
};
patches = [

View file

@ -1,7 +1,6 @@
{ lib
, stdenv
, fetchurl
, fetchpatch
, autoreconfHook
, libgpg-error
, gnupg
@ -9,7 +8,6 @@
, glib
, pth
, libassuan
, file
, which
, ncurses
, texinfo
@ -22,29 +20,35 @@
, qt6Packages
, python3
}:
let
inherit (stdenv.hostPlatform) system;
in
stdenv.mkDerivation rec {
pname = "gpgme";
version = "1.23.2";
src = fetchurl {
url = "mirror://gnupg/gpgme/${pname}-${version}.tar.bz2";
hash = "sha256-lJnosfM8zLaBVSehvBYEnTWmGYpsX64BhfK9VhvOUiQ=";
};
patches = [
# Support Python 3.10 version detection without distutils, https://dev.gnupg.org/D545
./python-310-detection-without-distutils.patch
# Fix a test after disallowing compressed signatures in gpg (PR #180336)
./test_t-verify_double-plaintext.patch
];
pyproject = true;
outputs = [ "out" "dev" "info" ];
outputBin = "dev"; # gpgme-config; not so sure about gpgme-tool
src = fetchurl {
url = "mirror://gnupg/gpgme/gpgme-${version}.tar.bz2";
hash = "sha256-lJnosfM8zLaBVSehvBYEnTWmGYpsX64BhfK9VhvOUiQ=";
};
patches = [
# Support Python 3.10-3.12, remove distutils, https://dev.gnupg.org/D545
./python-310-312-remove-distutils.patch
# Fix a test after disallowing compressed signatures in gpg (PR #180336)
./test_t-verify_double-plaintext.patch
];
postPatch = ''
# autoconf's beta detection requires a git repo to work
# and otherwise appends -unknown to the version number used in the python package which pip stumbles upon
substituteInPlace autogen.sh \
--replace-fail 'tmp="-unknown"' 'tmp=""'
'';
nativeBuildInputs = [
autoreconfHook
gnupg
@ -52,6 +56,9 @@ stdenv.mkDerivation rec {
texinfo
] ++ lib.optionals pythonSupport [
python3.pythonOnBuildForHost
python3.pkgs.pip
python3.pkgs.setuptools
python3.pkgs.wheel
ncurses
swig2
which

View file

@ -0,0 +1,647 @@
diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
--- a/lang/python/Makefile.am
+++ b/lang/python/Makefile.am
@@ -34,8 +34,8 @@
.PHONY: prepare
prepare: copystamp
-# For VPATH builds we need to copy some files because Python's
-# distutils are not VPATH-aware.
+# For VPATH builds we need to copy some files because Python
+# is not VPATH-aware.
copystamp:
ln -sf "$(top_srcdir)/src/data.h" .
ln -sf "$(top_builddir)/conf/config.h" .
@@ -48,7 +48,7 @@
CFLAGS="$(CFLAGS)" \
srcdir="$(srcdir)" \
top_builddir="$(top_builddir)" \
- $$PYTHON setup.py build --verbose --build-base="$$(basename "$${PYTHON}")-gpg" ; \
+ $$PYTHON -m pip --verbose install --no-index --no-build-isolation --root="$$(basename "$${PYTHON}")-gpg" ${srcdir} ; \
done
python$(PYTHON_VERSION)-gpg/dist/gpg-$(VERSION).tar.gz.asc: copystamp
@@ -57,8 +57,7 @@
CFLAGS="$(CFLAGS)" \
srcdir="$(srcdir)" \
top_builddir="$(top_builddir)" \
- $(PYTHON) setup.py sdist --verbose --dist-dir=python$(PYTHON_VERSION)-gpg-dist \
- --manifest=python$(PYTHON_VERSION)-gpg-dist/MANIFEST
+ $(PYTHON) -m build --sdist --outdir=python$(PYTHON_VERSION)-gpg-dist
gpgbin=gpgconf --list-components | grep OpenPGP | sed -e 's/gpg:OpenPGP://g'
$(gpgbin) --detach-sign --armor python$(PYTHON_VERSION)-gpg-dist/gpg-$(VERSION).tar.gz
@@ -92,17 +91,16 @@
CFLAGS="$(CFLAGS)" \
srcdir="$(srcdir)" \
top_builddir="$(top_builddir)" \
- $$PYTHON setup.py \
- build \
- --build-base="$$(basename "$${PYTHON}")-gpg" \
+ $$PYTHON -m pip --verbose \
install \
+ --no-index --no-build-isolation \
--prefix "$(DESTDIR)$(prefix)" \
- --verbose ; \
+ ${srcdir} ; \
done
uninstall-local:
set -x; GV=$$(echo $(VERSION) | tr - _); for PYTHON in $(PYTHONS); do \
PLATLIB="$(prefix)/$$("$${PYTHON}" -c 'import sysconfig, os; print(os.path.relpath(sysconfig.get_path("platlib", scheme="posix_prefix"), sysconfig.get_config_var("prefix")))')" ; \
rm -rf -- "$(DESTDIR)$${PLATLIB}/gpg" \
- "$(DESTDIR)$${PLATLIB}"/gpg-$$GV-py*.egg-info ; \
+ "$(DESTDIR)$${PLATLIB}"/gpg-$$GV.dist-info ; \
done
diff --git a/lang/python/doc/src/gpgme-python-howto.org b/lang/python/doc/src/gpgme-python-howto.org
--- a/lang/python/doc/src/gpgme-python-howto.org
+++ b/lang/python/doc/src/gpgme-python-howto.org
@@ -2945,7 +2945,7 @@
=setup.py= file which contains this:
#+BEGIN_SRC python -i
-from distutils.core import setup
+from setuptools import setup
from Cython.Build import cythonize
setup(
diff --git a/lang/python/examples/howto/advanced/cython/setup.py b/lang/python/examples/howto/advanced/cython/setup.py
--- a/lang/python/examples/howto/advanced/cython/setup.py
+++ b/lang/python/examples/howto/advanced/cython/setup.py
@@ -1,4 +1,4 @@
-from distutils.core import setup
+from setuptools import setup
from Cython.Build import cythonize
setup(
diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in
--- a/lang/python/setup.py.in
+++ b/lang/python/setup.py.in
@@ -18,8 +18,8 @@
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-from distutils.core import setup, Extension
-from distutils.command.build import build
+from setuptools import setup, Extension
+from setuptools.command.build import build
import glob
import os
@@ -225,9 +225,8 @@
build.run(self)
-py3 = [] if sys.version_info.major < 3 else ['-py3']
swig_sources = []
-swig_opts = ['-threads'] + py3 + extra_swig_opts
+swig_opts = ['-threads'] + extra_swig_opts
swige = Extension(
'gpg._gpgme',
sources=swig_sources,
diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
--- a/m4/ax_python_devel.m4
+++ b/m4/ax_python_devel.m4
@@ -1,10 +1,10 @@
# ===========================================================================
-# https://www.gnu.org/software/autoconf-archive/ax_python_devel.html
+# https://www.gnu.org/software/autoconf-archive/ax_python_devel.html
# ===========================================================================
#
# SYNOPSIS
#
-# AX_PYTHON_DEVEL([version])
+# AX_PYTHON_DEVEL([version[,optional]])
#
# DESCRIPTION
#
@@ -12,8 +12,8 @@
# in your configure.ac.
#
# This macro checks for Python and tries to get the include path to
-# 'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LDFLAGS)
-# output variables. It also exports $(PYTHON_EXTRA_LIBS) and
+# 'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LIBS) output
+# variables. It also exports $(PYTHON_EXTRA_LIBS) and
# $(PYTHON_EXTRA_LDFLAGS) for embedding Python in your code.
#
# You can search for some particular version of Python by passing a
@@ -23,6 +23,11 @@
# version number. Don't use "PYTHON_VERSION" for this: that environment
# variable is declared as precious and thus reserved for the end-user.
#
+# By default this will fail if it does not detect a development version of
+# python. If you want it to continue, set optional to true, like
+# AX_PYTHON_DEVEL([], [true]). The ax_python_devel_found variable will be
+# "no" if it fails.
+#
# This macro should work for all versions of Python >= 2.1.0. As an end
# user, you can disable the check for the python version by setting the
# PYTHON_NOVERSIONCHECK environment variable to something else than the
@@ -67,10 +72,18 @@
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
-#serial 17
+#serial 36
AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL])
AC_DEFUN([AX_PYTHON_DEVEL],[
+ # Get whether it's optional
+ if test -z "$2"; then
+ ax_python_devel_optional=false
+ else
+ ax_python_devel_optional=$2
+ fi
+ ax_python_devel_found=yes
+
#
# Allow the use of a (user set) custom python version
#
@@ -81,81 +94,147 @@
AC_PATH_PROG([PYTHON],[python[$PYTHON_VERSION]])
if test -z "$PYTHON"; then
- AC_MSG_ERROR([Cannot find python$PYTHON_VERSION in your system path])
+ AC_MSG_WARN([Cannot find python$PYTHON_VERSION in your system path])
+ if ! $ax_python_devel_optional; then
+ AC_MSG_ERROR([Giving up, python development not available])
+ fi
+ ax_python_devel_found=no
PYTHON_VERSION=""
fi
- #
- # Check for a version of Python >= 2.1.0
- #
- AC_MSG_CHECKING([for a version of Python >= '2.1.0'])
- ac_supports_python_ver=`$PYTHON -c "import sys; \
+ if test $ax_python_devel_found = yes; then
+ #
+ # Check for a version of Python >= 2.1.0
+ #
+ AC_MSG_CHECKING([for a version of Python >= '2.1.0'])
+ ac_supports_python_ver=`$PYTHON -c "import sys; \
ver = sys.version.split ()[[0]]; \
print (ver >= '2.1.0')"`
- if test "$ac_supports_python_ver" != "True"; then
+ if test "$ac_supports_python_ver" != "True"; then
if test -z "$PYTHON_NOVERSIONCHECK"; then
AC_MSG_RESULT([no])
- AC_MSG_FAILURE([
+ AC_MSG_WARN([
This version of the AC@&t@_PYTHON_DEVEL macro
doesn't work properly with versions of Python before
2.1.0. You may need to re-run configure, setting the
-variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
+variables PYTHON_CPPFLAGS, PYTHON_LIBS, PYTHON_SITE_PKG,
PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
to something else than an empty string.
])
+ if ! $ax_python_devel_optional; then
+ AC_MSG_FAILURE([Giving up])
+ fi
+ ax_python_devel_found=no
+ PYTHON_VERSION=""
else
AC_MSG_RESULT([skip at user request])
fi
- else
+ else
AC_MSG_RESULT([yes])
+ fi
fi
- #
- # if the macro parameter ``version'' is set, honour it
- #
- if test -n "$1"; then
+ if test $ax_python_devel_found = yes; then
+ #
+ # If the macro parameter ``version'' is set, honour it.
+ # A Python shim class, VPy, is used to implement correct version comparisons via
+ # string expressions, since e.g. a naive textual ">= 2.7.3" won't work for
+ # Python 2.7.10 (the ".1" being evaluated as less than ".3").
+ #
+ if test -n "$1"; then
AC_MSG_CHECKING([for a version of Python $1])
- ac_supports_python_ver=`$PYTHON -c "import sys; \
- ver = sys.version.split ()[[0]]; \
+ cat << EOF > ax_python_devel_vpy.py
+class VPy:
+ def vtup(self, s):
+ return tuple(map(int, s.strip().replace("rc", ".").split(".")))
+ def __init__(self):
+ import sys
+ self.vpy = tuple(sys.version_info)[[:3]]
+ def __eq__(self, s):
+ return self.vpy == self.vtup(s)
+ def __ne__(self, s):
+ return self.vpy != self.vtup(s)
+ def __lt__(self, s):
+ return self.vpy < self.vtup(s)
+ def __gt__(self, s):
+ return self.vpy > self.vtup(s)
+ def __le__(self, s):
+ return self.vpy <= self.vtup(s)
+ def __ge__(self, s):
+ return self.vpy >= self.vtup(s)
+EOF
+ ac_supports_python_ver=`$PYTHON -c "import ax_python_devel_vpy; \
+ ver = ax_python_devel_vpy.VPy(); \
print (ver $1)"`
+ rm -rf ax_python_devel_vpy*.py* __pycache__/ax_python_devel_vpy*.py*
if test "$ac_supports_python_ver" = "True"; then
- AC_MSG_RESULT([yes])
+ AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
- AC_MSG_ERROR([this package requires Python $1.
+ AC_MSG_WARN([this package requires Python $1.
If you have it installed, but it isn't the default Python
interpreter in your system path, please pass the PYTHON_VERSION
variable to configure. See ``configure --help'' for reference.
])
+ if ! $ax_python_devel_optional; then
+ AC_MSG_ERROR([Giving up])
+ fi
+ ax_python_devel_found=no
PYTHON_VERSION=""
fi
+ fi
fi
- #
- # Check if you have distutils, else fail
- #
- AC_MSG_CHECKING([for the distutils Python package])
- ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
- if test -z "$ac_distutils_result"; then
+ if test $ax_python_devel_found = yes; then
+ #
+ # Check if you have distutils, else fail
+ #
+ AC_MSG_CHECKING([for the sysconfig Python package])
+ ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1`
+ if test $? -eq 0; then
AC_MSG_RESULT([yes])
- else
+ IMPORT_SYSCONFIG="import sysconfig"
+ else
AC_MSG_RESULT([no])
- AC_MSG_ERROR([cannot import Python module "distutils".
+
+ AC_MSG_CHECKING([for the distutils Python package])
+ ac_sysconfig_result=`$PYTHON -c "from distutils import sysconfig" 2>&1`
+ if test $? -eq 0; then
+ AC_MSG_RESULT([yes])
+ IMPORT_SYSCONFIG="from distutils import sysconfig"
+ else
+ AC_MSG_WARN([cannot import Python module "distutils".
Please check your Python installation. The error was:
-$ac_distutils_result])
- PYTHON_VERSION=""
+$ac_sysconfig_result])
+ if ! $ax_python_devel_optional; then
+ AC_MSG_ERROR([Giving up])
+ fi
+ ax_python_devel_found=no
+ PYTHON_VERSION=""
+ fi
+ fi
fi
- #
- # Check for Python include path
- #
- AC_MSG_CHECKING([for Python include path])
- if test -z "$PYTHON_CPPFLAGS"; then
- python_path=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_inc ());"`
- plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
+ if test $ax_python_devel_found = yes; then
+ #
+ # Check for Python include path
+ #
+ AC_MSG_CHECKING([for Python include path])
+ if test -z "$PYTHON_CPPFLAGS"; then
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
+ # sysconfig module has different functions
+ python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_path ('include'));"`
+ plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_path ('platinclude'));"`
+ else
+ # old distutils way
+ python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_inc ());"`
+ plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_inc (plat_specific=1));"`
+ fi
if test -n "${python_path}"; then
if test "${plat_python_path}" != "${python_path}"; then
python_path="-I$python_path -I$plat_python_path"
@@ -164,22 +243,22 @@
fi
fi
PYTHON_CPPFLAGS=$python_path
- fi
- AC_MSG_RESULT([$PYTHON_CPPFLAGS])
- AC_SUBST([PYTHON_CPPFLAGS])
+ fi
+ AC_MSG_RESULT([$PYTHON_CPPFLAGS])
+ AC_SUBST([PYTHON_CPPFLAGS])
- #
- # Check for Python library path
- #
- AC_MSG_CHECKING([for Python library path])
- if test -z "$PYTHON_LDFLAGS"; then
+ #
+ # Check for Python library path
+ #
+ AC_MSG_CHECKING([for Python library path])
+ if test -z "$PYTHON_LIBS"; then
# (makes two attempts to ensure we've got a version number
# from the interpreter)
ac_python_version=`cat<<EOD | $PYTHON -
# join all versioning strings, on some systems
# major/minor numbers could be in different list elements
-from distutils.sysconfig import *
+from sysconfig import *
e = get_config_var('VERSION')
if e is not None:
print(e)
@@ -190,7 +269,7 @@
ac_python_version=$PYTHON_VERSION
else
ac_python_version=`$PYTHON -c "import sys; \
- print (sys.version[[:3]])"`
+ print ("%d.%d" % sys.version_info[[:2]])"`
fi
fi
@@ -205,8 +284,8 @@
ac_python_libdir=`cat<<EOD | $PYTHON -
# There should be only one
-import distutils.sysconfig
-e = distutils.sysconfig.get_config_var('LIBDIR')
+$IMPORT_SYSCONFIG
+e = sysconfig.get_config_var('LIBDIR')
if e is not None:
print (e)
EOD`
@@ -214,8 +293,8 @@
# Now, for the library:
ac_python_library=`cat<<EOD | $PYTHON -
-import distutils.sysconfig
-c = distutils.sysconfig.get_config_vars()
+$IMPORT_SYSCONFIG
+c = sysconfig.get_config_vars()
if 'LDVERSION' in c:
print ('python'+c[['LDVERSION']])
else:
@@ -230,97 +309,163 @@
then
# use the official shared library
ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
- PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
+ PYTHON_LIBS="-L$ac_python_libdir -l$ac_python_library"
else
# old way: use libpython from python_configdir
ac_python_libdir=`$PYTHON -c \
- "from distutils.sysconfig import get_python_lib as f; \
+ "from sysconfig import get_python_lib as f; \
import os; \
print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
- PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
+ PYTHON_LIBS="-L$ac_python_libdir -lpython$ac_python_version"
fi
- if test -z "PYTHON_LDFLAGS"; then
- AC_MSG_ERROR([
+ if test -z "PYTHON_LIBS"; then
+ AC_MSG_WARN([
Cannot determine location of your Python DSO. Please check it was installed with
- dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
+ dynamic libraries enabled, or try setting PYTHON_LIBS by hand.
])
+ if ! $ax_python_devel_optional; then
+ AC_MSG_ERROR([Giving up])
+ fi
+ ax_python_devel_found=no
+ PYTHON_VERSION=""
fi
+ fi
fi
- AC_MSG_RESULT([$PYTHON_LDFLAGS])
- AC_SUBST([PYTHON_LDFLAGS])
- #
- # Check for site packages
- #
- AC_MSG_CHECKING([for Python site-packages path])
- if test -z "$PYTHON_SITE_PKG"; then
- PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_lib(0,0));"`
- fi
- AC_MSG_RESULT([$PYTHON_SITE_PKG])
- AC_SUBST([PYTHON_SITE_PKG])
+ if test $ax_python_devel_found = yes; then
+ AC_MSG_RESULT([$PYTHON_LIBS])
+ AC_SUBST([PYTHON_LIBS])
- #
- # libraries which must be linked in when embedding
- #
- AC_MSG_CHECKING(python extra libraries)
- if test -z "$PYTHON_EXTRA_LIBS"; then
- PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
- conf = distutils.sysconfig.get_config_var; \
+ #
+ # Check for site packages
+ #
+ AC_MSG_CHECKING([for Python site-packages path])
+ if test -z "$PYTHON_SITE_PKG"; then
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
+ PYTHON_SITE_PKG=`$PYTHON -c "
+$IMPORT_SYSCONFIG;
+if hasattr(sysconfig, 'get_default_scheme'):
+ scheme = sysconfig.get_default_scheme()
+else:
+ scheme = sysconfig._get_default_scheme()
+if scheme == 'posix_local':
+ # Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/
+ scheme = 'posix_prefix'
+prefix = '$prefix'
+if prefix == 'NONE':
+ prefix = '$ac_default_prefix'
+sitedir = sysconfig.get_path('purelib', scheme, vars={'base': prefix})
+print(sitedir)"`
+ else
+ # distutils.sysconfig way
+ PYTHON_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_lib(0,0));"`
+ fi
+ fi
+ AC_MSG_RESULT([$PYTHON_SITE_PKG])
+ AC_SUBST([PYTHON_SITE_PKG])
+
+ #
+ # Check for platform-specific site packages
+ #
+ AC_MSG_CHECKING([for Python platform specific site-packages path])
+ if test -z "$PYTHON_PLATFORM_SITE_PKG"; then
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
+ PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "
+$IMPORT_SYSCONFIG;
+if hasattr(sysconfig, 'get_default_scheme'):
+ scheme = sysconfig.get_default_scheme()
+else:
+ scheme = sysconfig._get_default_scheme()
+if scheme == 'posix_local':
+ # Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/
+ scheme = 'posix_prefix'
+prefix = '$prefix'
+if prefix == 'NONE':
+ prefix = '$ac_default_prefix'
+sitedir = sysconfig.get_path('platlib', scheme, vars={'platbase': prefix})
+print(sitedir)"`
+ else
+ # distutils.sysconfig way
+ PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_lib(1,0));"`
+ fi
+ fi
+ AC_MSG_RESULT([$PYTHON_PLATFORM_SITE_PKG])
+ AC_SUBST([PYTHON_PLATFORM_SITE_PKG])
+
+ #
+ # libraries which must be linked in when embedding
+ #
+ AC_MSG_CHECKING(python extra libraries)
+ if test -z "$PYTHON_EXTRA_LIBS"; then
+ PYTHON_EXTRA_LIBS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ conf = sysconfig.get_config_var; \
print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
- fi
- AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
- AC_SUBST(PYTHON_EXTRA_LIBS)
+ fi
+ AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
+ AC_SUBST(PYTHON_EXTRA_LIBS)
- #
- # linking flags needed when embedding
- #
- AC_MSG_CHECKING(python extra linking flags)
- if test -z "$PYTHON_EXTRA_LDFLAGS"; then
- PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
- conf = distutils.sysconfig.get_config_var; \
+ #
+ # linking flags needed when embedding
+ #
+ AC_MSG_CHECKING(python extra linking flags)
+ if test -z "$PYTHON_EXTRA_LDFLAGS"; then
+ PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ conf = sysconfig.get_config_var; \
print (conf('LINKFORSHARED'))"`
- fi
- AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
- AC_SUBST(PYTHON_EXTRA_LDFLAGS)
+ # Hack for macos, it sticks this in here.
+ PYTHON_EXTRA_LDFLAGS=`echo $PYTHON_EXTRA_LDFLAGS | sed 's/CoreFoundation.*$/CoreFoundation/'`
+ fi
+ AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
+ AC_SUBST(PYTHON_EXTRA_LDFLAGS)
- #
- # final check to see if everything compiles alright
- #
- AC_MSG_CHECKING([consistency of all components of python development environment])
- # save current global flags
- ac_save_LIBS="$LIBS"
- ac_save_CPPFLAGS="$CPPFLAGS"
- LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS"
- CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
- AC_LANG_PUSH([C])
- AC_LINK_IFELSE([
+ #
+ # final check to see if everything compiles alright
+ #
+ AC_MSG_CHECKING([consistency of all components of python development environment])
+ # save current global flags
+ ac_save_LIBS="$LIBS"
+ ac_save_LDFLAGS="$LDFLAGS"
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ LIBS="$ac_save_LIBS $PYTHON_LIBS $PYTHON_EXTRA_LIBS"
+ LDFLAGS="$ac_save_LDFLAGS $PYTHON_EXTRA_LDFLAGS"
+ CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
+ AC_LANG_PUSH([C])
+ AC_LINK_IFELSE([
AC_LANG_PROGRAM([[#include <Python.h>]],
[[Py_Initialize();]])
],[pythonexists=yes],[pythonexists=no])
- AC_LANG_POP([C])
- # turn back to default flags
- CPPFLAGS="$ac_save_CPPFLAGS"
- LIBS="$ac_save_LIBS"
+ AC_LANG_POP([C])
+ # turn back to default flags
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ LIBS="$ac_save_LIBS"
+ LDFLAGS="$ac_save_LDFLAGS"
- AC_MSG_RESULT([$pythonexists])
+ AC_MSG_RESULT([$pythonexists])
- if test ! "x$pythonexists" = "xyes"; then
- AC_MSG_WARN([
+ if test ! "x$pythonexists" = "xyes"; then
+ AC_MSG_WARN([
Could not link test program to Python. Maybe the main Python library has been
installed in some non-standard library path. If so, pass it to configure,
- via the LDFLAGS environment variable.
- Example: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib"
+ via the LIBS environment variable.
+ Example: ./configure LIBS="-L/usr/non-standard-path/python/lib"
============================================================================
+ ERROR!
You probably have to install the development version of the Python package
for your distribution. The exact name of this package varies among them.
============================================================================
- ])
- PYTHON_VERSION=""
+ ])
+ if ! $ax_python_devel_optional; then
+ AC_MSG_ERROR([Giving up])
+ fi
+ ax_python_devel_found=no
+ PYTHON_VERSION=""
+ fi
fi
#
# all done!
#
-])
+])
\ No newline at end of file
diff --git a/m4/python.m4 b/m4/python.m4
--- a/m4/python.m4
+++ b/m4/python.m4
@@ -41,7 +41,7 @@
m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
[python2 python2.7 dnl
python dnl
- python3 python3.10 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4
+ python3 python3.12 python3.11 python3.10 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4
])
AC_ARG_VAR([PYTHON], [the Python interpreter])

View file

@ -1,273 +0,0 @@
diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
--- a/m4/ax_python_devel.m4
+++ b/m4/ax_python_devel.m4
@@ -1,5 +1,5 @@
# ===========================================================================
-# https://www.gnu.org/software/autoconf-archive/ax_python_devel.html
+# https://www.gnu.org/software/autoconf-archive/ax_python_devel.html
# ===========================================================================
#
# SYNOPSIS
@@ -12,8 +12,8 @@
# in your configure.ac.
#
# This macro checks for Python and tries to get the include path to
-# 'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LDFLAGS)
-# output variables. It also exports $(PYTHON_EXTRA_LIBS) and
+# 'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LIBS) output
+# variables. It also exports $(PYTHON_EXTRA_LIBS) and
# $(PYTHON_EXTRA_LDFLAGS) for embedding Python in your code.
#
# You can search for some particular version of Python by passing a
@@ -67,7 +67,7 @@
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
-#serial 17
+#serial 23
AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL])
AC_DEFUN([AX_PYTHON_DEVEL],[
@@ -99,7 +99,7 @@
This version of the AC@&t@_PYTHON_DEVEL macro
doesn't work properly with versions of Python before
2.1.0. You may need to re-run configure, setting the
-variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
+variables PYTHON_CPPFLAGS, PYTHON_LIBS, PYTHON_SITE_PKG,
PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
to something else than an empty string.
@@ -135,16 +135,25 @@
#
# Check if you have distutils, else fail
#
- AC_MSG_CHECKING([for the distutils Python package])
- ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
- if test -z "$ac_distutils_result"; then
+ AC_MSG_CHECKING([for the sysconfig Python package])
+ ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1`
+ if test $? -eq 0; then
AC_MSG_RESULT([yes])
+ IMPORT_SYSCONFIG="import sysconfig"
else
AC_MSG_RESULT([no])
- AC_MSG_ERROR([cannot import Python module "distutils".
+
+ AC_MSG_CHECKING([for the distutils Python package])
+ ac_sysconfig_result=`$PYTHON -c "from distutils import sysconfig" 2>&1`
+ if test $? -eq 0; then
+ AC_MSG_RESULT([yes])
+ IMPORT_SYSCONFIG="from distutils import sysconfig"
+ else
+ AC_MSG_ERROR([cannot import Python module "distutils".
Please check your Python installation. The error was:
-$ac_distutils_result])
- PYTHON_VERSION=""
+$ac_sysconfig_result])
+ PYTHON_VERSION=""
+ fi
fi
#
@@ -152,10 +161,19 @@
#
AC_MSG_CHECKING([for Python include path])
if test -z "$PYTHON_CPPFLAGS"; then
- python_path=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_inc ());"`
- plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
+ # sysconfig module has different functions
+ python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_path ('include'));"`
+ plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_path ('platinclude'));"`
+ else
+ # old distutils way
+ python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_inc ());"`
+ plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_inc (plat_specific=1));"`
+ fi
if test -n "${python_path}"; then
if test "${plat_python_path}" != "${python_path}"; then
python_path="-I$python_path -I$plat_python_path"
@@ -172,14 +190,14 @@
# Check for Python library path
#
AC_MSG_CHECKING([for Python library path])
- if test -z "$PYTHON_LDFLAGS"; then
+ if test -z "$PYTHON_LIBS"; then
# (makes two attempts to ensure we've got a version number
# from the interpreter)
ac_python_version=`cat<<EOD | $PYTHON -
# join all versioning strings, on some systems
# major/minor numbers could be in different list elements
-from distutils.sysconfig import *
+from sysconfig import *
e = get_config_var('VERSION')
if e is not None:
print(e)
@@ -197,7 +215,7 @@
# Make the versioning information available to the compiler
# JW: We don't need it and it interferes with the hack
- # to detect multiple Pyhton versions
+ # to detect multiple Python versions
#AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"],
# [If available, contains the Python version number currently in use.])
@@ -205,8 +223,8 @@
ac_python_libdir=`cat<<EOD | $PYTHON -
# There should be only one
-import distutils.sysconfig
-e = distutils.sysconfig.get_config_var('LIBDIR')
+$IMPORT_SYSCONFIG
+e = sysconfig.get_config_var('LIBDIR')
if e is not None:
print (e)
EOD`
@@ -214,8 +232,8 @@
# Now, for the library:
ac_python_library=`cat<<EOD | $PYTHON -
-import distutils.sysconfig
-c = distutils.sysconfig.get_config_vars()
+$IMPORT_SYSCONFIG
+c = sysconfig.get_config_vars()
if 'LDVERSION' in c:
print ('python'+c[['LDVERSION']])
else:
@@ -230,44 +248,67 @@
then
# use the official shared library
ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
- PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
+ PYTHON_LIBS="-L$ac_python_libdir -l$ac_python_library"
else
# old way: use libpython from python_configdir
ac_python_libdir=`$PYTHON -c \
- "from distutils.sysconfig import get_python_lib as f; \
+ "from sysconfig import get_python_lib as f; \
import os; \
print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
- PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
+ PYTHON_LIBS="-L$ac_python_libdir -lpython$ac_python_version"
fi
- if test -z "PYTHON_LDFLAGS"; then
+ if test -z "PYTHON_LIBS"; then
AC_MSG_ERROR([
Cannot determine location of your Python DSO. Please check it was installed with
- dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
+ dynamic libraries enabled, or try setting PYTHON_LIBS by hand.
])
fi
fi
- AC_MSG_RESULT([$PYTHON_LDFLAGS])
- AC_SUBST([PYTHON_LDFLAGS])
+ AC_MSG_RESULT([$PYTHON_LIBS])
+ AC_SUBST([PYTHON_LIBS])
#
# Check for site packages
#
AC_MSG_CHECKING([for Python site-packages path])
if test -z "$PYTHON_SITE_PKG"; then
- PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_lib(0,0));"`
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
+ PYTHON_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_path('purelib'));"`
+ else
+ # distutils.sysconfig way
+ PYTHON_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_lib(0,0));"`
+ fi
fi
AC_MSG_RESULT([$PYTHON_SITE_PKG])
AC_SUBST([PYTHON_SITE_PKG])
+ #
+ # Check for platform-specific site packages
+ #
+ AC_MSG_CHECKING([for Python platform specific site-packages path])
+ if test -z "$PYTHON_SITE_PKG"; then
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
+ PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_path('platlib'));"`
+ else
+ # distutils.sysconfig way
+ PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_lib(1,0));"`
+ fi
+ fi
+ AC_MSG_RESULT([$PYTHON_PLATFORM_SITE_PKG])
+ AC_SUBST([PYTHON_PLATFORM_SITE_PKG])
+
#
# libraries which must be linked in when embedding
#
AC_MSG_CHECKING(python extra libraries)
if test -z "$PYTHON_EXTRA_LIBS"; then
- PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
- conf = distutils.sysconfig.get_config_var; \
+ PYTHON_EXTRA_LIBS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ conf = sysconfig.get_config_var; \
print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
fi
AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
@@ -278,8 +319,8 @@
#
AC_MSG_CHECKING(python extra linking flags)
if test -z "$PYTHON_EXTRA_LDFLAGS"; then
- PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
- conf = distutils.sysconfig.get_config_var; \
+ PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ conf = sysconfig.get_config_var; \
print (conf('LINKFORSHARED'))"`
fi
AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
@@ -291,8 +332,10 @@
AC_MSG_CHECKING([consistency of all components of python development environment])
# save current global flags
ac_save_LIBS="$LIBS"
+ ac_save_LDFLAGS="$LDFLAGS"
ac_save_CPPFLAGS="$CPPFLAGS"
- LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS"
+ LIBS="$ac_save_LIBS $PYTHON_LIBS $PYTHON_EXTRA_LIBS $PYTHON_EXTRA_LIBS"
+ LDFLAGS="$ac_save_LDFLAGS $PYTHON_EXTRA_LDFLAGS"
CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
AC_LANG_PUSH([C])
AC_LINK_IFELSE([
@@ -303,15 +346,17 @@
# turn back to default flags
CPPFLAGS="$ac_save_CPPFLAGS"
LIBS="$ac_save_LIBS"
+ LDFLAGS="$ac_save_LDFLAGS"
AC_MSG_RESULT([$pythonexists])
if test ! "x$pythonexists" = "xyes"; then
+ # gpgme: only warn here, no error, as we are looking for multiple versions
AC_MSG_WARN([
Could not link test program to Python. Maybe the main Python library has been
installed in some non-standard library path. If so, pass it to configure,
- via the LDFLAGS environment variable.
- Example: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib"
+ via the LIBS environment variable.
+ Example: ./configure LIBS="-L/usr/non-standard-path/python/lib"
============================================================================
You probably have to install the development version of the Python package
for your distribution. The exact name of this package varies among them.
@@ -323,4 +368,4 @@
#
# all done!
#
-])
+])
\ No newline at end of file

View file

@ -21,7 +21,7 @@
stdenv.mkDerivation rec {
pname = "grpc";
version = "1.61.0"; # N.B: if you change this, please update:
version = "1.61.1"; # N.B: if you change this, please update:
# pythonPackages.grpcio-tools
# pythonPackages.grpcio-status
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
owner = "grpc";
repo = "grpc";
rev = "v${version}";
hash = "sha256-NLxcGFQ1F5RLoSFC0XYMjvGXkSWc/vLzgtk5qsOndEo=";
hash = "sha256-vrLkiNnsW6IpZNGhs6iZgEhdlV9Qpg8PLMDG2BKY2wo=";
fetchSubmodules = true;
};
@ -40,12 +40,6 @@ stdenv.mkDerivation rec {
url = "https://github.com/lopsided98/grpc/commit/a9b917666234f5665c347123d699055d8c2537b2.patch";
hash = "sha256-Lm0GQsz/UjBbXXEE14lT0dcRzVmCKycrlrdBJj+KLu8=";
})
(fetchpatch {
# Fix compatibility with Abseil 202401. Remove with the next release.
url = "https://github.com/grpc/grpc/commit/bc044174401a0842b36b8682936fc93b5041cf88.patch";
hash = "sha256-VKAuPtLqsR2dmrpKuFXq2HIhuDxPJVSH2w1G00N07RI=";
excludes = [ "src/core/lib/transport/message.cc" ];
})
];
nativeBuildInputs = [ cmake pkg-config ]

View file

@ -26,6 +26,12 @@ stdenv.mkDerivation rec {
sha256 = "VySWVDV9PVGxQDFRaaJMBnHeeqUsb3XIxcmr1Ao1JSk=";
};
strictDeps = true;
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [
meson
ninja

View file

@ -109,13 +109,13 @@
stdenv.mkDerivation rec {
pname = "gst-plugins-bad";
version = "1.22.8";
version = "1.22.9";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-RYeD+CNgaJkePilu3Wccjt24vm+skzwcLhUDRihk6g8=";
hash = "sha256-G8ZdD9X1OjY2Vk79P88xjD7c3sOcQQmlA8H8ggOECh0=";
};
patches = [

View file

@ -45,7 +45,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gst-plugins-base";
version = "1.22.8";
version = "1.22.9";
outputs = [ "out" "dev" ];
@ -53,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
inherit (finalAttrs) pname version;
in fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-62eS5cc8be+5FZw26m5LeKL4r2USZ4tL07AsjS1JKs8=";
hash = "sha256-+sPg3S2Ok3A4izS/jCG4nV9jvDz8Es1/3I/GwcugMzQ=";
};
strictDeps = true;

View file

@ -24,7 +24,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gstreamer";
version = "1.22.8";
version = "1.22.9";
outputs = [
"bin"
@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
inherit (finalAttrs) pname version;
in fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-rU49sXcRObHbF7Gvp8BdsIOuAQC9TaJEtx8WLczkG/w=";
hash = "sha256-HnEk00fozcgPCOwdNwwgG+UTACrxECuyDoPFJ5y0jr0=";
};
depsBuildBuild = [

View file

@ -17,11 +17,11 @@
stdenv.mkDerivation rec {
pname = "gst-devtools";
version = "1.22.8";
version = "1.22.9";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-zWNAVvyxbQNbPfWVPsha6L1Wxo8pkgtyDvkgynHqdqc=";
hash = "sha256-AuKUALROnMYDqmRE3uVya1ftq+9kVebQkh/+1vE4QO4=";
};
outputs = [

View file

@ -18,7 +18,7 @@
stdenv.mkDerivation rec {
pname = "gst-editing-services";
version = "1.22.8";
version = "1.22.9";
outputs = [
"out"
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-0dXnXhkOsL4/1JQJ5Bo6qOaM+03qpzU0iFVGdJVs0d8=";
hash = "sha256-NVOtOALczeDA7xRhiBrNm1W934rfdR3ky1G3+MtQRA0=";
};
nativeBuildInputs = [

View file

@ -54,13 +54,13 @@ assert raspiCameraSupport -> (stdenv.isLinux && stdenv.isAarch32);
stdenv.mkDerivation rec {
pname = "gst-plugins-good";
version = "1.22.8";
version = "1.22.9";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-4wW58H9SdDykgdoKTgx2w179YK2vGwaU6zuwIeITfjk=";
hash = "sha256-JpWfz+v/9jfU6gjvQDFrrzG2G7dymCCwaE6ADDoUeLY=";
};
strictDeps = true;

View file

@ -18,11 +18,11 @@
stdenv.mkDerivation rec {
pname = "gst-libav";
version = "1.22.8";
version = "1.22.9";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-vjk0m8B6tM29ml/W6phIxgHHVguloFd61SALg71CSYE=";
hash = "sha256-GS99J9IcHnxywzmiZHqbDCR/7cYupQKRFfjD4i67h9g=";
};
outputs = [ "out" "dev" ];

View file

@ -15,11 +15,11 @@
stdenv.mkDerivation rec {
pname = "gst-rtsp-server";
version = "1.22.8";
version = "1.22.9";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-cFF3BRwimXbxca3Nerl2Kua8xLt33DCKC9gKY9psM38=";
hash = "sha256-gIrxSPiUBP90hQ+MpScr7Uv+Z/liAjHcRRT9B+sm0KQ=";
};
outputs = [

View file

@ -26,13 +26,13 @@
stdenv.mkDerivation rec {
pname = "gst-plugins-ugly";
version = "1.22.8";
version = "1.22.9";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-B2HZa6UI4BwCcYgbJoKMK//X2K/VCHIhnwiPdVslLKc=";
hash = "sha256-C/aF1mAVoB3T/BZxtkocissyHdnUq54Fopqxl4KqYjY=";
};
nativeBuildInputs = [

View file

@ -24,11 +24,11 @@
stdenv.mkDerivation rec {
pname = "gstreamer-vaapi";
version = "1.22.8";
version = "1.22.9";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-Epi6NHpwxCuIzev5G2Wf6gKxu3Jp6r+OKePAvVgniSg=";
hash = "sha256-i6INqMTL9bKVPbqQRnLEJ10AU+FSj5f9+OWZQseIPKg=";
};
outputs = [

View file

@ -8,15 +8,15 @@
stdenv.mkDerivation rec {
pname = "gtest";
version = "1.12.1";
version = "1.14.0";
outputs = [ "out" "dev" ];
src = fetchFromGitHub {
owner = "google";
repo = "googletest";
rev = "release-${version}";
hash = "sha256-W+OxRTVtemt2esw4P7IyGWXOonUN5ZuscjvzqkYvZbM=";
rev = "v${version}";
hash = "sha256-t0RchAHTJbuI5YW4uyBPykTvcjy90JW9AOPNjIhwh6U=";
};
patches = [

View file

@ -1,34 +1,34 @@
diff --git a/googlemock/CMakeLists.txt b/googlemock/CMakeLists.txt
index 5c1f0daf..ed8aae58 100644
index 428bd9f8..04b84539 100644
--- a/googlemock/CMakeLists.txt
+++ b/googlemock/CMakeLists.txt
@@ -108,10 +108,10 @@ if (DEFINED CMAKE_VERSION AND NOT "${CMAKE_VERSION}" VERSION_LESS "2.8.11")
string(REPLACE ";" "$<SEMICOLON>" dirs "${gmock_build_include_dirs}")
target_include_directories(gmock SYSTEM INTERFACE
"$<BUILD_INTERFACE:${dirs}>"
- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>")
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
target_include_directories(gmock_main SYSTEM INTERFACE
"$<BUILD_INTERFACE:${dirs}>"
- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>")
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
endif()
@@ -104,10 +104,10 @@ endif()
string(REPLACE ";" "$<SEMICOLON>" dirs "${gmock_build_include_dirs}")
target_include_directories(gmock SYSTEM INTERFACE
"$<BUILD_INTERFACE:${dirs}>"
- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>")
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
target_include_directories(gmock_main SYSTEM INTERFACE
"$<BUILD_INTERFACE:${dirs}>"
- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>")
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
########################################################################
#
diff --git a/googletest/CMakeLists.txt b/googletest/CMakeLists.txt
index aa00a5f3..50434fed 100644
index 51a67c91..fb09e978 100644
--- a/googletest/CMakeLists.txt
+++ b/googletest/CMakeLists.txt
@@ -134,10 +134,10 @@ if (DEFINED CMAKE_VERSION AND NOT "${CMAKE_VERSION}" VERSION_LESS "2.8.11")
string(REPLACE ";" "$<SEMICOLON>" dirs "${gtest_build_include_dirs}")
target_include_directories(gtest SYSTEM INTERFACE
"$<BUILD_INTERFACE:${dirs}>"
- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>")
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
target_include_directories(gtest_main SYSTEM INTERFACE
"$<BUILD_INTERFACE:${dirs}>"
- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>")
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
endif()
@@ -143,10 +143,10 @@ set_target_properties(gtest_main PROPERTIES VERSION ${GOOGLETEST_VERSION})
string(REPLACE ";" "$<SEMICOLON>" dirs "${gtest_build_include_dirs}")
target_include_directories(gtest SYSTEM INTERFACE
"$<BUILD_INTERFACE:${dirs}>"
- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>")
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
target_include_directories(gtest_main SYSTEM INTERFACE
"$<BUILD_INTERFACE:${dirs}>"
- "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>")
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
if(CMAKE_SYSTEM_NAME MATCHES "QNX")
target_link_libraries(gtest PUBLIC regex)
endif()

View file

@ -64,7 +64,7 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "gtk+3";
version = "3.24.39";
version = "3.24.41";
outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc";
outputBin = "dev";
@ -78,7 +78,7 @@ stdenv.mkDerivation (finalAttrs: {
inherit (finalAttrs) version;
in fetchurl {
url = "mirror://gnome/sources/gtk+/${lib.versions.majorMinor version}/gtk+-${version}.tar.xz";
sha256 = "sha256-HKw+VmubLzZTpFjAjC3N/cqfkIA3rAPJ2FZLQpV3jXk=";
sha256 = "sha256-R9phSHrzCHqUvEkpb9AlygvAL5bvBsVW58iYi9ZRtvo=";
};
patches = [

View file

@ -69,7 +69,7 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "gtk4";
version = "4.12.4";
version = "4.12.5";
outputs = [ "out" "dev" ] ++ lib.optionals x11Support [ "devdoc" ];
outputBin = "dev";
@ -81,14 +81,9 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = with finalAttrs; "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz";
sha256 = "umfGSY5Vmfko7a+54IoyCt+qUKsvDab8arIlL8LVdSA=";
sha256 = "KLNW1ZDuaO9ibi75ggst0hRBSEqaBCpaPwxA6d/E9Pg=";
};
patches = [
# https://github.com/NixOS/nixpkgs/pull/218143#issuecomment-1501059486
./patches/4.0-fix-darwin-build.patch
];
depsBuildBuild = [
pkg-config
];

View file

@ -1,31 +0,0 @@
diff --git a/gdk/macos/gdkmacospasteboard-private.h b/gdk/macos/gdkmacospasteboard-private.h
index fdeb936..c4b8666 100644
--- a/gdk/macos/gdkmacospasteboard-private.h
+++ b/gdk/macos/gdkmacospasteboard-private.h
@@ -27,6 +27,10 @@
G_BEGIN_DECLS
+#ifndef AVAILABLE_MAC_OS_X_VERSION_10_13_AND_LATER
+typedef NSString *NSPasteboardType;
+#endif
+
@interface GdkMacosPasteboardItemDataProvider : NSObject <NSPasteboardItemDataProvider>
{
GdkContentProvider *_contentProvider;
diff --git a/gdk/macos/gdkmacospasteboard.c b/gdk/macos/gdkmacospasteboard.c
index 66b3c9f..b9e0d8a 100644
--- a/gdk/macos/gdkmacospasteboard.c
+++ b/gdk/macos/gdkmacospasteboard.c
@@ -400,7 +400,11 @@ _gdk_macos_pasteboard_register_drag_types (NSWindow *window)
gdk_content_formats_get_gtypes (formats, &n_gtypes);
if (n_gtypes)
+#ifdef AVAILABLE_MAC_OS_X_VERSION_10_13_AND_LATER
[ret addObject:NSPasteboardTypeURL];
+#else
+ [ret addObject:[[NSString alloc] initWithUTF8String:"public.url"]];
+#endif
gdk_content_formats_unref (formats);
}

View file

@ -1,11 +1,9 @@
{ lib
, stdenv
, fetchurl
, fetchpatch
, pkg-config
, glib
, freetype
, fontconfig
, libintl
, meson
, ninja
@ -35,11 +33,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "harfbuzz${lib.optionalString withIcu "-icu"}";
version = "7.3.0";
version = "8.3.0";
src = fetchurl {
url = "https://github.com/harfbuzz/harfbuzz/releases/download/${finalAttrs.version}/harfbuzz-${finalAttrs.version}.tar.xz";
hash = "sha256-IHcHiXSaybqEbfM5g9vaItuDbHDZ9dBQy5qlNHCUqPs=";
hash = "sha256-EJUB6uuL3j6tsl+rQWTpk/us4pw9d1vKocHlji8V+Ec=";
};
postPatch = ''
@ -65,6 +63,7 @@ stdenv.mkDerivation (finalAttrs: {
(lib.mesonEnable "graphite" withGraphite2)
(lib.mesonEnable "icu" withIcu)
(lib.mesonEnable "introspection" withIntrospection)
(lib.mesonOption "cmakepackagedir" "${placeholder "dev"}/lib/cmake")
];
depsBuildBuild = [

View file

@ -5,17 +5,18 @@ stdenv.mkDerivation rec {
passthru = {
pname = "hspell";
version = "1.1";
version = "1.4";
};
PERL_USE_UNSAFE_INC = "1";
src = fetchurl {
url = "${meta.homepage}${name}.tar.gz";
sha256 = "08x7rigq5pa1pfpl30qp353hbdkpadr1zc49slpczhsn0sg36pd6";
hash = "sha256-cxD11YdA0h1tIVwReWWGAu99qXqBa8FJfIdkvpeqvqM=";
};
patchPhase = "patchShebangs .";
patches = [./remove-shared-library-checks.patch];
postPatch = "patchShebangs .";
preBuild = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
make CC=${buildPackages.stdenv.cc}/bin/cc find_sizes
mv find_sizes find_sizes_build

View file

@ -2,7 +2,7 @@
let
dict = variant: a: stdenv.mkDerivation ({
inherit (hspell) version src patchPhase nativeBuildInputs;
inherit (hspell) version src patches postPatch nativeBuildInputs;
buildFlags = [ variant ];
meta = hspell.meta // {

View file

@ -0,0 +1,12 @@
--- a/Makefile.in 2017-06-22 22:32:50.000000000 +0100
+++ a/Makefile.in.patched 2024-01-20 21:41:59.135013186 +0000
@@ -142,9 +142,6 @@
test -d $(DESTDIR)$(INCLUDEDIR) || mkdir -m 755 -p $(DESTDIR)$(INCLUDEDIR)
cp hspell.h linginfo.h $(DESTDIR)$(INCLUDEDIR)/
chmod 644 $(DESTDIR)$(INCLUDEDIR)/hspell.h $(DESTDIR)$(INCLUDEDIR)/linginfo.h
- test -f libhspell.so.0 && cp libhspell.so.0 $(DESTDIR)$(LIBDIR)/
- test -f libhspell.so.0 && chmod 755 $(DESTDIR)$(LIBDIR)/libhspell.so.0
- test -f libhspell.so.0 && ln -sf libhspell.so.0 $(DESTDIR)$(LIBDIR)/libhspell.so
################################################

View file

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "imath";
version = "3.1.9";
version = "3.1.10";
src = fetchFromGitHub {
owner = "AcademySoftwareFoundation";
repo = "imath";
rev = "v${version}";
sha256 = "sha256-NcGiYz7jbxLyVd80lOIyN3zXcC4mHh+dcFEY4Kqw9BY=";
sha256 = "sha256-Of/F2FfSvVnhrafRqAyV/2VZpRtDN5Pg5AnUAgL3wiM=";
};
nativeBuildInputs = [ cmake ];

View file

@ -31,11 +31,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "imlib2";
version = "1.12.1";
version = "1.12.2";
src = fetchurl {
url = "mirror://sourceforge/enlightenment/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
hash = "sha256-jCTS0YnE1a5gLb8vwPuxF6qSPqtsiDBB8P7spOjGd04=";
hash = "sha256-zEmTGiBWCWioZIycoHkIWXYIXqltWaAbHhfLVa8P/kI=";
};
buildInputs = [

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "inih";
version = "57";
version = "58";
src = fetchFromGitHub {
owner = "benhoyt";
repo = pname;
rev = "r${version}";
hash = "sha256-a4nvhJSmZGqu2sdZSPNPjdnkzZ9dSKocL/XG2aDyFw4=";
hash = "sha256-b2f6hQvkmWgni/zdfv3I1b9ypd7zSyEBv/JVBA6K7/w=";
};
nativeBuildInputs = [ meson ninja ];

View file

@ -1 +1 @@
WGET_ARGS=( https://download.kde.org/stable/frameworks/5.114/ -A '*.tar.xz' )
WGET_ARGS=( https://download.kde.org/stable/frameworks/5.115/ -A '*.tar.xz' )

View file

@ -4,667 +4,667 @@
{
attica = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/attica-5.114.0.tar.xz";
sha256 = "0gkdsm1vyyyxxyl4rni9s2bdz5w6zphzjl58fddjl899da06hqfq";
name = "attica-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/attica-5.115.0.tar.xz";
sha256 = "0n54m7sx2nagplr6ps9b3cvwy6cg0yqrba5xl90j1gg4ya14j1db";
name = "attica-5.115.0.tar.xz";
};
};
baloo = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/baloo-5.114.0.tar.xz";
sha256 = "19sib1y0m5h2gnnpr9rfk810p6pdfm4zzxlm0a44r7910llp8i50";
name = "baloo-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/baloo-5.115.0.tar.xz";
sha256 = "0261a7c81pavnq27ww5q5z8acpl18zr2nnfm2wx2zcy4xww21jwm";
name = "baloo-5.115.0.tar.xz";
};
};
bluez-qt = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/bluez-qt-5.114.0.tar.xz";
sha256 = "1ni50jwnb5ww8mkql0p3q8660c0srj8p0ik27lvxakwdq4wf6l9s";
name = "bluez-qt-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/bluez-qt-5.115.0.tar.xz";
sha256 = "18b4pjjgr9fbmdyacz8p078j6wm5vk5lkx18jikhrgkm84ad6zxx";
name = "bluez-qt-5.115.0.tar.xz";
};
};
breeze-icons = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/breeze-icons-5.114.0.tar.xz";
sha256 = "0z5cpv10jyjdwjfkm7nj6hyp4vj29apm476hvbpb4gan27jyb91y";
name = "breeze-icons-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/breeze-icons-5.115.0.tar.xz";
sha256 = "1f89dw05mfmlir8dvabnvxwszq1wqnrrgb7yw54wh7cnxah8gz64";
name = "breeze-icons-5.115.0.tar.xz";
};
};
extra-cmake-modules = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/extra-cmake-modules-5.114.0.tar.xz";
sha256 = "0z4nqravsfzlsgvkg5rha2d0qxfr3pfncw7z2fxzzqvzj7mfk6im";
name = "extra-cmake-modules-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/extra-cmake-modules-5.115.0.tar.xz";
sha256 = "1vj5rsq029qjp1by9cal715yza180lcxv1m0jn4nnljplbv3agpf";
name = "extra-cmake-modules-5.115.0.tar.xz";
};
};
frameworkintegration = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/frameworkintegration-5.114.0.tar.xz";
sha256 = "1dqgzhhh8gnvl8jsvh2i6pjn935d61avh63b4z9kpllhvp9a2lnd";
name = "frameworkintegration-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/frameworkintegration-5.115.0.tar.xz";
sha256 = "0vk3j6ivwk2y9jik54jxa4wm1c9179yrapia979a48zi5ibrlabf";
name = "frameworkintegration-5.115.0.tar.xz";
};
};
kactivities = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kactivities-5.114.0.tar.xz";
sha256 = "10pyynqz8c22la9aqms080iqlisj3irbi1kwnn3s0vg5dsjxr1p3";
name = "kactivities-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kactivities-5.115.0.tar.xz";
sha256 = "06wxmg085czrx2cyds7gwgdksvy5nchyshkgr2lxck20asjgn5p0";
name = "kactivities-5.115.0.tar.xz";
};
};
kactivities-stats = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kactivities-stats-5.114.0.tar.xz";
sha256 = "1zhrs2p3c831rwx7ww87i82k5i236vfywdxv7zhz93k3vffyqby7";
name = "kactivities-stats-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kactivities-stats-5.115.0.tar.xz";
sha256 = "0rp6j4nr4y5ijf4khsha98pvp8zy6fzjzhdjyj9z67jjpb045sd4";
name = "kactivities-stats-5.115.0.tar.xz";
};
};
kapidox = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kapidox-5.114.0.tar.xz";
sha256 = "0xxw3lvipyax8r1af3ypwjj6waarbp2z9n11fjb4kvyigsypglmb";
name = "kapidox-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kapidox-5.115.0.tar.xz";
sha256 = "0kp1z0cz60d6sb2wcqa3wawvqqijjyndyn21l2lrrdfz256m5fil";
name = "kapidox-5.115.0.tar.xz";
};
};
karchive = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/karchive-5.114.0.tar.xz";
sha256 = "015gc1zarny8r478p7g9m6r67l5dk3r0vcp28ilmfmznxy0k0hda";
name = "karchive-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/karchive-5.115.0.tar.xz";
sha256 = "0xdlsqkxsn3jjkbklhyys8sbbygg5f5qnfls5f0gk8gcig2m36g8";
name = "karchive-5.115.0.tar.xz";
};
};
kauth = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kauth-5.114.0.tar.xz";
sha256 = "1rkf9mc9718wn8pzd3d3wcg3lsn0vkr9a2cqnz86rbg3cf2qdbir";
name = "kauth-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kauth-5.115.0.tar.xz";
sha256 = "18jsygwkd4irdsz2lpdmsnjpj3dcz9fzajknl5z4csn6xxmzbaak";
name = "kauth-5.115.0.tar.xz";
};
};
kbookmarks = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kbookmarks-5.114.0.tar.xz";
sha256 = "06lnsyjhh80mdcqjww40glinmrjydbmkhv27a267vf34r7kam9rc";
name = "kbookmarks-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kbookmarks-5.115.0.tar.xz";
sha256 = "1h6yihcc0jczi51imw4a3zvyglvvzaksc1yjam44via84nli2kqn";
name = "kbookmarks-5.115.0.tar.xz";
};
};
kcalendarcore = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kcalendarcore-5.114.0.tar.xz";
sha256 = "0aimda01zqw4fz5ldvz4vh767bi10r00kvm62n89nxhsq46wlk7p";
name = "kcalendarcore-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kcalendarcore-5.115.0.tar.xz";
sha256 = "18sl7yg8xsnba6aar7q1w31jsxsmhz9d4hv67m1w86qv8wn8gn2r";
name = "kcalendarcore-5.115.0.tar.xz";
};
};
kcmutils = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kcmutils-5.114.0.tar.xz";
sha256 = "1pblf3c60m0gn3vhdprw28f8y54kij02jwz91r2vnmng8d1xkrp9";
name = "kcmutils-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kcmutils-5.115.0.tar.xz";
sha256 = "07jx2yc820d9xj5pcywx7nwccm5f1r7wjgqvjr6l3d9irjpm54q3";
name = "kcmutils-5.115.0.tar.xz";
};
};
kcodecs = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kcodecs-5.114.0.tar.xz";
sha256 = "080zvcqd8iq05p5x3qaf3rryx75lg2l2j1dr18sp50ir50zfwh2w";
name = "kcodecs-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kcodecs-5.115.0.tar.xz";
sha256 = "1gq4335w4bxz0al7diql5mlam7vgvvwdvm0iy3hqr6czk135wf4l";
name = "kcodecs-5.115.0.tar.xz";
};
};
kcompletion = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kcompletion-5.114.0.tar.xz";
sha256 = "0qvdxqlh1dklkbmqfjg5gc3dkdicgzn6q5lgvyf8cv46dinj6mwc";
name = "kcompletion-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kcompletion-5.115.0.tar.xz";
sha256 = "1iqdf67mcmf1vq0z2c13gzvrssywrp8nqa4lwshwi2amag4sad5i";
name = "kcompletion-5.115.0.tar.xz";
};
};
kconfig = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kconfig-5.114.0.tar.xz";
sha256 = "0hghdh4p6cq9ckp4g5jdgd8w47pdsxxvzimrdfjrs71lmy8ydiy2";
name = "kconfig-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kconfig-5.115.0.tar.xz";
sha256 = "04l6g2qy2qc3ykwvx2gbikgsh9n3rnz05m72n47lmianvwm2nsdx";
name = "kconfig-5.115.0.tar.xz";
};
};
kconfigwidgets = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kconfigwidgets-5.114.0.tar.xz";
sha256 = "16layydkcwfbvzxqjzprkq8bbxifn0z0wm7mc9bzwrfxy761rjnj";
name = "kconfigwidgets-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kconfigwidgets-5.115.0.tar.xz";
sha256 = "0nwmgva1zwfbr36slhziq4a84nhh4swckm6ajcg6imksv41k5nwd";
name = "kconfigwidgets-5.115.0.tar.xz";
};
};
kcontacts = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kcontacts-5.114.0.tar.xz";
sha256 = "0lyqvbs216p5zpssaf4pyccph7nbwkbvhpmhbi32y2rm23cmxlwf";
name = "kcontacts-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kcontacts-5.115.0.tar.xz";
sha256 = "1xwp77nzcjxrk97mqzyfc5b1zvv9s76fvhv6fb8wnmm80l21w7r7";
name = "kcontacts-5.115.0.tar.xz";
};
};
kcoreaddons = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kcoreaddons-5.114.0.tar.xz";
sha256 = "1wv3s3xsiii96k17nzs2fb0ih2lyg52krf58v44nlk9wfi4wmnqx";
name = "kcoreaddons-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kcoreaddons-5.115.0.tar.xz";
sha256 = "1jcriqndsbi1jpvb3pn2hs9cnq66v9qgpilsa7lqvnp9wg9y3l4c";
name = "kcoreaddons-5.115.0.tar.xz";
};
};
kcrash = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kcrash-5.114.0.tar.xz";
sha256 = "1avi4yd3kpjqxrvci1nicxbh9mjafj1w2vgfmqanq66b76s4kxj1";
name = "kcrash-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kcrash-5.115.0.tar.xz";
sha256 = "1b83dvmflvjiqhjz6i1b007ah4sg85d57mmz3m9zdyjicfygbsmj";
name = "kcrash-5.115.0.tar.xz";
};
};
kdav = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kdav-5.114.0.tar.xz";
sha256 = "11959fxz24snk2l31kw8w96wah0s2fjimimrxh6xhppiy5qp2fp2";
name = "kdav-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kdav-5.115.0.tar.xz";
sha256 = "02aqs24q4skh6ngm7bhkqqa3l1xf9bgxdr95v9mgc20hyavy22pv";
name = "kdav-5.115.0.tar.xz";
};
};
kdbusaddons = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kdbusaddons-5.114.0.tar.xz";
sha256 = "0pzzznyxhi48z5hhdsdxz3vaaihrdshpx65ha2v2nn2gh3ww7ikm";
name = "kdbusaddons-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kdbusaddons-5.115.0.tar.xz";
sha256 = "0x4vsw43irxy00mvda7kah0d3nrs1vgbimz6d9d2a8rzkf61vizc";
name = "kdbusaddons-5.115.0.tar.xz";
};
};
kdeclarative = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kdeclarative-5.114.0.tar.xz";
sha256 = "0w98pj8acxb4m9645963rzq5vja1fbih5czz24mf9zdqlg2dkz8g";
name = "kdeclarative-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kdeclarative-5.115.0.tar.xz";
sha256 = "0i530dij27g0w8rcqq81bml2dpacgd2czsjcx1dzf9i2x83arv36";
name = "kdeclarative-5.115.0.tar.xz";
};
};
kded = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kded-5.114.0.tar.xz";
sha256 = "00n4isc4ahii0ldrg761lkmnq27kmrfqs9zkmpvmgbg57259mvc3";
name = "kded-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kded-5.115.0.tar.xz";
sha256 = "1cr3mx5lkhp4zsr85n0cl5m9p1zgmwlvapdpyb161z5k6402mhla";
name = "kded-5.115.0.tar.xz";
};
};
kdelibs4support = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/portingAids/kdelibs4support-5.114.0.tar.xz";
sha256 = "17473him2fjfcw5f88diarqac815wsakfyb9fka82a4qqh9l41mc";
name = "kdelibs4support-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/portingAids/kdelibs4support-5.115.0.tar.xz";
sha256 = "051ga7jn18nwiybvvrkkfrw9csgi35g9wd4gajkzykq4r4bgm8kj";
name = "kdelibs4support-5.115.0.tar.xz";
};
};
kdesignerplugin = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/portingAids/kdesignerplugin-5.114.0.tar.xz";
sha256 = "0zlvkayv6zl5rp1076bscmdzyw93y7sxqb5848w11vs0g9amcj9n";
name = "kdesignerplugin-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/portingAids/kdesignerplugin-5.115.0.tar.xz";
sha256 = "1s788wz6i3ngk44a0fy9cp0vvidgp5f4yid470v85jfkpm1nxv50";
name = "kdesignerplugin-5.115.0.tar.xz";
};
};
kdesu = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kdesu-5.114.0.tar.xz";
sha256 = "14dcf32izn4lxr8vx372rfznflc1rcxwanx06phkd8mx9zyg4jxr";
name = "kdesu-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kdesu-5.115.0.tar.xz";
sha256 = "0qlbd7q69pdqc46ydpmn63sxac1lf9v0rllkj5ir49607fbbgqh3";
name = "kdesu-5.115.0.tar.xz";
};
};
kdewebkit = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/portingAids/kdewebkit-5.114.0.tar.xz";
sha256 = "04zc2qs13k04gsn124mnh6sqi3pax8c014jcb0qdh3h2r2y72bz3";
name = "kdewebkit-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/portingAids/kdewebkit-5.115.0.tar.xz";
sha256 = "039wcylnz1wx26r4d5bppzx51gknv3fj2xvw1mb5d29036dp9q1h";
name = "kdewebkit-5.115.0.tar.xz";
};
};
kdnssd = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kdnssd-5.114.0.tar.xz";
sha256 = "1zw5rkprr54j05ic8zljk57zahp2v6333slr253r3n1679zqlv64";
name = "kdnssd-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kdnssd-5.115.0.tar.xz";
sha256 = "1psjrvxnaw2r9fh2kikpbw71scch0b7vjdiwv0a8mhyr6g163qxj";
name = "kdnssd-5.115.0.tar.xz";
};
};
kdoctools = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kdoctools-5.114.0.tar.xz";
sha256 = "15s58r2zvdckw30x9q9ir8h1i8q2ncfgjn9h4jnmylwm79z3z27v";
name = "kdoctools-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kdoctools-5.115.0.tar.xz";
sha256 = "0hz25yfz64qabmd9gw8344ljzi8658483a3194rlbbswyw80ksai";
name = "kdoctools-5.115.0.tar.xz";
};
};
kemoticons = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kemoticons-5.114.0.tar.xz";
sha256 = "0w87prkhdmba7y8ylbycdpwdzd2djmp7hvv5ljb9s4aqqhnn3vw4";
name = "kemoticons-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kemoticons-5.115.0.tar.xz";
sha256 = "163p3mbmhzd0pzggh13kj0qrl7bid84pabb8p59w42f3rhzdv3fb";
name = "kemoticons-5.115.0.tar.xz";
};
};
kfilemetadata = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kfilemetadata-5.114.0.tar.xz";
sha256 = "15va29chlsrxii02w1ax718hp1b14ym59lcfyzh7w30zlf681560";
name = "kfilemetadata-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kfilemetadata-5.115.0.tar.xz";
sha256 = "03694d8sn0c5629llw6ikpcs0x7gj4nd08c6jh4zca4g0v3hxzgy";
name = "kfilemetadata-5.115.0.tar.xz";
};
};
kglobalaccel = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kglobalaccel-5.114.0.tar.xz";
sha256 = "19mmav055fnzyl760fyhf0pdvaidd5i1h04l2hcnpin4p1jnpfap";
name = "kglobalaccel-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kglobalaccel-5.115.0.tar.xz";
sha256 = "1hxcd6pbymmq7z8bwbhyykgd3r54gkwzlvg896ix9phdgm2dacy5";
name = "kglobalaccel-5.115.0.tar.xz";
};
};
kguiaddons = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kguiaddons-5.114.0.tar.xz";
sha256 = "0riya9plcz9c1ndhdbsradssndshbm12705swn7vf7am17n7f947";
name = "kguiaddons-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kguiaddons-5.115.0.tar.xz";
sha256 = "0qpj7yvvxv8dswmg8m4jgd6hk2r5m3702cvhgagqyb0qx8vdlvag";
name = "kguiaddons-5.115.0.tar.xz";
};
};
kholidays = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kholidays-5.114.0.tar.xz";
sha256 = "19r8dxglz5ll6iyvigsccil3ikvcsnyy5nwcpjvjr1c0brigcjmy";
name = "kholidays-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kholidays-5.115.0.tar.xz";
sha256 = "1921nr4k758v4ci7rz1napsg6y2spv8z00qqjrqmka0grwrdgw6d";
name = "kholidays-5.115.0.tar.xz";
};
};
khtml = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/portingAids/khtml-5.114.0.tar.xz";
sha256 = "1mf84zs9hjvmi74f8rgqzrfkqjq597f9k64dn1bqcj13v0w10vry";
name = "khtml-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/portingAids/khtml-5.115.0.tar.xz";
sha256 = "0q6gx0xwq98cdqby4k4cgfqm4m7n915mfanf5vlhalld01jrjakl";
name = "khtml-5.115.0.tar.xz";
};
};
ki18n = {
version = "5.114.0";
version = "5.115.1";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/ki18n-5.114.0.tar.xz";
sha256 = "1yg03awcx5ay6lgbgwv91i0ankrm94z9m0wky4v03gnwnvw8pa0v";
name = "ki18n-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/ki18n-5.115.1.tar.xz";
sha256 = "0x40z8jkr7bvn4fjnqrdqf0914286zbxpcn7bdqg2rqr982ksdvy";
name = "ki18n-5.115.1.tar.xz";
};
};
kiconthemes = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kiconthemes-5.114.0.tar.xz";
sha256 = "0ndiqmcs1ybj4acc6k3p9jwq09slqc4nj12ifqvlxrfj3ak6sb28";
name = "kiconthemes-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kiconthemes-5.115.0.tar.xz";
sha256 = "0bwxf4491hi0qz000ymajshhzxnqvq4a1bdb7mmvzf3byx5i69b9";
name = "kiconthemes-5.115.0.tar.xz";
};
};
kidletime = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kidletime-5.114.0.tar.xz";
sha256 = "06sc9w54g4n7s5gjkqz08rgcz6v3pr0bdgx3gbjgzass6l4m8w7p";
name = "kidletime-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kidletime-5.115.0.tar.xz";
sha256 = "0mmf6ybs4ajhkphdxwxnwyf3d3skjz88g2cqwvgbq3bldam2k04x";
name = "kidletime-5.115.0.tar.xz";
};
};
kimageformats = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kimageformats-5.114.0.tar.xz";
sha256 = "1nfzpgnrbwncx9zp9cwa169jlfv7i85p00a07d4jc5hrdyvvkn0w";
name = "kimageformats-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kimageformats-5.115.0.tar.xz";
sha256 = "10vjmbhy6p4vks5wmrn91vjdi3sykjil4kp1ph88nszqcq6h4qcz";
name = "kimageformats-5.115.0.tar.xz";
};
};
kinit = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kinit-5.114.0.tar.xz";
sha256 = "0b6z9gq05vz20hm5y9ai3sbqq3gxwm3a3z88dkvi7dywk7vbqcph";
name = "kinit-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kinit-5.115.0.tar.xz";
sha256 = "1bbxcbd6g1jhh5c2i127xzn77q3a4ia2180kymc6wyiqa3z7vj3q";
name = "kinit-5.115.0.tar.xz";
};
};
kio = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kio-5.114.0.tar.xz";
sha256 = "0nwmxbfhvfw69q07vxvflri7rkdczyc89xv4ll3nrzrhgf15kb2z";
name = "kio-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kio-5.115.0.tar.xz";
sha256 = "02zrixb73ranj08xk14m5pa198w54h3c3dqhvgrwwgw8b9xkhlqg";
name = "kio-5.115.0.tar.xz";
};
};
kirigami2 = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kirigami2-5.114.0.tar.xz";
sha256 = "1bd232gs4394fa3aq31mjqrn8f3vjsghx7817szi7ryvnn6fnqkw";
name = "kirigami2-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kirigami2-5.115.0.tar.xz";
sha256 = "1fd2q08a40xy5rv297q7084hbkgfkyq05k8y9gpk77460px45qhm";
name = "kirigami2-5.115.0.tar.xz";
};
};
kitemmodels = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kitemmodels-5.114.0.tar.xz";
sha256 = "1bfmcrbcbrvp2rcaf32vzvarqwp41gn6s4xpf56hnxbwf9kgk1fl";
name = "kitemmodels-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kitemmodels-5.115.0.tar.xz";
sha256 = "037gd15y93m4rcjxc6r4y5l3mgalyg6ryib837jcv0dv825x3ypz";
name = "kitemmodels-5.115.0.tar.xz";
};
};
kitemviews = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kitemviews-5.114.0.tar.xz";
sha256 = "00vl2ck0pq0sqcxvhlr2pimgr27hd9v7y9dz6w4arb5smi5q1ixg";
name = "kitemviews-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kitemviews-5.115.0.tar.xz";
sha256 = "1nb58pz1xhg7nyxjb22w6j60cjf34qpwqbg5ycy6n4n5wp15nbkf";
name = "kitemviews-5.115.0.tar.xz";
};
};
kjobwidgets = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kjobwidgets-5.114.0.tar.xz";
sha256 = "1ymlqi5cqcs79nj1vff8pqwgvy0dxj5vv7l529w3a3n315hkrny8";
name = "kjobwidgets-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kjobwidgets-5.115.0.tar.xz";
sha256 = "0q9h9sz7xwv0zdvszqmfwq3zv0w12gci88jprwp5gk09sgl7pqyf";
name = "kjobwidgets-5.115.0.tar.xz";
};
};
kjs = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/portingAids/kjs-5.114.0.tar.xz";
sha256 = "08nh6yr6bqifpb5s9a4wbjwmwnm7zp5k8hcdmyb6mlcbam9qp6j7";
name = "kjs-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/portingAids/kjs-5.115.0.tar.xz";
sha256 = "0ch42gwl9py7bcrx8liryp2w2sz6c46c7r6m44xg8sjqf00f1x4w";
name = "kjs-5.115.0.tar.xz";
};
};
kjsembed = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/portingAids/kjsembed-5.114.0.tar.xz";
sha256 = "1xglisxv7nfsbj9lgpvc4c5ql4f6m7n71vf7vih5ff3aqybrkgxa";
name = "kjsembed-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/portingAids/kjsembed-5.115.0.tar.xz";
sha256 = "0l9i7rjjbdllzbcxb1wmg8vspcjy5jiai87kkqhy873yrhfsrbpn";
name = "kjsembed-5.115.0.tar.xz";
};
};
kmediaplayer = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/portingAids/kmediaplayer-5.114.0.tar.xz";
sha256 = "092yvzvrkvr8xxncw7h5ghfd2bggzxsqfj67c2vhymhfw4i0c54x";
name = "kmediaplayer-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/portingAids/kmediaplayer-5.115.0.tar.xz";
sha256 = "1ydadms12xhjxkm5c7shk7ssw327nkv3qlg5rn9bbzq35nc79llm";
name = "kmediaplayer-5.115.0.tar.xz";
};
};
knewstuff = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/knewstuff-5.114.0.tar.xz";
sha256 = "15xmx7rnnrsz2cj044aviyr4hi9h8r0nnva9qzcjcq2hkkgj7wjj";
name = "knewstuff-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/knewstuff-5.115.0.tar.xz";
sha256 = "1zqwblssr03kdk9swsc4jqmzgfyixrhby05mb0df07hdh29938cb";
name = "knewstuff-5.115.0.tar.xz";
};
};
knotifications = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/knotifications-5.114.0.tar.xz";
sha256 = "0cjd5ml9hyzprjgmrc132cmp7g9hnl0h5swlxw2ifqnxxyfkg72b";
name = "knotifications-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/knotifications-5.115.0.tar.xz";
sha256 = "0hh6ay8nfm1ak6w74wdhwixxjdpywg7qrckf694hjmxvpgzp30pv";
name = "knotifications-5.115.0.tar.xz";
};
};
knotifyconfig = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/knotifyconfig-5.114.0.tar.xz";
sha256 = "049n64qlr69zv1dc1dhgbsca37179hp06xfsxnhg97lblz3p3gds";
name = "knotifyconfig-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/knotifyconfig-5.115.0.tar.xz";
sha256 = "1mh8phfixddi1h06kd42xfmdxgd2g9cqq8d1h9kp2vw5g4i9hiq5";
name = "knotifyconfig-5.115.0.tar.xz";
};
};
kpackage = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kpackage-5.114.0.tar.xz";
sha256 = "0v165az3k5lfszxy0kl2464573y0dcq92fyfiklwnkkcjsvba69d";
name = "kpackage-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kpackage-5.115.0.tar.xz";
sha256 = "0zbw8akrhx4g8sdlbh02qjwbxg0mzk7nbs5isrhi3s34xhzqg03y";
name = "kpackage-5.115.0.tar.xz";
};
};
kparts = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kparts-5.114.0.tar.xz";
sha256 = "1rrf765p554r7l8j23gx5zxdq6wimh0v91qdkwz7ilm2qr16vd5v";
name = "kparts-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kparts-5.115.0.tar.xz";
sha256 = "153xrci1fp7y4iby8d8izx70572h2rj8psf3xbpx6hqqsxwk7bd2";
name = "kparts-5.115.0.tar.xz";
};
};
kpeople = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kpeople-5.114.0.tar.xz";
sha256 = "04v0s3amn6lbb16qvp1r6figckva6xk8z7djk8jda8fbnx8dx2r1";
name = "kpeople-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kpeople-5.115.0.tar.xz";
sha256 = "0bvijsd14r153x2fjjk8slznwdxlxb4s3vwdfbimhp8vxln83hdq";
name = "kpeople-5.115.0.tar.xz";
};
};
kplotting = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kplotting-5.114.0.tar.xz";
sha256 = "17x58pplln0plqiyhjpzdiqxngylxq5gkc5gk7b91xzm783x2k0n";
name = "kplotting-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kplotting-5.115.0.tar.xz";
sha256 = "1wz1y32y2lfhjbwz9lz721w1rdlwqb19qfg2zkj15j64m5s5qvl3";
name = "kplotting-5.115.0.tar.xz";
};
};
kpty = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kpty-5.114.0.tar.xz";
sha256 = "0fm7bfp89kvg1a64q8piiyal71p6vjnqcm13zak6r9fbfwcm0gs9";
name = "kpty-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kpty-5.115.0.tar.xz";
sha256 = "06alh2i1j2k07rdxdm6rx1ajvd1355sz4nh1ba0a0vr6ic306k44";
name = "kpty-5.115.0.tar.xz";
};
};
kquickcharts = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kquickcharts-5.114.0.tar.xz";
sha256 = "1f91x92qdzxp31z7ixx9jn41hq9f3w9hjia94pab9vsnaz8prbd1";
name = "kquickcharts-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kquickcharts-5.115.0.tar.xz";
sha256 = "1fv64m86s5srcdqf37blhz3fdf7zx1z4l3xm0cc6f0xgwhfdhy5a";
name = "kquickcharts-5.115.0.tar.xz";
};
};
kross = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/portingAids/kross-5.114.0.tar.xz";
sha256 = "0bbpi63lxbb4ylx2jd172a2bqyxkd606n7w8zrvcjy466lkv3sz4";
name = "kross-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/portingAids/kross-5.115.0.tar.xz";
sha256 = "0vqb4kbxlncj90n93akz4m3svhbx4p16mpzaxb9xsc8y8bl2fvz2";
name = "kross-5.115.0.tar.xz";
};
};
krunner = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/krunner-5.114.0.tar.xz";
sha256 = "1rjs9b87bi4f6pdm9fwnha2sj2mrq260l80iz2jq1zah83p546sw";
name = "krunner-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/krunner-5.115.0.tar.xz";
sha256 = "0agsqs3x218jwmn1237bh70w50l99xyxn1w75md31v6sxszkkqhm";
name = "krunner-5.115.0.tar.xz";
};
};
kservice = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kservice-5.114.0.tar.xz";
sha256 = "0jdvlplnsb9w628wh3ip6awxvhgyc097zh7ls9614ymkbnpc9xca";
name = "kservice-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kservice-5.115.0.tar.xz";
sha256 = "1zayvj1f95azan48l1mhs9zm8rm7f4s20gpn61qqfn5abvxq7jwv";
name = "kservice-5.115.0.tar.xz";
};
};
ktexteditor = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/ktexteditor-5.114.0.tar.xz";
sha256 = "06amzk6290imi2gj3v1k3f56zdlad7zbz4wwlf34v4iibj9mfgw8";
name = "ktexteditor-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/ktexteditor-5.115.0.tar.xz";
sha256 = "1hxnwbpwf0bsfxn0g0yd6d2n5i0rf60871n9yyzxn6i7hzbprxll";
name = "ktexteditor-5.115.0.tar.xz";
};
};
ktextwidgets = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/ktextwidgets-5.114.0.tar.xz";
sha256 = "0w1wwyd3fy351rmkhf3i55is5031j2zxvswm0b1sb3pd159v888v";
name = "ktextwidgets-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/ktextwidgets-5.115.0.tar.xz";
sha256 = "13lxlc8g6hjk9vnyan12z9fjgzgj50ddf2bz6d2p18y01j68hj33";
name = "ktextwidgets-5.115.0.tar.xz";
};
};
kunitconversion = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kunitconversion-5.114.0.tar.xz";
sha256 = "1qyqvl8fy105zwma5nrkz9zg5932w2f33daw0azhj322iffrm39n";
name = "kunitconversion-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kunitconversion-5.115.0.tar.xz";
sha256 = "0x4fjsh4ms1qnlrsyrlhrkkl56wdmbcq6sqc2pldzxks6f5yp2cz";
name = "kunitconversion-5.115.0.tar.xz";
};
};
kwallet = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kwallet-5.114.0.tar.xz";
sha256 = "1cji8bvy5m77zljyrrgipsw8pxcds1sgikxlq3sdfxymcsw2wr36";
name = "kwallet-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kwallet-5.115.0.tar.xz";
sha256 = "0gggxbhck1s7sqrhq1px22jiyikprf5rm4h30wlwjh4lr0hzrczj";
name = "kwallet-5.115.0.tar.xz";
};
};
kwayland = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kwayland-5.114.0.tar.xz";
sha256 = "1lzmlbv5vl656cigjj07hbc0gj6g1i2xqanvnhxj360109kzilf1";
name = "kwayland-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kwayland-5.115.0.tar.xz";
sha256 = "0g34nihnim0a20fbsc0fxnpp4wxm8dhw5h8kdp6cm8airvci5d87";
name = "kwayland-5.115.0.tar.xz";
};
};
kwidgetsaddons = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kwidgetsaddons-5.114.0.tar.xz";
sha256 = "1cc8lsk9v0cp2wiy1q26mlkf8np0yj01sq8a7w13ga5s6hv4sh2n";
name = "kwidgetsaddons-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kwidgetsaddons-5.115.0.tar.xz";
sha256 = "0mdfp15iv2mqrkwbq2b3g653y4k5gs2s2mx2xg822bnfcx2q8ng3";
name = "kwidgetsaddons-5.115.0.tar.xz";
};
};
kwindowsystem = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kwindowsystem-5.114.0.tar.xz";
sha256 = "03xbsf1pmswd2kpn3pdszp4vndclsh7j02fp22npxaxllmfr4va9";
name = "kwindowsystem-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kwindowsystem-5.115.0.tar.xz";
sha256 = "0lsz6pxmkgvpmq76a30wg4p4bj8id6wivnsxncsfag7vnlcnp870";
name = "kwindowsystem-5.115.0.tar.xz";
};
};
kxmlgui = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/kxmlgui-5.114.0.tar.xz";
sha256 = "0gvjf32ssc0r0bdpb1912ldsr5rjls8vrscwy5gm9g5gw504hmmr";
name = "kxmlgui-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/kxmlgui-5.115.0.tar.xz";
sha256 = "0gbqndnc1w0fjkpazg5p565izb9p5dwsgnhi6n00y8a4shi2swbb";
name = "kxmlgui-5.115.0.tar.xz";
};
};
kxmlrpcclient = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/portingAids/kxmlrpcclient-5.114.0.tar.xz";
sha256 = "1fgjai3vj3yk67ynhd7blilyrdhdn5nvma3v3j1sbdg98pr7qzar";
name = "kxmlrpcclient-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/portingAids/kxmlrpcclient-5.115.0.tar.xz";
sha256 = "021j52d62z2lc1hqqw8dhcn7acxmrzn1m643586m06bi2rfgsx40";
name = "kxmlrpcclient-5.115.0.tar.xz";
};
};
modemmanager-qt = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/modemmanager-qt-5.114.0.tar.xz";
sha256 = "16jqhmcpsffl9a7c0bb4hwjy3bw5rakdsnc5n6y8djc6237jl9pi";
name = "modemmanager-qt-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/modemmanager-qt-5.115.0.tar.xz";
sha256 = "14ahzp2vn7xdhk9wcxfccn80a3ca6a652g1y0whp0szy0pnpajx0";
name = "modemmanager-qt-5.115.0.tar.xz";
};
};
networkmanager-qt = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/networkmanager-qt-5.114.0.tar.xz";
sha256 = "10anjsnrzawrfjlznjvvl2sbxrajl2ddnq2kgl314b5dk7z3yk4n";
name = "networkmanager-qt-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/networkmanager-qt-5.115.0.tar.xz";
sha256 = "0ygbvbdrxrb1nblgddkwsmvskg48y7ri816w9hbi3wxhjniag4hx";
name = "networkmanager-qt-5.115.0.tar.xz";
};
};
oxygen-icons = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/oxygen-icons-5.114.0.tar.xz";
sha256 = "0f6hv5g8y2ggagrq9x9b78bqxqg6bqcpm1xxhf69ybgjikrqdf2r";
name = "oxygen-icons-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/oxygen-icons-5.115.0.tar.xz";
sha256 = "1f54wqz2ypi9qca9rrac3d0rnzzxay1x8cl2zdar2lk4qas304qj";
name = "oxygen-icons-5.115.0.tar.xz";
};
};
plasma-framework = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/plasma-framework-5.114.0.tar.xz";
sha256 = "058hl76q35bw3rzmv348azk1lmhkpgmfrxr3jd9s1hphijr8sgcx";
name = "plasma-framework-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/plasma-framework-5.115.0.tar.xz";
sha256 = "1xqijqn7a92abp4zk1f8glbrhk4y3jpzblildxq6nix626xk0vrc";
name = "plasma-framework-5.115.0.tar.xz";
};
};
prison = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/prison-5.114.0.tar.xz";
sha256 = "1wbr1lryxmrx65ilq1bhqsdhhikrih977nhpb02fq0cqnvv7v9i7";
name = "prison-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/prison-5.115.0.tar.xz";
sha256 = "1pkk8azcwadiqcmd3g61v076f928dz2037gf5kb46dibpa8gqr49";
name = "prison-5.115.0.tar.xz";
};
};
purpose = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/purpose-5.114.0.tar.xz";
sha256 = "1lj67f0x4gvbh9by3c3crbbwwnx7b9ifjna9ggziya4m6zj0m4z1";
name = "purpose-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/purpose-5.115.0.tar.xz";
sha256 = "03z0vq8h2244mmsj1nkjwkk71dhsisx7aw497i09y7hypggaa1ms";
name = "purpose-5.115.0.tar.xz";
};
};
qqc2-desktop-style = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/qqc2-desktop-style-5.114.0.tar.xz";
sha256 = "1y5g91vybjvhwmzpfwrc70q5j7jxf5b972f9fh2vzb930jir6c8g";
name = "qqc2-desktop-style-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/qqc2-desktop-style-5.115.0.tar.xz";
sha256 = "001pnzchm5h73h10p4nbv11gp71n9wnkvr2mxn96qmqw3976aisq";
name = "qqc2-desktop-style-5.115.0.tar.xz";
};
};
solid = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/solid-5.114.0.tar.xz";
sha256 = "1slxlj5jhp8g745l328932934633nl81sq3n8fd73h655hymsk4s";
name = "solid-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/solid-5.115.0.tar.xz";
sha256 = "0yrxfzj2qgm8pc7jqgpxdkbc2p7c2zm6fg3mwdvbh9zgl3vcd8d7";
name = "solid-5.115.0.tar.xz";
};
};
sonnet = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/sonnet-5.114.0.tar.xz";
sha256 = "0zxi96i3gfpx759qc1nyz7jqlswg5ivgr1w9gbbsm1x5fi9ikadx";
name = "sonnet-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/sonnet-5.115.0.tar.xz";
sha256 = "054ra5kvmwv6f21cf3fd7x4z0sfar7hm4vi33rn6hzsh0b7q4qfy";
name = "sonnet-5.115.0.tar.xz";
};
};
syndication = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/syndication-5.114.0.tar.xz";
sha256 = "13rjb1zm9yd8vbm9h7avqih5v0rr2srqwglm29l7mcnankqlh4n7";
name = "syndication-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/syndication-5.115.0.tar.xz";
sha256 = "0imr1n0jc0lc0jr5r2r7yzbniq6wbmzlsf8l85d8sinb2d1wgdhv";
name = "syndication-5.115.0.tar.xz";
};
};
syntax-highlighting = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/syntax-highlighting-5.114.0.tar.xz";
sha256 = "1skblg2m0sar63qrgkjsg0w9scixggm5qj7lp4gzjn4hwq6m3n63";
name = "syntax-highlighting-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/syntax-highlighting-5.115.0.tar.xz";
sha256 = "02nyyb9x53mnzc2bxdwswz3cjsn6alf2k4hmgaw26c14mhcsf8h6";
name = "syntax-highlighting-5.115.0.tar.xz";
};
};
threadweaver = {
version = "5.114.0";
version = "5.115.0";
src = fetchurl {
url = "${mirror}/stable/frameworks/5.114/threadweaver-5.114.0.tar.xz";
sha256 = "1y07g58w6z3i11y3djg3aaxanhp9hzaciq61l4dn1gqwghn09xgh";
name = "threadweaver-5.114.0.tar.xz";
url = "${mirror}/stable/frameworks/5.115/threadweaver-5.115.0.tar.xz";
sha256 = "1f2fs946scr34kvrb5qrw5mg2id25lwysd3q45wkigxmymc8dl4z";
name = "threadweaver-5.115.0.tar.xz";
};
};
}

View file

@ -14,6 +14,7 @@
# This is called "staticOnly" because krb5 does not support
# builting both static and shared, see below.
, staticOnly ? false
, withLdap ? false
, withVerto ? false
}:
@ -25,6 +26,9 @@
let
libOnly = type == "lib";
in
assert withLdap -> !libOnly;
stdenv.mkDerivation rec {
pname = "${type}krb5";
version = "1.21.2";
@ -40,6 +44,7 @@ stdenv.mkDerivation rec {
# krb5's ./configure does not allow passing --enable-shared and --enable-static at the same time.
# See https://bbs.archlinux.org/viewtopic.php?pid=1576737#p1576737
++ lib.optionals staticOnly [ "--enable-static" "--disable-shared" ]
++ lib.optional withLdap "--with-ldap"
++ lib.optional withVerto "--with-system-verto"
++ lib.optional stdenv.isFreeBSD ''WARN_CFLAGS=""''
++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform)
@ -55,7 +60,8 @@ stdenv.mkDerivation rec {
buildInputs = [ openssl ]
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.libc != "bionic" && !(stdenv.hostPlatform.useLLVM or false)) [ keyutils ]
++ lib.optionals (!libOnly) [ openldap libedit ]
++ lib.optionals (!libOnly) [ libedit ]
++ lib.optionals withLdap [ openldap ]
++ lib.optionals withVerto [ libverto ];
propagatedBuildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk; [

View file

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
sha256 = "sha256-WMTTYYgpCIM86a6Jw8iah/YVXN9T5youzEieWL/d+Bc=";
};
patches = [ ./upgrade-to-cpp-14.patch ];
nativeBuildInputs = [ cmake ninja pkg-config ];
outputs = [ "out" "dev" ];

View file

@ -0,0 +1,18 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9f719beb7..a20f84eb8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -34,12 +34,12 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
# using GCC
add_definitions(-DBUILD_DLL)
add_compile_options(-Wall)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O2")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -O2")
elseif ("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
# using GCC
add_definitions(-DBUILD_DLL)
add_compile_options(-Wall)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O2")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -O2")
set(CMAKE_MACOSX_RPATH ON)
endif()

View file

@ -19,13 +19,13 @@ in
stdenv.mkDerivation rec {
pname = "libavif";
version = "1.0.3";
version = "1.0.4";
src = fetchFromGitHub {
owner = "AOMediaCodec";
repo = pname;
rev = "v${version}";
hash = "sha256-0MLr9wdIs3c4pOAF4rlC8QNQXlrK3YGXILS9foVKfVM=";
hash = "sha256-9YP4Zq6dehIJanNkpAJK1aYwSOAueqonF8k2t/3B4kw=";
};
# reco: encode libaom slowest but best, decode dav1d fastest

View file

@ -1,25 +1,18 @@
{ lib
, stdenv
, fetchFromGitLab
, fetchpatch
, fetchurl
, autoreconfHook
, libmd
, gitUpdater
}:
# Run `./get-version` for the new value when bumping the Git revision.
let gitVersion = "0.11.7-55-g73b2"; in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "libbsd";
version = "unstable-2023-04-29";
version = "0.11.8";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "libbsd";
repo = "libbsd";
rev = "73b25a8f871b3a20f6ff76679358540f95d7dbfd";
hash = "sha256-LS28taIMjRCl6xqg75eYOIrTDl8PzSa+OvrdiEOP1+U=";
src = fetchurl {
url = "https://libbsd.freedesktop.org/releases/${pname}-${version}.tar.xz";
hash = "sha256-Vf36Jpb7TVWlkvqa0Uqd+JfHsACN2zswxBmRSEH4XzM=";
};
outputs = [ "out" "dev" "man" ];
@ -31,24 +24,12 @@ stdenv.mkDerivation {
nativeBuildInputs = [ autoreconfHook ];
propagatedBuildInputs = [ libmd ];
patches = [
# Fix `{get,set}progname(3bsd)` conditionalization
# https://gitlab.freedesktop.org/libbsd/libbsd/-/issues/24
(fetchpatch {
url = "https://github.com/emilazy/libbsd/commit/0381f8d92873c5a19ced3ff861ee8ffe7825953e.patch";
hash = "sha256-+RMg5eHLgC4gyX9zXM0ttNf7rd9E3UzJX/7UVCYGXx4=";
})
] ++ lib.optionals stdenv.isDarwin [
patches = lib.optionals stdenv.isDarwin [
# Temporary build system hack from upstream maintainer
# https://gitlab.freedesktop.org/libbsd/libbsd/-/issues/19#note_2017684
./darwin-fix-libbsd.sym.patch
];
postPatch = ''
substituteInPlace configure.ac \
--replace 'm4_esyscmd([./get-version])' '[${gitVersion}]'
'';
passthru.updateScript = gitUpdater {
# No nicer place to find latest release.
url = "https://gitlab.freedesktop.org/libbsd/libbsd.git";

View file

@ -23,14 +23,14 @@ let
in
stdenv.mkDerivation rec {
pname = "libei";
version = "1.2.0";
version = "1.2.1";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "libinput";
repo = "libei";
rev = version;
hash = "sha256-MHPWEBMtxoEJ8j3LyDPD+m3DsO9u8nE+/pPtRHHXEXA=";
hash = "sha256-8n/C0rBlyhY8SaxkwU+tDskwSQObLRrR+utk4Ktgb7U=";
};
buildInputs = [

View file

@ -20,7 +20,7 @@
stdenv.mkDerivation rec {
pname = "libgit2";
version = "1.7.1";
version = "1.7.2";
# also check the following packages for updates: python3Packages.pygit2 and libgit2-glib
outputs = ["lib" "dev" "out"];
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
owner = "libgit2";
repo = "libgit2";
rev = "v${version}";
hash = "sha256-3W0/i6Pu7I7D1zMQhmEqJVsa7PZpKOqU1+udNENSBvM=";
hash = "sha256-fVPY/byE2/rxmv/bUykcAbmUFMlF3UZogVuTzjOXJUU=";
};
cmakeFlags = [

View file

@ -1,12 +1,12 @@
{ lib, stdenv, fetchurl, autoreconfHook }:
stdenv.mkDerivation rec {
version = "1.1.28";
version = "1.1.29";
pname = "libpaper";
src = fetchurl {
url = "mirror://debian/pool/main/libp/libpaper/libpaper_${version}.tar.gz";
sha256 = "sha256-yLuUbsk9PCxyu7HXJX6QFyoipEoHoH+2uAKluyyV/dw=";
hash = "sha256-JjMOIemjEkZY1RX9hQsM3lRv9C2JsllqUmTF8Wd/BUc=";
};
nativeBuildInputs = [ autoreconfHook ];

View file

@ -1,6 +1,6 @@
{ stdenv
, lib
, fetchbzr
, fetchFromGitLab
, testers
, cmake
, cmake-extras
@ -17,19 +17,16 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libqtdbusmock";
version = "unstable-2017-03-16";
version = "0.9.1";
src = fetchbzr {
url = "lp:libqtdbusmock";
rev = "49";
sha256 = "sha256-q3jL8yGLgcNxXHPh9M9cTVtUvonrBUPNxuPJIvu7Q/s=";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/libqtdbusmock";
rev = finalAttrs.version;
hash = "sha256-hVw2HnIHlA7vvt0Sr6F2qVhvBZ33aCeqb9vgbu3rgBo=";
};
postPatch = ''
# Look for the new(?) name
substituteInPlace CMakeLists.txt \
--replace 'NetworkManager' 'libnm'
# Workaround for "error: expected unqualified-id before 'public'" on "**signals"
sed -i -e '/add_definitions/a -DQT_NO_KEYWORDS' CMakeLists.txt
'' + lib.optionalString (!finalAttrs.finalPackage.doCheck) ''

View file

@ -1,6 +1,6 @@
{ stdenv
, lib
, fetchbzr
, fetchFromGitLab
, fetchpatch
, testers
, cmake
@ -16,12 +16,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libqtdbustest";
version = "unstable-2017-01-06";
version = "0.3.2";
src = fetchbzr {
url = "lp:libqtdbustest";
rev = "42";
sha256 = "sha256-5MQdGGtEVE/pM9u0B0xFXyITiRln9p+8/MLtrrCZqi8=";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/libqtdbustest";
rev = finalAttrs.version;
hash = "sha256-yqqyKxsbqiVTrkas79YoPMi28dKFNntiE7+dx1v+Qh4=";
};
patches = [
@ -31,13 +32,13 @@ stdenv.mkDerivation (finalAttrs: {
# Disable QProcess start timeout
(fetchpatch {
url = "https://salsa.debian.org/debian-ayatana-team/libqtdbustest/-/raw/0788df10bc6f2aa47c2b73fc1df944686a9ace1e/debian/patches/1003_no-QProcess-waitForstarted-timeout.patch";
url = "https://salsa.debian.org/ubports-team/libqtdbustest/-/raw/debian/0.3.2-3/debian/patches/1003_no-QProcess-waitForstarted-timeout.patch";
hash = "sha256-ThDbn6URvkj5ARDMj+xO0fb1Qh2YQRzVy24O03KglHI=";
})
# More robust dbus address reading
(fetchpatch {
url = "https://salsa.debian.org/debian-ayatana-team/libqtdbustest/-/raw/7e55c79cd032c702b30d834c1fb0b65661fc6eeb/debian/patches/1004_make-reading-address-from-dbus-daemon-more-robust.patch";
url = "https://salsa.debian.org/ubports-team/libqtdbustest/-/raw/debian/0.3.2-3/debian/patches/1004_make-reading-address-from-dbus-daemon-more-robust.patch";
hash = "sha256-hq8pdducp/udxoGWGt1dgL/7VHcbJO/oT1dOY1zew8M=";
})
];

View file

@ -74,12 +74,13 @@ diff '--color=auto' -ur '--color=never' a/tests/libqtdbustest/TestQProcessDBusSe
diff '--color=auto' -ur '--color=never' a/tests/libqtdbustest/TestSuicidalProcess.cpp b/tests/libqtdbustest/TestSuicidalProcess.cpp
--- a/tests/libqtdbustest/TestSuicidalProcess.cpp 2023-01-20 21:36:16.948292559 +0100
+++ b/tests/libqtdbustest/TestSuicidalProcess.cpp 2023-01-20 21:55:07.219951081 +0100
@@ -51,8 +51,7 @@
@@ -51,9 +51,7 @@
pgrep.waitForFinished();
pgrep.waitForReadyRead();
- EXPECT_EQ("sleep 5",
- QString::fromUtf8(pgrep.readAll().trimmed()).toStdString());
- EXPECT_TRUE(QString::fromUtf8(pgrep.readAll().trimmed())
- .toStdString()
- .find("sleep 5") != std::string::npos);
+ EXPECT_TRUE(pgrep.readAll().contains("sleep 5"));
}

View file

@ -1,7 +1,6 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, autoreconfHook
, testers
@ -13,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libsass";
version = "3.6.5"; # also check sassc for updates
version = "3.6.6"; # also check sassc for updates
src = fetchFromGitHub {
owner = "sass";
repo = finalAttrs.pname;
rev = finalAttrs.version;
sha256 = "1cxj6r85d5f3qxdwzxrmkx8z875hig4cr8zsi30w6vj23cyds3l2";
hash = "sha256-FkLL3OAJXDptRQY6ZkYbss2pcc40f/wasIvEIyHRQFo=";
# Remove unicode file names which leads to different checksums on HFS+
# vs. other filesystems because of unicode normalisation.
postFetch = ''
@ -27,14 +26,6 @@ stdenv.mkDerivation (finalAttrs: {
'';
};
patches = [
(fetchpatch {
name = "CVE-2022-26592.CVE-2022-43357.CVE-2022-43358.patch";
url = "https://github.com/sass/libsass/pull/3184/commits/5bb0ea0c4b2ebebe542933f788ffacba459a717a.patch";
hash = "sha256-DR6pKFWL70uJt//drzq34LeTzT8rUqgUTpgfUHpD2s4=";
})
];
preConfigure = ''
export LIBSASS_VERSION=${finalAttrs.version}
'';

View file

@ -24,13 +24,13 @@
stdenv.mkDerivation rec {
pname = "libsecret";
version = "0.21.2";
version = "0.21.3";
outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
hash = "sha256-5KNBSWoIFeZMjTuPq6sz17rn796rd7hDZpcx1bGB3O4=";
hash = "sha256-mj4lcfEEgDXYAjj1LIdgEliEpDuvilgP7bclDBrQqec=";
};
depsBuildBuild = [

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