The package rpms/icon.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/icon.git/commit/?id=a894d31261daa....
Change:
+%ifarch armv7hl
Thanks.
Full change:
============
commit a894d31261daaa3bec2f9f915cd0cecb75f9b9a2
Author: Eric Smith <brouhaha(a)fedoraproject.org>
Date: Sun Sep 13 23:01:23 2020 -0600
Initial import (#1862842).
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..308c749
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/icon-v9.5.20i.tar.gz
diff --git a/icon-nostrip.patch b/icon-nostrip.patch
new file mode 100644
index 0000000..d24a103
--- /dev/null
+++ b/icon-nostrip.patch
@@ -0,0 +1,24 @@
+diff -up icon-1ca7e2d524def413ebcc25afc2b16b63957ac415/src/icont/Makefile.nostrip
icon-1ca7e2d524def413ebcc25afc2b16b63957ac415/src/icont/Makefile
+--- icon-1ca7e2d524def413ebcc25afc2b16b63957ac415/src/icont/Makefile.nostrip 2020-07-13
14:56:05.000000000 -0600
++++ icon-1ca7e2d524def413ebcc25afc2b16b63957ac415/src/icont/Makefile 2020-07-29
23:27:22.044308455 -0600
+@@ -21,7 +21,7 @@ COBJS = ../common/long.o ../common/geto
+ icont: $(OBJS) $(COBJS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o icont $(OBJS) $(COBJS)
+ cp icont ../../bin
+- strip ../../bin/icont$(EXE)
++# strip ../../bin/icont$(EXE)
+ (cd ../../bin; rm -f icon icon.exe; ln -s icont icon)
+
+ $(OBJS): $(HFILES) tproto.h
+diff -up icon-1ca7e2d524def413ebcc25afc2b16b63957ac415/src/runtime/Makefile.nostrip
icon-1ca7e2d524def413ebcc25afc2b16b63957ac415/src/runtime/Makefile
+--- icon-1ca7e2d524def413ebcc25afc2b16b63957ac415/src/runtime/Makefile.nostrip 2020-07-13
14:56:05.000000000 -0600
++++ icon-1ca7e2d524def413ebcc25afc2b16b63957ac415/src/runtime/Makefile 2020-07-29
23:26:31.711109971 -0600
+@@ -32,7 +32,7 @@ iconx: $(COBJS) $(XOBJS)
+ cd ../common; $(MAKE)
+ $(CC) $(RLINK) -o iconx $(XOBJS) $(COBJS) $(XL) $(RLIBS) $(TLIBS)
+ cp iconx ../../bin
+- strip $(SFLAGS) ../../bin/iconx$(EXE)
++# strip $(SFLAGS) ../../bin/iconx$(EXE)
+
+ $(COBJS):
+ cd ../common; $(MAKE)
diff --git a/icon-system-xpm.patch b/icon-system-xpm.patch
new file mode 100644
index 0000000..37a6604
--- /dev/null
+++ b/icon-system-xpm.patch
@@ -0,0 +1,50 @@
+diff -up icon-9.5.20h/src/common/Makefile.system-xpm icon-9.5.20h/src/common/Makefile
+--- icon-9.5.20h/src/common/Makefile.system-xpm 2020-08-02 08:34:38.000000000 -0600
++++ icon-9.5.20h/src/common/Makefile 2020-09-12 17:32:36.230803215 -0600
+@@ -5,22 +5,11 @@ OBJS = long.o getopt.o time.o filepart.o
+ munix.o literals.o rswitch.o alloc.o long.o getopt.o time.o\
+ xwindow.o ipp.o
+
+-common: $(OBJS) gpxmaybe
++common: $(OBJS)
+
+ patchstr: patchstr.c
+ $(CC) $(CFLAGS) -o patchstr patchstr.c
+
+-gpxmaybe:
+- -if [ "x$(XL)" != "x" ]; then $(MAKE) $(GDIR); fi
+-
+-xpm:
+- cd ../xpm; $(MAKE) libXpm.a
+- cp -p ../xpm/libXpm.a ../../bin/libIgpx.a
+-
+-wincap:
+- cd ../wincap; $(MAKE) libWincap.a
+- cp -u ../wincap/libWincap.a ../../bin/libIgpx.a
+-
+ $(OBJS): ../h/define.h ../h/arch.h ../h/config.h ../h/cstructs.h \
+ ../h/typedefs.h ../h/mproto.h ../h/cpuconf.h
+
+diff -up icon-9.5.20h/src/h/sys.h.system-xpm icon-9.5.20h/src/h/sys.h
+--- icon-9.5.20h/src/h/sys.h.system-xpm 2020-08-02 08:34:38.000000000 -0600
++++ icon-9.5.20h/src/h/sys.h 2020-09-12 17:32:36.230803215 -0600
+@@ -58,7 +58,7 @@
+ */
+ #ifdef XWindows
+ #ifdef HaveXpmFormat
+- #include "../xpm/xpm.h"
++ #include <X11/xpm.h>
+ #else /* HaveXpmFormat */
+ #include <X11/Xlib.h>
+ #endif /* HaveXpmFormat */
+diff -up icon-9.5.20h/src/Makefile.system-xpm icon-9.5.20h/src/Makefile
+--- icon-9.5.20h/src/Makefile.system-xpm 2020-08-02 08:34:38.000000000 -0600
++++ icon-9.5.20h/src/Makefile 2020-09-12 17:32:36.230803215 -0600
+@@ -11,7 +11,6 @@ Clean Pure:
+ cd runtime; rm -f *.o *.exe *.c rt.db rt.a rtt*.lst iconx
+ cd icont; rm -f *.o *.exe icont hdr.h ixhdr.hdr newhdr
+ cd wincap; rm -f *.o *.exe *.a
+- cd xpm; rm -f *.o *.exe *.a
+ # force full runtime system rebuild
+ touch -c h/define.h
+ rm -f h/arch.h
diff --git a/icon.spec b/icon.spec
new file mode 100644
index 0000000..10359fa
--- /dev/null
+++ b/icon.spec
@@ -0,0 +1,119 @@
+%global git_user0 gtownsend
+
+Name: icon
+Version: 9.5.20i
+Release: 1%{?dist}
+Summary: Icon programming language
+License: Public Domain
+URL:
https://www2.cs.arizona.edu/icon/
+Source0:
https://github.com/%{git_user0}/%{name}/archive/v%{version}/%{name}-v%{ve...
+
+# Fedora-specific patch to avoid stripping executables
+Patch0: icon-nostrip.patch
+
+# Fedora-specific patch to use Fedora XPM library (also requires a sed command
+# in the prep section)
+Patch1: icon-system-xpm.patch
+
+BuildRequires: gcc
+BuildRequires: pkgconfig(x11)
+BuildRequires: pkgconfig(xt)
+BuildRequires: pkgconfig(xpm)
+
+
+%global _description %{expand:
+Icon is a high-level general-purpose programming language with novel features
+including string scanning and goal-directed evaluation.}
+
+%description %_description
+
+
+%package utils
+Summary: Icon utility programs
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description utils %_description
+
+
+%prep
+%setup -q -n %{name}-%{version}
+rm -rf src/xpm
+%patch -P 0 -p1 -b .nostrip
+%patch -P 1 -p1 -b .system-xpm
+
+
+%build
+make X-Configure name=linux
+sed -i -e 's|CFLAGS = -O|CFLAGS = %{optflags}|' Makedefs
+sed -i -e 's|Igpx|Xpm|' Makedefs
+%ifarch armv7hl
+# Icon doesn't work correctly on armv7hl build with -O2, due to complicated
+# type casting issues, probably involving C undefined behavior. As of
+# 2020-08-01, Greg Townsend, an Icon maintainer, recommends using only
+#-O rather than -O2.
+#
https://list.arizona.edu/sympa/arc/icon-language/2020-08/msg00000.html
+sed -i -e 's|-O2|-O|' Makedefs
+%endif
+
+# NOTE: make fails if smp_mflags is used
+make -j1 All
+
+%check
+make Test
+
+%install
+# the icon "make Install" assumes the use of an icon-specific tree,
+# while we want to put the binaries in the system binary directory,
+# but the libraries in lib/icon.
+
+# binaries
+install -d -m0755 %{buildroot}%{_bindir}
+install -p -m0755 bin/icon[tx] %{buildroot}%{_bindir}
+ln -s icont %{buildroot}%{_bindir}/icon
+
+# includes
+# Since there's only one small file, it doesn't make sense to create a
+# separate icon-devel package
+install -d -m0755 %{buildroot}%{_includedir}
+install -p -m0644 lib/icall.h %{buildroot}%{_includedir}
+
+# libraries
+install -d -m0755 %{buildroot}%{_libdir}/%{name}
+install -p -m0644 -s bin/libcfunc.so %{buildroot}%{_libdir}/%{name}
+install -p -m0644 lib/*.icn lib/*.u[12] %{buildroot}%{_libdir}/%{name}
+
+# man pages
+install -d -m0755 %{buildroot}%{_mandir}/man1
+install -p -m0644 man/man1/* %{buildroot}%{_mandir}/man1
+
+# utility binaries
+install -p -m0755 bin/[cfpvw]* %{buildroot}%{_bindir}
+# xgamma conflicts with same named executable from xorg-x11-server-utils,
+# so rename
+install -p -m0755 bin/xgamma %{buildroot}%{_bindir}/icon-xgamma
+
+%files
+# rpmlint will give errors regarding some libdir/icon/*.u1 files being
+# zero-length, but that is correct.
+%license README
+%{_bindir}/icon
+%{_bindir}/icon[tx]
+%{_includedir}/icall.h
+%{_libdir}/%{name}
+%{_mandir}/man1/*.1*
+%doc doc/*
+
+%files utils
+%{_bindir}/[cfpvw]*
+%{_bindir}/icon-xgamma
+
+
+%changelog
+* Sat Sun 13 2020 Eric Smith <brouhaha(a)fedoraproject.org> 9.5.20i-1
+- Update to latest upstream.
+
+* Sat Sep 12 2020 Eric Smith <brouhaha(a)fedoraproject.org> 9.5.20h-2
+- Use system libXpm rather than bundled.
+
+* Sun Aug 02 2020 Eric Smith <brouhaha(a)fedoraproject.org> 9.5.20h-1
+- Initial version.
diff --git a/sources b/sources
new file mode 100644
index 0000000..d5c577b
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (icon-v9.5.20i.tar.gz) =
31f43f0ff672e81b459c8364960b780733820000c31405ddcd13d14927f065b48d1fae47aeb90a2cd31b65340c77ec7f85e8da27797fb186fa49474e7c8be394