dtc/dtc.spec

114 lines
3 KiB
RPMSpec
Raw Normal View History

2020-04-17 14:35:30 +00:00
%define api 1
2022-03-25 11:09:43 +00:00
%define major 1
2020-04-17 14:35:30 +00:00
%define libname %mklibname fdt %{api} %{major}
%define devname %mklibname -d fdt %{api}
%define devnamestatic %mklibname -d fdt_static %{api}
Name: dtc
2023-10-19 08:21:03 +00:00
Version: 1.7.0
Release: 1
2020-04-17 14:35:30 +00:00
Summary: Device Tree Compiler
Group: Development/Other
License: GPLv2+
URL: http://devicetree.org/Device_Tree_Compiler
Source0: https://www.kernel.org/pub/software/utils/dtc/%{name}-%{version}.tar.xz
BuildRequires: bison
BuildRequires: flex
BuildRequires: swig
BuildRequires: pkgconfig(python3)
%description
The Device Tree Compiler generates flattened Open Firmware style device trees
for use with PowerPC machines that lack an Open Firmware implementation and
ARM/AArch64 devices that don't implement UEFI.
%package -n %{libname}
Summary: Device tree library
Group: System/Libraries
%description -n %{libname}
libfdt is a library to process Open Firmware style device trees on various
architectures.
%package -n %{devname}
Summary: Development headers for device tree library
Group: System/Libraries
Requires: %{libname} = %{version}-%{release}
Provides: %{name}-devel = %{version}-%{release}
Provides: fdt-devel = %{version}-%{release}
%description -n %{devname}
This package provides development files for libfdt
%package -n %{devnamestatic}
Summary: Development headers for device tree library
Group: System/Libraries
Requires: %{name}-devel = %{version}-%{release}
Provides: fdt-static-devel = %{version}-%{release}
%description -n %{devnamestatic}
This package provides development files for libfdt
%package -n python3-%{name}
2020-04-17 14:38:00 +00:00
Summary: Python 3 bindings for %{name}
2020-05-16 11:27:46 +00:00
Provides: python3-libfdt = %{EVRD}
2020-04-17 14:35:30 +00:00
Requires: %{name} = %{EVRD}
%description -n python3-%{name}
2020-05-16 11:20:02 +00:00
This package provides python3 bindings for %{name}.
2020-04-17 14:35:30 +00:00
%prep
%setup -q
%autopatch -p1
2023-10-19 08:21:03 +00:00
sed -i 's@--prefix=$(PREFIX)@--prefix=$(PREFIX) --root=/@' pylibfdt/Makefile.pylibfdt
2020-04-17 14:35:30 +00:00
2022-04-05 15:13:27 +03:00
%ifarch %{e2k}
# -MG is an unrecognized option for lcc
sed -i 's,-MG,,' Makefile
2022-04-05 16:12:03 +03:00
echo '#define DTC_VERSION "DTC %{version}"' > version_gen.h
2022-04-05 15:13:27 +03:00
%endif
2020-04-17 14:35:30 +00:00
%build
2023-10-19 08:21:03 +00:00
%set_build_flags
export SETUPTOOLS_SCM_PRETEND_VERSION=%{version}
2020-04-17 14:35:30 +00:00
sed -i \
-e '/^CFLAGS =/s:=:+= %{optflags}:' \
-e '/^CPPFLAGS =/s:=:+=:' \
-e '/^WARNINGS =/s:=:+=:' \
-e "/^PREFIX =/s:=.*:= %{_prefix}:" \
-e "/^LIBDIR =/s:=.*:= \%{_libdir}:" \
Makefile
# no-macro-redefined is a workaround for flex bug
# https://github.com/westes/flex/issues/155
2023-10-19 08:21:03 +00:00
%make_build CC=%{__cc} LDFLAGS="%{optflags}" WARNINGS+=-Wno-macro-redefined
2020-04-17 14:35:30 +00:00
%install
2023-10-19 08:21:03 +00:00
export SETUPTOOLS_SCM_PRETEND_VERSION=%{version}
%{make_install} DESTDIR=%{buildroot} PREFIX=%{buildroot}/%{_prefix} \
LIBDIR=%{_libdir} BINDIR=%{_bindir} INCLUDEDIR=%{_includedir}
# we don't want ftdump and it conflicts with freetype-demos, so drop it (rhbz 797805)
rm -f %{buildroot}/%{_bindir}/ftdump
2020-04-17 14:35:30 +00:00
%files
%{_bindir}/*
%files -n %{libname}
%{_libdir}/libfdt-%{version}.so
%{_libdir}/libfdt.so.*
%files -n %{devname}
%doc GPL
%{_libdir}/libfdt.so
%{_includedir}/*
%files -n %{devnamestatic}
%{_libdir}/libfdt.a
%files -n python3-%{name}
%{python3_sitearch}/*