[90590] trunk/dports/java/dualist
hum at macports.org
hum at macports.org
Fri Mar 9 04:27:39 PST 2012
Revision: 90590
http://trac.macports.org/changeset/90590
Author: hum at macports.org
Date: 2012-03-09 04:27:38 -0800 (Fri, 09 Mar 2012)
Log Message:
-----------
dualist: update to 0.3; build mecab variant with ant instead of make; remove livecheck to use the default for googlecode.
Modified Paths:
--------------
trunk/dports/java/dualist/Portfile
trunk/dports/java/dualist/files/SimpleMecabPipe.java
trunk/dports/java/dualist/files/dualist-mecab
trunk/dports/java/dualist/files/patch-mecab.diff
Removed Paths:
-------------
trunk/dports/java/dualist/files/Makefile
trunk/dports/java/dualist/files/dualist
Modified: trunk/dports/java/dualist/Portfile
===================================================================
--- trunk/dports/java/dualist/Portfile 2012-03-09 12:23:30 UTC (rev 90589)
+++ trunk/dports/java/dualist/Portfile 2012-03-09 12:27:38 UTC (rev 90590)
@@ -4,8 +4,7 @@
PortSystem 1.0
name dualist
-version 0.1
-revision 1
+version 0.3
categories java math textproc
platforms darwin
maintainers hum openmaintainer
@@ -21,50 +20,36 @@
homepage http://code.google.com/p/dualist/
master_sites googlecode:${name}
+checksums rmd160 74cd7775322249a2bd5791e7ca7d6ebbb75d0fb6 \
+ sha256 0b49f3d062b3587b7fc1bcd43b7fe8a618ecd869de00db2245209db96a4e8040
-checksums sha1 7a2fc1fd432c71e2575a1514a946bbf68652fdfa \
- rmd160 8b4ca3fcd3ec42eeda43235c246390f07a849998
-
depends_run port:play
use_zip yes
worksrcdir ${name}
-set java_home /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home
-
-pre-configure {
- if {![file exists ${java_home}]} {
- ui_error "Java 1.6 is required, but not located at ${java_home}"
- return -code error "Java 1.6 missing"
- }
-}
-
use_configure no
supported_archs noarch
build.cmd true
set share_java_dir ${prefix}/share/java
-set dualist_dir ${share_java_dir}/${worksrcdir}
+set dualist_dir ${share_java_dir}/${distname}
destroot {
# Copy the distribution.
xinstall -m 755 -d ${destroot}${share_java_dir}
- copy ${worksrcpath} ${destroot}${share_java_dir}
+ copy ${worksrcpath} ${destroot}${dualist_dir}
+ file attributes ${destroot}${dualist_dir} -permissions 0777
+ file attributes ${destroot}${dualist_dir}/gui -permissions 0777
- # Configure working directories.
- xinstall -m 1777 -d ${destroot}${dualist_dir}/tmp
- file attributes ${destroot}${dualist_dir}/public/results -permissions 01777
- destroot.keepdirs ${destroot}${dualist_dir}/tmp \
- ${destroot}${dualist_dir}/public/results
-
- # Install an extra script for this port.
- xinstall -m 755 ${filespath}/dualist ${destroot}${prefix}/bin
- reinplace "s|@prefix@|${prefix}|g" ${destroot}${prefix}/bin/dualist
- reinplace "s|@java_home@|${java_home}|g" ${destroot}${prefix}/bin/dualist
+ # Install the executable script.
+ xinstall -m 755 ${worksrcpath}/dualist ${destroot}${prefix}/bin
+ reinplace "s|run gui|run ${dualist_dir}/gui|g" ${destroot}${prefix}/bin/dualist
+ reinplace "s|-cp gui|-cp ${dualist_dir}/gui|g" ${destroot}${prefix}/bin/dualist
}
-notes "To try DUALIST, run 'dualist' and open http://localhost:9000/."
+notes "To try DUALIST, run 'dualist gui' and open http://localhost:8080/."
post-deactivate {
ui_msg "To revert the system after uninstalling the port,"
@@ -77,29 +62,20 @@
patchfiles-append patch-mecab.diff
post-extract {
- xinstall -m 644 -W ${filespath} \
- Makefile \
- SimpleMecabPipe.java \
- ${worksrcpath}
- file link -symbolic ${worksrcpath}/lib/mecab.jar ${prefix}/share/java/mecab.jar
+ copy ${filespath}/SimpleMecabPipe.java ${worksrcpath}/core/src/dualist/pipes
+ ln -s ${prefix}/share/java/mecab.jar ${worksrcpath}/core/lib/mecab.jar
}
- post-patch {
- reinplace "s|@java_home@|${java_home}|g" ${worksrcpath}/Makefile
- }
-
- build.cmd make
+ build.cmd ant
+ build.target main
post-destroot {
- # Install an extra script for this variant.
- xinstall -m 755 ${filespath}/dualist-mecab ${destroot}${prefix}/bin
- reinplace "s|@prefix@|${prefix}|g" ${destroot}${prefix}/bin/dualist-mecab
- reinplace "s|@java_home@|${java_home}|g" ${destroot}${prefix}/bin/dualist-mecab
+ # Install another executable script using mecab.
+ xinstall -m 755 ${filespath}/dualist-mecab ${destroot}${prefix}/bin
+ reinplace "s|run gui|run ${dualist_dir}/gui|g" ${destroot}${prefix}/bin/dualist-mecab
+ reinplace "s|-cp gui|-cp ${dualist_dir}/gui|g" ${destroot}${prefix}/bin/dualist-mecab
+ reinplace "s|@prefix@|${prefix}|g" ${destroot}${prefix}/bin/dualist-mecab
}
- notes-append "For Japanese texts, run 'dualist-mecab' instead of 'dualist'."
+ notes-append "For Japanese texts, run 'dualist-mecab gui' instead of 'dualist gui'."
}
-
-livecheck.type regex
-livecheck.url http://code.google.com/p/dualist/downloads/list
-livecheck.regex ${name}-(\[0-9.\]+)\.zip
Deleted: trunk/dports/java/dualist/files/Makefile
===================================================================
--- trunk/dports/java/dualist/files/Makefile 2012-03-09 12:23:30 UTC (rev 90589)
+++ trunk/dports/java/dualist/files/Makefile 2012-03-09 12:27:38 UTC (rev 90590)
@@ -1,16 +0,0 @@
-JAVA_HOME=@java_home@
-
-JAVAC=$(JAVA_HOME)/bin/javac -encoding UTF-8 -cp lib/mallet.jar:lib/mecab.jar
-JAR=$(JAVA_HOME)/bin/jar
-
-TARGETS=lib/dualist-ja.jar
-
-all : $(TARGETS)
-
-$(TARGETS) : SimpleMecabPipe.java
- -mkdir -p classes
- $(JAVAC) -d classes $<
- $(JAR) cfv $@ -C classes .
-
-clean:
- -rm -rf $(TARGETS) classes
Modified: trunk/dports/java/dualist/files/SimpleMecabPipe.java
===================================================================
--- trunk/dports/java/dualist/files/SimpleMecabPipe.java 2012-03-09 12:23:30 UTC (rev 90589)
+++ trunk/dports/java/dualist/files/SimpleMecabPipe.java 2012-03-09 12:27:38 UTC (rev 90590)
@@ -1,4 +1,4 @@
-package dualist.ja;
+package dualist.pipes;
import cc.mallet.pipe.Pipe;
import cc.mallet.extract.StringSpan;
Deleted: trunk/dports/java/dualist/files/dualist
===================================================================
--- trunk/dports/java/dualist/files/dualist 2012-03-09 12:23:30 UTC (rev 90589)
+++ trunk/dports/java/dualist/files/dualist 2012-03-09 12:27:38 UTC (rev 90590)
@@ -1,9 +0,0 @@
-#!/bin/sh
-cmd="$1"
-if [ -z $cmd ]; then
- cmd=run
-fi
-shift
-JAVA_HOME=@java_home@
-cd @prefix@/share/java/dualist
- at prefix@/bin/play $cmd "$@"
Modified: trunk/dports/java/dualist/files/dualist-mecab
===================================================================
--- trunk/dports/java/dualist/files/dualist-mecab 2012-03-09 12:23:30 UTC (rev 90589)
+++ trunk/dports/java/dualist/files/dualist-mecab 2012-03-09 12:27:38 UTC (rev 90590)
@@ -1,9 +1,62 @@
-#!/bin/sh
-cmd="$1"
-if [ -z $cmd ]; then
- cmd=run
-fi
-shift
-JAVA_HOME=@java_home@
-cd @prefix@/share/java/dualist
- at prefix@/bin/play $cmd -Ddualist.lang=ja -Djava.library.path=@prefix@/lib -Dfile.encoding=UTF-8 "$@"
+#!/usr/bin/env python
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# DUALIST command line script
+
+import os,sys
+
+heapsize = '2000m'
+
+mecab_options = ' -Ddualist.lang=ja -Djava.library.path=@prefix@/lib -Dfile.encoding=UTF-8'
+
+# display logo
+print >> sys.stderr, "~ "
+print >> sys.stderr, "~ __ __ __ __ "
+print >> sys.stderr, "~ .--| |.--.--.---.-.| |__|.-----.| |_ "
+print >> sys.stderr, "~ | _ || | | _ || | ||__ --|| _|"
+print >> sys.stderr, "~ |_____||_____|___._||__|__||_____||____|"
+print >> sys.stderr, "~ "
+
+# determine command
+if len(sys.argv) > 1:
+ cmd = sys.argv[1]
+ more_args = sys.argv[2:]
+else:
+ cmd = 'none'
+
+# run the GUI webapp
+if cmd == 'gui':
+ os.system('play run gui -Xmx' + heapsize + mecab_options)
+ sys.exit(0)
+
+# run a standalone classifier from trained model
+elif cmd == 'classify':
+ if len(sys.argv) < 4:
+ print >> sys.stderr, "~ At least two arguments are required:"
+ print >> sys.stderr, "~ $ dualist classify [model] [documents...]"
+ print >> sys.stderr, "~"
+ else:
+ os.system('java -Xmx' + heapsize + mecab_options + ' -cp gui/lib/dualist-core.jar dualist.tui.Classify ' + ' '.join(more_args))
+ sys.exit(0)
+
+# evaluate a trained classifier on a test set
+elif cmd == 'test':
+ if len(sys.argv) < 4:
+ print >> sys.stderr, "~ Two arguments are required:"
+ print >> sys.stderr, "~ $ dualist test [model] [test-set]"
+ print >> sys.stderr, "~"
+ else:
+ os.system('java -Xmx' + heapsize + mecab_options + ' -cp gui/lib/dualist-core.jar dualist.tui.Test ' + ' '.join(more_args))
+ sys.exit(0)
+
+# help!
+else:
+ print >> sys.stderr, "~ Usage: dualist cmd [args]"
+ print >> sys.stderr, "~"
+ print >> sys.stderr, "~ gui run the web-based annotation interface"
+ print >> sys.stderr, "~ classify classify text documents according to a trained model"
+ print >> sys.stderr, "~ test evaluate a trained model on a labeled test set"
+ print >> sys.stderr, "~"
+ if len(sys.argv) > 1:
+ print >> sys.stderr, "~ Invalid command: %s" % sys.argv[1]
+ print >> sys.stderr, "~"
+ sys.exit(-1)
Modified: trunk/dports/java/dualist/files/patch-mecab.diff
===================================================================
--- trunk/dports/java/dualist/files/patch-mecab.diff 2012-03-09 12:23:30 UTC (rev 90589)
+++ trunk/dports/java/dualist/files/patch-mecab.diff 2012-03-09 12:27:38 UTC (rev 90590)
@@ -1,21 +1,32 @@
---- app/guts/pipes/DocumentPipe.java.orig 2011-05-30 22:31:39.000000000 +0900
-+++ app/guts/pipes/DocumentPipe.java 2011-06-30 22:46:50.000000000 +0900
-@@ -16,6 +16,8 @@
+--- core/src/dualist/pipes/DocumentPipe.java.orig 2012-02-11 05:07:28.000000000 +0900
++++ core/src/dualist/pipes/DocumentPipe.java 2012-02-22 22:44:45.000000000 +0900
+@@ -13,6 +13,8 @@
+ import cc.mallet.pipe.TokenSequenceRemoveStopwords;
import cc.mallet.types.Instance;
- import cc.mallet.util.CharSequenceLexer;
-+import dualist.ja.SimpleMecabPipe;
++import dualist.pipes.SimpleMecabPipe;
+
public class DocumentPipe extends Pipe {
private Pipe myPipe = new SerialPipes(new Pipe[] {
-@@ -27,6 +29,9 @@
+@@ -24,6 +26,9 @@
new CharSequenceReplace(Pattern.compile("&(.*?);"), ""),
new CharSequenceReplace(Pattern.compile("[0-9]+"), "00"),
new CharSequenceLowercase(),
+ (System.getProperty("dualist.lang") != null &&
+ System.getProperty("dualist.lang").equals("ja")) ?
+ new SimpleMecabPipe() :
- new CharSequence2TokenSequence(CharSequenceLexer.LEX_WORD_CLASSES),
+ // new CharSequence2TokenSequence(CharSequenceLexer.LEX_WORD_CLASSES),
+ new CharSequence2TokenSequence("[\\p{L}\\p{Mn}]+"),
new TokenSequenceRemoveStopwords(),
- new TokenSequence2FeatureSequence(),
+--- build.xml.orig 2012-03-08 23:07:56.000000000 +0900
++++ build.xml 2012-03-09 09:32:14.000000000 +0900
+@@ -26,7 +26,7 @@
+ <target name="compile">
+ <mkdir dir="${classes.dir}"/>
+ <!-- <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/> -->
+- <javac debug="true" debuglevel="lines,vars,source" srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/>
++ <javac debug="true" debuglevel="lines,vars,source" srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath" encoding="UTF-8"/>
+ </target>
+
+ <target name="jar" depends="compile">
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120309/977ab73c/attachment-0001.html>
More information about the macports-changes
mailing list