Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2026-04-26 18:16:05 +00:00
committed by GitHub
126 changed files with 2982 additions and 5029 deletions
+6 -17
View File
@@ -483,40 +483,29 @@ In this example, `prePnpmInstall` will be run by both `pnpmConfigHook` and by th
#### pnpm `fetcherVersion` {#javascript-pnpm-fetcherVersion}
This is the version of the output of `fetchPnpmDeps`, if you haven't set it already, you can use `1` with your current hash:
This is the version of the output of `fetchPnpmDeps`. New packages should use `3`:
```nix
{
# ...
pnpmDeps = fetchPnpmDeps {
# ...
fetcherVersion = 1;
hash = "..."; # you can use your already set hash here
};
}
```
After upgrading to a newer `fetcherVersion`, you need to regenerate the hash:
```nix
{
# ...
pnpmDeps = fetchPnpmDeps {
# ...
fetcherVersion = 2;
fetcherVersion = 3;
hash = "..."; # clear this hash and generate a new one
};
}
```
When upgrading to a newer `fetcherVersion`, you need to regenerate the hash.
This variable ensures that we can make changes to the output of `fetchPnpmDeps` without breaking existing hashes.
Changes can include workarounds or bug fixes to existing PNPM issues.
##### Version history {#javascript-pnpm-fetcherVersion-versionHistory}
- 1: Initial version, nothing special
- 1: Initial version, nothing special. **Deprecated: Scheduled for removal in the 26.11 release.**. New packages must not use this value.
- 2: [Ensure consistent permissions](https://github.com/NixOS/nixpkgs/pull/422975)
- 3: [Build a reproducible tarball](https://github.com/NixOS/nixpkgs/pull/469950)
- 3: [Build a reproducible tarball](https://github.com/NixOS/nixpkgs/pull/469950). **Recommended**
### Yarn {#javascript-yarn}
+6
View File
@@ -298,6 +298,12 @@
- `fetchPnpmDeps` and `pnpmConfigHook` were added as top-level attributes, replacing the now deprecated `pnpm.fetchDeps` and `pnpm.configHook` attributes.
- `fetchPnpmDeps`' `fetcherVersion = 1` is deprecated and scheduled for removal
in the 26.11 release. A deprecation warning has been added. Packages still on
`fetcherVersion = 1` should migrate to `fetcherVersion = 3` and regenerate
their hashes. See the [pnpm `fetcherVersion`
section](#javascript-pnpm-fetcherVersion) of the manual for details.
- `buildNpmPackage` now supports `npmDepsFetcherVersion` (and `fetchNpmDeps` now supports `fetcherVersion`). Set to `2` to enable packument caching, which fixes builds for projects using npm workspaces.
- Added `dell-bios-fan-control` package and service.
+4
View File
@@ -413,6 +413,10 @@ in
[QuickFairQueueingClass]
${attrsToSection def.quickFairQueueingConfigClass}
''
+ optionalString (def.mobileNetworkConfig != { }) ''
[MobileNetwork]
${attrsToSection def.mobileNetworkConfig}
''
+ flip concatMapStrings def.bridgeVLANs (x: ''
[BridgeVLAN]
${attrsToSection x}
+1 -2
View File
@@ -518,8 +518,7 @@ in
useEmbeddedBitmaps = lib.mkOption {
type = lib.types.bool;
default = lib.versionAtLeast config.system.stateVersion "26.05";
defaultText = lib.literalExpression "lib.versionAtLeast config.system.stateVersion \"26.05\"";
default = true;
description = "Use embedded bitmaps in fonts like Calibri.";
};
+1 -1
View File
@@ -728,6 +728,7 @@
./services/home-automation/esphome.nix
./services/home-automation/evcc.nix
./services/home-automation/govee2mqtt.nix
./services/home-automation/home-assistant-matter-hub.nix
./services/home-automation/home-assistant.nix
./services/home-automation/homebridge.nix
./services/home-automation/matter-server.nix
@@ -1212,7 +1213,6 @@
./services/networking/geph.nix
./services/networking/ghostunnel.nix
./services/networking/git-daemon.nix
./services/networking/globalprotect-vpn.nix
./services/networking/gns3-server.nix
./services/networking/gnunet.nix
./services/networking/go-autoconfig.nix
+7
View File
@@ -214,6 +214,13 @@ in
] "The fourStoreEndpoint module has been removed")
(mkRemovedOptionModule [ "services" "fprot" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "frab" ] "The frab module has been removed")
(mkRemovedOptionModule
[
"services"
"globalprotect"
]
"The corresponding package was removed from nixpkgs, as it depended on qt5 webengine. A replacements based on tauri exist upstream, but requires non-trivial maintainance in nixpkgs to update."
)
(mkRemovedOptionModule
[
"services"
@@ -0,0 +1,100 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.home-assistant-matter-hub;
settingsFormat = pkgs.formats.json { };
configFile = settingsFormat.generate "home-assistant-matter-hub.json" cfg.settings;
in
{
meta.maintainers = with lib.maintainers; [
kranzes
marie
];
options.services.home-assistant-matter-hub = {
enable = lib.mkEnableOption "home-assistant-matter-hub, a Matter bridge for Home Assistant";
package = lib.mkPackageOption pkgs "home-assistant-matter-hub" { };
openFirewall = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to open the Matter commissioning ports (UDP/TCP 5540) in the
firewall.
'';
};
accessTokenFile = lib.mkOption {
type = lib.types.externalPath;
example = "/run/secrets/home-assistant-matter-hub-token";
description = ''
Path to a file containing a Home Assistant long-lived access token.
The file is loaded as a systemd credential and read into
`HAMH_HOME_ASSISTANT_ACCESS_TOKEN` at service start.
'';
};
settings = lib.mkOption {
type = lib.types.submodule {
freeformType = settingsFormat.type;
options = {
homeAssistantUrl = lib.mkOption {
type = lib.types.str;
example = lib.literalExpression "config.services.home-assistant.config.homeassistant.internal_url";
description = "HTTP URL of the Home Assistant instance to bridge.";
};
httpPort = lib.mkOption {
type = lib.types.port;
default = 8482;
description = "Port the web interface listens on.";
};
};
};
default = { };
example = lib.literalExpression ''
{
homeAssistantUrl = config.services.home-assistant.config.homeassistant.internal_url;
}
'';
description = ''
Configuration written to a JSON file and passed to
`home-assistant-matter-hub start --config`. Keys use camelCase, matching
the long-form CLI flags. See
<https://riddix.github.io/home-assistant-matter-hub/getting-started/installation#23-configuration-options>
for the full list of options.
'';
};
};
config = lib.mkIf cfg.enable {
networking.firewall = lib.mkIf cfg.openFirewall {
allowedTCPPorts = [ 5540 ];
allowedUDPPorts = [ 5540 ];
};
systemd.services.home-assistant-matter-hub = {
description = "Home Assistant Matter Hub";
documentation = [ "https://riddix.github.io/home-assistant-matter-hub/" ];
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
script = ''
export HAMH_HOME_ASSISTANT_ACCESS_TOKEN=$(systemd-creds cat HAMH_HOME_ASSISTANT_ACCESS_TOKEN)
exec ${lib.getExe cfg.package} start --config=${configFile} --storage-location="$1"
'';
scriptArgs = "%S/home-assistant-matter-hub";
serviceConfig = {
LoadCredential = [ "HAMH_HOME_ASSISTANT_ACCESS_TOKEN:${cfg.accessTokenFile}" ];
DynamicUser = true;
StateDirectory = "home-assistant-matter-hub";
};
};
};
}
@@ -1,62 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.globalprotect;
execStart =
if cfg.csdWrapper == null then
"${pkgs.globalprotect-openconnect}/bin/gpservice"
else
"${pkgs.globalprotect-openconnect}/bin/gpservice --csd-wrapper=${cfg.csdWrapper}";
in
{
options.services.globalprotect = {
enable = lib.mkEnableOption "globalprotect";
settings = lib.mkOption {
description = ''
GlobalProtect-openconnect configuration. For more information, visit
<https://github.com/yuezk/GlobalProtect-openconnect/wiki/Configuration>.
'';
default = { };
example = {
"vpn1.company.com" = {
openconnect-args = "--script=/path/to/vpnc-script";
};
};
type = lib.types.attrs;
};
csdWrapper = lib.mkOption {
description = ''
A script that will produce a Host Integrity Protection (HIP) report,
as described at <https://www.infradead.org/openconnect/hip.html>
'';
default = null;
example = lib.literalExpression ''"''${pkgs.openconnect}/libexec/openconnect/hipreport.sh"'';
type = lib.types.nullOr lib.types.path;
};
};
config = lib.mkIf cfg.enable {
services.dbus.packages = [ pkgs.globalprotect-openconnect ];
environment.etc."gpservice/gp.conf".text = lib.generators.toINI { } cfg.settings;
systemd.services.gpservice = {
description = "GlobalProtect openconnect DBus service";
serviceConfig = {
Type = "dbus";
BusName = "com.yuezk.qt.GPService";
ExecStart = execStart;
};
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
};
};
}
+3 -1
View File
@@ -156,7 +156,9 @@ in
# tty1 is special: logind does not spawn autovt@tty1, it expects a static
# pull-in via getty.target. With getty@ suppressed, we must replace it.
systemd.services."kmsconvt@tty1".wantedBy = [ "getty.target" ];
systemd.services."getty.target".wants = lib.mkIf (!config.services.displayManager.enable) [
"kmsconvt@tty1.service"
];
systemd.suppressedSystemUnits = [ "getty@.service" ];
+58
View File
@@ -180,6 +180,12 @@ let
"StatisticsBlockCoalesceSec"
"MDI"
"SR-IOVVirtualFunctions"
"ScatterGather"
"ScatterGatherFragmentList"
"TCPECNSegmentationOffload"
"TCPMangleIdSegmentationOffload"
"GenericReceiveOffloadList"
"GenericReceiveOffloadUDPForwarding"
])
(assertValueOneOf "MACAddressPolicy" [
"persistent"
@@ -271,6 +277,12 @@ let
"auto"
])
(assertRange "SR-IOVVirtualFunctions" 0 2147483647)
(assertValueOneOf "ScatterGather" boolValues)
(assertValueOneOf "ScatterGatherFragmentList" boolValues)
(assertValueOneOf "TCPECNSegmentationOffload" boolValues)
(assertValueOneOf "TCPMangleIdSegmentationOffload" boolValues)
(assertValueOneOf "GenericReceiveOffloadList" boolValues)
(assertValueOneOf "GenericReceiveOffloadUDPForwarding" boolValues)
];
sectionSR-IOV = checkUnitConfig "SR-IOV" [
@@ -2412,6 +2424,38 @@ let
(assertInt "PVID")
(assertRange "PVID" 0 4094)
];
sectionMobileNetwork = checkUnitConfig "MobileNetwork" [
(assertOnlyFields [
"APN"
"AllowedAuthenticationMechanisms"
"User"
"Password"
"IPFamily"
"AllowRoaming"
"PIN"
"OperatorId"
"RouteMetric"
"UseGateway"
])
(assertValuesSomeOfOr "AllowedAuthenticationMechanisms" [
"none"
"pap"
"chap"
"mschap"
"mschapv2"
"eap"
] "")
(assertValueOneOf "IPFamily" [
"ipv4"
"ipv6"
"both"
"any"
])
(assertValueOneOf "AllowRoaming" boolValues)
(assertRange "RouteMetric" 0 4294967295)
(assertValueOneOf "UseGateway" boolValues)
];
};
};
@@ -3746,6 +3790,20 @@ let
'';
};
mobileNetworkConfig = mkOption {
default = { };
example = {
APN = "access-point-name";
AllowRoaming = false;
};
type = types.addCheck (types.attrsOf unitOption) check.network.sectionMobileNetwork;
description = ''
Each attribute in this set specifies an option in the
`[MobileNetwork]` section of the unit. See
{manpage}`systemd.network(5)` for details.
'';
};
name = mkOption {
type = types.nullOr types.str;
default = null;
@@ -333,10 +333,10 @@
elpaBuild {
pname = "altcaps";
ename = "altcaps";
version = "1.3.0.0.20260210.221352";
version = "1.3.0.0.20260413.54314";
src = fetchurl {
url = "https://elpa.gnu.org/devel/altcaps-1.3.0.0.20260210.221352.tar";
sha256 = "1m97icn58an0a1x9lhby7870g5m4i7rgkmi61nz24qmrc5pcmqmw";
url = "https://elpa.gnu.org/devel/altcaps-1.3.0.0.20260413.54314.tar";
sha256 = "1jj7321nhxy7gk2cchv81nyw8fzzw7zkikgwgnj6k7kki53rhp8c";
};
packageRequires = [ ];
meta = {
@@ -719,10 +719,10 @@
elpaBuild {
pname = "beframe";
ename = "beframe";
version = "1.5.0.0.20260204.145843";
version = "1.5.0.0.20260413.54824";
src = fetchurl {
url = "https://elpa.gnu.org/devel/beframe-1.5.0.0.20260204.145843.tar";
sha256 = "1jkirpjfxzxspbz1whf5yjzdzxx10abr9aymks40hh72xyjgida6";
url = "https://elpa.gnu.org/devel/beframe-1.5.0.0.20260413.54824.tar";
sha256 = "1nj3gn44bd867yx34d9nzzqcfk5k3fp89wg7k83lpcc7f2a6w3dw";
};
packageRequires = [ ];
meta = {
@@ -1015,10 +1015,10 @@
elpaBuild {
pname = "buframe";
ename = "buframe";
version = "0.3.0.20260327.125525";
version = "0.3.0.20260415.112855";
src = fetchurl {
url = "https://elpa.gnu.org/devel/buframe-0.3.0.20260327.125525.tar";
sha256 = "0z97kqjzpgp31ik5y8ab50iw7mckx5mc3yrdr4abkl69ii6gw76q";
url = "https://elpa.gnu.org/devel/buframe-0.3.0.20260415.112855.tar";
sha256 = "1fav3n1r5w0vyvkbblfbi9xnglhmi4bvp6ikixp3lmh8bpf7as2l";
};
packageRequires = [ timeout ];
meta = {
@@ -1106,10 +1106,10 @@
elpaBuild {
pname = "cape";
ename = "cape";
version = "2.6.0.20260330.61918";
version = "2.6.0.20260419.184703";
src = fetchurl {
url = "https://elpa.gnu.org/devel/cape-2.6.0.20260330.61918.tar";
sha256 = "1w8l2j55zmkbfx1m22fd12xbh9makaxxp97wcc69px1flx0055dh";
url = "https://elpa.gnu.org/devel/cape-2.6.0.20260419.184703.tar";
sha256 = "143b5kxykz4mgx2y7gq6vidrqnnjnc0ay809hjzbqfmpvlnf86fn";
};
packageRequires = [ compat ];
meta = {
@@ -1483,10 +1483,10 @@
elpaBuild {
pname = "compat";
ename = "compat";
version = "30.1.0.1.0.20260328.162400";
version = "30.1.0.1.0.20260411.151508";
src = fetchurl {
url = "https://elpa.gnu.org/devel/compat-30.1.0.1.0.20260328.162400.tar";
sha256 = "1m3vchayxp8jzjf4cc3zc7qkgy702nfccbvdvfjjfn71wd37q4ph";
url = "https://elpa.gnu.org/devel/compat-30.1.0.1.0.20260411.151508.tar";
sha256 = "14vim5vlv57q6zl83lixj2palwbxz2dkbpivyvs56cjwqck41bvd";
};
packageRequires = [ seq ];
meta = {
@@ -1547,10 +1547,10 @@
elpaBuild {
pname = "consult";
ename = "consult";
version = "3.4.0.20260407.153027";
version = "3.4.0.20260421.111434";
src = fetchurl {
url = "https://elpa.gnu.org/devel/consult-3.4.0.20260407.153027.tar";
sha256 = "0w1hl7lj26bqhnmmmk9rnahapw4pggxyri6ppcxbxx735bpy9c2r";
url = "https://elpa.gnu.org/devel/consult-3.4.0.20260421.111434.tar";
sha256 = "16gz342an0vsdj7jdy5gcrv8wwcwfqabdzsyyg1dcfzrlmvxvfja";
};
packageRequires = [ compat ];
meta = {
@@ -1570,10 +1570,10 @@
elpaBuild {
pname = "consult-denote";
ename = "consult-denote";
version = "0.4.2.0.20260122.100152";
version = "0.4.2.0.20260423.93857";
src = fetchurl {
url = "https://elpa.gnu.org/devel/consult-denote-0.4.2.0.20260122.100152.tar";
sha256 = "1d8dq183sc5sc3ki5z602w29f541cs6ljhyx5fwl7rwnj22w6yxx";
url = "https://elpa.gnu.org/devel/consult-denote-0.4.2.0.20260423.93857.tar";
sha256 = "1fcf1abqg71kp9g0nsxdnmb33m6g4kn0iwgvfd1cqslyhmdkk0c8";
};
packageRequires = [
consult
@@ -1595,10 +1595,10 @@
elpaBuild {
pname = "consult-hoogle";
ename = "consult-hoogle";
version = "0.6.0.0.20260226.73407";
version = "0.6.0.0.20260410.130304";
src = fetchurl {
url = "https://elpa.gnu.org/devel/consult-hoogle-0.6.0.0.20260226.73407.tar";
sha256 = "1yndkjzbydlyxzgl2zfk5m9w3hh8aq5dk1myjc0xkwczfwbw1gjm";
url = "https://elpa.gnu.org/devel/consult-hoogle-0.6.0.0.20260410.130304.tar";
sha256 = "1067wh3r087bdvg4zqbzwmzh6qssj7x7y12qs3fh96vpqrjw2a11";
};
packageRequires = [ consult ];
meta = {
@@ -1660,10 +1660,10 @@
elpaBuild {
pname = "corfu";
ename = "corfu";
version = "2.9.0.20260330.62901";
version = "2.9.0.20260419.183827";
src = fetchurl {
url = "https://elpa.gnu.org/devel/corfu-2.9.0.20260330.62901.tar";
sha256 = "10092p4v9kaz2mlffsq5dpnqna3qbbyx4qivxg4qjpy3w53wbznj";
url = "https://elpa.gnu.org/devel/corfu-2.9.0.20260419.183827.tar";
sha256 = "06myb0qgv8q3iak83bdpkjmd8vplqcvypl9q1y1h7qfbcy2yvssh";
};
packageRequires = [ compat ];
meta = {
@@ -1877,10 +1877,10 @@
elpaBuild {
pname = "cursory";
ename = "cursory";
version = "1.2.0.0.20260111.105552";
version = "1.2.0.0.20260413.54607";
src = fetchurl {
url = "https://elpa.gnu.org/devel/cursory-1.2.0.0.20260111.105552.tar";
sha256 = "0plc6a5rh2wigpif1p9wkvdjqjppakhzkviywzn7z1fxiyrldq2m";
url = "https://elpa.gnu.org/devel/cursory-1.2.0.0.20260413.54607.tar";
sha256 = "00cxb53p6l3d395vkmza1zqjrpx9rq65xy5cnv410i7lricrwpfr";
};
packageRequires = [ ];
meta = {
@@ -2075,10 +2075,10 @@
elpaBuild {
pname = "denote";
ename = "denote";
version = "4.1.3.0.20260409.181603";
version = "4.1.3.0.20260423.182534";
src = fetchurl {
url = "https://elpa.gnu.org/devel/denote-4.1.3.0.20260409.181603.tar";
sha256 = "1mh0vxq1bz20f0d6n3hcrzwgfjva3f17zqkwj9hxm2xw0r9b4jhl";
url = "https://elpa.gnu.org/devel/denote-4.1.3.0.20260423.182534.tar";
sha256 = "1mh9sl4rhsmxniibrnym69xdwgswij8132b4n7k65lw75y0p05j9";
};
packageRequires = [ ];
meta = {
@@ -2119,10 +2119,10 @@
elpaBuild {
pname = "denote-markdown";
ename = "denote-markdown";
version = "0.2.1.0.20260111.93101";
version = "0.2.2.0.20260423.181135";
src = fetchurl {
url = "https://elpa.gnu.org/devel/denote-markdown-0.2.1.0.20260111.93101.tar";
sha256 = "0gpqcwpy2x329v73fbg7yq0zzhjy1651iffcf2y6vyirw4yy7mmx";
url = "https://elpa.gnu.org/devel/denote-markdown-0.2.2.0.20260423.181135.tar";
sha256 = "18l9aymn3v5i3y3g4bx81b16zw4mdgrkkz3939xq5dxy4wwmiqjk";
};
packageRequires = [ denote ];
meta = {
@@ -2514,10 +2514,10 @@
elpaBuild {
pname = "dired-preview";
ename = "dired-preview";
version = "0.6.0.0.20260409.181025";
version = "0.6.0.0.20260413.54225";
src = fetchurl {
url = "https://elpa.gnu.org/devel/dired-preview-0.6.0.0.20260409.181025.tar";
sha256 = "1ryvx8q6sgikf8zl977nhb7nb9f776384lh6aky4nfnlx62sacpb";
url = "https://elpa.gnu.org/devel/dired-preview-0.6.0.0.20260413.54225.tar";
sha256 = "0x1s8b4swr62a833zszyk9kfnh2fx5kl5rwjdfhm4mgpib50nmcy";
};
packageRequires = [ ];
meta = {
@@ -2612,6 +2612,27 @@
};
}
) { };
dmsg = callPackage (
{
elpaBuild,
fetchurl,
lib,
}:
elpaBuild {
pname = "dmsg";
ename = "dmsg";
version = "0.2.0.20260422.105206";
src = fetchurl {
url = "https://elpa.gnu.org/devel/dmsg-0.2.0.20260422.105206.tar";
sha256 = "0h8l75k00hh0j2cyc2jwqkrnr7qmkz0jydbhm2qwpm3bb5pyd6bq";
};
packageRequires = [ ];
meta = {
homepage = "https://elpa.gnu.org/devel/dmsg.html";
license = lib.licenses.free;
};
}
) { };
do-at-point = callPackage (
{
elpaBuild,
@@ -2957,10 +2978,10 @@
elpaBuild {
pname = "eglot";
ename = "eglot";
version = "1.23.0.20260406.115439";
version = "1.23.0.20260422.80836";
src = fetchurl {
url = "https://elpa.gnu.org/devel/eglot-1.23.0.20260406.115439.tar";
sha256 = "0wxnvhzl2ygb1c0krrq0zqzkda55l3hqlpicq9yvckfi7d3h62ik";
url = "https://elpa.gnu.org/devel/eglot-1.23.0.20260422.80836.tar";
sha256 = "1w7pfbx6m68x6anxg1038cah2wbyb3f3mdgsqsrsj0dbh9qwzzq5";
};
packageRequires = [
eldoc
@@ -3200,10 +3221,10 @@
elpaBuild {
pname = "emacs-lisp-intro-nl";
ename = "emacs-lisp-intro-nl";
version = "0.0.20260409.83314";
version = "0.0.20260419.193604";
src = fetchurl {
url = "https://elpa.gnu.org/devel/emacs-lisp-intro-nl-0.0.20260409.83314.tar";
sha256 = "1cnr00p1gl6f21p1apnyz2a04zv5xc2c7c1ldkvzadpy9fj0a9r4";
url = "https://elpa.gnu.org/devel/emacs-lisp-intro-nl-0.0.20260419.193604.tar";
sha256 = "1spqwayvm830vzsyy7l768yd91f3h8agpd9wpaa6g0pd5pdhh42r";
};
packageRequires = [ ];
meta = {
@@ -3310,10 +3331,10 @@
elpaBuild {
pname = "emms";
ename = "emms";
version = "25.0.20260213.170929";
version = "26.0.20260414.110541";
src = fetchurl {
url = "https://elpa.gnu.org/devel/emms-25.0.20260213.170929.tar";
sha256 = "1lrwhhaqbf09lwfk65gr7hpwc5z5sigpmna48fjmrmsp8aj99rzq";
url = "https://elpa.gnu.org/devel/emms-26.0.20260414.110541.tar";
sha256 = "05vp80ybsl37bm0wpwdhdj7qlgw07cik544fwzczg8r49bd2s066";
};
packageRequires = [
cl-lib
@@ -3446,10 +3467,10 @@
elpaBuild {
pname = "ess";
ename = "ess";
version = "26.1.0.0.20260408.95243";
version = "26.1.0.0.20260423.92659";
src = fetchurl {
url = "https://elpa.gnu.org/devel/ess-26.1.0.0.20260408.95243.tar";
sha256 = "0ddkvi7akw7dhjx1spc98s653kp48b327amyhwgw06sgkn868psa";
url = "https://elpa.gnu.org/devel/ess-26.1.0.0.20260423.92659.tar";
sha256 = "0fmq3fp4dya40ab3rg511i7p3pi2mhx98dvl27fs186ya79bgvgq";
};
packageRequires = [ ];
meta = {
@@ -3784,10 +3805,10 @@
elpaBuild {
pname = "fontaine";
ename = "fontaine";
version = "3.0.1.0.20260316.175802";
version = "3.0.1.0.20260413.54632";
src = fetchurl {
url = "https://elpa.gnu.org/devel/fontaine-3.0.1.0.20260316.175802.tar";
sha256 = "0plmi51lsssmz0ccfh05f7rmjfmaqgq7jnlikwm5q8ad6qlwvj2r";
url = "https://elpa.gnu.org/devel/fontaine-3.0.1.0.20260413.54632.tar";
sha256 = "1s7wz2807a49vhcj3zv7hx75kz4l9zkhi53fvppab46j2wyaw8qs";
};
packageRequires = [ ];
meta = {
@@ -3895,10 +3916,10 @@
elpaBuild {
pname = "futur";
ename = "futur";
version = "1.4.0.20260409.205429";
version = "1.4.0.20260423.160640";
src = fetchurl {
url = "https://elpa.gnu.org/devel/futur-1.4.0.20260409.205429.tar";
sha256 = "1crph78sjng309ciyxhcy1ci9l75pqvrq7ac2p4m55dc7yzgkl0i";
url = "https://elpa.gnu.org/devel/futur-1.4.0.20260423.160640.tar";
sha256 = "04z4660mjgnf5z4qyzbiwdi7cd9b42ncvxrvpxr9i9q51sky72jb";
};
packageRequires = [ ];
meta = {
@@ -4089,10 +4110,10 @@
elpaBuild {
pname = "gnosis";
ename = "gnosis";
version = "0.10.3.0.20260406.15023";
version = "0.10.3.0.20260420.110309";
src = fetchurl {
url = "https://elpa.gnu.org/devel/gnosis-0.10.3.0.20260406.15023.tar";
sha256 = "11ijgpz1pwh7cgj96lhigmh19vrqjysslpkmmrjyihdzmmfzk0wj";
url = "https://elpa.gnu.org/devel/gnosis-0.10.3.0.20260420.110309.tar";
sha256 = "0inrv51wkjycbxhhlsivfig2479v18jcvps1dq2psjas0r2crsx3";
};
packageRequires = [ compat ];
meta = {
@@ -4297,10 +4318,10 @@
elpaBuild {
pname = "greader";
ename = "greader";
version = "0.19.0.0.20260402.161715";
version = "0.19.0.0.20260409.233021";
src = fetchurl {
url = "https://elpa.gnu.org/devel/greader-0.19.0.0.20260402.161715.tar";
sha256 = "0fzph8cvyl66sxs5a96hhxgpg30df48nv32d8x29df4piv113zcw";
url = "https://elpa.gnu.org/devel/greader-0.19.0.0.20260409.233021.tar";
sha256 = "1lq10b8b3nkzf6lx9z1h3cv2537g4ymj5qw6xbclpxzrj07zalg7";
};
packageRequires = [
compat
@@ -4342,10 +4363,10 @@
elpaBuild {
pname = "gtags-mode";
ename = "gtags-mode";
version = "1.9.4.0.20251110.175010";
version = "1.9.5.0.20260413.115633";
src = fetchurl {
url = "https://elpa.gnu.org/devel/gtags-mode-1.9.4.0.20251110.175010.tar";
sha256 = "19c6ccg812lqz28pfx9jjfkms1zvfv8qs6693fd69rggsh55bp43";
url = "https://elpa.gnu.org/devel/gtags-mode-1.9.5.0.20260413.115633.tar";
sha256 = "00z5b4l05xn73wk50xw34qszv3kg0c6f586cplqwc83dnjhxwcwc";
};
packageRequires = [ ];
meta = {
@@ -4559,10 +4580,10 @@
elpaBuild {
pname = "hyperbole";
ename = "hyperbole";
version = "9.0.2pre0.20260410.71604";
version = "9.0.2pre0.20260422.74419";
src = fetchurl {
url = "https://elpa.gnu.org/devel/hyperbole-9.0.2pre0.20260410.71604.tar";
sha256 = "0mnxwiv6l1rpwwnaffhi0sxb5qi58wf8npp05w0swdanim27k7kr";
url = "https://elpa.gnu.org/devel/hyperbole-9.0.2pre0.20260422.74419.tar";
sha256 = "1k6qcwb9bhf062bd0d6q69n1wbk68bkmb8d30c5hnd32s2m261xp";
};
packageRequires = [ ];
meta = {
@@ -4623,10 +4644,10 @@
elpaBuild {
pname = "indent-bars";
ename = "indent-bars";
version = "1.0.0.0.20260120.94117";
version = "1.0.0.0.20260418.90339";
src = fetchurl {
url = "https://elpa.gnu.org/devel/indent-bars-1.0.0.0.20260120.94117.tar";
sha256 = "11ffwvv8zmkxbc74ny30cgjpwzv6v0mbdcdr1laadhbhwkdlk8am";
url = "https://elpa.gnu.org/devel/indent-bars-1.0.0.0.20260418.90339.tar";
sha256 = "0jrdzw4yr1ldcsvc5jix8ay1wfv7fmphc2q82alhv4in247c5sna";
};
packageRequires = [ compat ];
meta = {
@@ -4750,10 +4771,10 @@
elpaBuild {
pname = "ivy";
ename = "ivy";
version = "0.15.1.0.20260318.135818";
version = "0.15.1.0.20260413.210444";
src = fetchurl {
url = "https://elpa.gnu.org/devel/ivy-0.15.1.0.20260318.135818.tar";
sha256 = "19qzzdgkbhl49lv147blb1rznf86mhbm1d1h7gzanva17pc7cpi7";
url = "https://elpa.gnu.org/devel/ivy-0.15.1.0.20260413.210444.tar";
sha256 = "1840hsmdaqh4p5l4fbdb9gj95xaga8439zmp39adbvy6xkkqqbl4";
};
packageRequires = [ ];
meta = {
@@ -4892,10 +4913,10 @@
elpaBuild {
pname = "jarchive";
ename = "jarchive";
version = "0.11.0.0.20231010.221311";
version = "0.12.0.0.20260419.91017";
src = fetchurl {
url = "https://elpa.gnu.org/devel/jarchive-0.11.0.0.20231010.221311.tar";
sha256 = "122qffkbl5in1y1zpphn38kmg49xpvddxzf8im9hcvigf7dik6f5";
url = "https://elpa.gnu.org/devel/jarchive-0.12.0.0.20260419.91017.tar";
sha256 = "0mdsfvggcv2iyia0vpp1lj1xarg8kjbksvxzl6w2b2q5k8j1gl8f";
};
packageRequires = [ ];
meta = {
@@ -5043,10 +5064,10 @@
elpaBuild {
pname = "jsonrpc";
ename = "jsonrpc";
version = "1.0.28.0.20260402.173109";
version = "1.0.28.0.20260416.174639";
src = fetchurl {
url = "https://elpa.gnu.org/devel/jsonrpc-1.0.28.0.20260402.173109.tar";
sha256 = "1fxwnk964n0g3l6f06q323cp9jq12ja2fja6q00bpf9jargjkp57";
url = "https://elpa.gnu.org/devel/jsonrpc-1.0.28.0.20260416.174639.tar";
sha256 = "0j7y9kcjdai6sd1634ln4ag0fg5x8ljzq50f25nc5miadaq93vw8";
};
packageRequires = [ ];
meta = {
@@ -5150,10 +5171,10 @@
elpaBuild {
pname = "kubed";
ename = "kubed";
version = "0.5.1.0.20260327.160729";
version = "0.6.1.0.20260413.204601";
src = fetchurl {
url = "https://elpa.gnu.org/devel/kubed-0.5.1.0.20260327.160729.tar";
sha256 = "1i5hn7fl08xqqhhs9ic9frdg3gj65nll2zjvc8wc88yn38c75bav";
url = "https://elpa.gnu.org/devel/kubed-0.6.1.0.20260413.204601.tar";
sha256 = "1q7ykifs44ywrq94fhvdz4svpxm2j3yj4vmq74lz5d57q702xz9l";
};
packageRequires = [ ];
meta = {
@@ -5333,10 +5354,10 @@
elpaBuild {
pname = "lin";
ename = "lin";
version = "2.0.0.0.20260324.81759";
version = "2.0.0.0.20260413.54759";
src = fetchurl {
url = "https://elpa.gnu.org/devel/lin-2.0.0.0.20260324.81759.tar";
sha256 = "173s99ccj6v1yalvbniia5bg59y195rjavabaxzjp70ayzb830zz";
url = "https://elpa.gnu.org/devel/lin-2.0.0.0.20260413.54759.tar";
sha256 = "18im9kd79wvhk92p8wm0hxf67c85g6f2rlppx3dkn0r601hmpv2w";
};
packageRequires = [ ];
meta = {
@@ -5409,10 +5430,10 @@
elpaBuild {
pname = "llm";
ename = "llm";
version = "0.30.1.0.20260409.235755";
version = "0.30.1.0.20260417.170756";
src = fetchurl {
url = "https://elpa.gnu.org/devel/llm-0.30.1.0.20260409.235755.tar";
sha256 = "0cviwq12i6p6s8k58987n43mzrhcilkddflnmwkvalyvpfbsmm1r";
url = "https://elpa.gnu.org/devel/llm-0.30.1.0.20260417.170756.tar";
sha256 = "01dzr0qli82gdm24fdqiw7gn10w1gallgcss04v5d251idgfh87q";
};
packageRequires = [
compat
@@ -5627,10 +5648,10 @@
elpaBuild {
pname = "map";
ename = "map";
version = "3.3.1.0.20260101.125434";
version = "3.3.1.0.20260420.130325";
src = fetchurl {
url = "https://elpa.gnu.org/devel/map-3.3.1.0.20260101.125434.tar";
sha256 = "1darxw7vam0zc0rsxm2v0a239rpc1hnaqqkakmryac2kazbsjg7n";
url = "https://elpa.gnu.org/devel/map-3.3.1.0.20260420.130325.tar";
sha256 = "1khl72238fzf8jzk3ihq5yl3w8kipr4km5awh4zqhp03skr5kp86";
};
packageRequires = [ ];
meta = {
@@ -5755,10 +5776,10 @@
elpaBuild {
pname = "matlab-mode";
ename = "matlab-mode";
version = "8.1.2.0.20260315.82315";
version = "8.2.0.0.20260419.100405";
src = fetchurl {
url = "https://elpa.gnu.org/devel/matlab-mode-8.1.2.0.20260315.82315.tar";
sha256 = "06wa3mzqr3scxq5gzh7gwkf148x6iqvymb6bj7yrgnqcnylgy3cw";
url = "https://elpa.gnu.org/devel/matlab-mode-8.2.0.0.20260419.100405.tar";
sha256 = "114s5ra2h4d8k0qn27blb8bzxjjlcgrrkmg1y647m2kzwfbp8hx5";
};
packageRequires = [ ];
meta = {
@@ -5776,10 +5797,10 @@
elpaBuild {
pname = "mct";
ename = "mct";
version = "1.1.0.0.20260204.175531";
version = "1.1.0.0.20260413.54251";
src = fetchurl {
url = "https://elpa.gnu.org/devel/mct-1.1.0.0.20260204.175531.tar";
sha256 = "1fd1nd013g3ayd3ckkjp4b6b2nf96rxfjgcs16w0f5x2zxrbkhw0";
url = "https://elpa.gnu.org/devel/mct-1.1.0.0.20260413.54251.tar";
sha256 = "1wlyg28xcyig05248nic6jia4zw0q5k0rg8l3facskisbhild7dz";
};
packageRequires = [ ];
meta = {
@@ -5925,10 +5946,10 @@
elpaBuild {
pname = "minimail";
ename = "minimail";
version = "0.3.0.20260330.82338";
version = "0.4.0.20260415.81600";
src = fetchurl {
url = "https://elpa.gnu.org/devel/minimail-0.3.0.20260330.82338.tar";
sha256 = "01fi88flq91m7fhg7q1g7jx4fzli99k9i48bavbsnjyhbz77i8pq";
url = "https://elpa.gnu.org/devel/minimail-0.4.0.20260415.81600.tar";
sha256 = "1a1mh3g6vfvmlr419iv8fz7hfjb1ddsia26059zj69gqv7fniqbh";
};
packageRequires = [ ];
meta = {
@@ -5969,10 +5990,10 @@
elpaBuild {
pname = "minuet";
ename = "minuet";
version = "0.7.1.0.20260318.10537";
version = "0.7.1.0.20260424.3009";
src = fetchurl {
url = "https://elpa.gnu.org/devel/minuet-0.7.1.0.20260318.10537.tar";
sha256 = "1s41pg3fpzjkk7qav3z8yqcgr6isx2a8gl63nfcc16m7hc868bga";
url = "https://elpa.gnu.org/devel/minuet-0.7.1.0.20260424.3009.tar";
sha256 = "0g9vqm9wby07pmhc6ai31krk473lif74273qbjrfzxzqbg4iavbk";
};
packageRequires = [
dash
@@ -6036,10 +6057,10 @@
elpaBuild {
pname = "modus-themes";
ename = "modus-themes";
version = "5.2.0.0.20260405.181509";
version = "5.2.0.0.20260418.131316";
src = fetchurl {
url = "https://elpa.gnu.org/devel/modus-themes-5.2.0.0.20260405.181509.tar";
sha256 = "0hzl0dppxh91zz868g7cvgrg3dy4whfqll38n39xdqz52wb25vj6";
url = "https://elpa.gnu.org/devel/modus-themes-5.2.0.0.20260418.131316.tar";
sha256 = "1qcb53pp05bk2fpjmli68kbmpk4wk8b7ll6iimvmgw8nlq4qzlhb";
};
packageRequires = [ ];
meta = {
@@ -6378,10 +6399,10 @@
elpaBuild {
pname = "notmuch-indicator";
ename = "notmuch-indicator";
version = "1.3.0.0.20260118.63859";
version = "1.3.0.0.20260413.54903";
src = fetchurl {
url = "https://elpa.gnu.org/devel/notmuch-indicator-1.3.0.0.20260118.63859.tar";
sha256 = "037k14ipdns0wwb0qssz805km2fd781y86d7dfwjzbfjpab0b7jy";
url = "https://elpa.gnu.org/devel/notmuch-indicator-1.3.0.0.20260413.54903.tar";
sha256 = "091rlqqp7ngff0x1f8fh6axyyzbxrdvwnjqyqly5axazv8sm846n";
};
packageRequires = [ ];
meta = {
@@ -6591,10 +6612,10 @@
elpaBuild {
pname = "org";
ename = "org";
version = "10.0pre0.20260406.143941";
version = "10.0pre0.20260421.184316";
src = fetchurl {
url = "https://elpa.gnu.org/devel/org-10.0pre0.20260406.143941.tar";
sha256 = "1yfs2s356ngz0h24771px3kqv4n5kp3pvimbl16ai39yq7cz06wd";
url = "https://elpa.gnu.org/devel/org-10.0pre0.20260421.184316.tar";
sha256 = "0809x9rw2smb5ya3x2272qcjjj6kx6xrj8ajlzzwiz2m1wdhz5w3";
};
packageRequires = [ ];
meta = {
@@ -6832,10 +6853,10 @@
elpaBuild {
pname = "org-transclusion";
ename = "org-transclusion";
version = "1.4.0.0.20260310.65912";
version = "1.4.0.0.20260417.100318";
src = fetchurl {
url = "https://elpa.gnu.org/devel/org-transclusion-1.4.0.0.20260310.65912.tar";
sha256 = "00cbsqj3cvyzsxf3fxq5wxflsah10f8g97iy5ab51kkc9hkqr90g";
url = "https://elpa.gnu.org/devel/org-transclusion-1.4.0.0.20260417.100318.tar";
sha256 = "1vbgvzqaxrih3r749w5hs724aph6xjiqzg6qf8zb5xz0iy2q20yh";
};
packageRequires = [ org ];
meta = {
@@ -7450,10 +7471,10 @@
elpaBuild {
pname = "posframe";
ename = "posframe";
version = "1.5.1.0.20260302.25154";
version = "1.5.1.0.20260423.21349";
src = fetchurl {
url = "https://elpa.gnu.org/devel/posframe-1.5.1.0.20260302.25154.tar";
sha256 = "0wy3gk16sbx48aw6a9p3w648lcwgcm9lgvp4drgg1ik2r034lbq6";
url = "https://elpa.gnu.org/devel/posframe-1.5.1.0.20260423.21349.tar";
sha256 = "0ylxj2spphywm7851lyrki34gkcznjd24xpd75f47pa1wcplkc48";
};
packageRequires = [ ];
meta = {
@@ -7621,10 +7642,10 @@
elpaBuild {
pname = "pulsar";
ename = "pulsar";
version = "1.3.4.0.20260228.81404";
version = "1.3.4.0.20260421.185730";
src = fetchurl {
url = "https://elpa.gnu.org/devel/pulsar-1.3.4.0.20260228.81404.tar";
sha256 = "10s74i456hwxcr909x1ckaaqxfhkpzprv8c7x5ggy1gia4gi8lfg";
url = "https://elpa.gnu.org/devel/pulsar-1.3.4.0.20260421.185730.tar";
sha256 = "100nyvpnap1bjc5k4ryni0h43dpacw1nbc6kyz73q82m19m78cnx";
};
packageRequires = [ ];
meta = {
@@ -7884,10 +7905,10 @@
elpaBuild {
pname = "realgud";
ename = "realgud";
version = "1.6.0.0.20260407.121006";
version = "1.6.0.0.20260411.181642";
src = fetchurl {
url = "https://elpa.gnu.org/devel/realgud-1.6.0.0.20260407.121006.tar";
sha256 = "08ypm3jsgmg7asgh6qbmfvz07clacmpaaphjmf46a7k1vn4lpyk9";
url = "https://elpa.gnu.org/devel/realgud-1.6.0.0.20260411.181642.tar";
sha256 = "11rs4xcy7xz2ckvpii33mmy04flwfladpi5j70bxc5anmhn5fh68";
};
packageRequires = [
load-relative
@@ -8573,10 +8594,10 @@
elpaBuild {
pname = "site-lisp";
ename = "site-lisp";
version = "0.3.0.0.20251230.232614";
version = "0.3.0.0.20260411.104225";
src = fetchurl {
url = "https://elpa.gnu.org/devel/site-lisp-0.3.0.0.20251230.232614.tar";
sha256 = "0j6gv9ccjfix0dslqfkf5n0w2x13k7a1ilq2y09k66ymcyvinkf9";
url = "https://elpa.gnu.org/devel/site-lisp-0.3.0.0.20260411.104225.tar";
sha256 = "0vasl2ya4vfhprpbhnydkzjm07lsdlfgpsb3gdqzllpd77fmjnfx";
};
packageRequires = [ ];
meta = {
@@ -9399,10 +9420,10 @@
elpaBuild {
pname = "termint";
ename = "termint";
version = "0.2.0.20251215.233408";
version = "0.2.2.0.20260411.234846";
src = fetchurl {
url = "https://elpa.gnu.org/devel/termint-0.2.0.20251215.233408.tar";
sha256 = "07zysh8rx2lrdkkg9xiqc0wqzqaydl07wsg42rn2jbwm7vd7h3fm";
url = "https://elpa.gnu.org/devel/termint-0.2.2.0.20260411.234846.tar";
sha256 = "0xsrqxgndzmxskcmfx4184nb7yvwmv9lqdy40cjhpc8f3xwmzqwq";
};
packageRequires = [ ];
meta = {
@@ -9569,10 +9590,10 @@
elpaBuild {
pname = "tmr";
ename = "tmr";
version = "1.3.0.0.20260326.104345";
version = "1.3.0.0.20260423.190529";
src = fetchurl {
url = "https://elpa.gnu.org/devel/tmr-1.3.0.0.20260326.104345.tar";
sha256 = "0b28pbpv0z474kqazx60l26zgqm60naymflx3vidf0gmi5zqh1j5";
url = "https://elpa.gnu.org/devel/tmr-1.3.0.0.20260423.190529.tar";
sha256 = "1m6ymyrv2fc8j22w12ppj2l1j6cczld8kd6hn2imbxga04knni9z";
};
packageRequires = [ ];
meta = {
@@ -9767,10 +9788,10 @@
elpaBuild {
pname = "transient";
ename = "transient";
version = "0.12.0.0.20260409.182552";
version = "0.13.0.0.20260422.164634";
src = fetchurl {
url = "https://elpa.gnu.org/devel/transient-0.12.0.0.20260409.182552.tar";
sha256 = "045vj0i21n5p2cxhckr3vpk1vrmh6icj0lsn45jx7c65bxszqxli";
url = "https://elpa.gnu.org/devel/transient-0.13.0.0.20260422.164634.tar";
sha256 = "1mqky3s852p8fw9h9s2wqn7f40fbk8zy5rz9yxwq88w55nyw2kw5";
};
packageRequires = [
compat
@@ -10124,10 +10145,10 @@
elpaBuild {
pname = "valign";
ename = "valign";
version = "3.1.1.0.20251228.153858";
version = "3.1.1.0.20260416.235856";
src = fetchurl {
url = "https://elpa.gnu.org/devel/valign-3.1.1.0.20251228.153858.tar";
sha256 = "1ah9qdxlc2m6k536dyc6pfxvh1jmbfxcpcybka4r447dssq5ysfz";
url = "https://elpa.gnu.org/devel/valign-3.1.1.0.20260416.235856.tar";
sha256 = "1apwa8sb1bpsrkk81q0z9qir71s5naiva16hn2vdjrn4cd1kzcdb";
};
packageRequires = [ ];
meta = {
@@ -10210,10 +10231,10 @@
elpaBuild {
pname = "vc-jj";
ename = "vc-jj";
version = "0.5.0.20260407.140853";
version = "0.5.0.20260416.141453";
src = fetchurl {
url = "https://elpa.gnu.org/devel/vc-jj-0.5.0.20260407.140853.tar";
sha256 = "14yi8wirqbz3k07lxyzm26vif4cny4abfwv5i27wpfzcahb8x0k1";
url = "https://elpa.gnu.org/devel/vc-jj-0.5.0.20260416.141453.tar";
sha256 = "0x5qj0a77wjfqxyr8wv9gswm205jj52cihlpmbkspn01a93ljr04";
};
packageRequires = [ compat ];
meta = {
@@ -10343,10 +10364,10 @@
elpaBuild {
pname = "vertico";
ename = "vertico";
version = "2.8.0.20260330.62818";
version = "2.8.0.20260419.183845";
src = fetchurl {
url = "https://elpa.gnu.org/devel/vertico-2.8.0.20260330.62818.tar";
sha256 = "0qj9z9r9ili22d3jaxa1br4ldhjx0hfw8wc619idy712g6lh954a";
url = "https://elpa.gnu.org/devel/vertico-2.8.0.20260419.183845.tar";
sha256 = "0mxhmknbx9sjsvxz9mc5vvg8pag9ijll0s71c2in307scdmp3lvk";
};
packageRequires = [ compat ];
meta = {
@@ -10495,10 +10516,10 @@
elpaBuild {
pname = "wcheck-mode";
ename = "wcheck-mode";
version = "2021.0.20260321.190237";
version = "2026.0.20260412.44645";
src = fetchurl {
url = "https://elpa.gnu.org/devel/wcheck-mode-2021.0.20260321.190237.tar";
sha256 = "0q5fwg35dgv886x7fqn6rsyp6yw9qcq4hhamdjdz98r6hg40y666";
url = "https://elpa.gnu.org/devel/wcheck-mode-2026.0.20260412.44645.tar";
sha256 = "0gbx80sv5kg8jnk5vzr3hr4lc25rhyl6jva14nr2c2v6bidfi97x";
};
packageRequires = [ ];
meta = {
@@ -2078,10 +2078,10 @@
elpaBuild {
pname = "denote-markdown";
ename = "denote-markdown";
version = "0.2.1";
version = "0.2.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/denote-markdown-0.2.1.tar";
sha256 = "1vrnvrcqdwvczls6dc351izvv2ljva3g4si9k6k177pr0r7cvpgv";
url = "https://elpa.gnu.org/packages/denote-markdown-0.2.2.tar";
sha256 = "1nb5rcjgkhw3nl2jva6lyblmfsl24cdryx3c16w8ydbx6fswhjpj";
};
packageRequires = [ denote ];
meta = {
@@ -2549,6 +2549,27 @@
};
}
) { };
dmsg = callPackage (
{
elpaBuild,
fetchurl,
lib,
}:
elpaBuild {
pname = "dmsg";
ename = "dmsg";
version = "0.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/dmsg-0.2.tar";
sha256 = "18wnbkd707n2qh9an72wizs0yp71hys6vg0y02iclqmj7igjg28k";
};
packageRequires = [ ];
meta = {
homepage = "https://elpa.gnu.org/packages/dmsg.html";
license = lib.licenses.free;
};
}
) { };
do-at-point = callPackage (
{
elpaBuild,
@@ -3226,10 +3247,10 @@
elpaBuild {
pname = "emms";
ename = "emms";
version = "25";
version = "26";
src = fetchurl {
url = "https://elpa.gnu.org/packages/emms-25.tar";
sha256 = "1p194bgysn0mmnaz0n9j236dmz53dlyg202xgq03bi5sl7lrffgp";
url = "https://elpa.gnu.org/packages/emms-26.tar";
sha256 = "0qcdhml0y69xjaa9l7jb1dsvqij1ksgw2x44zhxfn4f3fwkfxhd5";
};
packageRequires = [
cl-lib
@@ -4256,10 +4277,10 @@
elpaBuild {
pname = "gtags-mode";
ename = "gtags-mode";
version = "1.9.4";
version = "1.9.5";
src = fetchurl {
url = "https://elpa.gnu.org/packages/gtags-mode-1.9.4.tar";
sha256 = "01bpgw839gkvy8258kc5p0zy8xv9rh4hpzb0h1hlxcllkir6idgg";
url = "https://elpa.gnu.org/packages/gtags-mode-1.9.5.tar";
sha256 = "1qb1wcim2abjprmn2bsc6d7vmad217fkc450dgwgxxx5spjgz40d";
};
packageRequires = [ ];
meta = {
@@ -4810,10 +4831,10 @@
elpaBuild {
pname = "jarchive";
ename = "jarchive";
version = "0.11.0";
version = "0.12.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/jarchive-0.11.0.tar";
sha256 = "17klpdrv74hgpwnhknbihg90j6sbikf4j62lq0vbfv3s7r0a0gb8";
url = "https://elpa.gnu.org/packages/jarchive-0.12.0.tar";
sha256 = "04r47jj42crpvix55gfkbc15q0fnps2n1jsgf3z82734qwp9dxmi";
};
packageRequires = [ ];
meta = {
@@ -5068,10 +5089,10 @@
elpaBuild {
pname = "kubed";
ename = "kubed";
version = "0.5.1";
version = "0.6.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/kubed-0.5.1.tar";
sha256 = "1mfb9961xi7b7a4g3687y4hhlq37j98qsvq8cl4gsgy3x8j7vs2p";
url = "https://elpa.gnu.org/packages/kubed-0.6.1.tar";
sha256 = "1filhadwzdkrw2dsma28b10nx62qnhxkp8g483r0il986ipnnshp";
};
packageRequires = [ ];
meta = {
@@ -5671,10 +5692,10 @@
elpaBuild {
pname = "matlab-mode";
ename = "matlab-mode";
version = "8.1.2";
version = "8.2.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/matlab-mode-8.1.2.tar";
sha256 = "17s568gnfx0d6s411wpj033a39iik9bsk1w2xkwvgnxwdvw0haxh";
url = "https://elpa.gnu.org/packages/matlab-mode-8.2.0.tar";
sha256 = "1dk39r9nkm77gllm4xln0am1b73pirds5ss7m55n7hz2w1sas20s";
};
packageRequires = [ ];
meta = {
@@ -5841,10 +5862,10 @@
elpaBuild {
pname = "minimail";
ename = "minimail";
version = "0.3";
version = "0.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/minimail-0.3.tar";
sha256 = "1p8vk9z34ylzg9hvs88wik07m5mr72bqkh19kngw7gqlg0m2ydfp";
url = "https://elpa.gnu.org/packages/minimail-0.4.tar";
sha256 = "0ic8axms52v63wv5k0m1ny1dpnyzfqw4vj8fax4m1a0l6j3prfpx";
};
packageRequires = [ ];
meta = {
@@ -6483,10 +6504,10 @@
elpaBuild {
pname = "org";
ename = "org";
version = "9.8.1";
version = "9.8.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/org-9.8.1.tar";
sha256 = "1i7khz2h47byl4kh9kb0y548sw7n4zp6nfldqkvzab4np4snbdk8";
url = "https://elpa.gnu.org/packages/org-9.8.3.tar";
sha256 = "0csfrn0k1fysjfwf8xmdnmizfjz62scr3kjawpafwv58gvizk32z";
};
packageRequires = [ ];
meta = {
@@ -9163,10 +9184,10 @@
elpaBuild {
pname = "termint";
ename = "termint";
version = "0.2";
version = "0.2.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/termint-0.2.tar";
sha256 = "000s1z2535bi5pkg7q3d4y97njy0r5xj51r94a20vjd79jq4227f";
url = "https://elpa.gnu.org/packages/termint-0.2.2.tar";
sha256 = "0iavnximqsx6vl6yx36n829h67x4pyfmm8xcp5fzjwphdmgfdann";
};
packageRequires = [ ];
meta = {
@@ -9531,10 +9552,10 @@
elpaBuild {
pname = "transient";
ename = "transient";
version = "0.12.0";
version = "0.13.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/transient-0.12.0.tar";
sha256 = "0ml92xzbs57npwwyp46p03kd9xi9lhr5hvbrw6nayyc51hm4c7vk";
url = "https://elpa.gnu.org/packages/transient-0.13.0.tar";
sha256 = "0rwb7l823d4nkk7zmnyi5j7id7kswxrc0h9crqyd63n14w78bksi";
};
packageRequires = [
compat
@@ -10263,10 +10284,10 @@
elpaBuild {
pname = "wcheck-mode";
ename = "wcheck-mode";
version = "2021";
version = "2026";
src = fetchurl {
url = "https://elpa.gnu.org/packages/wcheck-mode-2021.tar";
sha256 = "0igsdsfw80nnrbw1ba3rgwp16ncy195kwv78ll9zbbf3y23n7kr0";
url = "https://elpa.gnu.org/packages/wcheck-mode-2026.tar";
sha256 = "019lsaihpl9w17qfhn8c5j8rp8nrvlmb16w6r8sb1iril31997sz";
};
packageRequires = [ ];
meta = {
@@ -473,7 +473,6 @@
) { };
boxquote = callPackage (
{
cl-lib ? null,
elpaBuild,
fetchurl,
lib,
@@ -481,12 +480,12 @@
elpaBuild {
pname = "boxquote";
ename = "boxquote";
version = "2.3.0.20231216.85245";
version = "2.4.1.0.20260415.194925";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/boxquote-2.3.0.20231216.85245.tar";
sha256 = "1b5kqxpvxfzq8n0q1bqjbyb0vmrsdm02qfai28ihxqixk4q8czbi";
url = "https://elpa.nongnu.org/nongnu-devel/boxquote-2.4.1.0.20260415.194925.tar";
sha256 = "1ywdip0h1cip8wbva4dwva2gss7wakjapf8fqc795d9izyvgmx0f";
};
packageRequires = [ cl-lib ];
packageRequires = [ ];
meta = {
homepage = "https://elpa.nongnu.org/nongnu-devel/boxquote.html";
license = lib.licenses.free;
@@ -502,10 +501,10 @@
elpaBuild {
pname = "buttercup";
ename = "buttercup";
version = "1.39.0.20260409.235427";
version = "1.40.0.20260411.203013";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/buttercup-1.39.0.20260409.235427.tar";
sha256 = "03fk6mhf67jccilkjfs7jwzs6la4ry4z8s5v1q7fci2jic3911y8";
url = "https://elpa.nongnu.org/nongnu-devel/buttercup-1.40.0.20260411.203013.tar";
sha256 = "13s30dv7vhzbm80f4brza2mk7lpf3l7ffbzbjv4ln2s8rgsh6g64";
};
packageRequires = [ ];
meta = {
@@ -567,10 +566,10 @@
elpaBuild {
pname = "casual";
ename = "casual";
version = "2.15.0.0.20260406.163831";
version = "2.16.0.0.20260415.182614";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/casual-2.15.0.0.20260406.163831.tar";
sha256 = "14vgq4q3k264aizqxjlfjjm5s4m7089nj3pjbjvzzs4kfkhpnqkk";
url = "https://elpa.nongnu.org/nongnu-devel/casual-2.16.0.0.20260415.182614.tar";
sha256 = "0a0ba4b506pbv4nff8qspqjfzlfng77i3nqs3vwg1ybz6rhj7cwj";
};
packageRequires = [
csv-mode
@@ -620,10 +619,10 @@
elpaBuild {
pname = "cider";
ename = "cider";
version = "1.22.0snapshot0.20260402.44710";
version = "1.22.0snapshot0.20260420.43551";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/cider-1.22.0snapshot0.20260402.44710.tar";
sha256 = "01i63fnilk7s1yswpbwxx2v0h8dafyyang2b23z15j0qhk18frlv";
url = "https://elpa.nongnu.org/nongnu-devel/cider-1.22.0snapshot0.20260420.43551.tar";
sha256 = "14vhww7sm3hzvrag671m8l4sbh4mi4iy395vnqhpyn6wxp0z9m91";
};
packageRequires = [
clojure-mode
@@ -713,10 +712,10 @@
elpaBuild {
pname = "cond-let";
ename = "cond-let";
version = "0.2.2.0.20260201.150042";
version = "0.2.2.0.20260420.135245";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/cond-let-0.2.2.0.20260201.150042.tar";
sha256 = "0fy4kji48wj5v1jf78kmd011v5v4q5b5n32mhhixv83243hng2fb";
url = "https://elpa.nongnu.org/nongnu-devel/cond-let-0.2.2.0.20260420.135245.tar";
sha256 = "1zm81zgmf5k6akh4pngjln1xp7p561h97hkcrsbc78v7nq48x8kb";
};
packageRequires = [ ];
meta = {
@@ -1665,10 +1664,10 @@
elpaBuild {
pname = "evil-matchit";
ename = "evil-matchit";
version = "4.1.0.0.20260409.93607";
version = "4.1.0.0.20260412.3556";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/evil-matchit-4.1.0.0.20260409.93607.tar";
sha256 = "0yn15q7vd5gq2ks4gnrgpsh1np26wwgl3s99plbsr3bzhgr0phxl";
url = "https://elpa.nongnu.org/nongnu-devel/evil-matchit-4.1.0.0.20260412.3556.tar";
sha256 = "0pzpzlix9l3rv1g1giibhhmxwczsg8i0zjibjszds0agcyl2p7dg";
};
packageRequires = [ ];
meta = {
@@ -1799,10 +1798,10 @@
elpaBuild {
pname = "exec-path-from-shell";
ename = "exec-path-from-shell";
version = "2.2.0.20251113.132402";
version = "2.2.0.20260423.183347";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/exec-path-from-shell-2.2.0.20251113.132402.tar";
sha256 = "0brfbnxa36rvql03l7pq8wja520yjzmayhfxzh94sirs4f3s5yhl";
url = "https://elpa.nongnu.org/nongnu-devel/exec-path-from-shell-2.2.0.20260423.183347.tar";
sha256 = "0s80hah6795p2k97qpnqj3baaw1cy9c54g38vbcczq4mn8faimk6";
};
packageRequires = [ ];
meta = {
@@ -2367,10 +2366,10 @@
elpaBuild {
pname = "geiser-stklos";
ename = "geiser-stklos";
version = "1.8.0.20240521.161150";
version = "1.8.0.20260411.100856";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/geiser-stklos-1.8.0.20240521.161150.tar";
sha256 = "13y0p8iqm4lrjg5ksb8d3rgpmjs0kwak7zicdq5m7sx1x511znd7";
url = "https://elpa.nongnu.org/nongnu-devel/geiser-stklos-1.8.0.20260411.100856.tar";
sha256 = "0mv74swpi87jkn3zmvljayppr3wn01niv9lnnhsdz29wb7gn9x0f";
};
packageRequires = [ geiser ];
meta = {
@@ -2620,10 +2619,10 @@
elpaBuild {
pname = "gptel";
ename = "gptel";
version = "0.9.9.4.0.20260410.1136";
version = "0.9.9.4.0.20260422.5643";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/gptel-0.9.9.4.0.20260410.1136.tar";
sha256 = "0z9wxzqmlm9r0pnmsgfjd4cpnywg42b6ip8pcy2732v9sry88mfh";
url = "https://elpa.nongnu.org/nongnu-devel/gptel-0.9.9.4.0.20260422.5643.tar";
sha256 = "07drqy9aksqsvfgg7a6r7bp430qccs6bngrs367dp0vr46mx6kw0";
};
packageRequires = [
compat
@@ -2817,10 +2816,10 @@
elpaBuild {
pname = "helm";
ename = "helm";
version = "4.0.6.0.20260214.143216";
version = "4.0.6.0.20260424.61638";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/helm-4.0.6.0.20260214.143216.tar";
sha256 = "0v1j7vvpw5m6cjrbmzbjssw8n7r4ipxkzwl13z351lqx81q27p9b";
url = "https://elpa.nongnu.org/nongnu-devel/helm-4.0.6.0.20260424.61638.tar";
sha256 = "1h45ffmj2myiv1yg0gy1kfxwky41xfzdzy4vhzc67w1a6g6kh9jq";
};
packageRequires = [
helm-core
@@ -2842,10 +2841,10 @@
elpaBuild {
pname = "helm-core";
ename = "helm-core";
version = "4.0.6.0.20260214.143216";
version = "4.0.6.0.20260424.61638";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/helm-core-4.0.6.0.20260214.143216.tar";
sha256 = "09rmliclxhzbai5cgy3f1bg1y9nk6a3xig79iz6yxfc26qs1kkh2";
url = "https://elpa.nongnu.org/nongnu-devel/helm-core-4.0.6.0.20260424.61638.tar";
sha256 = "1484qsigbybnxlcb0jrx8v62fa7dqv7szia7p1lghp3q76cjlfv7";
};
packageRequires = [ async ];
meta = {
@@ -3162,10 +3161,10 @@
elpaBuild {
pname = "isl";
ename = "isl";
version = "1.6.0.20260225.43822";
version = "1.6.0.20260414.62054";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/isl-1.6.0.20260225.43822.tar";
sha256 = "05fq6l8c8w4bkfkh2cmmmdnjwa6hmfpv00avkp6r5fz4v9fnkvwq";
url = "https://elpa.nongnu.org/nongnu-devel/isl-1.6.0.20260414.62054.tar";
sha256 = "149fcgwl3r5wiw8zwb1cgy4g96nv90a8wpjk8qh0dgcdz1vgsiqq";
};
packageRequires = [ ];
meta = {
@@ -3231,10 +3230,10 @@
elpaBuild {
pname = "jabber";
ename = "jabber";
version = "0.10.5.0.20260410.45349";
version = "0.10.5.0.20260423.192938";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/jabber-0.10.5.0.20260410.45349.tar";
sha256 = "07nnqk811i6vvzanqh4ymnj43797fahic1n8h4pazdpibx71p0g2";
url = "https://elpa.nongnu.org/nongnu-devel/jabber-0.10.5.0.20260423.192938.tar";
sha256 = "1q79iv4znishj6rdz1m76r0c8h72i2g47xfh6xfw2gqxbkkyilv3";
};
packageRequires = [ fsm ];
meta = {
@@ -3586,10 +3585,10 @@
elpaBuild {
pname = "magit";
ename = "magit";
version = "4.5.0.0.20260409.85727";
version = "4.5.0.0.20260422.220622";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/magit-4.5.0.0.20260409.85727.tar";
sha256 = "1hpmc3v9pgdlrkddxikj238r7z6fhpfspx083jrjn51pcpjinkyp";
url = "https://elpa.nongnu.org/nongnu-devel/magit-4.5.0.0.20260422.220622.tar";
sha256 = "1sm2ixy8hnamzvapy4i2j58ydharg47xb3s1981yr2d948dl2kxd";
};
packageRequires = [
compat
@@ -3619,10 +3618,10 @@
elpaBuild {
pname = "magit-section";
ename = "magit-section";
version = "4.5.0.0.20260409.85727";
version = "4.5.0.0.20260422.220622";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/magit-section-4.5.0.0.20260409.85727.tar";
sha256 = "0kxyw9c6xm6v8pzh575ys0w56pdjgyr4b9x1i9qwnv8yhampp2y0";
url = "https://elpa.nongnu.org/nongnu-devel/magit-section-4.5.0.0.20260422.220622.tar";
sha256 = "13hzbc26wi6llab43gy8m6jpnm5faji7bqk5xlaxwinfqhzjfb2a";
};
packageRequires = [
compat
@@ -3645,10 +3644,10 @@
elpaBuild {
pname = "markdown-mode";
ename = "markdown-mode";
version = "2.9alpha0.20260321.14320";
version = "2.9alpha0.20260423.150805";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/markdown-mode-2.9alpha0.20260321.14320.tar";
sha256 = "1a0a9d199fkkxv73fdvy1x985r0x5z4q1s48axgwh7rsv24pvbqp";
url = "https://elpa.nongnu.org/nongnu-devel/markdown-mode-2.9alpha0.20260423.150805.tar";
sha256 = "1ap384fyxbny1pn59grjj6x8y29hcfl1vlhim4r177j2killr4sh";
};
packageRequires = [ ];
meta = {
@@ -3849,10 +3848,10 @@
elpaBuild {
pname = "multiple-cursors";
ename = "multiple-cursors";
version = "1.5.0.0.20260117.123334";
version = "1.5.0.0.20260419.93113";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/multiple-cursors-1.5.0.0.20260117.123334.tar";
sha256 = "1qnn3zx296zjvs9y10gq9a7n9ja68ipsvk0qbh48ib6z8n0b4sgh";
url = "https://elpa.nongnu.org/nongnu-devel/multiple-cursors-1.5.0.0.20260419.93113.tar";
sha256 = "0qbgka567dd72y9mlm46kwf11rdjk9s94z4vqn73kmk0k15zjg82";
};
packageRequires = [ cl-lib ];
meta = {
@@ -4075,10 +4074,10 @@
elpaBuild {
pname = "org-journal";
ename = "org-journal";
version = "2.2.0.0.20251203.115702";
version = "2.2.0.0.20260413.140147";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/org-journal-2.2.0.0.20251203.115702.tar";
sha256 = "1rdrkfhk9rj7a7r520x1n7i3ddpd122gknvw7bi1ab76rnq95zyl";
url = "https://elpa.nongnu.org/nongnu-devel/org-journal-2.2.0.0.20260413.140147.tar";
sha256 = "164mdrjiziklhvsz98i9pb01520y8r81ji7vbzkvpnxp1ia8a2m4";
};
packageRequires = [ org ];
meta = {
@@ -4461,10 +4460,10 @@
elpaBuild {
pname = "pg";
ename = "pg";
version = "0.64.0.20260406.70807";
version = "0.65.0.20260421.212130";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/pg-0.64.0.20260406.70807.tar";
sha256 = "1cb0grckwbh5xibka5nsxzl3r65hiph4xc1dph3y5la503czjj9h";
url = "https://elpa.nongnu.org/nongnu-devel/pg-0.65.0.20260421.212130.tar";
sha256 = "13a88q1hx7mkc58a3ry5ym56kn5ppqr32j18n2ms69a5if301nhs";
};
packageRequires = [ peg ];
meta = {
@@ -4793,6 +4792,7 @@
) { };
rpm-spec-mode = callPackage (
{
compat,
elpaBuild,
fetchurl,
lib,
@@ -4800,12 +4800,12 @@
elpaBuild {
pname = "rpm-spec-mode";
ename = "rpm-spec-mode";
version = "0.16.0.20250329.13938";
version = "0.16.0.20260423.74352";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/rpm-spec-mode-0.16.0.20250329.13938.tar";
sha256 = "1gmqnv1ckypns7aiz4w5kb3l8m66bfxlw8z19i3ag5im8rlpc9lp";
url = "https://elpa.nongnu.org/nongnu-devel/rpm-spec-mode-0.16.0.20260423.74352.tar";
sha256 = "0pqq31x60g3ig7fmd4jh7kjz051m020kqs3pfpbiznwhjh8v63ad";
};
packageRequires = [ ];
packageRequires = [ compat ];
meta = {
homepage = "https://elpa.nongnu.org/nongnu-devel/rpm-spec-mode.html";
license = lib.licenses.free;
@@ -4842,10 +4842,10 @@
elpaBuild {
pname = "rust-mode";
ename = "rust-mode";
version = "1.0.6.0.20260227.53908";
version = "1.0.6.0.20260416.50503";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/rust-mode-1.0.6.0.20260227.53908.tar";
sha256 = "06ajn9j2dyjbqm87800fbqa0ixrvxz44x23cxp1901vrqwfdmw60";
url = "https://elpa.nongnu.org/nongnu-devel/rust-mode-1.0.6.0.20260416.50503.tar";
sha256 = "12bcjfi7s7gisx31rwncvcs7j7m57kcs7rs5jfhmmpfsm8n24yba";
};
packageRequires = [ ];
meta = {
@@ -5038,10 +5038,10 @@
elpaBuild {
pname = "slime";
ename = "slime";
version = "2.32snapshot0.20260329.213326";
version = "2.32snapshot0.20260421.225639";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/slime-2.32snapshot0.20260329.213326.tar";
sha256 = "0327cbysrbizyf3r8crlmcd1wdsxkk29df98gwrrr1w6cvx3162v";
url = "https://elpa.nongnu.org/nongnu-devel/slime-2.32snapshot0.20260421.225639.tar";
sha256 = "0gqj2nd82wljvfrqwah3qczkjq8q4i1k3cprypydxzlfh45k13jf";
};
packageRequires = [ macrostep ];
meta = {
@@ -5123,10 +5123,10 @@
elpaBuild {
pname = "spacemacs-theme";
ename = "spacemacs-theme";
version = "0.2.0.20251221.165628";
version = "0.2.0.20260414.205200";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/spacemacs-theme-0.2.0.20251221.165628.tar";
sha256 = "16d4g4cyjij8s7pzf0g0pnbsfxzxw8lwdamwaq4whmn5g320yb28";
url = "https://elpa.nongnu.org/nongnu-devel/spacemacs-theme-0.2.0.20260414.205200.tar";
sha256 = "076nbpp16wy6j9ic3bhj9cj58bmah6ivhh842lkh7y7lgp6f7q7j";
};
packageRequires = [ ];
meta = {
@@ -5249,10 +5249,10 @@
elpaBuild {
pname = "subed";
ename = "subed";
version = "1.4.1.0.20260403.230353";
version = "1.4.2.0.20260418.123100";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/subed-1.4.1.0.20260403.230353.tar";
sha256 = "0cwp2cyhxiv4wl2rq7jip9864hcbhh3af9prmm347jkxv9wzhyk7";
url = "https://elpa.nongnu.org/nongnu-devel/subed-1.4.2.0.20260418.123100.tar";
sha256 = "1xdz1vglwza0lik5zqx6f8x8w3a7yq8x7wkd7zr5k932pjmhqbnd";
};
packageRequires = [ ];
meta = {
@@ -5314,10 +5314,10 @@
elpaBuild {
pname = "symbol-overlay";
ename = "symbol-overlay";
version = "4.3.0.20240913.162400";
version = "4.3.0.20260423.145452";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/symbol-overlay-4.3.0.20240913.162400.tar";
sha256 = "0i5rs6cqfjl1c6m8wf0wwlzbsc7zvw9x0b8g8rds9n5c23b7gv15";
url = "https://elpa.nongnu.org/nongnu-devel/symbol-overlay-4.3.0.20260423.145452.tar";
sha256 = "16gm3gj84wd7v6qhf3p0sz2jgbbyi60kqwkb41rfiz7n79qlijpg";
};
packageRequires = [ seq ];
meta = {
@@ -5575,10 +5575,10 @@
elpaBuild {
pname = "treesit-fold";
ename = "treesit-fold";
version = "0.2.1.0.20260226.70748";
version = "0.2.1.0.20260417.100827";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/treesit-fold-0.2.1.0.20260226.70748.tar";
sha256 = "017af28xvnkqzqwxzcwiw4hsvmfwvbn1np5gqc54fybrpa9lkkzs";
url = "https://elpa.nongnu.org/nongnu-devel/treesit-fold-0.2.1.0.20260417.100827.tar";
sha256 = "04v6yqj6a4aahff2kbpmj3k8jzqxa6idfgpfsd6l98yb3kqldil7";
};
packageRequires = [ ];
meta = {
@@ -5660,10 +5660,10 @@
elpaBuild {
pname = "typst-ts-mode";
ename = "typst-ts-mode";
version = "0.12.2.0.20260330.125224";
version = "0.12.2.0.20260415.103532";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/typst-ts-mode-0.12.2.0.20260330.125224.tar";
sha256 = "0qjbypy1jxy7jcpvqh49b8d3b276qgbzlpj09g0bw9dz2g0mp6pr";
url = "https://elpa.nongnu.org/nongnu-devel/typst-ts-mode-0.12.2.0.20260415.103532.tar";
sha256 = "190jabvm3p74cd96rrbj45y68myg32zvlxjrq01zvi3jv29xbpf6";
};
packageRequires = [ ];
meta = {
@@ -5808,10 +5808,10 @@
elpaBuild {
pname = "vm";
ename = "vm";
version = "8.3.3snapshot0.20260225.71602";
version = "8.3.3snapshot0.20260420.63204";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/vm-8.3.3snapshot0.20260225.71602.tar";
sha256 = "1w6p8cygsvwzzci2fjjy4rysb6n888frsa1ay99p66x8kq5s7n50";
url = "https://elpa.nongnu.org/nongnu-devel/vm-8.3.3snapshot0.20260420.63204.tar";
sha256 = "03804kmfwp994szv5gdgsg1sxmmdhzam8aq17r402chj6lhpla1x";
};
packageRequires = [ vcard ];
meta = {
@@ -5940,10 +5940,10 @@
elpaBuild {
pname = "with-editor";
ename = "with-editor";
version = "3.4.9.0.20260301.131715";
version = "3.4.9.0.20260422.182143";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/with-editor-3.4.9.0.20260301.131715.tar";
sha256 = "1cf3xgaqbczsd77h5psdk6q5407nrmkzj9s5zf77g7zs0xwdi317";
url = "https://elpa.nongnu.org/nongnu-devel/with-editor-3.4.9.0.20260422.182143.tar";
sha256 = "10zb39gwdbamb11msxkayzspi09fpagip93xm90lc39w850xmbbm";
};
packageRequires = [ compat ];
meta = {
@@ -6050,10 +6050,10 @@
elpaBuild {
pname = "xah-fly-keys";
ename = "xah-fly-keys";
version = "28.11.20260215192642.0.20260215.201333";
version = "28.11.20260416140940.0.20260416.141130";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/xah-fly-keys-28.11.20260215192642.0.20260215.201333.tar";
sha256 = "08pdqfglkl150pw43llm5z3a2mpzdil315a732i7fa4a27qwkxfn";
url = "https://elpa.nongnu.org/nongnu-devel/xah-fly-keys-28.11.20260416140940.0.20260416.141130.tar";
sha256 = "0mrfn3z60jgk2f9lccb3qcaa52rvh366ys97ypz5lgjlxal1sr5r";
};
packageRequires = [ ];
meta = {
@@ -6114,10 +6114,10 @@
elpaBuild {
pname = "yaml-mode";
ename = "yaml-mode";
version = "0.0.16.0.20241003.15333";
version = "0.0.16.0.20260420.21817";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu-devel/yaml-mode-0.0.16.0.20241003.15333.tar";
sha256 = "1c6lid3iwxa911zk579rvy1dq8azq6xmp0s6lahchkcq40dvbjl5";
url = "https://elpa.nongnu.org/nongnu-devel/yaml-mode-0.0.16.0.20260420.21817.tar";
sha256 = "1lbh8w21g897zvi9lys47kj5vkgpr9ifp8lgpr5jcxvsrj0xbayv";
};
packageRequires = [ ];
meta = {
@@ -473,7 +473,6 @@
) { };
boxquote = callPackage (
{
cl-lib ? null,
elpaBuild,
fetchurl,
lib,
@@ -481,12 +480,12 @@
elpaBuild {
pname = "boxquote";
ename = "boxquote";
version = "2.3";
version = "2.4.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/boxquote-2.3.tar";
sha256 = "0fsvfy5b4k0h6fxmvvdngxap5pfypm8iik0m1jq70za7n7g8qvmy";
url = "https://elpa.nongnu.org/nongnu/boxquote-2.4.1.tar";
sha256 = "18gwx8dh2xbr90m1mvmp5jb8ssyn5cmq833sd4nsa76i021yh1l6";
};
packageRequires = [ cl-lib ];
packageRequires = [ ];
meta = {
homepage = "https://elpa.nongnu.org/nongnu/boxquote.html";
license = lib.licenses.free;
@@ -502,10 +501,10 @@
elpaBuild {
pname = "buttercup";
ename = "buttercup";
version = "1.39";
version = "1.40";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/buttercup-1.39.tar";
sha256 = "0a2yj10jrql77l0dqyf95yzb6cd8z7z9p9jjc6lb7z8j26m208sj";
url = "https://elpa.nongnu.org/nongnu/buttercup-1.40.tar";
sha256 = "09r1yp05m7p6906isz1x6dhc7mrxsdisxa19a8py73gqsm1ymf1c";
};
packageRequires = [ ];
meta = {
@@ -567,10 +566,10 @@
elpaBuild {
pname = "casual";
ename = "casual";
version = "2.15.0";
version = "2.16.0";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/casual-2.15.0.tar";
sha256 = "1ydd6ilxh5msh5l1f86b2mi963hls4m5aipshfc0bygwfh83m7s0";
url = "https://elpa.nongnu.org/nongnu/casual-2.16.0.tar";
sha256 = "1s0d5c3aacyh1n5qy7ka4xwnmdbx3qrh0z0z41bc958zmay6mgpa";
};
packageRequires = [
csv-mode
@@ -4483,10 +4482,10 @@
elpaBuild {
pname = "pg";
ename = "pg";
version = "0.64";
version = "0.65";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/pg-0.64.tar";
sha256 = "1dip1s8l2im8j40hgn3jrqrb8mbly2wfd5fy4vmz9mn4axnxdvkn";
url = "https://elpa.nongnu.org/nongnu/pg-0.65.tar";
sha256 = "1gf93xsldhx105r5m03hiq3lzlzb3r5pjd3j99jl0gs3z8pmn8ic";
};
packageRequires = [ peg ];
meta = {
@@ -5266,10 +5265,10 @@
elpaBuild {
pname = "subed";
ename = "subed";
version = "1.4.1";
version = "1.4.2";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/subed-1.4.1.tar";
sha256 = "11rg436w2rdcpiix5hzmdb7r736nhiqpm4h8b18ac7dv6nnjjnwd";
url = "https://elpa.nongnu.org/nongnu/subed-1.4.2.tar";
sha256 = "0crpgxqk164z602iajhx7b0zxdjs5f9g8hv0q6n1vjrsby87pl1x";
};
packageRequires = [ ];
meta = {
@@ -6090,10 +6089,10 @@
elpaBuild {
pname = "xah-fly-keys";
ename = "xah-fly-keys";
version = "28.11.20260215192642";
version = "28.11.20260416140940";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-28.11.20260215192642.tar";
sha256 = "0k0p60wirvp36ifaqkq6420rxfj1ys4cb8j34q7rhcbdfw1cp9dd";
url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-28.11.20260416140940.tar";
sha256 = "0zzdwrd4h12bqlxzpj7xs4m5cdgx9nbljrnyld6qs5b19352izyl";
};
packageRequires = [ ];
meta = {
File diff suppressed because it is too large Load Diff
@@ -1,118 +0,0 @@
{
lib,
stdenv,
cmake,
curl,
fetchFromGitHub,
hunspell,
pkg-config,
qmake,
qtbase,
qtwebengine,
wrapGAppsHook3,
wrapQtAppsHook,
}:
let
version = "2.0.0";
srcs = {
mindforger = fetchFromGitHub {
owner = "dvorka";
repo = "mindforger";
rev = version;
sha256 = "sha256-+8miV2xuQcaWGdWCEXPIg6EXjAHtgD9pX7Z8ZNhpMjA=";
};
cmark-gfm = fetchFromGitHub {
owner = "dvorka";
repo = "cmark";
rev = "4ca8688093228c599432a87d7bd945804c573d51";
sha256 = "sha256-0WiG8aot8mc0h1BKPgC924UKQrgunZvKKBy9bD7nhoQ=";
};
mindforger-repository = fetchFromGitHub {
owner = "dvorka";
repo = "mindforger-repository";
rev = "ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433";
sha256 = "sha256-JGTP1He7G2Obmsav64Lf7BLHp8OTvPtg38VHsrEC36o=";
};
};
in
stdenv.mkDerivation {
pname = "mindforger";
inherit version;
src = srcs.mindforger;
nativeBuildInputs = [
cmake
pkg-config
qmake
wrapGAppsHook3
wrapQtAppsHook
];
buildInputs = [
curl
hunspell
qtbase
qtwebengine
];
# Disable the cmake hook (so we don't try to build MindForger with it), and
# build MindForger's internal fork of cmark-gfm ahead of MindForger itself.
#
# Moreover unpack the docs that are needed for the MacOS build.
postUnpack = ''
cp -TR ${srcs.cmark-gfm} $sourceRoot/deps/cmark-gfm
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
cp -TR ${srcs.mindforger-repository} $sourceRoot/doc
'';
dontUseCmakeConfigure = true;
preBuild = ''
(
mkdir deps/cmark-gfm/build &&
cd deps/cmark-gfm/build &&
cmake -DCMARK_TESTS=OFF -DCMARK_SHARED=OFF .. &&
cmake --build . --parallel
)'';
doCheck = true;
patches = [
./hunspell_pkgconfig.patch
];
postPatch = ''
substituteInPlace lib/src/install/installer.cpp --replace /usr "$out"
substituteInPlace app/resources/gnome-shell/mindforger.desktop --replace /usr "$out"
for f in app/app.pro lib/lib.pro; do
substituteInPlace "$f" --replace "QMAKE_CXX = g++" ""
done
'';
qmakeFlags = [
"-r"
"mindforger.pro"
"CONFIG+=mfnoccache"
"CONFIG+=mfwebengine"
];
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir "$out"/Applications
mv app/mindforger.app "$out"/Applications/
'';
meta = {
description = "Thinking Notebook & Markdown IDE";
longDescription = ''
MindForger is actually more than an editor or IDE - it's human
mind inspired personal knowledge management tool
'';
homepage = "https://www.mindforger.com";
license = lib.licenses.gpl2Plus;
platforms = [
"aarch64-linux"
"x86_64-linux"
];
maintainers = with lib.maintainers; [ cyplo ];
mainProgram = "mindforger";
};
}
@@ -1,23 +0,0 @@
diff --git a/app/app.pro b/app/app.pro
index 89ff5c0b..9625ecd1 100644
--- a/app/app.pro
+++ b/app/app.pro
@@ -159,12 +159,13 @@ macx {
} else:unix {
# pkgconfig-based configuration does not work @ Ubuntu
- # CONFIG += link_pkgconfig
- # PKGCONFIG += hunspell
+ # but does on NixOS
+ CONFIG += link_pkgconfig
+ PKGCONFIG += hunspell
- # hardcoded paths are (unfortunately) more robust:
- INCLUDEPATH += /usr/include/hunspell
- LIBS += -lhunspell
+ # Where hardcoded paths are (unfortunately) more robust^W^W^W^Wannoying:
+ # INCLUDEPATH += /usr/include/hunspell
+ # LIBS += -lhunspell
HEADERS += \
./src/qt/spelling/dictionary_provider_hunspell.h \
@@ -1,72 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
which,
qttools,
wrapQtAppsHook,
libuchardet,
qtbase,
qtsvg,
qtwebengine,
qtwebsockets,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "notepadqq";
# shipping a beta build as there's no proper release which supports qtwebengine
version = "2.0.0-beta";
src = fetchFromGitHub {
owner = "notepadqq";
repo = "notepadqq";
rev = "v${finalAttrs.version}";
sha256 = "sha256-XA9Ay9kJApY+bDeOf0iPv+BWYFuTmIuqsLEPgRTCZCE=";
};
patches = [
# Fix: chmod in the Makefile fails randomly
# Move it to preFixup instead
./fix-configure.patch
];
nativeBuildInputs = [
pkg-config
which
qttools
wrapQtAppsHook
];
buildInputs = [
libuchardet
qtbase
qtsvg
qtwebengine
qtwebsockets
];
strictDeps = false; # breaks qmake
preConfigure = ''
export LRELEASE="lrelease"
'';
dontWrapQtApps = true;
preFixup = ''
chmod +x $out/bin/notepadqq
wrapQtApp $out/bin/notepadqq
'';
enableParallelBuilding = true;
meta = {
homepage = "https://notepadqq.com/";
description = "Notepad++-like editor for the Linux desktop";
license = lib.licenses.gpl3;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.rszibele ];
mainProgram = "notepadqq";
};
})
@@ -1,22 +0,0 @@
diff --git a/src/ui/ui.pro b/src/ui/ui.pro
index a1346eb..f8052a2 100644
--- a/src/ui/ui.pro
+++ b/src/ui/ui.pro
@@ -293,16 +293,9 @@ unix:!macx {
appstream.path = "$$INSTALL_ROOT$$PREFIX/share/metainfo/"
appstream.files += "$$INSTALLFILESDIR/notepadqq.appdata.xml"
- # == Dummy target used to fix permissions at the end of the install ==
- # A random path. Without one, qmake refuses to create the rule.
- set_permissions.path = "$$INSTALL_ROOT$$PREFIX/bin/"
- # We want to keep $$INSTALL_ROOT as a variable in the makefile, so we use $(INSTALL_ROOT)
- unix:set_permissions.extra = chmod 755 $(INSTALL_ROOT)\"$$PREFIX/bin/notepadqq\"
-
# MAKE INSTALL
INSTALLS += target \
icon_h16 icon_h22 icon_h24 icon_h32 icon_h48 icon_h64 icon_h96 icon_h128 icon_h256 icon_h512 icon_hscalable \
- misc_data launch shortcuts appstream \
- set_permissions
+ misc_data launch shortcuts appstream
}
@@ -5,24 +5,26 @@
nix-update-script,
openssl,
perl,
zig_0_15,
zig,
gitMinimal,
pkg-config,
stdenv,
vimUtils,
writableTmpDirAsHomeHook,
}:
let
version = "0.5.2";
version = "0.6.4";
src = fetchFromGitHub {
owner = "dmtrKovalenko";
repo = "fff.nvim";
tag = "v${version}";
hash = "sha256-rv33dRf53m9iJwRl56z9oU0EuY1wUChsZyHOi/3gv4A=";
hash = "sha256-vu5yqOvVAPXHMi8sZFQuH9rNsFDffh3Ja74Be0Cs64c=";
};
fff-nvim-lib = rustPlatform.buildRustPackage {
pname = "fff-nvim-lib";
inherit version src;
cargoHash = "sha256-ylQtZa3ZRs38mhge5tLLCRpnUdHYSjuZOwU+/6TO8Cw=";
cargoHash = "sha256-w6KwiE0rAT00fiRa1rT8uthVgcMB7EFGoG3+M5MYEBo=";
cargoBuildFlags = [
"-p"
@@ -42,8 +44,17 @@ let
pkg-config
perl
rustPlatform.bindgenHook
writableTmpDirAsHomeHook
];
# Some tests need git
nativeCheckInputs = [ gitMinimal ];
# Tests need these permissions in order to use the FSEvents API on macOS.
sandboxProfile = ''
(allow mach-lookup (global-name "com.apple.FSEvents"))
'';
buildInputs = [
openssl
];
@@ -59,7 +70,7 @@ let
# Allow undefined symbols on Darwin - they will be provided by Neovim's LuaJIT runtime
RUSTFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-C link-arg=-undefined -C link-arg=dynamic_lookup";
ZIG = lib.getExe zig_0_15; # zlob requires zig
ZIG = lib.getExe zig; # zlob requires zig
};
};
in
@@ -1,90 +0,0 @@
{
lib,
stdenv,
cmake,
fetchFromGitHub,
fetchpatch,
pkg-config,
boost,
exiv2,
fftwFloat,
gsl,
ilmbase,
lcms2,
libraw,
libtiff,
openexr,
libsForQt5,
eigen,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "luminance-hdr";
version = "2.6.1.1";
src = fetchFromGitHub {
owner = "LuminanceHDR";
repo = "LuminanceHDR";
rev = "v.${finalAttrs.version}";
sha256 = "sha256-PWqtYGx8drfMVp7D7MzN1sIUTQ+Xz5yyeHN87p2r6PY=";
};
patches = [
(fetchpatch {
name = "exiv2-0.28.patch";
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/luminancehdr/-/raw/2e4a7321c7d20a52da104f4aa4dc76ac7224d94b/exiv2-0.28.patch";
hash = "sha256-Hj+lqAd5VuTjmip8Po7YiGOWWDxnu4IMXOiEFBukXpk=";
})
(fetchpatch {
name = "luminance-hdr-Fix-building-with-Boost-1.85.0.patch";
url = "https://github.com/LuminanceHDR/LuminanceHDR/commit/33b364f76b0edca4352cf701c1557d0c0e796c4f.patch";
hash = "sha256-jzyfKFmmzo6WUOUn33gr1g4MbSVpRfKLUIi49PSF5cg=";
})
# Fix lots of errors of form:
# include/boost/math/tools/type_traits.hpp:208:12: error: 'is_final' has not been declared in 'std'
(fetchpatch {
name = "luminancehdr-fix-boost-1.87.0-compilation.patch";
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/luminancehdr/-/raw/d5fdbad3c11b6d414d842a7751e858f51292f544/luminancehdr-fix-boost-1.87.0-compilation.patch";
hash = "sha256-bKJhENnOWNwKUUSrSUF9fS1Por1A7exYAeiuCa2fRJY=";
})
# Fix error:
# /build/source/src/Libpfs/manip/gamma_levels.cpp:136:25: error: call of overloaded 'clamp(float, float, float)' is ambiguous
(fetchpatch {
name = "luminancehdr-clamp.patch";
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/luminancehdr/-/raw/d5fdbad3c11b6d414d842a7751e858f51292f544/clamp.patch";
hash = "sha256-iAcZV1lFREPzjA9J3feSdhyTougvQA11I0IQRRYOmxY=";
})
];
env.NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR";
buildInputs = [
libsForQt5.qtbase
libsForQt5.qtdeclarative
libsForQt5.qttools
libsForQt5.qtwebengine
eigen
boost
exiv2
fftwFloat
gsl
ilmbase
lcms2
libraw
libtiff
openexr
];
nativeBuildInputs = [
libsForQt5.wrapQtAppsHook
cmake
pkg-config
];
meta = {
homepage = "https://qtpfsgui.sourceforge.net/";
description = "Complete open source solution for HDR photography";
license = lib.licenses.gpl2;
platforms = lib.platforms.linux;
};
})
-63
View File
@@ -1,63 +0,0 @@
{
lib,
config,
fetchFromGitHub,
python3Packages,
wmctrl,
qtbase,
mkDerivationWith,
}:
{
dev =
with python3Packages;
mkDerivationWith buildPythonPackage rec {
pname = "plover";
version = "4.0.2";
format = "setuptools";
meta = {
broken = stdenv.hostPlatform.isDarwin;
description = "OpenSteno Plover stenography software";
maintainers = with lib.maintainers; [
twey
kovirobi
];
license = lib.licenses.gpl2;
};
src = fetchFromGitHub {
owner = "openstenoproject";
repo = "plover";
tag = "v${version}";
sha256 = "sha256-VpQT25bl8yPG4J9IwLkhSkBt31Y8BgPJdwa88WlreA8=";
};
# I'm not sure why we don't find PyQt5 here but there's a similar
# sed on many of the platforms Plover builds for
postPatch = "sed -i /PyQt5/d setup.cfg";
nativeCheckInputs = [
pytest
mock
];
propagatedBuildInputs = [
babel
pyqt5
xlib
pyserial
appdirs
wcwidth
setuptools
];
dontWrapQtApps = true;
preFixup = ''
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
'';
};
}
// lib.optionalAttrs config.allowAliases {
stable = throw "plover.stable was removed because it used Python 2. Use plover.dev instead."; # added 2022-06-05
}
@@ -1,55 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
qtbase,
wrapQtAppsHook,
qtmultimedia,
qtx11extras,
qttools,
qtwebengine,
libidn,
qca-qt5,
libxscrnsaver,
hunspell,
}:
stdenv.mkDerivation rec {
pname = "psi";
version = "1.5";
src = fetchFromGitHub {
owner = "psi-im";
repo = "psi";
rev = version;
sha256 = "hXDZODHl14kimRlMQ1XjISQ2kk9NS78axVN3U21wkuM=";
fetchSubmodules = true;
};
patches = [
./fix-cmake-hunspell-1.7.patch
];
nativeBuildInputs = [
cmake
qttools
wrapQtAppsHook
];
buildInputs = [
qtbase
qtmultimedia
qtx11extras
qtwebengine
libidn
qca-qt5
libxscrnsaver
hunspell
];
meta = {
homepage = "https://psi-im.org";
description = "XMPP (Jabber) client";
mainProgram = "psi";
maintainers = [ lib.maintainers.raskin ];
license = lib.licenses.gpl2;
platforms = lib.platforms.linux;
};
}
@@ -1,12 +0,0 @@
diff --git a/cmake/modules/FindHunspell.cmake b/cmake/modules/FindHunspell.cmake
index a2d180b3..3a5aef3a 100644
--- a/cmake/modules/FindHunspell.cmake
+++ b/cmake/modules/FindHunspell.cmake
@@ -64,6 +64,7 @@ set(HUNSPELL_NAMES
hunspell-1.4
hunspell-1.5
hunspell-1.6
+ hunspell-1.7
libhunspell${d}
)
find_library(
@@ -1,102 +0,0 @@
{
lib,
stdenv,
fetchFromGitLab,
wafHook,
pkg-config,
cmake,
wrapQtAppsHook,
qtbase,
python3,
qtwebengine,
qtsvg,
ncurses6,
kio,
kauth,
kiconthemes,
kconfigwidgets,
kxmlgui,
kcoreaddons,
kconfig,
kwidgetsaddons,
ki18n,
sonnet,
kdelibs4support,
}:
stdenv.mkDerivation rec {
pname = "semantik";
version = "1.2.10";
src = fetchFromGitLab {
owner = "ita1024";
repo = "semantik";
rev = "semantik-${version}";
hash = "sha256-qJ6MGxnxXcibF2qXZ2w7Ey/aBIEIx8Gg0dM2PnCl09Y=";
};
patches = [
./qt5.patch
];
postPatch = ''
echo "${lib.getDev qtwebengine}"
substituteInPlace wscript \
--replace @Qt5Base_dev@ "${lib.getDev qtbase}" \
--replace @KF5KIOCore_dev@ "${lib.getDev kio}" \
--replace @KF5Auth_dev@ "${lib.getDev kauth}" \
--replace @KF5IconThemes_dev@ "${lib.getDev kiconthemes}" \
--replace @KF5ConfigWidgets_dev@ "${lib.getDev kconfigwidgets}" \
--replace @KF5XmlGui_dev@ "${lib.getDev kxmlgui}" \
--replace @KF5CoreAddons_dev@ "${lib.getDev kcoreaddons}" \
--replace @KF5Config_dev@ "${lib.getDev kconfig}" \
--replace @KF5WidgetsAddons_dev@ "${lib.getDev kwidgetsaddons}" \
--replace @KF5I18n_dev@ "${lib.getDev ki18n}" \
--replace @KF5SonnetUi_dev@ "${lib.getDev sonnet}" \
--replace @Qt5Svg@ "${qtsvg}" \
--replace @Qt5Svg_dev@ "${lib.getDev qtsvg}" \
--replace @Qt5WebEngine@ "${qtwebengine}" \
--replace @Qt5WebEngine_dev@ "${lib.getDev qtwebengine}" \
--replace /usr/include/KF5/KDELibs4Support "${lib.getDev kdelibs4support}/include/KF5/KDELibs4Support"
'';
nativeBuildInputs = [
(lib.getDev qtsvg)
(lib.getLib qtsvg)
python3
pkg-config
wafHook
cmake
wrapQtAppsHook
];
buildInputs = [
qtbase
qtwebengine
qtsvg
ncurses6
kio
kauth
kiconthemes
kconfigwidgets
kxmlgui
kcoreaddons
kconfig
kwidgetsaddons
ki18n
sonnet
kdelibs4support
];
wafConfigureFlags = [
"--qtlibs=${lib.getLib qtbase}/lib"
];
meta = {
description = "Mind-mapping application for KDE";
license = lib.licenses.mit;
homepage = "https://waf.io/semantik.html";
platforms = lib.platforms.linux;
mainProgram = "semantik";
};
}
@@ -1,79 +0,0 @@
diff --color -ur a/wscript b/wscript
--- a/wscript 2020-08-17 19:49:43.389864343 +0200
+++ b/wscript 2020-08-18 00:22:51.172556519 +0200
@@ -149,6 +149,26 @@
if not conf.env.QT_LRELEASE: conf.fatal('Semantik requires the program lrelease (from the Qt linguist package? - compilation only)')
conf.find_program('python3', var='PYTHON')
conf.load('python')
+ conf.env.HAVE_QT5SVG = 1
+ conf.env.DEFINES_QT5SVG = [ 'QT_SVG_LIB' ]
+ conf.env.INCLUDES_QT5SVG = [ '@Qt5Svg_dev@/include/QtSvg' ]
+ conf.env.LIBPATH_QT5SVG = '@Qt5Svg@/lib'
+ conf.env.LIB_QT5SVG = [ 'Qt5Svg', 'Qt5Core', 'Qt5Gui', 'Qt5Widgets' ]
+ conf.env.HAVE_QT5WEBENGINEWIDGETS = 1
+ conf.env.DEFINES_QT5WEBENGINEWIDGETS = [ 'QT_WEBENGINEWIDGETS_LIB' ]
+ conf.env.INCLUDES_QT5WEBENGINEWIDGETS = [ '@Qt5WebEngine_dev@/include/QtWebEngineWidgets' ]
+ conf.env.LIBPATH_QT5WEBENGINEWIDGETS = '@Qt5WebEngine@/lib'
+ conf.env.LIB_QT5WEBENGINEWIDGETS = [
+ 'Qt5WebEngineWidgets',
+ 'Qt5Core',
+ 'Qt5Gui',
+ 'Qt5WebEngineCore',
+ 'Qt5Widgets',
+ 'Qt5Network',
+ 'Qt5Quick',
+ 'Qt5PrintSupport'
+ ]
+ print("conf.env.LIB_QT5SVG : ",conf.env)
if not conf.env.LIB_QT5SVG: conf.fatal('Could not find Qt5Svg - Semantik requires Qt >= 5')
if not conf.env.LIB_QT5WEBENGINEWIDGETS: conf.fatal('Could not find Qt5WebEngineWidgets - check `pkg-config --libs Qt5WebEngineWidgets`')
if not conf.env.LIB_QT5DBUS: conf.fatal('Install Qt Dbus')
@@ -186,7 +206,11 @@
raise ValueError('Could not find QT_HOST_DATA')
specpath = conf.cmd_and_log(conf.env.QMAKE + ['-query', 'QMAKE_SPEC'], quiet=0, stdout=True)
+ path = "@Qt5Base_dev@"
+ print("\n\n[log] specpath = ",specpath,"\n")
+ print("\n\n[log] path = ",path,"\n")
specpath = os.path.join(path, 'mkspecs', specpath.strip())
+ print("\n\n[log] specpath = ",specpath,"\n")
if not os.path.exists(specpath):
raise ValueError('No spec path, cannot build')
@@ -196,17 +220,29 @@
conf.env.append_value('INCLUDES_KDECORE', specpath)
- libs = ['KF5KIOCore', 'KF5Auth', 'KF5KIOWidgets',
- 'KF5IconThemes', 'KF5ConfigWidgets', 'KF5XmlGui',
- 'KF5CoreAddons', 'KF5ConfigGui', 'KF5ConfigCore',
- 'KF5WidgetsAddons', 'KF5I18n', 'KF5SonnetUi', 'KF5AuthCore']
+ libs = {
+ 'KF5KIOCore': '@KF5KIOCore_dev@',
+ 'KF5Auth': '@KF5Auth_dev@',
+ 'KF5KIOWidgets': '@KF5KIOCore_dev@',
+ 'KF5IconThemes': '@KF5IconThemes_dev@',
+ 'KF5ConfigWidgets': '@KF5ConfigWidgets_dev@',
+ 'KF5XmlGui': '@KF5XmlGui_dev@',
+ 'KF5CoreAddons': '@KF5CoreAddons_dev@',
+ 'KF5ConfigGui': '@KF5Config_dev@',
+ 'KF5ConfigCore': '@KF5Config_dev@',
+ 'KF5WidgetsAddons': '@KF5WidgetsAddons_dev@',
+ 'KF5I18n': '@KF5I18n_dev@',
+ 'KF5SonnetUi': '@KF5SonnetUi_dev@',
+ 'KF5AuthCore': '@KF5Auth_dev@',
+ }
- for lib in libs:
+ for lib,mkspec_path in libs.items():
+ print("[log] mkspec : ", mkspec_path)
name = lib[3:]
if not name.startswith('K') and name != 'SonnetUi':
name = 'K' + name
-
- p = '%s/qt_%s.pri' % (path, name)
+ p = '%s/qt_%s.pri' % (mkspec_path+"/mkspecs/modules", name)
+ print("[log] path :",path,", name : ",name)
try:
code = Utils.readf(p)
except EnvironmentError:
@@ -1,138 +0,0 @@
{
lib,
stdenv,
fetchurl,
wrapQtAppsHook,
makeDesktopItem,
libxrender,
libxrandr,
libxcursor,
libx11,
libxext,
libxi,
libxcb,
libGL,
glib,
nss,
nspr,
expat,
alsa-lib,
qtbase,
qtdeclarative,
qtsvg,
qtlocation,
qtwebchannel,
qtwebengine,
}:
let
libPath = lib.makeLibraryPath [
libxrender
libxrandr
libxcursor
libx11
libxext
libxi
libxcb
libGL
glib
nss
nspr
expat
alsa-lib
qtbase
qtdeclarative
qtsvg
qtlocation
qtwebchannel
qtwebengine
];
in
stdenv.mkDerivation rec {
pname = "eagle";
version = "9.6.2";
src = fetchurl {
url = "https://eagle-updates.circuits.io/downloads/${
builtins.replaceStrings [ "." ] [ "_" ] version
}/Autodesk_EAGLE_${version}_English_Linux_64bit.tar.gz";
sha256 = "18syygnskl286kn8aqfzzdsyzq59d2w19y1h1ynyxsnrvkyv71h0";
};
desktopItem = makeDesktopItem {
name = "eagle";
exec = "eagle";
icon = "eagle";
comment = "Schematic capture and PCB layout";
desktopName = "Eagle";
genericName = "Schematic editor";
categories = [ "Development" ];
};
nativeBuildInputs = [ wrapQtAppsHook ];
buildInputs = [
libxrender
libxrandr
libxcursor
libx11
libxext
libxi
libxcb
libGL
glib
nss
nspr
expat
alsa-lib
qtbase
qtdeclarative
qtsvg
qtlocation
qtwebchannel
qtwebengine
];
installPhase = ''
# Extract eagle tarball
mkdir "$out"
tar -xzf "$src" -C "$out"
# Install manpage
mkdir -p "$out"/share/man/man1
ln -s "$out"/eagle-${version}/doc/eagle.1 "$out"/share/man/man1/eagle.1
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libPath}:$out/eagle-${version}/lib:${lib.getLib stdenv.cc.cc}/lib" \
"$out"/eagle-${version}/eagle
mkdir -p "$out"/bin
ln -s "$out"/eagle-${version}/eagle "$out"/bin/eagle
# Remove bundled libraries that are available in nixpkgs
# TODO: There still may be unused bundled libraries
rm "$out"/eagle-${version}/lib/libQt5*.so.5
rm "$out"/eagle-${version}/lib/{libxcb-*.so.*,libX*.so.*,libxshmfence.so.1}
rm "$out"/eagle-${version}/lib/{libEGL.so.1,libglapi.so.0,libgbm.so.1}
# No longer needed (we don't use the bundled Qt libraries)
rm -r "$out"/eagle-${version}/libexec
rm -r "$out"/eagle-${version}/plugins
# Make desktop item
mkdir -p "$out"/share/applications
cp "$desktopItem"/share/applications/* "$out"/share/applications/
mkdir -p "$out"/share/pixmaps
ln -s "$out/eagle-${version}/bin/eagle-logo.png" "$out"/share/pixmaps/eagle.png
'';
meta = {
description = "Schematic editor and PCB layout tool from Autodesk (formerly CadSoft)";
homepage = "https://www.autodesk.com/products/eagle/overview";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = [ ];
};
}
@@ -1,134 +0,0 @@
/*
* LD_PRELOAD trick to make Eagle (schematic editor and PCB layout tool from
* CadSoft) work from a read-only installation directory.
*
* When Eagle starts, it looks for the license file in <eagle>/bin/eagle.key
* (where <eagle> is the install path). If eagle.key is not found, Eagle checks
* for write access to <eagle>/bin/, shows a license dialog to the user and
* then attempts to write a license file to <eagle>/bin/.
*
* This will of course fail when Eagle is installed in the read-only Nix store.
* Hence this library that redirects accesses to the those paths in the
* following way:
*
* <eagle>/bin => $HOME
* <eagle>/bin/eagle.key => $HOME/.eagle.key
*
* Also, if copying an example project to ~/eagle/ (in the Eagle GUI), Eagle
* chmod's the destination with read-only permission bits (presumably because
* the source is read-only) and fails to complete the copy operation.
* Therefore, the mode argument in calls to chmod() is OR'ed with the S_IWUSR
* bit (write by owner).
*
* Usage:
* gcc -shared -fPIC -DEAGLE_PATH="$out/eagle-${version}" eagle_fixer.c -o eagle_fixer.so -ldl
* LD_PRELOAD=$PWD/eagle_fixer.so ./result/bin/eagle
*
* To see the paths that are modified at runtime, set the environment variable
* EAGLE_FIXER_DEBUG to 1.
*/
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <dlfcn.h>
#include <limits.h>
#include <sys/stat.h>
#ifndef EAGLE_PATH
#error Missing EAGLE_PATH, path to the eagle-${version} installation directory.
#endif
typedef FILE *(*fopen_func_t)(const char *path, const char *mode);
typedef int (*access_func_t)(const char *pathname, int mode);
typedef int (*chmod_func_t)(const char *path, mode_t mode);
/*
* Map <eagle>/bin to $HOME and <eagle>/bin/eagle.key to $HOME/.eagle.key
*
* Path is truncated if bigger than PATH_MAX. It's not threadsafe, but that's
* OK.
*/
static const char *redirect(const char *pathname)
{
static char buffer[PATH_MAX];
const char *homepath;
const char *new_path;
static int have_warned;
homepath = getenv("HOME");
if (!homepath) {
homepath = "/";
if (!have_warned && getenv("EAGLE_FIXER_DEBUG")) {
fprintf(stderr, "eagle_fixer: HOME is unset, using \"/\" (root) instead.\n");
have_warned = 1;
}
}
new_path = pathname;
if (strcmp(EAGLE_PATH "/bin", pathname) == 0) {
/* redirect to $HOME */
new_path = homepath;
} else if (strcmp(EAGLE_PATH "/bin/eagle.key", pathname) == 0) {
/* redirect to $HOME/.eagle.key */
snprintf(buffer, PATH_MAX, "%s/.eagle.key", homepath);
buffer[PATH_MAX-1] = '\0';
new_path = buffer;
}
return new_path;
}
FILE *fopen(const char *pathname, const char *mode)
{
FILE *fp;
const char *path;
fopen_func_t orig_fopen;
orig_fopen = (fopen_func_t)dlsym(RTLD_NEXT, "fopen");
path = redirect(pathname);
fp = orig_fopen(path, mode);
if (path != pathname && getenv("EAGLE_FIXER_DEBUG")) {
fprintf(stderr, "eagle_fixer: fopen(\"%s\", \"%s\") => \"%s\": fp=%p\n", pathname, mode, path, fp);
}
return fp;
}
int access(const char *pathname, int mode)
{
int ret;
const char *path;
access_func_t orig_access;
orig_access = (access_func_t)dlsym(RTLD_NEXT, "access");
path = redirect(pathname);
ret = orig_access(path, mode);
if (path != pathname && getenv("EAGLE_FIXER_DEBUG")) {
fprintf(stderr, "eagle_fixer: access(\"%s\", %d) => \"%s\": ret=%d\n", pathname, mode, path, ret);
}
return ret;
}
int chmod(const char *pathname, mode_t mode)
{
int ret;
mode_t new_mode;
chmod_func_t orig_chmod;
orig_chmod = (chmod_func_t)dlsym(RTLD_NEXT, "chmod");
new_mode = mode | S_IWUSR;
ret = orig_chmod(pathname, new_mode);
if (getenv("EAGLE_FIXER_DEBUG")) {
fprintf(stderr, "eagle_fixer: chmod(\"%s\", %o) => %o: ret=%d\n", pathname, mode, new_mode, ret);
}
return ret;
}
@@ -1,96 +0,0 @@
{
lib,
stdenv,
fetchurl,
makeDesktopItem,
ffmpeg,
qmake,
qttools,
wrapQtAppsHook,
qtbase,
qtdeclarative,
qtlocation,
qtquickcontrols2,
qtwebchannel,
qtwebengine,
yt-dlp,
}:
stdenv.mkDerivation rec {
pname = "clipgrab";
version = "3.9.7";
src = fetchurl {
sha256 = "sha256-9H8raJd6MyyFICY8WUZQGLJ4teKPJUiQfqbu1HWAVIw=";
# The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
url = "https://download.clipgrab.org/${pname}-${version}.tar.gz";
};
buildInputs = [
ffmpeg
qtbase
qtdeclarative
qtlocation
qtquickcontrols2
qtwebchannel
qtwebengine
];
nativeBuildInputs = [
qmake
qttools
wrapQtAppsHook
];
patches = [
./yt-dlp-path.patch
];
postPatch = ''
substituteInPlace youtube_dl.cpp \
--replace 'QString YoutubeDl::path = QString();' \
'QString YoutubeDl::path = QString("${yt-dlp}/bin/yt-dlp");'
''
+ lib.optionalString (ffmpeg != null) ''
substituteInPlace converter_ffmpeg.cpp \
--replace '"ffmpeg"' '"${ffmpeg.bin}/bin/ffmpeg"' \
--replace '"ffmpeg ' '"${ffmpeg.bin}/bin/ffmpeg '
'';
qmakeFlags = [ "clipgrab.pro" ];
desktopItem = makeDesktopItem rec {
name = "clipgrab";
exec = name;
icon = name;
desktopName = "ClipGrab";
comment = meta.description;
genericName = "Web video downloader";
categories = [
"Qt"
"AudioVideo"
"Audio"
"Video"
];
};
installPhase = ''
runHook preInstall
install -Dm755 clipgrab $out/bin/clipgrab
install -Dm644 icon.png $out/share/pixmaps/clipgrab.png
cp -r ${desktopItem}/share/applications $out/share
runHook postInstall
'';
meta = {
description = "Video downloader for YouTube and other sites";
longDescription = ''
ClipGrab is a free downloader and converter for YouTube, Vimeo, Metacafe,
Dailymotion and many other online video sites. It converts downloaded
videos to MPEG4, MP3 or other formats in just one easy step.
'';
homepage = "https://clipgrab.org/";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
mainProgram = "clipgrab";
};
}
@@ -1,86 +0,0 @@
--- a/main.cpp
+++ b/main.cpp
@@ -91,14 +91,5 @@ int main(int argc, char *argv[])
w.show();
}
- QTimer::singleShot(0, [=] {
- cg->getUpdateInfo();
- QObject::connect(cg, &ClipGrab::updateInfoProcessed, [cg] {
- bool force = QSettings().value("forceYoutubeDlDownload", false).toBool();
- if (force) QSettings().setValue("forceYoutubeDlDownload", false);
- cg->downloadYoutubeDl(force);
- });
- });
-
return app.exec();
}
--- a/youtube_dl.cpp
+++ b/youtube_dl.cpp
@@ -8,52 +8,16 @@ YoutubeDl::YoutubeDl()
QString YoutubeDl::path = QString();
QString YoutubeDl::find(bool force) {
- if (!force && !path.isEmpty()) return path;
-
- // Prefer downloaded youtube-dl
- QString localPath = QStandardPaths::locate(QStandardPaths::AppDataLocation, "yt-dlp");
- QProcess* process = instance(localPath, QStringList() << "--version");
- process->start();
- process->waitForFinished();
- process->deleteLater();
- if (process->state() != QProcess::NotRunning) process->kill();
- if (process->exitCode() == QProcess::ExitStatus::NormalExit) {
- path = localPath;
- return path;
- }
-
- // Try system-wide youtube-dlp installation
- QString globalPath = QStandardPaths::findExecutable("yt-dlp");
- process = instance(globalPath, QStringList() << "--version");
- process->start();
- process->waitForFinished();
- process->deleteLater();
- if (process->state() != QProcess::NotRunning) process->kill();
- if (process->exitCode() == QProcess::ExitStatus::NormalExit) {
- path = globalPath;
- return path;
- }
-
- return "";
+ // We supply yt-dlp from nixpkgs, so the downloading
+ // machinery is not needed anymore.
+ (void)force;
+ return path;
}
QProcess* YoutubeDl::instance(QStringList arguments) {
- return instance(find(), arguments);
-}
-
-QProcess* YoutubeDl::instance(QString path, QStringList arguments) {
QProcess *process = new QProcess();
- QString execPath = QCoreApplication::applicationDirPath();
- QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
- env.insert("PATH", execPath + ":" + env.value("PATH"));
- process->setEnvironment(env.toStringList());
-
- #if defined Q_OS_WIN
- process->setProgram(execPath + "/python/python.exe");
- #else
- process->setProgram(QStandardPaths::findExecutable("python3"));
- #endif
+ process->setProgram(path);
QSettings settings;
QStringList proxyArguments;
@@ -81,7 +45,7 @@ QProcess* YoutubeDl::instance(QString path, QStringList arguments) {
networkArguments << "--force-ipv4";
}
- process->setArguments(QStringList() << path << arguments << proxyArguments << networkArguments);
+ process->setArguments(QStringList() << arguments << proxyArguments << networkArguments);
return process;
}
@@ -28,13 +28,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xdg-desktop-portal-hyprland";
version = "1.3.11";
version = "1.3.12";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "xdg-desktop-portal-hyprland";
tag = "v${finalAttrs.version}";
hash = "sha256-5HXelmz2x/uO26lvW7MudnadbAfoBnve4tRBiDVLtOM=";
hash = "sha256-B7nwX0PE0KBo1/ZtuwJtA7dBG6gdPW5tSBb0skY8DHA=";
};
depsBuildBuild = [
@@ -61,139 +61,143 @@ in
"fetchPnpmDeps `fetcherVersion` is not set to a supported value (${lib.concatStringsSep ", " (map toString supportedFetcherVersions)}), see https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion."
) true;
stdenvNoCC.mkDerivation (
finalAttrs:
lib.warnIf (fetcherVersion == 1)
"fetchPnpmDeps: `fetcherVersion = 1` is deprecated and scheduled for removal in the 26.11 release. Please migrate `${pname}` to `fetcherVersion = 3` and regenerate the hash. See https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion."
stdenvNoCC.mkDerivation
(
args'
// {
name = "${pname}-pnpm-deps";
finalAttrs:
(
args'
// {
name = "${pname}-pnpm-deps";
nativeBuildInputs = [
cacert
jq
moreutils
pnpm # from args
yq
zstd
]
++ args.nativeBuildInputs or [ ];
nativeBuildInputs = [
cacert
jq
moreutils
pnpm # from args
yq
zstd
]
++ args.nativeBuildInputs or [ ];
impureEnvVars =
lib.fetchers.proxyImpureEnvVars ++ [ "NIX_NPM_REGISTRY" ] ++ args.impureEnvVars or [ ];
impureEnvVars =
lib.fetchers.proxyImpureEnvVars ++ [ "NIX_NPM_REGISTRY" ] ++ args.impureEnvVars or [ ];
installPhase = ''
runHook preInstall
installPhase = ''
runHook preInstall
lockfileVersion="$(yq -r .lockfileVersion pnpm-lock.yaml)"
if [[ ''${lockfileVersion:0:1} -gt ${lib.versions.major pnpm.version} ]]; then
echo "ERROR: lockfileVersion $lockfileVersion in pnpm-lock.yaml is too new for the provided pnpm version ${lib.versions.major pnpm.version}!"
exit 1
fi
lockfileVersion="$(yq -r .lockfileVersion pnpm-lock.yaml)"
if [[ ''${lockfileVersion:0:1} -gt ${lib.versions.major pnpm.version} ]]; then
echo "ERROR: lockfileVersion $lockfileVersion in pnpm-lock.yaml is too new for the provided pnpm version ${lib.versions.major pnpm.version}!"
exit 1
fi
export HOME=$(mktemp -d)
export HOME=$(mktemp -d)
# For fetcherVersion < 3, the pnpm store files are placed directly into $out.
# For fetcherVersion >= 3, it is bundled into a compressed tarball within $out,
# without distributing the uncompressed store files.
if [[ ${toString fetcherVersion} -ge 3 ]]; then
mkdir $out
storePath=$(mktemp -d)
else
storePath=$out
fi
# For fetcherVersion < 3, the pnpm store files are placed directly into $out.
# For fetcherVersion >= 3, it is bundled into a compressed tarball within $out,
# without distributing the uncompressed store files.
if [[ ${toString fetcherVersion} -ge 3 ]]; then
mkdir $out
storePath=$(mktemp -d)
else
storePath=$out
fi
# If the packageManager field in package.json is set to a different pnpm version than what is in nixpkgs,
# any pnpm command would fail in that directory, the following disables this
pushd ..
pnpm config set manage-package-manager-versions false
popd
# If the packageManager field in package.json is set to a different pnpm version than what is in nixpkgs,
# any pnpm command would fail in that directory, the following disables this
pushd ..
pnpm config set manage-package-manager-versions false
popd
pnpm config set store-dir $storePath
# Some packages produce platform dependent outputs. We do not want to cache those in the global store
pnpm config set side-effects-cache false
# As we pin pnpm versions, we don't really care about updates
pnpm config set update-notifier false
# Run any additional pnpm configuration commands that users provide.
${prePnpmInstall}
# pnpm is going to warn us about using --force
# --force allows us to fetch all dependencies including ones that aren't meant for our host platform
pnpm install \
--force \
--ignore-scripts \
${lib.escapeShellArgs filterFlags} \
${lib.escapeShellArgs pnpmInstallFlags} \
--registry="$NIX_NPM_REGISTRY" \
--frozen-lockfile
pnpm config set store-dir $storePath
# Some packages produce platform dependent outputs. We do not want to cache those in the global store
pnpm config set side-effects-cache false
# As we pin pnpm versions, we don't really care about updates
pnpm config set update-notifier false
# Run any additional pnpm configuration commands that users provide.
${prePnpmInstall}
# pnpm is going to warn us about using --force
# --force allows us to fetch all dependencies including ones that aren't meant for our host platform
pnpm install \
--force \
--ignore-scripts \
${lib.escapeShellArgs filterFlags} \
${lib.escapeShellArgs pnpmInstallFlags} \
--registry="$NIX_NPM_REGISTRY" \
--frozen-lockfile
# Store newer fetcherVersion in case pnpmConfigHook also needs it
if [[ ${toString fetcherVersion} -gt 1 ]]; then
echo ${toString fetcherVersion} > $out/.fetcher-version
fi
# Store newer fetcherVersion in case pnpmConfigHook also needs it
if [[ ${toString fetcherVersion} -gt 1 ]]; then
echo ${toString fetcherVersion} > $out/.fetcher-version
fi
runHook postInstall
'';
runHook postInstall
'';
fixupPhase = ''
runHook preFixup
fixupPhase = ''
runHook preFixup
# Remove timestamp and sort the json files
rm -rf $storePath/{v3,v10}/tmp
for f in $(find $storePath -name "*.json"); do
jq --sort-keys "del(.. | .checkedAt?)" $f | sponge $f
done
# Remove timestamp and sort the json files
rm -rf $storePath/{v3,v10}/tmp
for f in $(find $storePath -name "*.json"); do
jq --sort-keys "del(.. | .checkedAt?)" $f | sponge $f
done
# This folder contains symlinks to /build/source which we don't need
# since https://github.com/pnpm/pnpm/releases/tag/v10.27.0
rm -rf $storePath/{v3,v10}/projects
# This folder contains symlinks to /build/source which we don't need
# since https://github.com/pnpm/pnpm/releases/tag/v10.27.0
rm -rf $storePath/{v3,v10}/projects
# Ensure consistent permissions
# NOTE: For reasons not yet fully understood, pnpm might create files with
# inconsistent permissions, for example inside the ubuntu-24.04
# github actions runner.
# To ensure stable derivations, we need to set permissions
# consistently, namely:
# * All files with `-exec` suffix have 555.
# * All other files have 444.
# * All folders have 555.
# See https://github.com/NixOS/nixpkgs/pull/350063
# See https://github.com/NixOS/nixpkgs/issues/422889
if [[ ${toString fetcherVersion} -ge 2 ]]; then
find $storePath -type f -name "*-exec" -print0 | xargs -0 chmod 555
find $storePath -type f -not -name "*-exec" -print0 | xargs -0 chmod 444
find $storePath -type d -print0 | xargs -0 chmod 555
fi
# Ensure consistent permissions
# NOTE: For reasons not yet fully understood, pnpm might create files with
# inconsistent permissions, for example inside the ubuntu-24.04
# github actions runner.
# To ensure stable derivations, we need to set permissions
# consistently, namely:
# * All files with `-exec` suffix have 555.
# * All other files have 444.
# * All folders have 555.
# See https://github.com/NixOS/nixpkgs/pull/350063
# See https://github.com/NixOS/nixpkgs/issues/422889
if [[ ${toString fetcherVersion} -ge 2 ]]; then
find $storePath -type f -name "*-exec" -print0 | xargs -0 chmod 555
find $storePath -type f -not -name "*-exec" -print0 | xargs -0 chmod 444
find $storePath -type d -print0 | xargs -0 chmod 555
fi
if [[ ${toString fetcherVersion} -ge 3 ]]; then
(
cd $storePath
if [[ ${toString fetcherVersion} -ge 3 ]]; then
(
cd $storePath
# Build a reproducible tarball, per instructions at https://reproducible-builds.org/docs/archives/
tar --sort=name \
--mtime="@$SOURCE_DATE_EPOCH" \
--owner=0 --group=0 --numeric-owner \
--pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime \
--zstd -cf $out/pnpm-store.tar.zst .
)
fi
# Build a reproducible tarball, per instructions at https://reproducible-builds.org/docs/archives/
tar --sort=name \
--mtime="@$SOURCE_DATE_EPOCH" \
--owner=0 --group=0 --numeric-owner \
--pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime \
--zstd -cf $out/pnpm-store.tar.zst .
)
fi
runHook postFixup
'';
runHook postFixup
'';
passthru = args.passthru or { } // {
inherit fetcherVersion;
serve = callPackage ./serve.nix {
inherit pnpm; # from args
pnpmDeps = finalAttrs.finalPackage;
passthru = args.passthru or { } // {
inherit fetcherVersion;
serve = callPackage ./serve.nix {
inherit pnpm; # from args
pnpmDeps = finalAttrs.finalPackage;
};
};
};
dontConfigure = true;
dontBuild = true;
outputHashMode = "recursive";
}
// hash'
dontConfigure = true;
dontBuild = true;
outputHashMode = "recursive";
}
// hash'
)
)
)
);
pnpmConfigHook = makeSetupHook {
-12
View File
@@ -1,12 +0,0 @@
diff -ur a/build/dbm.m4 b/build/dbm.m4
--- a/build/dbm.m4 2013-11-23 13:00:53.000000000 -0500
+++ b/build/dbm.m4 2023-10-22 20:16:37.764571446 -0400
@@ -235,7 +235,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <$apu_try_berkeley_db_header>
-main ()
+int main ()
{
int major, minor, patch;
+11 -1
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchurl,
fetchpatch,
makeWrapper,
apr,
expat,
@@ -34,7 +35,16 @@ stdenv.mkDerivation (finalAttrs: {
patches = [
./fix-libxcrypt-build.patch
# Fix incorrect Berkeley DB detection with newer versions of clang due to implicit `int` on main errors.
./clang-bdb.patch
(fetchpatch {
url = "https://github.com/apache/apr-util/commit/2d838ff7319bd384a0b177f40ac19c4b6c81436d.patch?full_index=1";
hash = "sha256-/N6V5D1d9R6AVjHUwy3Ne839D3ZSsF3Hpn8W9sx1sXM=";
excludes = [ "CHANGES" ];
})
# Fix error with missing function prototype
(fetchpatch {
url = "https://github.com/apache/apr-util/commit/e67caa006c75181b45b761cd50294cb3c8e18f1a.patch?full_index=1";
hash = "sha256-fwKT7mGPHIgJ5uG/KAOOE/38FSNfow+GJgHCxcp9mgI=";
})
]
++ lib.optional stdenv.hostPlatform.isFreeBSD ./include-static-dependencies.patch;
+2 -2
View File
@@ -9,10 +9,10 @@
}:
let
pname = "beeper";
version = "4.2.653";
version = "4.2.770";
src = fetchurl {
url = "https://beeper-desktop.download.beeper.com/builds/Beeper-${version}-x86_64.AppImage";
hash = "sha256-+CNPeLE+FeMVWKbTwU4mrRwwWZhNm5sHsaRBAG1wuEs=";
hash = "sha256-0x1p61zIkAGpBG0dyRwLqoKbhqI3EGTtqpdYr5sxhog=";
};
appimageContents = appimageTools.extract {
inherit pname version src;
+3 -3
View File
@@ -10,14 +10,14 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-show-asm";
version = "0.2.57";
version = "0.2.58";
src = fetchCrate {
inherit (finalAttrs) pname version;
hash = "sha256-V4RCO+Nd8w3nd4ZeOOlyf6ApzVeZcGqzEMwzznTOtAE=";
hash = "sha256-WC6bAmvAYK0erGbzQ20uoezmbwkUxAMByeoHuYqJxsU=";
};
cargoHash = "sha256-ObLN2NfMonQ6IkKN3tnwTuQFd4lSn7sC3QAtRr9ALcE=";
cargoHash = "sha256-IDCTjuTBxjzIh9M9k9I+DRO+zOMtkKwi6FbTiXFXMJo=";
nativeBuildInputs = [
installShellFiles
+1
View File
@@ -37,6 +37,7 @@ stdenv.mkDerivation {
description = "CUPS Linux drivers for Canon printers";
homepage = "https://www.canon.com/";
license = lib.licenses.gpl3Plus;
broken = stdenv.hostPlatform.isDarwin;
maintainers = with lib.maintainers; [
ewok
];
@@ -1,203 +0,0 @@
{
lib,
stdenvNoCC,
requireFile,
autoPatchelfHook,
dpkg,
makeWrapper,
alsa-lib,
dbus,
expat,
fontconfig,
glib,
libdrm,
libglvnd,
libpulseaudio,
libudev0-shim,
libxkbcommon,
libxml2_13,
libxslt,
nspr,
nss,
wayland,
libxcb-wm,
libxcb-render-util,
libxcb-keysyms,
libxcb-image,
libxtst,
libxscrnsaver,
libxrender,
libxrandr,
libxi,
libxfixes,
libxext,
libxdamage,
libxcursor,
libxcomposite,
libx11,
libsm,
libice,
libxcb,
buildFHSEnv,
copyDesktopItems,
makeDesktopItem,
libsForQt5,
version ? "8.2.2",
packetTracerSource ? null,
}:
let
hashes = {
"8.2.0" = "sha256-GxmIXVn2Ew7lVBT7AuIRoXc0YGids4v9Gsfw1FEX7RY=";
"8.2.1" = "sha256-QoM4rDKkdNTJ6TBDPCAs+l17JLnspQFlly9B60hOB7o=";
"8.2.2" = "sha256-bNK4iR35LSyti2/cR0gPwIneCFxPP+leuA1UUKKn9y0=";
};
names = {
"8.2.0" = "CiscoPacketTracer_820_Ubuntu_64bit.deb";
"8.2.1" = "CiscoPacketTracer_821_Ubuntu_64bit.deb";
"8.2.2" = "CiscoPacketTracer822_amd64_signed.deb";
};
unwrapped = stdenvNoCC.mkDerivation {
name = "cisco-packet-tracer-unwrapped";
inherit version;
src =
if (packetTracerSource != null) then
packetTracerSource
else
requireFile {
name = names.${version};
hash = hashes.${version};
url = "https://www.netacad.com";
};
nativeBuildInputs = [
autoPatchelfHook
dpkg
makeWrapper
];
buildInputs = [
alsa-lib
dbus
expat
fontconfig
glib
libdrm
libglvnd
libpulseaudio
libudev0-shim
libxkbcommon
libxml2_13
libxslt
nspr
nss
wayland
libice
libsm
libx11
libxscrnsaver
libxcomposite
libxcursor
libxdamage
libxext
libxfixes
libxi
libxrandr
libxrender
libxtst
libxcb
libxcb-image
libxcb-keysyms
libxcb-render-util
libxcb-wm
];
unpackPhase = ''
runHook preUnpack
dpkg-deb -x $src $out
chmod 755 "$out"
runHook postUnpack
'';
installPhase = ''
runHook preInstall
makeWrapper "$out/opt/pt/bin/PacketTracer" "$out/bin/packettracer8" \
--set QT_QPA_PLATFORM xcb \
--prefix LD_LIBRARY_PATH : "$out/opt/pt/bin"
runHook postInstall
'';
};
fhs-env = buildFHSEnv {
pname = "cisco-packet-tracer-fhs-env";
inherit version;
runScript = lib.getExe' unwrapped "packettracer8";
targetPkgs = _: [ libudev0-shim ];
};
in
stdenvNoCC.mkDerivation {
pname = "cisco-packet-tracer";
inherit version;
dontUnpack = true;
nativeBuildInputs = [
copyDesktopItems
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
ln -s ${fhs-env}/bin/${fhs-env.pname} $out/bin/packettracer8
mkdir -p $out/share/icons/hicolor/48x48/apps
ln -s ${unwrapped}/opt/pt/art/app.png $out/share/icons/hicolor/48x48/apps/cisco-packet-tracer-8.png
ln -s ${unwrapped}/usr/share/icons/gnome/48x48/mimetypes $out/share/icons/hicolor/48x48/mimetypes
ln -s ${unwrapped}/usr/share/mime $out/share/mime
runHook postInstall
'';
desktopItems = [
(makeDesktopItem {
name = "cisco-pt8.desktop";
desktopName = "Cisco Packet Tracer 8";
icon = "cisco-packet-tracer-8";
exec = "packettracer8 %f";
mimeTypes = [
"application/x-pkt"
"application/x-pka"
"application/x-pkz"
"application/x-pksz"
"application/x-pks"
];
})
];
meta = {
description = "Network simulation tool from Cisco";
homepage = "https://www.netacad.com/courses/packet-tracer";
license = lib.licenses.unfree;
mainProgram = "packettracer8";
maintainers = with lib.maintainers; [
gepbird
];
platforms = [ "x86_64-linux" ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
knownVulnerabilities = [
''
Cisco Packet Tracer 8 ships with qt5 qtwebengine.
${lib.head libsForQt5.qtwebengine.meta.knownVulnerabilities}
''
];
};
}
+3 -3
View File
@@ -9,16 +9,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cocogitto";
version = "6.5.0";
version = "7.0.0";
src = fetchFromGitHub {
owner = "oknozor";
repo = "cocogitto";
tag = finalAttrs.version;
hash = "sha256-aAVoPPeuJN6QPcuc3oBF93dP6U+74bAoSDw93XR01Vo=";
hash = "sha256-Z+SXB6bDxyR+Bt3Pz6uF9+sZLjbiFNYeECVFZbx40h8=";
};
cargoHash = "sha256-yDpZHkRKsWXXHuSKnzhGrjsFLUFZEpC23tcU3FeUZK8=";
cargoHash = "sha256-TGcgiXLgxeOO44eNfd9F0VonTTJhOn1iEJwrO65wcxk=";
# Test depend on git configuration that would likely exist in a normal user environment
# and might be failing to create the test repository it works in.
+9 -9
View File
@@ -1,22 +1,22 @@
{
"version": "3.1.15",
"version": "3.2.11",
"vscodeVersion": "1.105.1",
"sources": {
"x86_64-linux": {
"url": "https://downloads.cursor.com/production/3a67af7b780e0bfc8d32aefa96b8ff1cb8817f88/linux/x64/Cursor-3.1.15-x86_64.AppImage",
"hash": "sha256-7Lgrb0SAkkm8+LZInhXLrQHoDLJa63+KvGStp03jepc="
"url": "https://downloads.cursor.com/production/e9ee1339915a927dfb2df4a836dd9c8337e17cc2/linux/x64/Cursor-3.2.11-x86_64.AppImage",
"hash": "sha256-xRtrBvyhG97qHzZTufiEdfRIFyIWSvodIgX5J9ToNWo="
},
"aarch64-linux": {
"url": "https://downloads.cursor.com/production/3a67af7b780e0bfc8d32aefa96b8ff1cb8817f88/linux/arm64/Cursor-3.1.15-aarch64.AppImage",
"hash": "sha256-kZf4qmOdtp3HFe/L6yehZ0cg5DklJwg+Lmnlhn6KBRM="
"url": "https://downloads.cursor.com/production/e9ee1339915a927dfb2df4a836dd9c8337e17cc2/linux/arm64/Cursor-3.2.11-aarch64.AppImage",
"hash": "sha256-T16gRDEGGahpvHsewPv5EBoGJeu6bONuYOenK6frDkg="
},
"x86_64-darwin": {
"url": "https://downloads.cursor.com/production/3a67af7b780e0bfc8d32aefa96b8ff1cb8817f88/darwin/x64/Cursor-darwin-x64.dmg",
"hash": "sha256-GIBT7DU+J/hQ/qbDUdgRrO24z66JASQlfRpVFBsCiw0="
"url": "https://downloads.cursor.com/production/e9ee1339915a927dfb2df4a836dd9c8337e17cc2/darwin/x64/Cursor-darwin-x64.dmg",
"hash": "sha256-zPLh24QI76ORzpCQUV30oB5RtRo7rVcOPY6oK05LngI="
},
"aarch64-darwin": {
"url": "https://downloads.cursor.com/production/3a67af7b780e0bfc8d32aefa96b8ff1cb8817f88/darwin/arm64/Cursor-darwin-arm64.dmg",
"hash": "sha256-NouEzXpKO2A3/y8FCNTXspm+Rim6a5Yi1yS1kLeevi8="
"url": "https://downloads.cursor.com/production/e9ee1339915a927dfb2df4a836dd9c8337e17cc2/darwin/arm64/Cursor-darwin-arm64.dmg",
"hash": "sha256-XeA1/kyZiKAS7op3QXm76clOB+UYTNj4mWIwRV1ISYY="
}
}
}
-73
View File
@@ -1,73 +0,0 @@
{
lib,
stdenv,
fetchFromCodeberg,
fetchFromGitHub,
cmake,
intltool,
libdeltachat,
lomiri,
qt5,
quirc,
rustPlatform,
}:
let
libdeltachat' = libdeltachat.overrideAttrs rec {
version = "2.25.0";
src = fetchFromGitHub {
owner = "chatmail";
repo = "core";
tag = "v${version}";
hash = "sha256-pW1+9aljtnYJmlJOj+m0aQekYO5IsL0fduR7kIAPdN8=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
pname = "chatmail-core";
inherit version src;
hash = "sha256-iIC9wE7P2SKeCMtc/hFTRaOGXD2F7kh1TptOoes/Qi0=";
};
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "deltatouch";
version = "2.35.0";
src = fetchFromCodeberg {
owner = "lk108";
repo = "deltatouch";
tag = "v${finalAttrs.version}";
hash = "sha256-6jzGwOkO14P7rZSBGZ6/Mzda/PM6ZVQeUCb7yfQtbkQ=";
};
nativeBuildInputs = [
qt5.wrapQtAppsHook
intltool
cmake
];
buildInputs = [
qt5.qtbase
qt5.qtwebengine
qt5.qtquickcontrols2
libdeltachat'
lomiri.lomiri-ui-toolkit
lomiri.lomiri-ui-extras
lomiri.lomiri-api
lomiri.qqc2-suru-style
quirc
];
meta = {
changelog = "https://codeberg.org/lk108/deltatouch/src/tag/${finalAttrs.src.tag}/CHANGELOG";
description = "Messaging app for Ubuntu Touch, powered by Delta Chat core";
longDescription = ''
DeltaTouch is a messenger for Ubuntu Touch based on Delta Chat core.
Delta Chat works over email.
'';
homepage = "https://codeberg.org/lk108/deltatouch";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ link2xt ];
mainProgram = "deltatouch";
platforms = lib.platforms.linux;
};
})
-51
View File
@@ -1,51 +0,0 @@
{
lib,
stdenv,
fetchurl,
dpkg,
autoPatchelfHook,
qt5,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gfie";
version = "4.2";
src = fetchurl {
url = "http://greenfishsoftware.org/dl/gfie/gfie-${finalAttrs.version}.deb";
hash = "sha256-hyL0t66jRTVF1Hq2FRUobsfjLGmYgsMGDE/DBdoXhCI=";
};
unpackCmd = "dpkg -x $curSrc source";
nativeBuildInputs = [
dpkg
autoPatchelfHook
qt5.wrapQtAppsHook
];
buildInputs = with qt5; [
qtbase
qtsvg
qtwebengine
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
mv usr/share opt $out
ln -s $out/opt/gfie-${finalAttrs.version}/gfie $out/bin/gfie
runHook postInstall
'';
meta = {
description = "Powerful image editor, especially suitable for creating icons, cursors, animations and icon libraries";
homepage = "https://greenfishsoftware.org/gfie.php";
license = with lib.licenses; [ unfree ];
maintainers = with lib.maintainers; [ pluiedev ];
platforms = [ "x86_64-linux" ];
mainProgram = "gfie";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
})
+3 -3
View File
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "git-cliff";
version = "2.12.0";
version = "2.13.1";
src = fetchFromGitHub {
owner = "orhun";
repo = "git-cliff";
rev = "v${finalAttrs.version}";
hash = "sha256-8t7Bx3dPktSMxfWjaEeXxt3edt9Va7g5XZjE756EfY0=";
hash = "sha256-OFVJUZ3jSuDlHYIl/8KmJJW5ZbVI12wn+bVx9XeOkvI=";
};
cargoHash = "sha256-0/NjvX3MnIgRfsE6PyYzPZ94/p2RR8PPvCntT6pPfbU=";
cargoHash = "sha256-wkSLz6WGsfYZobbrOaDV79Xl7f4/nDkP3z8ZFP1Cn54=";
# attempts to run the program on .git in src which is not deterministic
doCheck = false;
@@ -0,0 +1,24 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 697b90dd..d3e75d2f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,19 +28,6 @@ add_compile_definitions(SHA_VER="${GQ_SHA}")
add_compile_definitions(VER="${VERSION}")
add_compile_definitions(QT_DEPRECATED_WARNINGS)
-if (NOT EXISTS "${PROJECT_SOURCE_DIR}/src/AuxiliarCustomWidgets/.git" OR
- NOT EXISTS "${PROJECT_SOURCE_DIR}/src/QLogger/.git" OR
- NOT EXISTS "${PROJECT_SOURCE_DIR}/src/QPinnableTabWidget/.git" OR
- NOT EXISTS "${PROJECT_SOURCE_DIR}/src/git/.git")
- message(STATUS "Submodule update:")
- execute_process(COMMAND git submodule update --init --recursive
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
- RESULT_VARIABLE GIT_SUBMOD_RESULT)
- if(NOT GIT_SUBMOD_RESULT EQUAL "0")
- message(FATAL_ERROR "git submodule update --init --recursive failed with ${GIT_SUBMOD_RESULT}, please checkout submodules")
- endif()
-endif()
-
find_package(Qt6 COMPONENTS Core Widgets Network REQUIRED)
file(GLOB SRC_FILES
@@ -0,0 +1,28 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d3e75d2f..c8d56287 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -163,7 +163,6 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
target_link_options(${PROJECT_NAME} PUBLIC "-no-pie")
set(CPACK_PACKAGING_INSTALL_PREFIX "/usr")
- set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install/usr)
install(
PROGRAMS ${CMAKE_BINARY_DIR}/${PROJECT_NAME}
@@ -250,7 +249,6 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
include(CPack)
elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
- set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install)
install(
TARGETS ${PROJECT_NAME}
RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
@@ -260,7 +258,6 @@ elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows")
include(InstallRequiredSystemLibraries)
- set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install)
install(
TARGETS ${PROJECT_NAME}
RUNTIME DESTINATION .
+17 -11
View File
@@ -2,39 +2,45 @@
lib,
stdenv,
fetchFromGitHub,
libsForQt5,
qt6,
cmake,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gitqlient";
version = "1.6.3";
version = "1.6.3-unstable-2025-09-11"; # cmake does not install correctly on tagged release
src = fetchFromGitHub {
owner = "francescmm";
repo = "gitqlient";
tag = "v${finalAttrs.version}";
rev = "faa3e2c19205123944bb88427a569c6f1b4366a1";
fetchSubmodules = true;
hash = "sha256-gfWky5KTSj+5FC++QIVTJbrDOYi/dirTzs6LvTnO74A=";
hash = "sha256-CBgzTwJWssL0NaNqfesHkOG4pi6QQYxjxWHFcG00U0U=";
};
patches = [
# fetcher removes .git directory, but cmake attempts to update submodules if .git is missing
./dont-attempt-submodule-update.patch
# install logic in unstable is slightly better, but still attempts to install to source tree, not store
./install-to-store.patch
];
nativeBuildInputs = [
libsForQt5.qmake
libsForQt5.wrapQtAppsHook
cmake
qt6.wrapQtAppsHook
];
buildInputs = [
libsForQt5.qtwebengine
];
qmakeFlags = [
"GitQlient.pro"
qt6.qtbase
];
passthru.updateScript = gitUpdater {
rev-prefix = "v";
};
env.NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; # QCheckBox::stateChanged is deprecated
meta = {
homepage = "https://github.com/francescmm/GitQlient";
description = "Multi-platform Git client written with Qt";
+3 -5
View File
@@ -9,7 +9,6 @@
shapelib,
zlib,
withGUI ? false,
withMapPreview ? (!stdenv.hostPlatform.isDarwin),
withDoc ? false,
docbook_xml_dtd_45,
docbook_xsl,
@@ -73,8 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
shapelib
zlib
]
++ lib.optional withGUI libsForQt5.qtserialport
++ lib.optional (withGUI && withMapPreview) libsForQt5.qtwebengine;
++ lib.optional withGUI libsForQt5.qtserialport;
nativeCheckInputs = [
libxml2
@@ -90,8 +88,8 @@ stdenv.mkDerivation (finalAttrs: {
"WITH_SHAPELIB=pkgconfig"
"WITH_ZLIB=pkgconfig"
]
++ lib.optionals (withGUI && !withMapPreview) [
"CONFIG+=disable-mappreview"
++ lib.optionals withGUI [
"CONFIG+=disable-mappreview" # would require qt5 webengine
];
makeFlags =
+2 -2
View File
@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gpxsee";
version = "16.3";
version = "16.6";
src = fetchFromGitHub {
owner = "tumic0";
repo = "GPXSee";
tag = finalAttrs.version;
hash = "sha256-24kfNtjD4zV2eTufDErPDt2O9ON1hvhWOPRaPBCxxEI=";
hash = "sha256-7OUYDkBfj+7B3Uu4BAsxlJJmrI3PifWLilazqj5PBx4=";
};
buildInputs = [
@@ -0,0 +1,104 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
nodejs,
pnpm_10,
pnpmConfigHook,
fetchPnpmDeps,
makeWrapper,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "home-assistant-matter-hub";
version = "2.0.41";
src = fetchFromGitHub {
owner = "RiDDiX";
repo = "home-assistant-matter-hub";
tag = "v${finalAttrs.version}";
hash = "sha256-+W0HjULERuW+RY7938xGnEXwmCpkumLpUlZmvfuhX2Y=";
};
# The bundled cli.js imports transitive dependencies (e.g. @noble/curves)
# directly, so we need a flat node_modules tree for Node's resolver to
# find them.
pnpmInstallFlags = [ "--shamefully-hoist" ];
pnpmWorkspaces = [ "home-assistant-matter-hub..." ];
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs)
pname
version
src
pnpmInstallFlags
pnpmWorkspaces
;
fetcherVersion = 3;
hash = "sha256-1DaR4q1QH07UR+EchfDI92bTdRY4C2IaGIRj426DURI=";
};
__structuredAttrs = true;
strictDeps = true;
# Workspace package.json files all carry "0.0.0"; the real version is
# injected at release time via APP_VERSION (consumed by vite for the
# frontend bundle and by the backend at runtime).
env.APP_VERSION = finalAttrs.version;
nativeBuildInputs = [
nodejs
pnpm_10
pnpmConfigHook
makeWrapper
];
buildPhase = ''
runHook preBuild
pnpm --filter home-assistant-matter-hub... run build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/apps/home-assistant-matter-hub
tar -xf apps/home-assistant-matter-hub/package.tgz \
--strip-components=1 \
-C $out/share/apps/home-assistant-matter-hub
# pnpm cannot recursively prune monorepos, so we follow pnpm's
# recommendation of removing all node_modules and reinstalling
# only the production dependencies we need.
find . -name node_modules -type d -prune -exec rm -rf {} +
pnpm install --offline --prod --filter-prod home-assistant-matter-hub --shamefully-hoist
# Workspace symlinks under apps/home-assistant-matter-hub/node_modules use
# relative paths into the top-level node_modules/.pnpm store, so we keep
# the original directory layout under $out/share.
mv node_modules $out/share/
mv apps/home-assistant-matter-hub/node_modules $out/share/apps/home-assistant-matter-hub/
makeWrapper ${lib.getExe nodejs} "$out/bin/home-assistant-matter-hub" \
--add-flags "$out/share/apps/home-assistant-matter-hub/dist/backend/cli.js" \
--set NODE_ENV production \
--set APP_VERSION ${finalAttrs.version}
runHook postInstall
'';
meta = {
description = "Publish your home-assistant instance using Matter";
homepage = "https://riddix.github.io/home-assistant-matter-hub/";
changelog = "https://github.com/RiDDiX/home-assistant-matter-hub/releases/tag/v${finalAttrs.version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
kranzes
marie
];
mainProgram = "home-assistant-matter-hub";
inherit (nodejs.meta) platforms;
};
})
+3 -3
View File
@@ -13,13 +13,13 @@
stdenvNoCC.mkDerivation rec {
pname = "homer";
version = "26.4.1";
version = "26.4.2";
src = fetchFromGitHub {
owner = "bastienwirtz";
repo = "homer";
rev = "v${version}";
hash = "sha256-zb6A0h0OuSUxh43tO/ksKXvkjrJMwNCsRJwgIy7eXpk=";
hash = "sha256-XQjXRckrZ9LhAFp/v/OUJJ80odS5mXhQserPNx0mvwM=";
};
pnpmDeps = fetchPnpmDeps {
@@ -30,7 +30,7 @@ stdenvNoCC.mkDerivation rec {
;
pnpm = pnpm_10;
fetcherVersion = 3;
hash = "sha256-7BLQHmnw+FfUm9R5//8kEBusM2O+wbTF5joHo60zKfQ=";
hash = "sha256-rDKnaIE1ZQ2I83RdlHWtgoMcDoFe7tE102LP2+SPmFg=";
};
nativeBuildInputs = [
@@ -6,26 +6,25 @@
ncurses,
which,
cmake,
wrapQtAppsHook,
qtwebengine,
qt6,
yaml-cpp,
libirc,
}:
stdenv.mkDerivation rec {
pname = "huggle";
version = "3.4.13";
version = "3.4.14";
src = fetchFromGitHub {
owner = "huggle";
repo = "huggle3-qt-lx";
rev = version;
sha256 = "sha256-f7Oo6x262Ju9KY8f/xjm9gL6I1fRCaDsQWGWJMUNUfY=";
hash = "sha256-obArs5NqjHbuWv+zNGAuulHQz6MUIejRqNvg2l5eZxc=";
fetchSubmodules = true;
};
nativeBuildInputs = [
wrapQtAppsHook
qt6.wrapQtAppsHook
pkg-config
which
cmake
@@ -33,7 +32,8 @@ stdenv.mkDerivation rec {
buildInputs = [
ncurses
yaml-cpp
qtwebengine
qt6.qtmultimedia
qt6.qtwebengine
libirc
];
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
"-S"
"/build/source/src"
"-DINSTALL_DATA_DIR=bin"
"-DQT5_BUILD=ON"
"-DQT6_BUILD=ON"
"-DWEB_ENGINE=ON"
"-DBUILD_SHARED_LIBS=OFF"
"-Wno-dev"
@@ -9,13 +9,13 @@
}:
gcc15Stdenv.mkDerivation (finalAttrs: {
pname = "hyprwayland-scanner";
version = "0.4.5";
version = "0.4.6";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprwayland-scanner";
rev = "v${finalAttrs.version}";
hash = "sha256-FnhBENxihITZldThvbO7883PdXC/2dzW4eiNvtoV5Ao=";
hash = "sha256-Jxixw6wZphUp+nHYxOKUYSckL17QMBx2d5Zp0rJHr1g=";
};
nativeBuildInputs = [
-81
View File
@@ -1,81 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
qt5,
chmlib,
libzip,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "kchmviewer";
version = "8.0";
src = fetchFromGitHub {
owner = "gyunaev";
repo = "kchmviewer";
tag = "RELEASE_${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}";
hash = "sha256-YNpiBf6AFBCRbAZRPODvqGbQQedJJJrZFQIQyzIeBlw=";
};
patches = [
# remove unused webkit
(fetchpatch {
url = "https://github.com/gyunaev/kchmviewer/commit/a4a3984465cb635822953350c571950ae726b539.patch";
hash = "sha256-nHW18a4SrTG4fETJmKS4ojHXwnX1d1uN1m4H0GIuI28=";
})
# QtWebengine fixes
(fetchpatch {
url = "https://github.com/gyunaev/kchmviewer/commit/9ac73e7ad15de08aab6b1198115be2eb44da7afe.patch";
hash = "sha256-qg2ytqA2On7jg19WZmHIOU7vLQI2hoyqItySLEA64SY=";
})
(fetchpatch {
url = "https://github.com/gyunaev/kchmviewer/commit/99a6d94bdfce9c4578cce82707e71863a71d1453.patch";
hash = "sha256-o8JkaMmcJObmMt+o/6ooCAPCi+yRAWDAgxV+tR5eHfY=";
})
# Fix build on macOS
(fetchpatch {
url = "https://github.com/gyunaev/kchmviewer/pull/35/commits/b68ed6fe72eaf9ee4e7e42925f5071fbd02dc6b3.patch";
hash = "sha256-sJA0RE0Z83tYv0S42yQYWKKeLhW+YDsrxLkY5aMKKT4=";
})
(fetchpatch {
url = "https://github.com/gyunaev/kchmviewer/pull/35/commits/d307e4e829c5a6f57ab0040f786c3da7fd2f0a99.patch";
hash = "sha256-FWYfqG8heL6AnhevueCWHQc+c6Yj4+DuIdjIwXVZ+O4=";
})
];
buildInputs = [
chmlib
libzip
qt5.qtwebengine
];
nativeBuildInputs = [
qt5.qmake
qt5.wrapQtAppsHook
];
postInstall =
if stdenv.hostPlatform.isDarwin then
''
mkdir -p $out/{Applications,bin}
mv bin/kchmviewer.app $out/Applications
ln -s $out/Applications/kchmviewer.app/Contents/MacOS/kchmviewer $out/bin/kchmviewer
''
else
''
install -Dm755 bin/kchmviewer -t $out/bin
install -Dm644 packages/kchmviewer.png -t $out/share/pixmaps
install -Dm644 packages/kchmviewer.desktop -t $out/share/applications
'';
meta = {
description = "CHM (Winhelp) files viewer";
mainProgram = "kchmviewer";
homepage = "http://www.ulduzsoft.com/linux/kchmviewer/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ sikmir ];
platforms = lib.platforms.unix;
};
})
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "kcl-kafka";
version = "0.17.0";
version = "0.18.0";
src = fetchFromGitHub {
owner = "twmb";
repo = "kcl";
tag = "v${finalAttrs.version}";
hash = "sha256-P55k9PIUDtYMzgPHCQYQLNgprnC9MDUX6ZfgZhI9fC0=";
hash = "sha256-BCLwgDDVp3mqQEJnPt97nEbpaYmm8a7jzO45Vn2bUaQ=";
};
vendorHash = "sha256-o7iSFI0zRwjlE2MVqKSpPMowR4mD2zW6wez4sqNX4Cw=";
vendorHash = "sha256-FTh3YLfWL1L4WiRcaz5beS4/mHbtPEXG8V85VmSndWo=";
subPackages = [ "." ];
-81
View File
@@ -1,81 +0,0 @@
{
lib,
fetchFromGitHub,
fetchFromSourcehut,
cmake,
extra-cmake-modules,
pkg-config,
libdeltachat,
libsForQt5,
rustPlatform,
stdenv,
}:
let
libdeltachat' = libdeltachat.overrideAttrs rec {
version = "1.155.6";
src = fetchFromGitHub {
owner = "chatmail";
repo = "core";
tag = "v${version}";
hash = "sha256-d7EmmyLSJjFIZM1j6LP8f4WnXiptNTAqOdJD/oPL02Y=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
pname = "deltachat-core-rust";
inherit version src;
hash = "sha256-E01aEzNi06LQntrlA+342a8Nl5API6v7HbdmuKpfajs=";
};
};
inherit (libsForQt5)
kirigami2
qtbase
qtimageformats
qtmultimedia
qtwebengine
wrapQtAppsHook
;
in
stdenv.mkDerivation {
pname = "kdeltachat";
version = "unstable-2024-01-14";
src = fetchFromSourcehut {
owner = "~link2xt";
repo = "kdeltachat";
rev = "d61a01c2d6d5bdcc9ca500b466ed42689b2bd5c6";
hash = "sha256-KmL3ODXPi1c8C5z2ySHg0vA5Vg/dZumDZTbpxkzf7A4=";
};
nativeBuildInputs = [
cmake
extra-cmake-modules
pkg-config
wrapQtAppsHook
];
buildInputs = [
kirigami2
libdeltachat'
qtimageformats
qtmultimedia
qtwebengine
];
env = {
# needed for qmlplugindump to work
QT_PLUGIN_PATH = "${qtbase.bin}/${qtbase.qtPluginPrefix}";
QML2_IMPORT_PATH = lib.concatMapStringsSep ":" (lib: "${lib}/${qtbase.qtQmlPrefix}") [
kirigami2
qtmultimedia
];
};
meta = {
description = "Delta Chat client using Kirigami framework";
mainProgram = "kdeltachat";
homepage = "https://git.sr.ht/~link2xt/kdeltachat";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ dotlambda ];
platforms = lib.platforms.linux;
};
}
+2 -2
View File
@@ -29,13 +29,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "kmscon";
version = "9.3.4";
version = "9.3.5";
src = fetchFromGitHub {
owner = "kmscon";
repo = "kmscon";
tag = "v${finalAttrs.version}";
hash = "sha256-S6a/m2gfYOsacq4uq3d05WZPH1C8RQowmZM7f6On4ic=";
hash = "sha256-QBN1rSDmwVg7cgljhe6kVIg/xLoolmOPqS8JXZuQiXs=";
};
strictDeps = true;
+2 -2
View File
@@ -7,13 +7,13 @@
buildGoModule (finalAttrs: {
pname = "koffan";
version = "2.9.0";
version = "2.10.0";
src = fetchFromGitHub {
owner = "PanSalut";
repo = "Koffan";
tag = "v${finalAttrs.version}";
hash = "sha256-GZmw4UoHoCeLhzAn0GWXR6c/61bYxtngGC2cND+XS5c=";
hash = "sha256-euGjcluk2xC+RgryFscP29ONT2prqR0/UxeqMosb2l4=";
};
vendorHash = "sha256-BYehi5LQQ0MIsKG/fN3DHaQwKVmxUFrvWGrKZeKj+ow=";
+14 -5
View File
@@ -13,7 +13,7 @@
tinyxml-2,
help2man,
html-tidy,
libsForQt5,
qt6,
testers,
enableGui ? false,
@@ -30,13 +30,18 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-dVEV2smZxB6+Utm9FApiFydAS3hLm4y9YZja1B/PiEk=";
};
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail "set_property(TARGET \''${PROJECT_NAME} PROPERTY CXX_STANDARD 11)" "set_property(TARGET \''${PROJECT_NAME} PROPERTY CXX_STANDARD 17)"
'';
nativeBuildInputs = [
cmake
pkg-config
help2man
html-tidy
]
++ lib.optional enableGui libsForQt5.wrapQtAppsHook;
++ lib.optional enableGui qt6.wrapQtAppsHook;
buildInputs = [
boost
@@ -48,11 +53,15 @@ stdenv.mkDerivation (finalAttrs: {
tinyxml-2
]
++ lib.optionals enableGui [
libsForQt5.qtbase
libsForQt5.qtwebengine
qt6.qtbase
qt6.qtwebengine
];
cmakeFlags = lib.optional enableGui "-DUSE_QT_GUI=ON";
cmakeFlags = [
(lib.cmakeBool "USE_QT_GUI" enableGui)
(lib.cmakeFeature "CMAKE_CXX_STANDARD" "17")
(lib.cmakeFeature "CMAKE_CXX_FLAGS" "-DJSONCPP_HAS_STRING_VIEW=1")
];
passthru.tests = {
version = testers.testVersion { package = finalAttrs.finalPackage; };
@@ -3,30 +3,35 @@
stdenv,
fetchFromGitHub,
cmake,
qtbase,
qt6,
}:
stdenv.mkDerivation {
pname = "libirc";
version = "unstable-2022-10-15";
version = "0-unstable-2025-11-09";
src = fetchFromGitHub {
owner = "grumpy-irc";
repo = "libirc";
rev = "734082ffffb6d6744070c75587159d927342edea";
sha256 = "Qi/YKLlau0rdQ9XCMyreQdv4ctQWHFIoE3YlW6QnbSI=";
rev = "59c6d81242910d8205b94acadf54cec0d2313884";
hash = "sha256-C7bO2Dwa6p7/bUh73JJCup2biIm9UShOUSxL9uCShqg=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
qt6.qtbase
];
dontWrapQtApps = true; # library only
postPatch = ''
substituteInPlace CMakeLists.txt --replace-fail 'cmake_minimum_required(VERSION 3.0)' 'cmake_minimum_required(VERSION 3.10)'
'';
cmakeFlags = [
"-DQT5_BUILD=1"
"-DQt5Core_DIR=${qtbase.dev}/lib/cmake/Qt5Core"
"-DQt5Network_DIR=${qtbase.dev}/lib/cmake/Qt5Network"
(lib.cmakeBool "QT6_BUILD" true)
(lib.cmakeFeature "CMAKE_CXX_STANDARD" "17") # supposedly required for Qt
];
preFixup = ''
@@ -53,6 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
);
strictDeps = true;
__structuredAttrs = true;
doCheck = true;
@@ -13,21 +13,21 @@
llvmPackages,
pkg-config,
python3,
qtbase,
qtmultimedia,
qt6,
swig,
zeromq,
resvg,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libopenshot";
version = "0.4.0";
version = "0.7.0-unstable-2026-04-21";
src = fetchFromGitHub {
owner = "OpenShot";
repo = "libopenshot";
rev = "v${finalAttrs.version}";
hash = "sha256-zroTnJRYIIglhha6jQvaVNTgnIV6kUWcu7s5zEvgH6Q=";
rev = "a58565292cb84438b1c6a039c343b4c65003bd82";
hash = "sha256-zUzyi/VydrxDLCY7E/LBr7+btthOjal3c7md6PTXQWA=";
};
patches = lib.optionals stdenv.hostPlatform.isDarwin [
@@ -35,13 +35,6 @@ stdenv.mkDerivation (finalAttrs: {
./0001-link-magickcore.diff
];
postPatch = ''
# Fix FFmpeg 8.0 API compatibility (FF_PROFILE_* -> AV_PROFILE_*)
substituteInPlace src/FFmpegWriter.cpp \
--replace-fail "FF_PROFILE_H264_BASELINE" "AV_PROFILE_H264_BASELINE" \
--replace-fail "FF_PROFILE_H264_CONSTRAINED" "AV_PROFILE_H264_CONSTRAINED"
'';
nativeBuildInputs = [
cmake
doxygen
@@ -56,9 +49,10 @@ stdenv.mkDerivation (finalAttrs: {
jsoncpp
libopenshot-audio
python3
qtbase
qtmultimedia
qt6.qtbase
qt6.qtmultimedia
zeromq
resvg
]
++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
@@ -68,6 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
];
strictDeps = true;
__structuredAttrs = true;
dontWrapQtApps = true;
@@ -78,6 +73,7 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeBool "ENABLE_PYTHON" true)
(lib.cmakeOptionType "filepath" "PYTHON_EXECUTABLE" (lib.getExe python3))
(lib.cmakeOptionType "filepath" "PYTHON_MODULE_PATH" python3.sitePackages)
"-DUSE_QT6=ON"
];
passthru = {
-75
View File
@@ -1,75 +0,0 @@
{
stdenv,
cmake,
fetchFromGitLab,
lib,
libnotify,
pkg-config,
libsForQt5,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "MellowPlayer";
version = "3.6.8";
src = fetchFromGitLab {
owner = "ColinDuquesnoy";
repo = "MellowPlayer";
tag = finalAttrs.version;
hash = "sha256-rsF2xQet7U8d4oGU/HgghvE3vvmkxjlGXPBlLD9mWTk=";
};
nativeBuildInputs = [
cmake
pkg-config
libsForQt5.wrapQtAppsHook
];
buildInputs = [
libnotify
libsForQt5.qtbase
libsForQt5.qtdeclarative
libsForQt5.qtgraphicaleffects
libsForQt5.qtquickcontrols2
libsForQt5.qttools
libsForQt5.qtwebengine
];
doCheck = true;
cmakeFlags = [ "-DBUILD_TESTS=ON" ];
preCheck = ''
# Running the tests requires a location at the home directory for logging.
export HOME="$NIX_BUILD_TOP/home"
mkdir -p "$HOME/.local/share/MellowPlayer.Tests/MellowPlayer.Tests/Logs"
# Without this, the tests fail because they cannot create the QT Window
export QT_QPA_PLATFORM=offscreen
''
# TODO: The tests are failing because it can't locate QT plugins. Is there a better way to do this?
+ (builtins.concatStringsSep "\n" (
lib.lists.flatten (
map (pkg: [
(lib.optionalString (pkg ? qtPluginPrefix) ''
export QT_PLUGIN_PATH="${pkg}/${pkg.qtPluginPrefix}"''${QT_PLUGIN_PATH:+':'}$QT_PLUGIN_PATH
'')
(lib.optionalString (pkg ? qtQmlPrefix) ''
export QML2_IMPORT_PATH="${pkg}/${pkg.qtQmlPrefix}"''${QML2_IMPORT_PATH:+':'}$QML2_IMPORT_PATH
'')
]) finalAttrs.buildInputs
)
));
meta = {
inherit (libsForQt5.qtbase.meta) platforms;
broken = stdenv.hostPlatform.isDarwin; # test build fails, but the project is not maintained anymore
description = "Cloud music integration for your desktop";
mainProgram = "MellowPlayer";
homepage = "https://gitlab.com/ColinDuquesnoy/MellowPlayer";
license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [ kalbasit ];
};
})
+7 -8
View File
@@ -2,6 +2,7 @@
python3Packages,
fetchurl,
anki,
qt6,
}:
python3Packages.buildPythonApplication (finalAttrs: {
@@ -11,12 +12,15 @@ python3Packages.buildPythonApplication (finalAttrs: {
src = fetchurl {
url = "mirror://sourceforge/project/mnemosyne-proj/mnemosyne/mnemosyne-${finalAttrs.version}/Mnemosyne-${finalAttrs.version}.tar.gz";
sha256 = "sha256-zI79iuRXb5S0Y87KfdG+HKc0XVNQOAcBR7Zt/OdaBP4=";
hash = "sha256-zI79iuRXb5S0Y87KfdG+HKc0XVNQOAcBR7Zt/OdaBP4=";
};
nativeBuildInputs = with python3Packages; [ pyqtwebengine.wrapQtAppsHook ];
nativeBuildInputs = [ qt6.wrapQtAppsHook ];
buildInputs = [ anki ];
buildInputs = [
anki
qt6.qtbase
];
propagatedBuildInputs = with python3Packages; [
cheroot
@@ -31,11 +35,6 @@ python3Packages.buildPythonApplication (finalAttrs: {
webob
];
prePatch = ''
substituteInPlace setup.py \
--replace '("", ["/usr/local/bin/mplayer"])' ""
'';
# No tests/ directory in tarball
doCheck = false;
+4 -4
View File
@@ -52,7 +52,7 @@
let
pname = "mongodb-compass";
version = "1.49.4";
version = "1.49.5";
selectSystem =
attrs:
@@ -67,9 +67,9 @@ let
}
}";
hash = selectSystem {
x86_64-linux = "sha256-TsALgtCUIHjv6auOIOJjng/B23gcSJMG7x1wBOfOZn4=";
x86_64-darwin = "sha256-AaZOxMIG8QL5ee8A5pDXtt7w0LWTA1Y6oItCdZyN9Us=";
aarch64-darwin = "sha256-J4yxRvZr9xcIRYmIIE+InB8cH51if+bpUbt/hniGovU=";
x86_64-linux = "sha256-CuNY+hzTF2jxZEMSOZkiexGw+1QSGmZ8HDPbD4CGnqU=";
x86_64-darwin = "sha256-qbNnu6HK7ajKaXak3raOj1xAlE2bUqN9SsGcs+YbjE8=";
aarch64-darwin = "sha256-+ECujuOErLrwJ3j/7SbjgCHTh9QxmDFj8G52IhWOR3E=";
};
};
+2 -2
View File
@@ -31,7 +31,7 @@ assert gpgmeSupport -> sslSupport;
stdenv.mkDerivation rec {
pname = "mutt";
version = "2.3.1";
version = "2.3.2";
outputs = [
"out"
"doc"
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
hash = "sha256-Rw17Dj0TSgX7gGTe3XR3Gwa81jnID8zXdz3DIqr7t7Y=";
hash = "sha256-m096RC5BwFd3S6fDb6Qaui7dLnoSqGAx5uuxE7qyx54=";
};
patches = [
+3 -3
View File
@@ -10,7 +10,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "mycelium";
version = "0.7.5";
version = "0.7.6";
sourceRoot = "${finalAttrs.src.name}/myceliumd";
@@ -18,10 +18,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "threefoldtech";
repo = "mycelium";
rev = "v${finalAttrs.version}";
hash = "sha256-9PjYvzCHSOPlULbElJPVMnLFGTEy/FX56ZaRHUozqvE=";
hash = "sha256-6A93ySGmnkqu+TrPsIZJNl4iw26yrUW89TkkfouArn0=";
};
cargoHash = "sha256-LSCa8euuOX4BgEDkNQlOdgiL0QzRRMlCoA9opSnPQbI=";
cargoHash = "sha256-Firp6R8JZXTzJhV2Psve0kmxP6bT74xHjNq8/q0/pOc=";
nativeBuildInputs = [ versionCheckHook ];
-67
View File
@@ -1,67 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
dnsutils,
nmap,
libsForQt5,
}:
stdenv.mkDerivation rec {
pname = "nmapsi4";
version = "0.5-alpha2";
src = fetchFromGitHub {
owner = "nmapsi4";
repo = "nmapsi4";
rev = "v${version}";
hash = "sha256-q3XfwJ4TGK4E58haN0Q0xRH4GDpKD8VZzyxHe/VwBqY=";
};
nativeBuildInputs = [
cmake
pkg-config
libsForQt5.wrapQtAppsHook
];
buildInputs = with libsForQt5; [
qtbase
qtscript
qtwebengine
];
postPatch = ''
substituteInPlace src/platform/digmanager.cpp \
--replace '"dig"' '"${dnsutils}/bin/dig"'
substituteInPlace src/platform/discover.cpp \
--replace '"nping"' '"${nmap}/bin/nping"'
for f in \
src/platform/monitor/monitor.cpp \
src/platform/nsemanager.cpp ; do
substituteInPlace $f \
--replace '"nmap"' '"${nmap}/bin/nmap"'
done
'';
postInstall = ''
mv $out/share/applications/kde4/*.desktop $out/share/applications
rmdir $out/share/applications/kde4
for f in $out/share/applications/* ; do
substituteInPlace $f \
--replace Qt4 Qt5
done
'';
meta = {
description = "Qt frontend for nmap";
mainProgram = "nmapsi4";
changelog = "https://github.com/nmapsi4/nmapsi4/releases/tag/${src.rev}";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ peterhoeg ];
inherit (src.meta) homepage;
};
}
+17 -7
View File
@@ -2,6 +2,7 @@
lib,
stdenvNoCC,
fetchFromGitHub,
applyPatches,
buildGoModule,
callPackage,
gnumake,
@@ -36,11 +37,20 @@ buildGoModule rec {
vendorHash = null;
src = fetchFromGitHub {
owner = "owncloud";
repo = "ocis";
tag = "v${version}";
hash = "sha256-TsMrQx+P1F2t66e0tGG0VvRi4W7+pCpDHd0aNsacOsI=";
src = applyPatches {
src = fetchFromGitHub {
owner = "owncloud";
repo = "ocis";
tag = "v${version}";
hash = "sha256-TsMrQx+P1F2t66e0tGG0VvRi4W7+pCpDHd0aNsacOsI=";
};
patches = [
# Remove the kpop dependency, whose upstream tarball
# (https://download.kopano.io/community/kapp:/kpop-2.2.0.tgz) is no longer
# available. Adapted from the upstream fix in v8.0.1
# (https://github.com/owncloud/ocis/pull/12043).
./remove-kpop.patch
];
};
nativeBuildInputs = [
@@ -58,8 +68,8 @@ buildGoModule rec {
;
pnpm = pnpm_9;
sourceRoot = "${src.name}/services/idp";
fetcherVersion = 1;
hash = "sha256-gNlN+u/bobnTsXrsOmkDcWs67D/trH3inT5AVQs3Brs=";
fetcherVersion = 3;
hash = "sha256-5iRnRxFJAWePyx83464guOqBqmao2pybaC4sFVPCOqk=";
};
pnpmRoot = "services/idp";
+107
View File
@@ -0,0 +1,107 @@
--- a/services/idp/package.json 2026-04-24 21:57:00.890593062 +0300
+++ b/services/idp/package.json 2026-04-24 21:57:25.907633711 +0300
@@ -7,7 +7,7 @@
"analyze": "source-map-explorer 'build/static/js/*.js'",
"build": "node --openssl-legacy-provider scripts/build.js && rm -f build/service-worker.js",
"licenses": "NODE_PATH=./node_modules node ../scripts/js-license-ranger.js",
- "licenses:check": "license-checker-rseidelsohn --summary --relativeLicensePath --onlyAllow 'Python-2.0;Apache*;Apache License, Version 2.0;Apache-2.0;Apache 2.0;Artistic-2.0;BSD;BSD-3-Clause;CC-BY-3.0;CC-BY-4.0;CC0-1.0;ISC;MIT;MPL-2.0;Public Domain;Unicode-TOU;Unlicense;WTFPL;ODC-By-1.0;BlueOak-1.0.0' --excludePackages 'identifier;kpop;unicoderegexp' --clarificationsFile license-checker-clarifications.json",
+ "licenses:check": "license-checker-rseidelsohn --summary --relativeLicensePath --onlyAllow 'Python-2.0;Apache*;Apache License, Version 2.0;Apache-2.0;Apache 2.0;Artistic-2.0;BSD;BSD-3-Clause;CC-BY-3.0;CC-BY-4.0;CC0-1.0;ISC;MIT;MPL-2.0;Public Domain;Unicode-TOU;Unlicense;WTFPL;ODC-By-1.0;BlueOak-1.0.0' --excludePackages 'identifier;unicoderegexp' --clarificationsFile license-checker-clarifications.json",
"licenses:csv": "license-checker-rseidelsohn --relativeLicensePath --csv --out ../../third-party-licenses/node/idp/third-party-licenses.csv",
"licenses:save": "license-checker-rseidelsohn --relativeLicensePath --out /dev/null --files ../../third-party-licenses/node/idp/third-party-licenses",
"lint": "eslint ./**/*.{tsx,ts,jsx,js}",
@@ -89,7 +89,6 @@
"i18next-browser-languagedetector": "^7.1.0",
"i18next-http-backend": "^2.2.2",
"i18next-resources-to-backend": "^1.1.4",
- "kpop": "https://download.kopano.io/community/kapp:/kpop-2.2.0.tgz",
"query-string": "^8.1.0",
"react": "^17.0.2",
"react-app-polyfill": "^2.0.0",
@@ -153,10 +152,5 @@
"webpack": "4.47.0",
"webpack-manifest-plugin": "4.1.1",
"workbox-webpack-plugin": "7.0.0"
- },
- "pnpm": {
- "overrides": {
- "kpop>cldr": ""
- }
}
}
--- a/services/idp/pnpm-lock.yaml 2026-04-24 21:57:00.893597991 +0300
+++ b/services/idp/pnpm-lock.yaml 2026-04-24 21:59:04.272001217 +0300
@@ -4,9 +4,6 @@
autoInstallPeers: true
excludeLinksFromLockfile: false
-overrides:
- kpop>cldr: ''
-
dependencies:
'@fontsource/roboto':
specifier: ^5.0.8
@@ -62,9 +59,6 @@
i18next-resources-to-backend:
specifier: ^1.1.4
version: 1.1.4
- kpop:
- specifier: https://download.kopano.io/community/kapp:/kpop-2.2.0.tgz
- version: '@download.kopano.io/community/kapp+/kpop-2.2.0.tgz(@gluejs/glue@0.3.0)(@material-ui/core@4.12.4)(@material-ui/icons@4.11.3)(notistack@0.8.9)(oidc-client@1.11.5)(react-dom@17.0.2)(react-intl@2.9.0)(react@17.0.2)(render-if@0.1.1)'
query-string:
specifier: ^8.1.0
version: 8.1.0
@@ -12515,34 +12509,3 @@
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
- '@download.kopano.io/community/kapp+/kpop-2.2.0.tgz(@gluejs/glue@0.3.0)(@material-ui/core@4.12.4)(@material-ui/icons@4.11.3)(notistack@0.8.9)(oidc-client@1.11.5)(react-dom@17.0.2)(react-intl@2.9.0)(react@17.0.2)(render-if@0.1.1)':
- resolution: {registry: https://registry.npmjs.org/, tarball: https://download.kopano.io/community/kapp:/kpop-2.2.0.tgz}
- id: '@download.kopano.io/community/kapp+/kpop-2.2.0.tgz'
- name: kpop
- version: 2.2.0
- engines: {node: '>=6.11.0'}
- peerDependencies:
- '@gluejs/glue': ^0.3.0
- '@material-ui/core': ^4.8.0
- '@material-ui/icons': ^4.5.1
- notistack: ^0.8.8
- oidc-client: ^1.9.1
- react: ^16.8.0
- react-dom: ^16.8.0
- react-intl: ^2.6.0
- render-if: ^0.1.1
- dependencies:
- '@gluejs/glue': 0.3.0
- '@material-ui/core': 4.12.4(@types/react@17.0.65)(react-dom@17.0.2)(react@17.0.2)
- '@material-ui/icons': 4.11.3(@material-ui/core@4.12.4)(@types/react@17.0.65)(react-dom@17.0.2)(react@17.0.2)
- cldr: 7.5.0
- crc32: 0.2.2
- hsv-rgb: 1.0.0
- iso-639-1: 2.1.15
- notistack: 0.8.9(@material-ui/core@4.12.4)(react-dom@17.0.2)(react@17.0.2)
- oidc-client: 1.11.5
- react: 17.0.2
- react-dom: 17.0.2(react@17.0.2)
- react-intl: 2.9.0(prop-types@15.8.1)(react@17.0.2)
- render-if: 0.1.1
- dev: false
--- a/services/idp/src/App.jsx 2026-04-24 21:57:00.894599634 +0300
+++ b/services/idp/src/App.jsx 2026-04-24 22:24:12.978001165 +0300
@@ -1,14 +1,12 @@
import React, { ReactElement, Suspense, lazy } from 'react';
import PropTypes from 'prop-types';
-import { MuiThemeProvider } from '@material-ui/core/styles';
-import { defaultTheme as theme } from 'kpop/es/theme';
+import { MuiThemeProvider, createTheme } from '@material-ui/core/styles';
-import 'kpop/static/css/base.css';
-import 'kpop/static/css/scrollbar.css';
-
import Spinner from './components/Spinner';
import * as version from './version';
+
+const theme = createTheme();
const LazyMain = lazy(() => import(/* webpackChunkName: "identifier-main" */ './Main'));
@@ -1,33 +1,23 @@
{
lib,
stdenv,
mkDerivationWith,
fetchFromGitHub,
doxygen,
gtk3,
libopenshot,
python3,
qtbase,
qtsvg,
qtwayland,
wayland,
waylandSupport ? stdenv.hostPlatform.isLinux,
wrapGAppsHook3,
python3Packages,
}:
let
python3Packages.buildPythonApplication (finalAttrs: {
pname = "openshot-qt";
version = "3.3.0";
version = "3.5.1-unstable-2026-04-22";
src = fetchFromGitHub {
owner = "OpenShot";
repo = "openshot-qt";
tag = "v${version}";
hash = "sha256-+QI1772ys1Czd+KSVBAdAUjLg9mUcMZs+UhkNljY7nQ=";
rev = "930ff919762570eaf35a879574da8f8da9f196be";
hash = "sha256-o0BPEzkEAyoZkPkiR9G8i2nANgDFI4wjD5b9hGOqB0c=";
};
in
mkDerivationWith python3.pkgs.buildPythonApplication {
format = "setuptools";
inherit pname version src;
outputs = [ "out" ]; # "lib" can't be split
@@ -38,43 +28,29 @@ mkDerivationWith python3.pkgs.buildPythonApplication {
buildInputs = [
gtk3
]
++ lib.optionals waylandSupport [
qtwayland
wayland
];
propagatedBuildInputs = with python3.pkgs; [
propagatedBuildInputs = with python3Packages; [
httplib2
libopenshot
pyqtwebengine
pyzmq
requests
sip
pyside6
];
strictDeps = true;
preConfigure = ''
# the builder tries to create caching directories during install
export HOME=$(mktemp -d)
'';
doCheck = false;
dontWrapGApps = true;
dontWrapQtApps = true;
# https://github.com/OpenShot/openshot-qt/blob/930ff919762570eaf35a879574da8f8da9f196be/src/launch.py#L86
# imports qt_api.py from its own site-packages directory
postFixup = ''
wrapProgram $out/bin/openshot-qt \
''
# Fix toolbar icons on Darwin
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
--suffix QT_PLUGIN_PATH : "${lib.getBin qtsvg}/${qtbase.qtPluginPrefix}" \
''
+ ''
"''${gappsWrapperArgs[@]}" \
"''${qtWrapperArgs[@]}"
--prefix PYTHONPATH : "$out/${python3Packages.python.sitePackages}/openshot_qt"
'';
passthru = {
@@ -97,4 +73,4 @@ mkDerivationWith python3.pkgs.buildPythonApplication {
maintainers = [ ];
platforms = lib.platforms.unix;
};
}
})
+3 -3
View File
@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "outline";
version = "1.6.1";
version = "1.7.0";
src = fetchFromGitHub {
owner = "outline";
repo = "outline";
rev = "v${finalAttrs.version}";
hash = "sha256-T9oMnDYbkT50IOCflL7tay0iUXui7sW+gxddGKOvzbk=";
hash = "sha256-QFzLHWmU2DrmKAR5ZKAtnHXZdBfgUfGpTJ6c1zi7//k=";
};
missingHashes = ./missing-hashes.json;
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
offlineCache = yarn-berry_4.fetchYarnBerryDeps {
inherit (finalAttrs) src missingHashes;
hash = "sha256-4JmXn8/R0IssZrVyk6OMo5ZsSdo+Wmcr6cvuviMi4GA=";
hash = "sha256-07/cWCIAsT+zZR6BKEirGfRFw3UaImMMJPSYvmN4g7E=";
};
buildPhase = ''
-59
View File
@@ -1,59 +0,0 @@
{
lib,
stdenv,
qt5,
appstream,
fetchFromGitHub,
cmake,
librsvg,
itstool,
docbook_xsl,
}:
stdenv.mkDerivation rec {
version = "20.0";
pname = "pentobi";
src = fetchFromGitHub {
owner = "enz";
repo = "pentobi";
rev = "v${version}";
sha256 = "sha256-DQM3IJ0pRkX4OsrjZGROg50LfKb621UnpvtqSjxchz8=";
};
nativeBuildInputs = [
cmake
docbook_xsl
qt5.qttools
qt5.wrapQtAppsHook
];
buildInputs = [
appstream
qt5.qtbase
qt5.qtsvg
qt5.qtquickcontrols2
qt5.qtwebview
itstool
librsvg
];
patchPhase = ''
substituteInPlace pentobi_thumbnailer/CMakeLists.txt --replace "/manpages" "/share/xml/docbook-xsl/manpages/"
substituteInPlace pentobi/unix/CMakeLists.txt --replace "/manpages" "/share/xml/docbook-xsl/manpages/"
substituteInPlace pentobi/docbook/CMakeLists.txt --replace "/html" "/share/xml/docbook-xsl/html"
'';
cmakeFlags = [
"-DCMAKE_VERBOSE_MAKEFILE=1"
"-DDOCBOOKXSL_DIR=${docbook_xsl}"
"-DMETAINFO_ITS=${appstream}/share/gettext/its/metainfo.its"
];
meta = {
description = "Computer opponent for the board game Blokus";
homepage = "https://pentobi.sourceforge.io";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
}
+17
View File
@@ -0,0 +1,17 @@
{
lib,
config,
python3Packages,
# For aliases
plover,
}:
python3Packages.toPythonApplication python3Packages.plover
# Aliases to now-dropped plover.stable and plover.dev
# Added 2026-04-22
# TODO(@ShamrockLee): remove after Nixpkgs 25.11 EOL
// lib.optionalAttrs (config.allowAliases && !(lib.oldestSupportedReleaseIsAtLeast 2605)) {
dev =
lib.throwIf (lib.oldestSupportedReleaseIsAtLeast 2511) "plover.dev was renamed. Use plover instead."
plover; # Added 2026-04-26
stable = throw "plover.stable was renamed. Use plover instead."; # Added 2022-06-05; updated 2026-04-26
}
+3
View File
@@ -0,0 +1,3 @@
{ python3Packages }:
python3Packages.toPythonApplication python3Packages.plover_4
+3
View File
@@ -0,0 +1,3 @@
{ python3Packages }:
python3Packages.toPythonApplication python3Packages.plover_5
@@ -3,25 +3,15 @@
stdenv,
fetchFromGitHub,
cmake,
wrapQtAppsHook,
qtbase,
qtmultimedia,
qtimageformats,
qtx11extras,
qttools,
libidn,
qca-qt5,
qt6,
kdePackages,
libxscrnsaver,
hunspell,
libsecret,
libgcrypt,
libgpg-error,
usrsctp,
qtkeychain,
chatType ? "basic", # See the assertion below for available options
qtwebkit,
qtwebengine,
enablePlugins ? true,
html-tidy,
@@ -34,12 +24,17 @@
gst_all_1,
enablePsiMedia ? false,
pkg-config,
# For tests
psi-plus,
}:
assert lib.assertMsg (lib.toLower chatType != "webkit")
"psi-plus: chatType = \"webkit\" was removed because qtwebkit had known vulns and has no Qt6 equivalent. Use chatType = \"webengine\" instead.";
assert builtins.elem (lib.toLower chatType) [
"basic" # Basic implementation, no web stuff involved
"webkit" # Legacy one, based on WebKit (see https://wiki.qt.io/Qt_WebKit)
"webengine" # QtWebEngine (see https://wiki.qt.io/QtWebEngine)
"webengine"
];
assert enablePsiMedia -> enablePlugins;
@@ -47,43 +42,40 @@ assert enablePsiMedia -> enablePlugins;
stdenv.mkDerivation rec {
pname = "psi-plus";
version = "1.5.2115";
version = "1.5.2139";
src = fetchFromGitHub {
owner = "psi-plus";
repo = "psi-plus-snapshots";
rev = version;
sha256 = "sha256-4is3ksl6IsYP1L0WhTT/56QUtR+EC1X6Lftre2BO6pM=";
tag = version;
hash = "sha256-wgR809rOtcKvim2gPm9MeiB67pU+EiRktpW5BCJqWs8=";
};
cmakeFlags = [
"-DCHAT_TYPE=${chatType}"
"-DENABLE_PLUGINS=${if enablePlugins then "ON" else "OFF"}"
"-DBUILD_PSIMEDIA=${if enablePsiMedia then "ON" else "OFF"}"
"-DUSE_QT6=ON"
];
nativeBuildInputs = [
cmake
qttools
wrapQtAppsHook
qt6.qttools
qt6.wrapQtAppsHook
]
++ lib.optionals enablePsiMedia [
pkg-config
];
buildInputs = [
qtbase
qtmultimedia
qtimageformats
qtx11extras
libidn
qca-qt5
qt6.qtbase
qt6.qtmultimedia
kdePackages.qca
libxscrnsaver
hunspell
libsecret
libgcrypt
libgpg-error
usrsctp
qtkeychain
kdePackages.qtkeychain
]
++ lib.optionals voiceMessagesSupport [
gst_all_1.gst-plugins-base
@@ -95,11 +87,8 @@ stdenv.mkDerivation rec {
libotr
libomemo-c
]
++ lib.optionals (chatType == "webkit") [
qtwebkit
]
++ lib.optionals (chatType == "webengine") [
qtwebengine
qt6.qtwebengine
];
preFixup = lib.optionalString voiceMessagesSupport ''
@@ -108,6 +97,10 @@ stdenv.mkDerivation rec {
)
'';
passthru.tests = {
webengine = psi-plus.override { chatType = "webengine"; };
};
meta = {
homepage = "https://psi-plus.com";
description = "XMPP (Jabber) client based on Qt5";
+2 -2
View File
@@ -21,10 +21,10 @@
}:
let
pname = "qtcreator";
version = "19.0.0";
version = "19.0.1";
src = fetchurl {
url = "mirror://qt/official_releases/${pname}/${lib.versions.majorMinor version}/${version}/qt-creator-opensource-src-${version}.tar.xz";
hash = "sha256-9/ab0AdGKkYGeHwTDoNYPbRBbfYnv3d9M5RPI8rqz20=";
hash = "sha256-IAVmOmlQOyQETf7QdwajTETKvBn0dqwcEUTe8cSr+r4=";
};
goModules =
(buildGoModule {
+5 -5
View File
@@ -1,8 +1,8 @@
diff --git a/src/node/desktop/CMakeLists.txt b/src/node/desktop/CMakeLists.txt
index bccf5b3..71e10a7 100644
index 7917f0b59e..38d0023922 100644
--- a/src/node/desktop/CMakeLists.txt
+++ b/src/node/desktop/CMakeLists.txt
@@ -117,11 +117,7 @@ file(MAKE_DIRECTORY "${ELECTRON_BINARY_DIR}")
@@ -201,11 +201,7 @@ file(MAKE_DIRECTORY "${ELECTRON_BINARY_DIR}")
file(
COPY "${CMAKE_CURRENT_SOURCE_DIR}/"
DESTINATION "${ELECTRON_BINARY_DIR}/"
@@ -16,13 +16,13 @@ index bccf5b3..71e10a7 100644
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/src/main/build-info.ts.in
diff --git a/src/node/desktop/package.json b/src/node/desktop/package.json
index df92166..47ca4b4 100644
index 613361fb8a..0b186c9a76 100644
--- a/src/node/desktop/package.json
+++ b/src/node/desktop/package.json
@@ -10,7 +10,7 @@
"scripts": {
@@ -11,7 +11,7 @@
"clean": "ts-node scripts/clean.ts",
"lint": "eslint ./src ./test",
"typecheck": "tsc --noEmit",
- "package": "npm ci && electron-forge package",
+ "package": "electron-forge package",
"start": "electron-forge start -- --no-sandbox",
@@ -1,16 +1,18 @@
diff --git a/src/gwt/build.xml b/src/gwt/build.xml
index 27ffe33..4218678 100644
index abf850ee3d..3e3d5fea57 100644
--- a/src/gwt/build.xml
+++ b/src/gwt/build.xml
@@ -139,11 +139,6 @@
@@ -267,13 +267,6 @@
<echo message="panmirror minify: ${panmirror.minify}"/>
<mkdir dir="${panmirror.build.dir}"/>
- <exec executable="${yarn.bin}" dir="${panmirror.dir}" resolveexecutable="true" failonerror="true">
- <arg value="install"/>
- <arg value="--network-timeout"/>
- <arg value="240000"/>
- </exec>
- <retry retrycount="3">
- <exec executable="${yarn.bin}" dir="${panmirror.dir}" resolveexecutable="true" failonerror="true">
- <arg value="install"/>
- <arg value="--network-timeout"/>
- <arg value="240000"/>
- </exec>
- </retry>
<exec executable="${yarn.bin}" dir="${panmirror.dir}" resolveexecutable="true" failonerror="true">
<arg value="build"/>
<arg value="--minify"/>
+22 -18
View File
@@ -17,15 +17,16 @@
git,
jdk,
makeWrapper,
nodejs-slim,
nodejs,
npmHooks,
python3,
xcbuild,
yarn,
yarnConfigHook,
zip,
boost187,
electron_38,
boost190,
electron_39,
fontconfig,
gnumake,
hunspellDicts,
@@ -44,7 +45,8 @@
}:
let
electron = electron_38;
electron = electron_39;
boost = boost190;
mathJaxSrc = fetchzip {
url = "https://s3.amazonaws.com/rstudio-buildtools/mathjax-27.zip";
@@ -62,8 +64,8 @@ let
owner = "quarto-dev";
repo = "quarto";
# Note: rev should ideally be the last commit of the release/rstudio-[codename] branch
rev = "591b3520eafbb4da7b26b9f31aac6948801f19d8";
hash = "sha256-scdm66Ekfjp5wdNDXcVZA5ZhNgFvuf/kIBF56HrE8uM=";
rev = "8c1669f3095c5afee6bcd98a659d51a43300bda9";
hash = "sha256-01urKiFz5iDtW8r+w7zwUDXUOKZIOhi/ip329RsuQ+Q=";
};
hunspellDictionaries = lib.filter lib.isDerivation (lib.unique (lib.attrValues hunspellDicts));
@@ -85,13 +87,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "rstudio";
version = "2026.01.1+403";
version = "2026.04.0+526";
src = fetchFromGitHub {
owner = "rstudio";
repo = "rstudio";
tag = "v${finalAttrs.version}";
hash = "sha256-s+t48LLvxdit6US6MB4DvpEZtUY6SSK5Qha1k4VW0Qk=";
hash = "sha256-6oHH3C3/MGFSOuI+FvyrLyOKRyy455Wkr75ZL8ZeiWg=";
};
# sources fetched into _deps via cmake's FetchContent
@@ -123,7 +125,7 @@ stdenv.mkDerivation (finalAttrs: {
dontBuild = true;
dontFixup = true;
outputHash = "sha256-t2kWnviFMw7TdxaJpiGDXe0M5HSIGD7o5hqWiPKUdOc=";
outputHash = "sha256-XzSDU4GVY6OrIFG4qCWUF94nV6fcz9zyFSlSvttVrYw=";
outputHashAlgo = "sha256";
outputHashMode = "recursive";
};
@@ -135,7 +137,7 @@ stdenv.mkDerivation (finalAttrs: {
ant
jdk
nodejs-slim
nodejs
yarn
yarnConfigHook
zip
@@ -145,12 +147,12 @@ stdenv.mkDerivation (finalAttrs: {
]
++ lib.optionals (!server) [
makeWrapper
(nodejs-slim.python.withPackages (ps: [ ps.setuptools ]))
(python3.withPackages (ps: [ ps.setuptools ]))
npmHooks.npmConfigHook
];
buildInputs = [
boost187
boost
libuuid
openssl
R
@@ -249,7 +251,7 @@ stdenv.mkDerivation (finalAttrs: {
name = "rstudio-${finalAttrs.version}-npm-deps";
inherit (finalAttrs) src;
postPatch = "cd ${finalAttrs.npmRoot}";
hash = "sha256-7gXLCFhan/TCTlc2okMWuWzfRYXmuwcqhmGKAqJOEM0=";
hash = "sha256-lO+wJk0HWYrKO1Rqz8laVpZK5RUfA9ijYvtPEtVf1r4=";
};
preConfigure = ''
@@ -285,12 +287,12 @@ stdenv.mkDerivation (finalAttrs: {
# node used by cmake and node used for distribution
# version in cmake/globals.cmake
RSTUDIO_NODE_VERSION="22.13.1"
RSTUDIO_INSTALLED_NODE_VERSION="22.21.1"
RSTUDIO_NODE_VERSION="22.22.2"
RSTUDIO_INSTALLED_NODE_VERSION="22.22.2"
mkdir -p dependencies/common/node
ln -s ${nodejs-slim} dependencies/common/node/$RSTUDIO_NODE_VERSION
ln -s ${nodejs-slim} dependencies/common/node/$RSTUDIO_INSTALLED_NODE_VERSION-installed
ln -s ${nodejs} dependencies/common/node/$RSTUDIO_NODE_VERSION
ln -s ${nodejs} dependencies/common/node/$RSTUDIO_INSTALLED_NODE_VERSION-installed
''
+ lib.optionalString (!server) ''
@@ -314,7 +316,9 @@ stdenv.mkDerivation (finalAttrs: {
rm -r electron-dist
# force @electron/packager to use our electron instead of downloading it
substituteInPlace node_modules/@electron/packager/dist/packager.js \
substituteInPlace \
node_modules/@electron/packager/dist/packager.js \
node_modules/@electron-forge/core/node_modules/@electron/packager/dist/packager.js \
--replace-fail "await this.getElectronZipPath(downloadOpts)" "'$(pwd)/electron.zip'"
# now that we patched everything, we still have to run the scripts we ignored with --ignore-scripts
+2 -2
View File
@@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "sigma-cli";
version = "3.0.1";
version = "3.0.2";
pyproject = true;
src = fetchFromGitHub {
owner = "SigmaHQ";
repo = "sigma-cli";
tag = "v${version}";
hash = "sha256-BBuiLQXGUc3hDF/Dnbs6dNHBMqz43ZtrtnPXTz8r3kQ=";
hash = "sha256-46M/WD2BIPMpABai4WZBmxjgI+skwcaRJwPFGXje5y4=";
};
pythonRelaxDeps = [ "click" ];
+3 -2
View File
@@ -12,7 +12,7 @@
# runtime
lksctp-tools,
hyperscan,
vectorscan,
libxcrypt,
openssl,
pkg-config,
@@ -62,10 +62,10 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
hyperscan
libxcrypt
openssl
sqlite
vectorscan
]
++ lib.optionals stdenv.hostPlatform.isLinux [
lksctp-tools
@@ -85,6 +85,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/solanum-ircd/solanum";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ hexa ];
mainProgram = "solanum";
platforms = lib.platforms.unix;
};
})
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "spruce";
version = "1.32.0";
version = "1.35.0";
src = fetchFromGitHub {
owner = "geofffranks";
repo = "spruce";
rev = "v${finalAttrs.version}";
hash = "sha256-KTitSKzXa2HudgByLl5P1cWBr0BxxuOO1GRKI26galE=";
hash = "sha256-+vWevbRp6SyyCxj/EzzyLkqNsF/E4Zyk7qwI5oCDvdk=";
};
vendorHash = null;
-137
View File
@@ -1,137 +0,0 @@
{
lib,
stdenv,
fetchurl,
fetchzip,
makeDesktopItem,
glib,
qt5,
libsForQt5,
perl,
libcxx,
autoPatchelfHook,
copyDesktopItems,
}:
let
pluginsdk = fetchzip {
url = "https://files.teamspeak-services.com/releases/sdk/3.3.1/ts_sdk_3.3.1.zip";
hash = "sha256-wx4pBZHpFPoNvEe4xYE80KnXGVda9XcX35ho4R8QxrQ=";
};
in
stdenv.mkDerivation rec {
pname = "teamspeak3";
version = "3.6.2";
src = fetchurl {
url = "https://files.teamspeak-services.com/releases/client/${version}/TeamSpeak3-Client-linux_amd64-${version}.run";
hash = "sha256-WfEQQ4lxoj+QSnAOfdCoEc+Z1Oa5dbo6pFli1DsAZCI=";
};
nativeBuildInputs = [
perl # Installer script needs `shasum`
qt5.wrapQtAppsHook
autoPatchelfHook
copyDesktopItems
];
buildInputs = [
libsForQt5.quazip
glib
libcxx
]
++ (with qt5; [
qtbase
qtwebengine
qtwebchannel
qtwebsockets
qtsvg
]);
# This runs the installer script. If it gets stuck, run it with -x.
# If it then gets stuck at something like:
#
# ++ exec
# + PAGER_PATH=
#
# it's looking for a dependency and didn't find it. Check the script and make
# sure the dep is in nativeBuildInputs.
unpackPhase = ''
runHook preUnpack
# Run the installer script non-interactively
echo -e '\ny' | PAGER=cat sh -e $src
cd TeamSpeak3-Client-linux_amd64
runHook postUnpack
'';
patchPhase = ''
runHook prePatch
# Delete unecessary libraries - these are provided by nixos.
find . -\( -name '*.so' -or -name '*.so.*' -\) -print0 | xargs -0 rm # I hate find.
rm QtWebEngineProcess
rm qt.conf
mv ts3client_linux_amd64 ts3client
# Our libquazip's so name has this suffix and there is no symlink
patchelf --replace-needed libquazip.so libquazip1-qt5.so ts3client error_report
runHook postPatch
'';
dontConfigure = true;
dontBuild = true;
desktopItems = [
(makeDesktopItem {
name = "teamspeak";
exec = "ts3client";
icon = "teamspeak";
comment = "The TeamSpeak voice communication tool";
desktopName = "TeamSpeak";
genericName = "TeamSpeak";
categories = [ "Network" ];
})
];
qtWrapperArgs = [
# wayland is currently broken, remove when TS3 fixes that
"--set QT_QPA_PLATFORM xcb"
];
installPhase = ''
runHook preInstall
mkdir -p $out/opt/teamspeak
mv * $out/opt/teamspeak/
# Grab the desktop icon from the plugin sdk
install ${pluginsdk}/doc/_static/logo.png -D $out/share/icons/hicolor/64x64/apps/teamspeak.png
mkdir -p $out/bin/
ln -s $out/opt/teamspeak/ts3client $out/bin/ts3client
runHook postInstall
'';
meta = {
description = "TeamSpeak voice communication tool";
homepage = "https://teamspeak.com/";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.teamspeak;
maintainers = with lib.maintainers; [
lhvwb
lukegb
atemu
];
mainProgram = "ts3client";
platforms = [ "x86_64-linux" ];
};
}
+10 -6
View File
@@ -9,16 +9,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "wasm-pack";
version = "0.13.1";
version = "0.14.0";
src = fetchFromGitHub {
owner = "rustwasm";
owner = "wasm-bindgen";
repo = "wasm-pack";
tag = "v${finalAttrs.version}";
hash = "sha256-CN1LcLX7ag+in9sosT2NYVKfhDLGv2m3zHOk2T4MFYc=";
hash = "sha256-ik6AJUKuT3GCDTZbHWcplcB7cS0CIcZwFNa6SvGzsIQ=";
};
cargoHash = "sha256-nYWvk2v+4IAk/y7fg+Z/nMH+Ml+J5k5ER8uudCQOMB8=";
cargoHash = "sha256-n9xuwlj8+3fDTHMS2XobqWFc6mNHQcmmvebRDc82oSo=";
nativeBuildInputs = [
cmake
@@ -32,13 +32,17 @@ rustPlatform.buildRustPackage (finalAttrs: {
doCheck = false;
meta = {
changelog = "https://github.com/wasm-bindgen/wasm-pack/blob/v${finalAttrs.version}/CHANGELOG.md";
description = "Utility that builds rust-generated WebAssembly package";
mainProgram = "wasm-pack";
homepage = "https://github.com/rustwasm/wasm-pack";
homepage = "https://github.com/wasm-bindgen/wasm-pack";
license = with lib.licenses; [
asl20 # or
mit
];
maintainers = [ lib.maintainers.dhkl ];
maintainers = with lib.maintainers; [
dhkl
hythera
];
};
})
+1 -8
View File
@@ -5,7 +5,6 @@
fetchpatch,
cmake,
perl,
enableGui ? false,
enableJupyter ? true,
boost,
jsoncpp,
@@ -14,7 +13,6 @@
enableJava ? false,
openjdk,
gtest,
libsForQt5,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -31,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
hardeningDisable = [ "format" ];
cmakeFlags = [
"-DENABLE_CYACAS_GUI=${if enableGui then "ON" else "OFF"}"
"-DENABLE_CYACAS_GUI=OFF"
"-DENABLE_CYACAS_KERNEL=${if enableJupyter then "ON" else "OFF"}"
"-DENABLE_JYACAS=${if enableJava then "ON" else "OFF"}"
"-DENABLE_CYACAS_UNIT_TESTS=ON"
@@ -66,11 +64,6 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
]
++ lib.optionals enableGui [
libsForQt5.qtbase
libsForQt5.wrapQtAppsHook
libsForQt5.qtwebengine
]
++ lib.optionals enableJupyter [
boost
jsoncpp
@@ -2,7 +2,6 @@
stdenv,
lib,
fetchFromGitLab,
fetchpatch,
gitUpdater,
nixosTests,
testers,
@@ -37,13 +36,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-content-hub";
version = "2.2.2";
version = "2.2.3";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri-content-hub";
tag = finalAttrs.version;
hash = "sha256-ukaEur2RgdIVPYm90OUCs0L+F9OQ3zaypreyx33iD5M=";
hash = "sha256-48G17gzvk1ENgZHDjjvuHyyCiUfK8rkyokU2gNJ9KVg=";
};
outputs = [
@@ -55,15 +54,6 @@ stdenv.mkDerivation (finalAttrs: {
"doc"
];
patches = [
# Remove when version > 2.2.2
(fetchpatch {
name = "0001-lomiri-content-hub-Properly-include-lomiri-api-includedirs.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-content-hub/-/commit/dab1854e5ec0a91fd28c9d84f06dcdd0af39518b.patch";
hash = "sha256-aQB8kLL2ZkKUOvFoDQ9rottFsCSNJ66wUjUZxP+kr5k=";
})
];
postPatch = ''
substituteInPlace import/*/Content/CMakeLists.txt \
--replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt\''${QT_VERSION_MAJOR}/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
@@ -24,10 +24,24 @@ let
let
result = f origArgs;
overrideWith =
# Preserve the plain arguments whenever possible,
# as `overrideStdenvCompat` works more reliably with `args.stdenv`
# than `result.__stdenvPythonCompat`.
# TODO(@ShamrockLee): After `overrideStdenvCompat` is fully deprecated,
# simplify as
# ```nix
# newArgs: lib.extends (lib.toExtension newArgs) origArgs
# ```
if lib.isFunction origArgs then
newArgs: lib.extends (_: lib.toFunction newArgs) origArgs
newArgs: lib.extends (lib.toExtension newArgs) origArgs
else
newArgs: origArgs // lib.toFunction newArgs origArgs;
newArgs:
if !(lib.isFunction newArgs) then
origArgs // newArgs
else if !(lib.isFunction (newArgs origArgs)) then
origArgs // newArgs origArgs
else
finalAttrs: origArgs // newArgs finalAttrs origArgs;
in
if lib.isAttrs result then
result
@@ -16,7 +16,6 @@
libxt,
qtbase,
qttools,
qtwebengine,
readline,
qtwebsockets,
qtwayland,
@@ -27,7 +26,6 @@
supercolliderPlugins,
writeText,
runCommand,
withWebengine ? false, # vulnerable, so disabled by default
}:
stdenv.mkDerivation rec {
@@ -82,7 +80,6 @@ stdenv.mkDerivation rec {
qtwayland
readline
]
++ lib.optional withWebengine qtwebengine
++ lib.optional (!stdenv.hostPlatform.isDarwin) alsa-lib;
hardeningDisable = [ "stackprotector" ];
@@ -90,7 +87,7 @@ stdenv.mkDerivation rec {
cmakeFlags = [
"-DSC_WII=OFF"
"-DSC_EL=${if useSCEL then "ON" else "OFF"}"
(lib.cmakeBool "SC_USE_QTWEBENGINE" withWebengine)
(lib.cmakeBool "SC_USE_QTWEBENGINE" false)
];
passthru = {
@@ -189,18 +189,6 @@ let
hash = "sha256-B/z/+tai01RU/bAJSCp5a0/dGI8g36nwso8MiJv27YM=";
})
];
qtwebengine = [
./qtwebengine-link-pulseaudio.patch
# Fixes Chromium build failure with Ninja 1.12.
# See: https://bugreports.qt.io/browse/QTBUG-124375
# Backport of: https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=a766045f65f934df3b5f1aa63bc86fbb3e003a09
./qtwebengine-ninja-1.12.patch
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
./qtwebengine-darwin-no-platform-check.patch
./qtwebengine-mac-dont-set-dsymutil-path.patch
./qtwebengine-darwin-checks.patch
];
qtwebkit = [
(fetchpatch {
name = "qtwebkit-python39-json.patch";
@@ -315,26 +303,9 @@ let
qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix { };
qtwayland = callPackage ../modules/qtwayland.nix { };
qtwebchannel = callPackage ../modules/qtwebchannel.nix { };
qtwebengine =
# Actually propagating stdenv change
let
# Wont build with Clang 20, as `-Wenum-constexpr-conversion`
# was made a hard error.
# qt5webengine no longer maintained, FTBFS with GCC 15
stdenv' = if stdenv.cc.isClang then llvmPackages_19.stdenv else gcc14Stdenv;
qtModule' = qtModuleWithStdenv stdenv';
in
callPackage ../modules/qtwebengine.nix {
inherit (srcs.qtwebengine) version;
inherit (darwin) bootstrap_cmds;
stdenv = stdenv';
qtModule = qtModule';
python = python3;
};
qtwebglplugin = callPackage ../modules/qtwebglplugin.nix { };
qtwebkit = callPackage ../modules/qtwebkit.nix { };
qtwebsockets = callPackage ../modules/qtwebsockets.nix { };
qtwebview = callPackage ../modules/qtwebview.nix { };
qtx11extras = callPackage ../modules/qtx11extras.nix { };
qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix { };
@@ -1,29 +0,0 @@
diff --git a/configure.pri b/configure.pri
index 3a33bdc82..c1460b8b5 100644
--- a/configure.pri
+++ b/configure.pri
@@ -442,24 +442,6 @@ defineTest(qtwebengine_isWindowsPlatformSupported) {
}
defineTest(qtwebengine_isMacOsPlatformSupported) {
- !qtwebengine_isMinXcodeVersion(10, 0, 0) {
- qtwebengine_platformError("requires at least version 10.0.0, but using Xcode version $${QMAKE_XCODE_VERSION}.")
- return(false)
- }
- !clang|intel_icc {
- qtwebengine_platformError("requires Clang.")
- return(false)
- }
- # We require macOS 10.13 (darwin version 17.0.0) or newer.
- darwin_major_version = $$section(QMAKE_HOST.version, ., 0, 0)
- lessThan(darwin_major_version, 17) {
- qtwebengine_platformError("requires macOS version 10.13 or newer.")
- return(false)
- }
- !qtwebengine_isMinOSXSDKVersion(10, 13): {
- qtwebengine_platformError("requires a macOS SDK version of 10.13 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
- return(false)
- }
CONFIG(debug, debug|release):isUniversal(){
qtwebengine_platformError("Universal builds can not be done with debug configuration due to large binary size.")
return(false)
@@ -1,12 +0,0 @@
diff a/src/buildtools/config/mac_osx.pri b/src/buildtools/config/mac_osx.pri
--- a/src/buildtools/config/mac_osx.pri
+++ b/src/buildtools/config/mac_osx.pri
@@ -5,8 +5,6 @@ load(functions)
# otherwise query for it.
QMAKE_MAC_SDK_VERSION = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.SDKVersion)
isEmpty(QMAKE_MAC_SDK_VERSION) {
- QMAKE_MAC_SDK_VERSION = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version SDKVersion 2>/dev/null")
- isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'")
}
# chromium/build/mac/find_sdk.py expects the SDK version (mac_sdk_min) in Major.Minor format.
@@ -1,8 +0,0 @@
--- a/src/core/config/common.pri
+++ b/src/core/config/common.pri
@@ -47,3 +47,5 @@
!qtConfig(webengine-nodejs10): gn_args += use_rollup=false
gn_args += enable_ipc_logging=false
+
+gn_args += link_pulseaudio=true
@@ -1,12 +0,0 @@
diff a/src/3rdparty/chromium/build/toolchain/mac/BUILD.gn b/src/3rdparty/chromium/build/toolchain/mac/BUILD.gn
--- a/src/3rdparty/chromium/build/toolchain/mac/BUILD.gn
+++ b/src/3rdparty/chromium/build/toolchain/mac/BUILD.gn
@@ -184,8 +184,6 @@ template("mac_toolchain") {
# If dSYMs are enabled, this flag will be added to the link tools.
if (_enable_dsyms) {
dsym_switch = " -Wcrl,dsym,{{root_out_dir}} "
- dsym_switch += "-Wcrl,dsymutilpath," +
- "${prefix}dsymutil" + " "
dsym_output_dir =
"{{root_out_dir}}/{{target_output_name}}{{output_extension}}.dSYM"
@@ -1,11 +0,0 @@
diff -ur a/src/3rdparty/chromium/content/public/browser/BUILD.gn b/src/3rdparty/chromium/content/public/browser/BUILD.gn
--- a/src/3rdparty/chromium/content/public/browser/BUILD.gn 1969-12-31 19:00:01.000000000 -0500
+++ b/src/3rdparty/chromium/content/public/browser/BUILD.gn 2024-05-29 22:12:36.416136269 -0400
@@ -469,6 +469,7 @@
"//build:chromeos_buildflags",
"//cc",
"//components/viz/host",
+ "//components/spellcheck:buildflags",
"//content/browser", # Must not be public_deps!
"//device/fido",
"//gpu",
@@ -1,529 +0,0 @@
{
qtModule,
qtdeclarative,
qtquickcontrols,
qtlocation,
qtwebchannel,
fetchpatch,
fetchpatch2,
bison,
flex,
gperf,
ninja,
pkg-config,
python,
which,
nodejs,
perl,
buildPackages,
pkgsBuildTarget,
pkgsBuildBuild,
expat,
libxdamage,
libxcomposite,
xrandr,
libxkbfile,
libpciaccess,
libxcursor,
libxscrnsaver,
libxrandr,
libxtst,
fontconfig,
freetype,
harfbuzz,
icu,
dbus,
libdrm,
zlib,
minizip,
libjpeg,
libpng,
libtiff,
libwebp,
libopus,
jsoncpp,
protobuf,
libvpx,
srtp,
snappy,
nss,
libevent,
alsa-lib,
pulseaudio,
libcap,
pciutils,
systemd,
enableProprietaryCodecs ? true,
gn,
cctools,
cups,
bootstrap_cmds,
xcbuild,
writeScriptBin,
ffmpeg_7 ? null,
lib,
stdenv,
version ? null,
qtCompatVersion,
pipewireSupport ? stdenv.hostPlatform.isLinux,
pipewire,
postPatch ? "",
nspr,
lndir,
}:
let
# qtwebengine expects to find an executable in $PATH which runs on
# the build platform yet knows about the host `.pc` files. Most
# configury allows setting $PKG_CONFIG to point to an
# arbitrarily-named script which serves this purpose; however QT
# insists that it is named `pkg-config` with no target prefix. So
# we re-wrap the host platform's pkg-config.
pkg-config-wrapped-without-prefix = stdenv.mkDerivation {
name = "pkg-config-wrapper-without-target-prefix";
dontUnpack = true;
dontBuild = true;
installPhase = ''
mkdir -p $out/bin
ln -s '${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config' $out/bin/pkg-config
'';
};
in
qtModule (
{
pname = "qtwebengine";
nativeBuildInputs = [
bison
flex
gperf
ninja
pkg-config
(python.withPackages (ps: [ ps.html5lib ]))
which
gn
nodejs
]
++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
perl
lndir
(lib.getDev pkgsBuildTarget.targetPackages.qt5.qtbase)
pkgsBuildBuild.pkg-config
(lib.getDev pkgsBuildTarget.targetPackages.qt5.qtquickcontrols)
pkg-config-wrapped-without-prefix
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
bootstrap_cmds
xcbuild
];
doCheck = true;
outputs = [
"bin"
"dev"
"out"
];
enableParallelBuilding = true;
# Dont use the gn setup hook
dontUseGnConfigure = true;
# ninja builds some components with -Wno-format,
# which cannot be set at the same time as -Wformat-security
hardeningDisable = [ "format" ];
patches = [
# Support FFmpeg 5
(fetchpatch2 {
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/qt5-webengine/-/raw/14074e4d789167bd776939037fe6df8d4d7dc0b3/qt5-webengine-ffmpeg5.patch";
hash = "sha256-jTbJFXBPwRMzr8IeTxrv9dtS+/xDS/zR4dysV/bRg3I=";
stripLen = 1;
extraPrefix = "src/3rdparty/";
})
# Support FFmpeg 7
(fetchpatch2 {
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/qt5-webengine/-/raw/e8fb4f86104243b90966b69cdfaa967273d834b6/qt5-webengine-ffmpeg7.patch";
hash = "sha256-YNeHmOVp0M5HB+b91AOxxJxl+ktBtLYVdHlq13F7xtY=";
stripLen = 1;
extraPrefix = "src/3rdparty/chromium/";
})
# Support PipeWire ≥ 0.3
(fetchpatch2 {
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/qt5-webengine/-/raw/c9db2cd9e144bd7a5e9246f5f7a01fe52fd089ba/qt5-webengine-pipewire-0.3.patch";
hash = "sha256-mGexRfVDF3yjNzSi9BjavhzPtsXI0BooSr/rZ1z/BDo=";
stripLen = 1;
extraPrefix = "src/3rdparty/";
})
# Fix race condition exposed by missing dependency
# https://bugs.gentoo.org/933368
./qtwebengine-fix_build_pdf_extension_util.patch
# The latest version of Clang changed what macros it predefines on Apple
# targets, causing errors about predefined macros in zlib.
(fetchpatch2 {
url = "https://github.com/chromium/chromium/commit/2f39ac8d0a414dd65c0e1d5aae38c8f97aa06ae9.patch";
hash = "sha256-3kA2os0IntxIiJwzS5nPd7QWYlOWOpoLKYsOQFYv0Sk=";
stripLen = 1;
extraPrefix = "src/3rdparty/chromium/";
})
# The latest version of Clang changed what macros it predefines on Apple
# targets, causing errors about predefined macros in libpng.
(fetchpatch2 {
url = "https://github.com/chromium/chromium/commit/66defc14abe47c0494da9faebebfa0a5b6efcf38.patch";
hash = "sha256-ErS5Eycls5+xQLGYKz1r/tQC6IcRJWb/WoGsUyzO9WY=";
stripLen = 1;
extraPrefix = "src/3rdparty/chromium/";
})
# https://trac.macports.org/ticket/71563
# src/3rdparty/chromium/third_party/freetype/src/src/gzip/ftzconf.h:228:12: error: unknown type name 'Byte'
(fetchpatch2 {
url = "https://github.com/macports/macports-ports/raw/f9a4136c48020b01ecc6dffa99b88333c360f056/aqua/qt5/files/patch-qtwebengine-chromium-freetype-gzip.diff";
hash = "sha256-NeLmMfYMo80u3h+5GTenMANWfWLPeS35cKg+h3vzW4g=";
extraPrefix = "";
})
# src/3rdparty/chromium/base/process/process_metrics_mac.cc:303:17: error: static assertion expression is not an integral constant expression
(fetchpatch2 {
url = "https://github.com/macports/macports-ports/raw/f9a4136c48020b01ecc6dffa99b88333c360f056/aqua/qt5/files/patch-qtwebengine_chromium_static_page_size.diff";
hash = "sha256-8TFN5XU0SUvPJCFU6wvcKP5a8HCd0ygUnLT8BF4MZ/E=";
extraPrefix = "";
})
# Add "-target-feature +aes" to the arm crc32c build flags
(fetchpatch2 {
url = "https://github.com/chromium/chromium/commit/9f43d823b6b4cdea62f0cc7563ff01f9239b8970.patch";
hash = "sha256-2WCx+ZOWA8ZyV2yiSQLx9uFZOoeWQHxLqwLEZsV41QU=";
stripLen = 1;
extraPrefix = "src/3rdparty/chromium/";
})
# Fix build with clang and libc++ 19
# https://github.com/freebsd/freebsd-ports/commit/0ddd6468fb3cb9ba390973520517cb1ca2cd690d
(fetchpatch2 {
url = "https://github.com/freebsd/freebsd-ports/raw/0ddd6468fb3cb9ba390973520517cb1ca2cd690d/www/qt5-webengine/files/patch-libc++19";
hash = "sha256-pSVPnuEpjFHW60dbId5sZ3zHP709EWG4LSWoS+TkgcQ=";
extraPrefix = "";
})
(fetchpatch2 {
url = "https://github.com/freebsd/freebsd-ports/raw/0ddd6468fb3cb9ba390973520517cb1ca2cd690d/www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_wtf_hash__table.h";
hash = "sha256-+vyWC7Indd1oBhvL5fMTlIH4mM4INgISZFAbHsq32Lg=";
extraPrefix = "";
})
(fetchpatch2 {
url = "https://github.com/freebsd/freebsd-ports/raw/0ddd6468fb3cb9ba390973520517cb1ca2cd690d/www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_tracing_internal_track__event__data__source.h";
hash = "sha256-DcAYOV9b30ogPCiedvQimEmiZpUJquk5j6WLjJxR54U=";
extraPrefix = "";
})
# Fix the build with gperf ≥ 3.2 and Clang 19.
./qtwebengine-gperf-3.2.patch
];
postPatch = ''
# Patch Chromium build tools
(
cd src/3rdparty/chromium;
patch -p1 < ${
(fetchpatch {
# support for building with python 3.12
name = "python312-six.patch";
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/qt5-webengine/-/raw/6b0c0e76e0934db2f84be40cb5978cee47266e78/python3.12-six.patch";
hash = "sha256-YgP9Sq5+zTC+U7+0hQjZokwb+fytk0UEIJztUXFhTkI=";
})
}
# Manually fix unsupported shebangs
substituteInPlace third_party/harfbuzz-ng/src/src/update-unicode-tables.make \
--replace "/usr/bin/env -S make -f" "/usr/bin/make -f" || true
# TODO: be more precise
patchShebangs .
)
''
# Prevent Chromium build script from making the path to `clang` relative to
# the build directory. `clang_base_path` is the value of `QMAKE_CLANG_DIR`
# from `src/core/config/mac_osx.pri`.
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace ./src/3rdparty/chromium/build/toolchain/mac/BUILD.gn \
--replace 'prefix = rebase_path("$clang_base_path/bin/", root_build_dir)' 'prefix = "$clang_base_path/bin/"'
''
# Patch library paths in Qt sources
+ ''
sed -i \
-e "s,QLibraryInfo::location(QLibraryInfo::DataPath),QLatin1String(\"$out\"),g" \
-e "s,QLibraryInfo::location(QLibraryInfo::TranslationsPath),QLatin1String(\"$out/translations\"),g" \
-e "s,QLibraryInfo::location(QLibraryInfo::LibraryExecutablesPath),QLatin1String(\"$out/libexec\"),g" \
src/core/web_engine_library_info.cpp
''
# Patch library paths in Chromium sources
+ lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \
src/3rdparty/chromium/device/udev_linux/udev?_loader.cc
sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
src/3rdparty/chromium/gpu/config/gpu_info_collector_linux.cc
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace src/buildtools/config/mac_osx.pri \
--replace 'QMAKE_CLANG_DIR = "/usr"' 'QMAKE_CLANG_DIR = "${stdenv.cc}"'
# Use system ffmpeg
echo "gn_args += use_system_ffmpeg=true" >> src/core/config/mac_osx.pri
echo "LIBS += -lavformat -lavcodec -lavutil" >> src/core/core_common.pri
''
+ postPatch;
env = {
NIX_CFLAGS_COMPILE = toString (
lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
"-w "
]
++ lib.optionals stdenv.cc.isGNU [
# with gcc8, -Wclass-memaccess became part of -Wall and this exceeds the logging limit
"-Wno-class-memaccess"
]
++ lib.optionals (stdenv.hostPlatform.gcc.arch or "" == "sandybridge") [
# it fails when compiled with -march=sandybridge https://github.com/NixOS/nixpkgs/pull/59148#discussion_r276696940
# TODO: investigate and fix properly
"-march=westmere"
]
++ lib.optionals stdenv.cc.isClang [
"-Wno-elaborated-enum-base"
# 5.15.17: need to silence these two warnings
# https://trac.macports.org/ticket/70850
"-Wno-enum-constexpr-conversion"
"-Wno-unused-but-set-variable"
# Clang 19
"-Wno-error=missing-template-arg-list-after-template-kw"
]
);
}
// lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
NIX_CFLAGS_LINK = "-Wl,--no-warn-search-mismatch";
"NIX_CFLAGS_LINK_${buildPackages.stdenv.cc.suffixSalt}" = "-Wl,--no-warn-search-mismatch";
};
preConfigure = ''
export NINJAFLAGS=-j$NIX_BUILD_CORES
if [ -d "$PWD/tools/qmake" ]; then
QMAKEPATH="$PWD/tools/qmake''${QMAKEPATH:+:}$QMAKEPATH"
fi
''
+ lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
export QMAKE_CC=$CC
export QMAKE_CXX=$CXX
export QMAKE_LINK=$CXX
export QMAKE_AR=$AR
'';
qmakeFlags = [
"--"
"-system-ffmpeg"
]
++ lib.optionals (pipewireSupport && stdenv.buildPlatform == stdenv.hostPlatform) [
"-webengine-webrtc-pipewire"
]
++ lib.optionals enableProprietaryCodecs [
"-proprietary-codecs"
];
propagatedBuildInputs = [
qtdeclarative
qtquickcontrols
qtlocation
qtwebchannel
# Image formats
libjpeg
libpng
libtiff
libwebp
# Video formats
srtp
libvpx
# Audio formats
libopus
# Text rendering
harfbuzz
icu
expat
libevent
ffmpeg_7
]
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
dbus
zlib
minizip
snappy
nss
protobuf
jsoncpp
# Audio formats
alsa-lib
pulseaudio
# Text rendering
fontconfig
freetype
libcap
pciutils
# X11 libs
xrandr
libxscrnsaver
libxcursor
libxrandr
libpciaccess
libxtst
libxcomposite
libxdamage
libdrm
libxkbfile
]
++ lib.optionals pipewireSupport [
# Pipewire
pipewire
]
# FIXME These dependencies shouldn't be needed but can't find a way
# around it. Chromium pulls this in while bootstrapping GN.
++ lib.optionals stdenv.hostPlatform.isDarwin [
cctools.libtool
];
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
cups
# `sw_vers` is used by `src/3rdparty/chromium/build/config/mac/sdk_info.py`
# to get some information about the host platform.
(writeScriptBin "sw_vers" ''
#!${stdenv.shell}
while [ $# -gt 0 ]; do
case "$1" in
-buildVersion) echo "17E199";;
*) break ;;
esac
shift
done
'')
];
dontUseNinjaBuild = true;
dontUseNinjaInstall = true;
postInstall =
lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
mkdir -p $out/libexec
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
cat > $out/libexec/qt.conf <<EOF
[Paths]
Prefix = ..
EOF
''
+ ''
# Fix for out-of-sync QtWebEngine and Qt releases (since 5.15.3)
sed 's/${lib.head (lib.splitString "-" version)} /${qtCompatVersion} /' -i "$out"/lib/cmake/*/*Config.cmake
'';
requiredSystemFeatures = [ "big-parallel" ];
meta = {
description = "Web engine based on the Chromium web browser";
mainProgram = "qwebengine_convert_dict";
maintainers = [ ];
# qtwebengine-5.15.8: "QtWebEngine can only be built for x86,
# x86-64, ARM, Aarch64, and MIPSel architectures."
platforms =
with lib.systems.inspect.patterns;
let
inherit (lib.systems.inspect) patternLogicalAnd;
in
lib.concatMap (patternLogicalAnd isUnix) (
lib.concatMap lib.toList [
isx86_32
isx86_64
isAarch32
isAarch64
(patternLogicalAnd isMips isLittleEndian)
]
);
# This build takes a long time; particularly on slow architectures
timeout = 24 * 3600;
knownVulnerabilities = [
''
qt5 qtwebengine is unmaintained upstream since april 2025.
It is based on chromium 87.0.4280.144, and supposedly patched up to 135.0.7049.95 which is outdated.
Security issues are frequently discovered in chromium.
The following list of CVEs was fixed in the life cycle of chromium 138 and likely also affects qtwebengine:
- CVE-2025-8879
- CVE-2025-8880
- CVE-2025-8901
- CVE-2025-8881
- CVE-2025-8882
- CVE-2025-8576
- CVE-2025-8577
- CVE-2025-8578
- CVE-2025-8579
- CVE-2025-8580
- CVE-2025-8581
- CVE-2025-8582
- CVE-2025-8583
- CVE-2025-8292
- CVE-2025-8010
- CVE-2025-8011
- CVE-2025-7656
- CVE-2025-6558 (known to be exploited in the wild)
- CVE-2025-7657
- CVE-2025-6554
- CVE-2025-6555
- CVE-2025-6556
- CVE-2025-6557
The actual list of CVEs affecting qtwebengine is likely much longer,
as this list is missing issues fixed in chromium 136/137 and even more
issues are continuously discovered and lack upstream fixes in qtwebengine.
''
];
};
}
// lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
configurePlatforms = [ ];
# to get progress output in `nix-build` and `nix build -L`
preBuild = ''
export TERM=dumb
'';
depsBuildBuild = [
pkgsBuildBuild.stdenv
zlib
nss
nspr
];
}
)
@@ -1,23 +0,0 @@
{
lib,
stdenv,
qtModule,
qtdeclarative,
qtwebengine,
}:
qtModule {
pname = "qtwebview";
propagatedBuildInputs = [
qtdeclarative
qtwebengine
];
outputs = [
"out"
"dev"
"bin"
];
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
NIX_LDFLAGS = "-framework CoreFoundation -framework WebKit";
};
}

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