diff --git a/nixos/modules/services/databases/couchdb.nix b/nixos/modules/services/databases/couchdb.nix index c99a7529213..6cc29cd717e 100644 --- a/nixos/modules/services/databases/couchdb.nix +++ b/nixos/modules/services/databases/couchdb.nix @@ -4,24 +4,17 @@ with lib; let cfg = config.services.couchdb; - useVersion2 = strings.versionAtLeast (strings.getVersion cfg.package) "2.0"; configFile = pkgs.writeText "couchdb.ini" ( '' [couchdb] database_dir = ${cfg.databaseDir} uri_file = ${cfg.uriFile} view_index_dir = ${cfg.viewIndexDir} - '' + (if cfg.adminPass != null then - '' + '' + (optionalString (cfg.adminPass != null) '' [admins] ${cfg.adminUser} = ${cfg.adminPass} - '' else - "") + (if useVersion2 then - '' + '' + '' [chttpd] - '' else - '' - [httpd] '') + '' port = ${toString cfg.port} @@ -30,8 +23,7 @@ let [log] file = ${cfg.logFile} ''); - executable = if useVersion2 then "${cfg.package}/bin/couchdb" - else ''${cfg.package}/bin/couchdb -a ${configFile} -a ${pkgs.writeText "couchdb-extra.ini" cfg.extraConfig} -a ${cfg.configFile}''; + executable = "${cfg.package}/bin/couchdb"; in { @@ -177,8 +169,7 @@ in { environment.systemPackages = [ cfg.package ]; - services.couchdb.configFile = mkDefault - (if useVersion2 then "/var/lib/couchdb/local.ini" else "/var/lib/couchdb/couchdb.ini"); + services.couchdb.configFile = mkDefault "/var/lib/couchdb/local.ini"; systemd.tmpfiles.rules = [ "d '${dirOf cfg.uriFile}' - ${cfg.user} ${cfg.group} - -" @@ -195,7 +186,7 @@ in { touch ${cfg.configFile} ''; - environment = mkIf useVersion2 { + environment = { # we are actually specifying 4 configuration files: # 1. the preinstalled default.ini # 2. the module configuration diff --git a/nixos/tests/couchdb.nix b/nixos/tests/couchdb.nix index d038ee7d890..049532481b1 100644 --- a/nixos/tests/couchdb.nix +++ b/nixos/tests/couchdb.nix @@ -24,8 +24,6 @@ with lib; }; nodes = { - couchdb1 = makeNode pkgs.couchdb testuser testpass; - couchdb2 = makeNode pkgs.couchdb2 testuser testpass; couchdb3 = makeNode pkgs.couchdb3 testuser testpass; }; @@ -41,42 +39,6 @@ with lib; in '' start_all() - couchdb1.wait_for_unit("couchdb.service") - couchdb1.wait_until_succeeds( - "${curlJqCheck "" "GET" "" ".couchdb" "Welcome"}" - ) - couchdb1.wait_until_succeeds( - "${curlJqCheck "" "GET" "_all_dbs" ". | length" "2"}" - ) - couchdb1.succeed("${curlJqCheck testlogin "PUT" "foo" ".ok" "true"}") - couchdb1.succeed( - "${curlJqCheck "" "GET" "_all_dbs" ". | length" "3"}" - ) - couchdb1.succeed( - "${curlJqCheck testlogin "DELETE" "foo" ".ok" "true"}" - ) - couchdb1.succeed( - "${curlJqCheck "" "GET" "_all_dbs" ". | length" "2"}" - ) - - couchdb2.wait_for_unit("couchdb.service") - couchdb2.wait_until_succeeds( - "${curlJqCheck "" "GET" "" ".couchdb" "Welcome"}" - ) - couchdb2.wait_until_succeeds( - "${curlJqCheck "" "GET" "_all_dbs" ". | length" "0"}" - ) - couchdb2.succeed("${curlJqCheck testlogin "PUT" "foo" ".ok" "true"}") - couchdb2.succeed( - "${curlJqCheck "" "GET" "_all_dbs" ". | length" "1"}" - ) - couchdb2.succeed( - "${curlJqCheck testlogin "DELETE" "foo" ".ok" "true"}" - ) - couchdb2.succeed( - "${curlJqCheck "" "GET" "_all_dbs" ". | length" "0"}" - ) - couchdb3.wait_for_unit("couchdb.service") couchdb3.wait_until_succeeds( "${curlJqCheck testlogin "GET" "" ".couchdb" "Welcome"}" diff --git a/pkgs/development/interpreters/spidermonkey/1.8.5.nix b/pkgs/development/interpreters/spidermonkey/1.8.5.nix deleted file mode 100644 index 4892e0b8abe..00000000000 --- a/pkgs/development/interpreters/spidermonkey/1.8.5.nix +++ /dev/null @@ -1,79 +0,0 @@ -{ stdenv, lib, autoconf213, fetchurl, fetchpatch, pkg-config, nspr, perl, python2, zip }: - -stdenv.mkDerivation { - pname = "spidermonkey"; - version = "1.8.5"; - - src = fetchurl { - url = "mirror://mozilla/js/js185-1.0.0.tar.gz"; - sha256 = "5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687"; - }; - - propagatedBuildInputs = [ nspr ]; - - nativeBuildInputs = [ pkg-config ] ++ lib.optional stdenv.isAarch32 autoconf213; - buildInputs = [ perl python2 zip ]; - - postUnpack = "sourceRoot=\${sourceRoot}/js/src"; - - preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr" - export LIBXUL_DIST=$out - ${lib.optionalString stdenv.isAarch32 "autoreconf --verbose --force"} - ''; - - patches = [ - (fetchpatch { - name = "gcc6.patch"; - url = "https://sources.debian.org/data/main/m/mozjs/1.8.5-1.0.0+dfsg-6/debian/patches/fix-811665.patch"; - sha256 = "1q8477xqxiy5d8376k5902l45gd0qkd4nxmhl8vr6rr1pxfcny99"; - }) - ] ++ lib.optionals stdenv.isAarch32 [ - # Explained below in configureFlags for ARM - ./1.8.5-findvanilla.patch - # Fix for hard float flags. - ./1.8.5-arm-flags.patch - ]; - - patchFlags = [ "-p3" ]; - - # fixes build on gcc8 - postPatch = '' - substituteInPlace ./methodjit/MethodJIT.cpp \ - --replace 'asm volatile' 'asm' - ''; - - # On the Sheevaplug, ARM, its nanojit thing segfaults in japi-tests in - # "make check". Disabling tracejit makes it work, but then it needs the - # patch findvanilla.patch do disable a checker about allocator safety. In case - # of polkit, which is what matters most, it does not override the allocator - # so the failure of that test does not matter much. - configureFlags = [ "--enable-threadsafe" "--with-system-nspr" ] ++ - lib.optionals (stdenv.hostPlatform.system == "armv5tel-linux") [ - "--with-cpu-arch=armv5t" - "--disable-tracejit" ]; - - # hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393 - preBuild = '' - touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl} - ${if stdenv.isAarch32 then "rm -r jit-test/tests/jaeger/bug563000" else ""} - ''; - - enableParallelBuilding = true; - - doCheck = true; - - preCheck = '' - rm jit-test/tests/sunspider/check-date-format-tofte.js # https://bugzil.la/600522 - ''; - - meta = with lib; { - description = "Mozilla's JavaScript engine written in C/C++"; - homepage = "https://developer.mozilla.org/en/SpiderMonkey"; - # TODO: MPL/GPL/LGPL tri-license. - maintainers = [ maintainers.goibhniu ]; - platforms = platforms.linux; - broken = stdenv.isAarch64; # 2018-08-21, broken since 2017-03-08 - }; -} - diff --git a/pkgs/servers/http/couchdb/2.0.0.nix b/pkgs/servers/http/couchdb/2.0.0.nix deleted file mode 100644 index 2881a3dc196..00000000000 --- a/pkgs/servers/http/couchdb/2.0.0.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ lib, stdenv, fetchurl, erlang, icu, openssl, spidermonkey_1_8_5 -, coreutils, bash, makeWrapper, python3 }: - -stdenv.mkDerivation rec { - pname = "couchdb"; - version = "2.3.1"; - - - # when updating this, please consider bumping the OTP version - # in all-packages.nix - src = fetchurl { - url = "mirror://apache/couchdb/source/${version}/apache-${pname}-${version}.tar.gz"; - sha256 = "0z926hjqyhxhyr65kqxwpmp80nyfqbig6d9dy8dqflpb87n8rss3"; - }; - - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ erlang icu openssl spidermonkey_1_8_5 (python3.withPackages(ps: with ps; [ requests ]))]; - - patches = [ ./jsapi.patch ]; - postPatch = '' - substituteInPlace src/couch/rebar.config.script --replace '-DHAVE_CURL -I/usr/local/include' "-DHAVE_CURL -I/usr/local/include $NIX_CFLAGS_COMPILE" - - patch bin/rebar < #!${coreutils}/bin/env escript - EOF - - ''; - - # Configure a username. The build system would use "couchdb" as - # default if none is provided. Note that it is unclear where this - # username is actually used in the build, as any choice seems to be - # working. - configurePhase = '' - ./configure -u nobody - ''; - - buildPhase = '' - make release - ''; - - installPhase = '' - mkdir -p $out - cp -r rel/couchdb/* $out - wrapProgram $out/bin/couchdb --suffix PATH : ${bash}/bin - ''; - - meta = with lib; { - description = "A database that uses JSON for documents, JavaScript for MapReduce queries, and regular HTTP for an API"; - homepage = "http://couchdb.apache.org"; - license = licenses.asl20; - platforms = platforms.all; - maintainers = with maintainers; [ ]; - }; -} diff --git a/pkgs/servers/http/couchdb/default.nix b/pkgs/servers/http/couchdb/default.nix deleted file mode 100644 index 45023e800af..00000000000 --- a/pkgs/servers/http/couchdb/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ lib, stdenv, fetchurl, erlang, icu, openssl, spidermonkey_1_8_5, curl, help2man -, sphinx, which, file, pkg-config, getopt }: - -stdenv.mkDerivation rec { - pname = "couchdb"; - version = "1.7.1"; - - src = fetchurl { - url = "mirror://apache/couchdb/source/${version}/apache-${pname}-${version}.tar.gz"; - sha256 = "1b9cbdrmh1i71mrwvhm17v4cf7lckpil1vvq7lpmxyn6zfk0l84i"; - }; - - nativeBuildInputs = [ help2man which file pkg-config sphinx ]; - buildInputs = [ erlang icu openssl spidermonkey_1_8_5 curl ]; - - postInstall = '' - substituteInPlace $out/bin/couchdb --replace getopt "${getopt}/bin/getopt" - ''; - - /* - Versions of SpiderMonkey after the js185-1.0.0 release remove the optional - enforcement of preventing anonymous functions in a statement context. This - will most likely break your existing JavaScript code as well as render all - example code invalid. - - If you wish to ignore this error pass --enable-js-trunk to ./configure. - */ - configureFlags = [ - "--enable-js-trunk" - ]; - - meta = with lib; { - description = "A database that uses JSON for documents, JavaScript for MapReduce queries, and regular HTTP for an API"; - homepage = "http://couchdb.apache.org"; - license = licenses.asl20; - platforms = platforms.all; - maintainers = with maintainers; [ ]; - }; -} diff --git a/pkgs/servers/http/couchdb/jsapi.patch b/pkgs/servers/http/couchdb/jsapi.patch deleted file mode 100644 index bb7d4ca610c..00000000000 --- a/pkgs/servers/http/couchdb/jsapi.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff -ru couch_js/http.c couch_js-patched/http.c ---- apache-couchdb-2.0.0/src/couch/priv/couch_js/http.c 2016-09-12 11:28:51.000000000 +0200 -+++ apache-couchdb-2.0.0-patched/src/couch/priv/couch_js/http.c 2017-02-10 10:52:33.025854045 +0100 -@@ -15,7 +15,7 @@ - #include - #include - #include --#include -+#include - #include "config.h" - #include "utf8.h" - #include "util.h" -diff -ru couch_js/main.c couch_js-patched/main.c ---- apache-couchdb-2.0.0/src/couch/priv/couch_js/main.c 2016-09-12 11:28:51.000000000 +0200 -+++ apache-couchdb-2.0.0-patched/src/couch/priv/couch_js/main.c 2017-02-10 10:52:33.001854154 +0100 -@@ -20,7 +20,7 @@ - #include - #endif - --#include -+#include - #include "config.h" - #include "http.h" - #include "utf8.h" -diff -ru couch_js/utf8.c couch_js-patched/utf8.c ---- apache-couchdb-2.0.0/src/couch/priv/couch_js/utf8.c 2016-09-12 11:28:51.000000000 +0200 -+++ apache-couchdb-2.0.0-patched/src/couch/priv/couch_js/utf8.c 2017-02-10 10:52:33.009854117 +0100 -@@ -10,7 +10,7 @@ - // License for the specific language governing permissions and limitations under - // the License. - --#include -+#include - #include "config.h" - - static int -diff -ru couch_js/util.c couch_js-patched/util.c ---- apache-couchdb-2.0.0/src/couch/priv/couch_js/util.c 2016-09-12 11:28:51.000000000 +0200 -+++ apache-couchdb-2.0.0-patched/src/couch/priv/couch_js/util.c 2017-02-10 10:52:33.017854081 +0100 -@@ -13,7 +13,7 @@ - #include - #include - --#include -+#include - - #include "help.h" - #include "util.h" -diff -ru couch_js/util.h couch_js-patched/util.h ---- apache-couchdb-2.0.0/src/couch/priv/couch_js/util.h 2016-09-12 11:28:51.000000000 +0200 -+++ apache-couchdb-2.0.0-patched/src/couch/priv/couch_js/util.h 2017-02-10 10:52:32.988854212 +0100 -@@ -13,7 +13,7 @@ - #ifndef COUCHJS_UTIL_H - #define COUCHJS_UTIL_H - --#include -+#include - - typedef struct { - int no_eval; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 9f62e7f547f..7002cc928ee 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -121,6 +121,8 @@ mapAliases ({ conntrack_tools = conntrack-tools; # added 2018-05 cool-old-term = cool-retro-term; # added 2015-01-31 coprthr = throw "coprthr has been removed."; # added 2019-12-08 + couchdb = throw "couchdb was removed from nixpkgs, use couchdb3 instead"; # added 2021-03-03 + couchdb2 = throw "couchdb2 was removed from nixpkgs, use couchdb3 instead"; # added 2021-03-03 corebird = throw "corebird was deprecated 2019-10-02: See https://www.patreon.com/posts/corebirds-future-18921328. Please use Cawbird as replacement."; coredumper = throw "coredumper has been removed: abandoned by upstream."; # added 2019-11-16 cpp_ethereum = throw "cpp_ethereum has been removed; abandoned upstream."; # added 2020-11-30 @@ -746,6 +748,7 @@ mapAliases ({ speedtest_cli = speedtest-cli; # added 2015-02-17 spice_gtk = spice-gtk; # added 2018-02-25 spice_protocol = spice-protocol; # added 2018-02-25 + spidermonkey_1_8_5 = throw "spidermonkey_1_8_5 has been removed, because it is based on Firefox 4.0 from 2011."; # added 2021-05-03 spidermonkey_38 = throw "spidermonkey_38 has been removed. Please use spidermonkey_78 instead."; # added 2021-03-21 spidermonkey_52 = throw "spidermonkey_52 has been removed. Please use spidermonkey_78 instead."; # added 2019-10-16 spidermonkey_60 = throw "spidermonkey_60 has been removed. Please use spidermonkey_78 instead."; # added 2021-03-21 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5dec430b2db..91042040ad1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12201,7 +12201,6 @@ in sparkleshare = callPackage ../applications/version-management/sparkleshare { }; - spidermonkey_1_8_5 = callPackage ../development/interpreters/spidermonkey/1.8.5.nix { }; spidermonkey_68 = callPackage ../development/interpreters/spidermonkey/68.nix { }; spidermonkey_78 = callPackage ../development/interpreters/spidermonkey/78.nix { }; @@ -18601,15 +18600,6 @@ in clickhouse-cli = with python3Packages; toPythonApplication clickhouse-cli; - couchdb = callPackage ../servers/http/couchdb { - sphinx = python27Packages.sphinx; - erlang = erlangR19; - }; - - couchdb2 = callPackage ../servers/http/couchdb/2.0.0.nix { - erlang = erlangR21; - }; - couchdb3 = callPackage ../servers/http/couchdb/3.nix { erlang = erlangR22; };