Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 41 additions & 11 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,12 @@
// flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs {
inherit system;
config = {
allowAliases = false;
};
overlays = [ self.overlays.default ];
};
in
{
# check that copyparty builds with all optionals turned on
checks.copyparty-full = self.packages.${system}.copyparty.override {
lib = import "${nixpkgs}/lib";
inherit (self) lastModifiedDate;
year = lib.toIntBase10 (builtins.substring 0 4 lastModifiedDate);
month = lib.toIntBase10 (builtins.substring 4 2 lastModifiedDate);
day = lib.toIntBase10 (builtins.substring 6 2 lastModifiedDate);
fullAttrs = {
withHashedPasswords = true;
withCertgen = true;
withThumbnails = true;
Expand All @@ -38,10 +33,45 @@
withFTPS = true;
withSMB = true;
};
pkgs = import nixpkgs {
inherit system;
config = {
allowAliases = false;
};
overlays = [ self.overlays.default ] ++ lib.singleton (final: prev: {
# This is here in flake.nix rather than common/packages/nix because it needs to access the flake metadata to get the date of the most recent commit (lastModifiedDate)
copyparty-unstable = final.copyparty.overrideAttrs (finalAttrs: previousAttrs: {
version = "${previousAttrs.version}-unstable-${self.lastModifiedDate}";
src = self;
postPatch = ''
old_src="$(mktemp -d)"
tar -C "$old_src" -xvf ${previousAttrs.src}
cp -r "$old_src"/*/copyparty/web/deps/* copyparty/web/deps
sed -i 's/^BUILD_DT =.*$/BUILD_DT = (${toString year}, ${toString month}, ${toString day})/' copyparty/__version__.py
sed -i 's/^CODENAME =.*$/CODENAME = "unstable"/' copyparty/__version__.py
'';
});

copyparty-full = final.copyparty.overrideAttrs fullAttrs;
copyparty-unstable-full = final.copyparty-unstable.overrideAttrs fullAttrs;
});
};
in
{
# check that copyparty builds with all optionals turned on
checks = {
inherit (pkgs)
copyparty-full
copyparty-unstable-full
;
};

packages = {
inherit (pkgs)
copyparty
copyparty-full
copyparty-unstable
copyparty-unstable-full
;
default = self.packages.${system}.copyparty;
};
Expand Down