diff --git a/hugo.spec b/hugo.spec index 220d3b8..d58b51c 100644 --- a/hugo.spec +++ b/hugo.spec @@ -1,12 +1,24 @@ +%bcond_without check + # https://github.com/gohugoio/hugo %global goipath github.com/gohugoio/hugo Version: 0.55.6 %gometa +%global common_description %{expand: +Hugo is a static HTML and CSS website generator written in Go. It is optimized +for speed, easy use and configurability. Hugo takes a directory with content +and templates and renders them into a full HTML website.} + +%global golicenses LICENSE docs/LICENSE.md docs/themes/gohugoioTheme/license.md +%global godocs docs examples README.md CONTRIBUTING.md + Name: hugo -Release: 2%{?dist} +Release: 3%{?dist} Summary: A Fast and Flexible Static Site Generator built with love in GoLang + +# Upstream license specification: Apache-2.0 and MIT License: ASL 2.0 and MIT URL: %{gourl} Source0: %{gosource} @@ -15,90 +27,85 @@ Source0: %{gosource} Patch0002: 0001-Fix-tests-against-latest-emoji-package.patch %endif +BuildRequires: golang(github.com/alecthomas/chroma) +BuildRequires: golang(github.com/alecthomas/chroma/formatters) +BuildRequires: golang(github.com/alecthomas/chroma/formatters/html) +BuildRequires: golang(github.com/alecthomas/chroma/lexers) +BuildRequires: golang(github.com/alecthomas/chroma/styles) +BuildRequires: golang(github.com/bep/debounce) +BuildRequires: golang(github.com/bep/gitmap) +BuildRequires: golang(github.com/bep/go-tocss/scss) +BuildRequires: golang(github.com/BurntSushi/locker) +BuildRequires: golang(github.com/BurntSushi/toml) +BuildRequires: golang(github.com/chaseadamsio/goorgeous) +BuildRequires: golang(github.com/disintegration/imaging) +BuildRequires: golang(github.com/eknkc/amber) +BuildRequires: golang(github.com/fsnotify/fsnotify) +BuildRequires: golang(github.com/gobwas/glob) +BuildRequires: golang(github.com/gorilla/websocket) +BuildRequires: golang(github.com/hashicorp/go-immutable-radix) +BuildRequires: golang(github.com/jdkato/prose/transform) +BuildRequires: golang(github.com/kyokomi/emoji) +BuildRequires: golang(github.com/markbates/inflect) +BuildRequires: golang(github.com/mattn/go-isatty) +BuildRequires: golang(github.com/miekg/mmark) +BuildRequires: golang(github.com/mitchellh/hashstructure) +BuildRequires: golang(github.com/mitchellh/mapstructure) +BuildRequires: golang(github.com/muesli/smartcrop) +BuildRequires: golang(github.com/nicksnyder/go-i18n/i18n/bundle) +BuildRequires: golang(github.com/nicksnyder/go-i18n/i18n/language) +BuildRequires: golang(github.com/nicksnyder/go-i18n/i18n/translation) +BuildRequires: golang(github.com/olekukonko/tablewriter) +BuildRequires: golang(github.com/pkg/errors) +BuildRequires: golang(github.com/PuerkitoBio/purell) +BuildRequires: golang(gopkg.in/russross/blackfriday.v1) +BuildRequires: golang(github.com/spf13/afero) +BuildRequires: golang(github.com/spf13/cast) +BuildRequires: golang(github.com/spf13/cobra) +BuildRequires: golang(github.com/spf13/cobra/doc) +BuildRequires: golang(github.com/spf13/fsync) +BuildRequires: golang(github.com/spf13/jwalterweatherman) +BuildRequires: golang(github.com/spf13/pflag) +BuildRequires: golang(github.com/spf13/viper) +BuildRequires: (golang(github.com/tdewolff/minify) >= 2 with golang(github.com/tdewolff/minify) < 3) +BuildRequires: (golang(github.com/tdewolff/minify/css) >= 2 with golang(github.com/tdewolff/minify/css) < 3) +BuildRequires: (golang(github.com/tdewolff/minify/html) >= 2 with golang(github.com/tdewolff/minify/html) < 3) +BuildRequires: (golang(github.com/tdewolff/minify/js) >= 2 with golang(github.com/tdewolff/minify/js) < 3) +BuildRequires: (golang(github.com/tdewolff/minify/json) >= 2 with golang(github.com/tdewolff/minify/json) < 3) +BuildRequires: (golang(github.com/tdewolff/minify/svg) >= 2 with golang(github.com/tdewolff/minify/svg) < 3) +BuildRequires: (golang(github.com/tdewolff/minify/xml) >= 2 with golang(github.com/tdewolff/minify/xml) < 3) +BuildRequires: golang(github.com/yosssi/ace) +BuildRequires: golang(golang.org/x/image/webp) +BuildRequires: golang(golang.org/x/sync/errgroup) +BuildRequires: golang(golang.org/x/text/runes) +BuildRequires: golang(golang.org/x/text/transform) +BuildRequires: golang(golang.org/x/text/unicode/norm) +BuildRequires: golang(gopkg.in/yaml.v2) + +%if %{with check} +# Tests +BuildRequires: golang(github.com/alecthomas/assert) +BuildRequires: golang(github.com/fortytw2/leaktest) +BuildRequires: golang(github.com/sanity-io/litter) +BuildRequires: golang(github.com/stretchr/testify/assert) +BuildRequires: golang(github.com/stretchr/testify/require) +BuildRequires: python3-docutils +BuildRequires: python3-pygments +BuildRequires: rubygem-asciidoctor +%endif + %description -Hugo is a static HTML and CSS website generator written in Go. It is optimized -for speed, easy use and configurability. Hugo takes a directory with content -and templates and renders them into a full HTML website. +%{common_description} - -%package -n %{goname}-devel -Summary: %{summary} -BuildArch: noarch - -BuildRequires: golang(github.com/BurntSushi/locker) -BuildRequires: golang(github.com/BurntSushi/toml) -BuildRequires: golang(github.com/PuerkitoBio/purell) -BuildRequires: golang(github.com/alecthomas/chroma) -BuildRequires: golang(github.com/alecthomas/chroma/formatters) -BuildRequires: golang(github.com/alecthomas/chroma/formatters/html) -BuildRequires: golang(github.com/alecthomas/chroma/lexers) -BuildRequires: golang(github.com/alecthomas/chroma/styles) -BuildRequires: golang(github.com/bep/debounce) -BuildRequires: golang(github.com/bep/gitmap) -BuildRequires: golang(github.com/bep/go-tocss/scss) -BuildRequires: golang(github.com/bep/go-tocss/scss/libsass) -BuildRequires: golang(github.com/bep/go-tocss/tocss) -BuildRequires: golang(github.com/chaseadamsio/goorgeous) -BuildRequires: golang(github.com/disintegration/imaging) -BuildRequires: golang(github.com/eknkc/amber) -BuildRequires: golang(github.com/fsnotify/fsnotify) -BuildRequires: golang(github.com/gobwas/glob) -BuildRequires: golang(github.com/gorilla/websocket) -BuildRequires: golang(github.com/hashicorp/go-immutable-radix) -BuildRequires: golang(github.com/jdkato/prose/transform) -BuildRequires: golang(github.com/kyokomi/emoji) -BuildRequires: golang(github.com/markbates/inflect) -BuildRequires: golang(github.com/mattn/go-isatty) -BuildRequires: golang(github.com/miekg/mmark) -BuildRequires: golang(github.com/mitchellh/hashstructure) -BuildRequires: golang(github.com/mitchellh/mapstructure) -BuildRequires: golang(github.com/muesli/smartcrop) -BuildRequires: golang(github.com/nicksnyder/go-i18n/i18n/bundle) -BuildRequires: golang(github.com/nicksnyder/go-i18n/i18n/language) -BuildRequires: golang(github.com/olekukonko/tablewriter) -BuildRequires: golang(github.com/pkg/errors) -BuildRequires: golang(gopkg.in/russross/blackfriday.v1) -BuildRequires: golang(github.com/spf13/afero) -BuildRequires: golang(github.com/spf13/cast) -BuildRequires: golang(github.com/spf13/cobra) -BuildRequires: golang(github.com/spf13/cobra/doc) -BuildRequires: golang(github.com/spf13/fsync) -BuildRequires: golang(github.com/spf13/jwalterweatherman) -BuildRequires: golang(github.com/spf13/pflag) -BuildRequires: golang(github.com/spf13/viper) -BuildRequires: (golang(github.com/tdewolff/minify) >= 2 with golang(github.com/tdewolff/minify) < 3) -BuildRequires: (golang(github.com/tdewolff/minify/css) >= 2 with golang(github.com/tdewolff/minify/css) < 3) -BuildRequires: (golang(github.com/tdewolff/minify/html) >= 2 with golang(github.com/tdewolff/minify/html) < 3) -BuildRequires: (golang(github.com/tdewolff/minify/js) >= 2 with golang(github.com/tdewolff/minify/js) < 3) -BuildRequires: (golang(github.com/tdewolff/minify/json) >= 2 with golang(github.com/tdewolff/minify/json) < 3) -BuildRequires: (golang(github.com/tdewolff/minify/svg) >= 2 with golang(github.com/tdewolff/minify/svg) < 3) -BuildRequires: (golang(github.com/tdewolff/minify/xml) >= 2 with golang(github.com/tdewolff/minify/xml) < 3) -BuildRequires: golang(github.com/yosssi/ace) -BuildRequires: golang(golang.org/x/image/webp) -BuildRequires: golang(golang.org/x/sync/errgroup) -BuildRequires: golang(golang.org/x/text/transform) -BuildRequires: golang(golang.org/x/text/unicode/norm) -BuildRequires: golang(gopkg.in/yaml.v2) - -# These are used during tests -BuildRequires: golang(github.com/alecthomas/assert) -BuildRequires: golang(github.com/fortytw2/leaktest) -BuildRequires: golang(github.com/sanity-io/litter) -BuildRequires: golang(github.com/stretchr/testify/assert) -BuildRequires: golang(github.com/stretchr/testify/require) -BuildRequires: python3-docutils -BuildRequires: python3-pygments -BuildRequires: rubygem-asciidoctor - -%description -n %{goname}-devel -%{summary} - -This package contains library source intended for building other packages -which use import path with %{goipath} prefix. +%gopkg %prep -%forgeautosetup -p1 +%goprep + +%if %{?fedora} > 29 +%patch0002 -p1 +%endif # Replace blackfriday import path to avoid conflict with v2 # Depend on unversioned tdewolff/minify until Go modules are supported in Fedora @@ -112,42 +119,43 @@ sed -i '/TestPageWithLastmodFromGitInfo/a t.Skip()' hugolib/page_test.go %build -%gobuildroot - -%gobuild -o _bin/hugo %{goipath} -_bin/hugo gen autocomplete --completionfile hugo-completion -_bin/hugo gen man +%gobuild -o %{gobuilddir}/bin/hugo %{goipath} +%{gobuilddir}/bin/hugo gen autocomplete --completionfile hugo-completion +%{gobuilddir}/bin/hugo gen man %install -%goinstall +%gopkginstall install -d -p %{buildroot}%{_bindir} -install -p -m 0755 _bin/hugo %{buildroot}%{_bindir} +install -Dp -m 0755 %{gobuilddir}/bin/hugo %{buildroot}%{_bindir} install -Dp hugo-completion %{buildroot}%{_datadir}/bash-completion/completions/hugo install -Dp man/* -t %{buildroot}%{_mandir}/man1 +%if %{with check} %check # releaser: We do not want to test upstream release process (needs git repo) # tpl/time: A test depends on the host timezone, we do now want to test it. # time_test.go:49: [3] DateFormat failed: Unable to Cast 1421733600 to Time # line 35 returns different results -%gochecks -d releaser -d tpl/time +%gocheck -d releaser -d tpl/time +%endif %files -%doc CONTRIBUTING.md README.md +%doc CONTRIBUTING.md README.md docs examples %license LICENSE %{_bindir}/hugo %{_datadir}/bash-completion/completions/hugo %{_mandir}/man1/*.1* -%files -n %{goname}-devel -f devel.file-list -%doc CONTRIBUTING.md README.md -%license LICENSE +%gopkgfiles %changelog +* Thu Aug 01 2019 Elliott Sales de Andrade - 0.55.6-3 +- Update to latest Go macros + * Thu Jul 25 2019 Fedora Release Engineering - 0.55.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild