diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/mail/public-inbox/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/mail/public-inbox/default.nix | 116 |
1 files changed, 105 insertions, 11 deletions
diff --git a/nixpkgs/pkgs/servers/mail/public-inbox/default.nix b/nixpkgs/pkgs/servers/mail/public-inbox/default.nix index 8773a210c7e0..5216c0923930 100644 --- a/nixpkgs/pkgs/servers/mail/public-inbox/default.nix +++ b/nixpkgs/pkgs/servers/mail/public-inbox/default.nix @@ -1,7 +1,33 @@ -{ buildPerlPackage, lib, fetchurl, makeWrapper -, DBDSQLite, EmailMIME, IOSocketSSL, IPCRun, MailIMAPClient, ParseRecDescent -, Plack, PlackMiddlewareReverseProxy, SearchXapian, TimeDate, URI -, git, highlight, openssl, sqlite, xapian +{ stdenv, lib, fetchurl, makeWrapper, nixosTests +, buildPerlPackage +, coreutils +, curl +, git +, gnumake +, highlight +, libgit2 +, man +, openssl +, pkg-config +, sqlite +, xapian +, AnyURIEscape +, DBDSQLite +, DBI +, EmailAddressXS +, EmailMIME +, IOSocketSSL +, IPCRun +, Inline +, InlineC +, LinuxInotify2 +, MailIMAPClient +, ParseRecDescent +, Plack +, PlackMiddlewareReverseProxy +, SearchXapian +, TimeDate +, URI }: let @@ -15,6 +41,32 @@ let # These tests were indentified with # grep -r shared t/ "convert-compact" "search" "v2writable" "www_listing" + # perl5.32.0-public-inbox> t/eml.t ...................... 1/? Cannot parse parameter '=?ISO-8859-1?Q?=20charset=3D=1BOF?=' at t/eml.t line 270. + # perl5.32.0-public-inbox> # Failed test 'got wide character by assuming utf-8' + # perl5.32.0-public-inbox> # at t/eml.t line 272. + # perl5.32.0-public-inbox> Wide character in print at /nix/store/38vxlxrvg3yji3jms44qn94lxdysbj5j-perl-5.32.0/lib/perl5/5.32.0/Test2/Formatter/TAP.pm line 125. + "eml" + # Failed test 'Makefile OK' + # at t/hl_mod.t line 19. + # got: 'makefile' + # expected: 'make' + "hl_mod" + # Failed test 'clone + index v1 synced ->created_at' + # at t/lei-mirror.t line 175. + # got: '1638378723' + # expected: undef + # Failed test 'clone + index v1 synced ->created_at' + # at t/lei-mirror.t line 178. + # got: '1638378723' + # expected: undef + # May be due to the use of $ENV{HOME}. + "lei-mirror" + # Failed test 'child error (pure-Perl)' + # at t/spawn.t line 33. + # got: '0' + # expected: anything else + # waiting for child to reap grandchild... + "spawn" ]; testConditions = with lib; @@ -24,11 +76,11 @@ in buildPerlPackage rec { pname = "public-inbox"; - version = "1.6.1"; + version = "1.8.0"; src = fetchurl { url = "https://public-inbox.org/public-inbox.git/snapshot/public-inbox-${version}.tar.gz"; - sha256 = "0mr8f8qv15l0lx94im9084lmsw1qh8lzyb7mj1s5yhpw48k25709"; + sha256 = "sha256-laJOOCk5NecIGWesv4D30cLGfijQHVkeo55eNqNKzew="; }; outputs = [ "out" "devdoc" "sa_config" ]; @@ -36,33 +88,75 @@ buildPerlPackage rec { postConfigure = '' substituteInPlace Makefile --replace 'TEST_FILES = t/*.t' \ 'TEST_FILES = $(shell find t -name *.t ${testConditions})' + substituteInPlace lib/PublicInbox/TestCommon.pm \ + --replace /bin/cp ${coreutils}/bin/cp ''; nativeBuildInputs = [ makeWrapper ]; buildInputs = [ - DBDSQLite IOSocketSSL IPCRun MailIMAPClient ParseRecDescent Plack - PlackMiddlewareReverseProxy SearchXapian TimeDate URI highlight + AnyURIEscape + DBDSQLite + DBI + EmailAddressXS + highlight + IOSocketSSL + IPCRun + Inline + InlineC + ParseRecDescent + Plack + PlackMiddlewareReverseProxy + SearchXapian + TimeDate + URI + libgit2 # For Gcf2 + man ]; - checkInputs = [ EmailMIME git openssl sqlite xapian ]; + doCheck = !stdenv.isDarwin; + checkInputs = [ + MailIMAPClient + EmailMIME + curl + git + openssl + pkg-config + sqlite + xapian + ] ++ lib.optionals stdenv.isLinux [ + LinuxInotify2 + ]; preCheck = '' perl certs/create-certs.perl + export TEST_LEI_ERR_LOUD=1 + export HOME="$NIX_BUILD_TOP"/home + mkdir -p "$HOME"/.cache/public-inbox/inline-c ''; installTargets = [ "install" ]; postInstall = '' for prog in $out/bin/*; do - wrapProgram $prog --prefix PATH : ${lib.makeBinPath [ git xapian ]} + wrapProgram $prog --prefix PATH : ${lib.makeBinPath [ + git + /* for InlineC */ + gnumake + stdenv.cc.cc + xapian + ]} done mv sa_config $sa_config ''; + passthru.tests = { + nixos-public-inbox = nixosTests.public-inbox; + }; + meta = with lib; { homepage = "https://public-inbox.org/"; license = licenses.agpl3Plus; - maintainers = with maintainers; [ qyliss ]; + maintainers = with maintainers; [ julm qyliss ]; platforms = platforms.all; }; } |