Change:
Bug description nixos-build switch produces a build error due to firebird-2.5.7.-0 while firebird is not explicitly mentioned anywhere in the file... To Reproduce -channel --update -build switch error message a few apps from file hoping that one of them would be asking for firebird to be installed behind the scene at no avail... Expected behavior A clean error free build. Screenshot ... making all in engines/ccgost... g++ -DREENTRANT -I. -I../common -I../common -I./unicode -I./.. -DREENTRANT -DHAVECONFIGH -DULAYOUTIMPLEMENTATION -O -c -DPIC -fPIC -o HebrewLigatureData.o make[2]: Entering directory '/build/openssl-1.0.2u/engines/ccgost' gcc -I../../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 egosterr.o egosterr.c g++ -DREENTRANT -I. -I../common -I../common -I./unicode -I./.. -DREENTRANT -DHAVECONFIGH -DULAYOUTIMPLEMENTATION -O -c -DPIC -fPIC -o HebrewShaping.o g++ -DREENTRANT -I. -I../common -I../common -I./unicode -I./.. -DREENTRANT -DHAVECONFIGH -DULAYOUTIMPLEMENTATION -O -c -DPIC -fPIC -o IndicClassTables.o gcc -I../../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.-0/gen' make: [Makefile:6: firebird] Error 2 builder for '/nix/store/589jgyzjbbn6zl870qswm80pi4xh8ffq-firebird-2.5.7.-0.drv' failed with exit code 2 building '/nix/store/f5v53hni9pnldx4l0v4svxv0ibl62ir3-tor-browser-linux64-9.0.9en-'... cannot build derivation '/nix/store/c1wpclz112ssp5ki6m546llszn144bq8-wt-': 1 dependencies couldn't be built cannot build derivation '/nix/store/8izfzp2k51zz3385cq14ffd31l2c8bwg-fileshelter-': 1 dependencies couldn't be built cannot build derivation '/nix/store/wi7fzbgmwj9rrzm48mlcsvw51lymmcz8-system-': 1 dependencies couldn't be built building '/nix/store/75r17sql3df7jq3azd76w9fjw6870wm6-'... building '/nix/store/0zq0cb92k0w72ri9jb2zd65gzpnhx6fv-udev-'... building '/nix/store/jqc775s8a0m6r6qhwcfssjdya326s6z0-unit-NetworkManager-'... building '/nix/store/bvg0a7ah4bd77s86f16rq7jsl7sh3nxy-unit-NetworkManager-wait-'... building '/nix/store/vbnnzk9kdx828c8vi3pqcjayrf1ja43n-unit-'... building '/nix/store/df1ffd22pbca5x7ya5mwa8prm40mg54p-unit-alsa-'... cannot build derivation '/nix/store/4375h9w8pmppld22s4jb6ag05riw87vg-xsession-': 1 dependencies couldn't be built cannot build derivation '/nix/store/gi689m2ph1avv6n2svvlzr5d2v2xm4p1-nixos-system-bx26-': 1 dependencies couldn't be built error: build of '/nix/store/gi689m2ph1avv6n2svvlzr5d2v2xm4p1-nixos-system-bx26-' failed Notify Weber <marco-<!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Metadata* system: host os: multi-user?: sandbox: version: channels(root): channels(k): nixpkgs:
This is pulled in as an indirect dependency of via .
I marked this as stale due to inactivity. &rarr;

Discussion:
<del> { lib, stdenv, fetchurl, fetchpatch, libtool }: </del> <ins> { lib, stdenv, fetchurl, fetchpatch, libtool, libtommath }: </ins> stdenv.mkDerivation rec { pname = "libtomcrypt";

}) ]; <del> nativeBuildInputs = [ libtool ]; </del> <ins> nativeBuildInputs = [ libtool libtommath ]; </ins> postPatch = '' substituteInPlace makefile.shared --replace "LT:=glibtool" "LT:=libtool" ''; preBuild = '' <del> makeFlagsArray=(PREFIX=$out  </del> <ins> makeFlagsArray+=(PREFIX=$out  CFLAGS="-DUSE_LTM -DLTM_DESC -DLTC_PTHREAD"  EXTRALIBS="-ltommath"  </ins> INSTALL_GROUP=$(id -g)  INSTALL_USER=$(id -u)) '';

<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> }

fingerd_bsd = callPackage ../servers/fingerd/bsd-fingerd { }; <del> firebird = callPackage ../servers/firebird { icu = null; /*stdenv = gcc5Stdenv;*/ }; firebirdSuper = firebird.override { icu = icu58; superServer = true; /*stdenv = gcc5Stdenv;*/ }; </del> <ins> inherit (callPackages ../servers/firebird { }) firebird_4 firebird_3 firebird_2_5; firebird = firebird_3; </ins> freeradius = callPackage ../servers/freeradius { };