Compare commits

...

9 Commits
f37 ... rawhide

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek 211e11e642 Drop bundled FindBLAS.cmake that doesn't know about FlexiBLAS
In the end, this doesn't seem to have any effect, but at least the previous
version was detecting openblas.so, which is certaily wrong. IIUC, blas is
only used in combination for some optional features which are disabled ATM.

[skip changelog]
2023-05-28 18:09:56 +02:00
Zbigniew Jędrzejewski-Szmek 73799202b0 Initialize contents of dolfin.pc correctly
(rhbz#2118536)
2023-05-28 18:09:56 +02:00
Zbigniew Jędrzejewski-Szmek a70b88ec67 Various small cleanups
[skip changelog]
2023-05-28 18:09:56 +02:00
Benjamin A. Beasley e3f67983c0 Rebuild for PETSc-3.18.5 (close RHBZ#2189693) 2023-04-26 17:41:21 -04:00
Gwyn Ciesla 7c52a937d4 migrated to SPDX license 2023-03-04 21:23:31 -06:00
Jonathan Wakely 138aa7966d Rebuilt for Boost 1.81 2023-02-20 21:52:38 +00:00
Benjamin A. Beasley dce3769cf6 Leaf package: drop ix86 support
This also prepares us for openmpi 5.0.0 dropping 32-bit support.
2023-02-03 16:07:00 -05:00
Zbigniew Jędrzejewski-Szmek d01534ef9b Add patch to fix build
[skip changelog]
2023-01-24 10:51:30 +01:00
Fedora Release Engineering 2ecb5c159e Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 01:41:27 +00:00
2 changed files with 66 additions and 12 deletions

View File

@ -0,0 +1,33 @@
From 8d1810d6cd7a5ac5ee944f39847a93a4635b6b15 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Tue, 24 Jan 2023 10:45:21 +0100
Subject: [PATCH] Add missing include for compatiblity with gcc-13
Quoting Jakub Jelinek:
> See
> https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
> Some libstdc++ headers included <cstdint> in older versions
> as an implementation detail but no longer do.
> Including stdint.h will introduce ::uint32_t type among others,
> but not std::uint32_t, if you use the latter, you need to
> include <cstdint>.
---
dolfin/mesh/MeshConnectivity.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/dolfin/mesh/MeshConnectivity.h b/dolfin/mesh/MeshConnectivity.h
index b9ec2a6114..5d11d7ab3c 100644
--- a/dolfin/mesh/MeshConnectivity.h
+++ b/dolfin/mesh/MeshConnectivity.h
@@ -21,6 +21,7 @@
#ifndef __MESH_CONNECTIVITY_H
#define __MESH_CONNECTIVITY_H
+#include <cstdint>
#include <vector>
#include <dolfin/log/log.h>
--
2.39.1

View File

@ -5,13 +5,14 @@ Version: 2019.1.0.post0
Release: %autorelease
Summary: FEniCS computational backend and problem solving environment
License: LGPLv3+
License: LGPL-3.0-or-later
URL: https://fenicsproject.org/
Source0: https://bitbucket.org/fenics-project/dolfin/downloads/dolfin-%{version}.tar.gz
Source1: https://bitbucket.org/fenics-project/dolfin/downloads/dolfin-%{version}.tar.gz.asc
Source2: 3083BE4C722232E28AD0828CBED06106DD22BAB3.gpg
Patch: 0001-pkgconfig-drop-irrelevant-part-from-Libs-and-Cflags.patch
Patch: 0001-Add-missing-include-for-compatiblity-with-gcc-13.patch
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
%global blaslib flexiblas
@ -22,9 +23,13 @@ Patch: 0001-pkgconfig-drop-irrelevant-part-from-Libs-and-Cflags.patch
%global cmake_blas_flags -DBLAS_LIBRARIES=%{_libdir}/lib%{blaslib}%{blasvar}.so
%endif
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: gcc-c++
BuildRequires: gnupg2
BuildRequires: cmake
BuildRequires: pkgconf
BuildRequires: boost-devel
BuildRequires: eigen3-devel
BuildRequires: petsc-devel
@ -44,7 +49,7 @@ BuildRequires: python3dist(fenics-ufl) >= %{fenics_version}
BuildRequires: python3dist(fenics-dijitso) >= %{fenics_version}
# go cmake go
BuildRequires: chrpath
BuildRequires: make
BuildRequires: make
# check-buildroot flags the python .so, but it should be fine after rpath removal.
# It seems that the original path to the library is stored in some comment.
@ -62,6 +67,9 @@ FEniCS Problem Solving Environment.}
%package devel
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}%{?isa}
# dolfin headers include headers from other projects
Requires: boost-devel
Requires: eigen3-devel
%description devel
%{summary}.
@ -89,6 +97,9 @@ BuildArch: noarch
# Let's just specify an exact version of a dependency, yay!
sed -i -r 's|pybind11==|pybind11>=|' python/setup.py
# Drop obsolete bundled crap that doesn't support FlexiBLAS
rm cmake/modules/FindBLAS.cmake
cat >>python/CMakeLists.txt <<EOF
set(CMAKE_CXX_FLAGS "\${CMAKE_CXX_FLAGS} -I$PWD")
EOF
@ -107,9 +118,19 @@ sed -r -i 's|boost/detail/endian.hpp|boost/endian/arithmetic.hpp|' \
mkdir -p build && cd build
CFLAGS="%{optflags} -Wno-unused-variable -DH5_USE_110_API" CXXFLAGS="%{optflags} -DH5_USE_110_API" %cmake .. \
%{cmake_blas_flags} \
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=off
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=off \
-Wno-dev
%make_build
# The flags defined in the pkg-config file are used at runtime.
# For some reason, the contents are not injected properly.
# https://fenicsproject.discourse.group/t/cant-define-expression-through-c-returns-fatal-error-ufc-h-no-such-file-or-directory/5472/19
# https://bugzilla.redhat.com/show_bug.cgi?id=2118536
ffc_path="$(python3 -c 'import ffc; print(ffc.get_include_path())')"
eigen_options="$(pkgconf --cflags eigen3)"
sed -r -i "s|Cflags:.*|\\0 -I${ffc_path} ${eigen_options}|" \
dolfin.pc
# "temporary install" so the python build can find the stuff it needs
%make_install
@ -124,9 +145,9 @@ cd ../python
VERBOSE=1 CMAKE_PREFIX_PATH=%{buildroot}/usr/share/dolfin/cmake CMAKE_SKIP_INSTALL_RPATH=yes CMAKE_SKIP_RPATH=yes %py3_install
sed -r -i '1 {s|#!/usr/bin/env python.*|#!%{__python3}|}' \
%{buildroot}/usr/bin/dolfin-order \
%{buildroot}/usr/bin/dolfin-plot \
%{buildroot}/usr/bin/dolfin-convert
%{buildroot}%{_bindir}/dolfin-order \
%{buildroot}%{_bindir}/dolfin-plot \
%{buildroot}%{_bindir}/dolfin-convert
# this file is just pointless
rm %{buildroot}/usr/share/dolfin/dolfin.conf
@ -141,8 +162,8 @@ ctest -V %{?_smp_mflags}
%files
%license COPYING COPYING.LESSER AUTHORS
%doc README.rst
/usr/bin/dolfin-version
/usr/bin/fenics-version
%{_bindir}/dolfin-version
%{_bindir}/fenics-version
%{_libdir}/libdolfin.so.%{fenics_version}
%{_libdir}/libdolfin.so.%{fenics_version}.*
%dir /usr/share/dolfin
@ -157,13 +178,13 @@ ctest -V %{?_smp_mflags}
/usr/share/dolfin/cmake/
%files doc
/usr/bin/dolfin-get-demos
%{_bindir}/dolfin-get-demos
/usr/share/dolfin/demo/
%files -n python3-dolfin
/usr/bin/dolfin-convert
/usr/bin/dolfin-order
/usr/bin/dolfin-plot
%{_bindir}/dolfin-convert
%{_bindir}/dolfin-order
%{_bindir}/dolfin-plot
%{python3_sitearch}/dolfin/
%{python3_sitearch}/dolfin_utils/
%{python3_sitearch}/fenics/