From 366eac076f2a85c502f3c48275617f1a981f326a Mon Sep 17 00:00:00 2001 From: sagitter Date: Mar 21 2017 10:48:17 +0000 Subject: New Package --- diff --git a/.gitignore b/.gitignore index e69de29..5304ae0 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/avogadrolibs-1.90.0.tar.gz diff --git a/avogadro2-libs-fix_AvogadroLibsConfig.patch b/avogadro2-libs-fix_AvogadroLibsConfig.patch new file mode 100644 index 0000000..b0cdd07 --- /dev/null +++ b/avogadro2-libs-fix_AvogadroLibsConfig.patch @@ -0,0 +1,11 @@ +--- cmake/AvogadroLibsConfig.cmake.orig.in 2016-12-01 22:17:48.000000000 +0100 ++++ cmake/AvogadroLibsConfig.cmake.in 2017-03-11 20:39:36.462581381 +0100 +@@ -10,7 +10,7 @@ + + set(AvogadroLibs_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@") + set(AvogadroLibs_INCLUDE_DIRS "${AvogadroLibs_INSTALL_PREFIX}/@INSTALL_INCLUDE_DIR@") +-set(AvogadroLibs_LIBRARY_DIR "${AvogadroLibs_INSTALL_PREFIX}/@INSTALL_LIBRARY_DIR@@LIB_SUFFIX@") ++set(AvogadroLibs_LIBRARY_DIR "${AvogadroLibs_INSTALL_PREFIX}/@INSTALL_LIBRARY_DIR@") + set(AvogadroLibs_RUNTIME_DIR "${AvogadroLibs_INSTALL_PREFIX}/@INSTALL_RUNTIME_DIR@") + set(AvogadroLibs_CMAKE_DIR "${AvogadroLibs_LIBRARY_DIR}/cmake/avogadrolibs") + diff --git a/avogadro2-libs-fix_gcc7_compatibility.patch b/avogadro2-libs-fix_gcc7_compatibility.patch new file mode 100644 index 0000000..7973499 --- /dev/null +++ b/avogadro2-libs-fix_gcc7_compatibility.patch @@ -0,0 +1,11 @@ +--- cmake/GenerateExportHeader.orig.cmake 2016-12-01 22:17:48.000000000 +0100 ++++ cmake/GenerateExportHeader.cmake 2017-03-11 15:39:23.610163005 +0100 +@@ -164,7 +164,7 @@ + if(CMAKE_COMPILER_IS_GNUCXX) + exec_program(${CMAKE_C_COMPILER} ARGS --version + OUTPUT_VARIABLE _gcc_version_info) +- string(REGEX MATCH "[3456]\\.[0-9]\\.[0-9]" ++ 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: diff --git a/avogadro2-libs-set_jsoncpp_path.patch b/avogadro2-libs-set_jsoncpp_path.patch new file mode 100644 index 0000000..87eb0e8 --- /dev/null +++ b/avogadro2-libs-set_jsoncpp_path.patch @@ -0,0 +1,12 @@ +--- thirdparty/jsoncpp/CMakeLists.orig.txt 2016-12-01 22:17:48.000000000 +0100 ++++ thirdparty/jsoncpp/CMakeLists.txt 2017-03-12 12:14:29.382931158 +0100 +@@ -8,6 +8,6 @@ + #endif() + install(TARGETS jsoncpp + EXPORT "AvogadroLibsTargets" +- RUNTIME DESTINATION "${INSTALL_RUNTIME_DIR}" +- LIBRARY DESTINATION "${INSTALL_LIBRARY_DIR}" +- ARCHIVE DESTINATION "${INSTALL_ARCHIVE_DIR}") ++ RUNTIME DESTINATION "${INSTALL_RUNTIME_DIR}/avogadro2" ++ LIBRARY DESTINATION "${INSTALL_LIBRARY_DIR}/avogadro2" ++ ARCHIVE DESTINATION "${INSTALL_ARCHIVE_DIR}/avogadro2") diff --git a/avogadro2-libs-set_pythonpath.patch b/avogadro2-libs-set_pythonpath.patch new file mode 100644 index 0000000..c5996a8 --- /dev/null +++ b/avogadro2-libs-set_pythonpath.patch @@ -0,0 +1,16 @@ +--- avogadro/qtplugins/quantuminput/CMakeLists.orig.txt 2016-12-01 22:17:48.000000000 +0100 ++++ avogadro/qtplugins/quantuminput/CMakeLists.txt 2017-03-12 15:17:46.126263369 +0100 +@@ -42,4 +42,4 @@ + endif() + + install(PROGRAMS ${input_generators} +- DESTINATION "${INSTALL_LIBRARY_DIR}/avogadro2/scripts/inputGenerators/") ++ DESTINATION "${INSTALL_LIBRARY_DIR}/python${PYTHON_VERSION}/site-packages/avogadro2/scripts/inputGenerators/") +--- avogadro/qtplugins/scriptfileformats/CMakeLists.orig.txt 2016-12-01 22:17:48.000000000 +0100 ++++ avogadro/qtplugins/scriptfileformats/CMakeLists.txt 2017-03-12 15:30:07.829240927 +0100 +@@ -24,4 +24,4 @@ + ) + + install(PROGRAMS ${format_scripts} +- DESTINATION "${INSTALL_LIBRARY_DIR}/avogadro2/scripts/formatScripts/") ++ DESTINATION "${INSTALL_LIBRARY_DIR}/python${PYTHON_VERSION}/site-packages/avogadro2/scripts/formatScripts/") diff --git a/avogadro2-libs.spec b/avogadro2-libs.spec new file mode 100644 index 0000000..775d344 --- /dev/null +++ b/avogadro2-libs.spec @@ -0,0 +1,138 @@ +Name: avogadro2-libs +Version: 1.90.0 +Release: 5%{?dist} +Summary: Avogadro2 libraries + +# BSD is main license +# MIT is the license of jsoncpp.a +License: BSD and MIT +URL: http://avogadro.openmolecules.net/ +Source0: https://github.com/OpenChemistry/avogadrolibs/archive/%{version}.tar.gz#/avogadrolibs-%{version}.tar.gz + +# Fix compatibility with gcc7 +Patch0: %{name}-fix_gcc7_compatibility.patch + +# Fix reported path +Patch1: %{name}-fix_AvogadroLibsConfig.patch + +# Set installation path of jsoncpp.a file +Patch2: %{name}-set_jsoncpp_path.patch + +# Set installation path of Python files +Patch3: %{name}-set_pythonpath.patch + +BuildRequires: boost-devel, boost-python3-devel +BuildRequires: cmake, chrpath +BuildRequires: gcc-c++, doxygen +BuildRequires: python3-devel +BuildRequires: pkgconfig(eigen3) +BuildRequires: pkgconfig(glew) +BuildRequires: pkgconfig(openbabel-2.0) +BuildRequires: mesa-libGLU-devel +BuildRequires: hdf5-devel +BuildRequires: spglib-devel, molequeue-devel +BuildRequires: qt5-qtbase-devel, qt5-qttools-devel + +Provides: %{name}-static = %{version}-%{release} +Provides: jsoncpp-static + +%description +Avogadro libraries provide 3D rendering, visualization, analysis +and data processing useful in computational chemistry, molecular modeling, +bioinformatics, materials science, and related areas. + +%package devel +Summary: Development files of %{name} +Requires: qt5-qtbase-devel +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package contains libraries and header files for developing +applications that use %{name}. + +%package doc +Summary: HTML documentation of %{name} +BuildArch: noarch +%description doc +HTML documentation of %{name}. + +%prep +%setup -q -n avogadrolibs-%{version} +%patch0 -p0 +%patch1 -p0 +%patch2 -p0 +%patch3 -p0 + +%build +mkdir build && pushd build +export LDFLAGS="%{__global_ldflags} -Wl,--as-needed" +%cmake -DCMAKE_BUILD_TYPE:STRING=Release \ + -DCMAKE_INSTALL_INCLUDEDIR:PATH=%{_includedir}/avogadro2 \ + -Wno-dev \ + -DENABLE_GLSL:BOOL=ON \ + -DENABLE_PYTHON:BOOL=ON \ + -DENABLE_RPATH:BOOL=OFF \ + -DENABLE_TESTING:BOOL=OFF \ + -DUSE_BOOST_PYTHON:BOOL=ON \ + -DUSE_MOLEQUEUE:BOOL=ON \ + -DUSE_VTK:BOOL=OFF \ + -DUSE_HDF5:BOOL=ON \ + -DPYTHON_EXECUTABLE:FILEPATH=%{__python3} \ + -DPYTHON_VERSION:STRING=%{python3_version} \ + -DSPGLIB_LIBRARY:FILEPATH=%{_libdir}/libsymspg.so \ + -DBUILD_GPL_PLUGINS:BOOL=ON \ + -DBUILD_STATIC_PLUGINS:BOOL=ON \ + -DBUILD_DOCUMENTATION:BOOL=ON .. + +%make_build + +pushd docs +doxygen +popd + +%install +%make_install -C build + +sed -i -e '1i#!%{__python3}' %{buildroot}%{python3_sitearch}/avogadro2/scripts/inputGenerators/*.py +sed -i -e '1i#!%{__python3}' %{buildroot}%{python3_sitearch}/avogadro2/scripts/formatScripts/*.py + +chrpath -d %{buildroot}%{_libdir}/lib*.so +rm -rf %{buildroot}%{_datadir}/doc + +%check +pushd build +#ctest -VV + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%doc README.md +%license COPYING +%{_libdir}/lib*.so +%{_libdir}/avogadro2/ +%{python3_sitearch}/avogadro2/ + +%files devel +%{_includedir}/avogadro2/ +%{_libdir}/cmake/avogadrolibs/ + +%files doc +%doc README.md build/docs/html +%license COPYING + +%changelog +* Mon Mar 13 2017 Antonio Trande - 1.90.0-5 +- Add ld scriptlets + +* Sun Mar 12 2017 Antonio Trande - 1.90.0-4 +- Set python3 installation directory + +* Sun Mar 12 2017 Antonio Trande - 1.90.0-3 +- Move jsoncpp.a into the private lib directory + +* Sat Mar 11 2017 Antonio Trande - 1.90.0-2 +- Use default paths + +* Sat Mar 11 2017 Antonio Trande - 1.90.0-1 +- Initial package diff --git a/sources b/sources index e69de29..111fb52 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (avogadrolibs-1.90.0.tar.gz) = 14555b1ac009644b5c9bfeab0c5f28a86642184f3a50737d03d54d113f068417466c3b6496a7c6bf0726fff998e0c486f17dcb8a3fc0a67712a069ce72bf61cf