This commit is contained in:
Alexander Stefanov 2020-04-17 14:35:30 +00:00
commit 76b5a2ba3e
2 changed files with 102 additions and 0 deletions

2
.abf.yml Normal file
View file

@ -0,0 +1,2 @@
sources:
dtc-1.6.0.tar.xz: 3e6ab5121dcfe5ff9f8b0503becfcf687d5d4434

100
dtc.spec Normal file
View file

@ -0,0 +1,100 @@
%define api 1
%define major 4
%define libname %mklibname fdt %{api} %{major}
%define devname %mklibname -d fdt %{api}
%define devnamestatic %mklibname -d fdt_static %{api}
Name: dtc
Version: 1.6.0
Release: 1
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}
Summary: Python 2 bindings for %{name}
Provides: python2-libfdt = %{EVRD}
Requires: %{name} = %{EVRD}
%description -n python3-%{name}
This package provides python2 bindings for %{name}.
%prep
%setup -q
%autopatch -p1
sed -i 's/python2/python3/' pylibfdt/setup.py
%build
%setup_compile_flags
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
%make CC=%{__cc} LDFLAGS="%{optflags}" WARNINGS+=-Wno-macro-redefined
%install
%make_install DESTDIR=$RPM_BUILD_ROOT PREFIX=$RPM_BUILD_ROOT/usr \
LIBDIR=%{_libdir} BINDIR=%{_bindir} INCLUDEDIR=%{_includedir} V=1
%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}/*