aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-03-10 17:05:41 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-03-10 17:08:33 -0500
commit199da75a8adf37381c32ee1e3028b08b94703584 (patch)
tree07e2fbafc48814632ac955304465989f746c05d2 /gnu/packages
parent93c3bcc3f2f8803c8b3118f55790a933756d17e6 (diff)
downloadguix-199da75a8adf37381c32ee1e3028b08b94703584.tar
guix-199da75a8adf37381c32ee1e3028b08b94703584.tar.gz
gnu: python-robotframework: Do not embed a timestamp in the user guide.
* gnu/packages/patches/python-robotframework-source-date-epoch.patch: Update patch to cover for the user guide.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/patches/python-robotframework-source-date-epoch.patch104
1 files changed, 53 insertions, 51 deletions
diff --git a/gnu/packages/patches/python-robotframework-source-date-epoch.patch b/gnu/packages/patches/python-robotframework-source-date-epoch.patch
index ccd87911d8..11424bf4db 100644
--- a/gnu/packages/patches/python-robotframework-source-date-epoch.patch
+++ b/gnu/packages/patches/python-robotframework-source-date-epoch.patch
@@ -1,62 +1,64 @@
-From 3cc41c05fad5601c0dd1832f64a6e9efca017727 Mon Sep 17 00:00:00 2001
-From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
-Date: Mon, 1 Apr 2019 11:36:04 -0400
-Subject: [PATCH] robottime: Honor the SOURCE_DATE_EPOCH environment variable.
+Do not embed any timestamp in the built documentation.
-Honoring the SOURCE_DATE_EPOCH environment variable allows building
-the documentation using libdoc reproducibly, by setting the generated
-timestamp to a fixed value.
+Upstream issue: https://github.com/robotframework/robotframework/issues/4262.
-For more background on reproducible builds and the SOURCE_DATE_EPOCH
-environment variable, see:
-https://reproducible-builds.org/specs/source-date-epoch/.
-
-* src/robot/utils/robottime.py: import `os'.
-(TimestampCache._get_epoch): Retrieve date from SOURCE_DATE_EPOCH if
-it is defined, otherwise from time.time().
-* utest/output/test_logger.py (TestLogger.test_write_to_one_logger):
-Check for the existance of a timestamp attribute instead of checking
-for its content as the later is easy to break when using the
-SOURCE_DATE_EPOCH environment variable.
----
- src/robot/utils/robottime.py | 3 +++
- utest/output/test_logger.py | 2 +-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/robot/utils/robottime.py b/src/robot/utils/robottime.py
-index 06432a4a6..91526f826 100644
---- a/src/robot/utils/robottime.py
-+++ b/src/robot/utils/robottime.py
+diff --git a/doc/userguide/ug2html.py b/doc/userguide/ug2html.py
+index 43cdb31bd..550e74a79 100755
+--- a/doc/userguide/ug2html.py
++++ b/doc/userguide/ug2html.py
+@@ -158,8 +158,7 @@ def create_userguide():
+ install_file = _copy_installation_instructions()
+
+ description = 'HTML generator for Robot Framework User Guide.'
+- arguments = ['--time',
+- '--stylesheet-path', ['src/userguide.css'],
++ arguments = ['--stylesheet-path', ['src/userguide.css'],
+ 'src/RobotFrameworkUserGuide.rst',
+ 'RobotFrameworkUserGuide.html']
+ os.chdir(CURDIR)
+diff --git a/src/robot/libdocpkg/model.py b/src/robot/libdocpkg/model.py
+index 4d9ffd70b..5c276d1d6 100644
+--- a/src/robot/libdocpkg/model.py
++++ b/src/robot/libdocpkg/model.py
@@ -14,6 +14,7 @@
# limitations under the License.
- import datetime
+ import json
+import os
- import time
import re
+ from itertools import chain
-@@ -395,6 +396,8 @@ class TimestampCache(object):
+@@ -113,7 +114,8 @@ class LibraryDoc(object):
+ 'name': self.name,
+ 'doc': self.doc,
+ 'version': self.version,
+- 'generated': get_timestamp(daysep='-', millissep=None),
++ 'generated': ('' if os.environ['SOURCE_DATE_EPOCH']
++ else get_timestamp(daysep='-', millissep=None)),
+ 'type': self.type,
+ 'scope': self.scope,
+ 'docFormat': self.doc_format,
+diff --git a/src/robot/libdocpkg/xmlwriter.py b/src/robot/libdocpkg/xmlwriter.py
+index 3882e1219..4a84fb42e 100644
+--- a/src/robot/libdocpkg/xmlwriter.py
++++ b/src/robot/libdocpkg/xmlwriter.py
+@@ -14,6 +14,8 @@
+ # limitations under the License.
- # Seam for mocking
- def _get_epoch(self):
-+ if os.getenv('SOURCE_DATE_EPOCH'):
-+ return float(os.getenv('SOURCE_DATE_EPOCH'))
- return time.time()
+ import os.path
++import os
++
+ from datetime import datetime
- def _use_cache(self, secs, *separators):
-diff --git a/utest/output/test_logger.py b/utest/output/test_logger.py
-index 92fe6d77d..e980227aa 100644
---- a/utest/output/test_logger.py
-+++ b/utest/output/test_logger.py
-@@ -46,7 +46,7 @@ class TestLogger(unittest.TestCase):
- logger = LoggerMock(('Hello, world!', 'INFO'))
- self.logger.register_logger(logger)
- self.logger.write('Hello, world!', 'INFO')
-- assert_true(logger.msg.timestamp.startswith('20'))
-+ assert_true(hasattr(logger.msg, 'timestamp'))
+ from robot.utils import WINDOWS, XmlWriter, unicode
+@@ -30,7 +32,9 @@ class LibdocXmlWriter(object):
+ self._write_end(writer)
- def test_write_to_one_logger_with_trace_level(self):
- logger = LoggerMock(('expected message', 'TRACE'))
---
-2.20.1
-
+ def _write_start(self, libdoc, writer):
+- generated = datetime.utcnow().replace(microsecond=0).isoformat() + 'Z'
++ generated = (
++ '' if os.environ['SOURCE_DATE_EPOCH']
++ else datetime.utcnow().replace(microsecond=0).isoformat() + 'Z')
+ attrs = {'name': libdoc.name,
+ 'type': libdoc.type,
+ 'format': libdoc.doc_format,