mirror of
https://github.com/vale981/poetry2nix
synced 2025-03-05 09:11:39 -05:00
Apply overrides to successfully build pretalx
This commit is contained in:
parent
e0e2a3f659
commit
2751fd9707
2 changed files with 58 additions and 3 deletions
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
pkgs ? import <nixpkgs> { },
|
pkgs ? import <nixpkgs> { },
|
||||||
|
lib ? pkgs.lib,
|
||||||
python ? pkgs.python3,
|
python ? pkgs.python3,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -47,7 +48,9 @@ let
|
||||||
|
|
||||||
propagatedBuildInputs = let
|
propagatedBuildInputs = let
|
||||||
depAttrs = getAttrDefault "dependencies" pkgMeta {};
|
depAttrs = getAttrDefault "dependencies" pkgMeta {};
|
||||||
dependencies = builtins.attrNames depAttrs;
|
# Some dependencies like django gets the attribute name django
|
||||||
|
# but dependencies try to access Django
|
||||||
|
dependencies = builtins.map (d: lib.toLower d) (builtins.attrNames depAttrs);
|
||||||
in builtins.map (dep: self."${dep}") dependencies;
|
in builtins.map (dep: self."${dep}") dependencies;
|
||||||
|
|
||||||
src = let
|
src = let
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
{ pkgs ? import <nixpkgs> { }}:
|
{
|
||||||
|
pkgs ? import <nixpkgs> { },
|
||||||
|
lib ? pkgs.lib,
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
|
@ -16,12 +19,58 @@ let
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
renameCapital = let
|
||||||
|
capitalise = s: let
|
||||||
|
len = builtins.stringLength s;
|
||||||
|
first = lib.toUpper (builtins.substring 0 1 s);
|
||||||
|
in first + builtins.substring 1 len s;
|
||||||
|
in self: super: drv: drv.overrideAttrs(old: {
|
||||||
|
src = self.fetchPypi {
|
||||||
|
pname = capitalise old.pname;
|
||||||
|
version = old.version;
|
||||||
|
sha256 = old.src.outputHash;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
# Chain multiple overrides into a single one
|
# Chain multiple overrides into a single one
|
||||||
composeOverrides = overrides:
|
composeOverrides = overrides:
|
||||||
(self: super: drv: builtins.foldl' (drv: override: override self super drv) drv overrides);
|
(self: super: drv: builtins.foldl' (drv: override: override self super drv) drv overrides);
|
||||||
|
|
||||||
in {
|
in {
|
||||||
|
|
||||||
|
django-bakery = self: super: drv: drv.overrideAttrs(old: {
|
||||||
|
configurePhase = ''
|
||||||
|
if ! test -e LICENSE; then
|
||||||
|
touch LICENSE
|
||||||
|
fi
|
||||||
|
'' + old.configurePhase;
|
||||||
|
});
|
||||||
|
|
||||||
|
pretalx = self: super: drv: drv.overrideAttrs(old: {
|
||||||
|
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gettext ];
|
||||||
|
});
|
||||||
|
|
||||||
|
django = self: super: drv: drv.overrideAttrs(old: {
|
||||||
|
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gettext ];
|
||||||
|
});
|
||||||
|
|
||||||
|
django-compressor = renameUnderscore;
|
||||||
|
|
||||||
|
django-csp = renameUnderscore;
|
||||||
|
|
||||||
|
django-context-decorator = renameUnderscore;
|
||||||
|
|
||||||
|
markdown = renameCapital;
|
||||||
|
|
||||||
|
pillow = let
|
||||||
|
pillowOverride = self: super: drv: drv.overrideAttrs(old: {
|
||||||
|
nativeBuildInputs = [ pkgs.pkgconfig ]
|
||||||
|
++ old.nativeBuildInputs;
|
||||||
|
buildInputs = with pkgs; [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ]
|
||||||
|
++ old.buildInputs;
|
||||||
|
});
|
||||||
|
in composeOverrides [ renameCapital pillowOverride ];
|
||||||
|
|
||||||
pytest = addSetupTools;
|
pytest = addSetupTools;
|
||||||
|
|
||||||
six = addSetupTools;
|
six = addSetupTools;
|
||||||
|
@ -43,8 +92,11 @@ in {
|
||||||
numpy = self: super: drv: drv.overrideAttrs(old: {
|
numpy = self: super: drv: drv.overrideAttrs(old: {
|
||||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gfortran ];
|
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gfortran ];
|
||||||
buildInputs = old.buildInputs ++ [ pkgs.openblasCompat ];
|
buildInputs = old.buildInputs ++ [ pkgs.openblasCompat ];
|
||||||
|
});
|
||||||
|
|
||||||
# inherit (super.numpy) preConfigure preBuild enableParallelBuilding;
|
lxml = self: super: drv: drv.overrideAttrs(old: {
|
||||||
|
nativeBuildInputs = with pkgs; old.nativeBuildInputs ++ [ pkgconfig libxml2.dev libxslt.dev ];
|
||||||
|
buildInputs = with pkgs; old.buildInputs ++ [ libxml2 libxslt ];
|
||||||
});
|
});
|
||||||
|
|
||||||
shapely = self: super: drv: drv.overrideAttrs(old: {
|
shapely = self: super: drv: drv.overrideAttrs(old: {
|
||||||
|
|
Loading…
Add table
Reference in a new issue