summary refs log tree commit diff
path: root/pkgs/servers/firebird/default.nix
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 /pkgs/servers/firebird/default.nix
parent2a798997a3189f86f13e60a057381e54e7c02250 (diff)
downloadnixpkgs-cf762c8f58529849d373b5007d9b5ff73ae16172.tar
nixpkgs-cf762c8f58529849d373b5007d9b5ff73ae16172.tar.gz
nixpkgs-cf762c8f58529849d373b5007d9b5ff73ae16172.tar.bz2
nixpkgs-cf762c8f58529849d373b5007d9b5ff73ae16172.tar.lz
nixpkgs-cf762c8f58529849d373b5007d9b5ff73ae16172.tar.xz
nixpkgs-cf762c8f58529849d373b5007d9b5ff73ae16172.tar.zst
nixpkgs-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>
Diffstat (limited to 'pkgs/servers/firebird/default.nix')
-rw-r--r--pkgs/servers/firebird/default.nix49
1 files changed, 40 insertions, 9 deletions
diff --git a/pkgs/servers/firebird/default.nix b/pkgs/servers/firebird/default.nix
index 8ad16a3df2e..365af29595c 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