stuebinm
e12cc7dbf5
This jumps Mattermost ESR Versions (see [1] for their release cycle). The new version makes use of Go's workspace feature, which unfortunately the buildGoModule function does not (yet?) support [2], and unfortunately this breaks the previous build process for mattermost. Further, the new release also makes use of private modules only included in the (non-free) enterprise version of mattermost which makes it impossible to build in the usual way even outside of nixpkgs's build abstractions [3]. Both issues can be solved by using Go 1.22, which has added support for vendoring when using workspaces, and instructing it to ignore errors with the -e flag. This requires overriding the go-modules derivation's buildPhase. Finally, this now also build the commands/mmctl subpackage, which contains a cli utility to administrate mattermost. This currently has its own nixpkgs package for no reason i can see at all (it also has a version mismatch between nixpkgs's mattermost and nixpkgs's mmctl). [1] https://docs.mattermost.com/upgrade/extended-support-release.html [2] https://github.com/NixOS/nixpkgs/issues/203039 [3] https://github.com/mattermost/mattermost/issues/26221
27 lines
597 B
Nix
27 lines
597 B
Nix
{ sources, ... }@args:
|
|
|
|
let
|
|
pkgs = import sources.nixpkgs args;
|
|
oldstable = import sources.nixpkgs-oldstable args;
|
|
unstable = import sources.nixpkgs-unstable args;
|
|
|
|
callPackage = pkgs.lib.callPackageWith (pkgs // newpkgs);
|
|
|
|
newpkgs = {
|
|
|
|
mattermost = callPackage ./mattermost.nix {
|
|
inherit sources;
|
|
buildGoModule = unstable.buildGo122Module;
|
|
};
|
|
|
|
tracktrain = import sources.tracktrain {
|
|
nixpkgs = pkgs;
|
|
compiler = "default";
|
|
};
|
|
|
|
uffd = oldstable.callPackage ./uffd { };
|
|
|
|
inherit (oldstable) uwsgi flask;
|
|
};
|
|
|
|
in pkgs.extend(_: _: newpkgs)
|