Name:           syft
Version:        1.19.0
Release:        1%{?dist}
Summary:        A CLI tool for generating SBOMs (Software Bill of Materials)

License:        Apache-2.0
URL:            https://github.com/anchore/syft
Source0:        syft-1.19.0.tar.gz

BuildRequires:  python3 >= 3.9
BuildRequires:  make
BuildRequires:  git
BuildRequires:  gcc
BuildRequires:  wget
BuildRequires:  coreutils

%description
Syft is a CLI tool and library for generating a Software Bill of Materials
(SBOM) from container images and filesystems.

%prep
ARCH=%{_arch}
ARCH=${ARCH/x86_64/amd64}
ARCH=${ARCH/aarch64/arm64}

wget -O go.tar.gz https://go.dev/dl/go1.23.5.linux-${ARCH}.tar.gz
tar -xzf go.tar.gz

%autosetup -n syft-1.19.0
GOBIN=$(pwd)/../go/bin/go
$GOBIN mod tidy

%build
ARCH=%{_arch}
ARCH=${ARCH/x86_64/amd64}
ARCH=${ARCH/aarch64/arm64}
GOBIN=$(pwd)/../go/bin/go
$GOBIN version
GOOS=linux GOARCH=$ARCH $GOBIN build -gcflags="all=-N -l" -o build/syft cmd/syft/main.go

%install
echo "Syft Version:"
build/syft --version
build/syft --help
echo ""
install -Dm0755 build/syft %{buildroot}/usr/bin/syft

%files
/usr/bin/syft

%doc README.md
%license LICENSE

%changelog
* Fri Jan 23 2025 Christian Vonderstein <copr234@vonderste.in> - 1.19.0-1
- Initial packaging for Syft 1.19.0