Index: head/lang/J/Makefile =================================================================== --- head/lang/J/Makefile (revision 467616) +++ head/lang/J/Makefile (revision 467617) @@ -1,47 +1,47 @@ # $FreeBSD$ PORTNAME= J PORTVERSION= ${JVERSION:S/^j//:S/-release//} CATEGORIES= lang math MAINTAINER= sevenjp@gmail.com COMMENT= J programming language LICENSE= GPLv3 -LICENSE_FILE= ${WRKDIR}/jsource-j806-release/license.txt +LICENSE_FILE= ${WRKDIR}/jsource-${JVERSION}/license.txt ONLY_FOR_ARCHS= amd64 ONLY_FOR_ARCHS_REASON_amd64= Not built or tested for other archs. i386 needs hostdefs and netdefs files to be generated. BUILD_DEPENDS= bash:shells/bash LIB_DEPENDS= libpcreposix.so:devel/pcre \ libsqlite3.so:databases/sqlite3 USES+= libedit gmake shebangfix uidfix SHEBANG_GLOB= *.sh SUB_FILES= jconsole profile.ijs USE_GITHUB= yes GH_ACCOUNT= jsoftware GH_PROJECT= jsource GH_TAGNAME= ${JVERSION} # J is released with ports-unfriendly versioning -JVERSION= j806-release +JVERSION= j808-release BIN_FILES= jconsole -LIB_FILES= libj.so libtsdll.so libjavx.so +LIB_FILES= libj.so libtsdll.so do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/lib/j/bin ${MKDIR} ${STAGEDIR}${PREFIX}/share/j/system ${MKDIR} ${STAGEDIR}${PREFIX}/share/j/addons ${INSTALL_PROGRAM} ${BIN_FILES:C!^!${WRKDIR}/jbld/j64/bin/!} ${STAGEDIR}${PREFIX}/lib/j/bin/ ${INSTALL_LIB} ${LIB_FILES:C!^!${WRKDIR}/jbld/j64/bin/!} ${STAGEDIR}${PREFIX}/lib/j/bin # Required by the J runtime ${INSTALL_DATA} ${WRKDIR}/profile.ijs ${STAGEDIR}${PREFIX}/share/j/ ${INSTALL_SCRIPT} ${WRKDIR}/jconsole ${STAGEDIR}${PREFIX}/bin/ (cd ${WRKDIR}/jbld/j64/system && ${COPYTREE_SHARE} \* ${STAGEDIR}${PREFIX}/share/j/system) (cd ${WRKDIR}/jbld/j64/addons && ${COPYTREE_SHARE} \* ${STAGEDIR}${PREFIX}/share/j/addons) .include Index: head/lang/J/distinfo =================================================================== --- head/lang/J/distinfo (revision 467616) +++ head/lang/J/distinfo (revision 467617) @@ -1,3 +1,3 @@ -TIMESTAMP = 1519502511 -SHA256 (jsoftware-jsource-806-j806-release_GH0.tar.gz) = 033a787ad3180a8ead8f4a3880c016b8581ddf6a3081f86a88774575c7cc168f -SIZE (jsoftware-jsource-806-j806-release_GH0.tar.gz) = 2280551 +TIMESTAMP = 1520449029 +SHA256 (jsoftware-jsource-808-j808-release_GH0.tar.gz) = 1c7335e0d705bfc630da230ee8d196487627eed6f9374728bcac6b9ffbb1fd1d +SIZE (jsoftware-jsource-808-j808-release_GH0.tar.gz) = 2128876 Index: head/lang/J/files/patch-make_build__jdll.sh =================================================================== --- head/lang/J/files/patch-make_build__jdll.sh (revision 467616) +++ head/lang/J/files/patch-make_build__jdll.sh (nonexistent) @@ -1,54 +0,0 @@ ---- make/build_jdll.sh.orig 2018-02-24 19:49:42 UTC -+++ make/build_jdll.sh -@@ -1,7 +1,6 @@ - #!/usr/local/bin/bash - # $1 is j32 or j64 --cd ~ --. jvars.sh -+. make/jvars.sh - - # gcc 5 vs 4 - killing off linux asm routines (overflow detection) - # new fast code uses builtins not available in gcc 4 -@@ -37,10 +36,10 @@ fi - - if [ "x$COMPILER" = x'gcc' ] ; then - # gcc --common="$OPENMP -fPIC -O1 -fwrapv -fno-strict-aliasing -Wextra -Wno-maybe-uninitialized -Wno-unused-parameter -Wno-sign-compare -Wno-clobbered -Wno-empty-body -Wno-unused-value -Wno-pointer-sign -Wno-parentheses -Wno-shift-negative-value" -+common="$OPENMP -fPIC -fwrapv -fno-strict-aliasing -Wextra -Wno-maybe-uninitialized -Wno-unused-parameter -Wno-sign-compare -Wno-clobbered -Wno-empty-body -Wno-unused-value -Wno-pointer-sign -Wno-parentheses -Wno-shift-negative-value" - else - # clang 3.5 .. 5.0 --common="$OPENMP -Werror -fPIC -O1 -fwrapv -fno-strict-aliasing -Wextra -Wno-consumed -Wno-uninitialized -Wno-unused-parameter -Wno-sign-compare -Wno-empty-body -Wno-unused-value -Wno-pointer-sign -Wno-parentheses -Wno-unsequenced -Wno-string-plus-int" -+common="$OPENMP -Werror -fPIC -fwrapv -fno-strict-aliasing -Wextra -Wno-consumed -Wno-uninitialized -Wno-unused-parameter -Wno-sign-compare -Wno-empty-body -Wno-unused-value -Wno-pointer-sign -Wno-parentheses -Wno-unsequenced -Wno-string-plus-int" - fi - darwin="$OPENMP -fPIC -O1 -fwrapv -fno-strict-aliasing -Wno-string-plus-int -Wno-empty-body -Wno-unsequenced -Wno-unused-value -Wno-pointer-sign -Wno-parentheses -Wno-return-type -Wno-constant-logical-operand -Wno-comment -Wno-unsequenced" - -@@ -101,6 +100,29 @@ LINK=" -dynamiclib -lm -ldl $LDOPENMP -m - OBJS_FMA=" blis/gemm_int-fma.o " - ;; - -+freebsd_j32) # freebsd x86 -+TARGET=libj.so -+# faster, but sse2 not available for 32-bit amd cpu -+# sse does not support mfpmath=sse in 32-bit gcc -+COMPILE="$common -m32 -msse2 -mfpmath=sse -DC_NOMULTINTRINSIC " -+# slower, use 387 fpu and truncate extra precision -+# COMPILE="$common -m32 -ffloat-store " -+LINK=" -shared -Wl,-soname,libj.so -m32 -lm $LDOPENMP32 -o libj.so " -+;; -+ -+freebsd_j64) # freebsd intel 64bit -+TARGET=libj.so -+COMPILE="$common $OPENMP " -+LINK=" -shared -Wl,-soname,libj.so -lm $LDOPENMP -o libj.so " -+;; -+ -+freebsd_j64avx) # freebsd intel 64bit avx -+TARGET=libj.so -+COMPILE="$common -mavx -DC_AVX=1 $OPENMP " -+LINK=" -shared -Wl,-soname,libj.so -lm $LDOPENMP -o libj.so " -+OBJS_FMA=" blis/gemm_int-fma.o " -+;; -+ - windows_j32) # windows x86 - DLLOBJS=" jdll.o jdllcomx.o " - LIBJDEF=" $jgit/dllsrc/jdll.def " Property changes on: head/lang/J/files/patch-make_build__jdll.sh ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/lang/J/files/patch-jsrc_jeload.c =================================================================== --- head/lang/J/files/patch-jsrc_jeload.c (revision 467616) +++ head/lang/J/files/patch-jsrc_jeload.c (nonexistent) @@ -1,11 +0,0 @@ ---- jsrc/jeload.c.orig 2018-02-22 18:45:28 UTC -+++ jsrc/jeload.c -@@ -322,6 +322,8 @@ int jefirst(int type,char* arg) - strcat(input,"[UNAME_z_=:'Win'"); - #elif defined(__MACH__) - strcat(input,"[UNAME_z_=:'Darwin'"); -+#elif defined(__FreeBSD__) -+ strcat(input,"[UNAME_z_=:'FreeBSD'"); - #elif !defined(ANDROID) - strcat(input,"[UNAME_z_=:'Linux'"); - #endif Property changes on: head/lang/J/files/patch-jsrc_jeload.c ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/lang/J/files/patch-Makefile =================================================================== --- head/lang/J/files/patch-Makefile (revision 467616) +++ head/lang/J/files/patch-Makefile (revision 467617) @@ -1,28 +1,24 @@ ---- Makefile.orig 2018-02-24 19:49:42 UTC +--- Makefile.orig 2018-04-09 18:07:38 UTC +++ Makefile -@@ -0,0 +1,25 @@ +@@ -0,0 +1,21 @@ +.PHONY: all +all: make-${ARCH} + +.PHONY: make-amd64 -+make-amd64: build-j64 libj-avx ++make-amd64: build-j64 + +.PHONY: make-i386 +make-i386: build-j32 + +.PHONY: init +init: + make/install.sh -+ -+.PHONY: libj-avx -+libj-avx: init -+ make/build_libj.sh j64avx + +build-%: init + make/build_jconsole.sh $* + make/build_libj.sh $* + make/build_tsdll.sh $* + +.PHONY: clean +clean: + rm -rf ${jbld} Index: head/lang/J/files/patch-jlibrary_system_config_base.cfg =================================================================== --- head/lang/J/files/patch-jlibrary_system_config_base.cfg (revision 467616) +++ head/lang/J/files/patch-jlibrary_system_config_base.cfg (revision 467617) @@ -1,21 +1,21 @@ ---- jlibrary/system/config/base.cfg.orig 2018-02-22 18:45:28 UTC +--- jlibrary/system/config/base.cfg.orig 2016-11-25 19:04:24 UTC +++ jlibrary/system/config/base.cfg -@@ -90,6 +90,18 @@ case. 'Linux' do. +@@ -93,6 +93,18 @@ case. 'Linux' do. XDiff=: '/usr/bin/meld' Editor=: 'geany +%l %f' Editor_nox=: 'vi -c%l %f' +case. 'FreeBSD' do. + BoxForm=: 0 + Browser=: '' + Browser_nox=: '/usr/bin/w3m' + EPSReader=: '/usr/bin/evince' + ImageViewer=: '' + ImageViewer_nox=: '' + PDFReader=: '/usr/bin/evince' + PDFReader_nox=: '' + XDiff=: '/usr/bin/meld' + Editor=: 'geany +%l %f' + Editor_nox=: 'vi -c%l %f' case. 'Win' do. BoxForm=: 1 Browser=: '' Index: head/lang/J/files/patch-jlibrary_system_main_regex.ijs =================================================================== --- head/lang/J/files/patch-jlibrary_system_main_regex.ijs (revision 467616) +++ head/lang/J/files/patch-jlibrary_system_main_regex.ijs (revision 467617) @@ -1,10 +1,10 @@ ---- jlibrary/system/main/regex.ijs.orig 2018-02-22 18:45:28 UTC +--- jlibrary/system/main/regex.ijs.orig 2018-03-07 18:59:01 UTC +++ jlibrary/system/main/regex.ijs @@ -101,6 +101,7 @@ NB. rxdll is in bin or tools/regex select. UNAME case. 'Win' do. t=. 'jpcre.dll' case. 'Darwin' do. t=. 'libjpcre.dylib' -+case. 'FreeBSD' do. t=. 'libpcreposix.so' - fcase. 'Linux' do. NB. fall throught ++case. 'FreeBSD' do. t=. 'libpcreposix.so' + fcase. 'Linux' do. if. 2 0-:('libpcreposix.so.3 dummyfunction n')&(15!:0) ::(15!:10) '' do. rxdll=: 'libpcreposix.so.3' Index: head/lang/J/files/patch-jlibrary_system_main_stdlib.ijs =================================================================== --- head/lang/J/files/patch-jlibrary_system_main_stdlib.ijs (revision 467616) +++ head/lang/J/files/patch-jlibrary_system_main_stdlib.ijs (revision 467617) @@ -1,55 +1,47 @@ ---- jlibrary/system/main/stdlib.ijs.orig 2018-02-22 18:45:28 UTC +--- jlibrary/system/main/stdlib.ijs.orig 2016-11-25 19:04:24 UTC +++ jlibrary/system/main/stdlib.ijs -@@ -35,6 +35,7 @@ if. notdef 'UNAME' do. - end. - end. - 'libc.so.6 setlocale > x i *c'&(15!:0)^:(UNAME-:'Linux') 1;,'C' -+'libc.so.7 setlocale > x i *c'&(15!:0)^:(UNAME-:'FreeBSD') 1;,'C' - if. notdef 'IFRASPI' do. - if. UNAME -: 'Linux' do. - cpu=. 2!:0 'cat /proc/cpuinfo' -@@ -97,6 +98,7 @@ if. (<'home') -.@e. {."1 SystemFolders d +@@ -93,6 +93,7 @@ if. (<'home') -.@e. {."1 SystemFolders d elseif. 'Android'-:UNAME do. t=. '/sdcard' elseif. 'Darwin'-:UNAME do. t=. (0-:t){::'';~t=. 2!:5'HOME' elseif. 'Linux'-:UNAME do. t=. (0-:t){::'';~t=. 2!:5'HOME' + elseif. 'FreeBSD'-:UNAME do. t=. (0-:t){::'';~t=. 2!:5'HOME' elseif. do. t=. '' end. if. (''-:t)+.((,'/')-:t)+.('/root'-:t)+.('/usr/'-:5{.t) do. -@@ -111,6 +113,7 @@ if. (<'temp') -.@e. {."1 SystemFolders d +@@ -107,6 +108,7 @@ if. (<'temp') -.@e. {."1 SystemFolders d elseif. 'Android'-:UNAME do. t=. '/sdcard' elseif. 'Darwin'-:UNAME do. 1!:5 ::] msg_iov)); - printf ("msg_iovlen_off=: " FMTI "\n",offset(struct msghdr,msg_iovlen)); - printf ("msg_iovlen_sz=: " FMTI "\n",sizeof(((struct msghdr*)0)->msg_iovlen)); +@@ -147,7 +147,7 @@ int main(){ + printf ("msg_iov_sz=: %d\n",sizeof(((struct msghdr*)0)->msg_iov)); + printf ("msg_iovlen_off=: %d\n",offset(struct msghdr,msg_iovlen)); + printf ("msg_iovlen_sz=: %d\n",sizeof(((struct msghdr*)0)->msg_iovlen)); -#if defined(linux) || defined(Darwin) +#if defined(linux) || defined(Darwin) || defined(__FreeBSD__) - printf ("msg_control_off=: " FMTI "\n",offset(struct msghdr,msg_control)); - printf ("msg_control_sz=: " FMTI "\n",sizeof(((struct msghdr*)0)->msg_control)); - printf ("msg_controllen_off=: " FMTI "\n",offset(struct msghdr,msg_controllen)); + printf ("msg_control_off=: %d\n",offset(struct msghdr,msg_control)); + printf ("msg_control_sz=: %d\n",sizeof(((struct msghdr*)0)->msg_control)); + printf ("msg_controllen_off=: %d\n",offset(struct msghdr,msg_controllen)); Index: head/lang/J/pkg-plist =================================================================== --- head/lang/J/pkg-plist (revision 467616) +++ head/lang/J/pkg-plist (revision 467617) @@ -1,143 +1,150 @@ bin/jconsole lib/j/bin/jconsole lib/j/bin/libj.so -lib/j/bin/libjavx.so lib/j/bin/libtsdll.so share/j/addons/data/jmf/history.txt share/j/addons/data/jmf/jmf.ijs share/j/addons/data/jmf/manifest.ijs share/j/addons/data/jmf/test/testdata.ijs share/j/addons/data/jmf/test/testjmf.ijs share/j/addons/ide/jhs/build.ijs share/j/addons/ide/jhs/config/jhs.cfg share/j/addons/ide/jhs/config/jhs_default.ijs share/j/addons/ide/jhs/core.ijs share/j/addons/ide/jhs/demo/jdemo1.ijs share/j/addons/ide/jhs/demo/jdemo10.ijs share/j/addons/ide/jhs/demo/jdemo11.ijs share/j/addons/ide/jhs/demo/jdemo12.ijs share/j/addons/ide/jhs/demo/jdemo2.ijs share/j/addons/ide/jhs/demo/jdemo3.ijs share/j/addons/ide/jhs/demo/jdemo4.ijs share/j/addons/ide/jhs/demo/jdemo5.ijs share/j/addons/ide/jhs/demo/jdemo6.ijs share/j/addons/ide/jhs/demo/jdemo7.ijs share/j/addons/ide/jhs/demo/jdemo8.ijs share/j/addons/ide/jhs/demo/jdemo9.ijs share/j/addons/ide/jhs/demo/jdemogl1.ijs share/j/addons/ide/jhs/favicon.ico share/j/addons/ide/jhs/gnuplot.ijs share/j/addons/ide/jhs/gpdemo.ijs share/j/addons/ide/jhs/grep.exe share/j/addons/ide/jhs/history.txt share/j/addons/ide/jhs/jal.ijs share/j/addons/ide/jhs/jbinfo.ijs share/j/addons/ide/jhs/jd3.ijs share/j/addons/ide/jhs/jdemo.ijs share/j/addons/ide/jhs/jfif.ijs share/j/addons/ide/jhs/jfile.ijs share/j/addons/ide/jhs/jfiles.ijs share/j/addons/ide/jhs/jfilesrc.ijs share/j/addons/ide/jhs/jgcp.ijs share/j/addons/ide/jhs/jhelp.ijs share/j/addons/ide/jhs/jhs.jproj share/j/addons/ide/jhs/jijs.ijs share/j/addons/ide/jhs/jijsce.ijs share/j/addons/ide/jhs/jijsipad.ijs share/j/addons/ide/jhs/jijsta.ijs share/j/addons/ide/jhs/jijx.ijs share/j/addons/ide/jhs/jijxalt.ijs share/j/addons/ide/jhs/jijxaz.ijs share/j/addons/ide/jhs/jijxdebug.ijs share/j/addons/ide/jhs/jijxh.ijs share/j/addons/ide/jhs/jijxipad.ijs share/j/addons/ide/jhs/jijxm.ijs share/j/addons/ide/jhs/jijxmin.ijs share/j/addons/ide/jhs/jlogin.ijs share/j/addons/ide/jhs/js/codemirror/codemirror.4.2.css share/j/addons/ide/jhs/js/codemirror/codemirror.min.4.2.js share/j/addons/ide/jhs/js/codemirror/j/j.4.2.js share/j/addons/ide/jhs/js/codemirror/j/jtheme.4.2.css share/j/addons/ide/jhs/js/codemirror/license.txt share/j/addons/ide/jhs/js/codemirror/util/dialog.4.2.css share/j/addons/ide/jhs/js/codemirror/util/dialog.4.2.js share/j/addons/ide/jhs/js/codemirror/util/search.4.2.js share/j/addons/ide/jhs/js/codemirror/util/searchcursor.4.2.js share/j/addons/ide/jhs/js/d3/LICENSE share/j/addons/ide/jhs/js/d3/LICENSE.v3 share/j/addons/ide/jhs/js/d3/d3.js share/j/addons/ide/jhs/js/d3/d3.min.js share/j/addons/ide/jhs/js/d3/d3.v3.js share/j/addons/ide/jhs/js/d3/d3.v3.min.js share/j/addons/ide/jhs/js/excanvas.js share/j/addons/ide/jhs/js/jquery-1.5.1.min.js share/j/addons/ide/jhs/js/jquery/handsontable.css share/j/addons/ide/jhs/js/jquery/handsontable.js share/j/addons/ide/jhs/js/jquery/jquery-2.0.3.min.js share/j/addons/ide/jhs/js/jquery/jquery-2.0.3.min.map share/j/addons/ide/jhs/js/jquery/jquery-ui.css share/j/addons/ide/jhs/js/jquery/jquery-ui.min.js share/j/addons/ide/jhs/js/jquery/json-patch-duplex.js.map share/j/addons/ide/jhs/js/jquery/smoothness/images/animated-overlay.gif share/j/addons/ide/jhs/js/jquery/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png share/j/addons/ide/jhs/js/jquery/smoothness/images/ui-bg_flat_75_ffffff_40x100.png share/j/addons/ide/jhs/js/jquery/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png share/j/addons/ide/jhs/js/jquery/smoothness/images/ui-bg_glass_65_ffffff_1x400.png share/j/addons/ide/jhs/js/jquery/smoothness/images/ui-bg_glass_75_dadada_1x400.png share/j/addons/ide/jhs/js/jquery/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png share/j/addons/ide/jhs/js/jquery/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png share/j/addons/ide/jhs/js/jquery/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png share/j/addons/ide/jhs/js/jquery/smoothness/images/ui-icons_222222_256x240.png share/j/addons/ide/jhs/js/jquery/smoothness/images/ui-icons_2e83ff_256x240.png share/j/addons/ide/jhs/js/jquery/smoothness/images/ui-icons_454545_256x240.png share/j/addons/ide/jhs/js/jquery/smoothness/images/ui-icons_888888_256x240.png share/j/addons/ide/jhs/js/jquery/smoothness/images/ui-icons_cd0a0a_256x240.png share/j/addons/ide/jhs/js/jquery/smoothness/jquery-ui.custom.css share/j/addons/ide/jhs/js/webgl/glmatrix-min.js share/j/addons/ide/jhs/jtable.ijs share/j/addons/ide/jhs/jum.ijs share/j/addons/ide/jhs/manifest.ijs share/j/addons/ide/jhs/readme.txt share/j/addons/ide/jhs/shortcut.ijs share/j/addons/ide/jhs/sp.ijs share/j/addons/ide/jhs/spxdemo.ijs share/j/addons/ide/jhs/utilh.ijs share/j/addons/ide/jhs/utiljs.ijs share/j/profile.ijs share/j/system/config/base.cfg +share/j/system/config/base.cfg.orig share/j/system/config/folders.cfg share/j/system/config/version.txt share/j/system/defs/hostdefs_aix.ijs share/j/system/defs/hostdefs_android.ijs -share/j/system/defs/hostdefs_android_64.ijs share/j/system/defs/hostdefs_darwin.ijs share/j/system/defs/hostdefs_darwin_64.ijs share/j/system/defs/hostdefs_freebsd_64.ijs +share/j/system/defs/hostdefs_freebsd_64.ijs.orig share/j/system/defs/hostdefs_linux.ijs share/j/system/defs/hostdefs_linux_64.ijs share/j/system/defs/hostdefs_sunos.ijs share/j/system/defs/hostdefs_win.ijs share/j/system/defs/hostdefs_win_64.ijs share/j/system/defs/netdefs_aix.ijs share/j/system/defs/netdefs_android.ijs -share/j/system/defs/netdefs_android_64.ijs share/j/system/defs/netdefs_darwin.ijs share/j/system/defs/netdefs_darwin_64.ijs share/j/system/defs/netdefs_freebsd_64.ijs +share/j/system/defs/netdefs_freebsd_64.ijs.orig share/j/system/defs/netdefs_linux.ijs share/j/system/defs/netdefs_linux_64.ijs share/j/system/defs/netdefs_sunos.ijs share/j/system/defs/netdefs_win.ijs share/j/system/defs/netdefs_win_64.ijs +share/j/system/main/ctag.ijs share/j/system/main/regex.ijs +share/j/system/main/regex.ijs.orig share/j/system/main/socket.ijs share/j/system/main/stdlib.ijs +share/j/system/main/stdlib.ijs.orig share/j/system/main/task.ijs share/j/system/util/boot.ijs share/j/system/util/configure.ijs +share/j/system/util/edit.png +share/j/system/util/edit.svg +share/j/system/util/jadetag.ijs share/j/system/util/pacman.ijs share/j/system/util/pm.ijs share/j/system/util/pp.ijs share/j/system/util/project.ijs share/j/system/util/scripts.ijs share/j/system/util/tar.ijs +share/j/system/util/term.png