File protoc-gen-go.spec of Package protoc-gen-go

#
# spec file for package protoc-gen-go
#
# copyright (c) 2023 munix9@googlemail.com
#

%global provider        github
%global provider_tld    com
%global project         golang
%global repo            protobuf
%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
%global import_path     %{provider_prefix}

%define src_install_dir %{_prefix}/src/%{name}

Name:           protoc-gen-go
Version:        1.5.2
Release:        0
Summary:        Go support for Google's protocol buffers
License:        BSD-3-Clause
URL:            https://github.com/golang/protobuf
Source0:        %{name}-%{version}.tar.xz
Source1:        vendor.tar.gz
BuildRequires:  bazel-rules-go-source
BuildRequires:  golang-packaging
%{go_provides}

%description
protoc-gen-go implements Go bindings for protocol buffers.
For information about protocol buffers themselves, see
https://developers.google.com/protocol-buffers/

%package source
Summary:        Source code of protoc-gen-go
BuildArch:      noarch

%description source
protoc-gen-go implements Go bindings for protocol buffers.
For information about protocol buffers themselves, see
https://developers.google.com/protocol-buffers/

This package contains source code for protoc-gen-go.

%prep
%autosetup -a1 -p1

%build
export GOFLAGS="-mod=vendor -buildmode=pie -trimpath"
%{goprep} %{provider_prefix}
%{gobuild} %{name}

%install
%{goinstall}

# Install sources
mkdir -p %{buildroot}%{src_install_dir}
tar -xJf %{SOURCE0} --strip-components=1 -C %{buildroot}%{src_install_dir}
# Apply patches for Bazel support
patch -p1 -d %{buildroot}%{src_install_dir} < %{_prefix}/src/bazel-rules-go/third_party/com_github_golang_protobuf-gazelle.patch
patch -p1 -d %{buildroot}%{src_install_dir} < %{_prefix}/src/bazel-rules-go/third_party/com_github_golang_protobuf-extras.patch
echo 'workspace(name = "com_github_golang_protobuf")' > %{buildroot}%{src_install_dir}/WORKSPACE

%files
%license LICENSE
%doc README.md
%{_bindir}/%{name}

%files source
%{src_install_dir}

%changelog
openSUSE Build Service is sponsored by