#!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 export DEB_BUILD_MAINT_OPTIONS = hardening=+all export CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS) export CFLAGS := $(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS) export CXXFLAGS := $(shell dpkg-buildflags --get CXXFLAGS) $(CPPFLAGS) export LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS) export DOCDIR := $(CURDIR)/debian/rdkit-doc/usr/share/doc/rdkit/ export RDBASE := $(CURDIR) PY3VERS = $(shell py3versions -s) PY3DEF = $(shell py3versions -d) export DEBTMP := $(CURDIR)/debian/tmp DH_AUTO_CONFIGURE_OPTS := -DCMAKE_BUILD_TYPE=None -DCMAKE_SKIP_RPATH=ON \ -DRDK_INSTALL_INTREE=OFF \ -DRDK_BUILD_THREADSAFE_SSS=ON -DRDK_BUILD_PYTHON_WRAPPERS=ON \ -DRDK_BUILD_INCHI_SUPPORT=ON \ -DRDK_OPTIMIZE_POPCNT=OFF -DRDK_USE_URF=OFF \ -DRDK_INSTALL_COMIC_FONTS=OFF \ -DRDK_BUILD_CAIRO_SUPPORT=ON \ -DRDK_BUILD_PUBCHEMSHAPE_SUPPORT=OFF \ -DRDK_BUILD_XYZ2MOL_SUPPORT=ON \ -DRDK_BUILD_CHEMDRAW_SUPPORT=OFF \ -DBoost_NO_BOOST_CMAKE=TRUE \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCATCH_DIR=/usr/include/catch2 \ -DRDK_BUILD_PGSQL=ON \ -DPostgreSQL_CONFIG=/usr/bin/pg_config \ -DPostgreSQL_TYPE_INCLUDE_DIR="/usr/include/postgresql/18/server" \ -DCMAKE_CTEST_ARGUMENTS=--timeout=7200 include /usr/share/postgresql-common/pgxs_debian_control.mk %: dh $@ --with python3 --buildsystem cmake override_dh_auto_clean: find $(CURDIR) -name "*.pyc" | xargs rm -f $(RM) -r Projects/DbCLI/testData/bzr/ rdkit/Chem/inchi.py $(RM) -r Docs/Book/_build Code/docs rdkit/docs Code/doxygen_sqlite3.db $(RM) \ Code/ForceField/MMFF/test_data/MMFF94_dative_min.sdf \ Code/ForceField/MMFF/test_data/MMFF94_dative_min_from_SMILES.sdf \ Code/ForceField/MMFF/test_data/MMFF94_hypervalent_min.sdf \ Code/ForceField/MMFF/test_data/MMFF94_hypervalent_min_from_SMILES.sdf \ Code/ForceField/MMFF/test_data/MMFF94_reference.log \ Code/ForceField/MMFF/test_data/MMFF94s_reference.log \ Code/ForceField/MMFF/test_data/testMMFFForceField.log \ Code/GraphMol/Depictor/test_data/cis_trans_cpp.out.sdf \ Code/GraphMol/Depictor/test_data/collisions.out.sdf \ Code/GraphMol/Depictor/test_data/first_200.out.sdf \ Code/GraphMol/Depictor/test_data/test1.out.sdf \ Code/GraphMol/FileParsers/test_data/blah.sdf \ Code/GraphMol/FileParsers/test_data/cdk2_stereo.sdf \ Code/GraphMol/FileParsers/test_data/outNCI_few.sdf \ Code/GraphMol/FileParsers/test_data/outNCI_few.tdt \ Code/GraphMol/FileParsers/test_data/outNCI_first_200.props.sdf \ Code/GraphMol/FileParsers/test_data/outSmiles.csv \ Code/GraphMol/ForceFieldHelpers/UFF/test_data/Issue62.sdf \ Code/GraphMol/MolAlign/test_data/ref_e2_pyCrippenO3A.sdf \ Code/GraphMol/SLNParse/lex.yysln.cpp \ Code/GraphMol/SLNParse/sln.tab.cpp \ Code/GraphMol/SLNParse/sln.tab.hpp \ Code/GraphMol/SmilesParse/lex.yysmarts.cpp \ Code/GraphMol/SmilesParse/lex.yysmiles.cpp \ Code/GraphMol/SmilesParse/smarts.tab.cpp \ Code/GraphMol/SmilesParse/smarts.tab.hpp \ Code/GraphMol/SmilesParse/smiles.tab.cpp \ Code/GraphMol/SmilesParse/smiles.tab.hpp \ Code/GraphMol/Wrap/test_data/outNCI_few.sdf \ Code/GraphMol/Wrap/test_data/outSmiles.txt \ Code/RDGeneral/versions.cpp \ Docs/Book/Cartridge.rst \ Docs/Book/Install.rst \ Docs/Book/Overview.rst \ rdkit/ML/Data/test_data/testgeneral.dat.pkl \ rdkit/ML/Data/test_data/testquant.qdat.pkl $(RM) Code/RDGeneral/versions.h rdkit/sping/tests/testallps.ps dh_auto_clean $(RM) -rf $(CURDIR)/build-* $(RM) -rf $(CURDIR)/Code/PgSQL/rdkit/build-* override_dh_auto_configure: for py in $(PY3VERS); do \ dh_auto_configure --builddirectory=build-$$py -- $(DH_AUTO_CONFIGURE_OPTS) -DPython3_EXECUTABLE=/usr/bin/$$py -DPYTHON_EXECUTABLE=/usr/bin/$$py; \ done for v in $$(pg_buildext supported-versions); do \ (mkdir -p Code/PgSQL/rdkit/build-$$v && cd Code/PgSQL/rdkit/build-$$v && cmake -DPostgreSQL_CONFIG=/usr/lib/postgresql/$$v/bin/pg_config -DPostgreSQL_TYPE_INCLUDE_DIR="/usr/include/postgresql/$$v/server" -DCMAKE_VERBOSE_MAKEFILE=1 -DRDKit_CodeDir=../../../Code ../); \ done override_dh_auto_build: for py in $(PY3VERS); do \ dh_auto_build --builddirectory=build-$$py; \ done for v in $$(pg_buildext supported-versions); do \ (cd Code/PgSQL/rdkit/build-$$v && make || $$(cat ../../../../build-$(PY3DEF)/Code/PgSQL/rdkit/CMakeFiles/rdkit.dir/link.txt | sed -e 's#\.\./\.\./#../../../../build-$(PY3DEF)/Code/#g')); \ done (cd $(CURDIR)/Code; doxygen doxygen/doxygen.config) (cd $(CURDIR)/Docs/Book; RDBASE=$(CURDIR) $(MAKE) html) # latexpdf build fails due to https://github.com/rdkit/rdkit/issues/8850 # (cd $(CURDIR)/Docs/Book; RDBASE=$(CURDIR) $(MAKE) latexpdf) override_dh_auto_install: for py in $(filter-out $(PY3DEF),$(PY3VERS)) $(PY3DEF); do \ dh_auto_install --builddirectory=build-$$py; \ done override_dh_install: mkdir -p $(DEBTMP)/usr/lib/python3/dist-packages for py in $(PY3VERS); do \ for dir in site-packages dist-packages; do \ if [ -d $(DEBTMP)/usr/lib/$$py/$$dir ]; then \ cp -a $(DEBTMP)/usr/lib/$$py/$$dir/* $(DEBTMP)/usr/lib/python3/dist-packages/; \ fi; \ done; \ $(RM) -rf $(DEBTMP)/usr/lib/$$py; \ done ln -sf /usr/share/fonts/truetype/freefont/FreeSans.ttf $(DEBTMP)/usr/lib/python3/dist-packages/rdkit/Chem/Draw/FreeSans.ttf dh_install -ppython3-rdkit /usr/lib/python3 $(RM) -rf $(DEBTMP)/usr/lib/python3/dist-packages/rdkit/docs/ $(RM) -rf $(DEBTMP)/usr/share/RDKit/Projects/__pycache__ $(RM) -rf $(DEBTMP)/usr/share/RDKit/Projects/DbCLI/__pycache__ dh_install for v in $$(pg_buildext supported-versions); do \ mkdir -p debian/postgresql-$$v-rdkit/usr/lib/postgresql/$$v/lib/ debian/postgresql-$$v-rdkit/usr/share/postgresql/$$v/extension/; \ cp Code/PgSQL/rdkit/build-$$v/librdkit.so debian/postgresql-$$v-rdkit/usr/lib/postgresql/$$v/lib/rdkit.so; \ cp Code/PgSQL/rdkit/build-$$v/rdkit*.sql debian/postgresql-$$v-rdkit/usr/share/postgresql/$$v/extension/; \ cp Code/PgSQL/rdkit/build-$$v/update_sql/rdkit*.sql debian/postgresql-$$v-rdkit/usr/share/postgresql/$$v/extension/; \ cp Code/PgSQL/rdkit/rdkit.control debian/postgresql-$$v-rdkit/usr/share/postgresql/$$v/extension/; \ done mkdir -p $(DOCDIR) # cp $(CURDIR)/Docs/Book/_build/latex/RDKit.pdf $(DOCDIR) cp -a $(CURDIR)/Docs/Book/_build/html $(DOCDIR) ln -sf /usr/share/javascript/jquery/jquery.js $(DOCDIR)/html/cppapi/jquery.js ln -sf /usr/share/javascript/jquery/jquery.js $(DOCDIR)/html/_static/jquery.js ln -sf /usr/share/javascript/underscore/underscore.js $(DOCDIR)/html/_static/underscore.js override_dh_missing: dh_missing --list-missing override_dh_installchangelogs: dh_installchangelogs ReleaseNotes.md override_dh_python3: dh_python3 -ppython3-rdkit dh_numpy3 -ppython3-rdkit override_dh_auto_test: for py in $(PY3VERS); do \ cp -r rdkit build-$$py/; \ PYTHONPATH=$(CURDIR)/build-$$py:$(CURDIR)/build-$$py/rdkit/Chem LD_LIBRARY_PATH="$(CURDIR)/build-$$py/lib:$(LD_LIBRARY_PATH)" dh_auto_test --builddirectory=build-$$py; \ done