diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a3b3222 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/imaging-a585802.tar.gz diff --git a/golang-github-disintegration-imaging.spec b/golang-github-disintegration-imaging.spec new file mode 100644 index 0000000..6ddc75d --- /dev/null +++ b/golang-github-disintegration-imaging.spec @@ -0,0 +1,110 @@ +%global debug_package %{nil} + +%global provider github +%global provider_tld com +%global project disintegration +%global repo imaging +# https://github.com/disintegration/imaging +%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} +%global import_path %{provider_prefix} +%global commit a5858022df0e1734a59f973fffe3f87b51c087ed +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Name: golang-%{provider}-%{project}-%{repo} +Version: 1.2.1 +Release: 1.git%{shortcommit}%{?dist} +Summary: Simple Go image processing package +License: MIT +URL: https://%{provider_prefix} +Source0: %{url}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz + +# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required +ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{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}. + +%package devel +Summary: %{summary} +BuildArch: noarch +BuildRequires: golang(golang.org/x/image/bmp) +BuildRequires: golang(golang.org/x/image/tiff) +Requires: golang(golang.org/x/image/bmp) +Requires: golang(golang.org/x/image/tiff) +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. + +%package unit-test-devel +Summary: Unit tests for %{name} package +BuildArch: noarch +# 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. + + +%prep +%setup -q -n %{repo}-%{commit} + +%build + +%install +# source codes for building projects +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" \! -iname "*_test.go") ; do + echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list + install -d -p %{buildroot}%{gopath}/src/%{import_path}/$(dirname $file) + cp -pav $file %{buildroot}%{gopath}/src/%{import_path}/$file + echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list +done + +# testing files for this project +install -d %{buildroot}%{gopath}/src/%{import_path}/ +# find all *_test.go files and generate unit-test.file-list +for file in $(find . -iname "*_test.go" -or -iname "testdata"); 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 + +sort -u -o devel.file-list devel.file-list +sort -u -o unit-test-devel.file-list unit-test-devel.file-list +sed -i 's|\r||g' README.md + +%check +export GOPATH=%{buildroot}%{gopath}:%{gopath} + +%if ! 0%{?gotest:1} +%global gotest go test +%endif + +%gotest %{import_path} + +%files devel -f devel.file-list +%doc README.md +%license LICENSE + +%files unit-test-devel -f unit-test-devel.file-list + +%changelog +* Tue Aug 8 2017 mosquito - 1.2.1-1 +- Initial package build diff --git a/sources b/sources new file mode 100644 index 0000000..6e3cf58 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (imaging-a585802.tar.gz) = 072b6a37fa6613aae640b75bcdad5117ee5ee9118babd3763b2de7e1bbbe60aff5a4c0974e96eab863af01e4ac299b278c959bab0b215d214bc97678635d84e2