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;
|
consul = 145;
|
||||||
mailpile = 146;
|
mailpile = 146;
|
||||||
redmine = 147;
|
redmine = 147;
|
||||||
|
seeks = 148;
|
||||||
|
|
||||||
prosody = 148;
|
prosody = 148;
|
||||||
|
|
||||||
@ -279,6 +280,7 @@
|
|||||||
uhub = 142;
|
uhub = 142;
|
||||||
mailpile = 146;
|
mailpile = 146;
|
||||||
redmine = 147;
|
redmine = 147;
|
||||||
|
seeks = 148;
|
||||||
|
|
||||||
prosody = 148;
|
prosody = 148;
|
||||||
|
|
||||||
|
@ -259,6 +259,7 @@
|
|||||||
./services/networking/rpcbind.nix
|
./services/networking/rpcbind.nix
|
||||||
./services/networking/sabnzbd.nix
|
./services/networking/sabnzbd.nix
|
||||||
./services/networking/searx.nix
|
./services/networking/searx.nix
|
||||||
|
./services/networking/seeks.nix
|
||||||
./services/networking/spiped.nix
|
./services/networking/spiped.nix
|
||||||
./services/networking/ssh/lshd.nix
|
./services/networking/ssh/lshd.nix
|
||||||
./services/networking/ssh/sshd.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
|
{ fetchgit, stdenv, zlib, docbook2x, pcre, curl, libxml2, libevent, perl
|
||||||
, pkgconfig, protobuf, tokyocabinet, tokyotyrant, opencv
|
, pkgconfig, protobuf, tokyocabinet, tokyotyrant, opencv, autoconf, automake
|
||||||
|
, libtool, seeks_confDir ? ""
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let version = "0.4.1"; in
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "seeks-${version}";
|
name = "seeks-0.4.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchgit {
|
||||||
url = "mirror://sourceforge/seeks/hippy/seeks-${version}.tar.gz";
|
url = "git://github.com/beniz/seeks.git";
|
||||||
sha256 = "1ppbbjw1zffxxhyvy64xwsff9xlw9wigqb7qwq5iw5mhbblz545q";
|
rev = "1168b3a2f3111c3fca31dd961135194c3e8df5fd";
|
||||||
|
sha256 = "159k9fk1ry8cybrq38jxm1qyxks9hlkfz624hzwxlzah6xb2j8a4";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ zlib docbook2x pcre curl libxml2 libevent perl pkgconfig
|
[ zlib docbook2x pcre curl libxml2 libevent perl pkgconfig
|
||||||
protobuf tokyocabinet tokyotyrant opencv
|
protobuf tokyocabinet tokyotyrant opencv autoconf automake libtool
|
||||||
];
|
];
|
||||||
|
|
||||||
configureFlags =
|
configureFlags =
|
||||||
[ # Enable the built-in web server providing a web search interface.
|
[ # 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"
|
"--enable-httpserv-plugin=yes"
|
||||||
"--with-libevent=${libevent}"
|
"--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/>.
|
# FIXME: Test suite needs <https://code.google.com/p/googletest/>.
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
@ -44,8 +60,10 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
homepage = http://www.seeks-project.info/;
|
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
|
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
||||||
hydraPlatforms = [];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -10195,9 +10195,7 @@ let
|
|||||||
|
|
||||||
seafile-client = callPackage ../applications/networking/seafile-client { };
|
seafile-client = callPackage ../applications/networking/seafile-client { };
|
||||||
|
|
||||||
seeks = callPackage ../tools/networking/p2p/seeks {
|
seeks = callPackage ../tools/networking/p2p/seeks { };
|
||||||
opencv = opencv_2_1;
|
|
||||||
};
|
|
||||||
|
|
||||||
seg3d = callPackage ../applications/graphics/seg3d {
|
seg3d = callPackage ../applications/graphics/seg3d {
|
||||||
wxGTK = wxGTK28.override { unicode = false; };
|
wxGTK = wxGTK28.override { unicode = false; };
|
||||||
|
Loading…
Reference in New Issue
Block a user