Gabriel L. Somlo 27754d3
%global commit0 7e97b5b205af4e63ee0fd336e91da16bcd080f95
Gabriel L. Somlo 9583e22
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
%global commit1 d0b219af41ae3da6150645fbc5cc5613b530603f
Gabriel L. Somlo 9583e22
%global shortcommit1 %(c=%{commit1}; echo ${c:0:7})
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 27754d3
%global snapdate 20190806
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
%global __python %{__python3}
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
Name:          trellis
Gabriel L. Somlo 9583e22
Version:       1.0
Gabriel L. Somlo 27754d3
Release:       0.4.%{snapdate}git%{shortcommit0}%{?dist}
Gabriel L. Somlo 9583e22
Summary:       Lattice ECP5 FPGA bitstream creation/analysis/programming tools
Gabriel L. Somlo 9583e22
License:       ISC
Gabriel L. Somlo 9583e22
URL:           https://github.com/SymbiFlow/prj%{name}
Gabriel L. Somlo 9583e22
Source0:       https://github.com/SymbiFlow/prj%{name}/archive/%{commit0}/prj%{name}-%{shortcommit0}.tar.gz
Gabriel L. Somlo 9583e22
Source1:       https://github.com/SymbiFlow/prj%{name}-db/archive/%{commit1}/prj%{name}-db-%{shortcommit1}.tar.gz
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
# Patches:
Gabriel L. Somlo 9583e22
#Patch1:        some.patch
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
BuildRequires: cmake gcc-c++
Gabriel L. Somlo 9583e22
BuildRequires: python3-devel
Gabriel L. Somlo 9583e22
BuildRequires: boost-python3-devel
Gabriel L. Somlo 9583e22
# for building docs:
Gabriel L. Somlo 9583e22
BuildRequires: python-sphinx-latex
Gabriel L. Somlo 9583e22
BuildRequires: python3-recommonmark
Gabriel L. Somlo 9583e22
BuildRequires: latexmk
Gabriel L. Somlo 9583e22
# for building manpages:
Gabriel L. Somlo 9583e22
BuildRequires: help2man
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
Requires:      %{name}-data = %{version}-%{release}
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
%description
Gabriel L. Somlo 9583e22
Project Trellis enables a fully open-source flow for ECP5 FPGAs using
Gabriel L. Somlo 9583e22
Yosys for Verilog synthesis and nextpnr for place and route. Project
Gabriel L. Somlo 9583e22
Trellis provides the device database and tools for bitstream creation.
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
%package devel
Gabriel L. Somlo 9583e22
Summary:       Development files for Project Trellis
Gabriel L. Somlo 9583e22
Requires:      %{name}%{?_isa} = %{version}-%{release}
Gabriel L. Somlo 9583e22
Requires:      %{name}-data = %{version}-%{release}
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
%description devel
Gabriel L. Somlo 9583e22
Development files to build packages using Project Trellis
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
%package data
Gabriel L. Somlo 9583e22
Summary:       Project Trellis - Lattice ECP5 Bitstream Database
Gabriel L. Somlo 9583e22
BuildArch:     noarch
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
%description data
Gabriel L. Somlo 9583e22
This package contains the bitstream documentation database for
Gabriel L. Somlo 9583e22
Lattice ECP5 FPGA devices.
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
%prep
Gabriel L. Somlo 9583e22
%setup -q -n prj%{name}-%{commit0} -a 1
Gabriel L. Somlo 9583e22
rm -rf database
Gabriel L. Somlo 9583e22
mv prj%{name}-db-%{commit1} database
Gabriel L. Somlo 9583e22
#%%patch1 -p1
Gabriel L. Somlo 686d4a1
# add "-fPIC -g1" to CMAKE_CXX_FLAGS:
Gabriel L. Somlo 686d4a1
# (NOTE: "-g1" reduces debuginfo verbosity over "-g", which helps on armv7hl)
Gabriel L. Somlo 686d4a1
sed -i '/CMAKE_CXX_FLAGS/s/-O3/-O3 -fPIC -g1/' libtrellis/CMakeLists.txt
Gabriel L. Somlo 686d4a1
# prevent "lib64" false positive (e.g., on i386):
Gabriel L. Somlo 71c570f
sed -i 's/"lib64"/"lib${LIB_SUFFIX}"/' libtrellis/CMakeLists.txt
Gabriel L. Somlo 89a4d71
# fix shebang lines in Python scripts:
Gabriel L. Somlo 9583e22
find . -name \*.py -exec sed -i 's|/usr/bin/env python3|/usr/bin/python3|' {} \;
Gabriel L. Somlo 89a4d71
# remove .gitignore files in examples:
Gabriel L. Somlo 9583e22
find . -name \.gitignore -delete
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
%build
Gabriel L. Somlo 9583e22
%cmake libtrellis
Gabriel L. Somlo 9583e22
%make_build
Gabriel L. Somlo 9583e22
%make_build -C docs latexpdf
Gabriel L. Somlo 9583e22
# build manpages:
Gabriel L. Somlo 9583e22
mkdir man1
Gabriel L. Somlo 9583e22
for f in ecp*
Gabriel L. Somlo 9583e22
do
Gabriel L. Somlo 9583e22
  [ -x $f ] || continue
Gabriel L. Somlo 9583e22
  LD_PRELOAD=./libtrellis.so \
Gabriel L. Somlo 9583e22
    help2man --no-discard-stderr --version-string %{version} -N \
Gabriel L. Somlo 9583e22
             -o man1/$f.1 ./$f
Gabriel L. Somlo 9583e22
  sed -i '/required but missing/d' man1/$f.1
Gabriel L. Somlo 9583e22
done
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
%install
Gabriel L. Somlo 9583e22
%make_install PREFIX="%{_prefix}"
Gabriel L. Somlo 9583e22
install -Dpm644 -t %{buildroot}%{_mandir}/man1 man1/*
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
%check
Gabriel L. Somlo 9583e22
# nothing to do for now.
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
%files
Gabriel L. Somlo 9583e22
%license COPYING
Gabriel L. Somlo 9583e22
%doc README.md docs/_build/latex/ProjectTrellis.pdf
Gabriel L. Somlo 9583e22
%doc examples
Gabriel L. Somlo 9583e22
%{_bindir}/*
Gabriel L. Somlo 9583e22
%dir %{_libdir}/%{name}
Gabriel L. Somlo 9583e22
%{_libdir}/%{name}/libtrellis.so
Gabriel L. Somlo 9583e22
%{_datadir}/%{name}/misc
Gabriel L. Somlo 9583e22
%{_mandir}/man1/ecp*.1*
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
%files devel
Gabriel L. Somlo 9583e22
%doc libtrellis/examples
Gabriel L. Somlo 9583e22
%{_libdir}/%{name}/pytrellis.so
Gabriel L. Somlo 9583e22
%{_datadir}/%{name}/timing
Gabriel L. Somlo 9583e22
%{_datadir}/%{name}/util
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
%files data
Gabriel L. Somlo 9583e22
%dir %{_datadir}/%{name}
Gabriel L. Somlo 9583e22
%{_datadir}/%{name}/database
Gabriel L. Somlo 9583e22
Gabriel L. Somlo 9583e22
%changelog
Gabriel L. Somlo 27754d3
* Tue Aug 06 2019 Gabriel Somlo <gsomlo@gmail.com> - 1.0-0.4.20190806git7e97b5b
Gabriel L. Somlo 27754d3
- Update to newer snapshot.
Gabriel L. Somlo 27754d3
- Fix python 3.8 build (BZ #1737016).
Gabriel L. Somlo 27754d3
Gabriel L. Somlo 27754d3
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-0.3.20190327gitf1b1b35
Gabriel L. Somlo 27754d3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Gabriel L. Somlo 27754d3
Gabriel L. Somlo 71c570f
* Wed Mar 27 2019 Gabriel Somlo <gsomlo@gmail.com> - 1.0-0.2.20190327gitf1b1b35
Gabriel L. Somlo 27754d3
- Update to newer snapshot.
Gabriel L. Somlo 71c570f
- Fix library suffix mis-detection on i686.
Gabriel L. Somlo 27754d3
Gabriel L. Somlo 686d4a1
* Wed Mar 20 2019 Gabriel Somlo <gsomlo@gmail.com> - 1.0-0.1.20190320git26d6667
Gabriel L. Somlo 9583e22
- Initial version.