diff --git a/.gitignore b/.gitignore index 9e6b2d3..29e2564 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/64tass-*-src.zip +/64tass-1.50.486.zip diff --git a/64tass-1.50.486-ptrcast.patch b/64tass-1.50.486-ptrcast.patch new file mode 100644 index 0000000..6295aaa --- /dev/null +++ b/64tass-1.50.486-ptrcast.patch @@ -0,0 +1,12 @@ +diff -up 64tass-1.50.486/obj.c.ptrcast 64tass-1.50.486/obj.c +--- 64tass-1.50.486/obj.c.ptrcast 2013-06-11 17:02:49.075972646 -0600 ++++ 64tass-1.50.486/obj.c 2013-06-11 17:03:25.127641322 -0600 +@@ -129,7 +129,7 @@ static int invalid_hash(const struct val + } + + static int gap_hash(const struct value_s *UNUSED(v1), struct value_s *UNUSED(v), linepos_t UNUSED(epoint)) { +- return (unsigned int)GAP_OBJ & ((~(unsigned int)0) >> 1); ++ return (intptr_t)GAP_OBJ & ((~(intptr_t)0) >> 1); + } + + static void invalid_convert(struct value_s *v1, struct value_s *v, obj_t UNUSED(t), linepos_t epoint, linepos_t UNUSED(epoint2)) { diff --git a/64tass-1.50.486-sizet.patch b/64tass-1.50.486-sizet.patch new file mode 100644 index 0000000..e9f556d --- /dev/null +++ b/64tass-1.50.486-sizet.patch @@ -0,0 +1,57 @@ +diff -up 64tass-1.50.486/misc.c.sizet 64tass-1.50.486/misc.c +--- 64tass-1.50.486/misc.c.sizet 2013-06-11 17:00:35.876501904 -0600 ++++ 64tass-1.50.486/misc.c 2013-06-11 17:02:16.489368315 -0600 +@@ -241,28 +241,28 @@ static void labelprint2(const struct avl + case D_BYTE: + fputs(" byte", flab); + if (l->value->u.code.size > 1) { +- fprintf(flab, " %x", l->value->u.code.size); ++ fprintf(flab, " %zx", l->value->u.code.size); + } + break; + case D_INT: + case D_WORD: + fputs(" word", flab); + if (l->value->u.code.size > 2) { +- fprintf(flab, " %x", l->value->u.code.size); ++ fprintf(flab, " %zx", l->value->u.code.size); + } + break; + case D_LINT: + case D_LONG: + fputs(" long", flab); + if (l->value->u.code.size > 3) { +- fprintf(flab, " %x", l->value->u.code.size); ++ fprintf(flab, " %zx", l->value->u.code.size); + } + break; + case D_DINT: + case D_DWORD: + fputs(" dword", flab); + if (l->value->u.code.size > 4) { +- fprintf(flab, " %x", l->value->u.code.size); ++ fprintf(flab, " %zx", l->value->u.code.size); + } + break; + case D_NONE: +diff -up 64tass-1.50.486/section.c.sizet 64tass-1.50.486/section.c +--- 64tass-1.50.486/section.c.sizet 2013-06-11 17:00:30.438400433 -0600 ++++ 64tass-1.50.486/section.c 2013-06-11 17:01:27.084451753 -0600 +@@ -151,7 +151,7 @@ void sectionprint(void) { + l = &root_section; + if (l->size) { + sprintf(temp, "$%04" PRIaddress, l->start); +- sprintf(temp2, "$%04" PRIaddress, l->start + l->size - 1); ++ sprintf(temp2, "$%04zx", l->start + l->size - 1); + printf("Section: %7s-%-7s\n", temp, temp2); + } + memprint(&l->mem); +@@ -160,7 +160,7 @@ void sectionprint(void) { + if (l->defpass == pass) { + if (l->size) { + sprintf(temp, "$%04" PRIaddress, l->start); +- sprintf(temp2, "$%04" PRIaddress, l->start + l->size - 1); ++ sprintf(temp2, "$%04zx", l->start + l->size - 1); + printf("Section: %7s-%-7s ", temp, temp2); + } else { + printf("Section: "); diff --git a/64tass.spec b/64tass.spec index 152021c..edc2f61 100644 --- a/64tass.spec +++ b/64tass.spec @@ -1,15 +1,33 @@ -%global revision 3243 - Name: 64tass -Version: 1.60.%{revision} -Release: %autorelease +Version: 1.50.486 +Release: 1%{?dist} Summary: 6502 assembler -License: LGPL-2.0-only AND LGPL-2.0-or-later AND GPL-2.0-or-later AND MIT +Group: Development/Languages +License: GPLv2+ URL: http://tass64.sourceforge.net/ -BuildRequires: gcc -BuildRequires: make BuildRequires: w3m -Source0: http://sourceforge.net/projects/tass64/files/source/%{name}-%{version}-src.zip + +# The following would meet the Fedora Packaging Guidelines for Source URLs +# for SourceForge, but it doesn't actually work! Despite the "/source/" in +# the path, it actually gets the *binary* release ZIP archives. This may have +# something to do with the fact that the source and binary release ZIP +# archives have the same name. I've requested that upstream start putting +# "-source" or "-src" in the names of the source archives, which hopefully +# would fix this problem. +# https://sourceforge.net/p/tass64/bugs/13/ +#Source0: http://downloads.sourceforge.net/tass64/source/%{name}-%{version}.zip + +Source0: http://sourceforge.net/projects/tass64/files/source/%{name}-%{version}.zip + +# Fix problem with printf conversions of size_t. Reported upstream with +# proposed patch: +# https://sourceforge.net/p/tass64/bugs/14/ +Patch0: 64tass-1.50.486-sizet.patch + +# Fix problem with cast of pointer to int. Reported upstream with +# proposed patch: +# https://sourceforge.net/p/tass64/bugs/15/ +Patch1: 64tass-1.50.486-ptrcast.patch %description 64tass is a multi-pass optimizing macro assembler for the 65xx series of @@ -17,30 +35,27 @@ processors. It supports the 6502, 65C02, R65C02, W65C02, 65CE02, 65816, DTV, and 65EL02, using a syntax similar to that of Omicron TASS and TASM. %prep -%autosetup -n %{name}-%{version}-src +%setup -q +%patch -P 0 -p1 -b .sizet +%patch -P 1 -p1 -b .ptrcast rm README # will be built -# be verbose during build -sed -i -e 's/.SILENT://' Makefile - %build -%make_build CFLAGS='%{build_cflags} -DREVISION="\""%{revision}"\""' LDFLAGS="%{build_ldflags}" +make %{?_smp_mflags} CFLAGS="%{optflags}" %install + # install binaries install -d %{buildroot}%{_bindir}/ install -m 755 64tass %{buildroot}%{_bindir}/ -# install man page -install -d %{buildroot}%{_mandir}/man1 -install -m 644 64tass.1 %{buildroot}%{_mandir}/man1/ %files -%{_bindir}/%{name} -%{_mandir}/man1/%{name}.1* -%doc README.html -%license LICENSE-GPL-2.0 -%license LICENSE-LGPL-2.0 LICENSE-LGPL-2.1 -%license LICENSE-my_getopt +%{_bindir}/64tass +%doc README README.html +%doc LICENSE-GPL-2.0 +%doc LICENSE-LGPL-2.0 LICENSE-LGPL-2.1 +%doc LICENSE-my_getopt %changelog -%autochangelog +* Tue Jun 11 2013 Eric Smith 1.50.486-1 +- Initial version diff --git a/changelog b/changelog deleted file mode 100644 index 80e04cb..0000000 --- a/changelog +++ /dev/null @@ -1,93 +0,0 @@ -* Wed Jul 19 2023 Fedora Release Engineering - 1.58.2974-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Jan 18 2023 Fedora Release Engineering - 1.58.2974-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sun Jan 15 2023 Dan Horák - 1.58.2974-1 -- Update to 1.58.2974 (rhbz#2159962) - -* Fri Jan 06 2023 Dan Horák - 1.57.2900-1 -- Update to 1.57.2900 (rhbz#2140305) - -* Wed Jul 20 2022 Fedora Release Engineering - 1.56.2625-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Jan 19 2022 Fedora Release Engineering - 1.56.2625-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Jul 21 2021 Fedora Release Engineering - 1.56.2625-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jun 25 2021 Dan Horák - 1.56.2625-1 -- Update to 1.56.2625 (#1953379) -- Use distro-wide compiler/linker flags - -* Mon Jan 25 2021 Fedora Release Engineering - 1.55.2200-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 1.55.2200-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Apr 07 2020 Filipe Rosset - 1.55.2200-1 -- Update to 1.55.2200 fixes rhbz#1821925 - -* Mon Apr 06 2020 Filipe Rosset - 1.55.2176-4 -- Update to 1.55.2176 fixes rhbz#1816374 - -* Tue Jan 28 2020 Fedora Release Engineering - 1.54.1900-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Wed Jul 24 2019 Fedora Release Engineering - 1.54.1900-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed Mar 27 2019 Filipe Rosset - 1.54.1900-1 -- Rebuilt for new upstream release 1.54.1900, fixes rhbz #1672124 - -* Thu Jan 31 2019 Fedora Release Engineering - 1.53.1515-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Oct 10 2018 Filipe Rosset - 1.53.1515-4 -- spec cleanup and modernization - -* Thu Jul 12 2018 Fedora Release Engineering - 1.53.1515-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Wed Feb 07 2018 Fedora Release Engineering - 1.53.1515-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sat Aug 05 2017 Filipe Rosset - 1.53.1515-1 -- Rebuilt for new upstream release 1.53.1515, fixes rhbz #1447034 - -* Wed Aug 02 2017 Fedora Release Engineering - 1.52.1237-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 1.52.1237-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Feb 10 2017 Fedora Release Engineering - 1.52.1237-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Thu Dec 08 2016 Filipe Rosset - 1.52.1237-1 -- Rebuilt for new upstream release 1.52.1237, fixes rhbz #1063717 - -* Wed Feb 03 2016 Fedora Release Engineering - 1.51.727-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Tue Jun 16 2015 Fedora Release Engineering - 1.51.727-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Fri Aug 29 2014 Eric Smith 1.51.727-1 -- Update to latest upstream - -* Fri Aug 15 2014 Fedora Release Engineering - 1.51.716-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sat Jun 07 2014 Eric Smith 1.51.716-1 -- Update to latest upstream - -* Fri Jun 06 2014 Fedora Release Engineering - 1.50.486-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Tue Jun 11 2013 Eric Smith 1.50.486-1 -- Initial version diff --git a/sources b/sources index 5359131..337dfaf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (64tass-1.60.3243-src.zip) = 900ad2acd54a39d337192e25c75abe23f2d88a0c4cce8e377d22d396c898d919284a8325cc9a4b7b5aeeaffc32e0efb965c15fe8c572ec0434dbc869fb47791b +3f2e6a68123d0d8b786cc5f19d115003 64tass-1.50.486.zip