File tetgen.spec of Package tetgen
#
# spec file for package tetgen
#
# Copyright (c) 2020 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# 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 https://bugs.opensuse.org/
#
%define libname libtet
%define major 1
Summary: A Quality Tetrahedral Mesh Generator
License: AGPL-3.0-or-later
Group: Productivity/Scientific/Other
Name: tetgen
Version: 1.6.0
Release: 0
Source0: http://www.tetgen.org/1.5/src/tetgen%{version}.tar.gz
Source1: LICENSE
Url: http://www.tetgen.org
BuildRequires: gcc-c++
%description
TetGen generates the Delaunay tetrahedralization, Voronoi diagram, constrained
Delaunay tetrahedralizations and quality tetrahedral meshes. The main goal of
TetGen is to generate suitable meshes for solving partial differential
equations by finite element or finite volume methods.
%package -n %{libname}%{major}
Summary: The %{name} shared library
Group: System/Libraries
%description -n %{libname}%{major}
This package contains the %{name} shared library
%package devel
Summary: Development files for lib%{name}
Group: Development/Libraries/C and C++
Requires: %{libname}%{major} = %{version}-%{release}
%description devel
The lib%{name}-devel package contains libraries and header files for
developing applications that use lib%{name}.
%prep
%setup -q -n tetgen%{version}
%build
make tetgen CXXFLAGS="%{optflags}" PREDCXXFLAGS="%{optflags}"
rm *.o
make tetlib CXXFLAGS="%{optflags} -fPIC" PREDCXXFLAGS="%{optflags} -fPIC"
g++ -s -shared -Wl,-soname,%{libname}.so.1 -o %{libname}.so.%{version} *.o
%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_libdir}
mkdir -p %{buildroot}%{_includedir}
install -m755 tetgen %{buildroot}%{_bindir}
install -m644 tetgen.h %{buildroot}%{_includedir}
install -m755 %{libname}.so.%{version} %{buildroot}%{_libdir}
cp %{S:1} ./
ln -s %{_libdir}/%{libname}.so.%{version} %{buildroot}%{_libdir}/%{libname}.so.%{major}
ln -s %{_libdir}/%{libname}.so.%{version} %{buildroot}%{_libdir}/%{libname}.so
%clean
rm -rf %{buildroot}
%post -n %{libname}%{major} -p /sbin/ldconfig
%postun -n %{libname}%{major} -p /sbin/ldconfig
%files
%doc example.poly
%{_bindir}/tetgen
%files -n %{libname}1
%doc README
%license LICENSE
%{_libdir}/%{libname}.so.*
%files devel
%{_libdir}/%{libname}.so
%{_includedir}/tetgen.h
%changelog