haskellPackages: utilise supported-platforms and platform groups

main
sternenseemann 3 years ago
parent 067dee3d83
commit 417f36e652
  1. 259
      pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
  2. 41
      pkgs/development/haskell-modules/configuration-nix.nix
  3. 347
      pkgs/development/haskell-modules/hackage-packages.nix

@ -406,151 +406,158 @@ package-maintainers:
- nix-tree
unsupported-platforms:
Allure: [ x86_64-darwin, aarch64-darwin ]
alsa-mixer: [ x86_64-darwin, aarch64-darwin ]
alsa-pcm: [ x86_64-darwin, aarch64-darwin ]
alsa-seq: [ x86_64-darwin, aarch64-darwin ]
AWin32Console: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
barbly: [ i686-linux, x86_64-linux, aarch64-linux, armv7l-linux ]
bdcs-api: [ x86_64-darwin, aarch64-darwin ]
bindings-directfb: [ x86_64-darwin, aarch64-darwin ]
bindings-parport: [ x86_64-darwin, aarch64-darwin ] # parport is a linux kernel component
bindings-sane: [ x86_64-darwin, aarch64-darwin ]
btrfs: [ x86_64-darwin, aarch64-darwin ] # depends on linux
bustle: [ x86_64-darwin, aarch64-darwin ] # uses glibc-specific ptsname_r
Allure: [ platforms.darwin ]
bdcs-api: [ platforms.darwin ]
bindings-directfb: [ platforms.darwin ]
bindings-sane: [ platforms.darwin ]
bustle: [ platforms.darwin ] # uses glibc-specific ptsname_r
camfort: [ aarch64-linux ]
charsetdetect: [ aarch64-linux ] # not supported by vendored lib / not configured properly https://github.com/batterseapower/libcharsetdetect/issues/3
cut-the-crap: [ x86_64-darwin, aarch64-darwin ]
d3d11binding: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
DirectSound: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
dx9base: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
dx9d3d: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
dx9d3dx: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
Euterpea: [ x86_64-darwin, aarch64-darwin ]
essence-of-live-coding-PortMidi: [ x86_64-darwin, aarch64-darwin ]
follow-file: [ x86_64-darwin, aarch64-darwin ]
freenect: [ x86_64-darwin, aarch64-darwin ]
FTGL: [ x86_64-darwin, aarch64-darwin ]
fuzzytime: [ x86_64-darwin, aarch64-darwin ] # https://github.com/kamwitsta/fuzzytime/issues/2
ghcjs-dom-hello: [ x86_64-darwin, aarch64-darwin ]
gi-adwaita: [ x86_64-darwin, aarch64-darwin ]
gi-dbusmenugtk3: [ x86_64-darwin, aarch64-darwin ]
gi-dbusmenu: [ x86_64-darwin, aarch64-darwin ]
gi-ggit: [ x86_64-darwin, aarch64-darwin ]
gi-gtkosxapplication: [ x86_64-linux, aarch64-linux ]
gi-ibus: [ x86_64-darwin, aarch64-darwin ]
gi-javascriptcore: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
gi-ostree: [ x86_64-darwin, aarch64-darwin ]
gi-vte: [ x86_64-darwin, aarch64-darwin ]
gi-webkit2webextension: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
gi-webkit2: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
gi-wnck: [ x86_64-darwin, aarch64-darwin ]
gnome-keyring: [ x86_64-darwin, aarch64-darwin ]
grid-proto: [ x86_64-darwin, aarch64-darwin ]
gtk3-mac-integration: [ x86_64-linux, aarch64-linux ]
gtk-mac-integration: [ i686-linux, x86_64-linux, aarch64-linux, armv7l-linux ]
gtk-sni-tray: [ x86_64-darwin, aarch64-darwin ]
haskell-snake: [ x86_64-darwin, aarch64-darwin ]
hbro-contrib: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
hbro: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
hcwiid: [ x86_64-darwin, aarch64-darwin ]
HDRUtils: [ x86_64-darwin, aarch64-darwin ]
HFuse: [ x86_64-darwin, aarch64-darwin ]
hidapi: [ x86_64-darwin, aarch64-darwin ]
hinotify-bytestring: [ x86_64-darwin, aarch64-darwin ]
hommage-ds: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
honk: [ x86_64-darwin, aarch64-darwin ]
hpapi: [ x86_64-darwin, aarch64-darwin ]
cut-the-crap: [ platforms.darwin ]
essence-of-live-coding-PortMidi: [ platforms.darwin ]
Euterpea: [ platforms.darwin ]
follow-file: [ platforms.darwin ]
freenect: [ platforms.darwin ]
FTGL: [ platforms.darwin ]
fuzzytime: [ platforms.darwin ] # https://github.com/kamwitsta/fuzzytime/issues/2
ghcjs-dom-hello: [ platforms.darwin ]
gi-adwaita: [ platforms.darwin ]
gi-dbusmenugtk3: [ platforms.darwin ]
gi-dbusmenu: [ platforms.darwin ]
gi-ggit: [ platforms.darwin ]
gi-ibus: [ platforms.darwin ]
gi-javascriptcore: [ platforms.darwin ] # webkitgtk marked broken on darwin
gi-ostree: [ platforms.darwin ]
gi-vte: [ platforms.darwin ]
gi-webkit2webextension: [ platforms.darwin ] # webkitgtk marked broken on darwin
gi-webkit2: [ platforms.darwin ] # webkitgtk marked broken on darwin
gi-wnck: [ platforms.darwin ]
gnome-keyring: [ platforms.darwin ]
grid-proto: [ platforms.darwin ]
gtk-sni-tray: [ platforms.darwin ]
haskell-snake: [ platforms.darwin ]
hcwiid: [ platforms.darwin ]
HDRUtils: [ platforms.darwin ]
hidapi: [ platforms.darwin ]
hinotify-bytestring: [ platforms.darwin ]
honk: [ platforms.darwin ]
HQu: [ aarch64-linux, armv7l-linux ] # unsupported by vendored C++ library, TODO: explicitly list supported platforms
HSoM: [ x86_64-darwin, aarch64-darwin ]
iwlib: [ x86_64-darwin, aarch64-darwin ]
Jazzkell: [ x86_64-darwin, aarch64-darwin ] # depends on Euterpea
jsaddle-hello: [ x86_64-darwin, aarch64-darwin ] # depends on jsaddle-webkit2gtk
jsaddle-webkit2gtk: [ x86_64-darwin, aarch64-darwin ]
HSoM: [ platforms.darwin ]
iwlib: [ platforms.darwin ]
Jazzkell: [ platforms.darwin ] # depends on Euterpea
jsaddle-hello: [ platforms.darwin ] # depends on jsaddle-webkit2gtk
jsaddle-webkit2gtk: [ platforms.darwin ]
keid-core: [ aarch64-linux ]
keid-geometry: [ aarch64-linux ]
keid-render-basic: [ aarch64-linux ]
keid-sound-openal: [ aarch64-linux ]
keid-ui-dearimgui: [ aarch64-linux ]
kqueue: [ x86_64-linux, aarch64-linux, i686-linux, armv7l-linux ] # BSD / Darwin only API
Kulitta: [ x86_64-darwin, aarch64-darwin ] # depends on Euterpea
LambdaHack: [ x86_64-darwin, aarch64-darwin ]
Kulitta: [ platforms.darwin ] # depends on Euterpea
LambdaHack: [ platforms.darwin ]
large-hashable: [ aarch64-linux ] # https://github.com/factisresearch/large-hashable/issues/17
libmodbus: [ x86_64-darwin, aarch64-darwin ]
libsystemd-journal: [ x86_64-darwin, aarch64-darwin ]
libtelnet: [ x86_64-darwin, aarch64-darwin ]
libvirt-hs: [ x86_64-darwin ] # spidermonkey is not supported on darwin
libzfs: [ x86_64-darwin, aarch64-darwin ]
libmodbus: [ platforms.darwin ]
libsystemd-journal: [ platforms.darwin ]
libtelnet: [ platforms.darwin ]
libvirt-hs: [ platforms.darwin ] # spidermonkey is not supported on darwin
libzfs: [ platforms.darwin ]
linearEqSolver: [ aarch64-linux ]
linux-evdev: [ x86_64-darwin, aarch64-darwin ]
linux-file-extents: [ x86_64-darwin, aarch64-darwin ]
linux-inotify: [ x86_64-darwin, aarch64-darwin ]
linux-mount: [ x86_64-darwin, aarch64-darwin ]
linux-namespaces: [ x86_64-darwin, aarch64-darwin ]
lio-fs: [ x86_64-darwin, aarch64-darwin ]
logging-facade-journald: [ x86_64-darwin, aarch64-darwin ]
lio-fs: [ platforms.darwin ]
logging-facade-journald: [ platforms.darwin ]
longshot: [ aarch64-linux ]
lxc: [ x86_64-darwin, aarch64-darwin ]
midi-alsa: [ x86_64-darwin, aarch64-darwin ]
mpi-hs: [ aarch64-linux, x86_64-darwin, aarch64-darwin ]
mpi-hs-binary: [ aarch64-linux, x86_64-darwin, aarch64-darwin ]
mpi-hs-cereal: [ aarch64-linux, x86_64-darwin, aarch64-darwin ]
mpi-hs-store: [ aarch64-linux, x86_64-darwin, aarch64-darwin ]
mpi-hs: [ aarch64-linux, platforms.darwin ]
mpi-hs-binary: [ aarch64-linux, platforms.darwin ]
mpi-hs-cereal: [ aarch64-linux, platforms.darwin ]
mpi-hs-store: [ aarch64-linux, platforms.darwin ]
mplayer-spot: [ aarch64-linux ]
mptcp-pm: [ x86_64-darwin, aarch64-darwin ]
netlink: [ x86_64-darwin, aarch64-darwin ]
notifications-tray-icon: [ x86_64-darwin, aarch64-darwin ] # depends on gi-dbusmenu
oculus: [ x86_64-darwin, aarch64-darwin ]
pam: [ x86_64-darwin, aarch64-darwin ]
parport: [ x86_64-darwin, aarch64-darwin ]
mptcp-pm: [ platforms.darwin ]
netlink: [ platforms.darwin ]
notifications-tray-icon: [ platforms.darwin ] # depends on gi-dbusmenu
oculus: [ platforms.darwin ]
pam: [ platforms.darwin ]
parport: [ platforms.darwin ]
password: [ aarch64-linux, armv7l-linux ] # uses scrypt, which requries x86
password-instances: [ aarch64-linux, armv7l-linux ] # uses scrypt, which requries x86
persist-state: [ aarch64-linux, armv7l-linux ] # https://github.com/minad/persist-state/blob/6fd68c0b8b93dec78218f6d5a1f4fa06ced4e896/src/Data/PersistState.hs#L122-L128
piyo: [ x86_64-darwin, aarch64-darwin ]
PortMidi-simple: [ x86_64-darwin, aarch64-darwin ]
PortMidi: [ x86_64-darwin, aarch64-darwin ]
posix-api: [ x86_64-darwin, aarch64-darwin ]
Raincat: [ x86_64-darwin, aarch64-darwin ]
reactive-balsa: [ x86_64-darwin, aarch64-darwin ] # depends on alsa-core
reactivity: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
reflex-dom-fragment-shader-canvas: [ x86_64-darwin, aarch64-darwin, aarch64-linux ]
reflex-dom: [ x86_64-darwin, aarch64-darwin, aarch64-linux ]
reflex-localize-dom: [ x86_64-darwin, aarch64-darwin, aarch64-linux ]
rtlsdr: [ x86_64-darwin, aarch64-darwin ]
rubberband: [ x86_64-darwin, aarch64-darwin ]
piyo: [ platforms.darwin ]
PortMidi-simple: [ platforms.darwin ]
PortMidi: [ platforms.darwin ]
posix-api: [ platforms.darwin ]
Raincat: [ platforms.darwin ]
reactive-balsa: [ platforms.darwin ] # depends on alsa-core
reflex-dom-fragment-shader-canvas: [ platforms.darwin, aarch64-linux ]
reflex-dom: [ platforms.darwin, aarch64-linux ]
reflex-localize-dom: [ platforms.darwin, aarch64-linux ]
rtlsdr: [ platforms.darwin ]
rubberband: [ platforms.darwin ]
scat: [ aarch64-linux, armv7l-linux ] # uses scrypt, which requries x86
scrypt: [ aarch64-linux, armv7l-linux ] # https://github.com/informatikr/scrypt/issues/8
sdl2-mixer: [ x86_64-darwin, aarch64-darwin ]
sdl2-ttf: [ x86_64-darwin, aarch64-darwin ]
sensei: [ x86_64-darwin ]
synthesizer-alsa: [ x86_64-darwin, aarch64-darwin ]
taffybar: [ x86_64-darwin, aarch64-darwin ]
termonad: [ x86_64-darwin, aarch64-darwin ]
tokyotyrant-haskell: [ x86_64-darwin, aarch64-darwin ]
udev: [ x86_64-darwin, aarch64-darwin ]
Unixutils-shadow: [ x86_64-darwin, aarch64-darwin ]
sdl2-mixer: [ platforms.darwin ]
sdl2-ttf: [ platforms.darwin ]
sensei: [ platforms.darwin ]
synthesizer-alsa: [ platforms.darwin ]
taffybar: [ platforms.darwin ]
termonad: [ platforms.darwin ]
tokyotyrant-haskell: [ platforms.darwin ]
Unixutils-shadow: [ platforms.darwin ]
verifiable-expressions: [ aarch64-linux ]
vrpn: [ x86_64-darwin, aarch64-darwin ]
vulkan: [ i686-linux, armv7l-linux, x86_64-darwin, aarch64-darwin ]
VulkanMemoryAllocator: [ i686-linux, armv7l-linux, x86_64-darwin, aarch64-darwin ]
vulkan-utils: [ x86_64-darwin, aarch64-darwin ]
webkit2gtk3-javascriptcore: [ x86_64-darwin, aarch64-darwin ]
Win32-console: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
Win32-dhcp-server: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
Win32-errors: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
Win32-extras: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
Win32: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
Win32-junction-point: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
Win32-notify: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
Win32-security: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
Win32-services: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
Win32-services-wrapper: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
xattr: [ x86_64-darwin, aarch64-darwin ]
vrpn: [ platforms.darwin ]
vulkan: [ i686-linux, armv7l-linux, platforms.darwin ]
VulkanMemoryAllocator: [ i686-linux, armv7l-linux, platforms.darwin ]
vulkan-utils: [ platforms.darwin ]
webkit2gtk3-javascriptcore: [ platforms.darwin ]
xattr: [ platforms.darwin ]
xgboost-haskell: [ aarch64-linux, armv7l-linux ]
XInput: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
xmobar: [ x86_64-darwin, aarch64-darwin ]
xmonad-extras: [ x86_64-darwin, aarch64-darwin ]
xmonad-volume: [ x86_64-darwin, aarch64-darwin ]
xmobar: [ platforms.darwin ]
xmonad-extras: [ platforms.darwin ]
xmonad-volume: [ platforms.darwin ]
supported-platforms:
AWin32Console: [ platforms.windows ]
alsa-mixer: [ platforms.linux ]
alsa-pcm: [ platforms.linux ]
alsa-seq: [ platforms.linux ]
barbly: [ platforms.linux ]
bindings-parport: [ platforms.linux ] # parport is a linux kernel component
blake3: [ platforms.x86 ] # uses x86 intrinsics
btrfs: [ platforms.linux ] # depends on linux
cpuid: [ platforms.x86 ] # needs to be i386 compatible (IA-32)
crc32c: [ platforms.x86 ] # uses x86 intrinsics
d3d11binding: [ platforms.windows ]
DirectSound: [ platforms.windows ]
dx9base: [ platforms.windows ]
dx9d3d: [ platforms.windows ]
dx9d3dx: [ platforms.windows ]
geomancy: [ platforms.x86 ] # x86 intrinsics
gi-gtkosxapplication: [ platforms.darwin ]
gtk-mac-integration: [ platforms.darwin ]
gtk3-mac-integration: [ platforms.darwin ]
hommage-ds: [ platforms.windows ]
hsignal: [ platforms.x86 ] # -msse2
HFuse: [ platforms.linux ]
hw-prim-bits: [ platforms.x86 ] # x86 assembler
inline-asm: [ platforms.x86 ] # x86 assembler
kqueue: [ platforms.netbsd, platforms.freebsd, platforms.openbsd, platforms.darwin ]
linux-evdev: [ platforms.linux ]
linux-file-extents: [ platforms.linux ]
linux-inotify: [ platforms.linux ]
linux-mount: [ platforms.linux ]
linux-namespaces: [ platforms.linux ]
lxc: [ platforms.linux ]
midi-alsa: [ platforms.linux ]
reactivity: [ platforms.windows ]
seqalign: [ platforms.x86 ] # x86 intrinsics
udev: [ platforms.linux ]
Win32-console: [ platforms.windows ]
Win32-dhcp-server: [ platforms.windows ]
Win32-errors: [ platforms.windows ]
Win32-extras: [ platforms.windows ]
Win32-junction-point: [ platforms.windows ]
Win32-notify: [ platforms.windows ]
Win32: [ platforms.windows ]
Win32-security: [ platforms.windows ]
Win32-services: [ platforms.windows ]
Win32-services-wrapper: [ platforms.windows ]
XInput: [ platforms.windows ]
dont-distribute-packages:
# Depends on shine, which is a ghcjs project.

@ -759,40 +759,9 @@ self: super: builtins.intersectAttrs super {
})
(generateOptparseApplicativeCompletion "pnbackup" super.pinboard-notes-backup);
# set more accurate set of platforms instead of maintaining
# an ever growing list of platforms to exclude via unsupported-platforms
cpuid = overrideCabal {
platforms = pkgs.lib.platforms.x86;
} super.cpuid;
# Pass the correct libarchive into the package.
streamly-archive = super.streamly-archive.override { archive = pkgs.libarchive; };
# passes the -msse2 flag which only works on x86 platforms
hsignal = overrideCabal {
platforms = pkgs.lib.platforms.x86;
} super.hsignal;
# uses x86 intrinsics
blake3 = overrideCabal {
platforms = pkgs.lib.platforms.x86;
} super.blake3;
# uses x86 intrinsics, see also https://github.com/NixOS/nixpkgs/issues/122014
crc32c = overrideCabal {
platforms = pkgs.lib.platforms.x86;
} super.crc32c;
# uses x86 intrinsics
seqalign = overrideCabal {
platforms = pkgs.lib.platforms.x86;
} super.seqalign;
# uses x86 intrinsics
geomancy = overrideCabal {
platforms = pkgs.lib.platforms.x86;
} super.geomancy;
hlint = overrideCabal (drv: {
postInstall = ''
install -Dm644 data/hlint.1 -t "$out/share/man/man1"
@ -811,16 +780,6 @@ self: super: builtins.intersectAttrs super {
] ++ (drv.librarySystemDepends or []);
}) super.taglib;
# uses x86 assembler
inline-asm = overrideCabal {
platforms = pkgs.lib.platforms.x86;
} super.inline-asm;
# uses x86 assembler in C bits
hw-prim-bits = overrideCabal {
platforms = pkgs.lib.platforms.x86;
} super.hw-prim-bits;
# random 1.2.0 has tests that indirectly depend on
# itself causing an infinite recursion at evaluation
# time

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save