ldc/ldc.spec

188 lines
5.5 KiB
RPMSpec

%define bootstrap 0
Name: ldc
Version: 1.31.0
Release: 2mamba
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.23.0-llvm-11.patch
License: BSD
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libgcc
BuildRequires: libllvm-devel
BuildRequires: libspirv-llvm-translator-devel
BuildRequires: libstdc++6-devel
## AUTOBUILDREQ-END
BuildRequires: cmake
BuildRequires: libllvm-devel >= 14.0.3
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 "0%{?bootstrap}"
%ifarch x86_64
%setup -q -a1
%endif
%ifarch %{ix86}
%setup -q -a2
%endif
%ifarch aarch64
%setup -q -a3
%endif
%else
%setup -q
%endif
#%patch0 -p1
%build
%cmake -d build \
-DBUILD_SHARED_LIBS=BOTH \
-DBUILD_LTO_LIBS=ON \
-DLDC_WITH_LLD=OFF \
%ifarch x86_64 aarch64
-DD_COMPILER_FLAGS="-link-defaultlib-shared=false -linker=gold --flto=thin" \
%else
-DD_COMPILER_FLAGS="-link-defaultlib-shared=false --flto=thin" \
%endif
-DADDITIONAL_DEFAULT_LDC_SWITCHES="\"-link-defaultlib-shared\"" \
-DINCLUDE_INSTALL_DIR=%{_includedir}/d \
%if "0%{?bootstrap}" != "0"
%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
%{_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}/d
%dir %{_includedir}/d/core
%{_includedir}/d/core/*
%dir %{_includedir}/d/etc
%{_includedir}/d/etc/*
%dir %{_includedir}/d/ldc
%{_includedir}/d/ldc/*
%{_includedir}/d/object.d
%dir %{_includedir}/d/std
%{_includedir}/d/std/*
%{_includedir}/d/__builtins.di
%{_includedir}/d/importc.h
%{_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 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