# Generated by go2rpm 1.9.0
%bcond_without vendor
%if %{without vendor}
%bcond_without check
%endif

# needed for vendored deps
%global gomodulesmode GO111MODULE=on

# https://github.com/DeedleFake/trayscale
%global goipath         github.com/DeedleFake/trayscale
Version:                0.12.3

%if 0%{?rhel}
%gometa
%else
%gometa -f
%endif

%global common_description %{expand:
An unofficial GUI wrapper around the Tailscale CLI client.}

%global golicenses      LICENSE
%global godocs          README.md

Name:           trayscale
Release:        1%{?dist}
Summary:        An unofficial GUI wrapper around the Tailscale CLI client

# main source code is MIT
# see comments above provides tags for bundled license breakdown
License:        MIT AND BSD-2-Clause AND Apache-2.0 AND MPL-2.0 AND (MIT OR BSD-3-Clause) AND ISC AND BSD-3-Clause
URL:            %{gourl}
# see create-vendor-tarball.sh in this distgit repo
Source0:        trayscale-%{version}-vendored.tar.xz
Source1:        create-vendor-tarball.sh

BuildRequires:          glib2-devel
BuildRequires:          gobject-introspection-devel
BuildRequires:          graphene-devel
BuildRequires:          cairo-devel
BuildRequires:          pango-devel
BuildRequires:          gdk-pixbuf2-devel
BuildRequires:          cairo-gobject-devel
BuildRequires:          gtk4-devel
BuildRequires:          libadwaita-devel
BuildRequires:          desktop-file-utils
BuildRequires:          libappstream-glib

Requires:               hicolor-icon-theme

# MIT
Provides:       bundled(golang(deedles.dev/mk)) = v0.1.0
# Apache-2.0
Provides:       bundled(golang(fyne.io/systray)) = v1.10.0
# Apache-2.0
Provides:       bundled(golang(github.com/diamondburned/gotk4-adwaita/pkg)) = v0.0.0~20240107232253~5f283b5d35bc
# MPL-2.0
Provides:       bundled(golang(github.com/diamondburned/gotk4/pkg)) = v0.2.2
# BSD-3-Clause
Provides:       bundled(golang(github.com/inhies/go-bytesize)) = v0.0.0~20220417184213~4913239db9cf
# BSD-3-Clause
Provides:       bundled(golang(golang.org/x/net)) = v0.24.0
# MIT OR BSD-3-Clause
Provides:       bundled(golang(honnef.co/go/tools)) = v0.4.7
# BSD-3-Clause
Provides:       bundled(golang(tailscale.com)) = v1.64.2
# BSD-3-Clause
Provides:       bundled(golang(filippo.io/edwards25519)) = v1.1.0
# MIT
Provides:       bundled(golang(github.com/BurntSushi/toml)) = v1.3.2
# MIT
Provides:       bundled(golang(github.com/KarpelesLab/weak)) = v0.1.1
# Apache-2.0
Provides:       bundled(golang(github.com/akutz/memconn)) = v0.1.0
# BSD-3-Clause
Provides:       bundled(golang(github.com/alexbrainman/sspi)) = v0.0.0~20231016080023~1a75b4708caa
# Apache-2.0
Provides:       bundled(golang(github.com/coreos/go-iptables)) = v0.7.0
# BSD-3-Clause
Provides:       bundled(golang(github.com/dblohm7/wingoes)) = v0.0.0~20240123200102~b75a8a7d7eb0
# MIT
Provides:       bundled(golang(github.com/fxamacker/cbor/v2)) = v2.6.0
# BSD-2-Clause
Provides:       bundled(golang(github.com/godbus/dbus/v5)) = v5.1.1~0.20230522191255~76236955d466
# Apache-2.0
Provides:       bundled(golang(github.com/golang/groupcache)) = v0.0.0~20210331224755~41bb18bfe9da
# BSD-3-Clause
Provides:       bundled(golang(github.com/google/go-cmp)) = v0.6.0
# Apache-2.0
Provides:       bundled(golang(github.com/google/nftables)) = v0.2.0
# BSD-3-Clause
Provides:       bundled(golang(github.com/hdevalence/ed25519consensus)) = v0.2.0
# MIT
Provides:       bundled(golang(github.com/josharian/native)) = v1.1.1~0.20230202152459~5c7d0dd6ab86
# MIT
Provides:       bundled(golang(github.com/jsimonetti/rtnetlink)) = v1.4.1
# MIT
Provides:       bundled(golang(github.com/mdlayher/netlink)) = v1.7.2
# MIT
Provides:       bundled(golang(github.com/mdlayher/socket)) = v0.5.1
# MIT
Provides:       bundled(golang(github.com/mitchellh/go-ps)) = v1.0.0
# MIT
Provides:       bundled(golang(github.com/tailscale/go-winio)) = v0.0.0~20231025203758~c4f33415bf55
# BSD-2-Clause
Provides:       bundled(golang(github.com/tailscale/goupnp)) = v1.0.1~0.20210804011211~c64d0f06ea05
# Apache-2.0
Provides:       bundled(golang(github.com/tailscale/netlink)) = v1.1.1~0.20211101221916~cabfb018fe85
# MIT
Provides:       bundled(golang(github.com/tcnksm/go-httpstat)) = v0.2.0
# MIT
Provides:       bundled(golang(github.com/tevino/abool)) = v1.2.0
# MPL-2.0
Provides:       bundled(golang(github.com/vishvananda/netlink)) = v1.2.1~beta.2
# Apache-2.0
Provides:       bundled(golang(github.com/vishvananda/netns)) = v0.0.4
# MIT
Provides:       bundled(golang(github.com/x448/float16)) = v0.8.4
# Apache-2.0
Provides:       bundled(golang(go4.org/mem)) = v0.0.0~20240501181205~ae6ca9944745
# BSD-3-Clause
Provides:       bundled(golang(go4.org/netipx)) = v0.0.0~20231129151722~fdeea329fbba
# BSD-3-Clause
Provides:       bundled(golang(go4.org/unsafe/assume-no-moving-gc)) = v0.0.0~20231121144256~b99613f794b6
# BSD-3-Clause
Provides:       bundled(golang(golang.org/x/crypto)) = v0.22.0
# BSD-3-Clause
Provides:       bundled(golang(golang.org/x/exp)) = v0.0.0~20240222234643~814bf88cf225
# BSD-3-Clause
Provides:       bundled(golang(golang.org/x/exp/typeparams)) = v0.0.0~20240416160154~fe59bbe5cc7f
# BSD-3-Clause
Provides:       bundled(golang(golang.org/x/mod)) = v0.17.0
# BSD-3-Clause
Provides:       bundled(golang(golang.org/x/sync)) = v0.7.0
# BSD-3-Clause
Provides:       bundled(golang(golang.org/x/sys)) = v0.19.0
# BSD-3-Clause
Provides:       bundled(golang(golang.org/x/text)) = v0.14.0
# BSD-3-Clause
Provides:       bundled(golang(golang.org/x/time)) = v0.5.0
# BSD-3-Clause
Provides:       bundled(golang(golang.org/x/tools)) = v0.20.0
# MIT
Provides:       bundled(golang(golang.zx2c4.com/wireguard/windows)) = v0.5.3
# ISC
Provides:       bundled(golang(nhooyr.io/websocket)) = v1.8.11


%description %{common_description}

%if %{without vendor}
%gopkg
%endif


%prep
%if %{without vendor}
rm -rf vendor/
%endif

%goprep %{?with_vendor:-k}
%autopatch -p1


%build
%gobuild -o trayscale ./cmd/trayscale


%install
%if %{without vendor}
%gopkginstall
%else
install -D -t %{buildroot}%{_bindir} trayscale
install -Dm644 -t %{buildroot}%{_datadir}/applications dev.deedles.Trayscale.desktop
install -Dm644 -t %{buildroot}%{_datadir}/icons/hicolor/256x256/apps dev.deedles.Trayscale.png
install -Dm644 -t %{buildroot}%{_metainfodir} dev.deedles.Trayscale.metainfo.xml
%endif


%check
desktop-file-validate %{buildroot}%{_datadir}/applications/dev.deedles.Trayscale.desktop
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/dev.deedles.Trayscale.metainfo.xml
%if %{with check}
%gocheck
%endif


%files
%license LICENSE
%doc README.md
%{_bindir}/trayscale
%{_datadir}/applications/dev.deedles.Trayscale.desktop
%{_datadir}/icons/hicolor/*/apps/dev.deedles.Trayscale.png
%{_metainfodir}/dev.deedles.Trayscale.metainfo.xml


%if %{without vendor}
%gopkgfiles
%endif


%changelog
* Thu May 30 2024 Jonathan Wright <jonathan@almalinux.org> - 0.12.3-1
- Initial package build