From f0dc64e71e59f472abbe4f61aea50f61afe2bd50 Mon Sep 17 00:00:00 2001 From: Gabriel L. Somlo Date: Mar 26 2019 18:04:27 +0000 Subject: Update to fast HeAP analytical placer; package examples --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a48b14c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/nextpnr-ed4fc88.tar.gz diff --git a/nextpnr.spec b/nextpnr.spec new file mode 100644 index 0000000..2ed8c9a --- /dev/null +++ b/nextpnr.spec @@ -0,0 +1,90 @@ +%global commit ed4fc888debb2eb100d1476e92c87c65d72cf545 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Name: nextpnr +Version: 0 +Release: 0.3.20190326git%{shortcommit}%{?dist} +Summary: FPGA place and route tool + +License: ISC and BSD and MIT and (MIT or Public Domain) +URL: https://github.com/YosysHQ/nextpnr +Source0: https://github.com/YosysHQ/nextpnr/archive/%{commit}/%{name}-%{shortcommit}.tar.gz + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: make +BuildRequires: python3-devel +BuildRequires: libglvnd-devel +BuildRequires: boost-filesystem +BuildRequires: boost-thread +BuildRequires: boost-program-options +BuildRequires: boost-iostreams +BuildRequires: qt5-qtconfiguration-devel +BuildRequires: cmake(QtConfiguration) +BuildRequires: boost-python3-devel +BuildRequires: icestorm >= 0-0.7.20190311 +BuildRequires: trellis-devel +BuildRequires: eigen3-devel + +# License: ISC +Provides: bundled(qtimgui) + +# Qt5 enabled fork of QtPropertyBrowser +# License: BSD +Provides: bundled(QtPropertyBrowser) + +# License: MIT +Provides: bundled(python-console) + +# License: (MIT or Public Domain) +Provides: bundled(imgui) = 1.66-wip + + +%description +nextpnr aims to be a vendor neutral, timing driven, FOSS FPGA place and +route tool. + + +%prep +%autosetup -n %{name}-%{commit} +cp 3rdparty/imgui/LICENSE.txt LICENSE-imgui.txt +cp 3rdparty/qtimgui/LICENSE LICENSE-qtimgui.txt +cp 3rdparty/python-console/LICENSE LICENSE-python-console.txt + + +%build +%cmake . -DARCH=all \ + -DICEBOX_ROOT=%{_datadir}/icestorm \ + -DTRELLIS_ROOT=%{_datadir}/trellis +make %{?_smp_mflags} +# prepare examples doc. directory: +mkdir -p examples/ice40 examples/ecp5 +cp -r ice40/examples/* examples/ice40 +cp ecp5/synth/* examples/ecp5 + + +%install +%make_install + + +%files +%{_bindir}/nextpnr-generic +%{_bindir}/nextpnr-ice40 +%{_bindir}/nextpnr-ecp5 +%doc README.md docs examples +%license COPYING +%license LICENSE-imgui.txt +%license LICENSE-qtimgui.txt +%license LICENSE-python-console.txt + + +%changelog +* Tue Mar 26 2019 Gabriel Somlo - 0-0.3.20190325gited4fc88 +- Update to latest dev snapshot containing fast HeAP-based analytical placer +- Package included ice40, ecp5 example projects as documentation + +* Thu Mar 21 2019 Lubomir Rintel - 0-0.2.20190319gitcadbf42 +- Enable ecp5 + +* Tue Mar 19 2019 Lubomir Rintel - 0-0.1.20190319gitcadbf42 +- Initial packaging diff --git a/sources b/sources new file mode 100644 index 0000000..81a7ede --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (nextpnr-ed4fc88.tar.gz) = e63832a04f6968915f836b0f62dab498a915e7112109427dc85fa67a33fedc89accc4c50a4895fe5242d8aee21eda500977c59ba14d9060acc3c4b18dc9d816c