## START: Set by rpmautospec
## (rpmautospec version 0.6.5)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 4;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

# 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
* Tue Nov 26 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 1.22.1-4
- Rebuilt for MSVSphere 10

## START: Generated by rpmautospec
* Thu Aug 22 2024 Alejandro Sáez <asm@redhat.com> - 1.22.1-4
- Remove macro and tidy up

* Fri Aug 16 2024 Alejandro Sáez <asm@redhat.com> - 1.22.1-3
- Enable ppc64le

* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1.22.1-2
- Bump release for June 2024 mass rebuild

* Wed May 22 2024 Alejandro Sáez <asm@redhat.com> - 1.22.1-1
- Bump up to Delve 1.22.1

* Fri May 03 2024 Edjunior Machado <emachado@redhat.com> - 1.22.0-6
- gating.yaml: Add gating config for rhel-10

* Wed Feb 14 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 1.22.0-5
- Skip tests failing due to network configuration

* Fri Feb 02 2024 Alejandro Sáez <asm@redhat.com> - 1.22.0-4
- Skip tests due to version issues

* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.22.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.22.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Sun Dec 31 2023 Packit <hello@packit.dev> - 1.22.0-1
- [packit] 1.22.0 upstream release
- Resolves rhbz#2242098

* Thu Dec 14 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.21.2-2
- Drop dynamic buildrequires

* Wed Dec 13 2023 Alejandro Sáez <asm@redhat.com> - 1.21.2-1
- Update to 1.21.2

* Fri Nov 17 2023 Alejandro Sáez <asm@redhat.com> - 1.21.0-4
- Set up Packit integration

* Fri Nov 17 2023 Edjunior Machado <emachado@redhat.com> - 1.21.0-3
- Introduce CI gating

* Fri Sep 29 2023 Alejandro Sáez <asm@redhat.com> - 1.21.0-2
- Migrated to SPDX license

* Mon Jul 31 2023 Alejandro Sáez <asm@redhat.com> - 1.21.0-1
- Update to delve-1.21.0

* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.20.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Thu Jun 29 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.20.2-2
- Use vendored dependencies for RHEL builds

* Mon Apr 17 2023 Alejandro Sáez <asm@redhat.com> - 1.20.2-1
- Update to Delve 1.20.2

* Thu Mar 30 2023 Alejandro Sáez <asm@redhat.com> - 1.20.1-1
- Update to 1.20.1

* Tue Mar 28 2023 Tomas Hrcka <thrcka@redhat.com> - 1.2.0-11
- Unretirement request: https://pagure.io/releng/issue/11359

* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Wed Feb 27 2019 Derek Parker <deparker@redhat.com> - 1.2.0-9
- Use custom check section

* Mon Feb 25 2019 Derek Parker <deparker@redhat.com> - 1.2.0-8
- Exclude armv7hl

* Mon Feb 25 2019 Derek Parker <deparker@redhat.com> - 1.2.0-7
- Exclude non-supported arches

* Fri Feb 22 2019 Derek Parker <deparker@redhat.com> - 1.2.0-6
- Add ExclusiveArch

* Fri Feb 22 2019 Derek Parker <deparker@redhat.com> - 1.2.0-5
- Add sources file

* Fri Feb 22 2019 Derek Parker <deparker@redhat.com> - 1.2.0-4
- Add patch to remove empty doc file

* Fri Feb 22 2019 Derek Parker <deparker@redhat.com> - 1.2.0-3
- Switch back to using gochecks

* Fri Feb 22 2019 Derek Parker <deparker@redhat.com> - 1.2.0-2
- Fix spec file and patch tests to run in package build

* Fri Feb 22 2019 Derek Parker <deparker@redhat.com> - 1.2.0-1
- Update spec for v1.2.0

* Fri Feb 22 2019 Derek Parker <deparker@redhat.com> - 1.1.0-2
- Update doc location output, cleanup spec

* Fri Feb 22 2019 Derek Parker <deparker@redhat.com> - 1.1.0-1
- Initial spec file
## END: Generated by rpmautospec