%global debug_package %{nil}
%global provider github
%global provider_tld com
%global project golang
%global repo crypto
# https://github.com/golang/crypto
%global import_path %{provider}.%{provider_tld}/%{project}/%{repo}
%global commit c57d4a71915a248dbad846d60825145062b4c18e
%global shortcommit %(r=%{commit}; echo ${r:0:7})
%global gc_provider google
%global gc_provider_sub code
%global gc_provider_tld com
%global gc_project p
%global gc_repo crypto
# https://code.google.com/p/crypto
%global gc_import_path %{gc_provider_sub}.%{gc_provider}.%{gc_provider_tld}/%{gc_project}/go.%{gc_repo}
%global gc_rev 69e2a90ed92d03812364aeb947b7068dc42e561e
%global gc_shortrev %(r=%{rev}; echo ${r:0:12})
%global x_provider golang
%global x_provider_tld org
%global x_repo crypto
%global x_import_path %{x_provider}.%{x_provider_tld}/x/%{x_repo}
%global x_name golang-%{x_provider}%{x_provider_tld}-%{repo}
Name: golang-%{gc_provider}%{gc_provider_sub}-go-%{gc_repo}
Version: 0
Release: 0.3.git%{shortcommit}%{?dist}
Summary: Supplementary Go cryptography libraries
License: BSD
URL: https://%{import_path}
Source0: https://%{import_path}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz
%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
BuildArch: noarch
%else
ExclusiveArch: %{ix86} x86_64 %{arm}
%endif
%description
%{summary}
%package devel
BuildRequires: golang >= 1.2.1-3
Summary: %{summary}
Provides: golang(%{gc_import_path}/bcrypt) = %{version}-%{release}
Provides: golang(%{gc_import_path}/blowfish) = %{version}-%{release}
Provides: golang(%{gc_import_path}/bn256) = %{version}-%{release}
Provides: golang(%{gc_import_path}/cast5) = %{version}-%{release}
Provides: golang(%{gc_import_path}/curve25519) = %{version}-%{release}
Provides: golang(%{gc_import_path}/hkdf) = %{version}-%{release}
Provides: golang(%{gc_import_path}/md4) = %{version}-%{release}
Provides: golang(%{gc_import_path}/nacl/box) = %{version}-%{release}
Provides: golang(%{gc_import_path}/nacl/secretbox) = %{version}-%{release}
Provides: golang(%{gc_import_path}/ocsp) = %{version}-%{release}
Provides: golang(%{gc_import_path}/openpgp) = %{version}-%{release}
Provides: golang(%{gc_import_path}/openpgp/armor) = %{version}-%{release}
Provides: golang(%{gc_import_path}/openpgp/clearsign) = %{version}-%{release}
Provides: golang(%{gc_import_path}/openpgp/elgamal) = %{version}-%{release}
Provides: golang(%{gc_import_path}/openpgp/errors) = %{version}-%{release}
Provides: golang(%{gc_import_path}/openpgp/packet) = %{version}-%{release}
Provides: golang(%{gc_import_path}/openpgp/s2k) = %{version}-%{release}
Provides: golang(%{gc_import_path}/otr) = %{version}-%{release}
Provides: golang(%{gc_import_path}/pbkdf2) = %{version}-%{release}
Provides: golang(%{gc_import_path}/poly1305) = %{version}-%{release}
Provides: golang(%{gc_import_path}/ripemd160) = %{version}-%{release}
Provides: golang(%{gc_import_path}/salsa20) = %{version}-%{release}
Provides: golang(%{gc_import_path}/salsa20/salsa) = %{version}-%{release}
Provides: golang(%{gc_import_path}/scrypt) = %{version}-%{release}
Provides: golang(%{gc_import_path}/sha3) = %{version}-%{release}
Provides: golang(%{gc_import_path}/ssh) = %{version}-%{release}
Provides: golang(%{gc_import_path}/ssh/agent) = %{version}-%{release}
Provides: golang(%{gc_import_path}/ssh/terminal) = %{version}-%{release}
Provides: golang(%{gc_import_path}/ssh/test) = %{version}-%{release}
Provides: golang(%{gc_import_path}/ssh/testdata) = %{version}-%{release}
Provides: golang(%{gc_import_path}/twofish) = %{version}-%{release}
Provides: golang(%{gc_import_path}/xtea) = %{version}-%{release}
Provides: golang(%{gc_import_path}/xts) = %{version}-%{release}
%description devel
%{summary}
This package contains library source intended for building other packages
which use the supplementary Go crypto libraries with code.google.com/p/ imports.
%package -n %{x_name}-devel
BuildRequires: golang >= 1.2.1-3
Summary: %{summary}
Provides: golang(%{x_import_path}/bcrypt) = %{version}-%{release}
Provides: golang(%{x_import_path}/blowfish) = %{version}-%{release}
Provides: golang(%{x_import_path}/bn256) = %{version}-%{release}
Provides: golang(%{x_import_path}/cast5) = %{version}-%{release}
Provides: golang(%{x_import_path}/curve25519) = %{version}-%{release}
Provides: golang(%{x_import_path}/hkdf) = %{version}-%{release}
Provides: golang(%{x_import_path}/md4) = %{version}-%{release}
Provides: golang(%{x_import_path}/nacl/box) = %{version}-%{release}
Provides: golang(%{x_import_path}/nacl/secretbox) = %{version}-%{release}
Provides: golang(%{x_import_path}/ocsp) = %{version}-%{release}
Provides: golang(%{x_import_path}/openpgp) = %{version}-%{release}
Provides: golang(%{x_import_path}/openpgp/armor) = %{version}-%{release}
Provides: golang(%{x_import_path}/openpgp/clearsign) = %{version}-%{release}
Provides: golang(%{x_import_path}/openpgp/elgamal) = %{version}-%{release}
Provides: golang(%{x_import_path}/openpgp/errors) = %{version}-%{release}
Provides: golang(%{x_import_path}/openpgp/packet) = %{version}-%{release}
Provides: golang(%{x_import_path}/openpgp/s2k) = %{version}-%{release}
Provides: golang(%{x_import_path}/otr) = %{version}-%{release}
Provides: golang(%{x_import_path}/pbkdf2) = %{version}-%{release}
Provides: golang(%{x_import_path}/poly1305) = %{version}-%{release}
Provides: golang(%{x_import_path}/ripemd160) = %{version}-%{release}
Provides: golang(%{x_import_path}/salsa20) = %{version}-%{release}
Provides: golang(%{x_import_path}/salsa20/salsa) = %{version}-%{release}
Provides: golang(%{x_import_path}/scrypt) = %{version}-%{release}
Provides: golang(%{x_import_path}/sha3) = %{version}-%{release}
Provides: golang(%{x_import_path}/ssh) = %{version}-%{release}
Provides: golang(%{x_import_path}/ssh/agent) = %{version}-%{release}
Provides: golang(%{x_import_path}/ssh/terminal) = %{version}-%{release}
Provides: golang(%{x_import_path}/ssh/test) = %{version}-%{release}
Provides: golang(%{x_import_path}/ssh/testdata) = %{version}-%{release}
Provides: golang(%{x_import_path}/twofish) = %{version}-%{release}
Provides: golang(%{x_import_path}/xtea) = %{version}-%{release}
Provides: golang(%{x_import_path}/xts) = %{version}-%{release}
%description -n %{x_name}-devel
%{summary}
This package contains library source intended for building other packages
which use the supplementary Go crypto libraries with golang.org/x/ imports.
%prep
%setup -q -n %{repo}-%{commit}
%build
%install
install -d -p %{buildroot}%{gopath}/src/%{gc_import_path}/
install -d -p %{buildroot}%{gopath}/src/%{x_import_path}/
for dir in */ ; do
cp -rpav $dir %{buildroot}%{gopath}/src/%{gc_import_path}/
cp -rpav $dir %{buildroot}%{gopath}/src/%{x_import_path}/
done
cd %{buildroot}/%{gopath}/src/%{gc_import_path}/
# from https://groups.google.com/forum/#!topic/golang-nuts/eD8dh3T9yyA, first post
sed -i 's/"golang\.org\/x\//"code\.google\.com\/p\/go\./g' \
$(find . -name '*.go')
%check
export GOPATH=%{buildroot}%{gopath}:%{gopath}
go test %{x_import_path}/bcrypt
go test %{x_import_path}/blowfish
go test %{x_import_path}/bn256
go test %{x_import_path}/cast5
go test %{x_import_path}/curve25519
go test %{x_import_path}/hkdf
go test %{x_import_path}/md4
go test %{x_import_path}/nacl/box
go test %{x_import_path}/nacl/secretbox
# ocsp/ocsp.go:161: undefined: elliptic.P224
#go test %{x_import_path}/ocsp
go test %{x_import_path}/openpgp
go test %{x_import_path}/openpgp/armor
go test %{x_import_path}/openpgp/clearsign
go test %{x_import_path}/openpgp/elgamal
go test %{x_import_path}/openpgp/packet
go test %{x_import_path}/openpgp/s2k
go test %{x_import_path}/otr
go test %{x_import_path}/pbkdf2
go test %{x_import_path}/poly1305
go test %{x_import_path}/ripemd160
go test %{x_import_path}/salsa20
go test %{x_import_path}/salsa20/salsa
go test %{x_import_path}/scrypt
go test %{x_import_path}/sha3
# fails on ssh/keys_test.go:55: undefined: elliptic.P224
#go test %{x_import_path}/ssh
go test %{x_import_path}/ssh/agent
go test %{x_import_path}/ssh/terminal
go test %{x_import_path}/ssh/test
go test %{x_import_path}/twofish
go test %{x_import_path}/xtea
go test %{x_import_path}/xts
%files devel
%doc LICENSE README
%{gopath}/src/%{gc_import_path}
%files -n %{x_name}-devel
%doc AUTHORS CONTRIBUTORS LICENSE PATENTS README
%{gopath}/src/%{x_import_path}
%changelog
* Mon Jun 15 2015 jchaloup <jchaloup@redhat.com> - 0-0.3.git%{shortcommit}
- Repository has moved to github.com/golang/crypto, updating spec file accordingly
resolves: #1231618
* Sun Dec 14 2014 Lokesh Mandvekar <lsm5@fedoraproject.org> - 0-0.2.hg69e2a90ed92d
- Correct Source0 URL
- Correct paths for golang.org/x/crypto/*
* Thu Dec 04 2014 jchaloup <jchaloup@redhat.com> - 0-0.1.hg69e2a90ed92d
- First package for Fedora
resolves: #1148704