mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-28 18:03:04 +00:00
commit
6e242f7615
34
pkgs/servers/mail/mox/default.nix
Normal file
34
pkgs/servers/mail/mox/default.nix
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{ lib
|
||||||
|
, buildGoModule
|
||||||
|
, fetchFromGitHub
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "mox";
|
||||||
|
version = "0.0.5";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "mjl-";
|
||||||
|
repo = "mox";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-f5/K6cPqJJkbdiVCNGOTd9Fjx2/gvSZCxeR6nnEaeJw=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# set the version during buildtime
|
||||||
|
patches = [ ./version.patch ];
|
||||||
|
|
||||||
|
vendorHash = null;
|
||||||
|
|
||||||
|
ldflags = [
|
||||||
|
"-s"
|
||||||
|
"-w"
|
||||||
|
"-X github.com/mjl-/mox/moxvar.Version=${version}"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Modern full-featured open source secure mail server for low-maintenance self-hosted email";
|
||||||
|
homepage = "https://github.com/mjl-/mox";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [ dit7ya ];
|
||||||
|
};
|
||||||
|
}
|
45
pkgs/servers/mail/mox/version.patch
Normal file
45
pkgs/servers/mail/mox/version.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
diff --git a/moxvar/version.go b/moxvar/version.go
|
||||||
|
index 8c6bac8..69b5f7c 100644
|
||||||
|
--- a/moxvar/version.go
|
||||||
|
+++ b/moxvar/version.go
|
||||||
|
@@ -1,38 +1,5 @@
|
||||||
|
// Package moxvar provides the version number of a mox build.
|
||||||
|
package moxvar
|
||||||
|
|
||||||
|
-import (
|
||||||
|
- "runtime/debug"
|
||||||
|
-)
|
||||||
|
-
|
||||||
|
-// Version is set at runtime based on the Go module used to build.
|
||||||
|
-var Version = "(devel)"
|
||||||
|
-
|
||||||
|
-func init() {
|
||||||
|
- buildInfo, ok := debug.ReadBuildInfo()
|
||||||
|
- if !ok {
|
||||||
|
- return
|
||||||
|
- }
|
||||||
|
- Version = buildInfo.Main.Version
|
||||||
|
- if Version == "(devel)" {
|
||||||
|
- var vcsRev, vcsMod string
|
||||||
|
- for _, setting := range buildInfo.Settings {
|
||||||
|
- if setting.Key == "vcs.revision" {
|
||||||
|
- vcsRev = setting.Value
|
||||||
|
- } else if setting.Key == "vcs.modified" {
|
||||||
|
- vcsMod = setting.Value
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- if vcsRev == "" {
|
||||||
|
- return
|
||||||
|
- }
|
||||||
|
- Version = vcsRev
|
||||||
|
- switch vcsMod {
|
||||||
|
- case "false":
|
||||||
|
- case "true":
|
||||||
|
- Version += "+modifications"
|
||||||
|
- default:
|
||||||
|
- Version += "+unknown"
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-}
|
||||||
|
+// Version is set via a build flag
|
||||||
|
+var Version string;
|
@ -6242,6 +6242,8 @@ with pkgs;
|
|||||||
|
|
||||||
mountain-duck = callPackage ../tools/filesystems/mountain-duck { };
|
mountain-duck = callPackage ../tools/filesystems/mountain-duck { };
|
||||||
|
|
||||||
|
mox = callPackage ../servers/mail/mox { };
|
||||||
|
|
||||||
mozlz4a = callPackage ../tools/compression/mozlz4a { };
|
mozlz4a = callPackage ../tools/compression/mozlz4a { };
|
||||||
|
|
||||||
msr-tools = callPackage ../os-specific/linux/msr-tools { };
|
msr-tools = callPackage ../os-specific/linux/msr-tools { };
|
||||||
|
Loading…
Reference in New Issue
Block a user