staging-next 2024-09-21 (#343421)

This commit is contained in:
Vladimír Čunát
2024-10-13 09:45:55 +02:00
651 changed files with 12627 additions and 15789 deletions
+3 -1
View File
@@ -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 its 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, its more convenient to set one of the variables below (such as `preInstallPhases`).
Usually, if you just want to add a few phases, its more convenient to set one of the `*Phases` variables below.
##### `prePhases` {#var-stdenv-prePhases}
+1 -1
View File
@@ -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
+2 -1
View File
@@ -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.
+8 -5
View File
@@ -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";
}
+1 -1
View File
@@ -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
+62 -66
View File
@@ -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.
'';
+1
View File
@@ -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 {};
-2
View File
@@ -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;
};
};
};
-5
View File
@@ -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
+3 -1
View File
@@ -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'")
'';
+1
View File
@@ -72,6 +72,7 @@
AdvSendAdvert on;
AdvManagedFlag on;
AdvOtherConfigFlag on;
RDNSS 2001:db8::1 {};
prefix fd00:1234:5678:${toString n}::/64 {
AdvAutonomous off;
+46
View File
@@ -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"
'';
}
)
+3 -3
View File
@@ -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)" ];
+4 -1
View File
@@ -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/"
''
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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";
+2 -2
View File
@@ -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;
}
);
}
@@ -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 = {
@@ -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 = {
@@ -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 = {
@@ -16,8 +16,6 @@ melpaBuild {
hash = "sha256-DIGvnotSQYIgHxGxtyCALHd8ZbrfkmdvjLXlkcqQ6v4=";
};
ignoreCompilationError = false;
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
meta = {
@@ -23,8 +23,6 @@ melpaBuild {
markdown-mode
];
ignoreCompilationError = false;
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
meta = {
@@ -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 = {
@@ -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 = {
@@ -17,8 +17,6 @@ melpaBuild {
hash = "sha256-h/jkIWjkLFbtBp9F+lhA3CulYy2XaeloLmexR0CDm3E=";
};
ignoreCompilationError = false;
passthru.updateScript = unstableGitUpdater { };
meta = {
@@ -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 = {
@@ -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
@@ -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";
@@ -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": {
+2 -2
View File
@@ -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;
+4 -5
View File
@@ -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
+5 -1
View File
@@ -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
+2 -2
View File
@@ -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
+12 -1
View File
@@ -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