mattermost: 8.1.10 → 9.5.1 #7

Manually merged
stuebinm merged 2 commits from mattermost-update into main 2024-02-25 16:28:10 +00:00

This jumps Mattermost ESR Versions. The new version makes use of Go's workspace feature, which unfortunately the buildGoModule function does not (yet?) support, 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.

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. Go 1.22 isn't in stable nixpkgs yet, so this also adds a flake input nixpkgs-unstable (for a total of three nixpkgs used just by us, not counting others used by our dependencies! 🎉)

I've based the new packaging on the one from upstream nixpkgs (for which I'd also create a PR after we've deployed it here & can be sure it actually works fine), hence the rather unsightly diff.

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). We'll have to try & see if that's actually useful; we'll probably have to write a wrapper script around it somewhere.

This jumps Mattermost ESR Versions. The new version makes use of Go's workspace feature, which unfortunately the buildGoModule function [does not (yet?) support](https://github.com/NixOS/nixpkgs/issues/203039), 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](https://github.com/mattermost/mattermost/issues/26221). 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. Go 1.22 isn't in stable nixpkgs yet, so this also adds a flake input `nixpkgs-unstable` (for a total of three nixpkgs used just by us, not counting others used by our dependencies! 🎉) I've based the new packaging on the one from upstream nixpkgs (for which I'd also create a PR after we've deployed it here & can be sure it actually works fine), hence the rather unsightly diff. 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). We'll have to try & see if that's actually useful; we'll probably have to write a wrapper script around it somewhere.
stuebinm requested review from nixmagicians 2024-02-21 16:53:42 +00:00
stuebinm force-pushed mattermost-update from 9692a00aa6 to e12cc7dbf5 2024-02-25 16:28:08 +00:00 Compare
stuebinm manually merged commit e12cc7dbf5 into main 2024-02-25 16:28:10 +00:00
Sign in to join this conversation.
No reviewers
hacc/nixmagicians
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: hacc/haccfiles#7
There is no content yet.