Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
211e11e642 | ||
|
73799202b0 | ||
|
a70b88ec67 | ||
|
e3f67983c0 | ||
|
7c52a937d4 | ||
|
138aa7966d | ||
|
dce3769cf6 | ||
|
d01534ef9b | ||
|
2ecb5c159e |
33
0001-Add-missing-include-for-compatiblity-with-gcc-13.patch
Normal file
33
0001-Add-missing-include-for-compatiblity-with-gcc-13.patch
Normal 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
|
||||
|
45
dolfin.spec
45
dolfin.spec
@ -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/
|
||||
|
Loading…
Reference in New Issue
Block a user