* [bug#46512] [PATCH]: gnu: opencc: Update to 1.1.1.
@ 2021-02-14 16:23 Zhu Zihao
[not found] ` <handler.46512.B.161331984524585.ack@debbugs.gnu.org>
2021-03-13 13:28 ` [bug#46512] [PATCH]: gnu: opencc: Update to 1.1.1 Nicolas Goaziou
0 siblings, 2 replies; 6+ messages in thread
From: Zhu Zihao @ 2021-02-14 16:23 UTC (permalink / raw)
To: 46512
[-- Attachment #1.1: Type: text/plain, Size: 76 bytes --]
This patch update opencc to 1.1.1 and add the python binding build for
it.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-opencc-Update-to-1.1.1.patch --]
[-- Type: text/x-patch, Size: 6640 bytes --]
From bcb056a18920c8e7eb33b1735e4e7cf5499fc2e9 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Sun, 14 Feb 2021 21:52:35 +0800
Subject: [PATCH] gnu: opencc: Update to 1.1.1.
* gnu/packages/textutils.scm(opencc): Update to 1.1.1
[source]<patches>: Add new patch.
[arguments]<out-of-source?>: Build in source tree.
<parallel-build?>: Disable.
<phases>: In "patch-3rd-party-references", fix the version of dependency.
Add phases "patch-python-binding-installation", "install-python-binding"
and "enable-bytecode-determinism".
[native-inputs]: Add python-setuptools and python-wheel.
* gnu/packages/patches/opencc-py-binding-dont-rebuild.patch: New file.
* gnu/local.mk(dist_patch_DATA): Add new entry.
---
gnu/local.mk | 1 +
.../opencc-py-binding-dont-rebuild.patch | 13 +++++
gnu/packages/textutils.scm | 58 ++++++++++++++++---
3 files changed, 63 insertions(+), 9 deletions(-)
create mode 100644 gnu/packages/patches/opencc-py-binding-dont-rebuild.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 7b6cd8e0ae..9d9d394d84 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1419,6 +1419,7 @@ dist_patch_DATA = \
%D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \
%D%/packages/patches/opencascade-oce-glibc-2.26.patch \
+ %D%/packages/patches/opencc-py-binding-dont-rebuild.patch \
%D%/packages/patches/opencv-fix-build-of-grfmt_jpeg2000.cpp.patch \
%D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch \
%D%/packages/patches/opendht-fix-jami.patch \
diff --git a/gnu/packages/patches/opencc-py-binding-dont-rebuild.patch b/gnu/packages/patches/opencc-py-binding-dont-rebuild.patch
new file mode 100644
index 0000000000..d1140489db
--- /dev/null
+++ b/gnu/packages/patches/opencc-py-binding-dont-rebuild.patch
@@ -0,0 +1,13 @@
+This patch prevents the rebuild of OpenCC while installing the python binding.
+
+Author: Zhu Zihao <all_but_last@163.com>
+--- a/python/setup.py
++++ b/python/setup.py
+@@ -195,7 +195,6 @@
+ 'clib/share/opencc/*',
+ ]},
+ cmdclass={
+- 'build_py': BuildPyCommand,
+ 'bdist_wheel': BDistWheelCommand
+ },
+
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 34da04d0d8..e10cfd5615 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -60,6 +60,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages slang)
@@ -1051,36 +1052,75 @@ OpenDocument presentations (*.odp).")
(define-public opencc
(package
(name "opencc")
- (version "1.0.5")
+ (version "1.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/BYVoid/OpenCC")
- (commit (string-append "ver." version))))
+ (url "https://github.com/BYVoid/OpenCC")
+ (commit (string-append "ver." version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1pv5md225qwhbn8ql932zdg6gh1qlx3paiajaks8gfsa07yzvhr4"))
+ "07y0pvxjlmpcnym229j87qcfwnfm7vi10dad0a20xy6as55a9j3d"))
(modules '((guix build utils)))
(snippet
'(begin
;; TODO: Unbundle tclap, darts-clone, gtest
- (delete-file-recursively "deps/rapidjson-0.11") #t))))
+ (delete-file-recursively "deps/rapidjson-1.1.0") #t))
+ (patches (search-patches "opencc-py-binding-dont-rebuild.patch"))))
(build-system cmake-build-system)
(arguments
- '(#:phases
+ ;; Required to locate the install script properly.
+ `(#:out-of-source? #f
+ #:parallel-build? #f ;occasionally failed.
+ #:imported-modules
+ (,@%cmake-build-system-modules
+ (guix build python-build-system))
+ #:modules ((guix build cmake-build-system)
+ ((guix build python-build-system) #:prefix python:)
+ (guix build utils))
+ #:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-3rd-party-references
(lambda* (#:key inputs #:allow-other-keys)
(let ((rapidjson (assoc-ref inputs "rapidjson")))
(substitute* "src/CMakeLists.txt"
- (("../deps/rapidjson-0.11")
+ (("../deps/rapidjson-1.1.0")
(string-append rapidjson "/include/rapidjson")))
- #t))))))
+ #t)))
+ (add-before 'configure 'patch-python-binding-installation
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "python/opencc/__init__.py"
+ (("(_libopenccfile =).*$" _ prefix)
+ (format #f "~a os.path.join('~a/lib', _libopenccfilename)~%"
+ prefix out))
+ (("(_opencc_share_dir =).*$" _ prefix)
+ (format #f "~a '~a/share/opencc'~%" prefix out))))
+ #t))
+ (add-after 'install 'install-python-binding
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (dist (string-append
+ out "/lib/python"
+ ,(version-major+minor (package-version python))
+ "/site-packages")))
+ (chdir "python")
+ (mkdir-p dist)
+ (setenv "PYTHONPATH"
+ (string-append dist ":" (getenv "PYTHONPATH")))
+ (invoke "python" "setup.py" "install"
+ "--root=/" "--single-version-externally-managed"
+ (string-append "--prefix=" out))
+ #t)))
+ (add-before 'install-python-binding 'enable-bytecode-determinism
+ (assoc-ref python:%standard-phases 'enable-bytecode-determinism)))))
(native-inputs
`(("python" ,python-wrapper)
- ("rapidjson" ,rapidjson)))
+ ("rapidjson" ,rapidjson)
+ ("python-setuptools" ,python-setuptools)
+ ("python-wheel" ,python-wheel)))
(home-page "https://github.com/BYVoid/OpenCC")
(synopsis "Convert between Traditional Chinese and Simplified Chinese")
(description "Open Chinese Convert (OpenCC) converts between Traditional
--
2.30.0
[-- Attachment #3: Type: text/plain, Size: 100 bytes --]
--
Retrieve my PGP public key:
gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F
Zihao
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-03-13 13:32 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-14 16:23 [bug#46512] [PATCH]: gnu: opencc: Update to 1.1.1 Zhu Zihao
[not found] ` <handler.46512.B.161331984524585.ack@debbugs.gnu.org>
2021-02-23 13:52 ` [bug#46512] Acknowledgement ([PATCH]: gnu: opencc: Update to 1.1.1.) Zhu Zihao
2021-03-10 11:39 ` Zhu Zihao
2021-03-11 15:59 ` Zhu Zihao
[not found] ` <86r1kkmvyp.fsf@163.com>
2021-03-12 11:54 ` bug#46512: " Zhu Zihao
2021-03-13 13:28 ` [bug#46512] [PATCH]: gnu: opencc: Update to 1.1.1 Nicolas Goaziou
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).