Fixes to help building of all packages in stackage (#1503)

These are the less controversial changes from #1251
This commit is contained in:
Hamish Mackenzie 2022-06-02 22:45:09 +12:00 committed by GitHub
parent 91036142ef
commit d3ba497b5f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 54 additions and 3 deletions

View File

@ -91,7 +91,8 @@ let
(map (p: "${lib.getBin p}/bin")
(lib.flatten component.libs ++ lib.concatLists component.pkgconfig));
"extra-include-dirs" = map (p: "${lib.getDev p}/include") (lib.flatten component.libs);
"extra-framework-dirs" = map (p: "${p}/Library/Frameworks") component.frameworks;
"extra-framework-dirs" = lib.optionals (stdenv.hostPlatform.isDarwin)
(map (p: "${p}/Library/Frameworks") component.frameworks);
})}
ghc=${ghc}

View File

@ -47,6 +47,7 @@ pkgs:
"gobject-2.0" = [ pkgs."glib" ];
"gmodule-2.0" = [ pkgs."glib" ];
"gobject-introspection-1.0" = [ pkgs."gobject-introspection" ];
"graphene-gobject-1.0" = [ pkgs."graphene" ];
"gstreamer-audio-0.10" = [ pkgs."gst-plugins-base" ];
"gstreamer-audio-1.0" = [ pkgs."gst-plugins-base" ];
"gstreamer-base-0.10" = [ pkgs."gst-plugins-base" ];
@ -83,7 +84,9 @@ pkgs:
"ldap" = [ pkgs."openldap" ];
"libavutil" = [ pkgs."ffmpeg" ];
"libcrypto" = [ pkgs."openssl".dev ];
"libfreenect" = [ pkgs."freenect" ];
"libgsasl" = [ pkgs."gsasl" ];
"liboath" = [ pkgs."liboauth" ];
"libpcre" = [ pkgs."pcre" ];
"libqrencode" = [ pkgs."qrencode" ];
"libR" = [ pkgs."R" ];

View File

@ -27,7 +27,7 @@ in
gcc = gcclibs;
ssl = [ openssl ];
z = [ zlib ];
m = null;
m = []; # Included with ghc
pcap = [ libpcap ];
pthread = null; # available by default
GL = [ libGL ];
@ -50,6 +50,7 @@ in
util = [ utillinux ];
magic = [ file ];
pq = [ postgresql ];
libpq = [ postgresql ];
iconv = [ libiconv ];
lapack = [ liblapack ];
boost_atomic = [ boost ];
@ -102,6 +103,16 @@ in
gfortran = [ gfortran.cc.lib ];
ssh2 = [ libssh2 ];
gpiod = [ libgpiod ];
png = [ libpng ];
jpeg = [ libjpeg ];
freenect_sync = [ freenect ];
FLAC = [ flac ];
mp3lame = [ lame ];
tag_c = [ taglib ];
jwt = [ libjwt ];
GeoIP = [ geoip ];
pulse-simple = [ libpulseaudio ];
oath = [ liboauth ];
}
# -- windows
// { advapi32 = null; gdi32 = null; imm32 = null; msimg32 = null;

View File

@ -84,4 +84,32 @@ in {
# this adds support for __int128_t and __uint128_t to language-c
(fromUntil "0.9.1" "0.9.2" ../patches/languge-c-int128.patch)
];
packages.discount.components.library.libs = pkgs.lib.mkForce [ pkgs.discount ];
packages.llvm-hs.components.library.build-tools = pkgs.lib.mkForce [ pkgs.llvm ];
packages.BNFC.components.tests.doctests.build-tools = [
config.hsPkgs.buildPackages.alex
config.hsPkgs.buildPackages.happy
];
packages.Sit.components.library.build-tools = [
# These may not be in `config.hsPkgs.buildPackages` are not even included
# as dependencies of the Sit package at all.
(pkgs.buildPackages.haskell-nix.tool config.compiler.nix-name "alex" {})
(pkgs.buildPackages.haskell-nix.tool config.compiler.nix-name "happy" {})
];
packages.bindings-GLFW.components.library.libs = [
pkgs.xorg.libXext
];
packages.GLFW-b.components.library.libs = [
pkgs.xorg.libXi
];
packages.closed.components.tests.readme.build-tools = [
config.hsPkgs.buildPackages.markdown-unlit
];
}

View File

@ -351,7 +351,7 @@ in {
# (a common use case for `all` is in `shellFor` and it only has an
# install phase).
builtins.removeAttrs c ["preCheck" "postCheck" "keepSource"]
) allComps
) (lib.filter (c: c.buildable && c.planned) allComps)
) // {
# If any one of the components needs us to keep the source
# then keep it for the `all` component

View File

@ -25,6 +25,14 @@ in { haskell-nix = prev.haskell-nix // {
];
};
lsp-test = {
cabalProject = ''
packages: .
package lsp
flags: +demo
'';
};
pandoc = {
# Function that returns a sha256 string by looking up the location
# and tag in a nested attrset