[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