6 Commits

Author SHA256 Message Date
e2c2cfcd19 Accepting request 1300228 from M17N
OBS-URL: https://build.opensuse.org/request/show/1300228
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ddskk?expand=0&rev=31
2025-08-19 14:47:27 +00:00
cd61a961ff Split ddskk-doc out of ddskk: Since too many documents files installed with the binary package, seperate them to a solo doc package. User could have a choice to install or not.
OBS-URL: https://build.opensuse.org/package/show/M17N/ddskk?expand=0&rev=35
2025-08-19 07:58:32 +00:00
fd058869cf Accepting request 1296579 from M17N
OBS-URL: https://build.opensuse.org/request/show/1296579
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ddskk?expand=0&rev=30
2025-07-31 15:46:19 +00:00
0e7998e28a Split skkdic out of ddskk: * skkdic is seperate project, with it's own upstream; * skkdic has it's own maintenance cycle time; * There may have other package including ibus-skk, ibus-kkc, depending on skkdic, it will importing too many irrelavent packages to SLE and Leap. This makes it impossible to integrate these input methods cleanly. * Do my best to keep the original work the same in respect of original maintainer's hard work.(bsc#1246569)
OBS-URL: https://build.opensuse.org/package/show/M17N/ddskk?expand=0&rev=33
2025-07-30 13:18:59 +00:00
a3177d9e94 Accepting request 1264974 from M17N
OBS-URL: https://build.opensuse.org/request/show/1264974
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ddskk?expand=0&rev=29
2025-03-31 09:39:32 +00:00
2ec4eb728b - Update to ddskk 17.1_Neppu
* too long see ChangeLog
- Update to skkdic 20250328
  * auto-updated by python script, have no idea what was changed

OBS-URL: https://build.opensuse.org/package/show/M17N/ddskk?expand=0&rev=31
2025-03-28 08:51:18 +00:00
8 changed files with 156 additions and 101 deletions

View File

@@ -1,4 +1,3 @@
# skk-dic
# visit the link and see the last modification time
./download-dic.sh 20180307
python3 update_skkdic.py

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:35fd0b9d495a0db4d4eda0d0b02542e473d85264dcfaaf481b0e9e69818c4870
size 886862

3
ddskk-17.1_Neppu.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:839be1b26021f3a6e30db7fdc6eedfd1af03dee22ade56d028fde77433a807a3
size 952635

View File

@@ -1,3 +1,32 @@
-------------------------------------------------------------------
Sat Aug 16 15:44:21 UTC 2025 - Cliff Zhao <qzhao@suse.com>
- Split ddskk-doc out of ddskk:
Since too many documents files installed with the binary package,
seperate them to a solo doc package. User could have a choice to
install or not.
-------------------------------------------------------------------
Mon Jul 28 10:09:45 UTC 2025 - Cliff Zhao <qzhao@suse.com>
- Split skkdic out of ddskk:
* skkdic is seperate project, with it's own upstream;
* skkdic has it's own maintenance cycle time;
* There may have other package including ibus-skk, ibus-kkc, depending
on skkdic, it will importing too many irrelavent packages to SLE and Leap.
This makes it impossible to integrate these input methods cleanly.
* Do my best to keep the original work the same in respect of original
maintainer's hard work.
(bsc#1246569)
-------------------------------------------------------------------
Fri Mar 28 01:47:23 UTC 2025 - Marguerite Su <i@marguerite.su>
- Update to ddskk 17.1_Neppu
* too long see ChangeLog
- Update to skkdic 20250328
* auto-updated by python script, have no idea what was changed
-------------------------------------------------------------------
Mon Feb 26 08:01:42 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>

View File

@@ -1,7 +1,7 @@
#
# spec file for package ddskk
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,21 +19,17 @@
# Current version does not build with current xemacs, disable for now
%define use_xemacs 0
Name: ddskk
Version: 20160304
Version: 20250328
Release: 0
Summary: SKK (Simple Kana to Kanji Conversion Program) for Emacs
License: GPL-2.0-or-later AND SUSE-Permissive AND SUSE-Public-Domain
Group: Productivity/Editors/Emacs
URL: http://openlab.ring.gr.jp/skk/ddskk.html
Source0: https://github.com/skk-dev/ddskk/archive/%{name}-16.2_Warabitai.tar.gz
Source0: https://github.com/skk-dev/ddskk/archive/%{name}-17.1_Neppu.tar.gz
Source1: suse-start.el
Source97: download-dic.sh
Source97: update_skkdic.py
Source98: README.SUSE
Source99: ddskk-rpmlintrc
# see README.SUSE for how to generate this file.
# NOTE: some dictionary files are not licenced under GPL-2.0+
# see commiters.txt
Source100: skkdic-20200228.tar.xz
Patch2: bugzilla-141756-workaround.patch
# PATCH-FIX-OPENSUSE or UPSTREAM -- drop build date to make build reproducible
Patch3: ddskk-drop-build-date.patch
@@ -76,30 +72,18 @@ aggressively developed.
%endif
%package -n skkdic
Summary: Main Dictionary for SKK
Group: System/I18n/Japanese
URL: http://openlab.ring.gr.jp/skk/dic.html
Requires(post): info
Requires(preun): info
Provides: locale(scim-skk:ja)
%package doc
Summary: Documentation files for the %{name} package
Group: Documentation/HTML
Requires: %{name} = %{version}
BuildArch: noarch
%description -n skkdic
main dictionary for SKK
%package -n skkdic-extra
Summary: Optional, additional dictionaries for SKK
Group: System/I18n/Japanese
URL: http://openlab.ring.gr.jp/skk/dic.html
%description -n skkdic-extra
optional, additional dictionaries for SKK
%description doc
SKK (Simple Kana to Kanji conversion program) is a Japanese input
method for Emacs. ddskk-doc contains Changelogs and Readme files.
%prep
%autosetup -p1 -n ddskk-ddskk-16.2_Warabitai
tar --strip-components=1 --xz -xf %{S:100} -C dic
cp dic/zipcode/SKK-JISYO.* dic/
%autosetup -p1 -n ddskk-ddskk-17.1_Neppu
%build
%define emacs_sitelisp_dir %{_datadir}/emacs/site-lisp
@@ -178,17 +162,18 @@ fi
%files
%defattr(-,root,root)
%doc ChangeLog* READMEs
%{emacs_package_dir}
%config %{emacs_sitelisp_dir}/suse-start-%{name}.el
%dir %{_datadir}/skk/
%{_datadir}/skk/NICOLA-SKK.tut
%{_datadir}/skk/SKK.tut
%{_datadir}/skk/SKK.tut.E
%{_datadir}/skk/skk.xpm
%{_infodir}/*
%exclude %{_datadir}/doc/packages/ddskk/READMEs/README.MacOSX.ja
%exclude %{_datadir}/doc/packages/ddskk/READMEs/README.w32.ja.org
%if %{use_xemacs}
%files -n ddskk-xemacs
%defattr(-,root,root)
%doc ChangeLog* READMEs
%dir %{xemacs_package_dir}/
%dir %{xemacs_package_dir}/lisp/
%dir %{xemacs_package_dir}%{_sysconfdir}/
@@ -196,44 +181,7 @@ fi
%{xemacs_package_dir}%{_sysconfdir}/*
%endif
%files -n skkdic
%defattr(-,root,root)
%doc dic/ChangeLog*
%license dic/committers.txt
%dir %{_datadir}/skk/
%{_datadir}/skk/SKK-JISYO.L
%{_datadir}/skk/skk.xpm
%{_datadir}/skk/SKK.tut
%{_datadir}/skk/SKK.tut.E
%files -n skkdic-extra
%defattr(-,root,root)
%dir %{_datadir}/skk/
%{_datadir}/skk/SKK-JISYO.ML
%{_datadir}/skk/SKK-JISYO.M
%{_datadir}/skk/SKK-JISYO.zipcode
%{_datadir}/skk/SKK-JISYO.office.zipcode
# SUSE-Permissive
%{_datadir}/skk/SKK-JISYO.pubdic+
%{_datadir}/skk/SKK-JISYO.JIS3_4
%{_datadir}/skk/SKK-JISYO.JIS2
%{_datadir}/skk/SKK-JISYO.S
%{_datadir}/skk/SKK-JISYO.JIS2004
%{_datadir}/skk/SKK-JISYO.assoc
%{_datadir}/skk/SKK-JISYO.china_taiwan
%{_datadir}/skk/SKK-JISYO.edict
%{_datadir}/skk/SKK-JISYO.fullname
%{_datadir}/skk/SKK-JISYO.geo
%{_datadir}/skk/SKK-JISYO.itaiji
%{_datadir}/skk/SKK-JISYO.itaiji.JIS3_4
%{_datadir}/skk/SKK-JISYO.jinmei
%{_datadir}/skk/SKK-JISYO.law
%{_datadir}/skk/SKK-JISYO.lisp
%{_datadir}/skk/SKK-JISYO.mazegaki
%{_datadir}/skk/SKK-JISYO.okinawa
%{_datadir}/skk/SKK-JISYO.propernoun
%{_datadir}/skk/SKK-JISYO.requested
%{_datadir}/skk/SKK-JISYO.station
%{_datadir}/skk/NICOLA-SKK.tut
%files doc
%doc ChangeLog* READMEs
%changelog

View File

@@ -1,21 +0,0 @@
#!/bin/sh
if [ -z $1 ]; then
echo Usage: download-dic.sh YYYYMMDD
exit 1;
fi
dest=skkdic-$1
rm -r $dest
# wget -c -r -np -k -L -p http://openlab.ring.gr.jp/skk/skk/dic/
mkdir -p $dest
find openlab.ring.gr.jp/skk/skk/dic -name "SKK-JISYO.*" -exec cp {} $dest \;
# remove dictionaries that cannot be packaged
rm -f $dest/dic/SKK-JISYO.edict
mkdir -p $dest/READMEs
cp openlab.ring.gr.jp/skk/skk/dic/READMEs/committers.txt $dest/READMEs
cp openlab.ring.gr.jp/skk/skk/dic/ChangeLog* $dest
tar cvJf skkdic-$1.tar.xz $dest

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aee573ff106b8faf2500d7c05e0b6a626a418ec6c29bc29a173be91b40390902
size 6272516

103
update_skkdic.py Normal file
View File

@@ -0,0 +1,103 @@
#!/usr/bin/env python3
import requests
from html.parser import HTMLParser
from urllib.parse import urljoin, urlparse
import os
from datetime import datetime
import re
import tarfile
class Parser(HTMLParser):
def __init__(self):
super().__init__()
self.files = []
self.directories = {}
self.content = {}
self.idx = 0
self.last_time = datetime.strptime('1970-01-01', '%Y-%m-%d')
def handle_starttag(self, tag, attrs):
for attr, value in attrs:
if attr != 'href':
continue
if value.endswith("/"):
self.directories[self.idx] = value
continue
elif value.startswith("SKK-JISYO") or value.startswith("ChangeLog") or value == "committers.txt":
if value != "SKK-JISYO.edict":
self.files.append(value)
def handle_data(self, data):
patt = re.compile(r'\d+-[A-Za-z]+-\d+')
match = patt.search(data)
if match:
mtime = datetime.strptime(match.group(), "%d-%b-%Y")
if mtime > self.last_time:
self.last_time = mtime
else:
self.content[self.idx] = data
self.idx += 1
def clean_parent(self):
j = 0
for i, v in self.directories.items():
if self.content[i] == 'Parent Directory':
j = i
break
del self.directories[j]
SKKDIC_DIR="./skkdic"
SERVER_PATH="http://openlab.ring.gr.jp/skk/skk/dic/"
def fetch_url(url, files):
response = requests.get(url)
if response.status_code == 200:
parser = Parser()
parser.feed(str(response.content))
parser.clean_parent()
last_time = parser.last_time
for file in parser.files:
files.append(urljoin(url, file))
if len(parser.directories) > 0:
for directory in parser.directories.values():
mtime = fetch_url(urljoin(url, directory), files)
if mtime > last_time:
last_time = mtime
return last_time
def download_files(files, last_time):
for file in files:
relpath = file.replace(SERVER_PATH, "")
response = requests.get(file)
if response.status_code == 200:
dest = os.path.join(SKKDIC_DIR + "-" + last_time, relpath)
parent = os.path.dirname(dest)
if not os.path.exists(parent):
os.makedirs(parent)
with open(dest, 'wb') as f:
f.write(response.content)
def remove_dir(directory):
for f in os.listdir(directory):
f = os.path.join(directory, f)
if os.path.isfile(f):
os.remove(f)
elif os.path.isdir(f):
remove_dir(f)
os.removedirs(directory)
def main():
files = []
last_time = datetime.strftime(fetch_url(SERVER_PATH, files), "%Y%m%d")
download_files(files, last_time)
dest = SKKDIC_DIR + "-" + last_time
with tarfile.open(dest + ".tar.xz", 'w:xz') as archive:
for f in os.listdir(dest):
archive.add(os.path.join(dest, f))
remove_dir(dest)
main()