diff options
Diffstat (limited to 'sci-calculators/units/files')
3 files changed, 82 insertions, 0 deletions
diff --git a/sci-calculators/units/files/units-2.17-network-sandbox.patch b/sci-calculators/units/files/units-2.17-network-sandbox.patch new file mode 100644 index 0000000..e457610 --- /dev/null +++ b/sci-calculators/units/files/units-2.17-network-sandbox.patch @@ -0,0 +1,11 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -107,7 +107,7 @@ + -e "s@/usr/bin/python@$(PYTHON)@" \ + $(srcdir)/units_cur > units_cur_inst + +-install-support: definitions.units units_cur_inst currency-units-update ++install-support: definitions.units units_cur_inst + $(MKDIR_P) $(DESTDIR)@UDAT@ $(DESTDIR)$(bindir) $(DESTDIR)@CDAT@ + $(INSTALL_DATA) $(srcdir)/definitions.units $(DESTDIR)@UDAT@definitions.units + -rm -f $(DESTDIR)@UDAT@currency.units diff --git a/sci-calculators/units/files/units-2.20-readerror.patch b/sci-calculators/units/files/units-2.20-readerror.patch new file mode 100644 index 0000000..ccb12c6 --- /dev/null +++ b/sci-calculators/units/files/units-2.20-readerror.patch @@ -0,0 +1,11 @@ +--- a/units.c ++++ b/units.c +@@ -761,7 +761,7 @@ + } + + +-#define readerror (goterr=1) && errfile && fprintf ++#define readerror(...) do { goterr=1; if (errfile) fprintf(__VA_ARGS__); } while (0) + + #define VAGUE_ERR "%s: error in units file '%s' line %d\n", \ + progname, file, linenum diff --git a/sci-calculators/units/files/units_cur-urllib.patch b/sci-calculators/units/files/units_cur-urllib.patch new file mode 100644 index 0000000..e77ff96 --- /dev/null +++ b/sci-calculators/units/files/units_cur-urllib.patch @@ -0,0 +1,60 @@ +Only in a: currency.units +diff -ru a/units_cur b/units_cur +--- a/units_cur 2018-09-15 16:30:09.000000000 -0400 ++++ b/units_cur 2021-07-11 18:01:29.030260473 -0400 +@@ -28,8 +28,12 @@ + # + # + +-version = '5.0' ++version = '5.1' + ++# Version 5.1: ++# ++# Switch to urllib to avoid requests dependency. ++# + # Version 5.0: + # + # Rewrite to support multiple different data sources due to disappearance +@@ -54,8 +58,11 @@ + # Python 2 or Python 3. Thanks to Ray Hamel for some help with this update. + + # Normal imports +-import requests + import codecs ++import json ++import urllib.error ++import urllib.parse ++import urllib.request + from argparse import ArgumentParser + from collections import OrderedDict + from datetime import date +@@ -288,11 +295,12 @@ + currency[code][rate_index])) + + def getjson(address,args=None): ++ if args: ++ address = address + "?" + urllib.parse.urlencode(args) + try: +- res = requests.get(address,args) +- res.raise_for_status() +- return(res.json()) +- except requests.exceptions.RequestException as e: ++ res = urllib.request.urlopen(address) ++ return(json.load(res)) ++ except urllib.error.URLError as e: + stderr.write('Error connecting to currency server:\n{}.\n'.format(e)) + exit(1) + +@@ -323,9 +331,8 @@ + stderr.write('European bank uses euro for base currency. Specified base {} ignored.\n'.format(base)) + import xml.etree.ElementTree as ET + try: +- res=requests.get('https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml') +- res.raise_for_status() +- data = ET.fromstring(res.content)[2][0] ++ res=urllib.request.urlopen('https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml') ++ data = ET.fromstring(res.read())[2][0] + except requests.exceptions.RequestException as e: + stderr.write('Error connecting to currency server:\n{}.\n'. + format(e)) |