%global debug_package %{nil}
%global provider_tld com
%global provider_sub code
%global provider google
%global project p
%global repo go.tools
%global import_path code.google.com/p/go.tools
%global rev a7e14835e46bb13da10fa8b9c9c5e7f2f378f568
%global shortrev %(r=%{rev}; echo ${r:0:12})
%global x_provider golang
%global x_provider_tld org
%global x_repo tools
%global x_import_path %{x_provider}.%{x_provider_tld}/x/%{x_repo}
%global x_name golang-%{x_provider}%{x_provider_tld}-tools
%global go_arch %(go env GOHOSTARCH)
%global go_root %(go env GOROOT)
Name: golang-googlecode-tools
Version: 0
Release: 3.0.hg%{shortrev}%{?dist}
Summary: Supplementary tools and packages for Go
License: BSD
URL: http://%{import_path}
Source0: https://tools.go.googlecode.com/archive/%{rev}.tar.gz
BuildRequires: golang >= 1.2.1-3
%description
%{summary}
%package -n golang-godoc
Summary: Documentation tool for the Go programming language
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/godoc) = %{version}-%{release}
Epoch: 1
%description -n golang-godoc
Godoc extracts and generates documentation for Go programs.
Obsoletes: golang-godoc = 1.1.2
%package -n golang-vet
Summary: Go programming language code vetting tool
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/vet) = %{version}-%{release}
%description -n golang-vet
Vet examines Go source code and reports suspicious constructs, such as
Printf calls whose arguments do not align with the format string. Vet
uses heuristics that do not guarantee all reports are genuine problems,
but it can find errors not caught by the compilers.
%package -n golang-cover
Summary: Code coverage tool for the Go programming language
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/cover) = %{version}-%{release}
%description -n golang-cover
Cover is a program for analyzing the coverage profiles generated by 'go
test -coverprofile=cover.out'.
%package -n golang-gotype
Summary: Go programming language source code analysis tool
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/gotype) = %{version}-%{release}
%description -n golang-gotype
The gotype command does syntactic and semantic analysis of Go files and
packages like the front-end of a Go compiler. Errors are reported if the
analysis fails; otherwise gotype is quiet.
%package -n golang-html2article
Summary: Tool for creating articles from HTML files
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/html2article) = %{version}-%{release}
BuildRequires: golang(golang.org/x/net/html)
BuildRequires: golang(golang.org/x/net/html/atom)
%description -n golang-html2article
This program takes an HTML file and outputs a corresponding article file
in present format. See: code.google.com/p/go.tools/present
%package callgraph
Summary: Tool for reporting the call graph of a Go program
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/callgraph) = %{version}-%{release}
%description callgraph
Tool for reporting the call graph of a Go program.
%package digraph
Summary: Tool performs queries over unlabelled directed graphs represented in text form
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/digraph) = %{version}-%{release}
%description digraph
The digraph command performs queries over unlabelled directed graphs represented in text form.
%package gorename
Summary: Tool for reporting the call graph of a Go program
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/gorename) = %{version}-%{release}
%description gorename
Tool for reporting the call graph of a Go program.
%package stringer
Summary: Tool to automate the creation of methods that satisfy the fmt.Stringer interface
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/stringer) = %{version}-%{release}
%description stringer
tool to automate the creation of methods that satisfy the fmt.Stringer interface.
%package godex
Summary: Dump exported information for Go programming language
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/godex) = %{version}-%{release}
%description godex
%{summary}.
See http://godoc.org/code.google.com/p/go.tools/cmd/godex for more information.
%package benchcmp
Summary: Displays performance changes between benchmarks for the Go programming language
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/benchcmp) = %{version}-%{release}
%description benchcmp
%{summary}.
See http://godoc.org/code.google.com/p/go.tools/cmd/benchcmp for more information.
%package eg
Summary: Example-based refactoring for the Go programming language
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/eg) = %{version}-%{release}
%description eg
%{summary}.
See `eg -help` for more information.
%package oracle
Summary: Go programming language oracle
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/oracle) = %{version}-%{release}
%description oracle
%{summary}.
See http://golang.org/s/oracle-user-manual for more information.
%package goimports
Summary: Go programming language import line formatter
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/goimports) = %{version}-%{release}
%description goimports
%{summary}.
See http://godoc.org/code.google.com/p/go.tools/cmd/goimports for more information.
%package present
Summary: Slide and Article Presentation
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/present) = %{version}-%{release}
%description present
%{summary}.
See http://godoc.org/code.google.com/p/go.tools/cmd/present for more information.
%package ssadump
Summary: Display and interpreting SSA form of Go programs
ExclusiveArch: %{ix86} x86_64 %{arm}
Provides: golang(%{import_path}/cmd/ssadump) = %{version}-%{release}
%description ssadump
%{summary}.
%package devel
Requires: golang >= 1.2.1-3
Summary: Libraries of supplementary Go tools
%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
BuildArch: noarch
%else
ExclusiveArch: %{ix86} x86_64 %{arm}
%endif
Provides: golang(%{import_path}/astutil) = %{version}-%{release}
Provides: golang(%{import_path}/blog) = %{version}-%{release}
Provides: golang(%{import_path}/blog/atom) = %{version}-%{release}
Provides: golang(%{import_path}/cmd/vet/whitelist) = %{version}-%{release}
Provides: golang(%{import_path}/container/intsets) = %{version}-%{release}
Provides: golang(%{import_path}/cover) = %{version}-%{release}
Provides: golang(%{import_path}/dashboard/app/build) = %{version}-%{release}
Provides: golang(%{import_path}/dashboard/app/cache) = %{version}-%{release}
Provides: golang(%{import_path}/dashboard/app/key) = %{version}-%{release}
Provides: golang(%{import_path}/dashboard/builder) = %{version}-%{release}
Provides: golang(%{import_path}/go/buildutil) = %{version}-%{release}
Provides: golang(%{import_path}/go/callgraph) = %{version}-%{release}
Provides: golang(%{import_path}/go/callgraph/cha) = %{version}-%{release}
Provides: golang(%{import_path}/go/callgraph/rta) = %{version}-%{release}
Provides: golang(%{import_path}/go/callgraph/static) = %{version}-%{release}
Provides: golang(%{import_path}/go/exact) = %{version}-%{release}
Provides: golang(%{import_path}/go/gccgoimporter) = %{version}-%{release}
Provides: golang(%{import_path}/go/gcimporter) = %{version}-%{release}
Provides: golang(%{import_path}/go/gcimporter/testdata) = %{version}-%{release}
Provides: golang(%{import_path}/go/importer) = %{version}-%{release}
Provides: golang(%{import_path}/go/loader) = %{version}-%{release}
Provides: golang(%{import_path}/go/loader/testdata) = %{version}-%{release}
Provides: golang(%{import_path}/go/pointer) = %{version}-%{release}
Provides: golang(%{import_path}/go/ssa) = %{version}-%{release}
Provides: golang(%{import_path}/go/ssa/interp) = %{version}-%{release}
Provides: golang(%{import_path}/go/ssa/interp/testdata) = %{version}-%{release}
Provides: golang(%{import_path}/go/ssa/ssautil) = %{version}-%{release}
Provides: golang(%{import_path}/go/types) = %{version}-%{release}
Provides: golang(%{import_path}/go/types/typeutil) = %{version}-%{release}
Provides: golang(%{import_path}/godoc) = %{version}-%{release}
Provides: golang(%{import_path}/godoc/analysis) = %{version}-%{release}
Provides: golang(%{import_path}/godoc/redirect) = %{version}-%{release}
Provides: golang(%{import_path}/godoc/static) = %{version}-%{release}
Provides: golang(%{import_path}/godoc/util) = %{version}-%{release}
Provides: golang(%{import_path}/godoc/vfs) = %{version}-%{release}
Provides: golang(%{import_path}/godoc/vfs/gatefs) = %{version}-%{release}
Provides: golang(%{import_path}/godoc/vfs/httpfs) = %{version}-%{release}
Provides: golang(%{import_path}/godoc/vfs/mapfs) = %{version}-%{release}
Provides: golang(%{import_path}/godoc/vfs/zipfs) = %{version}-%{release}
Provides: golang(%{import_path}/imports) = %{version}-%{release}
Provides: golang(%{import_path}/oracle) = %{version}-%{release}
Provides: golang(%{import_path}/oracle/serial) = %{version}-%{release}
Provides: golang(%{import_path}/playground) = %{version}-%{release}
Provides: golang(%{import_path}/playground/socket) = %{version}-%{release}
Provides: golang(%{import_path}/present) = %{version}-%{release}
Provides: golang(%{import_path}/refactor/eg) = %{version}-%{release}
Provides: golang(%{import_path}/refactor/importgraph) = %{version}-%{release}
Provides: golang(%{import_path}/refactor/lexical) = %{version}-%{release}
Provides: golang(%{import_path}/refactor/rename) = %{version}-%{release}
Provides: golang(%{import_path}/refactor/satisfy) = %{version}-%{release}
%description devel
%{summary}
This package contains library source intended for building other packages
which use the supplementary Go tools libraries with code.google.com/p/ imports.
%package -n %{x_name}-devel
Requires: golang >= 1.2.1-3
Summary: Libraries of supplementary Go tools
%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
BuildArch: noarch
%else
ExclusiveArch: %{ix86} x86_64 %{arm}
%endif
Provides: golang(%{x_import_path}/astutil) = %{version}-%{release}
Provides: golang(%{x_import_path}/blog) = %{version}-%{release}
Provides: golang(%{x_import_path}/blog/atom) = %{version}-%{release}
Provides: golang(%{x_import_path}/cmd/vet/whitelist) = %{version}-%{release}
Provides: golang(%{x_import_path}/container/intsets) = %{version}-%{release}
Provides: golang(%{x_import_path}/cover) = %{version}-%{release}
Provides: golang(%{x_import_path}/dashboard/app/build) = %{version}-%{release}
Provides: golang(%{x_import_path}/dashboard/app/cache) = %{version}-%{release}
Provides: golang(%{x_import_path}/dashboard/app/key) = %{version}-%{release}
Provides: golang(%{x_import_path}/dashboard/builder) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/buildutil) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/callgraph) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/callgraph/cha) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/callgraph/rta) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/callgraph/static) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/exact) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/gccgoimporter) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/gcimporter) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/gcimporter/testdata) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/importer) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/loader) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/loader/testdata) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/pointer) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/ssa) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/ssa/interp) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/ssa/interp/testdata) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/ssa/ssautil) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/types) = %{version}-%{release}
Provides: golang(%{x_import_path}/go/types/typeutil) = %{version}-%{release}
Provides: golang(%{x_import_path}/godoc) = %{version}-%{release}
Provides: golang(%{x_import_path}/godoc/analysis) = %{version}-%{release}
Provides: golang(%{x_import_path}/godoc/redirect) = %{version}-%{release}
Provides: golang(%{x_import_path}/godoc/static) = %{version}-%{release}
Provides: golang(%{x_import_path}/godoc/util) = %{version}-%{release}
Provides: golang(%{x_import_path}/godoc/vfs) = %{version}-%{release}
Provides: golang(%{x_import_path}/godoc/vfs/gatefs) = %{version}-%{release}
Provides: golang(%{x_import_path}/godoc/vfs/httpfs) = %{version}-%{release}
Provides: golang(%{x_import_path}/godoc/vfs/mapfs) = %{version}-%{release}
Provides: golang(%{x_import_path}/godoc/vfs/zipfs) = %{version}-%{release}
Provides: golang(%{x_import_path}/imports) = %{version}-%{release}
Provides: golang(%{x_import_path}/oracle) = %{version}-%{release}
Provides: golang(%{x_import_path}/oracle/serial) = %{version}-%{release}
Provides: golang(%{x_import_path}/playground) = %{version}-%{release}
Provides: golang(%{x_import_path}/playground/socket) = %{version}-%{release}
Provides: golang(%{x_import_path}/present) = %{version}-%{release}
Provides: golang(%{x_import_path}/refactor/eg) = %{version}-%{release}
Provides: golang(%{x_import_path}/refactor/importgraph) = %{version}-%{release}
Provides: golang(%{x_import_path}/refactor/lexical) = %{version}-%{release}
Provides: golang(%{x_import_path}/refactor/rename) = %{version}-%{release}
Provides: golang(%{x_import_path}/refactor/satisfy) = %{version}-%{release}
%description -n %{x_name}-devel
%{summary}
This package contains library source intended for building other packages
which use the supplementary Go tools libraries with golang.org/x/ imports.
%prep
%setup -q -n tools.go-%{shortrev}
%build
# code.google.com/p/goauth2/oauth, oauth package has been moved to root directory
# but does not contain CacheFile symbol anymore
rm -rf dashboard/coordinator
mkdir _build
pushd _build
mkdir -p src/$(dirname %{x_import_path})
ln -s $(dirs +1 -l) src/%{x_import_path}
export GOPATH=$(pwd):%{gopath}
for cmd in \
benchcmp \
callgraph \
cover \
digraph \
eg \
godex \
godoc \
goimports \
gorename \
gotype \
html2article \
oracle \
present \
ssadump \
stringer \
vet
do
go build -v -a %{x_import_path}/cmd/$cmd
done
popd
%install
install -d %{buildroot}%{_bindir}
install -p -m 755 _build/benchcmp %{buildroot}%{_bindir}
install -p -m 755 _build/callgraph %{buildroot}%{_bindir}
install -p -m 755 _build/cover %{buildroot}%{_bindir}
install -p -m 755 _build/digraph %{buildroot}%{_bindir}
install -p -m 755 _build/eg %{buildroot}%{_bindir}
install -p -m 755 _build/godex %{buildroot}%{_bindir}
install -p -m 755 _build/godoc %{buildroot}%{_bindir}
install -p -m 755 _build/goimports %{buildroot}%{_bindir}
install -p -m 755 _build/gorename %{buildroot}%{_bindir}
install -p -m 755 _build/gotype %{buildroot}%{_bindir}
install -p -m 755 _build/html2article %{buildroot}%{_bindir}
install -p -m 755 _build/oracle %{buildroot}%{_bindir}
install -p -m 755 _build/present %{buildroot}%{_bindir}
install -p -m 755 _build/ssadump %{buildroot}%{_bindir}
install -p -m 755 _build/stringer %{buildroot}%{_bindir}
install -p -m 755 _build/vet %{buildroot}%{_bindir}
# https://bugzilla.redhat.com/show_bug.cgi?id=1129281
install -d %{buildroot}%{go_root}/pkg/tool/linux_%{go_arch}
ln -s %{_bindir}/cover %{buildroot}%{go_root}/pkg/tool/linux_%{go_arch}/cover
ln -s %{_bindir}/vet %{buildroot}%{go_root}/pkg/tool/linux_%{go_arch}/vet
install -d %{buildroot}/%{gopath}/src/%{import_path}
install -d %{buildroot}/%{gopath}/src/%{x_import_path}
# directories defining more than one package name
rm -rf go/gccgoimporter/testdata \
refactor/eg/testdata \
cmd/vet/testdata \
oracle/testdata/src/main
for d in \
astutil \
blog \
cmd \
container \
cover \
dashboard \
go \
godoc \
imports \
oracle \
playground \
present \
refactor
do
cp -av $d %{buildroot}/%{gopath}/src/%{import_path}/
cp -av $d %{buildroot}/%{gopath}/src/%{x_import_path}/
done
cd %{buildroot}/%{gopath}/src/%{import_path}/
sed -i 's/"golang\.org\/x\//"code\.google\.com\/p\/go\./g' \
$(find . -name '*.go')
%files -n golang-godoc
%defattr(-,root,root,-)
%{_bindir}/godoc
%files -n golang-vet
%defattr(-,root,root,-)
%{_bindir}/vet
%{go_root}/pkg/tool/linux_%{go_arch}/vet
%files -n golang-cover
%defattr(-,root,root,-)
%{_bindir}/cover
%{go_root}/pkg/tool/linux_%{go_arch}/cover
%files -n golang-gotype
%defattr(-,root,root,-)
%{_bindir}/gotype
%files -n golang-html2article
%defattr(-,root,root,-)
%{_bindir}/html2article
%files godex
%defattr(-,root,root,-)
%{_bindir}/godex
%files callgraph
%defattr(-,root,root,-)
%{_bindir}/callgraph
%files digraph
%defattr(-,root,root,-)
%{_bindir}/digraph
%files gorename
%defattr(-,root,root,-)
%{_bindir}/gorename
%files stringer
%defattr(-,root,root,-)
%{_bindir}/stringer
%files eg
%defattr(-,root,root,-)
%{_bindir}/eg
%files benchcmp
%defattr(-,root,root,-)
%{_bindir}/benchcmp
%files oracle
%defattr(-,root,root,-)
%{_bindir}/oracle
%files goimports
%defattr(-,root,root,-)
%{_bindir}/goimports
%files present
%defattr(-,root,root,-)
%{_bindir}/present
%files ssadump
%defattr(-,root,root,-)
%{_bindir}/ssadump
%files devel
%doc AUTHORS CONTRIBUTORS LICENSE PATENTS README
%{gopath}/src/%{import_path}
%files -n %{x_name}-devel
%doc AUTHORS CONTRIBUTORS LICENSE PATENTS README
%{gopath}/src/%{x_import_path}
%changelog
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0-3.0.hga7e14835e46b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri Mar 06 2015 jchaloup <jchaloup@redhat.com> - 0-2.0.hga7e14835e46b
- Bump to a7e14835e46bb13da10fa8b9c9c5e7f2f378f568
- Add new tools presented in the commit
- Change import paths to new prefix schema golang.org/x/...
- Add new subpackage and keep the only one for back-compatibility
resolves: #1199617
* Tue Aug 19 2014 Vincent Batts <vbatts@fedoraproject.org> - 0-1.0.hgd32b5854c941
- updating to the current latest go.tools
* Tue Aug 19 2014 Vincent Batts <vbatts@fedoraproject.org> - 0-0.9.hg17c8fe23290a
- setting an epoch for godoc to fix bz1099074
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0-0.8.hg17c8fe23290a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Tue Aug 12 2014 Vincent Batts <vbatts@redhat.com> 0-0.7.hg17c8fe23290a
- fix bz1129281 and cleanup file ownership
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0-0.6.hg17c8fe23290a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu Jan 16 2014 Vincent Batts <vbatts@redhat.com> 0-0.5.hg17c8fe23290a
- working on the arch dependencies
- clean up file ownership
* Thu Dec 05 2013 Vincent Batts <vbatts@redhat.com> 0-0.4.hg17c8fe23290a
- golang-godoc to obsolete the package from golang 1.1.2
* Tue Nov 12 2013 Vincent Batts <vbatts@redhat.com> 0-0.3.hg17c8fe23290a
- removing conflicting directory ownership
* Tue Nov 12 2013 Vincent Batts <vbatts@redhat.com> 0-0.2.hg17c8fe23290a
- adding subpackages for all available commands
* Sun Nov 10 2013 Vincent Batts <vbatts@redhat.com> 0-0.1.hg17c8fe23290a
- initial build