The package rpms/golang-github-xtaci-kcp-go.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/golang-github-xtaci-kcp-go.git/co....
Change:
+ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
Thanks.
Full change:
============
commit 085f6b3abc902ce194b63f9b898a31e453aa3fcf
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Wed May 17 15:31:58 2017 +0200
Initial import (#1438089).
diff --git a/.gitignore b/.gitignore
index e69de29..512a7fe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/xtaci-kcp-go-2fd1e3d.tar.gz
diff --git a/00-disable-failing-test.patch b/00-disable-failing-test.patch
new file mode 100644
index 0000000..4232edd
--- /dev/null
+++ b/00-disable-failing-test.patch
@@ -0,0 +1,20 @@
+diff --git a/sess_test.go b/sess_test.go
+index c8e571f..c9119a0 100644
+--- a/sess_test.go
++++ b/sess_test.go
+@@ -335,6 +335,7 @@ func TestClose(t *testing.T) {
+ cli.Close()
+ }
+
++/*
+ func TestParallel1024CLIENT_64BMSG_64CNT(t *testing.T) {
+ var wg sync.WaitGroup
+ wg.Add(1024)
+@@ -343,6 +344,7 @@ func TestParallel1024CLIENT_64BMSG_64CNT(t *testing.T) {
+ }
+ wg.Wait()
+ }
++*/
+
+ func parallel_client(wg *sync.WaitGroup) (err error) {
+ cli, err := dialEcho()
diff --git a/golang-github-xtaci-kcp-go.spec b/golang-github-xtaci-kcp-go.spec
new file mode 100644
index 0000000..410892c
--- /dev/null
+++ b/golang-github-xtaci-kcp-go.spec
@@ -0,0 +1,198 @@
+# Generate devel rpm
+%global with_devel 1
+# Build project from bundled dependencies
+%global with_bundled 0
+# Build with debug info rpm
+%global with_debug 0
+# Run tests in check section
+%global with_check 1
+# Generate unit-test rpm
+%global with_unit_test 1
+
+%if 0%{?with_debug}
+%global _dwz_low_mem_die_limit 0
+%else
+%global debug_package %{nil}
+%endif
+
+%global provider github
+%global provider_tld com
+%global project xtaci
+%global repo kcp-go
+#
https://github.com/xtaci/kcp-go
+%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
+%global import_path %{provider_prefix}
+%global commit 2fd1e3d26e6df5624ca2dbeae893a8e58d199815
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global commitdate 20170517
+
+
+Name: golang-%{provider}-%{project}-%{repo}
+Version: 3.15
+Release: 1.%{commitdate}.git%{shortcommit}%{?dist}
+Summary: Production-Grade Reliable-UDP Library for golang
+License: MIT
+URL: https://%{provider_prefix}
+Source0:
https://%{provider_prefix}/archive/%{commit}/%{project}-%{repo}-%{shortcommit}.tar.gz
+
+# Add a patch to disable a failing test.
+# It tries to open more than 1024 sockets, which doesn't work on fedora.
+# See
https://github.com/xtaci/kcp-go/issues/40
+Patch0: 00-disable-failing-test.patch
+
+# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required
+ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
+# If go_compiler is not set to 1, there is no virtual provide. Use golang instead.
+BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
+
+%description
+%{summary}
+
+
+%if 0%{?with_devel}
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%if 0%{?with_check} && ! 0%{?with_bundled}
+BuildRequires:
golang(github.com/klauspost/reedsolomon)
+BuildRequires:
golang(github.com/pkg/errors)
+BuildRequires:
golang(golang.org/x/crypto/blowfish)
+BuildRequires:
golang(golang.org/x/crypto/cast5)
+BuildRequires:
golang(golang.org/x/crypto/pbkdf2)
+BuildRequires:
golang(golang.org/x/crypto/salsa20)
+BuildRequires:
golang(golang.org/x/crypto/tea)
+BuildRequires:
golang(golang.org/x/crypto/twofish)
+BuildRequires:
golang(golang.org/x/crypto/xtea)
+BuildRequires:
golang(golang.org/x/net/ipv4)
+%endif
+
+Requires:
golang(github.com/klauspost/reedsolomon)
+Requires:
golang(github.com/pkg/errors)
+Requires:
golang(golang.org/x/crypto/blowfish)
+Requires:
golang(golang.org/x/crypto/cast5)
+Requires:
golang(golang.org/x/crypto/pbkdf2)
+Requires:
golang(golang.org/x/crypto/salsa20)
+Requires:
golang(golang.org/x/crypto/tea)
+Requires:
golang(golang.org/x/crypto/twofish)
+Requires:
golang(golang.org/x/crypto/xtea)
+Requires:
golang(golang.org/x/net/ipv4)
+
+Provides: golang(%{import_path}) = %{version}-%{release}
+
+%description devel
+%{summary}
+
+This package contains library source intended for
+building other packages which use import path with
+%{import_path} prefix.
+%endif
+
+
+%if 0%{?with_unit_test} && 0%{?with_devel}
+%package unit-test-devel
+Summary: Unit tests for %{name} package
+
+# test subpackage tests code from devel subpackage
+Requires: %{name}-devel = %{version}-%{release}
+
+%description unit-test-devel
+%{summary}
+
+This package contains unit tests for project
+providing packages with %{import_path} prefix.
+%endif
+
+
+%prep
+%setup -q -n %{repo}-%{commit}
+%patch0 -p1
+
+%build
+
+
+%install
+# source codes for building projects
+%if 0%{?with_devel}
+install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
+echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list
+
+# find all *.go but no *_test.go files and generate devel.file-list
+for file in $(find . \( -iname "*.go" -or -iname "*.s" \) \! -iname
"*_test.go") ; do
+ dirprefix=$(dirname $file)
+ install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$dirprefix
+ cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
+ echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list
+
+ while [ "$dirprefix" != "." ]; do
+ echo "%%dir %%{gopath}/src/%%{import_path}/$dirprefix" >>
devel.file-list
+ dirprefix=$(dirname $dirprefix)
+ done
+done
+%endif
+
+# testing files for this project
+%if 0%{?with_unit_test} && 0%{?with_devel}
+install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
+
+# find all *_test.go files and generate unit-test-devel.file-list
+for file in $(find . -iname "*_test.go") ; do
+ dirprefix=$(dirname $file)
+ install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$dirprefix
+ cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
+ echo "%%{gopath}/src/%%{import_path}/$file" >>
unit-test-devel.file-list
+
+ while [ "$dirprefix" != "." ]; do
+ echo "%%dir %%{gopath}/src/%%{import_path}/$dirprefix" >>
devel.file-list
+ dirprefix=$(dirname $dirprefix)
+ done
+done
+%endif
+
+%if 0%{?with_devel}
+sort -u -o devel.file-list devel.file-list
+%endif
+
+
+%check
+%if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel}
+%if ! 0%{?with_bundled}
+export GOPATH=%{buildroot}/%{gopath}:%{gopath}
+%else
+export GOPATH=%{buildroot}/%{gopath}:%{gopath}
+%endif
+
+%if ! 0%{?gotest:1}
+%global gotest go test
+%endif
+
+%gotest %{import_path}
+%endif
+
+
+#define license tag if not already defined
+%{!?_licensedir:%global license %doc}
+
+
+%if 0%{?with_devel}
+%files devel -f devel.file-list
+%license LICENSE
+%doc README.md
+%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project}
+%endif
+
+
+%if 0%{?with_unit_test} && 0%{?with_devel}
+%files unit-test-devel -f unit-test-devel.file-list
+%license LICENSE
+%doc README.md
+%endif
+
+
+%changelog
+* Wed May 17 2017 Fabio Valentini <decathorpe(a)gmail.com> -
3.15-1.20170517.git2fd1e3d
+- Bump to commit 2fd1e3d (2017-05-17).
+
+* Fri Mar 31 2017 Fabio Valentini <decathorpe(a)gmail.com> - 3.15-1
+- First package for Fedora
+
diff --git a/sources b/sources
index e69de29..1180f84 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (xtaci-kcp-go-2fd1e3d.tar.gz) =
6386816bc4c78dacc0fc91f128f29cc78bc01235fea978db40eaf9b912c2c17b3f79eeb03fa15c695a1786f32704fcac46315959114f9b759744a10b6595a2ad