solr: drop 7.x series

Changed files
+51 -111
nixos
modules
services
search
tests
pkgs
servers
search
top-level
+2 -10
nixos/modules/services/search/solr.nix
···
services.solr = {
enable = mkEnableOption "Solr";
-
# default to the 8.x series not forcing major version upgrade of those on the 7.x series
package = mkOption {
type = types.package;
-
default = if versionAtLeast config.system.stateVersion "19.09"
-
then pkgs.solr_8
-
else pkgs.solr_7
-
;
+
default = pkgs.solr;
defaultText = "pkgs.solr";
-
description = ''
-
Which Solr package to use. This defaults to version 7.x if
-
<literal>system.stateVersion &lt; 19.09</literal> and version 8.x
-
otherwise.
-
'';
+
description = "Which Solr package to use.";
};
port = mkOption {
+42 -59
nixos/tests/solr.nix
···
-
{ system ? builtins.currentSystem,
-
config ? {},
-
pkgs ? import ../.. { inherit system config; }
-
}:
+
import ./make-test.nix ({ pkgs, ... }:
-
with import ../lib/testing.nix { inherit system pkgs; };
-
with pkgs.lib;
+
{
+
name = "solr";
+
meta.maintainers = [ pkgs.stdenv.lib.maintainers.aanderse ];
-
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;
+
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;
-
};
+
services.solr.enable = true;
+
};
-
testScript = ''
-
startAll;
+
testScript = ''
+
startAll;
-
$machine->waitForUnit('solr.service');
-
$machine->waitForOpenPort('8983');
-
$machine->succeed('curl --fail http://localhost:8983/solr/');
+
$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_7";
-
meta.maintainers = [ lib.maintainers.aanderse ];
-
};
-
-
solr_8 = solrTest pkgs.solr_8 // {
-
name = "solr_8";
-
meta.maintainers = [ lib.maintainers.aanderse ];
-
};
-
}
+
# 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;
+
'';
+
})
-35
pkgs/servers/search/solr/8.x.nix
···
-
{ 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 ];
-
};
-
-
}
+4 -4
pkgs/servers/search/solr/default.nix
···
stdenv.mkDerivation rec {
pname = "solr";
-
version = "7.7.2";
+
version = "8.4.0";
src = fetchurl {
-
url = "mirror://apache/lucene/solr/${version}/solr-${version}.tgz";
-
sha256 = "1pr02d4sw5arig1brjb6j7ir644n8s737qsx6ll46di5iw1y93pb";
+
url = "mirror://apache/lucene/${pname}/${version}/${pname}-${version}.tgz";
+
sha256 = "19l11w867y4bms9bmp9pj4ilkay7zb5015vlywdci2mswlafvrv6";
};
nativeBuildInputs = [ makeWrapper ];
···
description = "Open source enterprise search platform from the Apache Lucene project";
license = licenses.asl20;
platforms = platforms.all;
-
maintainers = [ maintainers.domenkozar maintainers.aanderse ];
+
maintainers = with maintainers; [ domenkozar aanderse ];
};
}
+3 -3
pkgs/top-level/all-packages.nix
···
inherit (darwin.apple_sdk.frameworks) Security;
};
-
solr = solr_8;
-
solr_7 = callPackage ../servers/search/solr { };
-
solr_8 = callPackage ../servers/search/solr/8.x.nix { };
+
solr = callPackage ../servers/search/solr { };
+
solr_7 = solr;
+
solr_8 = solr;
solvespace = callPackage ../applications/graphics/solvespace { };