delve/delve.spec
Alejandro Sáez 034e94e7f0 Remove macro and tidy up
After enabling support for ppc64le, the package began failing due to the
gopkginstall macro not properly handling the new architecture tag.

Added additional lines to ensure the tests execute, as the macro also
creates several temporary folders.

Resolves: RHEL-39099
2024-08-22 19:15:35 +02:00

116 lines
4.0 KiB
RPMSpec

# Run tests in check section
%bcond_without check
%ifarch ppc64le
%global exp "-tags=exp.linuxppc64le"
%endif
# https://github.com/go-delve/delve
%global goipath github.com/go-delve/delve
Version: 1.22.1
%global common_description %{expand:
Delve is a debugger for the Go programming language. The goal of the project
is to provide a simple, full featured debugging tool for Go. Delve should be
easy to invoke and easy to use. Chances are if you're using a debugger, things
aren't going your way. With that in mind, Delve should stay out of your way as
much as possible.}
# Currently Delve only supports x86_64, aarch64, and ppc64le
%global golang_arches x86_64 aarch64 ppc64le
%gometa
Name: delve
Release: %autorelease
Summary: A debugger for the Go programming language
# Detected licences
# - Expat License at 'LICENSE'
# It is a SPDX license already
License: MIT
URL: %{gourl}
Source0: %{gosource}
BuildRequires: lsof
BuildRequires: git
# Bundled/Vendored provides generated by bundled-deps.sh based on the in tree module data
# - in version filed substituted with . per versioning guidelines
Provides: bundled(golang(github.com/cilium/ebpf)) = 0.11.0
Provides: bundled(golang(github.com/cosiner/argv)) = 0.1.0
Provides: bundled(golang(github.com/cpuguy83/go.md2man/v2)) = 2.0.2
Provides: bundled(golang(github.com/creack/pty)) = 1.1.20
Provides: bundled(golang(github.com/derekparker/trie)) = 0.0.0.20230829180723.39f4de51ef7d
Provides: bundled(golang(github.com/go.delve/liner)) = 1.2.3.0.20231231155935.4726ab1d7f62
Provides: bundled(golang(github.com/google/go.dap)) = 0.11.0
Provides: bundled(golang(github.com/hashicorp/golang.lru)) = 1.0.2
Provides: bundled(golang(github.com/inconshreveable/mousetrap)) = 1.1.0
Provides: bundled(golang(github.com/mattn/go.colorable)) = 0.1.13
Provides: bundled(golang(github.com/mattn/go.isatty)) = 0.0.20
Provides: bundled(golang(github.com/mattn/go.runewidth)) = 0.0.13
Provides: bundled(golang(github.com/rivo/uniseg)) = 0.2.0
Provides: bundled(golang(github.com/russross/blackfriday/v2)) = 2.1.0
Provides: bundled(golang(github.com/sirupsen/logrus)) = 1.9.3
Provides: bundled(golang(github.com/spf13/cobra)) = 1.7.0
Provides: bundled(golang(github.com/spf13/pflag)) = 1.0.5
Provides: bundled(golang(github.com/stretchr/testify)) = 1.8.4
Provides: bundled(golang(golang.org/x/arch)) = 0.6.0
Provides: bundled(golang(golang.org/x/exp)) = 0.0.0.20230224173230.c95f2b4c22f2
Provides: bundled(golang(golang.org/x/mod)) = 0.14.0
Provides: bundled(golang(golang.org/x/sys)) = 0.13.0
Provides: bundled(golang(golang.org/x/tools)) = 0.14.0
Provides: bundled(golang(gopkg.in/yaml.v2)) = 2.4.0
Provides: bundled(golang(gopkg.in/yaml.v3)) = 3.0.1
Provides: bundled(golang(go.starlark.net)) = 0.0.0.20231101134539.556fd59b42f6
Patch0001: 0001-Skipping-due-issues-with-the-go-version-in-Fedora.patch
Patch0002: 0002-Skipping-due-issues-with-network-access.patch
%description
%{common_description}
%prep
echo "=== Start prep ==="
%goprep -k
# unpack vendored dependencies to GOPATH
tar c -C vendor/ . | tar x -C %{gobuilddir}/src
%autopatch -v -p1
%build
%gobuild %{?exp} -o %{gobuilddir}/bin/dlv %{goipath}/cmd/dlv
%install
install -m 0755 -vd %{buildroot}%{_bindir}
install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/
%if %{with check}
%check
export GO111MODULE=off
export GOPATH=%{buildroot}/%{gopath}:%{gobuilddir}:%{gopath}
delvepath=%{buildroot}/%{gopath}/src/%{goipath}
mkdir -p $delvepath
mkdir -p $delvepath/pkg/dwarf/line
mkdir -p $delvepath/pkg/proc/internal
cp -r _fixtures $delvepath
cp -r pkg/dwarf $delvepath/pkg/
cp -r pkg/dwarf/line/_testdata $delvepath/pkg/dwarf/line
cp -r pkg/proc/internal/ebpf $delvepath/pkg/proc/internal/
pushd $delvepath
for d in $(go list %{?exp} ./... | grep -v cmd | grep -v scripts); do
go test %{?exp} ${d}
done
rm -rf $delvepath
popd
%endif
%files
%license LICENSE vendor/modules.txt
%doc CONTRIBUTING.md CHANGELOG.md
%doc Documentation/*
%{_bindir}/dlv
%changelog
%autochangelog