Build RPM which depends on a github repository?

I’d like to make my first RPM package: there’s a chemistry package, cantera, that compiles to libraries for Python, C++, and Fortran (GitHub - Cantera/cantera: Chemical kinetics, thermodynamics, and transport tool suite)
It’s no trouble for me to download, build, and install on my machine, but this is due to scons build checking for local installations of dependencies and then cloning the repos for certain ones if missing.

Is there a way to craft my spec file to allow this behavior during build, either with a local tarball or by pulling from the git repository?
I’m following the developer quick start guide and working locally only right now, but I’d hopefully move to COPR or Pagure someday.

My draft spec file:

Name:           cantera
Version:        v2.5.1
Release:        1%{?dist}
Summary:        Chemical kinetics, thermodynamics, and transport tool suite

License:       BSD-3-Clause

BuildRequires:  boost-devel
BuildRequires:  eigen3-devel
BuildRequires:  fmt-devel
BuildRequires:  gcc
BuildRequires:  gcc-fortran
BuildRequires:  git
BuildRequires:  gmock-devel
BuildRequires:  gtest-devel
BuildRequires:  python3-scons
BuildRequires:  yaml-cpp-devel

Chemical kinetics, thermodynamics, and transport tool suite with interfaces to Python, Fortran, and C++

%autosetup -n cantera-2.5.1

scons build

rm -rf %{buildroot}
scons install --install-sandbox="$RPM_BUILD_ROOT"

%license License.txt

* Sat Oct 09 2021 Mark E. Fuller <>
- first attempt at packaging