%define coriolisVersion 1.0 %define coriolisTop %{_prefix} %define svntag @svntag@ %define with_binarytar %{?_with_binarytar:1}%{!?_with_binarytar:0} %define with_staticlink %{?_with_staticlink:1}%{!?_with_staticlink:0} %define python_sitedir %{_lib}/%(python -c ' import os.path import distutils.sysconfig pathes = distutils.sysconfig.get_python_lib().split("/") print os.path.join ( pathes[-2], pathes[-1] ) ') %if 0%{?rhel} > 5 || 0%{?fedora} > 10 %define qt4 qt %else %define qt4 qt4 %endif Name: coriolis2 Summary: Coriolis 2 VLSI CAD Sytem Version: %{coriolisVersion}.%{svntag} Release: 1%{dist} License: BSD/LGPL/GPL Group: Applications/Engineering Source: %{name}-%{version}.tar.bz2 URL: http://www-asim.lip6.fr/ Packager: Jean-Paul Chaput Requires(post): ldconfig Requires: boost >= 1.33.1 Requires: %{qt4} >= 4.5.0 BuildRequires: boost-devel >= 1.33.1 BuildRequires: %{qt4}-devel >= 4.5.0 BuildRoot: %{_tmppath}/root-%{name} %description Coriolis is the new CAD tool suite intended to replace the physical backend flow of Alliance. The Knik global router makes use of FLUTE, which is redistributed under is own license. FLUTE is copyrighted by Dr. Chris C. N. Chu from the Iowa State University . %package devel Summary: Coriolis 2 VLSI CAD Sytem - Development Group: Applications/Engineering Requires: %{name} = %{version}-%{release} Requires: %{qt4}-devel >= 4.5.0 %description devel Development files for the Coriolis 2 package. %prep %setup %build if [ -d %{buildroot} ]; then rm -r %{buildroot}; fi VLSISAPD_TOP=%{coriolisTop}; export VLSISAPD_TOP CORIOLIS_TOP=%{coriolisTop}; export CORIOLIS_TOP # Do build & install in one step, except for documentation. tools="vlsisapd hurricane crlcore knik katabatic kite equinox solstice unicorn" for tool in $tools; do %__mkdir_p build/$tool pushd build/$tool; cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \ -D BUILD_SHARED_LIBS:STRING=ON \ -D BUILD_DOC:STRING=OFF \ -D CMAKE_INSTALL_PREFIX:STRING=%{coriolisTop} \ -D DESTDIR:STRING=%{buildroot} \ %if %{with_staticlink} -D BUILD_SHARED_LIBS:STRING=OFF \ %endif %ifarch x86_64 -D LIB_SUFFIX:STRING=64 \ %endif ../../$tool make DESTDIR=%{buildroot} %{_smp_mflags} install popd done %install VLSISAPD_TOP=%{coriolisTop}; export VLSISAPD_TOP CORIOLIS_TOP=%{coriolisTop}; export CORIOLIS_TOP # Install & build documentation, in -j1. tools="vlsisapd hurricane crlcore knik katabatic kite equinox solstice unicorn" for tool in $tools; do pushd build/$tool; makeArgs="" cmakeArgs="" if [ "$tool" = "crlcore" ]; then makeArgs="dvi safepdf html" cmakeArgs="-D BUILD_DOC:STRING=ON" else cmakeArgs="-D BUILD_DOC:STRING=OFF" fi cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \ -D BUILD_SHARED_LIBS:STRING=ON \ -D CMAKE_INSTALL_PREFIX:STRING=%{coriolisTop} \ -D DESTDIR:STRING=%{buildroot} \ %if %{with_staticlink} -D BUILD_SHARED_LIBS:STRING=OFF \ %endif %ifarch x86_64 -D LIB_SUFFIX:STRING=64 \ %endif ${cmakeArgs} \ ../../$tool make DESTDIR=%{buildroot} -j1 ${makeArgs} install popd done %__rm -rf %{buildroot}%{coriolisTop}/share/doc/coriolis2 # Removing undistributed binaries. %__rm -f %{buildroot}%{coriolisTop}/bin/{cx2y,kite-text} # %{__mkdir} -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/ # cat > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}.conf << EOF # Coriolis 2 VLSI design system #%{coriolisTop}/%{_lib} #%{coriolisTop}/%{_lib}/python #EOF #%if %{with_binarytar} # cd %{buildroot}%{coriolisTop} # tar --exclude "*/cmake_modules*" \ # -jcf %{_sourcedir}/%{name}-binary-%{version}-%{release}.%{_arch}.tar.bz2 \ # bin %{_lib} share #%endif %clean if [ -d %{buildroot} ]; then rm -r %{buildroot}; fi %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) #%doc %{_docdir}/coriolis2/README.* %doc build/crlcore/doc/README.{tex,dvi,pdf} build/crlcore/doc/README %dir %{_sysconfdir}/coriolis2 %dir %{coriolisTop}/share/coriolis2/flute-2.4 %dir %{coriolisTop}/bin %dir %{coriolisTop}/%{_lib} %dir %{coriolisTop}/%{python_sitedir} %{coriolisTop}/bin/* %if %{with_staticlink} %{coriolisTop}/%{_lib}/*.a %else %{coriolisTop}/%{_lib}/*.so %endif %{coriolisTop}/%{python_sitedir}/*.so #%config(noreplace) %{_sysconfdir}/ld.so.conf.d/* %config(noreplace) %{_sysconfdir}/coriolis2/*.xml %config(noreplace) %{coriolisTop}/share/coriolis2/flute-2.4/*.dat %files devel %defattr(-,root,root,-) %dir %{coriolisTop}/share/cmake/Modules %dir %{coriolisTop}/include %dir %{coriolisTop}/include/vlsisapd %dir %{coriolisTop}/include/vlsisapd/agds %dir %{coriolisTop}/include/vlsisapd/cif #%dir %{coriolisTop}/include/vlsisapd/dtr #%dir %{coriolisTop}/include/vlsisapd/openChams %dir %{coriolisTop}/include/coriolis2/hurricane %dir %{coriolisTop}/include/coriolis2/hurricane/viewer %dir %{coriolisTop}/include/coriolis2/hurricane/isobar %dir %{coriolisTop}/include/coriolis2 %dir %{coriolisTop}/include/coriolis2/crlcore %dir %{coriolisTop}/include/coriolis2/knik %dir %{coriolisTop}/include/coriolis2/katabatic %dir %{coriolisTop}/include/coriolis2/kite %dir %{coriolisTop}/include/coriolis2/equinox %dir %{coriolisTop}/include/coriolis2/solstice %{coriolisTop}/share/cmake/Modules/*.cmake %{coriolisTop}/include/vlsisapd/agds/*.h %{coriolisTop}/include/vlsisapd/cif/*.h #%{coriolisTop}/include/vlsisapd/dtr/*.h #%{coriolisTop}/include/vlsisapd/openChams/*.h %{coriolisTop}/include/coriolis2/hurricane/*.h %{coriolisTop}/include/coriolis2/hurricane/viewer/*.h %{coriolisTop}/include/coriolis2/hurricane/isobar/*.h %{coriolisTop}/include/coriolis2/crlcore/*.h %{coriolisTop}/include/coriolis2/knik/*.h %{coriolisTop}/include/coriolis2/katabatic/*.h %{coriolisTop}/include/coriolis2/kite/*.h %{coriolisTop}/include/coriolis2/equinox/*.h %{coriolisTop}/include/coriolis2/solstice/*.h %changelog * Sun May 16 2010 Jean-Paul.Chaput - Initial packaging for svn release 1322 (alpha stage).