mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-12 20:55:31 +03:00
solr: drop 7.x series
This commit is contained in:
parent
1177bce848
commit
acd9e87ebe
5 changed files with 54 additions and 114 deletions
|
@ -13,19 +13,11 @@ in
|
||||||
services.solr = {
|
services.solr = {
|
||||||
enable = mkEnableOption "Solr";
|
enable = mkEnableOption "Solr";
|
||||||
|
|
||||||
# default to the 8.x series not forcing major version upgrade of those on the 7.x series
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
default = if versionAtLeast config.system.stateVersion "19.09"
|
default = pkgs.solr;
|
||||||
then pkgs.solr_8
|
|
||||||
else pkgs.solr_7
|
|
||||||
;
|
|
||||||
defaultText = "pkgs.solr";
|
defaultText = "pkgs.solr";
|
||||||
description = ''
|
description = "Which Solr package to use.";
|
||||||
Which Solr package to use. This defaults to version 7.x if
|
|
||||||
<literal>system.stateVersion < 19.09</literal> and version 8.x
|
|
||||||
otherwise.
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
port = mkOption {
|
port = mkOption {
|
||||||
|
|
|
@ -1,65 +1,48 @@
|
||||||
{ system ? builtins.currentSystem,
|
import ./make-test.nix ({ pkgs, ... }:
|
||||||
config ? {},
|
|
||||||
pkgs ? import ../.. { inherit system config; }
|
|
||||||
}:
|
|
||||||
|
|
||||||
with import ../lib/testing.nix { inherit system pkgs; };
|
|
||||||
with pkgs.lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
solrTest = package: makeTest {
|
|
||||||
machine =
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
# Ensure the virtual machine has enough memory for Solr to avoid the following error:
|
|
||||||
#
|
|
||||||
# OpenJDK 64-Bit Server VM warning:
|
|
||||||
# INFO: os::commit_memory(0x00000000e8000000, 402653184, 0)
|
|
||||||
# failed; error='Cannot allocate memory' (errno=12)
|
|
||||||
#
|
|
||||||
# There is insufficient memory for the Java Runtime Environment to continue.
|
|
||||||
# Native memory allocation (mmap) failed to map 402653184 bytes for committing reserved memory.
|
|
||||||
virtualisation.memorySize = 2000;
|
|
||||||
|
|
||||||
services.solr.enable = true;
|
|
||||||
services.solr.package = package;
|
|
||||||
};
|
|
||||||
|
|
||||||
testScript = ''
|
|
||||||
startAll;
|
|
||||||
|
|
||||||
$machine->waitForUnit('solr.service');
|
|
||||||
$machine->waitForOpenPort('8983');
|
|
||||||
$machine->succeed('curl --fail http://localhost:8983/solr/');
|
|
||||||
|
|
||||||
# adapted from pkgs.solr/examples/films/README.txt
|
|
||||||
$machine->succeed('sudo -u solr solr create -c films');
|
|
||||||
$machine->succeed(q(curl http://localhost:8983/solr/films/schema -X POST -H 'Content-type:application/json' --data-binary '{
|
|
||||||
"add-field" : {
|
|
||||||
"name":"name",
|
|
||||||
"type":"text_general",
|
|
||||||
"multiValued":false,
|
|
||||||
"stored":true
|
|
||||||
},
|
|
||||||
"add-field" : {
|
|
||||||
"name":"initial_release_date",
|
|
||||||
"type":"pdate",
|
|
||||||
"stored":true
|
|
||||||
}
|
|
||||||
}')) =~ /"status":0/ or die;
|
|
||||||
$machine->succeed('sudo -u solr post -c films ${pkgs.solr}/example/films/films.json');
|
|
||||||
$machine->succeed('curl http://localhost:8983/solr/films/query?q=name:batman') =~ /"name":"Batman Begins"/ or die;
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
solr_7 = solrTest pkgs.solr_7 // {
|
name = "solr";
|
||||||
name = "solr_7";
|
meta.maintainers = [ pkgs.stdenv.lib.maintainers.aanderse ];
|
||||||
meta.maintainers = [ lib.maintainers.aanderse ];
|
|
||||||
};
|
|
||||||
|
|
||||||
solr_8 = solrTest pkgs.solr_8 // {
|
machine =
|
||||||
name = "solr_8";
|
{ config, pkgs, ... }:
|
||||||
meta.maintainers = [ lib.maintainers.aanderse ];
|
{
|
||||||
};
|
# Ensure the virtual machine has enough memory for Solr to avoid the following error:
|
||||||
}
|
#
|
||||||
|
# OpenJDK 64-Bit Server VM warning:
|
||||||
|
# INFO: os::commit_memory(0x00000000e8000000, 402653184, 0)
|
||||||
|
# failed; error='Cannot allocate memory' (errno=12)
|
||||||
|
#
|
||||||
|
# There is insufficient memory for the Java Runtime Environment to continue.
|
||||||
|
# Native memory allocation (mmap) failed to map 402653184 bytes for committing reserved memory.
|
||||||
|
virtualisation.memorySize = 2000;
|
||||||
|
|
||||||
|
services.solr.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
startAll;
|
||||||
|
|
||||||
|
$machine->waitForUnit('solr.service');
|
||||||
|
$machine->waitForOpenPort('8983');
|
||||||
|
$machine->succeed('curl --fail http://localhost:8983/solr/');
|
||||||
|
|
||||||
|
# adapted from pkgs.solr/examples/films/README.txt
|
||||||
|
$machine->succeed('sudo -u solr solr create -c films');
|
||||||
|
$machine->succeed(q(curl http://localhost:8983/solr/films/schema -X POST -H 'Content-type:application/json' --data-binary '{
|
||||||
|
"add-field" : {
|
||||||
|
"name":"name",
|
||||||
|
"type":"text_general",
|
||||||
|
"multiValued":false,
|
||||||
|
"stored":true
|
||||||
|
},
|
||||||
|
"add-field" : {
|
||||||
|
"name":"initial_release_date",
|
||||||
|
"type":"pdate",
|
||||||
|
"stored":true
|
||||||
|
}
|
||||||
|
}')) =~ /"status":0/ or die;
|
||||||
|
$machine->succeed('sudo -u solr post -c films ${pkgs.solr}/example/films/films.json');
|
||||||
|
$machine->succeed('curl http://localhost:8983/solr/films/query?q=name:batman') =~ /"name":"Batman Begins"/ or die;
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
{ stdenv, fetchurl, jre, makeWrapper }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "solr";
|
|
||||||
version = "8.4.0";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://apache/lucene/${pname}/${version}/${pname}-${version}.tgz";
|
|
||||||
sha256 = "19l11w867y4bms9bmp9pj4ilkay7zb5015vlywdci2mswlafvrv6";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out $out/bin
|
|
||||||
|
|
||||||
cp -r bin/solr bin/post $out/bin/
|
|
||||||
cp -r contrib $out/
|
|
||||||
cp -r dist $out/
|
|
||||||
cp -r example $out/
|
|
||||||
cp -r server $out/
|
|
||||||
|
|
||||||
wrapProgram $out/bin/solr --set JAVA_HOME "${jre}"
|
|
||||||
wrapProgram $out/bin/post --set JAVA_HOME "${jre}"
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
homepage = "https://lucene.apache.org/solr/";
|
|
||||||
description = "Open source enterprise search platform from the Apache Lucene project";
|
|
||||||
license = licenses.asl20;
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ domenkozar aanderse ];
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "solr";
|
pname = "solr";
|
||||||
version = "7.7.2";
|
version = "8.4.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://apache/lucene/solr/${version}/solr-${version}.tgz";
|
url = "mirror://apache/lucene/${pname}/${version}/${pname}-${version}.tgz";
|
||||||
sha256 = "1pr02d4sw5arig1brjb6j7ir644n8s737qsx6ll46di5iw1y93pb";
|
sha256 = "19l11w867y4bms9bmp9pj4ilkay7zb5015vlywdci2mswlafvrv6";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||||
description = "Open source enterprise search platform from the Apache Lucene project";
|
description = "Open source enterprise search platform from the Apache Lucene project";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
maintainers = [ maintainers.domenkozar maintainers.aanderse ];
|
maintainers = with maintainers; [ domenkozar aanderse ];
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6453,9 +6453,9 @@ in
|
||||||
inherit (darwin.apple_sdk.frameworks) Security;
|
inherit (darwin.apple_sdk.frameworks) Security;
|
||||||
};
|
};
|
||||||
|
|
||||||
solr = solr_8;
|
solr = callPackage ../servers/search/solr { };
|
||||||
solr_7 = callPackage ../servers/search/solr { };
|
solr_7 = solr;
|
||||||
solr_8 = callPackage ../servers/search/solr/8.x.nix { };
|
solr_8 = solr;
|
||||||
|
|
||||||
solvespace = callPackage ../applications/graphics/solvespace { };
|
solvespace = callPackage ../applications/graphics/solvespace { };
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue