depot/packages/patched-derivations.nix

112 lines
3 KiB
Nix
Raw Normal View History

2022-06-18 22:00:59 +03:00
let
tools = import ./lib/tools.nix;
pins = import ./sources;
2023-06-06 01:59:36 +03:00
dvcMd5ToSha256 = old: {
postPatch = (old.postPatch or "") + ''
grep -Rwl md5 | xargs sed -i s/md5/sha256/g
'';
};
dvcYamlToJson = old: {
postPatch = (old.postPatch or "") + ''
grep -Rwl yaml | xargs sed -i s/yaml/json/g
grep -Rwl ruamel.json | xargs sed -i s/ruamel.json/ruamel.yaml/g
'';
};
2021-06-05 23:59:06 +03:00
in with tools;
super: rec {
2022-12-17 15:28:15 +02:00
dvc = patch (super.dvc.overrideAttrs (old: let
filteredBaseDeps = super.lib.subtractLists [
super.python3Packages.dvc-data
2023-06-06 01:59:36 +03:00
super.python3Packages.dvc-http
2022-12-17 15:28:15 +02:00
] old.propagatedBuildInputs;
baseDeps = filteredBaseDeps ++ [
dvc-data
2023-06-06 01:59:36 +03:00
dvc-http
2022-12-17 15:28:15 +02:00
];
2023-06-06 01:59:36 +03:00
patched = dvcMd5ToSha256 old;
patched' = dvcYamlToJson patched;
in patched' // {
2022-12-17 15:28:15 +02:00
propagatedBuildInputs = with super.python3Packages; baseDeps ++ [
2022-08-05 19:57:19 +03:00
aiobotocore
boto3
(s3fs.overrideAttrs (_: { postPatch = ''
substituteInPlace requirements.txt \
2023-06-06 01:59:36 +03:00
--replace "fsspec==2023.3.0" "fsspec" \
2022-08-05 19:57:19 +03:00
--replace "aiobotocore~=2.1.0" "aiobotocore"
'';
}))
];
})) "patches/base/dvc";
2022-08-05 15:27:14 +03:00
2023-06-06 01:59:36 +03:00
dvc-data = (super.python3Packages.dvc-data.override {
inherit dvc-objects;
}).overrideAttrs dvcMd5ToSha256;
dvc-http = super.python3Packages.dvc-http.override {
2022-12-17 15:37:07 +02:00
inherit dvc-objects;
2023-06-06 01:59:36 +03:00
};
2022-12-17 15:37:07 +02:00
2023-06-06 01:59:36 +03:00
dvc-objects = super.python3Packages.dvc-objects.overrideAttrs dvcMd5ToSha256;
2022-12-17 15:24:21 +02:00
2023-07-23 23:23:17 +03:00
forgejo = patch super.forgejo "patches/base/forgejo";
garage = patch super.garage_0_8 "patches/base/garage";
2023-08-27 19:33:12 +03:00
jellyfin = patch (super.jellyfin.override {
ffmpeg = super.ffmpeg.override {
withMfx = true;
};
}) "patches/base/jellyfin";
jre17_standard = let
jre = super.jre_minimal.override {
jdk = super.jdk17_headless;
modules = [
"java.se"
"jdk.naming.dns"
"jdk.crypto.ec"
"jdk.zipfs"
"jdk.security.auth"
"jdk.unsupported"
"jdk.xml.dom"
"jdk.sctp"
"jdk.management"
"jdk.dynalink"
];
};
in jre // { meta = jre.meta // { inherit (super.jdk17_headless.meta) platforms; }; };
kanidm = patch super.kanidm "patches/base/kanidm";
2022-07-31 23:36:07 +03:00
keycloak = super.keycloak.override {
jre = jre17_standard;
};
2023-08-23 22:20:30 +03:00
postgresql = super.postgresql_14;
powerdns-admin = let
package = super.powerdns-admin.override {
python3 = super.python3.override {
packageOverrides = _: _: { python3-saml = null; };
};
};
in patch package "patches/base/powerdns-admin";
prometheus-jitsi-exporter = patch super.prometheus-jitsi-exporter "patches/base/prometheus-jitsi-exporter";
s3ql = (patch super.s3ql "patches/base/s3ql").overrideAttrs (old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ [
super.python3Packages.systemd
];
});
2023-02-25 10:10:37 +02:00
tempo = (super.tempo.override { buildGoModule = super.buildGo119Module; }).overrideAttrs (_: {
2022-06-18 22:00:59 +03:00
version = builtins.substring 1 (-1) pins.tempo.version;
src = super.npins.mkSource pins.tempo;
2022-06-18 22:00:59 +03:00
subPackages = [ "cmd/tempo" ];
});
2021-06-05 23:59:06 +03:00
}