diff options
Diffstat (limited to 'pkgs/servers')
-rw-r--r-- | pkgs/servers/meguca/default.nix | 47 | ||||
-rw-r--r-- | pkgs/servers/meguca/server_deps.nix | 219 |
2 files changed, 266 insertions, 0 deletions
diff --git a/pkgs/servers/meguca/default.nix b/pkgs/servers/meguca/default.nix new file mode 100644 index 000000000000..421a6b456a9a --- /dev/null +++ b/pkgs/servers/meguca/default.nix @@ -0,0 +1,47 @@ +{ stdenv, buildGoPackage, fetchgit, pkgconfig, ffmpeg-full, graphicsmagick, ghostscript, quicktemplate, go-bindata, easyjson, nodePackages, cmake, emscripten }: + +buildGoPackage rec { + name = "meguca-unstable-${version}"; + version = "2018-05-17"; + rev = "3107c78d95de3b64556f761d3b6dcfd5c590e0ec"; + goPackagePath = "github.com/bakape/meguca"; + goDeps = ./server_deps.nix; + enableParallelBuilding = true; + nativeBuildInputs = [ pkgconfig cmake ]; + buildInputs = [ ffmpeg-full graphicsmagick ghostscript quicktemplate go-bindata easyjson emscripten ]; + + src = fetchgit { + inherit rev; + url = "https://github.com/bakape/meguca"; + sha256 = "1rvkr5af5d4rlyxylynnpn76hvxq9xd7j8q6mffn6qj6j5p4qg4p"; + fetchSubmodules = true; + }; + + configurePhase = '' + export HOME=$PWD + export GOPATH=$GOPATH:$HOME/go + ln -sf ${nodePackages.meguca}/lib/node_modules/meguca/node_modules + sed -i "/npm install --progress false --depth 0/d" Makefile + make generate_clean + go generate meguca/... + ''; + + buildPhase = '' + go build -p $NIX_BUILD_CORES meguca + make -j $NIX_BUILD_CORES client wasm + ''; + + installPhase = '' + mkdir -p $bin/bin $bin/share/meguca + cp meguca $bin/bin + cp -r www $bin/share/meguca + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/bakape/meguca"; + description = "Anonymous realtime imageboard focused on high performance, free speech and transparent moderation"; + license = licenses.agpl3Plus; + maintainers = with maintainers; [ chiiruno ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/servers/meguca/server_deps.nix b/pkgs/servers/meguca/server_deps.nix new file mode 100644 index 000000000000..6501b7cabb4f --- /dev/null +++ b/pkgs/servers/meguca/server_deps.nix @@ -0,0 +1,219 @@ +# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 +[ + { + goPackagePath = "github.com/Masterminds/squirrel"; + fetch = { + type = "git"; + url = "https://github.com/Masterminds/squirrel"; + rev = "40ef4f86bf59a996c348a9f56ddb4c4d3d49a6df"; + sha256 = "1zdv8hds2skqz9xrybf1pw5hfxzd27c35fsrfq11ryif1wxwbkyp"; + }; + } + { + goPackagePath = "github.com/Soreil/apngdetector"; + fetch = { + type = "git"; + url = "https://github.com/Soreil/apngdetector"; + rev = "e412c29dbc998dfcffe266b12587b29096ac4d46"; + sha256 = "0ci71nk6jijspzbgcfrgi4in9lmd2c39f6xzcf9k3z9ixwv8c79j"; + }; + } + { + goPackagePath = "github.com/aquilax/tripcode"; + fetch = { + type = "git"; + url = "https://github.com/aquilax/tripcode"; + rev = "db58da84bb12e26032493b73eb3b58ba884590ef"; + sha256 = "0maqk0rwp39kcc64w4mfkgcvn2q76hqwziwc3g7ckc1qpwxql5z3"; + }; + } + { + goPackagePath = "github.com/bakape/mnemonics"; + fetch = { + type = "git"; + url = "https://github.com/bakape/mnemonics"; + rev = "056d8d3259923b93bb0449a45b0c56ac20c77f1b"; + sha256 = "137dl4bkpszj7pm4dyj222xdvy9lmwsgmm0l6bxni0msc3jdrqkl"; + }; + } + { + goPackagePath = "github.com/bakape/thumbnailer"; + fetch = { + type = "git"; + url = "https://github.com/bakape/thumbnailer"; + rev = "5b92eb4c4500fd8e004e4cc9eeb2038961e2004f"; + sha256 = "0z9myzp6rjyylh91ibd1nfpz7za1gxg4n3pnn7sw54i9zyws1l4x"; + }; + } + { + goPackagePath = "github.com/boltdb/bolt"; + fetch = { + type = "git"; + url = "https://github.com/boltdb/bolt"; + rev = "fd01fc79c553a8e99d512a07e8e0c63d4a3ccfc5"; + sha256 = "12f5swiwzcamk87r9j73nn7rmyyday7jkgzfh7x5wdg9blzhrir2"; + }; + } + { + goPackagePath = "github.com/dchest/captcha"; + fetch = { + type = "git"; + url = "https://github.com/dchest/captcha"; + rev = "6a29415a8364ec2971fdc62d9e415ed53fc20410"; + sha256 = "0j0yspx5rlyx7fdfcx74viqc8jlq3nwyd62bdx4gvbd56cppldcm"; + }; + } + { + goPackagePath = "github.com/dimfeld/httptreemux"; + fetch = { + type = "git"; + url = "https://github.com/dimfeld/httptreemux"; + rev = "7f532489e7739b3d49df5c602bf63549881fe753"; + sha256 = "0hkw04rsvljvx8ynqjgz9cb743x09fd2xiiycrgz5vbsa8q9iyyk"; + }; + } + { + goPackagePath = "github.com/gorilla/handlers"; + fetch = { + type = "git"; + url = "https://github.com/gorilla/handlers"; + rev = "13a38d26174b16d5b4bf6f1094c1389ec9879572"; + sha256 = "0zg43blpyyy667y0kpiifk5a2w35jh8qkk4zwlabb365c0lzrv6v"; + }; + } + { + goPackagePath = "github.com/gorilla/websocket"; + fetch = { + type = "git"; + url = "https://github.com/gorilla/websocket"; + rev = "21ab95fa12b9bdd8fecf5fa3586aad941cc98785"; + sha256 = "1ygg6cr84461d6k3nzbja0dxhcgf5zvry2w10f6i7291ghrcwhyy"; + }; + } + { + goPackagePath = "github.com/kardianos/osext"; + fetch = { + type = "git"; + url = "https://github.com/kardianos/osext"; + rev = "ae77be60afb1dcacde03767a8c37337fad28ac14"; + sha256 = "056dkgxrqjj5r18bnc3knlpgdz5p3yvp12y4y978hnsfhwaqvbjz"; + }; + } + { + goPackagePath = "github.com/lann/builder"; + fetch = { + type = "git"; + url = "https://github.com/lann/builder"; + rev = "1b87b36280d04fe7882d1512bf038ea2967ad534"; + sha256 = "015q46awbyp47vld07yi7d27i0lkd82r7qn5230bb9qxl4mcfiqc"; + }; + } + { + goPackagePath = "github.com/lann/ps"; + fetch = { + type = "git"; + url = "https://github.com/lann/ps"; + rev = "62de8c46ede02a7675c4c79c84883eb164cb71e3"; + sha256 = "10yhcyymypvdiiipchsp80jbglk8c4r7lq7h54v9f4mxmvz6xgf7"; + }; + } + { + goPackagePath = "github.com/lib/pq"; + fetch = { + type = "git"; + url = "https://github.com/lib/pq"; + rev = "d34b9ff171c21ad295489235aec8b6626023cd04"; + sha256 = "1gmdpp7wxlkk0szgq96rf06dj2ifjl0zbvbmg2g4bgxandh552jv"; + }; + } + { + goPackagePath = "github.com/mailru/easyjson"; + fetch = { + type = "git"; + url = "https://github.com/mailru/easyjson"; + rev = "8b799c424f57fa123fc63a99d6383bc6e4c02578"; + sha256 = "15ba6drfmw98lzw5qjh3ijcxh9iz9rcp3hid169yfd08l06z05w0"; + }; + } + { + goPackagePath = "github.com/nyarlabo/go-crypt"; + fetch = { + type = "git"; + url = "https://github.com/nyarlabo/go-crypt"; + rev = "d9a5dc2b789bc330075d4b805d9b7c971f2865a1"; + sha256 = "0249hbwvhy0xywi9b5k8964km27pvfkr3jvliy3azri6vnyvkkx1"; + }; + } + { + goPackagePath = "github.com/oschwald/maxminddb-golang"; + fetch = { + type = "git"; + url = "https://github.com/oschwald/maxminddb-golang"; + rev = "c5bec84d1963260297932a1b7a1753c8420717a7"; + sha256 = "0n8vhinm2x0prbn0vhxw38c24iiaizwk1b76s4srg30gk3dfdd39"; + }; + } + { + goPackagePath = "github.com/sevlyar/go-daemon"; + fetch = { + type = "git"; + url = "https://github.com/sevlyar/go-daemon"; + rev = "45a2ba1b7c6710a044163fa109bf08d060bc3afa"; + sha256 = "1fd8cwljgbxsm3w38pii0n02zg8s53x7j08w784csj3sfzq7rbv4"; + }; + } + { + goPackagePath = "github.com/ulikunitz/xz"; + fetch = { + type = "git"; + url = "https://github.com/ulikunitz/xz"; + rev = "0c6b41e72360850ca4f98dc341fd999726ea007f"; + sha256 = "0a6l7sp67ipxim093qh6fvw8knbxj24l7bj5lykcddi5gwfi78n3"; + }; + } + { + goPackagePath = "github.com/valyala/bytebufferpool"; + fetch = { + type = "git"; + url = "https://github.com/valyala/bytebufferpool"; + rev = "e746df99fe4a3986f4d4f79e13c1e0117ce9c2f7"; + sha256 = "01lqzjddq6kz9v41nkky7wbgk7f1cw036sa7ldz10d82g5klzl93"; + }; + } + { + goPackagePath = "github.com/valyala/quicktemplate"; + fetch = { + type = "git"; + url = "https://github.com/valyala/quicktemplate"; + rev = "a91e0946457b6583004fbfc159339b8171423aed"; + sha256 = "1z89ang5pkq5qs5b2nwhzyrw0zjlsas539l9kix374fhka49n8yc"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "21052ae46654ecf18dfdba0f7c12701a1e2b3164"; + sha256 = "0wzi1knv181h6y8k3k7wlr7sw492pgxir4gyg2riavrk8c23y2s2"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "7db1c3b1a98089d0071c84f646ff5c96aad43682"; + sha256 = "0z20mhdy3wiy53xch0fp49gv574qrs77fps5wxi12n57840s2jfr"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "7922cc490dd5a7dbaa7fd5d6196b49db59ac042f"; + sha256 = "06sicjc24hv7v9p1l6psaq87w4lycx3mjixd6gsd1wnd4jhqvlnr"; + }; + } +] |