Compare commits

...

5 Commits
rawhide ... f28

Author SHA1 Message Date
Gabriel L. Somlo 4737232287 Fix library suffix mis-detection on i686 2019-03-27 08:38:15 -04:00
Gabriel L. Somlo 2dd29db6eb Update to latest upstream snapshot 2019-03-26 13:24:52 -04:00
Gabriel L. Somlo 542b89f96c lower debuginfo verbosity with -g1 to allow building for armv7hl 2019-03-20 11:27:43 -04:00
Gabriel L. Somlo d4327231af fix lib64 false-positive detection on i386, armv7hl 2019-03-19 13:09:50 -04:00
Gabriel L. Somlo 19e1fa78de Initial version. 2019-03-19 11:55:53 -04:00
3 changed files with 123 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
/prjtrellis-26d6667.tar.gz
/prjtrellis-db-d0b219a.tar.gz
/prjtrellis-f1b1b35.tar.gz

2
sources Normal file
View File

@ -0,0 +1,2 @@
SHA512 (prjtrellis-db-d0b219a.tar.gz) = 08f2b5d4de5cfeaa881c61222002824c5a9370d7a4fa17b723288e835d860719f016336514611017265e5e8539b17dee183e4171998fb8c515bdd150ee0991d5
SHA512 (prjtrellis-f1b1b35.tar.gz) = 7fe1e3dc345c0b86eaaa4a76abc5b2761b9c8ae3d7ea4c6ae900340337da149a6ef6bd422dde90981594d98921fd3fe7e272c95c58fd1e6a9352349db407b06b

118
trellis.spec Normal file
View File

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