Code change:
<del> {lib, stdenv, fetchurl, libedit, 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 built easily by nix (by dropping the #elif case and # make | make) icu ? null , superServer ? false , port ? 3050 , serviceName ? "gds_db" }: /* there are 3 ways to use firebird: a) superserver - one process, one thread for each connection b) classic - is built by default - one process for each connection - on linux direct io operations (?) c) embedded. manual says that you usually don't notice the difference between a and b. I'm only interested in the embedder shared libary for now. So everything isn't tested yet */ stdenv.mkDerivation rec { version = "2.5.7.27050-0"; </del> <ins> { lib, stdenv, fetchFromGitHub, libedit, autoreconfHook, zlib, unzip, libtommath, libtomcrypt, icu, superServer ? false }: let base = { </ins> pname = "firebird"; <del> # enableParallelBuilding = false; build fails </del> <ins> meta = with lib; { description = "SQL relational database management system"; homepage = "https://firebirdsql.org/"; changelog = "https://github.com/FirebirdSQL/firebird/blob/master/CHANGELOG.md"; license = [ "IDPL" "Interbase-1.0" ]; platforms = platforms.linux; maintainers = with maintainers; [ marcweber ]; }; nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ libedit icu ]; </ins> <del> # http://tracker.firebirdsql.org/browse/CORE-3246 preConfigure = '' makeFlags="$makeFlags CPU=$NIX_BUILD_CORES" </del> <ins> LD_LIBRARY_PATH = lib.makeLibraryPath [ icu ]; configureFlags = [ "--with-system-editline" ] ++ (lib.optional superServer "--enable-superserver"); installPhase = '' runHook preInstall mkdir -p $out cp -r gen/Release/firebird/* $out runHook postInstall </ins> ''; <del> configureFlags = [ "--with-serivec-port=${builtins.toString port}" "--with-service-name=${serviceName}" "--with-system-editline" "--with-fblog=/var/log/firebird" "--with-fbconf=/etc/firebird" "--with-fbsecure-db=/var/db/firebird/system" ] ++ (lib.optional  (icu != null) "--with-system-icu") ++ (lib.optional superServer "--enable-superserver"); src = fetchurl { url = "mirror://sourceforge/firebird/Firebird-${version}.tar.bz2"; sha256 = "06hp6bq5irqvm3h03s79qjgcc3jsjpq150y9aq7anklx9v4nhfqa"; }; </del> <ins> }; in { </ins> <del> hardeningDisable = [ "format" ]; </del> <ins> firebird_2_5 = stdenv.mkDerivation (base // rec { version = "2.5.9"; </ins> <del> # configurePhase = '' #   sed -i 's@cp /usr/share/automake-.*@@' autogen.sh #   sh autogen.sh $configureFlags --prefix=$out # ''; buildInputs = [libedit icu automake autoconf libtool]; </del> <ins> src = fetchFromGitHub { owner = "FirebirdSQL"; repo = "firebird"; rev = "R${builtins.replaceStrings [ "." ] [ "_" ] version}"; sha256 = "sha256-YyvlMeBux80OpVhsCv+6IVxKXFRsgdr+1siupMR13JM="; }; </ins> <del> # TODO: Probably this hase to be tidied up.. # make install requires beeing. disabling the root checks # dosen't work. Copying the files manually which can be found # in ubuntu -dev -classic, -example packages: # maybe some of those files can be removed again installPhase = "cp -r gen/firebird $out"; </del> <ins> configureFlags = base.configureFlags ++ [ "--with-system-icu" ]; </ins> <del> meta = { description = "SQL relational database management system"; homepage = "https://www.firebirdnews.org"; license = ["IDPL" "Interbase-1.0"]; maintainers = [lib.maintainers.marcweber]; platforms = lib.platforms.linux; broken = true; }; </del> <ins> installPhase = '' runHook preInstall mkdir -p $out cp -r gen/firebird/* $out runHook postInstall ''; meta = base.meta // { platforms = [ "x86_64-linux" ]; }; }); firebird_3 = stdenv.mkDerivation (base // rec { version = "3.0.7"; src = fetchFromGitHub { owner = "FirebirdSQL"; repo = "firebird"; rev = "R${builtins.replaceStrings [ "." ] [ "_" ] version}"; sha256 = "sha256-8nGan10qjW8dFF89BL/tUWtwMGhahBiODbOqRrHSrbs="; }; buildInputs = base.buildInputs ++ [ zlib libtommath ]; meta = base.meta // { platforms = [ "x86_64-linux" ]; }; }); firebird_4 = stdenv.mkDerivation (base // rec { version = "4.0.0-rc1"; src = fetchFromGitHub { owner = "FirebirdSQL"; repo = "firebird"; rev = "T4_0_0_RC1"; sha256 = "sha256-FLaRePosF5dtJ+fmrfvzkE6wawC9Z9YLhT/ZWkwWXb4="; }; buildInputs = base.buildInputs ++ [ zlib unzip libtommath libtomcrypt ]; }); </ins> }

Related discussion:
text: /include -fPIC -DOPENSSLPIC -DOPENSSLTHREADS -DREENTRANT -DDSODLFCN -DHAVEDLFCNH -m64 -DLENDIAN -O3 -Wall -DOPENSSLIA32SSE2 -DOPENSSLBNASMMONT -DOPENSSLBNASMMONT5 -DOPENSSLBNASMGF2m -DRC4ASM -DSHA1ASM -DSHA256ASM -DSHA512ASM -DMD5ASM -DAESASM -DVPAESASM -DBSAESASM -DWHIRLPOOLASM -DGHASHASM -DECPNISTZ256ASM -c -o gost2001keyx.o gost2001keyx.c error: narrowing conversion of '' from 'unsigned int' to 'icu30::IndicClassTable::ScriptFlags' {aka 'int'} [-Wnarrowing] 229 | static const IndicClassTable teluClassTable = {0x0C00, 0x0C6F, 3, TELUSCRIPTFLAGS, teluCharClasses, teluSplitTable}; | ^ error: narrowing conversion of '' from 'unsigned int' to 'icu30::IndicClassTable::ScriptFlags' {aka 'int'} [-Wnarrowing] 231 | static const IndicClassTable kndaClassTable = {0x0C80, 0x0CEF, 4, KNDASCRIPTFLAGS, kndaCharClasses, kndaSplitTable}; | ^ make[4]: [./config/mh-linux:43: IndicClassTables.o] Error 1 make[4]: Leaving directory '/build/Firebird-2.5.7.-0/extern/icu/source/layout' make[3]: [Makefile:98: all-recursive] Error 2 make[3]: Leaving directory '/build/Firebird-2.5.7.-0/extern/icu/source' make[2]: [ libicu] Error 2 make[2]: Leaving directory '/build/Firebird-2.5.7.-0/gen' make[1]: [Makefile:193: externallibraries] Error 2 make[1]: Leaving directory '/build/Firebird-2.5.7.