%global commit 22aecbf47a50da39cc72af8f6771393fa98d4263 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: geda-gaf %global name_uc gEDA-gaf Version: 1.10.2 Release: 4%{?dist} Summary: Electronic Design Suite 'gschem and Friends' License: GPL-2.0-only URL: http://wiki.geda-project.org/start #Source0: http://ftp.geda-project.org/%%{name}/stable/v1.10/%%{version}/%%{name}-%%{version}.tar.gz Source0: %{name}-%{version}.tar.xz Patch0: 0001-area-uninitalized.patch BuildRequires: cpp gcc-c++ >= 8.3.0 flex >= 2.6.4 BuildRequires: gettext >= 0.19.8 gettext-devel texinfo BuildRequires: gtk2 >= 2.18.0 gtk2-devel BuildRequires: python2.7 python2-devel python3-devel BuildRequires: autoconf automake libtool help2man BuildRequires: guile-devel >= 2.2.4 glib2-devel BuildRequires: desktop-file-utils gamin-devel BuildRequires: git %if 0%{?fedora} < 39 BuildRequires: %{_bindir}/pathfix.py %endif %global _strict_symbol_defs_build 1 %description The GPL Electronic Design Automation (gEDA) project has produced and continues working on a full GPL'd suite and toolkit of Electronic Design Automation tools. These tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. Currently, the gEDA project offers a mature suite of free software applications for electronics design, including schematic capture, attribute management, bill of materials (BOM) generation, net-listing into over 20 netlist formats, analog and digital simulation, and printed circuit board (PCB) layout. %prep %setup -q %autosetup -S git ./autogen.sh %if 0%{?fedora} < 39 pathfix.py -pni "%{__python2} %{py2_shbang_opts}" . %else %{python3} /usr/lib/rpm/redhat/pathfix.py -pni "%{__python2} %{py2_shbang_opts}" . %endif cd ./docs/wiki/media/geda/ iconv --from=ISO-8859-1 --to=UTF-8 ./pcb_plugin_template.tar.gz > ./pcb_plugin_template.tar.gz.new && \ touch -r ./pcb_plugin_template.tar.gz ./pcb_plugin_template.tar.gz.new && \ mv ./pcb_plugin_template.tar.gz.new ./pcb_plugin_template.tar.gz cd ../../../.. # update FSF address... damn, those guys move around a lot # ... anyways, better make sure they get their mail %global oa1 675 Mass Ave, Cambridge, MA 02139, USA %global oa2 59 Temple Place, Suite 330, Boston, MA\\s+02111(\\-1307)?\\s+USA %global an 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA %global re_oa %{oa1}|%{oa2} set +x echo "Updating FSF address:" for f in `find . -type f -regextype posix-extended -regex '.*\.(c|cc|h|hh|scm|scm.in|py|pl|inx|tcl|txt)$'`; do if grep -zqP "%{re_oa}" $f; then perl -0777 -i -pe 's/%{re_oa}/%{an}/g' $f echo "$f" fi done set -x %build %configure sed -i -e 's| -shared | -Wl,--as-needed\0|g' libtool %make_build %install %make_install # a missing man page help2man --no-discard-stderr "%{buildroot}%{_bindir}/xorn" \ --version-option=version \ --output=%{buildroot}%{_mandir}/man1/xorn.1 # install desktop files desktop-file-install --dir %{buildroot}%{_datadir}/applications \ gattrib/data/geda-gattrib.desktop desktop-file-install --dir %{buildroot}%{_datadir}/applications \ gschem/data/geda-gschem.desktop # Some files got ambiguous python shebangs, we fix them after everything else is done %if 0%{?fedora} < 39 pathfix.py -pni "%{__python2} %{py2_shbang_opts}" %{buildroot} %{buildroot}%{_bindir}/* %else %{python3} /usr/lib/rpm/redhat/pathfix.py -pni "%{__python2} %{py2_shbang_opts}" %{buildroot} %{buildroot}%{_bindir}/* %endif find %{buildroot} -size 0 -delete # This dir file actually needs to be intalled using install-info from the makefile # for now we'll just delete it # rm %%{buildroot}%%{_infodir}/dir # fix a bunch of line endings sed -i 's/\r$//' %{buildroot}%{_docdir}/%{name}/examples/RF_Amp/MSA-2643.cir sed -i 's/\r$//' %{buildroot}%{_docdir}/%{name}/examples/RF_Amp/Q1.cir sed -i 's/\r$//' %{buildroot}%{_docdir}/%{name}/examples/RF_Amp/Q2.cir sed -i 's/\r$//' %{buildroot}%{_docdir}/%{name}/examples/TwoStageAmp/spice.netlist %find_lang %{name} %find_lang geda-gattrib %find_lang libgeda47 %find_lang geda-gschem %find_lang geda-gsymcheck %find_lang geda-gnetlist-legacy %files -f %{name}.lang -f geda-gattrib.lang -f libgeda47.lang -f geda-gschem.lang -f geda-gsymcheck.lang -f geda-gnetlist-legacy.lang %{_bindir}/* %{_libdir}/libgeda.so.47* %{_libdir}/libgedacairo.so.1* %{_libdir}/libxornstorage.so.0* %{_libdir}/python2.7/site-packages/gaf %{_libdir}/python2.7/site-packages/xorn %exclude %{_libdir}/python2.7/site-packages/xorn/*module.a %{_libdir}/xorn %{_datadir}/applications/geda-{gattrib,gschem}.desktop %{_datadir}/applications/mimeinfo.cache %{_datadir}/gEDA %{_datadir}/icons/hicolor/{??x??,scalable}/mimetypes/* %{_datadir}/icons/hicolor/{48x48,scalable}/apps/* %exclude %{_infodir}/dir %{_infodir}/*.gz %{_mandir}/man?/*.1.gz %{_datadir}/mime/application/x-geda-*.xml %{_datadir}/mime/packages/libgeda.xml %{_datadir}/mime/{globs*,magic,mime.cache,subclasses,treemagic,types,version} %{_datadir}/metainfo/geda-gattrib.metainfo.xml %{_datadir}/metainfo/geda-gschem.metainfo.xml %license COPYING COPYING.LGPL %doc AUTHORS ChangeLog NEWS README HACKING %changelog * Mon Oct 30 2023 Pappy - 1.10.2-4 - Upgrade to Fedora 38. - %%files reoganised for proper directory ownership * Thu Mar 16 2023 Stephen Krochenski - 1.10.2-3 - Upgrade to Fedora 37. doc package to noarch * Thu Sep 22 2022 Stephen Krochenski - 1.10.2-3 - Upgrade to Fedora 36. * Sun Nov 21 2021 Stephen Krochenski - 1.10.2-3 - Split off doc files. * Sat Oct 16 2021 Stephen Krochenski - 1.10.2-2 - Merge fixes from branch 'xorn' into stable-1.10 * Mon Dec 28 2020 Stephen Krochenski - 1.10.2-1 - Packaging v1.10.2 * Tue Oct 20 2020 Stephen Krochenski - 1.10.0-3 - Updated to repo head * Tue Oct 6 2020 Stephen Krochenski - 1.10.0-2 - Using official sources and patches * Sun Oct 4 2020 Stephen Krochenski - 1.10.0-1 - Initial packaging v1.10.1 %package devel Summary: Electronic Design Suite 'gschem and Friends' Requires: %{name}%{?_isa} = %{version}-%{release} %description devel Development files for The GPL Electronic Design Automation (gEDA) Project %files devel %{_libdir}/libgeda.so %{_libdir}/libgedacairo.so %{_libdir}/libxornstorage.so %{_libdir}/pkgconfig/libgeda.pc %{_libdir}/pkgconfig/libgedacairo.pc %{_includedir}/* %license COPYING COPYING.LGPL %doc AUTHORS ChangeLog README HACKING %package static Summary: Electronic Design Suite 'gschem and Friends' Requires: %{name}%{?_isa} = %{version}-%{release} %description static Static library files for The GPL Electronic Design Automation (gEDA) Project %files static %{_libdir}/libxornstorage.a %{_libdir}/python2.7/site-packages/xorn/{guile,storage}module.a %license COPYING COPYING.LGPL %doc AUTHORS ChangeLog NEWS README HACKING %package doc Summary: Documentation for Electronic Design Suite 'gschem and Friends' BuildArch: noarch %description doc Development files for The GPL Electronic Design Automation (gEDA) Project %files doc %{_docdir}/%{name} %license COPYING COPYING.LGPL