Blob Blame History Raw
%global tag beta.2
%global longtag v0.5-beta.2

Name:           spasm-ng
Version:        0.5
Release:        0.4.beta.2%{?dist}
Summary:        A z80 assembler with extra features for TI calculators

# spasm-ng is under GPLv2.
# The BSD is the stringencoders sources (modp_ascii.*).
License:        GPLv2 and BSD

URL:            https://github.com/alberthdev/spasm-ng
Source0:        https://github.com/alberthdev/spasm-ng/archive/%{longtag}/%{name}-%{version}-%{tag}.tar.gz

BuildRequires:  zlib-devel, gmp-devel, openssl-devel

# For now, provide bundled stringencoders.
Provides:       bundled(stringencoders) = 2011.08.20

%description
SPASM-ng is a z80 assembler with extra features to support development
for TI calculators. SPASM-ng can assemble and create assembly programs
and flash applications in formats that can be shipped directly to
TI-z80 (TI-83+, TI-83+SE, TI-84+, TI-83+SE, TI-84+CSE, TI-84+CE)
calculators.

SPASM-ng was originally from the SPASM project, and was forked to fix
a few bugs. It was originally written by Spencer Putt and Don Straney,
with additional development by Chris Shappell and James Montelongo.

This release incorporates eZ80 support in preparation for the launch
of the TI-84+CE. It also greatly increases the limit on the number
of labels that can be defined.

%prep
%setup -qn %{name}-%{version}-%{tag}

# Remove the bundled include files (at least, for now).
# Their authorship and copyright is difficult to assert (most of the community
# written files are not licensed, and ti83plus.inc was originally written by
# TI and then heavily modified), most authors of TI calculator assembly
# projects bundle them with their code anyway, and spasm does not expect include
# files to be available system-wide to begin with.
# The AUR package for Arch makes a similar decision and does not include them.
rm -rf inc/

# Remove the lib/ directory from the download.
rm -rf lib/

# Remove bundled gmp.h header.
rm gmp.h

%build
LDFLAGS="%{__global_ldflags}" CXXFLAGS="%{optflags}" make %{?_smp_mflags}

%install
# The make install target doesn't do the right thing
# So just install the binary by hand.
# (This was fixed upstream to respect DESTDIR though).
mkdir -p %{buildroot}%{_bindir}
cp -p spasm %{buildroot}%{_bindir}

%files
%{_bindir}/spasm

%doc README.md
%license LICENSE

%changelog
* Mon Aug 29 2016 Ben Rosser <rosser.bjr@gmail.com> 0.5-0.4.beta.2
- Remove bundled gmp.h header.
- Remove lib directory (containing static libs) from archive in prep.
- Remove unnecessary rm -rf buildroot from the install section.
- Added bundled provides on stringencoders until I get around to packaging it.

* Tue Jul 19 2016 Ben Rosser <rosser.bjr@gmail.com> 0.5-0.3.beta.2
- Build with correct ldflags as well
- Remove include files, for various licensing and practical reasons

* Sat Mar 19 2016 Ben Rosser <rosser.bjr@gmail.com> 0.5-0.2.beta.2
- Build with correct system-wide compiler flags

* Thu Oct  1 2015 Ben Rosser <rosser.bjr@gmail.com> 0.5-0.1.beta.2
- First packaging effort for Fedora.