public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/openbabel/, sci-chemistry/openbabel/files/
@ 2021-12-15 10:09 Andrew Ammerlaan
  0 siblings, 0 replies; 5+ messages in thread
From: Andrew Ammerlaan @ 2021-12-15 10:09 UTC (permalink / raw
  To: gentoo-commits

commit:     e4d21e84be5fb16ae0d7f9bee7f7ab33fcb93eee
Author:     Peter Levine <plevine457 <AT> gmail <DOT> com>
AuthorDate: Sun Mar 21 07:54:12 2021 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Wed Dec 15 10:09:01 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4d21e84

sci-chemistry/openbabel: Add openbabel-9999

Add an up-to-date live ebuild with a templated versioning scheme,
and match the bindings to USE flags.

Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Peter Levine <plevine457 <AT> gmail.com>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 sci-chemistry/openbabel/Manifest                   |   1 +
 .../openbabel/files/openbabel-python.cmake         | 104 ++++++++
 sci-chemistry/openbabel/metadata.xml               |   4 +
 sci-chemistry/openbabel/openbabel-9999.ebuild      | 272 +++++++++++++++++++++
 4 files changed, 381 insertions(+)

diff --git a/sci-chemistry/openbabel/Manifest b/sci-chemistry/openbabel/Manifest
index b22751d4a860..ac334bea30ea 100644
--- a/sci-chemistry/openbabel/Manifest
+++ b/sci-chemistry/openbabel/Manifest
@@ -1,2 +1,3 @@
 DIST openbabel-2.4.1.tar.gz 11618304 BLAKE2B 8fc051e83add9be6456e281a109bd6bbec282a64ffc83309819f0decbf167b4914fbb7f1966e95e103f268754045b804317f51c79a952ace707c6af2bd320125 SHA512 427e678f0a911bd27b9a8a05e60b6e09f113be4e5dd180daaf80c28d06368e52b57501261755ab3817a8d31f2754db24471fd0ceee706d029386d6f70800e9c6
+DIST openbabel.jpg 12159 BLAKE2B b701df2b8c29df607dc2bd3997a282aa9a726d56c789ff2db900d33234dc691f76b6af12a4c9ccda4f09984504b863c40c39e8bf91058939996714ede2dd37c7 SHA512 998ea526c8c92f87dd203527fdd9f4e001357e951409209f41ab68e0b730fe12d97f9079c12ca289be413854ea2abcf8bb691ae5af823a6f29d6a590e1a3e2b0
 DIST openbabel.png 29060 BLAKE2B 8d217d92125cc73462437411dd4e0cc05179cb0934f5ed15a307acc6b549b8ebab250a48a05ef7657f48c6df394f37da9b659de61efb1477b79b573a5b393ad3 SHA512 bbcaaa37663b526c9038ccb9edaf05ccc3ad1a861739a737f05f363098d8402a10b36e341fcc0aca636e809c6c32db99bf987b41719a0c756bf5e31444d3eb70

diff --git a/sci-chemistry/openbabel/files/openbabel-python.cmake b/sci-chemistry/openbabel/files/openbabel-python.cmake
new file mode 100644
index 000000000000..425b4656a9d2
--- /dev/null
+++ b/sci-chemistry/openbabel/files/openbabel-python.cmake
@@ -0,0 +1,104 @@
+# The following is a cmake fragment taken from scripts/CMakeLists.txt and
+# edited for Gentoo python multibuild compatibility.
+
+if (PYTHON_BINDINGS)
+	# Tags should be edited to reflect the active python implementation
+	set(EPYTHON @@EPYTHON@@)
+	set(PYTHON_INCUDE_DIR @@PYTHON_INCUDE_DIR@@)
+	set(PYTHON_LIBS @@PYTHON_LIBS@@)
+	set(PYTHON_SITEDIR @@PYTHON_SITEDIR@@)
+
+	include_directories(${PYTHON_INCUDE_DIR})
+
+	add_custom_command(
+		OUTPUT ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel-python.cpp ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel.py
+		COMMAND ${SWIG_EXECUTABLE} -python -c++ -small -O -templatereduce -naturalvar -I${CMAKE_SOURCE_DIR}/include -I${CMAKE_BINARY_DIR}/include -o ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel-python.cpp ${eigen_define} -outdir ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON} ${CMAKE_SOURCE_DIR}/scripts/openbabel-python.i
+		MAIN_DEPENDENCY openbabel-python.i
+		VERBATIM
+	)
+
+	configure_file(${CMAKE_SOURCE_DIR}/scripts/python/openbabel/__init__.py.in
+		${CMAKE_BINARY_DIR}/scripts/${EPYTHON}/openbabel/__init__.py)
+
+	add_library(bindings_python_${EPYTHON} MODULE ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel-python.cpp)
+	target_link_libraries(bindings_python_${EPYTHON} ${PYTHON_LIBS} ${BABEL_LIBRARY})
+
+	set_target_properties(bindings_python_${EPYTHON}
+		PROPERTIES
+		OUTPUT_NAME _openbabel
+		LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/scripts/${EPYTHON}/openbabel
+		PREFIX ""
+		SUFFIX .so )
+
+	add_dependencies(bindings_python_${EPYTHON} openbabel)
+
+	install(TARGETS bindings_python_${EPYTHON}
+		LIBRARY DESTINATION ${PYTHON_SITEDIR}/openbabel
+		COMPONENT bindings_python)
+	install(FILES ${CMAKE_BINARY_DIR}/scripts/${EPYTHON}/openbabel/__init__.py
+		DESTINATION ${PYTHON_SITEDIR}/openbabel
+		COMPONENT bindings_python)
+	install(FILES ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel.py
+		DESTINATION ${PYTHON_SITEDIR}/openbabel
+		COMPONENT bindings_python)
+	install(FILES ${CMAKE_SOURCE_DIR}/scripts/python/openbabel/pybel.py
+		DESTINATION ${PYTHON_SITEDIR}/openbabel
+		COMPONENT bindings_python)
+
+	if (ENABLE_TESTS)
+		# Make sure all module files are together in the same directory for testing
+		add_custom_command(TARGET bindings_python_${EPYTHON} POST_BUILD
+			COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel.py ${CMAKE_BINARY_DIR}/scripts/${EPYTHON}/openbabel/
+			COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/scripts/python/openbabel/pybel.py ${CMAKE_BINARY_DIR}/scripts/${EPYTHON}/openbabel/)
+		set(TEST_SOURCE_DIR ${CMAKE_SOURCE_DIR}/test)
+		# define TESTDATADIR for tests that need input files
+		add_definitions(-DTESTDATADIR="${TEST_SOURCE_DIR}/files/")
+		# define FORMATDIR for location of format plugin binaries
+		set(FORMATDIR "${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}/")
+		add_definitions(-DFORMATDIR="${FORMATDIR}/")
+		include_directories(${TEST_SOURCE_DIR})
+
+		# The macro is modified from cmake/modules/UsePythonTest.cmake
+		MACRO(ADD_PYTHON_TEST TESTNAME FILENAME)
+			GET_SOURCE_FILE_PROPERTY(loc ${FILENAME} LOCATION)
+			STRING(REGEX REPLACE ";" " " wo_semicolumn "${ARGN}")
+			FILE(WRITE ${CMAKE_BINARY_DIR}/test/${TESTNAME}.cmake
+"
+	MESSAGE(\"${PYTHONPATH}\")
+	EXECUTE_PROCESS(
+		COMMAND ${EPYTHON} ${loc} ${wo_semicolumn}
+		RESULT_VARIABLE import_res
+		OUTPUT_VARIABLE import_output
+		ERROR_VARIABLE  import_output
+	)
+
+	# Pass the output back to ctest
+	IF(import_output)
+		MESSAGE(\${import_output})
+	ENDIF(import_output)
+	IF(import_res)
+		MESSAGE(SEND_ERROR \${import_res})
+	ENDIF(import_res)
+"
+			)
+			ADD_TEST(${TESTNAME} ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/test/${TESTNAME}.cmake)
+		ENDMACRO(ADD_PYTHON_TEST)
+
+		set(pybindtests
+			bindings
+			_pybel
+			example 
+			obconv_writers
+			cdjsonformat
+			pcjsonformat
+			roundtrip
+			)
+		foreach(pybindtest ${pybindtests})
+			ADD_PYTHON_TEST(pybindtest_${pybindtest}_${EPYTHON} ${TEST_SOURCE_DIR}/test${pybindtest}.py)
+			set_tests_properties(pybindtest_${pybindtest}_${EPYTHON} PROPERTIES
+				ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/scripts/${EPYTHON}:${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX};LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/scripts/${EPYTHON}:${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}:\$ENV{LD_LIBRARY_PATH};BABEL_LIBDIR=${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}/;BABEL_DATADIR=${CMAKE_SOURCE_DIR}/data"
+				FAIL_REGULAR_EXPRESSION "ERROR;FAIL;Test failed"
+			)
+		endforeach(pybindtest ${pybindtests})
+	endif (ENABLE_TESTS)
+endif(PYTHON_BINDINGS)

diff --git a/sci-chemistry/openbabel/metadata.xml b/sci-chemistry/openbabel/metadata.xml
index 88ffa5eb106b..f31c73d435ac 100644
--- a/sci-chemistry/openbabel/metadata.xml
+++ b/sci-chemistry/openbabel/metadata.xml
@@ -14,4 +14,8 @@
 	<upstream>
 		<remote-id type="sourceforge">openbabel</remote-id>
 	</upstream>
+	<use>
+		<flag name="inchi">Build support for IUPAC International Chemical Identifier format</flag>
+		<flag name="json">Build support for JSON formats (ChemDoodle, PubChem, etc...)</flag>
+	</use>
 </pkgmetadata>

diff --git a/sci-chemistry/openbabel/openbabel-9999.ebuild b/sci-chemistry/openbabel/openbabel-9999.ebuild
new file mode 100644
index 000000000000..8f231a4565a2
--- /dev/null
+++ b/sci-chemistry/openbabel/openbabel-9999.ebuild
@@ -0,0 +1,272 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8,9} )
+WX_GTK_VER=3.0-gtk3
+
+inherit cmake desktop flag-o-matic perl-functions python-r1 toolchain-funcs wxwidgets xdg-utils
+
+DESCRIPTION="Interconverts file formats used in molecular modeling"
+HOMEPAGE="https://openbabel.org/"
+
+if [[ "${PV}" == *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/openbabel/${PN}.git"
+else
+	if [[ "${PV}" == *_p* ]]; then	# eg., openbabel-3.1.1_p20210325
+		# Set to commit hash
+		OPENBABEL_COMMIT=
+		SRC_URI="https://github.com/${PN}/${PN}/archive/${OPENBABEL_COMMIT}.tar.gz -> ${P}.tar.gz"
+		S="${WORKDIR}/${PN}-${OPENBABEL_COMMIT}"
+	else
+		MY_P="${PN}-$(ver_rs 1- -)"
+		SRC_URI="https://github.com/${PN}/${PN}/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
+		S="${WORKDIR}/${PN}-${MY_P}"
+	fi
+	KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+fi
+
+SRC_URI="${SRC_URI}
+	https://openbabel.org/docs/dev/_static/babel130.png -> ${PN}.png
+	http://openbabel.org/OBTitle.jpg ->  ${PN}.jpg"
+
+# See src/CMakeLists.txt for LIBRARY_VERSION
+SLOT="0/7.0.0"
+LICENSE="GPL-2"
+IUSE="cpu_flags_arm_neon cpu_flags_x86_sse2 cpu_flags_x86_sse4_2 doc examples +inchi json minimal openmp perl png python test wxwidgets"
+
+RESTRICT="!test? ( test )"
+
+# Inaccurate dependency logic upstream
+REQUIRED_USE="
+	python? ( ${PYTHON_REQUIRED_USE} )
+	test? ( inchi json !minimal wxwidgets )
+"
+
+BDEPEND="
+	dev-lang/perl
+	doc? (
+		app-doc/doxygen
+		dev-texlive/texlive-latex
+	)
+	perl? ( >=dev-lang/swig-2 )
+	python? ( >=dev-lang/swig-2 )
+	test? ( dev-lang/python )
+"
+
+COMMON_DEPEND="
+	dev-cpp/eigen:3
+	dev-libs/libxml2:2
+	sys-libs/zlib:=
+	inchi? ( sci-libs/inchi )
+	json? ( >=dev-libs/rapidjson-1.1.0 )
+	png? ( x11-libs/cairo )
+	python? ( ${PYTHON_DEPS} )
+	wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	perl? ( dev-lang/perl )
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	perl? (
+		dev-lang/perl:=
+		!sci-chemistry/openbabel-perl
+	)
+"
+
+pkg_setup() {
+	use openmp && tc-check-openmp
+}
+
+prepare_python_bindings() {
+	mkdir -p scripts/${EPYTHON} || die
+	# Appends to scripts/CMakeLists.txt, substituting the correct tags, for
+	# each valid python implementation,
+	cat "${FILESDIR}"/${PN}-python.cmake | \
+		sed -e "s|@@EPYTHON@@|${EPYTHON}|" \
+			-e "s|@@PYTHON_INCUDE_DIR@@|$(python_get_includedir)|" \
+			-e "s|@@PYTHON_LIBS@@|$(python_get_LIBS)|" \
+			-e "s|@@PYTHON_SITEDIR@@|$(python_get_sitedir)|" >> \
+				scripts/CMakeLists.txt || die
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	if use perl; then
+		perl_set_version
+
+		sed -e "/\${LIB_INSTALL_DIR}\/auto/s|\${LIB_INSTALL_DIR}|${VENDOR_ARCH}|" \
+			-e "/\${LIB_INSTALL_DIR}\/Chemistry/s|\${LIB_INSTALL_DIR}|${VENDOR_ARCH}|" \
+			-i scripts/CMakeLists.txt || die
+	fi
+
+	if use python; then
+		# Skip the python bindings sections as we'll append our own
+		sed -e '/^if (PYTHON_BINDINGS)$/s|PYTHON_BINDINGS|false|' \
+			-i {scripts,test}/CMakeLists.txt || die
+		if use test; then
+			# Problems with testbindings built with -O2
+			local test_skip="@unittest.skip('Similar to Issue #2138')"
+			sed -e "/def testTemplates/s|^|    ${test_skip}\\n|" \
+				-i test/testbindings.py || die
+			test_skip="@unittest.skip('Similar to Issue #2246')"
+			sed -e "/^def test_write_string/s|^|${test_skip}\\n|" \
+				-i test/testobconv_writers.py || die
+			fi
+		python_foreach_impl prepare_python_bindings
+	fi
+
+	# Remove dependency automagic
+	if ! use png; then
+		sed -e '/^find_package(Cairo/d' -i CMakeLists.txt || die
+	fi
+	if ! use wxwidgets; then
+		sed -e '/^find_package(wxWidgets/d' -i CMakeLists.txt || die
+	fi
+	if ! use inchi; then
+		sed -e '/^else()$/s|else\(\)|elseif\(false\)|' \
+			-i cmake/modules/FindInchi.cmake || die
+	fi
+
+	# Don't install example bins to /usr/bin
+	if use examples; then
+		sed -e "/RUNTIME DESTINATION/s|bin|share/doc/${PF}/examples|" \
+			-i doc/examples/CMakeLists.txt || die
+	fi
+
+	# boost is only used if building with gcc-3.x, which isn't supported in
+	# Gentoo. Still, it shouldn't look for, and include, its headers
+	sed -e '/find_package(Boost/d' -i {{tools,src}/,}CMakeLists.txt || die
+}
+
+src_configure() {
+	if use json; then
+		# -DOPTIMIZE_NATIVE=ON also forces -march=native so use
+		# cpu_flags to set defines instead
+		use cpu_flags_x86_sse2 && append-cppflags -DRAPIDJSON_SSE2
+		use cpu_flags_x86_sse4_2 && append-cppflags -DRAPIDJSON_SSE42
+		use cpu_flags_arm_neon && append-cppflags -DRAPIDJSON_NEON
+	fi
+
+	use wxwidgets && setup-wxwidgets
+
+	use_bindings() {
+		(use perl || use python) && (echo 'yes' || die) || (echo 'no' || die)
+	}
+
+	local mycmakeargs=(
+		-DBUILD_DOCS=$(usex doc)
+		-DBUILD_EXAMPLES=$(usex examples)
+		-DBUILD_GUI=$(usex wxwidgets)
+		-DENABLE_OPENMP=$(usex openmp)
+		-DENABLE_TESTS=$(usex test)
+		-DMINIMAL_BUILD=$(usex minimal)
+		# Set this, otherwise it defaults to true and forces WITH_INCHI=true
+		-DOPENBABEL_USE_SYSTEM_INCHI=$(usex inchi)
+		-DOPTIMIZE_NATIVE=OFF
+		-DPERL_BINDINGS=$(usex perl)
+		-DPYTHON_BINDINGS=$(usex python)
+		-DRUN_SWIG=$(use_bindings)
+		-DWITH_COORDGEN=false
+		-DWITH_INCHI=$(usex inchi)
+		-DWITH_JSON=$(usex json)
+		-DWITH_MAEPARSER=false
+	)
+
+	if use test; then
+		# Help cmake find the python interpreter when dev-lang/python-exec is built 
+		# without native-symlinks support.
+		python_setup
+		mycmakeargs+=( -DPYTHON_EXECUTABLE="${PYTHON}" )
+	fi
+
+	cmake_src_configure
+}
+
+src_test() {
+	# Wierd deadlock causes system_load to keep rising
+	cmake_src_test -j1
+}
+
+openbabel-optimize() {
+	python_optimize "${D}/$(python_get_sitedir)"/openbabel || die
+}
+
+src_install() {
+	cmake_src_install
+
+	docinto html
+	for x in doc/*.html; do
+		[[ ${x} != doc/api*.html ]] && dodoc ${x}
+	done
+	# Rendered in some html pages
+	newdoc "${DISTDIR}"/${PN}.png babel130.png
+	newdoc "${DISTDIR}"/${PN}.jpg OBTitle.jpg
+
+	if use doc; then
+		cmake_src_install docs
+		docinto html/API
+		dodoc -r doc/API/html/.
+	fi
+
+	if use examples; then
+		# no compression since we want ready-to-run scripts
+		docompress -x /usr/share/doc/${PF}/examples
+
+		# ${PV} doesn't correspond to the internal BABEL_VERSION for
+		# live or patch release builds so we grep it
+		local babel_ver=$(
+			grep '^#define BABEL_VERSION' < \
+				"${BUILD_DIR}"/include/openbabel/babelconfig.h | \
+				cut -d \" -f 2 || die
+		)
+		docinto examples/povray
+		dodoc doc/dioxin.* doc/README*.pov*
+		# Needed by the povray example
+		dosym ../../../../${PN}/${babel_ver}/babel_povray3.inc \
+			/usr/share/doc/${PF}/examples/povray/babel31.inc
+
+	fi
+
+	if use perl; then
+		docinto /
+		newdoc scripts/perl/Changes Changes.perl
+		newdoc scripts/perl/README README.perl
+		if use examples; then
+			docinto examples/perl
+			dodoc -r scripts/perl/examples/.
+		fi
+	fi
+
+	if use python; then
+		python_foreach_impl openbabel-optimize
+		docinto /
+		newdoc scripts/python/README.rst README.python.rst
+		docinto html
+		dodoc scripts/python/*.html
+		if use examples; then
+			docinto examples/python
+			dodoc -r scripts/python/examples/.
+		fi
+	fi
+
+	if use wxwidgets; then
+		make_desktop_entry obgui "Open Babel" ${PN}
+		doicon "${DISTDIR}"/${PN}.png
+	fi
+}
+
+pkg_postinst() {
+	use wxwidgets && xdg_desktop_database_update
+}
+
+pkg_postrm() {
+	use wxwidgets && xdg_desktop_database_update
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/openbabel/, sci-chemistry/openbabel/files/
@ 2022-06-12 10:36 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2022-06-12 10:36 UTC (permalink / raw
  To: gentoo-commits

commit:     4a0dcf6b2ab6b2bc5725cc51b813bfa478bee3cf
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 12 10:26:07 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jun 12 10:36:25 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4a0dcf6b

sci-chemistry/openbabel: fix build with GCC 12

Closes: https://bugs.gentoo.org/851510
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../openbabel-3.1.1-fix-time-check-cmake.patch     | 32 ++++++++++++++++++++++
 .../openbabel/openbabel-3.1.1_p20210225.ebuild     |  4 +++
 2 files changed, 36 insertions(+)

diff --git a/sci-chemistry/openbabel/files/openbabel-3.1.1-fix-time-check-cmake.patch b/sci-chemistry/openbabel/files/openbabel-3.1.1-fix-time-check-cmake.patch
new file mode 100644
index 000000000000..69e41211023b
--- /dev/null
+++ b/sci-chemistry/openbabel/files/openbabel-3.1.1-fix-time-check-cmake.patch
@@ -0,0 +1,32 @@
+https://github.com/openbabel/openbabel/pull/2493
+
+From: Sam James <sam@gentoo.org>
+Date: Sun, 12 Jun 2022 11:23:59 +0100
+Subject: [PATCH] CMake: fix time check typo (fixes build failure w/ GCC 12)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Without this fixed check, we get a build failure with GCC 12:
+```
+/var/tmp/portage/sci-chemistry/openbabel-3.1.1_p20210225/work/openbabel-08e23f39b0cc39b4eebd937a5a2ffc1a7bac3e1b/include/openbabel/obutil.h:65:14: error: ‘clock’ was not declared in this scope; did you mean ‘clock_t’?
+   65 |       start= clock();
+      |              ^~~~~
+      |              clock_t
+```
+
+Bug: https://bugs.gentoo.org/851510
+--- a/src/config.h.cmake
++++ b/src/config.h.cmake
+@@ -182,8 +182,8 @@
+ #define OB_MODULE_PATH "@OB_MODULE_PATH@"
+ 
+ #ifndef TIME_WITH_SYS_TIME
+-  #ifdef HAVE_SYS_TIME
+-    #ifdef HAVE_TIME
++  #ifdef HAVE_SYS_TIME_H
++    #ifdef HAVE_TIME_H
+       #define TIME_WITH_SYS_TIME 1
+     #else
+       #define TIME_WITH_SYS_TIME 0
+

diff --git a/sci-chemistry/openbabel/openbabel-3.1.1_p20210225.ebuild b/sci-chemistry/openbabel/openbabel-3.1.1_p20210225.ebuild
index 61a6ad498b66..0eb8ddaa0cf5 100644
--- a/sci-chemistry/openbabel/openbabel-3.1.1_p20210225.ebuild
+++ b/sci-chemistry/openbabel/openbabel-3.1.1_p20210225.ebuild
@@ -80,6 +80,10 @@ RDEPEND="
 	)
 "
 
+PATCHES=(
+	"${FILESDIR}"/openbabel-3.1.1-fix-time-check-cmake.patch
+)
+
 pkg_pretend() {
 	[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
 }


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/openbabel/, sci-chemistry/openbabel/files/
@ 2021-03-28  0:17 Pacho Ramos
  0 siblings, 0 replies; 5+ messages in thread
From: Pacho Ramos @ 2021-03-28  0:17 UTC (permalink / raw
  To: gentoo-commits

commit:     81ccd60f63092c825376eb6dd8897edc9eb86820
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 28 00:17:34 2021 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun Mar 28 00:17:34 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=81ccd60f

sci-chemistry/openbabel: Fix gcc10 build and use wxGTK:gtk3.0

Thanks-to: Michelangelo Scopelliti
Bug: https://bugs.gentoo.org/722860
Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 .../openbabel/files/openbabel-2.4.1-gcc10.patch    |  62 +++++++++++++
 sci-chemistry/openbabel/openbabel-2.4.1-r2.ebuild  | 101 +++++++++++++++++++++
 2 files changed, 163 insertions(+)

diff --git a/sci-chemistry/openbabel/files/openbabel-2.4.1-gcc10.patch b/sci-chemistry/openbabel/files/openbabel-2.4.1-gcc10.patch
new file mode 100644
index 00000000000..88d8c2add64
--- /dev/null
+++ b/sci-chemistry/openbabel/files/openbabel-2.4.1-gcc10.patch
@@ -0,0 +1,62 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2e66dd1..ef4f16b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,16 +1,11 @@
+ # Please ensure that any changes remain compliant with 2.4.8.
+ if(NOT EMBED_OPENBABEL)
+-  cmake_minimum_required(VERSION 2.4.8)
++  cmake_minimum_required(VERSION 2.4.10)
+ endif()
+ 
+ project(openbabel)
+ set(CMAKE_MODULE_PATH ${openbabel_SOURCE_DIR}/cmake/modules)
+ 
+-# Allow loose loop constructs, i.e. no matching in if/else/endif or loops.
+-# Note that this is true by default in CMake 2.6.0, but we currently only
+-# require CMake 2.4.8 - remove this when the CMake requirement is bumped.
+-set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS 1)
+-
+ if(COMMAND cmake_policy)
+   cmake_policy(SET CMP0003 NEW)
+   cmake_policy(SET CMP0005 OLD) # add_definitions need updating to set to NEW
+@@ -20,7 +15,6 @@ if(COMMAND cmake_policy)
+ endif()
+ 
+ include (CheckCXXCompilerFlag)
+-include (MacroEnsureVersion)
+ 
+ # Version numbering - should be bumped for each release
+ # Note that for "beta" releases, we should start at x.90.0 -- we've
+@@ -238,16 +232,21 @@ check_type_size(clock_t CLOCK_T)
+ 
+ # Get the GCC version - from KDE4 cmake files
+ if(CMAKE_COMPILER_IS_GNUCXX)
+-  exec_program(${CMAKE_C_COMPILER} ARGS --version OUTPUT_VARIABLE _gcc_version_info)
+-  string(REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
+-  # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the
+-  # patch level, handle this here:
+-  if (NOT _gcc_version)
+-    string (REGEX REPLACE ".*\\(GCC\\).* ([34]\\.[0-9]) .*" "\\1.0" _gcc_version "${_gcc_version_info}")
+-  endif ()
+-  macro_ensure_version("4.0.0" "${_gcc_version}" GCC_IS_NEWER_THAN_4_0)
+-  macro_ensure_version("4.1.0" "${_gcc_version}" GCC_IS_NEWER_THAN_4_1)
+-  macro_ensure_version("4.2.0" "${_gcc_version}" GCC_IS_NEWER_THAN_4_2)
++  if(NOT(${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 4.0.0))
++    set(GCC_IS_NEWER_THAN_4_0 TRUE)
++  else()
++    set(GCC_IS_NEWER_THAN_4_0 FALSE)
++  endif()
++  if(NOT(${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 4.1.0))
++    set(GCC_IS_NEWER_THAN_4_1 TRUE)
++  else()
++    set(GCC_IS_NEWER_THAN_4_1 FALSE)
++  endif()
++  if(NOT(${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 4.2.0))
++    set(GCC_IS_NEWER_THAN_4_2 TRUE)
++  else()
++    set(GCC_IS_NEWER_THAN_4_2 FALSE)
++  endif()
+ endif()
+ 
+ if(UNIX)

diff --git a/sci-chemistry/openbabel/openbabel-2.4.1-r2.ebuild b/sci-chemistry/openbabel/openbabel-2.4.1-r2.ebuild
new file mode 100644
index 00000000000..8830108275b
--- /dev/null
+++ b/sci-chemistry/openbabel/openbabel-2.4.1-r2.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+WX_GTK_VER="3.0-gtk3"
+
+inherit cmake-utils desktop optfeature toolchain-funcs wxwidgets
+
+DESCRIPTION="Interconverts file formats used in molecular modeling"
+HOMEPAGE="http://openbabel.org/wiki/Main_Page"
+SRC_URI="
+	mirror://sourceforge/openbabel/${P}.tar.gz
+	https://openbabel.org/docs/dev/_static/babel130.png -> ${PN}.png
+"
+
+# See src/CMakeLists.txt for LIBRARY_VERSION
+SLOT="0/5.0.0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc openmp test wxwidgets"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	dev-cpp/eigen:3
+	dev-libs/libxml2:2
+	sci-libs/inchi
+	sys-libs/zlib
+	wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	>=dev-util/cmake-2.4.10
+	doc? ( app-doc/doxygen )
+"
+
+DOCS=( AUTHORS NEWS.md README.md THANKS doc/dioxin.{inc,mol2} doc/README.{dioxin.pov,povray} )
+
+PATCHES=(
+	"${FILESDIR}"/${P}-gcc10.patch
+)
+
+pkg_setup() {
+	if use openmp; then
+		if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then
+			ewarn "OpenMP is not available in your current selected gcc"
+			die "need openmp capable gcc"
+		fi
+		FORTRAN_NEED_OPENMP=1
+	fi
+}
+
+src_prepare() {
+	sed \
+		-e '/__GNUC__/s:== 4:>= 4:g' \
+		-i include/openbabel/shared_ptr.h || die
+	cmake-utils_src_prepare
+}
+
+src_configure() {
+	use wxwidgets && setup-wxwidgets
+	local mycmakeargs=(
+		-DOPENBABEL_USE_SYSTEM_INCHI=ON
+		-DENABLE_OPENMP=$(usex openmp)
+		-DBUILD_GUI=$(usex wxwidgets)
+	)
+
+	cmake-utils_src_configure
+}
+
+src_install() {
+	docinto html
+	dodoc doc/{*.html,*.png}
+	if use doc ; then
+		docinto html/API
+		dodoc -r doc/API/html/*
+	fi
+
+	make_desktop_entry obgui "Open Babel" "${PN}"
+	doicon "${DISTDIR}/${PN}.png"
+
+	cmake-utils_src_install
+}
+
+src_test() {
+	local mycmakeargs=(
+		-DOPENBABEL_USE_SYSTEM_INCHI=ON
+		-DPYTHON_EXECUTABLE=false
+		-DOPENMP=$(usex openmp)
+		-DBUILD_GUI=$(usex wxwidgets)
+		-DTESTS=$(usex test)
+	)
+
+	cmake-utils_src_configure
+	cmake-utils_src_compile
+	cmake-utils_src_test -E py
+}
+
+pkg_postinst() {
+	optfeature "perl support" sci-chemistry/openbabel-perl
+	optfeature "python support" sci-chemistry/openbabel-python
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/openbabel/, sci-chemistry/openbabel/files/
@ 2018-05-06 22:13 Sergei Trofimovich
  0 siblings, 0 replies; 5+ messages in thread
From: Sergei Trofimovich @ 2018-05-06 22:13 UTC (permalink / raw
  To: gentoo-commits

commit:     4ec881ef10b4bcbffd3b56bc78a680b29cd59853
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun May  6 22:13:04 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun May  6 22:13:32 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ec881ef

sci-chemistry/openbabel: allow gcc-8, bug #654800

openbabel explicitly whitelists list of major GCC versions.
The change by Milan allow gcc-8. Newer upstream versions
fixed the code to handle in in a more generic way:
https://github.com/openbabel/openbabel/commit/00120f89cf62b121c30d0b2a891b159e19b53624

Fixed-by: milan hodoscek
Closes: https://bugs.gentoo.org/654800
Package-Manager: Portage-2.3.36, Repoman-2.3.9

 sci-chemistry/openbabel/files/openbabel-2.4.1-gcc-8.patch | 15 +++++++++++++++
 sci-chemistry/openbabel/openbabel-2.4.1.ebuild            |  3 ++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/sci-chemistry/openbabel/files/openbabel-2.4.1-gcc-8.patch b/sci-chemistry/openbabel/files/openbabel-2.4.1-gcc-8.patch
new file mode 100644
index 00000000000..632ffa86761
--- /dev/null
+++ b/sci-chemistry/openbabel/files/openbabel-2.4.1-gcc-8.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/654800
+Fixed-by: milan hodoscek
+diff --git a/../old/CMakeLists.txt b/CMakeLists.txt
+index dc38d1b..801207e 100644
+--- a/../old/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -239,7 +239,7 @@ check_type_size(clock_t CLOCK_T)
+ # Get the GCC version - from KDE4 cmake files
+ if(CMAKE_COMPILER_IS_GNUCXX)
+   exec_program(${CMAKE_C_COMPILER} ARGS --version OUTPUT_VARIABLE _gcc_version_info)
+-  string(REGEX MATCH "[34567]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
++  string(REGEX MATCH "[345678]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
+   # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the
+   # patch level, handle this here:
+   if (NOT _gcc_version)

diff --git a/sci-chemistry/openbabel/openbabel-2.4.1.ebuild b/sci-chemistry/openbabel/openbabel-2.4.1.ebuild
index 3719af8c81d..4606746af57 100644
--- a/sci-chemistry/openbabel/openbabel-2.4.1.ebuild
+++ b/sci-chemistry/openbabel/openbabel-2.4.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -31,6 +31,7 @@ DOCS=( AUTHORS NEWS.md README.md THANKS doc/dioxin.{inc,mol2} doc/README.{dioxin
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-2.3.2-gcc-6_and_7-backport.patch
+	"${FILESDIR}"/${P}-gcc-8.patch
 	)
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/openbabel/, sci-chemistry/openbabel/files/
@ 2017-05-13 16:20 Justin Lecher
  0 siblings, 0 replies; 5+ messages in thread
From: Justin Lecher @ 2017-05-13 16:20 UTC (permalink / raw
  To: gentoo-commits

commit:     69b01273253531de9d83902132d9e745a88e94e2
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Sat May 13 16:14:26 2017 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Sat May 13 16:14:26 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69b01273

sci-chemistry/openbabel: Backport Fix for gcc 6/7

Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=594154
Package-Manager: Portage-2.3.5, Repoman-2.3.2
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

 .../files/openbabel-2.3.2-gcc-6_and_7-backport.patch        | 13 +++++++++++++
 sci-chemistry/openbabel/openbabel-2.3.2-r1.ebuild           |  7 +++++--
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/sci-chemistry/openbabel/files/openbabel-2.3.2-gcc-6_and_7-backport.patch b/sci-chemistry/openbabel/files/openbabel-2.3.2-gcc-6_and_7-backport.patch
new file mode 100644
index 00000000000..e23dc6020ee
--- /dev/null
+++ b/sci-chemistry/openbabel/files/openbabel-2.3.2-gcc-6_and_7-backport.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0ee545cf..7f4b944e 100755
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -239,7 +239,7 @@ check_type_size(clock_t CLOCK_T)
+ # Get the GCC version - from KDE4 cmake files
+ if(CMAKE_COMPILER_IS_GNUCXX)
+   exec_program(${CMAKE_C_COMPILER} ARGS --version OUTPUT_VARIABLE _gcc_version_info)
+-  string(REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
++  string(REGEX MATCH "[34567]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
+   # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the
+   # patch level, handle this here:
+   if (NOT _gcc_version)

diff --git a/sci-chemistry/openbabel/openbabel-2.3.2-r1.ebuild b/sci-chemistry/openbabel/openbabel-2.3.2-r1.ebuild
index ab9bb577790..f84e2a1f51b 100644
--- a/sci-chemistry/openbabel/openbabel-2.3.2-r1.ebuild
+++ b/sci-chemistry/openbabel/openbabel-2.3.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=5
@@ -28,7 +28,10 @@ DEPEND="${RDEPEND}
 
 DOCS="AUTHORS ChangeLog NEWS README THANKS doc/*.inc doc/README* doc/*.mol2"
 
-PATCHES=( "${FILESDIR}"/${P}-test_lib_path.patch )
+PATCHES=(
+	"${FILESDIR}"/${P}-test_lib_path.patch
+	"${FILESDIR}"/${P}-gcc-6_and_7-backport.patch
+	)
 
 pkg_setup() {
 	if use openmp; then


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-06-12 10:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-15 10:09 [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/openbabel/, sci-chemistry/openbabel/files/ Andrew Ammerlaan
  -- strict thread matches above, loose matches on Subject: below --
2022-06-12 10:36 Sam James
2021-03-28  0:17 Pacho Ramos
2018-05-06 22:13 Sergei Trofimovich
2017-05-13 16:20 Justin Lecher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox