summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2013-07-30 16:33:46 +0200
committerEvgeny Egorochkin <phreedom@yandex.ru>2013-08-31 23:05:32 +0300
commitcf762c8f58529849d373b5007d9b5ff73ae16172 (patch)
tree45280807e68613c28205ec6815e94a1b8a1f24d4
parent2a798997a3189f86f13e60a057381e54e7c02250 (diff)
downloadnixlib-cf762c8f58529849d373b5007d9b5ff73ae16172.tar
nixlib-cf762c8f58529849d373b5007d9b5ff73ae16172.tar.gz
nixlib-cf762c8f58529849d373b5007d9b5ff73ae16172.tar.bz2
nixlib-cf762c8f58529849d373b5007d9b5ff73ae16172.tar.lz
nixlib-cf762c8f58529849d373b5007d9b5ff73ae16172.tar.xz
nixlib-cf762c8f58529849d373b5007d9b5ff73ae16172.tar.zst
nixlib-cf762c8f58529849d373b5007d9b5ff73ae16172.zip
firebirdSuper settings
document why its better to not use --with-system-icu

See patch for nixos adding firebird service

Signed-off-by: Marc Weber <marco-oweber@gmx.de>
-rw-r--r--pkgs/development/libraries/icu/default.nix1
-rw-r--r--pkgs/servers/firebird/default.nix49
-rw-r--r--pkgs/top-level/all-packages.nix3
3 files changed, 43 insertions, 10 deletions
diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix
index 3d37db20edcd..838d6f7b75fd 100644
--- a/pkgs/development/libraries/icu/default.nix
+++ b/pkgs/development/libraries/icu/default.nix
@@ -1,6 +1,7 @@
 {stdenv, fetchurl}:
 
 let
+
   pname = "icu4c";
   version = "51.1";
 in
diff --git a/pkgs/servers/firebird/default.nix b/pkgs/servers/firebird/default.nix
index 8ad16a3df2e9..365af29595c1 100644
--- a/pkgs/servers/firebird/default.nix
+++ b/pkgs/servers/firebird/default.nix
@@ -1,4 +1,20 @@
-{stdenv, fetchurl, libedit, icu
+{stdenv, fetchurl, libedit, ncurses, automake, autoconf, libtool
+, 
+  # icu = null: use icu which comes with firebird
+
+  # icu = pkgs.icu => you may have trouble sharing database files with windows
+  # users if "Collation unicode" columns are being used
+  # windows icu version is *30.dll, however neither the icu 3.0 nor the 3.6
+  # sources look close to what ships with this package.
+  # Thus I think its best to trust firebird devs and use their version
+
+  # icu version missmatch may cause such error when selecting from a table:
+  # "Collation unicode for character set utf8 is not installed"
+
+  # icu 3.0 can still be build easily by nix (by dropping the #elif case and
+  # make | make)
+  icu ? null
+
 , superServer ? false
 , port ? 3050
 , serviceName ? "gds_db"
@@ -6,9 +22,9 @@
 
 /*
    there are 3 ways to use firebird:
-   a) superserver 
+   a) superserver
     - one process, one thread for each connection
-   b) classic 
+   b) classic
     - is built by default
     - one process for each connection
     - on linux direct io operations (?)
@@ -22,23 +38,38 @@
 */
 
 stdenv.mkDerivation rec {
-  version = "2.5.2.26539-0";
+  version = "2.5.2.26540-0";
   name = "firebird-${version}";
 
+  # enableParallelBuilding = false; build fails
+
+  # http://tracker.firebirdsql.org/browse/CORE-3246
+  preConfigure = ''
+    makeFlags="$makeFlags CPU=$NIX_BUILD_CORES"
+  '';
+
   configureFlags =
     [ "--with-serivec-port=${builtins.toString port}"
       "--with-service-name=${serviceName}"
-      # "--with-system-icu"
-      # "--with-system-editline"
+      # "--disable-static"
+      "--with-system-editline"
+      "--with-fblog=/var/log/firebird"
+      "--with-fbconf=/etc/firebird"
+      "--with-fbsecure-db=/var/db/firebird/system"
     ]
-    ++ (stdenv.lib.optional superServer "--enable-superserver=true");
+    ++ (stdenv.lib.optional  (icu != null) "--with-system-icu")
+    ++ (stdenv.lib.optional superServer "--enable-superserver");
 
   src = fetchurl {
     url = "mirror://sourceforge/firebird/Firebird-${version}.tar.bz2";
-    sha256 = "1j5bcfl35hr6i4lcd08zls19bal2js3ar16gnwkzbhwxkxbyb43b";
+    sha256 = "0887a813wffp44hnc2gmwbc4ylpqw3fh3hz3bf6q3648344a9fdv";
   };
 
-  buildInputs = [libedit icu];
+  # configurePhase = ''
+  #   sed -i 's@cp /usr/share/automake-.*@@' autogen.sh
+  #   sh autogen.sh $configureFlags --prefix=$out
+  # '';
+  buildInputs = [libedit icu automake autoconf libtool];
 
   # TODO: Probably this hase to be tidied up..
   # make install requires beeing. disabling the root checks
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 256a2b5cb4d7..0f1dc340c08e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5970,7 +5970,8 @@ let
 
   fingerd_bsd = callPackage ../servers/fingerd/bsd-fingerd { };
 
-  firebird = callPackage ../servers/firebird { };
+  firebird = callPackage ../servers/firebird { icu = null; };
+  firebirdSuper = callPackage ../servers/firebird { superServer = true; };
 
   freepops = callPackage ../servers/mail/freepops { };