at 24.05-pre 49 lines 1.3 kB view raw
1{ stdenv, lib, fetchFromGitHub, cmake, zlib, libxml2, eigen, python, cairo, pcre, pkg-config, swig, rapidjson }: 2 3stdenv.mkDerivation rec { 4 pname = "openbabel"; 5 version = "3.1.1"; 6 7 src = fetchFromGitHub { 8 owner = "openbabel"; 9 repo = "openbabel"; 10 rev = "openbabel-${lib.replaceStrings ["."] ["-"] version}"; 11 sha256 = "sha256-wQpgdfCyBAoh4pmj9j7wPTlMtraJ62w/EShxi/olVMY="; 12 }; 13 14 postPatch = '' 15 sed '1i#include <ctime>' -i include/openbabel/obutil.h # gcc12 16 ''; 17 18 buildInputs = [ zlib libxml2 eigen python cairo pcre swig rapidjson ]; 19 20 nativeBuildInputs = [ cmake pkg-config ]; 21 22 pythonMajorMinor = "${python.sourceVersion.major}.${python.sourceVersion.minor}"; 23 24 cmakeFlags = [ 25 "-DRUN_SWIG=ON" 26 "-DPYTHON_BINDINGS=ON" 27 ]; 28 29 postFixup = '' 30 cat <<EOF > $out/lib/python$pythonMajorMinor/site-packages/setup.py 31 from distutils.core import setup 32 33 setup( 34 name = 'pyopenbabel', 35 version = '${version}', 36 packages = ['openbabel'], 37 package_data = {'openbabel' : ['_openbabel.so']} 38 ) 39 EOF 40 ''; 41 42 meta = with lib; { 43 description = "A toolbox designed to speak the many languages of chemical data"; 44 homepage = "http://openbabel.org"; 45 platforms = platforms.all; 46 license = licenses.gpl2Plus; 47 maintainers = with maintainers; [ danielbarter ]; 48 }; 49}