nixpkgs/pkgs/development/lua-modules/overrides.nix
2019-05-16 11:16:21 -05:00

111 lines
3.4 KiB
Nix

{ pkgs, ... }@args:
self: super:
with super;
{
##########################################3
#### manual fixes for generated packages
##########################################3
lgi = super.lgi.overrideAttrs(oa: {
nativeBuildInputs = [ pkgs.pkgconfig ];
buildInputs = with pkgs; oa.buildInputs ++ [ glib gobjectIntrospection];
patches = [
(pkgs.fetchpatch {
name = "lgi-find-cairo-through-typelib.patch";
url = "https://github.com/psychon/lgi/commit/46a163d9925e7877faf8a4f73996a20d7cf9202a.patch";
sha256 = "0gfvvbri9kyzhvq3bvdbj2l6mwvlz040dk4mrd5m9gz79f7w109c";
})
];
});
ltermbox = super.ltermbox.override( {
disabled = !isLua51 || isLuaJIT;
});
lua-cmsgpack = super.lua-cmsgpack.override({
# TODO this should work with luajit once we fix luajit headers ?
disabled = (!isLua51) || isLuaJIT;
});
lrexlib-posix = super.lrexlib-posix.override({
buildInputs = [ pkgs.glibc.dev ];
});
lrexlib-gnu = super.lrexlib-gnu.override({
buildInputs = [ pkgs.gnulib ];
});
luaevent = super.luaevent.override({
buildInputs = with pkgs; [ libevent.dev libevent ];
propagatedBuildInputs = [ luasocket ];
extraConfig = ''
variables={
EVENT_INCDIR="${pkgs.libevent.dev}/include";
EVENT_LIBDIR="${pkgs.libevent}/lib";
}
'';
disabled= luaOlder "5.1" || luaAtLeast "5.4" || isLuaJIT;
});
lua-iconv = super.lua-iconv.override({
buildInputs = [ pkgs.libiconv ];
});
luv = super.luv.overrideAttrs(oa: {
# Use system libuv instead of building local and statically linking
# This is a hacky way to specify -DWITH_SHARED_LIBUV=ON which
# should be possible but I'm unable to make work.
# While at it, remove bundled libuv source entirely to be sure.
# We may wish to drop bundled lua submodules too...
preBuild = ''
sed -i 's,\(option(WITH_SHARED_LIBUV.*\)OFF,\1ON,' CMakeLists.txt
rm -rf deps/libuv
'';
propagatedBuildInputs = oa.propagatedBuildInputs ++ [ pkgs.libuv ];
});
busted = super.busted.overrideAttrs(oa: {
postInstall = ''
install -D completions/zsh/_busted $out/share/zsh/site-functions/_busted
'';
});
luuid = super.luuid.override(oa: {
buildInputs = [ pkgs.libuuid ];
extraConfig = ''
variables = {
LIBUUID_INCDIR="${pkgs.lib.getDev pkgs.libuuid}/include";
LIBUUID_LIBDIR="${pkgs.lib.getLib pkgs.libuuid}/lib";
}
'';
meta = oa.meta // {
platforms = pkgs.lib.platforms.linux;
};
});
rapidjson = super.rapidjson.overrideAttrs(oa: {
preBuild = ''
sed -i '/set(CMAKE_CXX_FLAGS/d' CMakeLists.txt
sed -i '/set(CMAKE_C_FLAGS/d' CMakeLists.txt
'';
});
binaryheap = super.binaryheap.overrideAttrs(oa: {
meta = oa.meta // {
maintainers = with pkgs.lib.maintainers; oa.meta.maintainers ++ [ vcunat ];
};
});
http = super.http.overrideAttrs(oa: {
patches = oa.patches or [] ++ [
(pkgs.fetchpatch {
name = "invalid-state-progression.patch";
url = "https://github.com/daurnimator/lua-http/commit/cb7b59474a.diff";
sha256 = "1vmx039n3nqfx50faqhs3wgiw28ws416rhw6vh6srmh9i826dac7";
})
];
/* TODO: separate docs derivation? (pandoc is heavy)
nativeBuildInputs = [ pandoc ];
makeFlags = [ "-C doc" "lua-http.html" "lua-http.3" ];
*/
meta = oa.meta // {
maintainers = with pkgs.lib.maintainers; oa.meta.maintainers ++ [ vcunat ];
};
});
}