at 23.05-pre 45 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 buildInputs = [ zlib libxml2 eigen python cairo pcre swig rapidjson ]; 15 16 nativeBuildInputs = [ cmake pkg-config ]; 17 18 pythonMajorMinor = "${python.sourceVersion.major}.${python.sourceVersion.minor}"; 19 20 cmakeFlags = [ 21 "-DRUN_SWIG=ON" 22 "-DPYTHON_BINDINGS=ON" 23 ]; 24 25 postFixup = '' 26 cat <<EOF > $out/lib/python$pythonMajorMinor/site-packages/setup.py 27 from distutils.core import setup 28 29 setup( 30 name = 'pyopenbabel', 31 version = '${version}', 32 packages = ['openbabel'], 33 package_data = {'openbabel' : ['_openbabel.so']} 34 ) 35 EOF 36 ''; 37 38 meta = with lib; { 39 description = "A toolbox designed to speak the many languages of chemical data"; 40 homepage = "http://openbabel.org"; 41 platforms = platforms.all; 42 license = licenses.gpl2Plus; 43 maintainers = with maintainers; [ danielbarter ]; 44 }; 45}