me
/
guix
Archived
1
0
Fork 0

gnu: Add ruby-latex-decode.

* gnu/packages/patches/ruby-latex-decode-fix-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/ruby.scm (ruby-latex-decode): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Philip McGrath 2022-07-25 08:16:20 -04:00 committed by Ludovic Courtès
parent 7ffea0822a
commit cc5b8cb3c0
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
3 changed files with 119 additions and 0 deletions

View File

@ -1782,6 +1782,7 @@ dist_patch_DATA = \
%D%/packages/patches/rocm-comgr-3.1.0-dependencies.patch \
%D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \
%D%/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch \
%D%/packages/patches/ruby-latex-decode-fix-test.patch \
%D%/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch \
%D%/packages/patches/ruby-sanitize-system-libxml.patch \
%D%/packages/patches/rustc-1.39.0-src.patch \

View File

@ -0,0 +1,66 @@
From 698e39a251d433e2cd2934586a2dfc5e6582c4f9 Mon Sep 17 00:00:00 2001
From: Philip McGrath <philip@philipmcgrath.com>
Date: Sun, 24 Jul 2022 09:12:55 -0400
Subject: [PATCH] Improve readability of whitespace tests
This change fixes the test for `~x` in some environments in which it
was previously failing.
Related to https://github.com/inukshuk/latex-decode/issues/13
---
features/step_definitions/latex.rb | 5 +++++
features/symbols.feature | 7 -------
features/whitespace.feature | 13 +++++++++++++
3 files changed, 18 insertions(+), 7 deletions(-)
create mode 100644 features/whitespace.feature
diff --git a/features/step_definitions/latex.rb b/features/step_definitions/latex.rb
index 4b1b595..fca63c0 100644
--- a/features/step_definitions/latex.rb
+++ b/features/step_definitions/latex.rb
@@ -5,3 +5,8 @@ end
Then /^the result should be ('|")(.*)\1$/ do |quote,value|
expect(@result).to eq(value)
end
+
+# For whitespace or other characters that are hard to read in source code:
+Then /^I should get '([^']*)' \+ U\+(\h{4,}) \+ '([^']*)'$/ do |pre,code,post|
+ expect(@result).to eq(pre + code.hex.chr(Encoding::UTF_8) + post)
+end
diff --git a/features/symbols.feature b/features/symbols.feature
index 46d9a51..f8a5e84 100644
--- a/features/symbols.feature
+++ b/features/symbols.feature
@@ -12,10 +12,3 @@ Feature: Decode LaTeX symbol directives
| \\uparrow | ↑ |
| \\downarrow | ↓ |
| \\rightarrow | → |
-
- Scenarios: Whitespace
- | latex | unicode | description |
- | x\\,x | xx | small space |
- | x~x | x x | non-breaking space |
- | ~x |  x | non-breaking space |
-
diff --git a/features/whitespace.feature b/features/whitespace.feature
new file mode 100644
index 0000000..fe5b208
--- /dev/null
+++ b/features/whitespace.feature
@@ -0,0 +1,13 @@
+Feature: Decode LaTeX whitespace directives
+ As a hacker who works with LaTeX
+ I want to be able to decode LaTeX whitespace
+
+ Scenario Outline: LaTeX to Unicode transformation
+ When I decode the string '<latex>'
+ Then I should get <pre> + U+<code> + <post>
+
+ Scenarios: Whitespace
+ | latex | pre | code | post | description |
+ | x~x | 'x' | 00A0 | 'x' | non-breaking space |
+ | ~y | '' | 00A0 | 'y' | leading non-breaking space |
+ | z\\,z | 'z' | 2009 | 'z' | small space |
--
2.32.0

View File

@ -13111,3 +13111,55 @@ adaptation of TeX math syntax for web display. Ritex makes inserting math
into HTML pages easy. It supports most TeX math syntax as well as macros.")
;; doesn't clearly state -only vs -or-later
(license license:gpl2)))
(define-public ruby-latex-decode
(package
(name "ruby-latex-decode")
(version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/inukshuk/latex-decode")
(commit (string-append "v" version))))
(sha256
(base32
"1f5j67ayd04pjkmzvn0hk7cr8yqvn0gyg9ns6a0vhzj2gwna9ihy"))
(file-name (git-file-name name version))))
(build-system ruby-build-system)
(native-inputs
(list ruby-cucumber
ruby-ritex
ruby-rspec))
(arguments
(list
#:test-target "cucumber"
#:phases
#~(modify-phases %standard-phases
(add-after 'extract-gemspec 'avoid-bundler
(lambda args
(substitute* "Rakefile"
(("require 'bundler" orig)
(string-append "# " orig " # patched for Guix"))
(("Cucumber::Rake::Task\\.new[(]:cucumber[)]" orig)
(string-append orig " do |c|\n"
" c.bundler = false # patched for Guix\n"
"end"))
(("Bundler\\.setup" orig)
(string-append "true # " orig " # patched for Guix")))
(substitute* "cucumber.yml"
;; thanks to avoiding bundler, we can't use this option
((" --publish-quiet")
""))))
(add-after 'replace-git-ls-files 'replace-another-git-ls-files
(lambda args
(substitute* "latex-decode.gemspec"
(("`git ls-files -- [{]test,spec,features[}]/\\*`")
"`find {test,spec,features} -type f | sort`")))))))
(home-page "https://github.com/inukshuk/latex-decode")
(synopsis "Convert LaTeX to Unicode")
(description
"This package provides a gem to convert LaTeX input to Unicode. Its
original use was as an input filter for BibTeX-Ruby, but it can be used
independently to decode LaTeX. Many of the patterns used by this Ruby gem are
based on François Charette's equivalent Perl module @code{LaTeX::Decode}.")
(license license:gpl3+)))