about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/mattermost
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/mattermost')
-rw-r--r--nixpkgs/pkgs/servers/mattermost/default.nix56
-rw-r--r--nixpkgs/pkgs/servers/mattermost/matterircd.nix23
2 files changed, 79 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/mattermost/default.nix b/nixpkgs/pkgs/servers/mattermost/default.nix
new file mode 100644
index 000000000000..2969f723b50a
--- /dev/null
+++ b/nixpkgs/pkgs/servers/mattermost/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, fetchFromGitHub, buildGoPackage, buildEnv }:
+
+let
+  version = "5.4.0";
+
+  mattermost-server = buildGoPackage rec {
+    name = "mattermost-server-${version}";
+
+    src = fetchFromGitHub {
+      owner = "mattermost";
+      repo = "mattermost-server";
+      rev = "v${version}";
+      sha256 = "0sal5ydm1cwnvf3acmiy0400ghhd6v0wj64mkxqwqf8ysnbxizwq";
+    };
+
+    goPackagePath = "github.com/mattermost/mattermost-server";
+
+    buildFlagsArray = ''
+      -ldflags=
+        -X ${goPackagePath}/model.BuildNumber=nixpkgs-${version}
+    '';
+
+  };
+
+  mattermost-webapp = stdenv.mkDerivation {
+    name = "mattermost-webapp-${version}";
+
+    src = fetchurl {
+      url = "https://releases.mattermost.com/${version}/mattermost-${version}-linux-amd64.tar.gz";
+      sha256 = "06dg0f6nrh3a2v3lnyn2s39nj5jpsvfkx3ypq4zjpks0srv4mgfz";
+    };
+
+    installPhase = ''
+      mkdir -p $out
+      tar --strip 1 --directory $out -xf $src \
+        mattermost/client \
+        mattermost/i18n \
+        mattermost/fonts \
+        mattermost/templates \
+        mattermost/config
+    '';
+  };
+
+in
+  buildEnv {
+    name = "mattermost-${version}";
+    paths = [ mattermost-server mattermost-webapp ];
+
+    meta = with stdenv.lib; {
+      description = "Open-source, self-hosted Slack-alternative";
+      homepage = https://www.mattermost.org;
+      license = with licenses; [ agpl3 asl20 ];
+      maintainers = with maintainers; [ fpletz ryantm ];
+      platforms = platforms.unix;
+    };
+  }
diff --git a/nixpkgs/pkgs/servers/mattermost/matterircd.nix b/nixpkgs/pkgs/servers/mattermost/matterircd.nix
new file mode 100644
index 000000000000..6707055eaa6b
--- /dev/null
+++ b/nixpkgs/pkgs/servers/mattermost/matterircd.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "matterircd-${version}";
+  version = "0.18.2";
+
+  src = fetchFromGitHub {
+    owner = "42wim";
+    repo = "matterircd";
+    rev = "v${version}";
+    sha256 = "0g57g91v7208yynf758k9v73jdhz4fbc1v23p97rzrl97aq0rd5r";
+  };
+
+  goPackagePath = "github.com/42wim/matterircd";
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Minimal IRC server bridge to Mattermost";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fpletz ];
+    platforms = platforms.unix;
+  };
+}