ldc/ldc.spec

198 lines
6.3 KiB
RPMSpec

#% define bootstrap 0
Name: ldc
Version: 1.32.2
Release: 1mamba
Summary: The LLVM-based D Compiler
Group: Applications/Development
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://wiki.dlang.org/LDC
Source: https://github.com/ldc-developers/ldc.git/v%{version}/ldc-%{version}.tar.bz2
Source1: https://github.com/ldc-developers/ldc/releases/download/v%{version}/ldc2-%{version}-linux-x86_64.tar.xz
Source2: https://github.com/ldc-developers/ldc/releases/download/v1.2.0/ldc2-1.2.0-linux-x86.tar.xz
Source3: https://github.com/ldc-developers/ldc/releases/download/v%{version}/ldc2-%{version}-linux-aarch64.tar.xz
Patch0: ldc-1.32.2-llvm-16-update_to_ir_include.patch
Patch1: ldc-1.32.2-llvm-16-context_usage.patch
Patch2: ldc-1.32.2-llvm-16-fix-ms_cxx_helper.patch
Patch3: ldc-1.32.2-llvm-16-stop_using_aggressive_combine.patch
Patch4: ldc-1.32.2-llvm-16-fix-aarch64-support.patch
Patch5: ldc-1.32.2-llvm-16-use_std_optional_api.patch
Patch6: ldc-1.32.2-llvm-16-add_llvm_profdata.patch
Patch7: ldc-1.32.2-llvm-16.0.4-use_std_optional_api.patch
License: BSD
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libgcc
BuildRequires: liblld-devel
BuildRequires: libllvm-devel
BuildRequires: libstdc++6-devel
## AUTOBUILDREQ-END
BuildRequires: cmake
BuildRequires: libllvm-devel >= 16.0.4
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
%description
The LLVM-based D Compiler.
%package -n lib%{name}
Group: System/Libraries
Summary: Shared libraries for %{name}
%description -n lib%{name}
This package contains shared libraries for %{name}.
%package -n lib%{name}-devel
Group: Development/Libraries
Summary: Development files for %{name}
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
%description -n lib%{name}-devel
This package contains libraries and header files for developing applications that use %{name}.
%debug_package
%prep
%if "%{?bootstrap}" != ""
%ifarch x86_64
%setup -q -a1
%endif
%ifarch %{ix86}
%setup -q -a2
%endif
%ifarch aarch64
%setup -q -a3
%endif
%else
%setup -q
%endif
%patch 0 -p1 -b .llvm-16-update_to_ir_include
%patch 1 -p1 -b .llvm-16-context_usage
%patch 2 -p1 -b .llvm-16-add_llvm_profdata
%patch 3 -p1 -b .llvm-16-fix-ms_cxx_helper
%patch 4 -p1 -b .llvm-16-stop_using_aggressive_combine
%patch 5 -p1 -b .llvm-16-fix-aarch64-support
%patch 6 -p1 -b .llvm-16-use_std_optional_api
%patch 7 -p1 -b .llvm-16.0.4-use_std_optional_api
%build
%cmake -d build \
-DBUILD_SHARED_LIBS=BOTH \
-DBUILD_LTO_LIBS=ON \
-DD_COMPILER_FLAGS="-link-defaultlib-shared=false --flto=thin" \
-DADDITIONAL_DEFAULT_LDC_SWITCHES="\"-link-defaultlib-shared\"" \
-DINCLUDE_INSTALL_DIR=%{_includedir}/dlang/ldc \
%if "%{?bootstrap}" != ""
%ifarch x86_64
-DD_COMPILER=`pwd`/../ldc2-%{version}-linux-x86_64/bin/ldmd2
%endif
%ifarch aarch64
-DD_COMPILER=`pwd`/../ldc2-%{version}-linux-aarch64/bin/ldmd2
%endif
%endif
#%ifarch %{ix86}
# -DD_COMPILER=`pwd`/../ldc2-1.2.0-linux-x86/bin/ldmd2
#%endif
%make -j1
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall -C build
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post -n lib%{name} -p /sbin/ldconfig
%postun -n lib%{name} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%{_sysconfdir}/ldc2.conf
%{_bindir}/ldc-build-runtime
%{_bindir}/ldc-profdata
%{_bindir}/ldc-prune-cache
%{_bindir}/ldc2
%{_bindir}/ldmd2
%{_bindir}/timetrace2txt
%{_datadir}/bash-completion/completions/ldc2
%files -n lib%{name}
%defattr(-,root,root)
%{_libdir}/libdruntime-ldc-debug-shared.so.*
%{_libdir}/libdruntime-ldc-shared.so.*
#%{_libdir}/libldc-jit.so.*
%{_libdir}/libphobos2-ldc-debug-shared.so.*
%{_libdir}/libphobos2-ldc-shared.so.*
%doc LICENSE
%files -n lib%{name}-devel
%defattr(-,root,root)
%dir %{_includedir}/dlang/ldc
%{_includedir}/dlang/ldc/*
%{_libdir}/ldc_rt.dso.o
%{_libdir}/libdruntime-ldc-debug-shared.so
%{_libdir}/libdruntime-ldc-shared.so
%{_libdir}/libdruntime-ldc*.a
%{_libdir}/libphobos2-ldc-debug-shared.so
%{_libdir}/libphobos2-ldc-shared.so
%{_libdir}/libphobos2-ldc*.a
%doc README.md
%changelog
* Sun May 28 2023 Automatic Build System <autodist@mambasoft.it> 1.32.2-1mamba
- automatic version update by autodist
* Tue Apr 18 2023 Automatic Build System <autodist@mambasoft.it> 1.32.1-1mamba
- automatic version update by autodist
* Tue Mar 14 2023 Automatic Build System <autodist@mambasoft.it> 1.32.0-1mamba
- automatic version update by autodist
* Sun Mar 12 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 1.31.0-2mamba
- rebuiult with more cmake flags as attempt to fix 'Error: unrecognized trait classInstanceAlignment'
* Sun Feb 12 2023 Automatic Build System <autodist@mambasoft.it> 1.31.0-1mamba
- automatic version update by autodist
* Thu Jul 21 2022 Automatic Build System <autodist@mambasoft.it> 1.30.0-1mamba
- automatic version update by autodist
* Mon May 02 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 1.29.0-2mamba
- rebuilt with llvm 14.0.3
* Mon Apr 11 2022 Automatic Build System <autodist@mambasoft.it> 1.29.0-1mamba
- automatic version update by autodist
* Fri Jan 14 2022 Automatic Build System <autodist@mambasoft.it> 1.28.1-1mamba
- automatic version update by autodist
* Sat Oct 23 2021 Automatic Build System <autodist@mambasoft.it> 1.28.0-1mamba
- automatic version update by autodist
* Wed Aug 18 2021 Automatic Build System <autodist@mambasoft.it> 1.27.1-1mamba
- automatic version update by autodist
* Tue May 04 2021 Automatic Build System <autodist@mambasoft.it> 1.26.0-1mamba
- automatic version update by autodist
* Mon Mar 01 2021 Automatic Build System <autodist@mambasoft.it> 1.25.1-1mamba
- automatic version update by autodist
* Mon Feb 22 2021 Automatic Build System <autodist@mambasoft.it> 1.25.0-1mamba
- automatic version update by autodist
* Sat Nov 14 2020 Automatic Build System <autodist@mambasoft.it> 1.24.0-1mamba
- automatic version update by autodist
* Thu Oct 22 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 1.23.0-1mamba
- update to 1.23.0
* Wed May 06 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 1.21.0-1mamba
- update to 1.21.0
* Sat Jul 13 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 1.16.0-1mamba
- package created using the webbuild interface