{stdenv, lib, fetchFromGitHub, fetchpatch, cmake, zlib, libxml2, eigen, python3, cairo, pcre, pkg-config }: stdenv.mkDerivation rec { pname = "openbabel"; version = "2.4.1"; src = fetchFromGitHub { owner = "openbabel"; repo = "openbabel"; rev = "openbabel-${lib.replaceStrings ["."] ["-"] version}"; sha256 = "sha256-+pXsWMzex7rB1mm6dnTHzAcyw9jImgx1OZuLeCvbeJ0="; }; patches = [ # ARM / AArch64 fixes. (fetchpatch { url = "https://github.com/openbabel/openbabel/commit/ee11c98a655296550710db1207b294f00e168216.patch"; sha256 = "0wjqjrkr4pfirzzicdvlyr591vppydk572ix28jd2sagnfnf566g"; }) ]; postPatch = '' sed '1i#include ' -i include/openbabel/obutil.h # gcc12 ''; buildInputs = [ zlib libxml2 eigen python3 cairo pcre ]; nativeBuildInputs = [ cmake pkg-config ]; meta = with lib; { description = "A toolbox designed to speak the many languages of chemical data"; homepage = "http://openbabel.org"; platforms = platforms.all; maintainers = with maintainers; [ danielbarter ]; license = licenses.gpl2Plus; }; }