summaryrefslogtreecommitdiff
path: root/sci-calculators/units/files
diff options
context:
space:
mode:
Diffstat (limited to 'sci-calculators/units/files')
-rw-r--r--sci-calculators/units/files/units-2.17-network-sandbox.patch11
-rw-r--r--sci-calculators/units/files/units-2.20-readerror.patch11
-rw-r--r--sci-calculators/units/files/units_cur-urllib.patch60
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))