staging-next 2024-09-21 (#343421)
This commit is contained in:
@@ -518,8 +518,10 @@ There are a number of variables that control what phases are executed and in wha
|
||||
|
||||
Specifies the phases. You can change the order in which phases are executed, or add new phases, by setting this variable. If it’s not set, the default value is used, which is `$prePhases unpackPhase patchPhase $preConfigurePhases configurePhase $preBuildPhases buildPhase checkPhase $preInstallPhases installPhase fixupPhase installCheckPhase $preDistPhases distPhase $postPhases`.
|
||||
|
||||
The elements of `phases` must not contain spaces. If `phases` is specified as a Nix Language attribute, it should be specified as lists instead of strings. The same rules apply to the `*Phases` variables.
|
||||
|
||||
It is discouraged to set this variable, as it is easy to miss some important functionality hidden in some of the less obviously needed phases (like `fixupPhase` which patches the shebang of scripts).
|
||||
Usually, if you just want to add a few phases, it’s more convenient to set one of the variables below (such as `preInstallPhases`).
|
||||
Usually, if you just want to add a few phases, it’s more convenient to set one of the `*Phases` variables below.
|
||||
|
||||
##### `prePhases` {#var-stdenv-prePhases}
|
||||
|
||||
|
||||
@@ -156,7 +156,7 @@ files_before=$(grep -c 'src = ' "$SRCS")
|
||||
echo "writing output file $SRCS ..."
|
||||
cat >"$SRCS" <<EOF
|
||||
# DO NOT EDIT! This file is generated automatically.
|
||||
# Command: $0 $@
|
||||
# Command: ./maintainers/scripts/fetch-kde-qt.sh $@
|
||||
{ fetchurl, mirror }:
|
||||
|
||||
{
|
||||
|
||||
@@ -72,6 +72,7 @@ OK_MISSING_BY_PACKAGE = {
|
||||
},
|
||||
"kwin": {
|
||||
"display-info", # newer versions identify as libdisplay-info
|
||||
"Libcap", # used to call setcap at build time and nothing else
|
||||
},
|
||||
"libksysguard": {
|
||||
"Libcap", # used to call setcap at build time and nothing else
|
||||
@@ -90,6 +91,7 @@ OK_MISSING_BY_PACKAGE = {
|
||||
},
|
||||
"powerdevil": {
|
||||
"DDCUtil", # cursed, intentionally disabled
|
||||
"Libcap", # used to call setcap at build time and nothing else
|
||||
},
|
||||
"print-manager": {
|
||||
"PackageKitQt6", # used for auto-installing drivers which does not work for obvious reasons
|
||||
|
||||
@@ -23,7 +23,8 @@ mkKdeDerivation {
|
||||
'''.strip())
|
||||
|
||||
ROOT_TEMPLATE = jinja2.Template('''
|
||||
{callPackage}: {
|
||||
{ callPackage }:
|
||||
{
|
||||
{%- for p in packages %}
|
||||
{{ p }} = callPackage ./{{ p }} { };
|
||||
{%- endfor %}
|
||||
|
||||
@@ -271,6 +271,11 @@
|
||||
- The `mautrix-signal` module was adapted to incorporate the configuration rearrangement that resulted from the update to the mautrix bridgev2 architecture. Pre-0.7.0 configurations should continue to work.
|
||||
In case you want to update your configuration make sure to check the NixOS manual.
|
||||
|
||||
- The dhcpcd service (`networking.useDHCP`) has been hardened and now runs exclusively as the "dhcpcd" user.
|
||||
Users that were relying on the root privileges in `networking.dhcpcd.runHook` will have to write specific [sudo](security.sudo.extraRules) or [polkit](security.polkit.extraConfig) rules to allow dhcpcd to perform privileged actions.
|
||||
|
||||
As part of these changes, the DHCP lease files directory has also been moved from `/var/db/dhcpcd` to `/var/lib/dhcpcd`. This migration is performed automatically, but users may have to update their backup configuration.
|
||||
|
||||
- `singularity-tools` have the `storeDir` argument removed from its override interface and use `builtins.storeDir` instead.
|
||||
|
||||
- Two build helpers in `singularity-tools`, i.e., `mkLayer` and `shellScript`, are deprecated, as they are no longer involved in image-building. Maintainers will remove them in future releases.
|
||||
@@ -503,9 +508,6 @@
|
||||
- The `services.mxisd` module has been removed as both [mxisd](https://github.com/kamax-matrix/mxisd) and [ma1sd](https://github.com/ma1uta/ma1sd) are not maintained any longer.
|
||||
Consequently the package `pkgs.ma1sd` has also been removed.
|
||||
|
||||
- `ffmpeg_5` has been removed. Please use the unversioned `ffmpeg`,
|
||||
pin a newer version, or if necessary pin `ffmpeg_4` for compatibility.
|
||||
|
||||
- The `rss-bridge` service drops the support to load a configuration file from `${config.services.rss-bridge.dataDir}/config.ini.php`.
|
||||
Consider using the `services.rss-bridge.config` option instead.
|
||||
|
||||
@@ -558,6 +560,16 @@
|
||||
- Minimal installer ISOs are no longer built on the small channel.
|
||||
Please obtain installer images from the full release channels.
|
||||
|
||||
- The default FFmpeg version is now 7, and FFmpeg 5 has been removed.
|
||||
Please prefer using the package variants without a version suffix,
|
||||
or pin FFmpeg 6 or 4 if necessary for compatibility.
|
||||
Note that we keep old versions around only as required
|
||||
to support packages in the tree,
|
||||
and FFmpeg 4 especially should be avoided in favour of newer versions
|
||||
as it may be removed soon.
|
||||
|
||||
- `openssl` now defaults to the latest version line `3.3.x`, instead of `3.0.x` before. While there should be no major code incompatibilities, newer OpenSSL versions typically strengthen the default security level. This means that you may have to explicitly allow weak ciphers, hashes and key lengths if necessary. See: [OpenSSL security level documentation](https://docs.openssl.org/3.3/man3/SSL_CTX_set_security_level/).
|
||||
|
||||
- The `isync` package has been updated to version `1.5.0`, which introduces some breaking changes. See the [compatibility concerns](https://sourceforge.net/projects/isync/files/isync/1.5.0/) for more details.
|
||||
|
||||
- Legacy package `globalprotect-openconnect` 1.x and related module
|
||||
@@ -607,8 +619,6 @@
|
||||
|
||||
- `nixosTests` now provide a working IPv6 setup for VLAN 1 by default.
|
||||
|
||||
- `services.dhcpcd` is now started with additional systemd sandbox/hardening options for better security. When using `networking.dhcpcd.runHook` these settings are not applied.
|
||||
|
||||
- Kanidm can now be provisioned using the new [`services.kanidm.provision`] option, but requires using a patched version available via `pkgs.kanidm.withSecretProvisioning`.
|
||||
|
||||
- Kanidm previously had an incorrect systemd service type, causing dependent units with an `after` and `requires` directive to start before `kanidm*` finished startup. The module has now been updated in line with upstream recommendations.
|
||||
|
||||
@@ -132,6 +132,8 @@ in
|
||||
}
|
||||
|
||||
(lib.mkIf cfg.enable {
|
||||
users.groups.resolvconf = {};
|
||||
|
||||
networking.resolvconf.package = pkgs.openresolv;
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
@@ -143,12 +145,13 @@ in
|
||||
wants = [ "network-pre.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
restartTriggers = [ config.environment.etc."resolvconf.conf".source ];
|
||||
serviceConfig.RemainAfterExit = true;
|
||||
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${cfg.package}/bin/resolvconf -u";
|
||||
RemainAfterExit = true;
|
||||
};
|
||||
script = ''
|
||||
${lib.getExe cfg.package} -u
|
||||
chgrp -R resolvconf /etc/resolv.conf /run/resolvconf
|
||||
chmod -R g=u /etc/resolv.conf /run/resolvconf
|
||||
'';
|
||||
};
|
||||
|
||||
})
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
{
|
||||
x86_64-linux = "/nix/store/vhv7ckr0winivvwfqxd54d6pgq2hx1is-nix-2.18.8";
|
||||
i686-linux = "/nix/store/8x7rmgi225r5kygpf17swvk3vll0c61y-nix-2.18.8";
|
||||
aarch64-linux = "/nix/store/sbyj0rb1wd314zfxpf834d0clvxrxmv3-nix-2.18.8";
|
||||
x86_64-darwin = "/nix/store/vsy1wl865md71qv177nchj0aj5p26pkl-nix-2.18.8";
|
||||
aarch64-darwin = "/nix/store/54kqc2da3fjyjgzab4vaszxjmdvii6yk-nix-2.18.8";
|
||||
x86_64-linux = "/nix/store/vi6fh1mhzl5m0knn3y056wnl07sri6c5-nix-2.24.8";
|
||||
i686-linux = "/nix/store/s4wdfq4dzii2jhy1mv2h7b5hpzhf40hm-nix-2.24.8";
|
||||
aarch64-linux = "/nix/store/g50zn4kdcnlgkwbvyi9f9icj9i2x83i5-nix-2.24.8";
|
||||
riscv64-linux = "/nix/store/8ws83k3wc9a639hp6dyprsmvb24fd14w-nix-riscv64-unknown-linux-gnu-2.24.8";
|
||||
x86_64-darwin = "/nix/store/1dhc9a68j5lcnkgdrcm2kbydnbzrlldg-nix-2.24.8";
|
||||
aarch64-darwin = "/nix/store/7gv39q83hm8b7cwcpx1vlcs424qmp67p-nix-2.24.8";
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ in {
|
||||
default = pkgs.steam;
|
||||
defaultText = lib.literalExpression "pkgs.steam";
|
||||
example = lib.literalExpression ''
|
||||
pkgs.steam-small.override {
|
||||
pkgs.steam.override {
|
||||
extraEnv = {
|
||||
MANGOHUD = true;
|
||||
OBS_VKCAPTURE = true;
|
||||
|
||||
@@ -249,10 +249,11 @@ in {
|
||||
|
||||
xdg.portal.enable = true;
|
||||
xdg.portal.extraPortals = [
|
||||
kdePackages.kwallet
|
||||
kdePackages.xdg-desktop-portal-kde
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
];
|
||||
xdg.portal.configPackages = mkDefault [kdePackages.xdg-desktop-portal-kde];
|
||||
xdg.portal.configPackages = mkDefault [kdePackages.plasma-workspace];
|
||||
services.pipewire.enable = mkDefault true;
|
||||
|
||||
# Enable screen reader by default
|
||||
|
||||
@@ -10,7 +10,7 @@ let
|
||||
enableDHCP = config.networking.dhcpcd.enable &&
|
||||
(config.networking.useDHCP || lib.any (i: i.useDHCP == true) interfaces);
|
||||
|
||||
enableNTPService = (config.services.ntp.enable || config.services.ntpd-rs.enable || config.services.openntpd.enable || config.services.chrony.enable);
|
||||
useResolvConf = config.networking.resolvconf.enable;
|
||||
|
||||
# Don't start dhcpcd on explicitly configured interfaces or on
|
||||
# interfaces that are part of a bridge, bond or sit device.
|
||||
@@ -88,23 +88,6 @@ let
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
exitHook = pkgs.writeText "dhcpcd.exit-hook" ''
|
||||
${lib.optionalString enableNTPService ''
|
||||
if [ "$reason" = BOUND -o "$reason" = REBOOT ]; then
|
||||
# Restart ntpd. We need to restart it to make sure that it will actually do something:
|
||||
# if ntpd cannot resolve the server hostnames in its config file, then it will never do
|
||||
# anything ever again ("couldn't resolve ..., giving up on it"), so we silently lose
|
||||
# time synchronisation. This also applies to openntpd.
|
||||
${lib.optionalString config.services.ntp.enable "/run/current-system/systemd/bin/systemctl try-reload-or-restart ntpd.service || true"}
|
||||
${lib.optionalString config.services.ntpd-rs.enable "/run/current-system/systemd/bin/systemctl try-reload-or-restart ntpd-rs.service || true"}
|
||||
${lib.optionalString config.services.openntpd.enable "/run/current-system/systemd/bin/systemctl try-reload-or-restart openntpd.service || true"}
|
||||
${lib.optionalString config.services.chrony.enable "/run/current-system/systemd/bin/systemctl try-reload-or-restart chronyd.service || true"}
|
||||
fi
|
||||
''}
|
||||
|
||||
${cfg.runHook}
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
@@ -181,6 +164,19 @@ in
|
||||
description = ''
|
||||
Shell code that will be run after all other hooks. See
|
||||
`man dhcpcd-run-hooks` for details on what is possible.
|
||||
|
||||
::: {.note}
|
||||
To use sudo or similar tools in your script you may have to set:
|
||||
|
||||
systemd.services.dhcpcd.serviceConfig.NoNewPrivileges = false;
|
||||
|
||||
In addition, as most of the filesystem is inaccessible to dhcpcd
|
||||
by default, you may want to define some exceptions, e.g.
|
||||
|
||||
systemd.services.dhcpcd.serviceConfig.ReadOnlyPaths = [
|
||||
"/run/user/1000/bus" # to send desktop notifications
|
||||
];
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -206,22 +202,6 @@ in
|
||||
|
||||
config = lib.mkIf enableDHCP {
|
||||
|
||||
assertions = [ {
|
||||
# dhcpcd doesn't start properly with malloc ∉ [ jemalloc libc mimalloc scudo ]
|
||||
# see https://github.com/NixOS/nixpkgs/issues/151696
|
||||
assertion =
|
||||
dhcpcd.enablePrivSep
|
||||
-> lib.elem config.environment.memoryAllocator.provider [ "jemalloc" "libc" "mimalloc" "scudo" ];
|
||||
message = ''
|
||||
dhcpcd with privilege separation is incompatible with chosen system malloc.
|
||||
Currently `graphene-hardened` allocator is known to be broken.
|
||||
To disable dhcpcd's privilege separation, overlay Nixpkgs and override dhcpcd
|
||||
to set `enablePrivSep = false`.
|
||||
'';
|
||||
} ];
|
||||
|
||||
environment.etc."dhcpcd.conf".source = dhcpcdConf;
|
||||
|
||||
systemd.services.dhcpcd = let
|
||||
cfgN = config.networking;
|
||||
hasDefaultGatewaySet = (cfgN.defaultGateway != null && cfgN.defaultGateway.address != "")
|
||||
@@ -233,7 +213,7 @@ in
|
||||
wants = [ "network.target" ];
|
||||
before = [ "network-online.target" ];
|
||||
|
||||
restartTriggers = lib.optional (enableNTPService || cfg.runHook != "") [ exitHook ];
|
||||
restartTriggers = [ cfg.runHook ];
|
||||
|
||||
# Stopping dhcpcd during a reconfiguration is undesirable
|
||||
# because it brings down the network interfaces configured by
|
||||
@@ -247,46 +227,64 @@ in
|
||||
serviceConfig =
|
||||
{ Type = "forking";
|
||||
PIDFile = "/run/dhcpcd/pid";
|
||||
SupplementaryGroups = lib.optional useResolvConf "resolvconf";
|
||||
User = "dhcpcd";
|
||||
Group = "dhcpcd";
|
||||
StateDirectory = "dhcpcd";
|
||||
RuntimeDirectory = "dhcpcd";
|
||||
|
||||
ExecStartPre = "+${pkgs.writeShellScript "migrate-dhcpcd" ''
|
||||
# migrate from old database directory
|
||||
if test -f /var/db/dhcpcd/duid; then
|
||||
echo 'migrating DHCP leases from /var/db/dhcpcd to /var/lib/dhcpcd ...'
|
||||
mv /var/db/dhcpcd/* -t /var/lib/dhcpcd
|
||||
chown dhcpcd:dhcpcd /var/lib/dhcpcd/*
|
||||
rmdir /var/db/dhcpcd || true
|
||||
echo done
|
||||
fi
|
||||
''}";
|
||||
|
||||
ExecStart = "@${dhcpcd}/sbin/dhcpcd dhcpcd --quiet ${lib.optionalString cfg.persistent "--persistent"} --config ${dhcpcdConf}";
|
||||
ExecReload = "${dhcpcd}/sbin/dhcpcd --rebind";
|
||||
Restart = "always";
|
||||
} // lib.optionalAttrs (cfg.runHook == "") {
|
||||
# Proc filesystem
|
||||
ProcSubset = "all";
|
||||
ProtectProc = "invisible";
|
||||
# Access write directories
|
||||
UMask = "0027";
|
||||
# Capabilities
|
||||
CapabilityBoundingSet = [ "CAP_NET_ADMIN" "CAP_NET_BIND_SERVICE" "CAP_NET_RAW" "CAP_SETGID" "CAP_SETUID" "CAP_SYS_CHROOT" ];
|
||||
# Security
|
||||
NoNewPrivileges = true;
|
||||
# Sandboxing
|
||||
ProtectSystem = true;
|
||||
ProtectHome = true;
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
PrivateUsers = false;
|
||||
ProtectHostname = true;
|
||||
ProtectClock = true;
|
||||
ProtectKernelTunables = false;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectControlGroups = true;
|
||||
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" "AF_PACKET" ];
|
||||
RestrictNamespaces = true;
|
||||
AmbientCapabilities = [ "CAP_NET_ADMIN" "CAP_NET_RAW" "CAP_NET_BIND_SERVICE" ];
|
||||
ReadWritePaths = [ "/proc/sys/net/ipv6" ]
|
||||
++ lib.optionals useResolvConf [ "/etc/resolv.conf" "/run/resolvconf" ];
|
||||
DeviceAllow = "";
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
NoNewPrivileges = lib.mkDefault true; # may be disabled for sudo in runHook
|
||||
PrivateDevices = true;
|
||||
PrivateMounts = true;
|
||||
PrivateTmp = true;
|
||||
PrivateUsers = false;
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHome = "tmpfs"; # allow exceptions to be added to ReadOnlyPaths, etc.
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectProc = "invisible";
|
||||
ProtectSystem = "strict";
|
||||
RemoveIPC = true;
|
||||
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" "AF_PACKET" ];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
RemoveIPC = true;
|
||||
PrivateMounts = true;
|
||||
# System Call Filtering
|
||||
SystemCallFilter = [
|
||||
"@system-service"
|
||||
"~@aio" "~@chown" "~@keyring" "~@memlock"
|
||||
];
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [ "~@cpu-emulation @debug @keyring @mount @obsolete @privileged @resources" "chroot" "gettid" "setgroups" "setuid" ];
|
||||
UMask = "0027";
|
||||
};
|
||||
};
|
||||
|
||||
# Note: the service could run with `DynamicUser`, however that makes
|
||||
# impossible (for no good reason, see systemd issue #20495) to disable
|
||||
# `NoNewPrivileges` or `ProtectHome`, which users may want to in order
|
||||
# to run certain scripts in `networking.dhcpcd.runHook`.
|
||||
users.users.dhcpcd = {
|
||||
isSystemUser = true;
|
||||
group = "dhcpcd";
|
||||
@@ -295,9 +293,7 @@ in
|
||||
|
||||
environment.systemPackages = [ dhcpcd ];
|
||||
|
||||
environment.etc."dhcpcd.exit-hook" = lib.mkIf (enableNTPService || cfg.runHook != "") {
|
||||
source = exitHook;
|
||||
};
|
||||
environment.etc."dhcpcd.exit-hook".text = cfg.runHook;
|
||||
|
||||
powerManagement.resumeCommands = lib.mkIf config.systemd.services.dhcpcd.enable
|
||||
''
|
||||
|
||||
@@ -55,8 +55,8 @@ in
|
||||
ffmpeg = {
|
||||
bin = mkOption {
|
||||
type = path;
|
||||
default = lib.getExe pkgs.ffmpeg_7-headless;
|
||||
defaultText = literalExpression "lib.getExe pkgs.ffmpeg_7-headless";
|
||||
default = lib.getExe pkgs.ffmpeg-headless;
|
||||
defaultText = literalExpression "lib.getExe pkgs.ffmpeg-headless";
|
||||
description = ''
|
||||
The ffmpeg package to use for transcoding.
|
||||
'';
|
||||
|
||||
@@ -1070,6 +1070,7 @@ in {
|
||||
unbound = handleTest ./unbound.nix {};
|
||||
unifi = handleTest ./unifi.nix {};
|
||||
unit-php = handleTest ./web-servers/unit-php.nix {};
|
||||
unit-perl = handleTest ./web-servers/unit-perl.nix {};
|
||||
upnp.iptables = handleTest ./upnp.nix { useNftables = false; };
|
||||
upnp.nftables = handleTest ./upnp.nix { useNftables = true; };
|
||||
uptermd = handleTest ./uptermd.nix {};
|
||||
|
||||
@@ -13,8 +13,6 @@ import ./make-test-python.nix ({ lib, ... }:
|
||||
specialisation.hardened.configuration = {
|
||||
services.chrony.enableMemoryLocking = true;
|
||||
environment.memoryAllocator.provider = "graphene-hardened";
|
||||
# dhcpcd privsep is incompatible with graphene-hardened
|
||||
networking.useNetworkd = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -11,11 +11,6 @@ import ./make-test-python.nix ({ pkgs, ... } : {
|
||||
imports = [ ../modules/profiles/hardened.nix ];
|
||||
environment.memoryAllocator.provider = "graphene-hardened";
|
||||
nix.settings.sandbox = false;
|
||||
nixpkgs.overlays = [
|
||||
(final: super: {
|
||||
dhcpcd = super.dhcpcd.override { enablePrivSep = false; };
|
||||
})
|
||||
];
|
||||
virtualisation.emptyDiskImages = [ 4096 ];
|
||||
boot.initrd.postDeviceCommands = ''
|
||||
${pkgs.dosfstools}/bin/mkfs.vfat -n EFISYS /dev/vdb
|
||||
|
||||
@@ -4,8 +4,10 @@ makeInstalledTest {
|
||||
testConfig = {
|
||||
i18n.supportedLocales = [
|
||||
"en_US.UTF-8/UTF-8"
|
||||
# The tests require this locale available.
|
||||
# The tests require these locales.
|
||||
"en_GB.UTF-8/UTF-8"
|
||||
"cs_CZ.UTF-8/UTF-8"
|
||||
"sv_SE.UTF-8/UTF-8"
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
@@ -132,6 +132,10 @@ let
|
||||
client.wait_until_succeeds("ip addr show dev enp2s0 | grep -q '192.168.2'")
|
||||
client.wait_until_succeeds("ip addr show dev enp2s0 | grep -q 'fd00:1234:5678:2:'")
|
||||
|
||||
with subtest("Wait until we have received the nameservers"):
|
||||
client.wait_until_succeeds("grep -q 2001:db8::1 /etc/resolv.conf")
|
||||
client.wait_until_succeeds("grep -q 192.168.2.1 /etc/resolv.conf")
|
||||
|
||||
with subtest("Test vlan 1"):
|
||||
client.wait_until_succeeds("ping -c 1 192.168.1.1")
|
||||
client.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1")
|
||||
|
||||
@@ -121,6 +121,7 @@ let
|
||||
static.wait_for_unit("NetworkManager.service")
|
||||
|
||||
dynamic.wait_until_succeeds("cat /etc/resolv.conf | grep -q '192.168.1.1'")
|
||||
dynamic.wait_until_succeeds("cat /etc/resolv.conf | grep -q '2001:db8::1'")
|
||||
static.wait_until_succeeds("cat /etc/resolv.conf | grep -q '10.10.10.10'")
|
||||
static.wait_until_fails("cat /etc/resolv.conf | grep -q '192.168.1.1'")
|
||||
'';
|
||||
|
||||
@@ -72,6 +72,7 @@
|
||||
AdvSendAdvert on;
|
||||
AdvManagedFlag on;
|
||||
AdvOtherConfigFlag on;
|
||||
RDNSS 2001:db8::1 {};
|
||||
|
||||
prefix fd00:1234:5678:${toString n}::/64 {
|
||||
AdvAutonomous off;
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
import ../make-test-python.nix (
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
testdir = pkgs.writeTextDir "www/app.psgi" ''
|
||||
my $app = sub {
|
||||
return [
|
||||
"200",
|
||||
[ "Content-Type" => "text/plain" ],
|
||||
[ "Hello, Perl on Unit!" ],
|
||||
];
|
||||
};
|
||||
'';
|
||||
|
||||
in
|
||||
{
|
||||
name = "unit-perl-test";
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ sgo ];
|
||||
|
||||
nodes.machine =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
services.unit = {
|
||||
enable = true;
|
||||
config = pkgs.lib.strings.toJSON {
|
||||
listeners."*:8080".application = "perl";
|
||||
applications.perl = {
|
||||
type = "perl";
|
||||
script = "${testdir}/www/app.psgi";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
testScript = ''
|
||||
machine.wait_for_unit("unit.service")
|
||||
machine.wait_for_open_port(8080)
|
||||
|
||||
response = machine.succeed("curl -f -vvv -s http://127.0.0.1:8080/")
|
||||
assert "Hello, Perl on Unit!" in response, "Hello world"
|
||||
'';
|
||||
}
|
||||
)
|
||||
@@ -30,7 +30,7 @@
|
||||
, libid3tag
|
||||
, libopus
|
||||
, libuuid
|
||||
, ffmpeg_7
|
||||
, ffmpeg
|
||||
, soundtouch
|
||||
, pcre
|
||||
, portaudio # given up fighting their portaudio.patch?
|
||||
@@ -95,7 +95,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [
|
||||
expat
|
||||
ffmpeg_7
|
||||
ffmpeg
|
||||
file
|
||||
flac
|
||||
gtk3
|
||||
@@ -179,7 +179,7 @@ stdenv.mkDerivation rec {
|
||||
postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
wrapProgram "$out/bin/audacity" \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
--prefix LD_LIBRARY_PATH : "$out/lib/audacity":${lib.makeLibraryPath [ ffmpeg_7 ]} \
|
||||
--prefix LD_LIBRARY_PATH : "$out/lib/audacity":${lib.makeLibraryPath [ ffmpeg ]} \
|
||||
--suffix AUDACITY_MODULES_PATH : "$out/lib/audacity/modules" \
|
||||
--suffix AUDACITY_PATH : "$out/share/audacity"
|
||||
'' + lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fluidsynth";
|
||||
version = "2.3.5";
|
||||
version = "2.3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FluidSynth";
|
||||
repo = "fluidsynth";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-CzKfvQzhF4Mz2WZaJM/Nt6XjF6ThlX4jyQSaXfZukG8=";
|
||||
hash = "sha256-bmA4eUh7MC4dXPsOOi9Q5jneSE5OGUWrztv+46LxaW0=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "man" ];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchFromGitHub, ffmpeg_7, libkeyfinder, fftw }:
|
||||
{ lib, stdenv, fetchFromGitHub, ffmpeg, libkeyfinder, fftw }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "keyfinder-cli";
|
||||
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-9/+wzPTaQ5PfPiqTZ5EuHdswXJgfgnvAul/FeeDbbJA=";
|
||||
};
|
||||
|
||||
buildInputs = [ ffmpeg_7 libkeyfinder fftw ];
|
||||
buildInputs = [ ffmpeg libkeyfinder fftw ];
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
|
||||
@@ -26,6 +26,10 @@ let
|
||||
# required for cross compilation
|
||||
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
|
||||
|
||||
env = lib.optionalAttrs stdenv.cc.isGNU {
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -D Bin/mbrola $out/bin/mbrola
|
||||
@@ -49,4 +53,3 @@ in
|
||||
ln -s '${mbrola-voices}/data' "$out/share/mbrola/voices"
|
||||
ln -s '${bin}/bin' "$out/"
|
||||
''
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
, musepackSupport ? true, libmpc, libmpcdec, taglib
|
||||
, vorbisSupport ? true, libvorbis
|
||||
, speexSupport ? true, speex
|
||||
, ffmpegSupport ? true, ffmpeg_7
|
||||
, ffmpegSupport ? true, ffmpeg
|
||||
, sndfileSupport ? true, libsndfile
|
||||
, wavpackSupport ? true, wavpack
|
||||
# Misc
|
||||
@@ -74,7 +74,7 @@ stdenv.mkDerivation {
|
||||
++ lib.optionals musepackSupport [ libmpc libmpcdec taglib ]
|
||||
++ lib.optional vorbisSupport libvorbis
|
||||
++ lib.optional speexSupport speex
|
||||
++ lib.optional ffmpegSupport ffmpeg_7
|
||||
++ lib.optional ffmpegSupport ffmpeg
|
||||
++ lib.optional sndfileSupport libsndfile
|
||||
++ lib.optional wavpackSupport wavpack
|
||||
# Misc
|
||||
|
||||
@@ -22,11 +22,11 @@ assert withConplay -> !libOnly;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "${lib.optionalString libOnly "lib"}mpg123";
|
||||
version = "1.32.6";
|
||||
version = "1.32.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/mpg123/mpg123-${version}.tar.bz2";
|
||||
hash = "sha256-zN0dCrwx1z2LQ1/GWMeQSdCpBbMGabakKgOtFp3GCeY=";
|
||||
hash = "sha256-PIkZJDcHlRysDjw5u/KGU7yv/EPJj/FoAaJzUNuPDyE=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "man" ] ++ lib.optional withConplay "conplay";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ fetchFromGitHub, lib, stdenv, pkg-config, libao, json_c, libgcrypt, ffmpeg_7, curl }:
|
||||
{ fetchFromGitHub, lib, stdenv, pkg-config, libao, json_c, libgcrypt, ffmpeg, curl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pianobar";
|
||||
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
libao json_c libgcrypt ffmpeg_7 curl
|
||||
libao json_c libgcrypt ffmpeg curl
|
||||
];
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
@@ -31,3 +31,12 @@ The file can either be a tar file or an Emacs Lisp file."
|
||||
|
||||
;; Allow installing package tarfiles larger than 10MB
|
||||
(setq large-file-warning-threshold nil)
|
||||
|
||||
(let ((flag (getenv "turnCompilationWarningToError")))
|
||||
(when (and flag
|
||||
(not (string-empty-p flag)))
|
||||
(setq byte-compile-error-on-warn t)))
|
||||
|
||||
(let ((flag (getenv "ignoreCompilationError")))
|
||||
(when (string-empty-p flag)
|
||||
(setq byte-compile-debug t)))
|
||||
|
||||
@@ -20,15 +20,4 @@ addEmacsVars () {
|
||||
if [ -n "${addEmacsNativeLoadPath:-}" ]; then
|
||||
addToEmacsNativeLoadPath "$1/share/emacs/native-lisp"
|
||||
fi
|
||||
|
||||
# Add sub paths to the Emacs load path if it is a directory
|
||||
# containing .el files. This is necessary to build some packages,
|
||||
# e.g., using trivialBuild.
|
||||
for lispDir in \
|
||||
"$1/share/emacs/site-lisp/"* \
|
||||
"$1/share/emacs/site-lisp/elpa/"*; do
|
||||
if [[ -d $lispDir && "$(echo "$lispDir"/*.el)" ]] ; then
|
||||
addToEmacsLoadPath "$lispDir"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ libBuildHelper.extendMkDerivation' stdenv.mkDerivation (finalAttrs:
|
||||
, postInstall ? ""
|
||||
, meta ? {}
|
||||
, turnCompilationWarningToError ? false
|
||||
, ignoreCompilationError ? true
|
||||
, ignoreCompilationError ? false
|
||||
, ...
|
||||
}@args:
|
||||
|
||||
@@ -64,6 +64,8 @@ libBuildHelper.extendMkDerivation' stdenv.mkDerivation (finalAttrs:
|
||||
|
||||
setupHook = args.setupHook or setupHook;
|
||||
|
||||
inherit turnCompilationWarningToError ignoreCompilationError;
|
||||
|
||||
meta = {
|
||||
broken = false;
|
||||
platforms = emacs.meta.platforms;
|
||||
@@ -76,8 +78,6 @@ libBuildHelper.extendMkDerivation' stdenv.mkDerivation (finalAttrs:
|
||||
|
||||
addEmacsNativeLoadPath = args.addEmacsNativeLoadPath or true;
|
||||
|
||||
inherit turnCompilationWarningToError ignoreCompilationError;
|
||||
|
||||
postInstall = ''
|
||||
# Besides adding the output directory to the native load path, make sure
|
||||
# the current package's elisp files are in the load path, otherwise
|
||||
@@ -86,10 +86,16 @@ libBuildHelper.extendMkDerivation' stdenv.mkDerivation (finalAttrs:
|
||||
source ${./emacs-funcs.sh}
|
||||
addEmacsVars "$out"
|
||||
|
||||
find $out/share/emacs -type f -name '*.el' -print0 \
|
||||
# package-activate-all is used to activate packages. In other builder
|
||||
# helpers, package-initialize is used for this purpose because
|
||||
# package-activate-all is not available before Emacs 27.
|
||||
find $out/share/emacs -type f -name '*.el' -not -name ".dir-locals.el" -print0 \
|
||||
| xargs --verbose -0 -I {} -n 1 -P $NIX_BUILD_CORES sh -c \
|
||||
"emacs \
|
||||
--batch \
|
||||
-f package-activate-all \
|
||||
--eval '(setq native-comp-eln-load-path (cdr native-comp-eln-load-path))' \
|
||||
--eval '(let ((default-directory \"$out/share/emacs/site-lisp\")) (normal-top-level-add-subdirs-to-load-path))' \
|
||||
--eval '(setq large-file-warning-threshold nil)' \
|
||||
--eval '(setq byte-compile-error-on-warn ${if finalAttrs.turnCompilationWarningToError then "t" else "nil"})' \
|
||||
-f batch-native-compile {} \
|
||||
|
||||
@@ -12,8 +12,8 @@ let
|
||||
src = fetchFromGitHub {
|
||||
owner = "melpa";
|
||||
repo = "package-build";
|
||||
rev = "c48aa078c01b4f07b804270c4583a0a58ffea1c0";
|
||||
sha256 = "sha256-MzPj375upIiYXdQR+wWXv3A1zMqbSrZlH0taLuxx/1M=";
|
||||
rev = "d5661f1f1996a893fbcbacb4d290c57acab4fb0e";
|
||||
hash = "sha256-zVhFR2kLLkCKC+esPBbIk3qOa033YND1HF9GiNI4JM8=";
|
||||
};
|
||||
|
||||
patches = [ ./package-build-dont-use-mtime.patch ];
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
(require 'package)
|
||||
(package-initialize)
|
||||
|
||||
(require 'package-recipe)
|
||||
(require 'package-build)
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ args:
|
||||
foundMakefile=1
|
||||
fi
|
||||
|
||||
emacs -L . --batch -f batch-byte-compile *.el
|
||||
emacs -l package -f package-initialize -L . --batch -f batch-byte-compile *.el
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
@@ -4,6 +4,14 @@ self: super:
|
||||
|
||||
let
|
||||
libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary;
|
||||
inherit (import ./lib-override-helper.nix pkgs lib)
|
||||
addPackageRequires
|
||||
addPackageRequiresIfOlder
|
||||
ignoreCompilationError
|
||||
ignoreCompilationErrorIfOlder
|
||||
mkHome
|
||||
mkHomeIfOlder
|
||||
;
|
||||
in
|
||||
{
|
||||
cl-lib = null; # builtin
|
||||
@@ -54,6 +62,64 @@ in
|
||||
}
|
||||
);
|
||||
|
||||
# native-compiler-error-empty-byte in old versions
|
||||
ada-ref-man = ignoreCompilationErrorIfOlder super.ada-ref-man "2020.1.0.20201129.190419";
|
||||
|
||||
# elisp error in old versions
|
||||
ampc = ignoreCompilationErrorIfOlder super.ampc "0.2.0.20240220.181558";
|
||||
|
||||
auctex = mkHome super.auctex;
|
||||
|
||||
auctex-cont-latexmk = mkHome super.auctex-cont-latexmk;
|
||||
|
||||
auctex-label-numbers = mkHome super.auctex-label-numbers;
|
||||
|
||||
# missing optional dependencies https://codeberg.org/rahguzar/consult-hoogle/issues/4
|
||||
consult-hoogle = addPackageRequiresIfOlder super.consult-hoogle [ self.consult ] "0.2.2";
|
||||
|
||||
# missing optional dependencies https://github.com/jacksonrayhamilton/context-coloring/issues/10
|
||||
context-coloring = addPackageRequires super.context-coloring [ self.js2-mode ];
|
||||
|
||||
cpio-mode = ignoreCompilationError super.cpio-mode; # elisp error
|
||||
|
||||
# fixed in https://git.savannah.gnu.org/cgit/emacs/elpa.git/commit/?h=externals/dbus-codegen&id=cfc46758c6252a602eea3dbc179f8094ea2a1a85
|
||||
dbus-codegen = ignoreCompilationErrorIfOlder super.dbus-codegen "0.1.0.20201127.221326"; # elisp error
|
||||
|
||||
ebdb = super.ebdb.overrideAttrs (
|
||||
finalAttrs: previousAttrs:
|
||||
let
|
||||
applyOrgRoamMissingPatch = lib.versionOlder finalAttrs.version "0.8.22.0.20240205.070828";
|
||||
in
|
||||
{
|
||||
dontUnpack = !applyOrgRoamMissingPatch;
|
||||
patches =
|
||||
if applyOrgRoamMissingPatch then
|
||||
previousAttrs.patches or [ ]
|
||||
++ [
|
||||
(pkgs.fetchpatch {
|
||||
name = "fix-comilation-error-about-missing-org-roam.patch";
|
||||
url = "https://github.com/girzel/ebdb/commit/058f30a996eb9074feac8f94db4eb49e85ae08f1.patch";
|
||||
hash = "sha256-UI72N3lCgro6bG75sWnbw9truREToQHEzZ1TeQAIMjo=";
|
||||
})
|
||||
]
|
||||
else
|
||||
previousAttrs.patches or null;
|
||||
preBuild =
|
||||
if applyOrgRoamMissingPatch then
|
||||
previousAttrs.preBuild or ""
|
||||
+ "\n"
|
||||
+ ''
|
||||
pushd ..
|
||||
local content_directory=$ename-$version
|
||||
src=$PWD/$content_directory.tar
|
||||
tar --create --verbose --file=$src $content_directory
|
||||
popd
|
||||
''
|
||||
else
|
||||
previousAttrs.preBuild or null;
|
||||
}
|
||||
);
|
||||
|
||||
eglot = super.eglot.overrideAttrs (
|
||||
finalAttrs: previousAttrs: {
|
||||
postInstall =
|
||||
@@ -99,6 +165,29 @@ in
|
||||
};
|
||||
});
|
||||
|
||||
notes-mode = (mkHome super.notes-mode).overrideAttrs (old: {
|
||||
dontUnpack = false;
|
||||
buildInputs = old.buildInputs or [ ] ++ [ pkgs.perl ];
|
||||
nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.perl ];
|
||||
preInstall =
|
||||
old.preInstall or ""
|
||||
+ "\n"
|
||||
+ ''
|
||||
patchShebangs --build mkconfig
|
||||
pushd ..
|
||||
local content_directory=$ename-$version
|
||||
src=$PWD/$content_directory.tar
|
||||
tar --create --verbose --file=$src $content_directory
|
||||
popd
|
||||
'';
|
||||
postFixup =
|
||||
old.postFixup or ""
|
||||
+ "\n"
|
||||
+ ''
|
||||
patchShebangs --host --update $out/share/emacs/site-lisp/elpa/$ename-$version/mkconfig
|
||||
'';
|
||||
});
|
||||
|
||||
plz = super.plz.overrideAttrs (old: {
|
||||
dontUnpack = false;
|
||||
postPatch =
|
||||
@@ -117,10 +206,24 @@ in
|
||||
'';
|
||||
});
|
||||
|
||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=32185
|
||||
poke = addPackageRequires super.poke [ self.poke-mode ];
|
||||
|
||||
pq = super.pq.overrideAttrs (old: {
|
||||
buildInputs = old.buildInputs or [ ] ++ [ pkgs.postgresql ];
|
||||
});
|
||||
|
||||
preview-auto = mkHome super.preview-auto;
|
||||
|
||||
preview-tailor = mkHome super.preview-tailor;
|
||||
|
||||
psgml = ignoreCompilationError super.psgml; # elisp error
|
||||
|
||||
# native-ice https://github.com/mattiase/relint/issues/15
|
||||
relint = ignoreCompilationError super.relint;
|
||||
|
||||
shen-mode = ignoreCompilationErrorIfOlder super.shen-mode "0.1.0.20221221.82050"; # elisp error
|
||||
|
||||
# native compilation for tests/seq-tests.el never ends
|
||||
# delete tests/seq-tests.el to workaround this
|
||||
seq = super.seq.overrideAttrs (old: {
|
||||
@@ -136,6 +239,26 @@ in
|
||||
'';
|
||||
});
|
||||
|
||||
# https://github.com/alphapapa/taxy.el/issues/3
|
||||
taxy = super.taxy.overrideAttrs (old: {
|
||||
dontUnpack = false;
|
||||
postUnpack =
|
||||
old.postUnpack or ""
|
||||
+ "\n"
|
||||
+ ''
|
||||
local content_directory=$ename-$version
|
||||
rm --verbose --recursive $content_directory/examples
|
||||
src=$PWD/$content_directory.tar
|
||||
tar --create --verbose --file=$src $content_directory
|
||||
'';
|
||||
});
|
||||
|
||||
tex-parens = mkHomeIfOlder super.tex-parens "0.4.0.20240630.70456";
|
||||
|
||||
timerfunctions = ignoreCompilationErrorIfOlder super.timerfunctions "1.4.2.0.20201129.225252";
|
||||
|
||||
wisitoken-grammar-mode = ignoreCompilationError super.wisitoken-grammar-mode; # elisp error
|
||||
|
||||
xeft = super.xeft.overrideAttrs (old: {
|
||||
dontUnpack = false;
|
||||
buildInputs = old.buildInputs or [ ] ++ [ pkgs.xapian ];
|
||||
@@ -153,4 +276,7 @@ in
|
||||
rm $outd/xapian-lite.cc $outd/emacs-module.h $outd/emacs-module-prelude.h $outd/demo.gif $outd/Makefile
|
||||
'';
|
||||
});
|
||||
|
||||
# native-ice https://github.com/mattiase/xr/issues/9
|
||||
xr = ignoreCompilationError super.xr;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ formats commits for you.
|
||||
|
||||
self: let
|
||||
|
||||
inherit (import ./lib-override-helper.nix pkgs)
|
||||
inherit (import ./lib-override-helper.nix pkgs lib)
|
||||
markBroken
|
||||
;
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ formats commits for you.
|
||||
|
||||
self: let
|
||||
|
||||
inherit (import ./lib-override-helper.nix pkgs)
|
||||
inherit (import ./lib-override-helper.nix pkgs lib)
|
||||
markBroken
|
||||
;
|
||||
|
||||
|
||||
@@ -1,6 +1,27 @@
|
||||
pkgs:
|
||||
pkgs: lib:
|
||||
|
||||
rec {
|
||||
addPackageRequires =
|
||||
pkg: packageRequires: addPackageRequiresWhen pkg packageRequires (finalAttrs: previousAttrs: true);
|
||||
|
||||
addPackageRequiresIfOlder =
|
||||
pkg: packageRequires: version:
|
||||
addPackageRequiresWhen pkg packageRequires (
|
||||
finalAttrs: previousAttrs: lib.versionOlder finalAttrs.version version
|
||||
);
|
||||
|
||||
addPackageRequiresWhen =
|
||||
pkg: packageRequires: predicate:
|
||||
pkg.overrideAttrs (
|
||||
finalAttrs: previousAttrs: {
|
||||
packageRequires =
|
||||
if predicate finalAttrs previousAttrs then
|
||||
previousAttrs.packageRequires or [ ] ++ packageRequires
|
||||
else
|
||||
previousAttrs.packageRequires or null;
|
||||
}
|
||||
);
|
||||
|
||||
buildWithGit =
|
||||
pkg:
|
||||
pkg.overrideAttrs (previousAttrs: {
|
||||
@@ -18,6 +39,34 @@ rec {
|
||||
|
||||
fix-rtags = pkg: dontConfigure (externalSrc pkg pkgs.rtags);
|
||||
|
||||
fixRequireHelmCore =
|
||||
pkg:
|
||||
pkg.overrideAttrs (previousAttrs: {
|
||||
postPatch =
|
||||
previousAttrs.postPatch or ""
|
||||
+ "\n"
|
||||
+ ''
|
||||
substituteInPlace $ename.el \
|
||||
--replace-fail "(require 'helm)" "(require 'helm-core)"
|
||||
'';
|
||||
});
|
||||
|
||||
ignoreCompilationError = pkg: ignoreCompilationErrorWhen pkg (finalAttrs: previousAttrs: true);
|
||||
|
||||
ignoreCompilationErrorIfOlder =
|
||||
pkg: version:
|
||||
ignoreCompilationErrorWhen pkg (
|
||||
finalAttrs: previousAttrs: lib.versionOlder finalAttrs.version version
|
||||
);
|
||||
|
||||
ignoreCompilationErrorWhen =
|
||||
pkg: predicate:
|
||||
pkg.overrideAttrs (
|
||||
finalAttrs: previousAttrs: {
|
||||
ignoreCompilationError = predicate finalAttrs previousAttrs;
|
||||
}
|
||||
);
|
||||
|
||||
markBroken =
|
||||
pkg:
|
||||
pkg.overrideAttrs (previousAttrs: {
|
||||
@@ -25,4 +74,25 @@ rec {
|
||||
broken = true;
|
||||
};
|
||||
});
|
||||
|
||||
mkHome = pkg: mkHomeWhen pkg (finalAttrs: previousAttrs: true);
|
||||
|
||||
mkHomeIfOlder =
|
||||
pkg: version:
|
||||
mkHomeWhen pkg (finalAttrs: previousAttrs: lib.versionOlder finalAttrs.version version);
|
||||
|
||||
mkHomeWhen =
|
||||
pkg: predicate:
|
||||
pkg.overrideAttrs (
|
||||
finalAttrs: previousAttrs: {
|
||||
preInstall =
|
||||
if predicate finalAttrs previousAttrs then
|
||||
''
|
||||
HOME=$(mktemp -d)
|
||||
''
|
||||
+ previousAttrs.preInstall or ""
|
||||
else
|
||||
previousAttrs.preInstall or null;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
-2
@@ -23,8 +23,6 @@ melpaBuild {
|
||||
popon
|
||||
];
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -15,8 +15,6 @@ melpaBuild {
|
||||
|
||||
files = ''("acm/*.el" "acm/icons")'';
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
description = "Asynchronous Completion Menu";
|
||||
homepage = "https://github.com/manateelazycat/lsp-bridge";
|
||||
|
||||
@@ -8,8 +8,6 @@ melpaBuild {
|
||||
|
||||
files = ''("src/data/emacs-mode/*.el")'';
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
inherit (Agda.meta) homepage license;
|
||||
description = "Agda2-mode for Emacs extracted from Agda package";
|
||||
|
||||
@@ -46,8 +46,6 @@ melpaBuild (finalAttrs: {
|
||||
shut-up
|
||||
];
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# use melpaVersion so that it works for unstable releases too
|
||||
|
||||
@@ -25,8 +25,6 @@ melpaBuild {
|
||||
})
|
||||
];
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = gitUpdater { };
|
||||
|
||||
meta = {
|
||||
|
||||
+3
@@ -16,6 +16,9 @@ melpaBuild {
|
||||
hash = "sha256-7E8r56dzfD06tsQEnqU5mWSbwz9x9QPbzken2J/fhlg=";
|
||||
};
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/335408
|
||||
ignoreCompilationError = true;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -30,8 +30,6 @@ melpaBuild {
|
||||
|
||||
propagatedUserEnvPkgs = [ gh ];
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { };
|
||||
|
||||
meta = {
|
||||
|
||||
-2
@@ -13,8 +13,6 @@ melpaBuild {
|
||||
hash = "sha256-JCrmS3FSGDHSR+eAR0X/uO0nAgd3TUmFxwEVH5+KV+4=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.emacswiki.org/emacs/control-lock.el";
|
||||
description = "Like caps-lock, but for your control key";
|
||||
|
||||
@@ -30,8 +30,6 @@ melpaBuild {
|
||||
|
||||
propagatedUserEnvPkgs = [ nodejs ];
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
description = "Unofficial copilot plugin for Emacs";
|
||||
homepage = "https://github.com/copilot-emacs/copilot.el";
|
||||
|
||||
@@ -13,8 +13,6 @@ melpaBuild rec {
|
||||
hash = "sha256-GFEDWT88Boz/DxEcmFgf7u2NOoMjAN05yRiYwoYtvXc=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
homepage = "https://gitweb.gentoo.org/proj/ebuild-mode.git/";
|
||||
description = "Major modes for Gentoo package files";
|
||||
|
||||
@@ -21,8 +21,6 @@ melpaBuild {
|
||||
|
||||
files = ''(:defaults "msg")'';
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { tagPrefix = "v"; };
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -29,8 +29,6 @@ melpaBuild {
|
||||
make CXX=$CXX
|
||||
'';
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { };
|
||||
|
||||
meta = {
|
||||
|
||||
-2
@@ -16,8 +16,6 @@ melpaBuild {
|
||||
hash = "sha256-DIGvnotSQYIgHxGxtyCALHd8ZbrfkmdvjLXlkcqQ6v4=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
|
||||
|
||||
meta = {
|
||||
|
||||
-2
@@ -23,8 +23,6 @@ melpaBuild {
|
||||
markdown-mode
|
||||
];
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
|
||||
|
||||
meta = {
|
||||
|
||||
-2
@@ -17,8 +17,6 @@ melpaBuild {
|
||||
hash = "sha256-er+knxqAejgKAtOnhqHfsGN286biHFdeMIUlbW7JyYw=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { };
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -16,8 +16,6 @@ melpaBuild {
|
||||
hash = "sha256-xwVCAdxnIRHrFNWvtlM3u6CShsUiGgl1CiBTsp2x7IM=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
|
||||
|
||||
meta = {
|
||||
|
||||
-2
@@ -18,8 +18,6 @@ melpaBuild {
|
||||
--replace-fail ";;; gn-mode.el - " ";;; gn-mode.el --- "
|
||||
'';
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
inherit (gn.meta) homepage license;
|
||||
maintainers = with lib.maintainers; [ rennsax ];
|
||||
|
||||
@@ -16,8 +16,6 @@ melpaBuild {
|
||||
hash = "sha256-3QDw4W3FbFvb2zpkDHAo9BJKxs3LaehyvUVJPKqS9RE=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -22,8 +22,6 @@ melpaBuild {
|
||||
helm
|
||||
];
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/emacsmirror/helm-words";
|
||||
description = "Helm extension for looking up words in dictionaries and thesauri";
|
||||
|
||||
@@ -16,8 +16,6 @@ melpaBuild {
|
||||
|
||||
packageRequires = [ haskell-mode ];
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
inherit (hsc3.meta) homepage license;
|
||||
description = "Emacs mode for hsc3";
|
||||
|
||||
@@ -16,8 +16,6 @@ melpaBuild {
|
||||
hash = "sha256-Xbt0D9EgmvN1hDTeLbdxq1ARHObj8M4GfH2sbFILRTI=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -24,8 +24,6 @@ melpaBuild {
|
||||
prop-menu
|
||||
];
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = gitUpdater { };
|
||||
|
||||
meta = {
|
||||
|
||||
-2
@@ -17,8 +17,6 @@ melpaBuild {
|
||||
hash = "sha256-h/jkIWjkLFbtBp9F+lhA3CulYy2XaeloLmexR0CDm3E=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { };
|
||||
|
||||
meta = {
|
||||
|
||||
-2
@@ -16,8 +16,6 @@ melpaBuild {
|
||||
hash = "sha256-Xli7TxBenl5cDMJv3Qz7ZELFpvJKStMploLpf9a+uoA=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -27,8 +27,6 @@ melpaBuild rec {
|
||||
mv tmp.el jam-mode.el
|
||||
'';
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
description = "Emacs major mode for editing Jam files";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
|
||||
@@ -9,8 +9,6 @@ melpaBuild {
|
||||
"llvm/utils/emacs/README")
|
||||
'';
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
inherit (llvmPackages.llvm.meta) homepage license;
|
||||
description = "Major mode for the LLVM assembler language";
|
||||
|
||||
@@ -87,8 +87,6 @@ melpaBuild {
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -24,8 +24,6 @@ melpaBuild {
|
||||
# to compile lspce.el, it needs lspce-module.so
|
||||
files = ''(:defaults "${lib.getLib lspce-module}/lib/lspce-module.*")'';
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru = {
|
||||
inherit lspce-module;
|
||||
updateScript = nix-update-script {
|
||||
|
||||
@@ -26,8 +26,6 @@ elpaBuild {
|
||||
tar --create --verbose --file=$src $content_directory
|
||||
'';
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = removeAttrs mu.meta [ "mainProgram" ] // {
|
||||
description = "Full-featured e-mail client";
|
||||
maintainers = mu.meta.maintainers ++ (with lib.maintainers; [ linj ]);
|
||||
|
||||
@@ -59,8 +59,6 @@ melpaBuild {
|
||||
install -D --target-directory=$out/bin notdeft-xapian
|
||||
'';
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru = {
|
||||
updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
|
||||
};
|
||||
|
||||
@@ -15,8 +15,6 @@ melpaBuild {
|
||||
popd
|
||||
'';
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
description = "Emacs ott mode (from ott sources)";
|
||||
inherit (ott.meta) homepage license;
|
||||
|
||||
@@ -26,8 +26,6 @@ melpaBuild {
|
||||
install -Dm644 -t ''${!outputDoc}/share/doc/pod-mode/ ChangeLog README
|
||||
'';
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
homepage = "https://metacpan.org/dist/pod-mode";
|
||||
description = "Major mode for editing .pod-files";
|
||||
|
||||
@@ -22,8 +22,6 @@ melpaBuild {
|
||||
hash = "sha256-DJJfjbu27Gi7Nzsa1cdi8nIQowKH8ZxgQBwfXLB0Q/I=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
description = "Major mode for Prisma Schema Language";
|
||||
license = lib.licenses.gpl2Only;
|
||||
|
||||
@@ -19,8 +19,6 @@ melpaBuild {
|
||||
--replace-fail ";; prolog.el ---" ";;; prolog.el ---"
|
||||
'';
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
homepage = "https://bruda.ca/emacs/prolog_mode_for_emacs/";
|
||||
description = "Prolog mode for Emacs";
|
||||
|
||||
@@ -19,8 +19,6 @@ melpaBuild {
|
||||
hash = "sha256-/8T1VTYkKUxlNWXuuS54S5jpl4UxJBbgSuWc17a/VyM=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = gitUpdater { };
|
||||
|
||||
meta = {
|
||||
|
||||
+3
@@ -14,6 +14,9 @@ melpaBuild rec {
|
||||
hash = "sha256-lc6NIX+lx97qCs5JqG7x0iVE6ki09Gy7DEQuPW2c+7s=";
|
||||
};
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/335421
|
||||
ignoreCompilationError = true;
|
||||
|
||||
meta = {
|
||||
/*
|
||||
installation: add to your ~/.emacs
|
||||
|
||||
-2
@@ -17,8 +17,6 @@ melpaBuild {
|
||||
hash = "sha256-D36qiRi5OTZrBtJ/bD/javAWizZ8NLlC/YP4rdLCSsw=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -13,8 +13,6 @@ melpaBuild {
|
||||
hash = "sha256-VXz3pO6N94XM8FzLSAoYrj3NEh4wp0UiuG6ad8M7nVU=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.emacswiki.org/emacs/sv-kalender.el";
|
||||
description = "Swedish calendar for Emacs";
|
||||
|
||||
@@ -10,8 +10,6 @@ melpaBuild {
|
||||
|
||||
files = ''("emacs/*.el")'';
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
inherit (texpresso.meta) homepage license;
|
||||
description = "Emacs mode for TeXpresso";
|
||||
|
||||
-2
@@ -44,8 +44,6 @@ melpaStablePackages.tree-sitter-langs.overrideAttrs(old: {
|
||||
fi
|
||||
'') plugins);
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru = old.passthru or {} // {
|
||||
inherit plugins;
|
||||
withPlugins = fn: final.tree-sitter-langs.override { plugins = fn tree-sitter-grammars; };
|
||||
|
||||
@@ -42,8 +42,6 @@ in melpaBuild {
|
||||
|
||||
files = ''("core/*.el" "${tsc-dyn}/lib/*")'';
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru = {
|
||||
inherit tsc-dyn;
|
||||
updateScript = nix-update-script { attrPath = "emacsPackages.tsc.tsc-dyn"; };
|
||||
|
||||
@@ -20,8 +20,6 @@ melpaBuild {
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
description = "Major mode for editing Ur/Web";
|
||||
inherit (urweb.meta) license homepage;
|
||||
|
||||
@@ -49,8 +49,6 @@ melpaBuild {
|
||||
el-patch
|
||||
];
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -16,8 +16,6 @@ melpaBuild {
|
||||
hash = "sha256-jV5V3TRY+D3cPSz3yFwVWn9yInhGOYIaUTPEhsOBxto=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -13,8 +13,6 @@ melpaBuild {
|
||||
hash = "sha256-ceCOBFfixmGVB3kaSvOv1YZThC2pleYnS8gXhLrjhA8=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.emacswiki.org/emacs/yes-no.el";
|
||||
description = "Specify use of `y-or-n-p' or `yes-or-no-p' on a case-by-case basis";
|
||||
|
||||
@@ -16,8 +16,6 @@ melpaBuild {
|
||||
hash = "sha256-Etl95rcoRACDPjcTPQqYK2L+w8OZbOrTrRT0JadMdH4=";
|
||||
};
|
||||
|
||||
ignoreCompilationError = false;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { };
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -30,12 +30,18 @@ in
|
||||
|
||||
{ lib, pkgs }: variant: self:
|
||||
let
|
||||
inherit (import ./lib-override-helper.nix pkgs)
|
||||
inherit (import ./lib-override-helper.nix pkgs lib)
|
||||
addPackageRequires
|
||||
addPackageRequiresIfOlder
|
||||
buildWithGit
|
||||
dontConfigure
|
||||
externalSrc
|
||||
fix-rtags
|
||||
fixRequireHelmCore
|
||||
ignoreCompilationError
|
||||
ignoreCompilationErrorIfOlder
|
||||
markBroken
|
||||
mkHome
|
||||
;
|
||||
|
||||
generateMelpa = lib.makeOverridable ({ archiveJson ? defaultArchive
|
||||
@@ -131,7 +137,7 @@ let
|
||||
|
||||
} // {
|
||||
# Expects bash to be at /bin/bash
|
||||
ac-rtags = fix-rtags super.ac-rtags;
|
||||
ac-rtags = ignoreCompilationError (fix-rtags super.ac-rtags); # elisp error
|
||||
|
||||
age = super.age.overrideAttrs (attrs: {
|
||||
postPatch = attrs.postPatch or "" + ''
|
||||
@@ -144,7 +150,8 @@ let
|
||||
inherit (self.melpaPackages) powerline;
|
||||
};
|
||||
|
||||
auto-complete-clang-async = super.auto-complete-clang-async.overrideAttrs (old: {
|
||||
# https://github.com/Golevka/emacs-clang-complete-async/issues/90
|
||||
auto-complete-clang-async = (addPackageRequires super.auto-complete-clang-async [ self.auto-complete ]).overrideAttrs (old: {
|
||||
buildInputs = old.buildInputs ++ [ pkgs.llvmPackages.llvm ];
|
||||
CFLAGS = "-I${pkgs.llvmPackages.libclang.lib}/include";
|
||||
LDFLAGS = "-L${pkgs.llvmPackages.libclang.lib}/lib";
|
||||
@@ -157,7 +164,7 @@ let
|
||||
# upstream issue: missing package version
|
||||
cmake-mode = dontConfigure super.cmake-mode;
|
||||
|
||||
company-rtags = fix-rtags super.company-rtags;
|
||||
company-rtags = ignoreCompilationError (fix-rtags super.company-rtags); # elisp error
|
||||
|
||||
easy-kill-extras = super.easy-kill-extras.override {
|
||||
inherit (self.melpaPackages) easy-kill;
|
||||
@@ -226,7 +233,7 @@ let
|
||||
inherit (self.melpaPackages) ess ctable popup;
|
||||
};
|
||||
|
||||
flycheck-rtags = fix-rtags super.flycheck-rtags;
|
||||
flycheck-rtags = ignoreCompilationError (fix-rtags super.flycheck-rtags); # elisp error
|
||||
|
||||
pdf-tools = super.pdf-tools.overrideAttrs (old: {
|
||||
# Temporary work around for:
|
||||
@@ -313,7 +320,7 @@ let
|
||||
HOME = "/tmp";
|
||||
});
|
||||
|
||||
ivy-rtags = fix-rtags super.ivy-rtags;
|
||||
ivy-rtags = ignoreCompilationError (fix-rtags super.ivy-rtags); # elisp error
|
||||
|
||||
jinx = super.jinx.overrideAttrs (old: let
|
||||
libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary;
|
||||
@@ -392,7 +399,7 @@ let
|
||||
|
||||
magit-tbdiff = buildWithGit super.magit-tbdiff;
|
||||
|
||||
magit-topgit = buildWithGit super.magit-topgit;
|
||||
magit-topgit = ignoreCompilationError (buildWithGit super.magit-topgit); # elisp error
|
||||
|
||||
magit-vcsh = buildWithGit super.magit-vcsh;
|
||||
|
||||
@@ -406,7 +413,7 @@ let
|
||||
|
||||
magit-gitflow = buildWithGit super.magit-gitflow;
|
||||
|
||||
magithub = buildWithGit super.magithub;
|
||||
magithub = ignoreCompilationError (buildWithGit super.magithub); # elisp error
|
||||
|
||||
magit-svn = buildWithGit super.magit-svn;
|
||||
|
||||
@@ -426,9 +433,7 @@ let
|
||||
|
||||
jist = buildWithGit super.jist;
|
||||
|
||||
mandoku = buildWithGit super.mandoku;
|
||||
|
||||
mandoku-tls = buildWithGit super.mandoku-tls;
|
||||
mandoku = addPackageRequires super.mandoku [ self.git ]; # upstream is archived
|
||||
|
||||
magit-p4 = buildWithGit super.magit-p4;
|
||||
|
||||
@@ -465,7 +470,8 @@ let
|
||||
});
|
||||
|
||||
# upstream issue: missing file header
|
||||
mhc = super.mhc.override {
|
||||
# elisp error
|
||||
mhc = (ignoreCompilationError super.mhc).override {
|
||||
inherit (self.melpaPackages) calfw;
|
||||
};
|
||||
|
||||
@@ -482,7 +488,7 @@ let
|
||||
'';
|
||||
});
|
||||
|
||||
rtags = dontConfigure (externalSrc super.rtags pkgs.rtags);
|
||||
rtags = ignoreCompilationError (dontConfigure (externalSrc super.rtags pkgs.rtags)); # elisp error
|
||||
|
||||
rtags-xref = dontConfigure super.rtags;
|
||||
|
||||
@@ -496,12 +502,21 @@ let
|
||||
'';
|
||||
});
|
||||
|
||||
shm = super.shm.overrideAttrs (attrs: {
|
||||
propagatedUserEnvPkgs = [ pkgs.haskellPackages.structured-haskell-mode ];
|
||||
});
|
||||
# https://github.com/projectional-haskell/structured-haskell-mode/issues/165
|
||||
shm =
|
||||
(addPackageRequires super.shm [
|
||||
self.haskell-mode
|
||||
self.hindent
|
||||
]).overrideAttrs
|
||||
(attrs: {
|
||||
propagatedUserEnvPkgs = attrs.propagatedUserEnvPkgs or [ ] ++ [
|
||||
pkgs.haskellPackages.structured-haskell-mode
|
||||
];
|
||||
});
|
||||
|
||||
# Telega has a server portion for it's network protocol
|
||||
telega = super.telega.overrideAttrs (old: {
|
||||
# elisp error
|
||||
telega = (ignoreCompilationError super.telega).overrideAttrs (old: {
|
||||
buildInputs = old.buildInputs ++ [ pkgs.tdlib ];
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ];
|
||||
|
||||
@@ -640,7 +655,7 @@ let
|
||||
];
|
||||
});
|
||||
|
||||
helm-rtags = fix-rtags super.helm-rtags;
|
||||
helm-rtags = ignoreCompilationError (fix-rtags super.helm-rtags); # elisp error
|
||||
|
||||
# tries to write to $HOME
|
||||
php-auto-yasnippets = super.php-auto-yasnippets.overrideAttrs (attrs: {
|
||||
@@ -718,6 +733,812 @@ let
|
||||
'';
|
||||
})
|
||||
else super.osx-dictionary;
|
||||
|
||||
# https://github.com/skeeto/at-el/issues/9
|
||||
"@" = ignoreCompilationErrorIfOlder super."@" "20240923.1318";
|
||||
|
||||
abgaben = addPackageRequires (mkHome super.abgaben) [ self.mu4e ];
|
||||
|
||||
# https://github.com/afroisalreadyinu/abl-mode/issues/9
|
||||
abl-mode = addPackageRequires super.abl-mode [ self.f ];
|
||||
|
||||
ac-php-core = super.ac-php-core.overrideAttrs (old: {
|
||||
# empty file causing native-compiler-error-empty-byte
|
||||
preBuild =
|
||||
''
|
||||
rm --verbose ac-php-comm-tags-data.el
|
||||
''
|
||||
+ old.preBuild or "";
|
||||
});
|
||||
|
||||
# Optimizer error: too much on the stack
|
||||
ack-menu = ignoreCompilationError super.ack-menu;
|
||||
|
||||
# https://github.com/gongo/airplay-el/issues/2
|
||||
airplay = addPackageRequires super.airplay [ self.request-deferred ];
|
||||
|
||||
# https://github.com/melpa/melpa/pull/9185
|
||||
alectryon = super.alectryon.overrideAttrs (old: {
|
||||
preBuild =
|
||||
old.preBuild or ""
|
||||
+ "\n"
|
||||
+ ''
|
||||
rm --recursive --verbose etc/elisp/screenshot
|
||||
'';
|
||||
});
|
||||
|
||||
# https://github.com/gergelypolonkai/alert-termux/issues/2
|
||||
alert-termux = addPackageRequires super.alert-termux [ self.alert ];
|
||||
|
||||
# https://github.com/magnars/angular-snippets.el/issues/7
|
||||
angular-snippets = addPackageRequires super.angular-snippets [ self.yasnippet ];
|
||||
|
||||
# https://github.com/ragone/asx/pull/3
|
||||
asx = addPackageRequires super.asx [ self.request ];
|
||||
|
||||
auctex-cluttex = mkHome super.auctex-cluttex;
|
||||
|
||||
auctex-latexmk = mkHome super.auctex-latexmk;
|
||||
|
||||
auto-indent-mode = ignoreCompilationError super.auto-indent-mode; # elisp error
|
||||
|
||||
# missing optional dependencies
|
||||
auto-complete-auctex = addPackageRequires (mkHome super.auto-complete-auctex) [ self.auctex ];
|
||||
|
||||
# depends on distel which is not on any ELPA https://github.com/massemanet/distel/issues/21
|
||||
auto-complete-distel = ignoreCompilationError super.auto-complete-distel;
|
||||
|
||||
aws-ec2 = ignoreCompilationError super.aws-ec2; # elisp error
|
||||
|
||||
badger-theme = ignoreCompilationError super.badger-theme; # elisp error
|
||||
|
||||
# https://github.com/BinaryAnalysisPlatform/bap-mode/pull/4
|
||||
bap-mode = fixRequireHelmCore (addPackageRequires super.bap-mode [ self.helm-core ]);
|
||||
|
||||
# try to open non-existent ~/.emacs.d/.blog_minimal.config during compilation
|
||||
blog-minimal = ignoreCompilationError super.blog-minimal;
|
||||
|
||||
boa-mode = ignoreCompilationError super.boa-mode; # elisp error
|
||||
|
||||
# missing optional dependencies
|
||||
boogie-friends = addPackageRequires super.boogie-friends [ self.lsp-mode ];
|
||||
|
||||
# https://github.com/melpa/melpa/pull/9181
|
||||
bpr = super.bpr.overrideAttrs (old: {
|
||||
preBuild =
|
||||
old.preBuild or ""
|
||||
+ "\n"
|
||||
+ ''
|
||||
rm --verbose --force test-bpr.el
|
||||
'';
|
||||
});
|
||||
|
||||
bts = ignoreCompilationError super.bts; # elisp error
|
||||
|
||||
bts-github = ignoreCompilationError super.bts-github; # elisp error
|
||||
|
||||
buffer-buttons = ignoreCompilationError super.buffer-buttons; # elisp error
|
||||
|
||||
# https://github.com/kiwanami/emacs-calfw/pull/106
|
||||
calfw-cal = addPackageRequires super.calfw-cal [ self.calfw ];
|
||||
|
||||
# https://github.com/kiwanami/emacs-calfw/pull/106
|
||||
calfw-gcal = addPackageRequires super.calfw-gcal [ self.calfw ];
|
||||
|
||||
# https://github.com/kiwanami/emacs-calfw/pull/106
|
||||
calfw-howm = addPackageRequires super.calfw-howm [
|
||||
self.calfw
|
||||
self.howm
|
||||
];
|
||||
|
||||
# https://github.com/kiwanami/emacs-calfw/pull/106
|
||||
calfw-ical = addPackageRequires super.calfw-ical [ self.calfw ];
|
||||
|
||||
# https://github.com/kiwanami/emacs-calfw/pull/106
|
||||
calfw-org = addPackageRequires super.calfw-org [ self.calfw ];
|
||||
|
||||
cardano-tx = ignoreCompilationError super.cardano-tx; # elisp error
|
||||
|
||||
cardano-wallet = ignoreCompilationError super.cardano-wallet; # elisp error
|
||||
|
||||
# elisp error and missing optional dependencies
|
||||
cask-package-toolset = ignoreCompilationError super.cask-package-toolset;
|
||||
|
||||
# missing optional dependencies
|
||||
chee = addPackageRequires super.chee [ self.helm ];
|
||||
|
||||
cheerilee = ignoreCompilationError super.cheerilee; # elisp error
|
||||
|
||||
# elisp error and missing optional dependencies
|
||||
# one optional dependency spark is removed in https://github.com/melpa/melpa/pull/9151
|
||||
chronometrist = ignoreCompilationError super.chronometrist;
|
||||
|
||||
# https://github.com/melpa/melpa/pull/9184
|
||||
chronometrist-key-values = super.chronometrist-key-values.overrideAttrs (old: {
|
||||
recipe = ''
|
||||
(chronometrist-key-values :fetcher git :url ""
|
||||
:files (:defaults "elisp/chronometrist-key-values.*"))
|
||||
'';
|
||||
});
|
||||
|
||||
# https://github.com/atilaneves/cmake-ide/issues/176
|
||||
cmake-ide = addPackageRequires super.cmake-ide [ self.dash ];
|
||||
|
||||
code-review = ignoreCompilationError super.code-review; # elisp error
|
||||
|
||||
codesearch = super.codesearch.overrideAttrs (
|
||||
finalAttrs: previousAttrs: {
|
||||
patches =
|
||||
if lib.versionOlder finalAttrs.version "20240827.805" then
|
||||
previousAttrs.patches or [ ]
|
||||
++ [
|
||||
(pkgs.fetchpatch {
|
||||
name = "remove-unused-dash.patch";
|
||||
url = "https://github.com/abingham/emacs-codesearch/commit/bd24a152ab6ea9f69443ae8e5b7351bb2f990fb6.patch";
|
||||
hash = "sha256-cCHY8Ak2fHuuhymjSF7w2MLPDJa84mBUdKg27mB9yto=";
|
||||
})
|
||||
]
|
||||
else
|
||||
previousAttrs.patches or null;
|
||||
}
|
||||
);
|
||||
|
||||
# https://github.com/hying-caritas/comint-intercept/issues/2
|
||||
comint-intercept = addPackageRequires super.comint-intercept [ self.vterm ];
|
||||
|
||||
company-auctex = mkHome super.company-auctex;
|
||||
|
||||
# depends on distel which is not on any ELPA https://github.com/massemanet/distel/issues/21
|
||||
company-distel = ignoreCompilationError super.company-distel;
|
||||
|
||||
# qmltypes-table.el causing native-compiler-error-empty-byte
|
||||
company-qml = ignoreCompilationError super.company-qml;
|
||||
|
||||
# https://github.com/neuromage/ycm.el/issues/6
|
||||
company-ycm = ignoreCompilationError (addPackageRequires super.company-ycm [ self.company ]);
|
||||
|
||||
composable = ignoreCompilationError super.composable; # elisp error
|
||||
|
||||
# missing optional dependencies
|
||||
conda = addPackageRequires super.conda [ self.projectile ];
|
||||
|
||||
counsel-gtags = ignoreCompilationError super.counsel-gtags; # elisp error
|
||||
|
||||
# https://github.com/fuxialexander/counsel-notmuch/issues/3
|
||||
counsel-notmuch = addPackageRequires super.counsel-notmuch [ self.counsel ];
|
||||
|
||||
# needs dbus during compilation
|
||||
counsel-spotify = ignoreCompilationError super.counsel-spotify;
|
||||
|
||||
creole = ignoreCompilationError super.creole; # elisp error
|
||||
|
||||
cssh = ignoreCompilationError super.cssh; # elisp error
|
||||
|
||||
dap-mode = super.dap-mode.overrideAttrs (old: {
|
||||
# empty file causing native-compiler-error-empty-byte
|
||||
preBuild =
|
||||
''
|
||||
rm --verbose dapui.el
|
||||
''
|
||||
+ old.preBuild or "";
|
||||
});
|
||||
|
||||
db-pg = ignoreCompilationError super.db-pg; # elisp error
|
||||
|
||||
describe-number = ignoreCompilationError super.describe-number; # elisp error
|
||||
|
||||
# missing optional dependencies: text-translator, not on any ELPA
|
||||
dic-lookup-w3m = ignoreCompilationError super.dic-lookup-w3m;
|
||||
|
||||
# https://github.com/nlamirault/dionysos/issues/17
|
||||
dionysos = addPackageRequires super.dionysos [ self.f ];
|
||||
|
||||
# https://github.com/emacsorphanage/dired-k/issues/48
|
||||
# missing optional dependencies
|
||||
dired-k = addPackageRequires super.dired-k [ self.direx ];
|
||||
|
||||
# depends on distel which is not on any ELPA https://github.com/massemanet/distel/issues/21
|
||||
distel-completion-lib = ignoreCompilationError super.distel-completion-lib;
|
||||
|
||||
django-mode = ignoreCompilationError super.django-mode; # elisp error
|
||||
|
||||
# elisp error and missing optional dependencies
|
||||
drupal-mode = ignoreCompilationError super.drupal-mode;
|
||||
|
||||
e2wm-pkgex4pl = ignoreCompilationError super.e2wm-pkgex4pl; # elisp error
|
||||
|
||||
ecb = ignoreCompilationError super.ecb; # elisp error
|
||||
|
||||
# Optimizer error: too much on the stack
|
||||
edit-color-stamp = ignoreCompilationError super.edit-color-stamp;
|
||||
|
||||
edts = ignoreCompilationError (mkHome super.edts); # elisp error
|
||||
|
||||
eimp = super.eimp.overrideAttrs (old: {
|
||||
postPatch =
|
||||
old.postPatch or ""
|
||||
+ "\n"
|
||||
+ ''
|
||||
substituteInPlace eimp.el --replace-fail \
|
||||
'(defcustom eimp-mogrify-program "mogrify"' \
|
||||
'(defcustom eimp-mogrify-program "${pkgs.imagemagick}/bin/mogrify"'
|
||||
'';
|
||||
});
|
||||
|
||||
ein = ignoreCompilationError super.ein; # elisp error
|
||||
|
||||
# missing optional dependencies
|
||||
ejc-sql = addPackageRequires super.ejc-sql [
|
||||
self.auto-complete
|
||||
self.company
|
||||
];
|
||||
|
||||
# missing optional dependencies
|
||||
ekg = addPackageRequires super.ekg [ self.denote ];
|
||||
|
||||
elisp-sandbox = ignoreCompilationError super.elisp-sandbox; # elisp error
|
||||
|
||||
elnode = ignoreCompilationError super.elnode; # elisp error
|
||||
|
||||
elscreen = super.elscreen.overrideAttrs (old: {
|
||||
patches = old.patches or [ ] ++ [
|
||||
(pkgs.fetchpatch {
|
||||
name = "do-not-require-unneeded-wl.patch";
|
||||
url = "https://github.com/knu/elscreen/pull/34/commits/2ffbeb11418d1b98809909c389e7010666d511fd.patch";
|
||||
hash = "sha256-7JoDGtFECZEkB3xmMBXZcx6oStkEV06soiqOkDevWtM=";
|
||||
})
|
||||
];
|
||||
});
|
||||
|
||||
el-secretario-mu4e = addPackageRequires super.el-secretario-mu4e [ self.mu4e ];
|
||||
|
||||
embark-vc = buildWithGit super.embark-vc;
|
||||
|
||||
# https://github.com/nubank/emidje/issues/23
|
||||
emidje = addPackageRequires super.emidje [ self.pkg-info ];
|
||||
|
||||
# depends on later-do which is not on any ELPA
|
||||
emms-player-simple-mpv = ignoreCompilationError super.emms-player-simple-mpv;
|
||||
emms-player-mpv-jp-radios = ignoreCompilationError super.emms-player-mpv-jp-radios;
|
||||
|
||||
enotify = ignoreCompilationError super.enotify; # elisp error
|
||||
|
||||
# https://github.com/leathekd/ercn/issues/6
|
||||
ercn = addPackageRequires super.ercn [ self.dash ];
|
||||
|
||||
# missing optional dependencies
|
||||
eval-in-repl = addPackageRequires super.eval-in-repl (
|
||||
with self;
|
||||
[
|
||||
alchemist
|
||||
cider
|
||||
elm-mode
|
||||
erlang
|
||||
geiser
|
||||
hy-mode
|
||||
elixir-mode
|
||||
js-comint
|
||||
lua-mode
|
||||
tuareg
|
||||
racket-mode
|
||||
inf-ruby
|
||||
slime
|
||||
sly
|
||||
sml-mode
|
||||
]
|
||||
);
|
||||
|
||||
# elisp error and missing dependencies
|
||||
evalator = ignoreCompilationError super.evalator;
|
||||
|
||||
evalator-clojure = ignoreCompilationError super.evalator-clojure; # elisp error
|
||||
|
||||
# https://github.com/PythonNut/evil-easymotion/issues/74
|
||||
evil-easymotion = addPackageRequires super.evil-easymotion [ self.evil ];
|
||||
|
||||
evil-mu4e = addPackageRequires super.evil-mu4e [ self.mu4e ];
|
||||
|
||||
# https://github.com/VanLaser/evil-nl-break-undo/issues/2
|
||||
evil-nl-break-undo = addPackageRequiresIfOlder super.evil-nl-break-undo [
|
||||
self.evil
|
||||
] "20240921.953";
|
||||
|
||||
evil-python-movement = ignoreCompilationError super.evil-python-movement; # elisp error
|
||||
|
||||
evil-tex = mkHome super.evil-tex;
|
||||
|
||||
# Error: Bytecode overflow
|
||||
ewal-doom-themes = ignoreCompilationError super.ewal-doom-themes;
|
||||
|
||||
# https://github.com/agzam/exwm-edit/issues/32
|
||||
exwm-edit = addPackageRequires super.exwm-edit [ self.exwm ];
|
||||
|
||||
# https://github.com/syl20bnr/flymake-elixir/issues/4
|
||||
flymake-elixir = addPackageRequires super.flymake-elixir [ self.flymake-easy ];
|
||||
|
||||
flyparens = ignoreCompilationError super.flyparens; # elisp error
|
||||
|
||||
fold-dwim-org = ignoreCompilationError super.fold-dwim-org; # elisp error
|
||||
|
||||
# https://github.com/melpa/melpa/pull/9182
|
||||
frontside-javascript = super.frontside-javascript.overrideAttrs (old: {
|
||||
preBuild =
|
||||
old.preBuild or ""
|
||||
+ "\n"
|
||||
+ ''
|
||||
rm --verbose packages/javascript/test-suppport.el
|
||||
'';
|
||||
});
|
||||
|
||||
fxrd-mode = ignoreCompilationError super.fxrd-mode; # elisp error
|
||||
|
||||
# missing optional dependencies
|
||||
gap-mode = addPackageRequires super.gap-mode [
|
||||
self.company
|
||||
self.flycheck
|
||||
];
|
||||
|
||||
gh-notify = buildWithGit super.gh-notify;
|
||||
|
||||
# https://github.com/nlamirault/emacs-gitlab/issues/68
|
||||
gitlab = addPackageRequires super.gitlab [ self.f ];
|
||||
|
||||
# TODO report to upstream
|
||||
global-tags = addPackageRequires super.global-tags [ self.s ];
|
||||
|
||||
go = ignoreCompilationError super.go; # elisp error
|
||||
|
||||
graphene = ignoreCompilationError super.graphene; # elisp error
|
||||
|
||||
greader = ignoreCompilationError super.greader; # elisp error
|
||||
|
||||
# TODO report to upstream
|
||||
guix = addPackageRequires super.guix [ self.geiser-guile ];
|
||||
|
||||
# missing optional dependencies
|
||||
gumshoe = addPackageRequires super.gumshoe [ self.perspective ];
|
||||
|
||||
helm-chrome-control = super.helm-chrome-control.overrideAttrs (old: {
|
||||
patches = old.patches or [ ] ++ [
|
||||
(pkgs.fetchpatch {
|
||||
name = "require-helm-core-instead-of-helm.patch";
|
||||
url = "https://github.com/xuchunyang/helm-chrome-control/pull/2/commits/7765cd2483adef5cfa6cf77f52259ad6e1dd0daf.patch";
|
||||
hash = "sha256-tF+IaICbveYJvd3Tjx52YBBztpjifZdCA4O+Z2r1M3s=";
|
||||
})
|
||||
];
|
||||
});
|
||||
|
||||
# https://github.com/xuchunyang/helm-chrome-history/issues/3
|
||||
helm-chrome-history = fixRequireHelmCore super.helm-chrome-history;
|
||||
|
||||
helm-cider = ignoreCompilationError super.helm-cider; # elisp error
|
||||
|
||||
helm-ext = ignoreCompilationError super.helm-ext; # elisp error
|
||||
|
||||
# https://github.com/iory/emacs-helm-ghs/issues/1
|
||||
helm-ghs = addPackageRequires super.helm-ghs [ self.helm-ghq ];
|
||||
|
||||
# https://github.com/maio/helm-git/issues/7
|
||||
helm-git = addPackageRequires super.helm-git [
|
||||
self.helm
|
||||
self.magit
|
||||
];
|
||||
|
||||
# TODO report to upstream
|
||||
helm-flycheck = fixRequireHelmCore super.helm-flycheck;
|
||||
|
||||
# https://github.com/yasuyk/helm-git-grep/issues/54
|
||||
helm-git-grep = addPackageRequires super.helm-git-grep [ self.helm ];
|
||||
|
||||
# https://github.com/yasuyk/helm-go-package/issues/8
|
||||
helm-go-package = fixRequireHelmCore super.helm-go-package;
|
||||
|
||||
# https://github.com/torgeir/helm-js-codemod.el/pull/1
|
||||
helm-js-codemod = fixRequireHelmCore super.helm-js-codemod;
|
||||
|
||||
helm-kythe = ignoreCompilationError super.helm-kythe; # elisp error
|
||||
|
||||
# https://github.com/emacs-jp/helm-migemo/issues/8
|
||||
helm-migemo = addPackageRequiresIfOlder super.helm-migemo [ self.helm ] "20240921.1550";
|
||||
|
||||
helm-mu = addPackageRequires super.helm-mu [ self.mu4e ];
|
||||
|
||||
# https://github.com/xuchunyang/helm-osx-app/pull/1
|
||||
helm-osx-app = addPackageRequires super.helm-osx-app [ self.helm ];
|
||||
|
||||
# https://github.com/cosmicexplorer/helm-rg/issues/36
|
||||
helm-rg = ignoreCompilationError super.helm-rg; # elisp error
|
||||
|
||||
# https://github.com/yasuyk/helm-spaces/issues/1
|
||||
helm-spaces = fixRequireHelmCore super.helm-spaces;
|
||||
|
||||
hideshow-org = ignoreCompilationError super.hideshow-org; # elisp error
|
||||
|
||||
# https://github.com/purcell/hippie-expand-slime/issues/2
|
||||
hippie-expand-slime = addPackageRequires super.hippie-expand-slime [ self.slime ];
|
||||
|
||||
hyperbole = ignoreCompilationError (addPackageRequires (mkHome super.hyperbole) [ self.el-mock ]); # elisp error
|
||||
|
||||
# needs non-existent "browser database directory" during compilation
|
||||
# TODO report to upsteam about missing dependency websocket
|
||||
ibrowse = ignoreCompilationError (addPackageRequires super.ibrowse [ self.websocket ]);
|
||||
|
||||
# elisp error and missing optional dependencies
|
||||
identica-mode = ignoreCompilationError super.identica-mode;
|
||||
|
||||
# missing optional dependencies
|
||||
idris-mode = addPackageRequires super.idris-mode [ self.flycheck ];
|
||||
|
||||
imbot = ignoreCompilationError super.imbot; # elisp error
|
||||
|
||||
indium = mkHome super.indium;
|
||||
|
||||
# TODO report to upsteam
|
||||
inlineR = addPackageRequires super.inlineR [ self.ess ];
|
||||
|
||||
# https://github.com/duelinmarkers/insfactor.el/issues/7
|
||||
insfactor = addPackageRequires super.insfactor [ self.cider ];
|
||||
|
||||
# https://github.com/wandersoncferreira/ivy-clojuredocs/issues/5
|
||||
ivy-clojuredocs = addPackageRequires super.ivy-clojuredocs [ self.parseedn ];
|
||||
|
||||
# TODO report to upstream
|
||||
jack-connect = addPackageRequires super.jack-connect [ self.dash ];
|
||||
|
||||
jdee = ignoreCompilationError super.jdee; # elisp error
|
||||
|
||||
# https://github.com/fred-o/jekyll-modes/issues/6
|
||||
jekyll-modes = addPackageRequires super.jekyll-modes [ self.poly-markdown ];
|
||||
|
||||
jss = ignoreCompilationError super.jss; # elisp error
|
||||
|
||||
# missing optional dependencies: vterm or eat
|
||||
julia-snail = addPackageRequires super.julia-snail [ self.eat ];
|
||||
|
||||
kite = ignoreCompilationError super.kite; # elisp error
|
||||
|
||||
# missing optional dependencies
|
||||
laas = addPackageRequires super.laas [ self.math-symbol-lists ];
|
||||
|
||||
latex-change-env = mkHome super.latex-change-env;
|
||||
|
||||
latex-extra = mkHome super.latex-extra;
|
||||
|
||||
latex-table-wizard = mkHome super.latex-table-wizard;
|
||||
|
||||
leaf-defaults = ignoreCompilationError super.leaf-defaults; # elisp error
|
||||
|
||||
# https://github.com/abo-abo/lispy/pull/683
|
||||
# missing optional dependencies
|
||||
lispy = addPackageRequires (mkHome super.lispy) [ self.indium ];
|
||||
|
||||
# missing optional dependencies
|
||||
magik-mode = addPackageRequires super.magik-mode [
|
||||
self.auto-complete
|
||||
self.flycheck
|
||||
];
|
||||
|
||||
# missing optional dependencies
|
||||
magnatune = addPackageRequires super.magnatune [ self.helm ];
|
||||
|
||||
major-mode-icons = ignoreCompilationError super.major-mode-icons; # elisp error
|
||||
|
||||
malinka = ignoreCompilationError super.malinka; # elisp error
|
||||
|
||||
mastodon = ignoreCompilationError super.mastodon; # elisp error
|
||||
|
||||
# https://github.com/org2blog/org2blog/issues/339
|
||||
metaweblog = addPackageRequires super.metaweblog [ self.xml-rpc ];
|
||||
|
||||
mu-cite = ignoreCompilationError super.mu-cite; # elisp error
|
||||
|
||||
mu4e-alert = addPackageRequires super.mu4e-alert [ self.mu4e ];
|
||||
|
||||
mu4e-column-faces = addPackageRequires super.mu4e-column-faces [ self.mu4e ];
|
||||
|
||||
mu4e-conversation = addPackageRequires super.mu4e-conversation [ self.mu4e ];
|
||||
|
||||
mu4e-jump-to-list = addPackageRequires super.mu4e-jump-to-list [ self.mu4e ];
|
||||
|
||||
mu4e-marker-icons = addPackageRequires super.mu4e-marker-icons [ self.mu4e ];
|
||||
|
||||
mu4e-overview = addPackageRequires super.mu4e-overview [ self.mu4e ];
|
||||
|
||||
mu4e-query-fragments = addPackageRequires super.mu4e-query-fragments [ self.mu4e ];
|
||||
|
||||
mu4e-views = addPackageRequires super.mu4e-views [ self.mu4e ];
|
||||
|
||||
# https://github.com/magnars/multifiles.el/issues/9
|
||||
multifiles = addPackageRequires super.multifiles [ self.dash ];
|
||||
|
||||
# missing optional dependencies
|
||||
mykie = addPackageRequires super.mykie [ self.helm ];
|
||||
|
||||
myrddin-mode = ignoreCompilationError super.myrddin-mode; # elisp error
|
||||
|
||||
nand2tetris = super.nand2tetris.overrideAttrs (old: {
|
||||
patches = old.patches or [ ] ++ [
|
||||
(pkgs.fetchpatch {
|
||||
name = "remove-unneeded-require.patch";
|
||||
url = "https://github.com/CestDiego/nand2tetris.el/pull/16/commits/d06705bf52f3cf41f55498d88fe15a1064bc2cfa.patch";
|
||||
hash = "sha256-8OJXN9MuwBbL0afus53WroIxtIzHY7Bryv5ZGcS/inI=";
|
||||
})
|
||||
];
|
||||
});
|
||||
|
||||
# elisp error and missing dependency spamfilter which is not on any ELPA
|
||||
navi2ch = ignoreCompilationError super.navi2ch;
|
||||
|
||||
navorski = super.navorski.overrideAttrs (old: {
|
||||
patches = old.patches or [ ] ++ [
|
||||
(pkgs.fetchpatch {
|
||||
name = "stop-using-assoc.patch";
|
||||
url = "https://github.com/roman/navorski.el/pull/12/commits/b7b6c331898cae239c176346ac87c8551b1e0c72.patch";
|
||||
hash = "sha256-CZxOSGuJXATonHMSLGCzO4kOlQqRAOcNNq0i4Qh21y8=";
|
||||
})
|
||||
];
|
||||
});
|
||||
|
||||
# empty tools/ncl-mode-keywords.el causing native-compiler-error-empty-byte
|
||||
ncl-mode = ignoreCompilationError super.ncl-mode;
|
||||
|
||||
# missing optional dependencies
|
||||
netease-cloud-music = addPackageRequires super.netease-cloud-music [ self.async ];
|
||||
|
||||
nim-mode = ignoreCompilationError super.nim-mode; # elisp error
|
||||
|
||||
noctilux-theme = ignoreCompilationError super.noctilux-theme; # elisp error
|
||||
|
||||
# https://github.com/nicferrier/emacs-noflet/issues/12
|
||||
noflet = ignoreCompilationError super.noflet; # elisp error
|
||||
|
||||
norns = ignoreCompilationError super.norns; # elisp error
|
||||
|
||||
# missing optional dependencies
|
||||
nu-mode = addPackageRequires super.nu-mode [ self.evil ];
|
||||
|
||||
# try to open non-existent ~/.emacs.d/.chatgpt-shell.el during compilation
|
||||
ob-chatgpt-shell = ignoreCompilationError super.ob-chatgpt-shell;
|
||||
|
||||
org-change = ignoreCompilationError super.org-change; # elisp error
|
||||
|
||||
org-edit-latex = mkHome super.org-edit-latex;
|
||||
|
||||
org-gnome = ignoreCompilationError super.org-gnome; # elisp error
|
||||
|
||||
org-gtd = ignoreCompilationError super.org-gtd; # elisp error
|
||||
|
||||
# needs newer org than the Eamcs 29.4 builtin one
|
||||
org-link-beautify = addPackageRequires super.org-link-beautify [ self.org ];
|
||||
|
||||
# TODO report to upstream
|
||||
org-kindle = addPackageRequires super.org-kindle [ self.dash ];
|
||||
|
||||
org-special-block-extras = ignoreCompilationError super.org-special-block-extras; # elisp error
|
||||
|
||||
org-trello = ignoreCompilationError super.org-trello; # elisp error
|
||||
|
||||
# Optimizer error: too much on the stack
|
||||
orgnav = ignoreCompilationError super.orgnav;
|
||||
|
||||
org-noter = super.org-noter.overrideAttrs (
|
||||
finalAttrs: previousAttrs: {
|
||||
patches =
|
||||
if lib.versionOlder finalAttrs.version "20240915.344" then
|
||||
previousAttrs.patches or [ ]
|
||||
++ [
|
||||
(pkgs.fetchpatch {
|
||||
name = "catch-error-for-optional-dep-org-roam.patch";
|
||||
url = "https://github.com/org-noter/org-noter/commit/761c551ecc88fec57e840d346c6af5f5b94591d5.patch";
|
||||
hash = "sha256-Diw9DgjANDWu6CBMOlRaihQLOzeAr7VcJPZT579dpYU=";
|
||||
})
|
||||
]
|
||||
else
|
||||
previousAttrs.patches or null;
|
||||
}
|
||||
);
|
||||
|
||||
org-noter-pdftools = mkHome super.org-noter-pdftools;
|
||||
|
||||
# elisp error and missing optional dependencies
|
||||
org-ref = ignoreCompilationError super.org-ref;
|
||||
|
||||
# missing optional dependencies
|
||||
org-roam-bibtex = addPackageRequires super.org-roam-bibtex [
|
||||
self.helm-bibtex
|
||||
self.ivy-bibtex
|
||||
];
|
||||
|
||||
org-pdftools = mkHome super.org-pdftools;
|
||||
|
||||
org-projectile = super.org-projectile.overrideAttrs (
|
||||
finalAttrs: previousAttrs: {
|
||||
# https://github.com/melpa/melpa/pull/9150
|
||||
preBuild =
|
||||
if lib.versionOlder finalAttrs.version "20240901.2041" then
|
||||
''
|
||||
rm --verbose org-projectile-helm.el
|
||||
''
|
||||
+ previousAttrs.preBuild or ""
|
||||
else
|
||||
previousAttrs.preBuild or null;
|
||||
}
|
||||
);
|
||||
|
||||
# https://github.com/colonelpanic8/org-project-capture/issues/66
|
||||
org-projectile-helm = addPackageRequires super.org-projectile-helm [ self.helm-org ];
|
||||
|
||||
# https://github.com/DarwinAwardWinner/mac-pseudo-daemon/issues/9
|
||||
osx-pseudo-daemon = addPackageRequiresIfOlder super.osx-pseudo-daemon [ self.mac-pseudo-daemon ] "20240922.2024";
|
||||
|
||||
# missing optional dependencies
|
||||
outlook = addPackageRequires super.outlook [ self.mu4e ];
|
||||
|
||||
pastery = ignoreCompilationError super.pastery; # elisp error
|
||||
|
||||
pgdevenv = ignoreCompilationError super.pgdevenv; # elisp error
|
||||
|
||||
pinot = ignoreCompilationError super.pinot; # elisp error
|
||||
|
||||
# https://github.com/polymode/poly-R/issues/41
|
||||
poly-R = addPackageRequires super.poly-R [ self.ess ];
|
||||
|
||||
# missing optional dependencies: direx e2wm yaol, yaol not on any ELPA
|
||||
pophint = ignoreCompilationError super.pophint;
|
||||
|
||||
portage-navi = ignoreCompilationError super.portage-navi; # elisp error
|
||||
|
||||
preview-dvisvgm = mkHome super.preview-dvisvgm;
|
||||
|
||||
# https://github.com/micdahl/projectile-trailblazer/issues/4
|
||||
projectile-trailblazer = addPackageRequires super.projectile-trailblazer [ self.projectile-rails ];
|
||||
|
||||
projmake-mode = ignoreCompilationError super.projmake-mode; # elisp error
|
||||
|
||||
# https://github.com/tumashu/pyim-basedict/issues/4
|
||||
pyim-basedict = addPackageRequires super.pyim-basedict [ self.pyim ];
|
||||
|
||||
# TODO report to upstream
|
||||
realgud-lldb = super.realgud-lldb.overrideAttrs (old: {
|
||||
preBuild =
|
||||
old.preBuild or ""
|
||||
+ "\n"
|
||||
+ ''
|
||||
rm --verbose cask-install.el
|
||||
'';
|
||||
});
|
||||
|
||||
# empty .yas-compiled-snippets.el causing native-compiler-error-empty-byte
|
||||
requirejs = ignoreCompilationError super.requirejs;
|
||||
|
||||
rhtml-mode = ignoreCompilationError super.rhtml-mode; # elisp error
|
||||
|
||||
roguel-ike = ignoreCompilationError super.roguel-ike; # elisp error
|
||||
|
||||
rpm-spec-mode = ignoreCompilationError super.rpm-spec-mode; # elisp error
|
||||
|
||||
# https://github.com/emacsfodder/emacs-theme-sakura/issues/1
|
||||
sakura-theme = addPackageRequiresIfOlder super.sakura-theme [ self.autothemer ] "20240921.1028";
|
||||
|
||||
scad-preview = ignoreCompilationError super.scad-preview; # elisp error
|
||||
|
||||
# https://github.com/wanderlust/semi/pull/29
|
||||
# missing optional dependencies
|
||||
semi = addPackageRequires super.semi [ self.bbdb-vcard ];
|
||||
|
||||
shadchen = ignoreCompilationError super.shadchen; # elisp error
|
||||
|
||||
# missing optional dependencies and one of them (mew) is not on any ELPA
|
||||
shimbun = ignoreCompilationError (
|
||||
addPackageRequires super.shimbun [
|
||||
self.apel
|
||||
self.flim
|
||||
self.w3m
|
||||
]
|
||||
);
|
||||
|
||||
slack = mkHome super.slack;
|
||||
|
||||
# https://github.com/ffevotte/slurm.el/issues/14
|
||||
slurm-mode = addPackageRequires super.slurm-mode [
|
||||
self.dash
|
||||
self.s
|
||||
];
|
||||
|
||||
smart-tabs-mode = ignoreCompilationError super.smart-tabs-mode; # elisp error
|
||||
|
||||
# needs network during compilation
|
||||
# https://github.com/md-arif-shaikh/soccer/issues/14
|
||||
soccer = ignoreCompilationError (addPackageRequires super.soccer [ self.s ]);
|
||||
|
||||
# elisp error and missing optional dependencies
|
||||
soundklaus = ignoreCompilationError super.soundklaus;
|
||||
|
||||
# missing optional dependencies
|
||||
sparql-mode = addPackageRequires super.sparql-mode [ self.company ];
|
||||
|
||||
speechd-el = ignoreCompilationError super.speechd-el; # elisp error
|
||||
|
||||
spu = ignoreCompilationError super.spu; # elisp error
|
||||
|
||||
# missing optional dependencies
|
||||
ssh-tunnels = addPackageRequires super.ssh-tunnels [ self.helm ];
|
||||
|
||||
# https://github.com/brianc/jade-mode/issues/73
|
||||
stylus-mode = addPackageRequires super.stylus-mode [ self.sws-mode ];
|
||||
|
||||
# missing optional dependencies
|
||||
suggest = addPackageRequires super.suggest [ self.shut-up ];
|
||||
|
||||
symex = ignoreCompilationError super.symex; # elisp error
|
||||
|
||||
term-alert = mkHome super.term-alert;
|
||||
|
||||
# https://github.com/colonelpanic8/term-manager/issues/9
|
||||
term-manager = addPackageRequires super.term-manager [ self.eat ];
|
||||
|
||||
texfrag = mkHome super.texfrag;
|
||||
|
||||
# https://github.com/Dspil/text-categories/issues/3
|
||||
text-categories = addPackageRequiresIfOlder super.text-categories [ self.dash ] "20240921.824";
|
||||
|
||||
timp = ignoreCompilationError super.timp; # elisp error
|
||||
|
||||
tommyh-theme = ignoreCompilationError super.tommyh-theme; # elisp error
|
||||
|
||||
tramp-hdfs = ignoreCompilationError super.tramp-hdfs; # elisp error
|
||||
|
||||
universal-emotions-emoticons = ignoreCompilationError super.universal-emotions-emoticons; # elisp error
|
||||
|
||||
use-package-el-get = addPackageRequires super.use-package-el-get [ self.el-get ];
|
||||
|
||||
vala-mode = ignoreCompilationError super.vala-mode; # elisp error
|
||||
|
||||
# needs network during compilation
|
||||
wandbox = ignoreCompilationError super.wandbox; # needs network
|
||||
|
||||
# optional dependency spamfilter is not on any ELPA
|
||||
wanderlust = ignoreCompilationError (addPackageRequires super.wanderlust [ self.shimbun ]);
|
||||
|
||||
# https://github.com/nicklanasa/xcode-mode/issues/28
|
||||
xcode-mode = addPackageRequires super.xcode-mode [ self.hydra ];
|
||||
|
||||
weechat = ignoreCompilationError super.weechat; # elisp error
|
||||
|
||||
weechat-alert = ignoreCompilationError super.weechat-alert; # elisp error
|
||||
|
||||
weibo = ignoreCompilationError super.weibo; # elisp error
|
||||
|
||||
xenops = mkHome super.xenops;
|
||||
|
||||
# missing optional dependencies
|
||||
xmlunicode = addPackageRequires super.xmlunicode [ self.helm ];
|
||||
|
||||
# https://github.com/canatella/xwwp/issues/18
|
||||
xwwp-follow-link-ivy = addPackageRequires super.xwwp-follow-link-ivy [ self.ivy ];
|
||||
|
||||
# https://github.com/canatella/xwwp/issues/19
|
||||
xwwp-follow-link-helm = addPackageRequires super.xwwp-follow-link-helm [ self.helm ];
|
||||
|
||||
yara-mode = ignoreCompilationError super.yara-mode; # elisp error
|
||||
|
||||
# https://github.com/leanprover-community/yasnippet-lean/issues/6
|
||||
yasnippet-lean = addPackageRequires super.yasnippet-lean [ self.lean-mode ];
|
||||
|
||||
yasnippet-snippets = mkHome super.yasnippet-snippets;
|
||||
|
||||
yatex = ignoreCompilationError super.yatex; # elisp error
|
||||
|
||||
# elisp error and incomplete recipe
|
||||
ycm = ignoreCompilationError (
|
||||
addPackageRequires super.ycm [
|
||||
self.flycheck
|
||||
self.f
|
||||
]
|
||||
);
|
||||
|
||||
# missing optional dependencies
|
||||
zotxt = addPackageRequires super.zotxt [ self.org-noter ];
|
||||
};
|
||||
|
||||
in lib.mapAttrs (n: v: if lib.hasAttr n overrides then overrides.${n} else v) super);
|
||||
|
||||
@@ -1,8 +1,25 @@
|
||||
pkgs:
|
||||
pkgs: lib:
|
||||
|
||||
self: super:
|
||||
|
||||
let
|
||||
inherit (import ./lib-override-helper.nix pkgs lib)
|
||||
addPackageRequires
|
||||
;
|
||||
in
|
||||
{
|
||||
# missing optional dependencies
|
||||
haskell-tng-mode = addPackageRequires super.haskell-tng-mode (
|
||||
with self;
|
||||
[
|
||||
s
|
||||
company
|
||||
projectile
|
||||
smartparens
|
||||
yasnippet
|
||||
]
|
||||
);
|
||||
|
||||
p4-16-mode = super.p4-16-mode.overrideAttrs {
|
||||
# workaround https://github.com/NixOS/nixpkgs/issues/301795
|
||||
prePatch = ''
|
||||
|
||||
@@ -19,6 +19,10 @@
|
||||
self:
|
||||
let
|
||||
|
||||
inherit (import ./lib-override-helper.nix pkgs lib)
|
||||
addPackageRequires
|
||||
;
|
||||
|
||||
generateNongnu = lib.makeOverridable (
|
||||
{
|
||||
generated ? ./nongnu-devel-generated.nix,
|
||||
@@ -39,9 +43,15 @@ let
|
||||
|
||||
super = imported;
|
||||
|
||||
commonOverrides = import ./nongnu-common-overrides.nix pkgs;
|
||||
commonOverrides = import ./nongnu-common-overrides.nix pkgs lib;
|
||||
|
||||
overrides = self: super: { };
|
||||
overrides = self: super: {
|
||||
# missing optional dependencies
|
||||
haskell-tng-mode = addPackageRequires super.haskell-tng-mode [
|
||||
self.shut-up
|
||||
self.lsp-mode
|
||||
];
|
||||
};
|
||||
|
||||
in
|
||||
let
|
||||
|
||||
@@ -29,7 +29,7 @@ self: let
|
||||
|
||||
super = imported;
|
||||
|
||||
commonOverrides = import ./nongnu-common-overrides.nix pkgs;
|
||||
commonOverrides = import ./nongnu-common-overrides.nix pkgs lib;
|
||||
|
||||
overrides = self: super: { };
|
||||
|
||||
|
||||
@@ -6975,8 +6975,8 @@
|
||||
},
|
||||
{
|
||||
"ename": "bbdb",
|
||||
"commit": "1ae754064cd1f062bbdd6ecf9af03fa0c2798cf6",
|
||||
"sha256": "0gnjdlb338gxpsmdx8scj5vb1rbvfkmm71xq37sahy0m4r402al1",
|
||||
"commit": "8a7d0c7287d157f45ebcb7a6ba2a776b3ee2bc2d",
|
||||
"sha256": "0rrjvg3rq9267hyr5dkr82kqd3lxxnv6zhmn4ldzb00ynwwmrzr0",
|
||||
"fetcher": "git",
|
||||
"url": "https://git.savannah.nongnu.org/git/bbdb.git",
|
||||
"unstable": {
|
||||
@@ -123226,8 +123226,8 @@
|
||||
},
|
||||
{
|
||||
"ename": "ttl-mode",
|
||||
"commit": "0575169e8fb9a2537582f5aa77fc9950f1f1384c",
|
||||
"sha256": "1fi8xxzwz3h7kgn69h4p1wlvhvia0v8qqh7k64pgh44b2fq040p1",
|
||||
"commit": "8a7d0c7287d157f45ebcb7a6ba2a776b3ee2bc2d",
|
||||
"sha256": "1v34axc96n5aqsm9w2j94z8h9mqfa41300lx8aqccwj8a5qwk90k",
|
||||
"fetcher": "github",
|
||||
"repo": "nxg/ttl-mode",
|
||||
"unstable": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ lib, fetchFromGitHub }:
|
||||
rec {
|
||||
version = "9.1.0707";
|
||||
version = "9.1.0765";
|
||||
|
||||
outputs = [ "out" "xxd" ];
|
||||
|
||||
@@ -8,7 +8,7 @@ rec {
|
||||
owner = "vim";
|
||||
repo = "vim";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-iHOLABPk5B7Sh7EBYnM7wdxnK2Wv7q4WS3FEp780SV4=";
|
||||
hash = "sha256-LtEEMpdWXA6qyjAIjgsZoc4hNXXG2ZXxCsbWKC5aEPI=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
, cscope
|
||||
, ruby_3_2
|
||||
, tcl
|
||||
, perl536
|
||||
, perl540
|
||||
, luajit
|
||||
, darwin
|
||||
, libiconv
|
||||
@@ -17,8 +17,7 @@
|
||||
|
||||
# Try to match MacVim's documented script interface compatibility
|
||||
let
|
||||
# Perl 5.30 - closest we get is 5.36. 5.38 is currently failing
|
||||
perl = perl536;
|
||||
perl = perl540;
|
||||
# Ruby 3.2
|
||||
ruby = ruby_3_2;
|
||||
|
||||
@@ -35,13 +34,13 @@ in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "macvim";
|
||||
|
||||
version = "178";
|
||||
version = "179";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "macvim-dev";
|
||||
repo = "macvim";
|
||||
rev = "release-${finalAttrs.version}";
|
||||
hash = "sha256-JYh5fyaYuME/Lk67vrf1hYOIcAkEbwtslcnI9KRzHa8=";
|
||||
hash = "sha256-L9LVXyeA09aMtNf+b/Oo+eLpeVEKTD1/oNWCiFn5FbU=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@@ -4,12 +4,8 @@
|
||||
, toVimPlugin
|
||||
}:
|
||||
|
||||
rec {
|
||||
addRtp = drv:
|
||||
drv // {
|
||||
rtp = lib.warn "`rtp` attribute is deprecated, use `outPath` instead." drv.outPath;
|
||||
overrideAttrs = f: addRtp (drv.overrideAttrs f);
|
||||
};
|
||||
{
|
||||
addRtp = drv: lib.warn "`addRtp` is deprecated, does nothing." drv;
|
||||
|
||||
buildVimPlugin =
|
||||
{ name ? "${attrs.pname}-${attrs.version}"
|
||||
@@ -28,6 +24,7 @@ rec {
|
||||
drv = stdenv.mkDerivation (attrs // {
|
||||
name = lib.warnIf (attrs ? vimprefix) "The 'vimprefix' is now hardcoded in toVimPlugin" name;
|
||||
|
||||
__structuredAttrs = true;
|
||||
inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
|
||||
|
||||
installPhase = ''
|
||||
@@ -45,6 +42,6 @@ rec {
|
||||
} // meta;
|
||||
});
|
||||
in
|
||||
addRtp (toVimPlugin drv);
|
||||
toVimPlugin drv;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#shellcheck shell=bash
|
||||
# Setup hook for checking whether Python imports succeed
|
||||
echo "Sourcing neovim-require-check-hook.sh"
|
||||
|
||||
@@ -9,13 +10,15 @@ neovimRequireCheckHook () {
|
||||
|
||||
# editorconfig-checker-disable
|
||||
export HOME="$TMPDIR"
|
||||
|
||||
local deps="${dependencies[*]}"
|
||||
@nvimBinary@ -es --headless -n -u NONE -i NONE --clean -V1 \
|
||||
--cmd "set rtp+=$out,${dependencies/ /,}" \
|
||||
--cmd "set rtp+=$out,${deps// /,}" \
|
||||
--cmd "lua require('$nvimRequireCheck')"
|
||||
fi
|
||||
}
|
||||
|
||||
echo "Using neovimRequireCheckHook"
|
||||
preDistPhases+=" neovimRequireCheckHook"
|
||||
appendToVar preDistPhases neovimRequireCheckHook
|
||||
|
||||
|
||||
|
||||
@@ -21,5 +21,5 @@ vimCommandCheckHook () {
|
||||
}
|
||||
|
||||
echo "Using vimCommandCheckHook"
|
||||
preDistPhases+=" vimCommandCheckHook"
|
||||
appendToVar preDistPhases vimCommandCheckHook
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
, alsa-lib
|
||||
, dbus
|
||||
, fetchFromGitHub
|
||||
, ffmpeg_7
|
||||
, ffmpeg
|
||||
, flac
|
||||
, freetype
|
||||
, gamemode
|
||||
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
|
||||
lib.optional (runtimeLibs != [ ]) makeWrapper;
|
||||
|
||||
buildInputs = [
|
||||
ffmpeg_7
|
||||
ffmpeg
|
||||
flac
|
||||
freetype
|
||||
libGL
|
||||
|
||||
@@ -168,7 +168,11 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
doCheck = true;
|
||||
|
||||
env = {
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-DGDK_OSX_BIG_SUR=16";
|
||||
NIX_CFLAGS_COMPILE = toString (
|
||||
[ ]
|
||||
++ lib.optionals stdenv.cc.isGNU [ "-Wno-error=incompatible-pointer-types" ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ "-DGDK_OSX_BIG_SUR=16" ]
|
||||
);
|
||||
|
||||
# Check if librsvg was built with --disable-pixbuf-loader.
|
||||
PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = "${librsvg}/${gdk-pixbuf.moduleDir}";
|
||||
|
||||
@@ -17,7 +17,7 @@ let
|
||||
pluginDerivation = attrs: let
|
||||
name = attrs.name or "${attrs.pname}-${attrs.version}";
|
||||
in stdenv.mkDerivation ({
|
||||
prePhases = "extraLib";
|
||||
prePhases = [ "extraLib" ];
|
||||
extraLib = ''
|
||||
installScripts(){
|
||||
mkdir -p $out/${gimp.targetScriptDir}/${name};
|
||||
@@ -54,7 +54,7 @@ let
|
||||
});
|
||||
|
||||
scriptDerivation = {src, ...}@attrs : pluginDerivation ({
|
||||
prePhases = "extraLib";
|
||||
prePhases = [ "extraLib" ];
|
||||
dontUnpack = true;
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ stdenv, lib, fetchFromGitHub, fetchpatch2, copyDesktopItems, makeDesktopItem, qmake
|
||||
, qtbase, qtxmlpatterns, qttools, qtwebengine, libGL, fontconfig, openssl, poppler, wrapQtAppsHook
|
||||
, ffmpeg_7, libva, alsa-lib, SDL, x264, libvpx, libvorbis, libtheora, libogg
|
||||
, ffmpeg, libva, alsa-lib, SDL, x264, libvpx, libvorbis, libtheora, libogg
|
||||
, libopus, lame, fdk_aac, libass, quazip, libXext, libXfixes }:
|
||||
|
||||
let
|
||||
@@ -73,7 +73,7 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
fontconfig
|
||||
openssl
|
||||
poppler
|
||||
ffmpeg_7
|
||||
ffmpeg
|
||||
libva
|
||||
alsa-lib
|
||||
SDL
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
mkDerivation, lib,
|
||||
extra-cmake-modules,
|
||||
ffmpeg_7, kio, taglib
|
||||
ffmpeg, kio, taglib
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
@@ -11,5 +11,5 @@ mkDerivation {
|
||||
maintainers = [ lib.maintainers.ttuegel ];
|
||||
};
|
||||
nativeBuildInputs = [ extra-cmake-modules ];
|
||||
buildInputs = [ ffmpeg_7 kio taglib ];
|
||||
buildInputs = [ ffmpeg kio taglib ];
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
, exfat
|
||||
, f2fs-tools
|
||||
, fatresize
|
||||
, hfsprogs
|
||||
, jfsutils
|
||||
, nilfs-utils
|
||||
, ntfs3g
|
||||
@@ -50,7 +49,7 @@ let
|
||||
exfat
|
||||
f2fs-tools
|
||||
fatresize
|
||||
hfsprogs
|
||||
# hfsprogs intentionally omitted due to being unmaintained
|
||||
jfsutils
|
||||
nilfs-utils
|
||||
ntfs3g
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
dbus,
|
||||
embree,
|
||||
fetchgit,
|
||||
fetchpatch2,
|
||||
fetchzip,
|
||||
ffmpeg,
|
||||
fftw,
|
||||
@@ -132,7 +133,17 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
sourceRoot = "source";
|
||||
|
||||
patches = [ ./draco.patch ] ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin.patch;
|
||||
patches = [
|
||||
./draco.patch
|
||||
(fetchpatch2 {
|
||||
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/blender/-/raw/4b6214600e11851d7793256e2f6846a594e6f223/ffmpeg-7-1.patch";
|
||||
hash = "sha256-YXXqP/+79y3f41n3cJ3A1RBzgdoYqfKZD/REqmWYdgQ=";
|
||||
})
|
||||
(fetchpatch2 {
|
||||
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/blender/-/raw/4b6214600e11851d7793256e2f6846a594e6f223/ffmpeg-7-2.patch";
|
||||
hash = "sha256-mF6IA/dbHdNEkBN5XXCRcLIZ/8kXoirNwq7RDuLRAjw=";
|
||||
})
|
||||
] ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin.patch;
|
||||
|
||||
postPatch =
|
||||
(lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
From 0f0ccfc01cfe72d96eafee57ec6c5107f09c7238 Mon Sep 17 00:00:00 2001
|
||||
From: toonn <toonn@toonn.io>
|
||||
Date: Wed, 9 Mar 2022 00:08:28 +0100
|
||||
Subject: [PATCH 2/2] Add Darwin deps
|
||||
|
||||
---
|
||||
Makerules | 34 ++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 34 insertions(+)
|
||||
|
||||
diff --git a/Makerules b/Makerules
|
||||
index 6d52cca..a6bd0ed 100644
|
||||
--- a/Makerules
|
||||
+++ b/Makerules
|
||||
@@ -153,6 +153,40 @@ else ifeq ($(OS),MACOS)
|
||||
LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
|
||||
LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
|
||||
endif
|
||||
+ # Required for mupdf-gl
|
||||
+ ifeq ($(shell pkg-config --exists harfbuzz && echo yes),yes)
|
||||
+ SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
|
||||
+ SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
|
||||
+ endif
|
||||
+ ifeq ($(shell pkg-config --exists libopenjp2 && echo yes),yes)
|
||||
+ SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
|
||||
+ SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
|
||||
+ endif
|
||||
+ ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
|
||||
+ SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
|
||||
+ SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
|
||||
+ endif
|
||||
+ ifeq ($(shell pkg-config --exists gumbo && echo yes),yes)
|
||||
+ SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
|
||||
+ SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
|
||||
+ endif
|
||||
+ # Required for mupdf-x11
|
||||
+ HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
|
||||
+ ifeq ($(HAVE_X11),yes)
|
||||
+ X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
|
||||
+ X11_LIBS := $(shell pkg-config --libs x11 xext)
|
||||
+ endif
|
||||
+ # Required for mupdf-x11-curl
|
||||
+ HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
|
||||
+ ifeq ($(HAVE_SYS_CURL),yes)
|
||||
+ SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
|
||||
+ SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
|
||||
+ endif
|
||||
+ HAVE_PTHREAD := yes
|
||||
+ ifeq ($(HAVE_PTHREAD),yes)
|
||||
+ PTHREAD_CFLAGS :=
|
||||
+ PTHREAD_LIBS := -lpthread
|
||||
+ endif
|
||||
endif
|
||||
|
||||
else ifeq ($(OS),Linux)
|
||||
--
|
||||
2.17.2 (Apple Git-113)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user