summaryrefslogtreecommitdiff
path: root/mail-filter/scmail
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /mail-filter/scmail
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'mail-filter/scmail')
-rw-r--r--mail-filter/scmail/Manifest1
-rw-r--r--mail-filter/scmail/files/scmail-doc-encoding.patch28
-rw-r--r--mail-filter/scmail/files/scmail-gauche-0.9.10.patch22
-rw-r--r--mail-filter/scmail/files/scmail-gauche-0.9.patch35
-rw-r--r--mail-filter/scmail/files/scmail-parallel-make.patch19
-rw-r--r--mail-filter/scmail/files/scmail-undefined-reference.patch51
-rw-r--r--mail-filter/scmail/metadata.xml8
-rw-r--r--mail-filter/scmail/scmail-1.3.ebuild44
8 files changed, 208 insertions, 0 deletions
diff --git a/mail-filter/scmail/Manifest b/mail-filter/scmail/Manifest
new file mode 100644
index 000000000000..5f0eed29e994
--- /dev/null
+++ b/mail-filter/scmail/Manifest
@@ -0,0 +1 @@
+DIST scmail-1.3.tar.gz 52744 BLAKE2B 2e2848472bb6f9ce913fea381c905ec28a1cac5201fe3a8c89e25c96a0fd646e7f96ddcf6cdfd1e0d88f34b5d51ea754faa5c3574635715ed1dc92cfd9d2980c SHA512 ae94de7f34f9279e892533137d76f07642ade63f9d179bbc96202003f49cf8ae6dd6cc5b9d53fa1d2f8be2bebcbe071635910d48593c9e57fb6609cc7ec6e95d
diff --git a/mail-filter/scmail/files/scmail-doc-encoding.patch b/mail-filter/scmail/files/scmail-doc-encoding.patch
new file mode 100644
index 000000000000..8740774379f9
--- /dev/null
+++ b/mail-filter/scmail/files/scmail-doc-encoding.patch
@@ -0,0 +1,28 @@
+--- a/doc/embed.scm
++++ b/doc/embed.scm
+@@ -1,3 +1,4 @@
++(use gauche.charconv)
+ (use gauche.regexp)
+ (define (escape str)
+ (set! str (regexp-replace-all #/&/ str "&amp;"))
+@@ -15,12 +16,18 @@
+ (define (main args)
+ (call-with-input-file (cadr args)
+ (lambda (in)
+- (let* ((content (port->string in))
++ (let* ((content (port->string (open-input-conversion-port in "*jp")))
+ (content (regexp-replace-all #/#\{(.*?)\}/ content
+ (lambda (m)
+ (string-append
+ "<pre>\n"
+ (read-file-and-escape (rxmatch-substring m 1))
+- "</pre>\n")))))
++ "</pre>\n"))))
++ (content (regexp-replace #/(encoding=").*?(")/ content
++ (lambda (m)
++ (string-append
++ (rxmatch-substring m 1)
++ (ces-guess-from-string content "*jp")
++ (rxmatch-substring m 2))))))
+ (display content))))
+ 0)
diff --git a/mail-filter/scmail/files/scmail-gauche-0.9.10.patch b/mail-filter/scmail/files/scmail-gauche-0.9.10.patch
new file mode 100644
index 000000000000..ab6f5e04d2f6
--- /dev/null
+++ b/mail-filter/scmail/files/scmail-gauche-0.9.10.patch
@@ -0,0 +1,22 @@
+--- a/scmail/mail.scm
++++ b/scmail/mail.scm
+@@ -202,7 +202,7 @@
+ (send-command "DATA" 354)
+ (port-for-each (lambda (line)
+ (format out "~a~a\r\n"
+- (if (string-prefix? "." line) "." "")
++ (if (and (not (string-incomplete? line)) (string-prefix? "." line)) "." "")
+ line))
+ (lambda () (read-line iport #t)))
+ (send-command "." 250)
+--- a/tests/mailbox.scm
++++ b/tests/mailbox.scm
+@@ -9,7 +9,7 @@
+ (test-module 'scmail.mailbox)
+
+ (define mailbox-table
+- '((mh #f "Mail" "inbox")
++ `((mh #f "Mail" "inbox")
+ (maildir #f "Maildir" "")))
+
+ (define (mailbox-list)
diff --git a/mail-filter/scmail/files/scmail-gauche-0.9.patch b/mail-filter/scmail/files/scmail-gauche-0.9.patch
new file mode 100644
index 000000000000..9062df4eb71d
--- /dev/null
+++ b/mail-filter/scmail/files/scmail-gauche-0.9.patch
@@ -0,0 +1,35 @@
+--- a/scbayes.in
++++ b/scbayes.in
+@@ -16,6 +16,7 @@
+
+ (use gauche.parseopt)
+ (use gauche.parameter)
++(use gauche.version)
+ (use dbm)
+ (use dbm.gdbm) ;; should be customizable
+ (use util.digest)
+@@ -130,12 +131,18 @@
+ (sys-rename (temporary-table-file) (table-file))
+ (sys-rename (temporary-digest-file) (digest-file)))))
+
+-(define (lock)
+- (unless (eq? (create-directory* (lock-file)) #t)
+- (scmail-wformat "~a is now being updated" (table-file))
+- (scmail-wformat "or perhaps ~a is staled." (lock-file))
+- (scmail-eformat "(Please remove the lock file if it is staled.)"))
+- )
++(if (version<? (gauche-version) "0.9")
++ (define (lock)
++ (unless (eq? (create-directory* (lock-file)) #t)
++ (scmail-wformat "~a is now being updated" (table-file))
++ (scmail-wformat "or perhaps ~a is staled." (lock-file))
++ (scmail-eformat "(Please remove the lock file if it is staled.)")))
++ (define (lock)
++ (guard (e (else
++ (scmail-wformat "~a is now being updated" (table-file))
++ (scmail-wformat "or perhaps ~a is staled." (lock-file))
++ (scmail-eformat "(Please remove the lock file if it is staled.)")))
++ (create-directory* (lock-file)))))
+
+ (define force-learn? (make-parameter #f))
+
diff --git a/mail-filter/scmail/files/scmail-parallel-make.patch b/mail-filter/scmail/files/scmail-parallel-make.patch
new file mode 100644
index 000000000000..7e35dd6f34d2
--- /dev/null
+++ b/mail-filter/scmail/files/scmail-parallel-make.patch
@@ -0,0 +1,19 @@
+--- a/Makefile
++++ b/Makefile
+@@ -24,7 +24,7 @@
+
+ all: check-gauche $(TARGET) update-doc
+
+-update-doc:
++update-doc: dot.scmail/deliver-rules.sample
+ cd doc && make
+
+ check-gauche:
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -41,3 +41,5 @@
+ @rm -f $(TARGET)
+ @rm -rf Mail Maildir test.*
+
++.NOTPARALLEL:
++
diff --git a/mail-filter/scmail/files/scmail-undefined-reference.patch b/mail-filter/scmail/files/scmail-undefined-reference.patch
new file mode 100644
index 000000000000..5059ef4b1fd2
--- /dev/null
+++ b/mail-filter/scmail/files/scmail-undefined-reference.patch
@@ -0,0 +1,51 @@
+--- a/scmail/config.scm
++++ b/scmail/config.scm
+@@ -30,6 +30,8 @@
+ ))
+ (select-module scmail.config)
+
++(autoload scmail.util scmail-eformat)
++
+ (define scmail-config-directory (make-parameter (expand-path "~/.scmail")))
+
+ (define (scmail-config-set-directory! directory)
+--- a/scmail/mailbox.scm
++++ b/scmail/mailbox.scm
+@@ -19,6 +19,7 @@
+ (use srfi-1)
+ (use file.util)
+ (use gauche.parameter)
++ (use scmail.util)
+ (export <mailbox>
+ make-scmail-mailbox
+ scmail-mailbox-mail-list
+--- a/scmail/util.scm
++++ b/scmail/util.scm
+@@ -19,7 +19,6 @@
+ (use file.util)
+ (use srfi-13)
+ (use gauche.parameter)
+- (use scmail.config)
+ (use scmail.progress)
+ (use gauche.version)
+ (export filter safe-rxmatch
+@@ -31,6 +30,8 @@
+
+ (select-module scmail.util)
+
++(autoload scmail.config scmail-config-verbose-mode?)
++
+ ;;
+ ;; FIXME: Reinvent it because filter in srfi-1 module is too
+ ;; slow in old Gauche implementations.
+--- a/scmail.scm
++++ b/scmail.scm
+@@ -264,7 +264,7 @@
+ (unless (eq? status :last)
+ (scmail-filter-iter mail (cdr filter-rules))))))
+ (unless (is-a? mail <mail>)
+- (scmail-eprintf "<mail> required but got ~a" (class-of mail)))
++ (scmail-eformat "<mail> required but got ~a" (class-of mail)))
+ (scmail-filter-iter mail (filter-rules)))
+
+
diff --git a/mail-filter/scmail/metadata.xml b/mail-filter/scmail/metadata.xml
new file mode 100644
index 000000000000..b743a9dee374
--- /dev/null
+++ b/mail-filter/scmail/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>hattya@gentoo.org</email>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/mail-filter/scmail/scmail-1.3.ebuild b/mail-filter/scmail/scmail-1.3.ebuild
new file mode 100644
index 000000000000..4dab757e7031
--- /dev/null
+++ b/mail-filter/scmail/scmail-1.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit fixheadtails
+
+DESCRIPTION="a mail filter written in Scheme"
+HOMEPAGE="http://0xcc.net/scmail/"
+SRC_URI="http://0xcc.net/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+RDEPEND="dev-scheme/gauche:="
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-doc-encoding.patch
+ "${FILESDIR}"/${PN}-gauche-0.9.patch
+ "${FILESDIR}"/${PN}-gauche-0.9.10.patch
+ "${FILESDIR}"/${PN}-parallel-make.patch
+ "${FILESDIR}"/${PN}-undefined-reference.patch
+)
+HTML_DOCS=( doc/{${PN},scbayes}{,-ja}.html )
+
+src_prepare() {
+ default
+
+ ht_fix_file tests/scmail-commands
+ # replace make -> $(MAKE)
+ sed -i "s/make\( \|$\)/\$(MAKE)\1/g" Makefile
+}
+
+src_install() {
+ emake \
+ PREFIX="${ED}/usr" \
+ SITELIBDIR="${ED}$(gauche-config --sitelibdir)" \
+ DATADIR="${ED}/usr/share/doc/${P}" \
+ install
+ einstalldocs
+}