From 691b19afdfd57ec6c247ccc1c2cf3e20a2b0112f4c57a69c5959381cd15f2b3f Mon Sep 17 00:00:00 2001 From: Hillwood Yang Date: Wed, 31 Aug 2022 07:56:46 +0000 Subject: [PATCH] Accepting request 1000127 from home:1Antoine1:branches:M17N - Add tamago-5.0.7.1-make-coding-system.patch: Fix build with Emacs 28. OBS-URL: https://build.opensuse.org/request/show/1000127 OBS-URL: https://build.opensuse.org/package/show/M17N/tamago?expand=0&rev=13 --- tamago-5.0.7.1-make-coding-system.patch | 240 ++++++++++++++++++++++++ tamago.changes | 6 + tamago.spec | 11 +- 3 files changed, 253 insertions(+), 4 deletions(-) create mode 100644 tamago-5.0.7.1-make-coding-system.patch diff --git a/tamago-5.0.7.1-make-coding-system.patch b/tamago-5.0.7.1-make-coding-system.patch new file mode 100644 index 0000000..b289b31 --- /dev/null +++ b/tamago-5.0.7.1-make-coding-system.patch @@ -0,0 +1,240 @@ +Picked from https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=249201 and +rebased. + +Replace make-coding-system (obsolete and not available anymore) by +define-coding-system. + +--- egg-com.el ++++ egg-com.el +@@ -97,135 +97,37 @@ + (prog1 (- (point) pos) + (goto-char pos)))) + +-(if (and (fboundp 'make-coding-system) +- (null (get 'make-coding-system 'byte-obsolete-info))) +-;; since Emacs 23.1, make-coding-system has been marked as obsolete. +- (eval-and-compile +- (define-ccl-program ccl-decode-fixed-euc-jp +- `(2 +- ((r2 = ,(charset-id 'japanese-jisx0208)) +- (r3 = ,(charset-id 'japanese-jisx0212)) +- (r4 = ,(charset-id 'katakana-jisx0201)) +- (read r0) +- (loop +- (read r1) +- (if (r0 < ?\x80) +- ((r0 = r1) +- (if (r1 < ?\x80) +- (write-read-repeat r0)) +- (write r4) +- (write-read-repeat r0)) +- ((if (r1 > ?\x80) +- ((write r2 r0) +- (r0 = r1) +- (write-read-repeat r0)) +- ((write r3 r0) +- (r0 = (r1 | ?\x80)) +- (write-read-repeat r0))))))))) +- +- (define-ccl-program ccl-encode-fixed-euc-jp +- `(2 +- ((read r0) +- (loop +- (if (r0 == ,(charset-id 'latin-jisx0201)) ; Unify +- ((read r0) +- (r0 &= ?\x7f))) +- (if (r0 < ?\x80) ;G0 +- ((write 0) +- (write-read-repeat r0))) +- (r6 = (r0 == ,(charset-id 'japanese-jisx0208))) +- (r6 |= (r0 == ,(charset-id 'japanese-jisx0208-1978))) +- (if r6 ;G1 +- ((read r0) +- (write r0) +- (read r0) +- (write-read-repeat r0))) +- (if (r0 == ,(charset-id 'katakana-jisx0201)) ;G2 +- ((read r0) +- (write 0) +- (write-read-repeat r0))) +- (if (r0 == ,(charset-id 'japanese-jisx0212)) ;G3 +- ((read r0) +- (write r0) +- (read r0) +- (r0 &= ?\x7f) +- (write-read-repeat r0))) +- (read r0) +- (repeat))))) +- (make-coding-system 'fixed-euc-jp 4 ?W "Coding System for fixed EUC Japanese" +- (cons ccl-decode-fixed-euc-jp ccl-encode-fixed-euc-jp)) +- ) +- (eval-and-compile +- ;; since Emacs 23.1, make-coding-system has been marked as obsolete. +- ;; From Handa-san. [mule-ja : No.09414] +- (define-charset 'fixed-euc-jp +- "Fixed EUC Japanese" +- :dimension 2 +- :superset '(ascii +- (katakana-jisx0201 . #x80) +- (japanese-jisx0208 . #x8080) +- (japanese-jisx0212 . #x8000))) +- (define-coding-system 'fixed-euc-jp +- "Coding System for fixed EUC Japanese" +- :mnemonic ?W +- :coding-type 'charset +- :charset-list '(fixed-euc-jp)) +- ) ++(eval-and-compile ++ (define-charset 'fixed-euc-jp ++ "Fixed EUC Japanese" ++ :dimension 2 ++ :superset '(ascii ++ (katakana-jisx0201 . #x80) ++ (japanese-jisx0208 . #x8080) ++ (japanese-jisx0212 . #x8000))) ++ (define-coding-system 'fixed-euc-jp ++ "Coding System for fixed EUC Japanese" ++ :mnemonic ?W ++ :coding-type 'charset ++ :charset-list '(fixed-euc-jp)) + ) + + ;; Korean +- +-(if (and (fboundp 'make-coding-system) +- (null (get 'make-coding-system 'byte-obsolete-info))) +-;; since Emacs 23.1, make-coding-system has been marked as obsolete. +- (eval-and-compile +-(define-ccl-program ccl-decode-fixed-euc-kr +- `(2 +- ((r2 = ,(charset-id 'korean-ksc5601)) +- (read r0) +- (loop +- (read r1) +- (if (r0 < ?\x80) +- (r0 = r1 & ?\x7f) +- ((write r2 r0) +- (r0 = r1 | ?\x80))) +- (write-read-repeat r0))))) +- +-(define-ccl-program ccl-encode-fixed-euc-kr +- `(2 +- ((read r0) +- (loop +- (if (r0 < ?\x80) +- ((write 0) +- (write-read-repeat r0))) +- (if (r0 == ,(charset-id 'korean-ksc5601)) +- ((read r0) +- (write r0) +- (read r0) +- (write-read-repeat r0))) +- (read r0) +- (repeat))))) +-(make-coding-system 'fixed-euc-kr 4 ?W "Coding System for fixed EUC Korean" +- (cons ccl-decode-fixed-euc-kr ccl-encode-fixed-euc-kr))) +- (eval-and-compile +- ;; since Emacs 23.1, make-coding-system has been marked as obsolete. +- (define-charset 'fixed-euc-kr +- "Fixed EUC Korean" +- :dimension 2 +- :superset '(ascii +- (korean-ksc5601 . #x8080))) +- (define-coding-system 'fixed-euc-kr +- "Coding System for fixed EUC Korean" +- :mnemonic ?W +- :coding-type 'charset +- :charset-list '(fixed-euc-kr)) +- ) +-) +- ++(eval-and-compile ++ (define-charset 'fixed-euc-kr ++ "Fixed EUC Korean" ++ :dimension 2 ++ :superset '(ascii ++ (korean-ksc5601 . #x8080))) ++ (define-coding-system 'fixed-euc-kr ++ "Coding System for fixed EUC Korean" ++ :mnemonic ?W ++ :coding-type 'charset ++ :charset-list '(fixed-euc-kr)) ++ ) + + ;; Chinese + ;; +-;; TODO: convert an obsolete make-coding-system to define-coding-system. + + (defconst egg-pinyin-shengmu + '(("" . 0) ("B" . 1) ("C" . 2) ("Ch" . 3) ("D" . 4) +@@ -685,29 +587,34 @@ Return the length of resulting text." + (defun post-read-decode-euc-zy-tw (len) + (post-read-decode-fixed-euc-china len 'tw t)) + +-(make-coding-system 'fixed-euc-py-cn 0 ?W +- "Coding System for fixed EUC Chinese-gb2312") ++ ++(define-coding-system ++ 'fixed-euc-py-cn "Coding System for fixed EUC Chinese-gb2312" ++ :mnemonic ?W :coding-type 'emacs-mule) + (coding-system-put 'fixed-euc-py-cn + 'pre-write-conversion 'pre-write-encode-euc-cn) + (coding-system-put 'fixed-euc-py-cn + 'post-read-conversion 'post-read-decode-euc-py-cn) + +-(make-coding-system 'fixed-euc-zy-cn 0 ?W +- "Coding System for fixed EUC Chinese-gb2312") ++(define-coding-system ++ 'fixed-euc-zy-cn "Coding System for fixed EUC Chinese-gb2312" ++ :mnemonic ?W :coding-type 'emacs-mule) + (coding-system-put 'fixed-euc-zy-cn + 'pre-write-conversion 'pre-write-encode-euc-cn) + (coding-system-put 'fixed-euc-zy-cn + 'post-read-conversion 'post-read-decode-euc-zy-cn) + +-(make-coding-system 'fixed-euc-py-tw 0 ?W +- "Coding System for fixed EUC Chinese-cns11643") ++(define-coding-system ++ 'fixed-euc-py-tw "Coding System for fixed EUC Chinese-cns11643" ++ :mnemonic ?W :coding-type 'emacs-mule) + (coding-system-put 'fixed-euc-py-tw + 'pre-write-conversion 'pre-write-encode-euc-tw) + (coding-system-put 'fixed-euc-py-tw + 'post-read-conversion 'post-read-decode-euc-py-tw) + +-(make-coding-system 'fixed-euc-zy-tw 0 ?W +- "Coding System for fixed EUC Chinese-cns11643") ++(define-coding-system ++ 'fixed-euc-zy-tw "Coding System for fixed EUC Chinese-cns11643" ++ :mnemonic ?W :coding-type 'emacs-mule) + (coding-system-put 'fixed-euc-zy-tw + 'pre-write-conversion 'pre-write-encode-euc-tw) + (coding-system-put 'fixed-euc-zy-tw +@@ -733,8 +640,9 @@ Return the length of resulting text." + (r0 = 0))) + (write-read-repeat r0)))))) + +-(make-coding-system 'egg-binary 4 ?W "Coding System for binary data" +- (cons ccl-decode-egg-binary ccl-encode-egg-binary)) ++(define-coding-system 'egg-binary "Coding System for binary data" ++ :mnemonic ?W :coding-type 'ccl :ccl-decoder ccl-decode-egg-binary ++ :ccl-encoder ccl-encode-egg-binary) + + + (defun comm-format-u32c (uint32c) +--- egg-x0213.el ++++ egg-x0213.el +@@ -102,8 +102,10 @@ + (repeat))) + (repeat))))) + +- (make-coding-system +- 'fixed-euc-jisx0213 4 ?W "Coding System for fixed EUC Japanese" +- (cons ccl-decode-fixed-euc-jisx0213 ccl-encode-fixed-euc-jisx0213)))) ++ (define-coding-system ++ 'fixed-euc-jisx0213 "Coding System for fixed EUC Japanese" ++ :mnemonic ?W :coding-type 'ccl ++ :ccl-decoder ccl-decode-fixed-euc-jisx0213 ++ :ccl-encoder ccl-encode-fixed-euc-jisx0213))) + + (provide 'egg-x0213) diff --git a/tamago.changes b/tamago.changes index 09e052c..274aa36 100644 --- a/tamago.changes +++ b/tamago.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Aug 29 20:34:04 UTC 2022 - antoine.belvire@opensuse.org + +- Add tamago-5.0.7.1-make-coding-system.patch: Fix build with Emacs + 28. + ------------------------------------------------------------------- Wed Feb 11 21:02:21 UTC 2015 - bkbin005@rinku.zaq.ne.jp diff --git a/tamago.spec b/tamago.spec index 1cc7a99..283123e 100644 --- a/tamago.spec +++ b/tamago.spec @@ -1,7 +1,7 @@ # # spec file for package tamago # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -27,7 +27,7 @@ BuildRequires: emacs-nox >= 23 Requires: emacs >= 23 Version: 5.0.7.1 Release: 0 -Url: http://sourceforge.jp/projects/tamago-tsunagi/ +URL: http://sourceforge.jp/projects/tamago-tsunagi/ # Other useful, tamago related URLs: # http://emacs-20.ki.nu/tamago/ # http://cgi18.plala.or.jp/~nyy/canna/ @@ -44,10 +44,12 @@ Source3: http://iij.dl.sourceforge.jp/tamago-tsunagi/62684/ISFST99.pdf.bz Source4: http://iij.dl.sourceforge.jp/tamago-tsunagi/62685/LC99.pdf.bz2 Source5: suse-start.el Patch0: eggrc.patch +# PATCH-FIX-UPSTREAM tamago-5.0.7.1-make-coding-system.patch -- Fix build with Emacs 28 +Patch1: tamago-5.0.7.1-make-coding-system.patch #BuildRoot: %%{_tmppath}/%%{name}-%%{version}-build BuildArch: noarch Summary: Multilingual input method for Emacs -License: GPL-2.0+ +License: GPL-2.0-or-later Group: System/I18n/Japanese %description @@ -58,6 +60,7 @@ It is completely written in Emacs Lisp and can use the backends FreeWnn %prep %setup -q -n %{tsunagiName}-%{version} %patch0 -p1 +%patch1 cp -p $RPM_SOURCE_DIR/suse-start.el . #cp -p $RPM_SOURCE_DIR/egg-canna.el.bz2 . # deleted 2013-08-27 .