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

Reply via email to