Merge pull request #4400 from matejc/seeksservice
seeks: update and write nixos module
This commit is contained in:
commit
b9c2fe5fd8
@ -155,6 +155,7 @@
|
||||
consul = 145;
|
||||
mailpile = 146;
|
||||
redmine = 147;
|
||||
seeks = 148;
|
||||
|
||||
prosody = 148;
|
||||
|
||||
@ -279,6 +280,7 @@
|
||||
uhub = 142;
|
||||
mailpile = 146;
|
||||
redmine = 147;
|
||||
seeks = 148;
|
||||
|
||||
prosody = 148;
|
||||
|
||||
|
@ -259,6 +259,7 @@
|
||||
./services/networking/rpcbind.nix
|
||||
./services/networking/sabnzbd.nix
|
||||
./services/networking/searx.nix
|
||||
./services/networking/seeks.nix
|
||||
./services/networking/spiped.nix
|
||||
./services/networking/ssh/lshd.nix
|
||||
./services/networking/ssh/sshd.nix
|
||||
|
75
nixos/modules/services/networking/seeks.nix
Normal file
75
nixos/modules/services/networking/seeks.nix
Normal file
@ -0,0 +1,75 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.seeks;
|
||||
|
||||
confDir = cfg.confDir;
|
||||
|
||||
seeks = pkgs.seeks.override { seeks_confDir = confDir; };
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
services.seeks = {
|
||||
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = "
|
||||
Whether to enable the Seeks server.
|
||||
";
|
||||
};
|
||||
|
||||
confDir = mkOption {
|
||||
default = "";
|
||||
type = types.str;
|
||||
description = "
|
||||
The Seeks server configuration. If it is not specified,
|
||||
a default configuration is used (${seeks}/etc/seeks).
|
||||
";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf config.services.seeks.enable {
|
||||
|
||||
users.extraUsers.seeks =
|
||||
{ uid = config.ids.uids.seeks;
|
||||
description = "Seeks user";
|
||||
createHome = true;
|
||||
home = "/var/lib/seeks";
|
||||
};
|
||||
|
||||
users.extraGroups.seeks =
|
||||
{ gid = config.ids.gids.seeks;
|
||||
};
|
||||
|
||||
systemd.services.seeks =
|
||||
{
|
||||
description = "Seeks server, the p2p search engine.";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
User = "seeks";
|
||||
ExecStart = "${seeks}/bin/seeks";
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = [ seeks ];
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -1,28 +1,44 @@
|
||||
{ fetchurl, stdenv, zlib, docbook2x, pcre, curl, libxml2, libevent, perl
|
||||
, pkgconfig, protobuf, tokyocabinet, tokyotyrant, opencv
|
||||
{ fetchgit, stdenv, zlib, docbook2x, pcre, curl, libxml2, libevent, perl
|
||||
, pkgconfig, protobuf, tokyocabinet, tokyotyrant, opencv, autoconf, automake
|
||||
, libtool, seeks_confDir ? ""
|
||||
}:
|
||||
|
||||
let version = "0.4.1"; in
|
||||
stdenv.mkDerivation {
|
||||
name = "seeks-${version}";
|
||||
name = "seeks-0.4.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/seeks/hippy/seeks-${version}.tar.gz";
|
||||
sha256 = "1ppbbjw1zffxxhyvy64xwsff9xlw9wigqb7qwq5iw5mhbblz545q";
|
||||
src = fetchgit {
|
||||
url = "git://github.com/beniz/seeks.git";
|
||||
rev = "1168b3a2f3111c3fca31dd961135194c3e8df5fd";
|
||||
sha256 = "159k9fk1ry8cybrq38jxm1qyxks9hlkfz624hzwxlzah6xb2j8a4";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ zlib docbook2x pcre curl libxml2 libevent perl pkgconfig
|
||||
protobuf tokyocabinet tokyotyrant opencv
|
||||
protobuf tokyocabinet tokyotyrant opencv autoconf automake libtool
|
||||
];
|
||||
|
||||
configureFlags =
|
||||
[ # Enable the built-in web server providing a web search interface.
|
||||
# See <http://www.seeks-project.info/wiki/index.php/Seeks_On_Web>.
|
||||
"--enable-httpserv-plugin=yes"
|
||||
"--with-libevent=${libevent}"
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
./autogen.sh
|
||||
'';
|
||||
|
||||
postInstall = stdenv.lib.optionalString (seeks_confDir != "") ''
|
||||
ln -svf ${seeks_confDir}/config $out/etc/seeks/config
|
||||
ln -svf ${seeks_confDir}/cf-config $out/etc/seeks/cf-config
|
||||
ln -svf ${seeks_confDir}/httpserv-config $out/etc/seeks/httpserv-config
|
||||
ln -svf ${seeks_confDir}/img-websearch-config $out/etc/seeks/img-websearch-config
|
||||
ln -svf ${seeks_confDir}/lsh-config $out/etc/seeks/lsh-config
|
||||
ln -svf ${seeks_confDir}/query-capture-config $out/etc/seeks/query-capture-config
|
||||
ln -svf ${seeks_confDir}/udb-service-config $out/etc/seeks/udb-service-config
|
||||
ln -svf ${seeks_confDir}/uri-capture-config $out/etc/seeks/uri-capture-config
|
||||
ln -svf ${seeks_confDir}/websearch-config $out/etc/seeks/websearch-config
|
||||
'';
|
||||
|
||||
# FIXME: Test suite needs <https://code.google.com/p/googletest/>.
|
||||
doCheck = false;
|
||||
|
||||
@ -44,8 +60,10 @@ stdenv.mkDerivation {
|
||||
|
||||
homepage = http://www.seeks-project.info/;
|
||||
|
||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||
maintainers = [
|
||||
stdenv.lib.maintainers.ludo
|
||||
stdenv.lib.maintainers.matejc
|
||||
];
|
||||
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
||||
hydraPlatforms = [];
|
||||
};
|
||||
}
|
||||
|
@ -10195,9 +10195,7 @@ let
|
||||
|
||||
seafile-client = callPackage ../applications/networking/seafile-client { };
|
||||
|
||||
seeks = callPackage ../tools/networking/p2p/seeks {
|
||||
opencv = opencv_2_1;
|
||||
};
|
||||
seeks = callPackage ../tools/networking/p2p/seeks { };
|
||||
|
||||
seg3d = callPackage ../applications/graphics/seg3d {
|
||||
wxGTK = wxGTK28.override { unicode = false; };
|
||||
|
Loading…
Reference in New Issue
Block a user