Move DSO to flang-runtime
1. Add a new subpackage called flang-runtime that distributes the 2 runtime libraries, allowing programs to depend only on this package instead of all of flang. 2. Move Fortran modules and important symlinks to DSOs from flang-devel to flang because they're required when using flang. 3. The previous change left flang-devel with just cmake files, C and C++ headers and unimportant symlinks to DSOs. All these files are not needed and can be removed. Which means that flang-devel is also removed. Fixes rhbz#2172522.
This commit is contained in:
parent
cb47102814
commit
faa9e55f8e
114
flang.spec
114
flang.spec
@ -11,7 +11,7 @@
|
||||
|
||||
Name: flang
|
||||
Version: %{flang_version}%{?rc_ver:~rc%{rc_ver}}
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Summary: a Fortran language front-end designed for integration with LLVM
|
||||
|
||||
License: Apache-2.0 WITH LLVM-exception
|
||||
@ -114,18 +114,14 @@ BuildRequires: clang-devel = %{version}
|
||||
# For origin certification
|
||||
BuildRequires: gnupg2
|
||||
|
||||
Requires: %{name}-runtime = %{version}-%{release}
|
||||
Conflicts: flang-devel < 17.0.6-2
|
||||
|
||||
%description
|
||||
|
||||
Flang is a ground-up implementation of a Fortran front end written in modern
|
||||
C++.
|
||||
|
||||
%package devel
|
||||
Summary: Flang header files
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
Flang header files.
|
||||
|
||||
%package doc
|
||||
Summary: Documentation for Flang
|
||||
BuildArch: noarch
|
||||
@ -134,6 +130,13 @@ Requires: %{name} = %{version}-%{release}
|
||||
%description doc
|
||||
Documentation for Flang
|
||||
|
||||
%package runtime
|
||||
Summary: Flang runtime libraries
|
||||
Conflicts: flang < 17.0.6-2
|
||||
|
||||
%description runtime
|
||||
Flang runtime libraries.
|
||||
|
||||
%prep
|
||||
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||
%autosetup -n %{flang_srcdir} -p2
|
||||
@ -187,6 +190,27 @@ export LD_LIBRARY_PATH=%{_builddir}/%{flang_srcdir}/%{_build}/lib
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
# Remove unnecessary files.
|
||||
rm -rf %{buildroot}/%{_libdir}/cmake/
|
||||
rm -f %{buildroot}/%{_libdir}/libFIRAnalysis.so \
|
||||
%{buildroot}/%{_libdir}/libFIRBuilder.so \
|
||||
%{buildroot}/%{_libdir}/libFIRCodeGen.so \
|
||||
%{buildroot}/%{_libdir}/libFIRDialect.so \
|
||||
%{buildroot}/%{_libdir}/libFIRDialectSupport.so \
|
||||
%{buildroot}/%{_libdir}/libFIRSupport.so \
|
||||
%{buildroot}/%{_libdir}/libFIRTestAnalysis.so \
|
||||
%{buildroot}/%{_libdir}/libFIRTransforms.so \
|
||||
%{buildroot}/%{_libdir}/libflangFrontend.so \
|
||||
%{buildroot}/%{_libdir}/libflangFrontendTool.so \
|
||||
%{buildroot}/%{_libdir}/libFortranCommon.so \
|
||||
%{buildroot}/%{_libdir}/libFortranEvaluate.so \
|
||||
%{buildroot}/%{_libdir}/libFortranLower.so \
|
||||
%{buildroot}/%{_libdir}/libFortranParser.so \
|
||||
%{buildroot}/%{_libdir}/libFortranSemantics.so \
|
||||
%{buildroot}/%{_libdir}/libHLFIRDialect.so \
|
||||
%{buildroot}/%{_libdir}/libHLFIRTransforms.so
|
||||
find %{buildroot}/%{_includedir}/flang -type f -a ! -iname '*.mod' -delete
|
||||
|
||||
# this is a test binary
|
||||
rm -f %{buildroot}%{_bindir}/f18-parse-demo
|
||||
|
||||
@ -226,15 +250,30 @@ export LD_LIBRARY_PATH=%{_builddir}/%{flang_srcdir}/%{_build}/lib
|
||||
%{_bindir}/flang-to-external-fc
|
||||
%{_bindir}/fir-opt
|
||||
%{_bindir}/flang-new
|
||||
%{_libdir}/libFortranLower.so.%{maj_ver}*
|
||||
%{_libdir}/libFortranSemantics.so.%{maj_ver}*
|
||||
%{_libdir}/libFortranCommon.so.%{maj_ver}*
|
||||
%{_libdir}/libFortranRuntime.so.%{maj_ver}*
|
||||
%{_libdir}/libFortranDecimal.so.%{maj_ver}*
|
||||
%{_libdir}/libFortranEvaluate.so.%{maj_ver}*
|
||||
%{_libdir}/libFortranParser.so.%{maj_ver}*
|
||||
%{_libdir}/libflangFrontend.so.%{maj_ver}*
|
||||
%{_libdir}/libflangFrontendTool.so.%{maj_ver}*
|
||||
%{_includedir}/flang/__cuda_builtins.f18.mod
|
||||
%{_includedir}/flang/__cuda_builtins.mod
|
||||
%{_includedir}/flang/__fortran_builtins.f18.mod
|
||||
%{_includedir}/flang/__fortran_builtins.mod
|
||||
%{_includedir}/flang/__fortran_ieee_exceptions.f18.mod
|
||||
%{_includedir}/flang/__fortran_ieee_exceptions.mod
|
||||
%{_includedir}/flang/__fortran_type_info.f18.mod
|
||||
%{_includedir}/flang/__fortran_type_info.mod
|
||||
%{_includedir}/flang/__ppc_intrinsics.f18.mod
|
||||
%{_includedir}/flang/__ppc_intrinsics.mod
|
||||
%{_includedir}/flang/__ppc_types.f18.mod
|
||||
%{_includedir}/flang/__ppc_types.mod
|
||||
%{_includedir}/flang/ieee_arithmetic.f18.mod
|
||||
%{_includedir}/flang/ieee_arithmetic.mod
|
||||
%{_includedir}/flang/ieee_exceptions.f18.mod
|
||||
%{_includedir}/flang/ieee_exceptions.mod
|
||||
%{_includedir}/flang/ieee_features.f18.mod
|
||||
%{_includedir}/flang/ieee_features.mod
|
||||
%{_includedir}/flang/iso_c_binding.f18.mod
|
||||
%{_includedir}/flang/iso_c_binding.mod
|
||||
%{_includedir}/flang/iso_fortran_env.f18.mod
|
||||
%{_includedir}/flang/iso_fortran_env.mod
|
||||
%{_includedir}/flang/omp_lib.f18.mod
|
||||
%{_includedir}/flang/omp_lib.mod
|
||||
%{_libdir}/libFIRAnalysis.so.%{maj_ver}
|
||||
%{_libdir}/libFIRBuilder.so.%{maj_ver}
|
||||
%{_libdir}/libFIRCodeGen.so.%{maj_ver}
|
||||
@ -243,38 +282,31 @@ export LD_LIBRARY_PATH=%{_builddir}/%{flang_srcdir}/%{_build}/lib
|
||||
%{_libdir}/libFIRSupport.so.%{maj_ver}
|
||||
%{_libdir}/libFIRTestAnalysis.so.%{maj_ver}
|
||||
%{_libdir}/libFIRTransforms.so.%{maj_ver}
|
||||
%{_libdir}/libflangFrontend.so.%{maj_ver}*
|
||||
%{_libdir}/libflangFrontendTool.so.%{maj_ver}*
|
||||
%{_libdir}/libFortranCommon.so.%{maj_ver}*
|
||||
%{_libdir}/libFortranDecimal.so
|
||||
%{_libdir}/libFortranEvaluate.so.%{maj_ver}*
|
||||
%{_libdir}/libFortranLower.so.%{maj_ver}*
|
||||
%{_libdir}/libFortranParser.so.%{maj_ver}*
|
||||
%{_libdir}/libFortranRuntime.so
|
||||
%{_libdir}/libFortranSemantics.so.%{maj_ver}*
|
||||
%{_libdir}/libFortran_main.a
|
||||
%{_libdir}/libHLFIRDialect.so.%{maj_ver}
|
||||
%{_libdir}/libHLFIRTransforms.so.%{maj_ver}
|
||||
|
||||
%files devel
|
||||
%{_libdir}/libFortranLower.so
|
||||
%{_libdir}/libFortranParser.so
|
||||
%{_libdir}/libFortranCommon.so
|
||||
%{_libdir}/libFortranSemantics.so
|
||||
%{_libdir}/libFortran_main.a
|
||||
%{_libdir}/libFIRAnalysis.so
|
||||
%{_libdir}/libFIRBuilder.so
|
||||
%{_libdir}/libFIRCodeGen.so
|
||||
%{_libdir}/libFIRDialect.so
|
||||
%{_libdir}/libFIRDialectSupport.so
|
||||
%{_libdir}/libFIRSupport.so
|
||||
%{_libdir}/libFIRTestAnalysis.so
|
||||
%{_libdir}/libFIRTransforms.so
|
||||
%{_libdir}/libFortranDecimal.so
|
||||
%{_libdir}/libFortranRuntime.so
|
||||
%{_libdir}/libFortranEvaluate.so
|
||||
%{_libdir}/libflangFrontend.so
|
||||
%{_libdir}/libflangFrontendTool.so
|
||||
%{_libdir}/libHLFIRDialect.so
|
||||
%{_libdir}/libHLFIRTransforms.so
|
||||
%{_includedir}/flang
|
||||
%{_libdir}/cmake/
|
||||
|
||||
%files doc
|
||||
%dir %{_pkgdocdir}
|
||||
%doc %{_pkgdocdir}/html/
|
||||
|
||||
%files runtime
|
||||
%{_libdir}/libFortranDecimal.so.%{maj_ver}*
|
||||
%{_libdir}/libFortranRuntime.so.%{maj_ver}*
|
||||
|
||||
%changelog
|
||||
* Thu Nov 30 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 17.0.6-2
|
||||
- Move DSO to flang-runtime. Fixes rhbz#2172522.
|
||||
|
||||
* Wed Nov 29 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 17.0.6-1
|
||||
- Update to LLVM 17.0.6
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user