Blob Blame History Raw
%global debug_package   %{nil}
%global pkgname         github-gorilla-mux
%global import_path     github.com/gorilla/mux
%global goroot          %(go env GOROOT)
%global pkgarch         %(go env GOOS)_%(go env GOARCH)
%global commit          e718e932ee606838744df844eb75064959eb74bc
%global shortcommit     %(c=%{commit}; echo ${c:0:7})

Name:           golang-%{pkgname}
Version:        0
Release:        0.5.git%{shortcommit}%{?dist}
Summary:        A powerful URL router and dispatcher for golang
License:        BSD
URL:            http://www.gorillatoolkit.org/pkg/mux
Source0:        https://github.com/gorilla/mux/archive/%{commit}/mux-%{shortcommit}.tar.gz

%description
Package gorilla/mux implements a request router and dispatcher.

The name mux stands for "HTTP request multiplexer". Like the standard
http.ServeMux, mux.Router matches incoming requests against a list of
registered routes and calls a handler for the route that matches the URL or
other conditions.

%package devel
BuildRequires:  golang("github.com/gorilla/context")
Requires:       golang("github.com/gorilla/context")
Summary:        A powerful URL router and dispatcher for golang
Provides:       golang("%{import_path}") = %{version}-%{release}

%description devel
%{summary}

%prep
%setup -c
mkdir -p src/$(dirname %{import_path})
cp -R mux-%{commit} src/%{import_path}

%build
unset GOROOT GOPATH GOOS GOARCH
if [ ! -d %{goroot}/src/pkg/%{import_path} ]; then
    GOPATH=$(readlink -f .) go install %{import_path}
else
    GOPATH=$(readlink -f .)
    pushd $GOPATH/src
    for dir in $(find %{import_path} -type d) ; do
        mkdir -p $GOPATH/pkg/%{pkgarch}/$(dirname $dir)
        go build -o $GOPATH/pkg/%{pkgarch}/${dir}.a %{import_path}
    done
    popd
fi

%install
mkdir -p %{buildroot}/%{goroot}/src/pkg/%{import_path}
cp -a src/%{import_path}/*.go %{buildroot}/%{goroot}/src/pkg/%{import_path}
mkdir -p %{buildroot}%{goroot}/pkg/
cp -a pkg/* %{buildroot}%{goroot}/pkg/

%files devel
%defattr(-,root,root,-)
%doc src/%{import_path}/LICENSE src/%{import_path}/README.md
%dir %attr(755,root,root) %{goroot}/src/pkg/github.com
%dir %attr(755,root,root) %{goroot}/src/pkg/github.com/gorilla
%dir %attr(755,root,root) %{goroot}/src/pkg/%{import_path}
%{goroot}/src/pkg/%{import_path}/bench_test.go
%{goroot}/src/pkg/%{import_path}/doc.go
%{goroot}/src/pkg/%{import_path}/mux.go
%{goroot}/src/pkg/%{import_path}/mux_test.go
%{goroot}/src/pkg/%{import_path}/old_test.go
%{goroot}/src/pkg/%{import_path}/regexp.go
%{goroot}/src/pkg/%{import_path}/route.go
%dir %attr(755,root,root) %{goroot}/pkg/%{pkgarch}/github.com
%dir %attr(755,root,root) %{goroot}/pkg/%{pkgarch}/github.com/gorilla
%{goroot}/pkg/%{pkgarch}/%{import_path}.a

%changelog
* Tue Sep 17 2013 Lokesh Mandvekar <lsm5@redhat.com> 0-0.5.gite718e93
- Version format changed
- docdir changed
- debuginfo no longer generated
- package owns all directories in import_path

* Mon Sep 16 2013 Lokesh Mandvekar <lsm5@redhat.com> gite718e93-4
- only devel package generated
- Provides moved to devel package

* Tue Sep 10 2013 Lokesh Mandvekar <lsm5@redhat.com> gite718e93-3
- Depends on golang("github.com/gorilla/context"), not golang directly
- Pkg archives handled (thanks to Vincent Batts (vbatts@redhat.com)
- Devel package generated

* Wed Aug 28 2013 Lokesh Mandvekar <lsm5@redhat.com> 0.0.1-2
- Fixed permissions

* Mon Aug 26 2013 Lokesh Mandvekar <lsm5@redhat.com> 0.0.1-1
- Initial fedora package