Hello community, here is the log from the commit of package espresso for openSUSE:Factory checked in at 2016-07-05 09:51:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/espresso (Old) and /work/SRC/openSUSE:Factory/.espresso.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "espresso" Changes: -------- --- /work/SRC/openSUSE:Factory/espresso/espresso.changes 2015-11-10 10:03:34.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.espresso.new/espresso.changes 2016-07-05 09:51:37.000000000 +0200 @@ -1,0 +2,27 @@ +Sun Jun 26 07:35:00 UTC 2016 - [email protected] + +- fix boo#985147 + * there's a commit that removed redefinition of malloc and realloc + which fixed build for gcc 6. but it's too hard to cherry pick, so + update to the latest git version is a good idea +- there's no --without-mpi option left in configure.ac, so "-openmpi" + sub-package is meaningless now (everything has openmpi support) + and since there's no two main packages any more, "-common" sub-package + is also meaningless now (and it doesn't contains data), merged. +- add sub-package: "-devel", "libEspresso0", "libEspressoTcl0" +- add generate_headers.rb to gather those .hpp that're really used + into "-devel" sub-package +- create pkgconfig files +- add some texlive BuildRequires to build pdf documentation. +- update version 3.3.1+git20160622.6aa229c: + * added edge statistics for meshes used by object-in-fluid + * added pos_folded property + * Adapted simple LB tests to current interface. + * system.part.writevtk() + * redesigned exclusions and added slice input + * Scafacos: Add long range energy to correct place in energy data structure + * Correction to scafacos energy calculation: Check cutoff in near field contrib + * Scafacos: Sort out conditional compilation and cython includes + * Scafacos: methods shared between electrostatics and dipolar calculations + +------------------------------------------------------------------- Old: ---- espresso-3.3.1.tar.xz New: ---- _service espresso-3.3.1+git20160622.6aa229c.tar.xz generate_headers.rb ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ espresso.spec ++++++ --- /var/tmp/diff_new_pack.ix2p4H/_old 2016-07-05 09:51:38.000000000 +0200 +++ /var/tmp/diff_new_pack.ix2p4H/_new 2016-07-05 09:51:38.000000000 +0200 @@ -1,30 +1,60 @@ # -# espresso.spec +# spec file for package espresso # +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2014 Christoph Junghans # -# Licensed under the Apache Software License (ASL 2.0) +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: espresso -Version: 3.3.1 +Version: 3.3.1+git20160622.6aa229c Release: 0 Summary: Parallel simulation software for soft matter research -Group: Productivity/Scientific/Chemistry License: GPL-3.0 -Url: http://espressomd.org/ -Source: http://download.savannah.gnu.org/releases/espressomd/%{name}-%{version}.tar.xz - -BuildRoot: %{_tmppath}/%{name}-%{version}-build - +Group: Productivity/Scientific/Chemistry +Url: http://espressomd.org +Source: %{name}-%{version}.tar.xz +Source1: generate_headers.rb +BuildRequires: boost-devel +BuildRequires: fdupes +BuildRequires: fftw3-devel BuildRequires: gcc-c++ +BuildRequires: libtool BuildRequires: openmpi-devel -BuildRequires: fftw3-devel -BuildRequires: tcl-devel -BuildRequires: fdupes BuildRequires: python-devel -Requires: %{name}-common +BuildRequires: tcl-devel +BuildRequires: tk-devel +# documentation +BuildRequires: doxygen +BuildRequires: graphviz +BuildRequires: ruby +BuildRequires: texlive-bibtex-bin +BuildRequires: texlive-colortbl +BuildRequires: texlive-dvips-bin +BuildRequires: texlive-enumitem +BuildRequires: texlive-fancyvrb +BuildRequires: texlive-latex-bin-bin +BuildRequires: texlive-makeindex-bin +BuildRequires: texlive-natbib +BuildRequires: texlive-tocloft +BuildRequires: texlive-underscore +BuildRequires: texlive-units +Provides: espresso-common = %{version} +Obsoletes: espresso-common <= %{version} +Provides: espresso-openmpi = %{version} +Obsoletes: espresso-openmpi <= %{version} +BuildRoot: %{_tmppath}/%{name}-%{version}-build %description ESPResSo is a highly versatile software package for performing and analyzing @@ -34,37 +64,6 @@ such as polymers, liquid crystals, colloids, ferrofluids and biological systems, for example DNA and lipid membranes. -%package openmpi -Summary: Architecture independent data files for ESPResSo -Group: Productivity/Scientific/Chemistry -Requires: %{name}-common - -%description openmpi -ESPResSo is a highly versatile software package for performing and analyzing -scientific Molecular Dynamics many-particle simulations of coarse-grained -atomistic or bead-spring models as they are used in soft-matter research in -physics, chemistry and molecular biology. It can be used to simulate systems -such as polymers, liquid crystals, colloids, ferrofluids and biological -systems, for example DNA and lipid membranes. - -This package contains openmpi version of ESPResSo - -%package common -Summary: Architecture independent data files for ESPResSo -Group: Productivity/Scientific/Chemistry -BuildArch: noarch -Requires: tcl - -%description common -ESPResSo is a highly versatile software package for performing and analyzing -scientific Molecular Dynamics many-particle simulations of coarse-grained -atomistic or bead-spring models as they are used in soft-matter research in -physics, chemistry and molecular biology. It can be used to simulate systems -such as polymers, liquid crystals, colloids, ferrofluids and biological -systems, for example DNA and lipid membranes. - -This package contains architecture independent data files for ESPResSo. - %package doc Summary: Architecture independent data files for ESPResSo Group: Productivity/Scientific/Chemistry @@ -80,41 +79,112 @@ This package contains documentation for ESPResSo. +%package devel +Summary: Development headers and libraries for ESPResSo +Group: Development/Libraries/C and C++ +Requires: libEspresso0 = %{version} +Requires: libEspressoTcl0 = %{version} + +%description devel +This package provides development headers and libraries for ESPResSo. + +%package -n libEspresso0 +Summary: Shared libraries for ESPResSo +Group: System/Libraries + +%description -n libEspresso0 +This package provides shared libraries for ESPResSo. + +%package -n libEspressoTcl0 +Summary: Tcl/Tk interface libraries for ESPResSo +Group: System/Libraries + +%description -n libEspressoTcl0 +This package provides shared libraries for TCL/TK interface for ESPResSo. + %prep %setup -q +autoreconf -fiv +# documentation builds only when .git directory exists +mkdir .git -%build -# call ../configure instead of ./configure -%global ddconfigure %(printf %%s '%configure' | sed 's!\./configure!../configure!g') +chmod +x %{SOURCE1} -mkdir nompi openmpi -cd nompi -%ddconfigure --without-mpi --without-python-interface -make %{?_smp_mflags} -cd ../openmpi -%if %{defined fedora} -%{_openmpi_load} -%endif -%ddconfigure --with-mpi --program-suffix="-openmpi" --without-python-interface +%build +%configure --without-python-interface make %{?_smp_mflags} +make doc %install -make -C nompi install DESTDIR=%{buildroot} -make -C openmpi install DESTDIR=%{buildroot} +make install DESTDIR=%{buildroot} + +# prepare header files +%{_sourcedir}/generate_headers.rb +ls -l %{buildroot}%{_includedir}/Espresso +# create pkgconfig file +cat > Espresso.pc << EOF +prefix=%{_prefix} +exec_prefix=%{_prefix} +libdir=%{_libdir} +includedir=%{_includedir}/Espresso + +Name: libEspresso +Description: Espresso Library +Version: %{version} +Libs: -L%{_libdir} -llibEspresso +Cflags: -I%{_includedir}/Espresso +EOF + +cat > EspressoTcl.pc << EOF +prefix=%{_prefix} +exec_prefix=%{_prefix} +libdir=%{_libdir} +includedir=%{_includedir}/Espresso + +Name: libEspressoTcl +Description: Espresso Tcl/Tk Library +Version: %{version} +Libs: -L%{_libdir} -llibEspresso -llibEspressoTcl +Cflags: -I%{_includedir}/Espresso +EOF + +install -dm 0755 %{buildroot}%{_libdir}/pkgconfig +install -p -m 0644 Espresso.pc %{buildroot}%{_libdir}/pkgconfig +install -p -m 0644 EspressoTcl.pc %{buildroot}%{_libdir}/pkgconfig + +find %{buildroot} -name "*.la" -delete -print %fdupes %{buildroot}%{_prefix} +%post -n libEspresso0 -p /sbin/ldconfig +%post -n libEspressoTcl0 -p /sbin/ldconfig +%postun -n libEspresso0 -p /sbin/ldconfig +%postun -n libEspressoTcl0 -p /sbin/ldconfig + %files %defattr(-,root,root,-) +%doc %attr(0644,root,root) README COPYING AUTHORS NEWS ChangeLog %{_bindir}/Espresso +%dir %{_datadir}/espresso +%{_datadir}/espresso/scripts +%{_datadir}/espresso/tools + +%files devel +%defattr(-,root,root,-) +%{_includedir}/Espresso +%{_libdir}/libEspresso.so +%{_libdir}/libEspressoTcl.so +%{_libdir}/pkgconfig/Espresso.pc +%{_libdir}/pkgconfig/EspressoTcl.pc -%files openmpi +%files -n libEspresso0 %defattr(-,root,root,-) -%{_bindir}/Espresso-openmpi +%{_libdir}/libEspresso.so.0 +%{_libdir}/libEspresso.so.0.0.0 -%files common +%files -n libEspressoTcl0 %defattr(-,root,root,-) -%{_datadir}/espresso -%doc README COPYING AUTHORS NEWS ChangeLog +%{_libdir}/libEspressoTcl.so.0 +%{_libdir}/libEspressoTcl.so.0.0.0 %files doc %defattr(-,root,root,-) ++++++ _service ++++++ <services> <service name="tar_scm" mode="disabled"> <param name="url">https://github.com/espressomd/espresso</param> <param name="scm">git</param> <param name="exclude">.git</param> <param name="versionformat">3.3.1+git%cd.%h</param> <param name="revision">master</param> <param name="changesgenerate">enable</param> </service> <service name="recompress" mode="disabled"> <param name="file">espresso-*.tar</param> <param name="compression">xz</param> </service> <service name="set_version" mode="disabled"> <param name="basename">espresso</param> </service> </services> ++++++ generate_headers.rb ++++++ #!/usr/bin/env ruby require 'fileutils' builddir = Dir.glob(ENV['RPM_BUILD_DIR'] + "/*")[0] buildroot = ENV['RPM_BUILD_ROOT'] includedir = "/usr/include" makefile = builddir + "/src/core/Makefile.am" numarr = [] headers = [] headers_in_subdir = [] open(makefile) do |mkf| i = 0 mkf.each_line do |l| i = i + 1 numarr << i if l.index("libEspresso_la_SOURCES") end end numarr.each do |num| strarr = [] strarr_subdir = [] open(makefile) do |mkf| j = 0 mkf.each_line do |l| j = j + 1 if j >= num if l == "\n" break elsif ! l.start_with?("\t","libEspresso_la_SOURCES") break else arr = l.gsub('=','').gsub('+','').gsub('\\','').gsub('libEspresso_la_SOURCES','').strip!.split("\s") unless arr.empty? arr.each do |s| unless s.index(".cpp") || s.index("cuba") unless s.index("/") strarr << s else strarr_subdir << s end end end end end end end end headers = headers + strarr headers_in_subdir = headers_in_subdir + strarr_subdir end p headers,headers_in_subdir FileUtils.mkdir_p(buildroot + includedir + "/Espresso") headers.each do |h| FileUtils.chmod(0644,"src/core/" + h) FileUtils.cp_r("src/core/" + h, buildroot + includedir + "/Espresso") end headers_in_subdir.each do |h| fname = h.gsub(/^.*\//,'') subdir = h.gsub(fname,'') FileUtils.mkdir_p(buildroot + includedir + "/Espresso/" + subdir) FileUtils.chmod(0644,"src/core/" + h) FileUtils.cp_r("src/core/" + h, buildroot + includedir + "/Espresso/" + subdir) end
