mirror of
https://git.freebsd.org/ports.git
synced 2025-06-25 06:30:29 -04:00
J (J language) is a high-level, general-purpose, high-performance programming language. J is portable and runs on 32/64-bit Windows/Linux/Mac as well as iOS, Android, and other platforms. WWW: http://www.jsoftware.com PR: 226186 Submitted by: Joao Neves <sevenjp@gmail.com>
54 lines
1.9 KiB
J
54 lines
1.9 KiB
J
NB. J profile
|
|
NB. JFE sets BINPATH_z_ and ARGV_z_
|
|
NB. add your sentences in startup.ijs
|
|
NB. $FreeBSD$
|
|
|
|
systype=. 9!:12''
|
|
jpathsep_z_=: '/'&(('\' I.@:= ])})
|
|
BINPATH_z_=: jpathsep BINPATH_z_
|
|
|
|
NB. create SystemFolders
|
|
bin=. BINPATH
|
|
install=. (bin i: '/'){.bin
|
|
fhs=. (FHS"_)^:(0=4!:0<'FHS')(5=systype)*.0=#1!:0<BINPATH,'%%LOCALBASE%%/share/j/system/util/boot.ijs'
|
|
install=. (0&~:fhs){::install;'%%LOCALBASE%%/share/j'
|
|
install=. (INSTALLROOT"_)^:(0=4!:0<'INSTALLROOT') install
|
|
addons=. install,'/addons'
|
|
system=. install,'/system'
|
|
tools=. install,'/tools'
|
|
home=. >(systype-5){(2!:5'HOME');2!:5'USERPROFILE'
|
|
home=. >(0-:home){home;,'/'
|
|
isroot=. (0=#1!:0'/data') *. ('root'-:2!:5'USER') +. (<home) e. '/var/root';'/root';'';,'/'
|
|
userx=. '/j',('64-'#~16={:$3!:3[2),'806-user'
|
|
user=. home,userx
|
|
user=. >isroot{user;install,'/user'
|
|
home=. >isroot{home;install
|
|
break=. user,'/break'
|
|
config=. user,'/config'
|
|
snap=. user,'/snap'
|
|
temp=. user,'/temp'
|
|
temp=. >isroot{temp;(*#1!:0'/tmp'){::'/tmp';~(0-:2!:5'TMPDIR'){::(2!:5'TMPDIR');temp
|
|
ids=. ;:'addons bin break config home install snap system tools temp user'
|
|
|
|
0!:0 :: ] <(({.~ i:&'/') jpathsep >{.4!:3''),'/profilex.ijs' NB. override
|
|
0!:0 :: ] ^:(0=#1!:0 (({.~ i:&'/') jpathsep >{.4!:3''),'/startup_android.ijs') <home,>(systype-5){'/.jprofile.ijs';'/_jprofile.ijs' NB. override per user except for standalone script
|
|
|
|
SystemFolders_j_=: ids,.jpathsep@".&.>ids
|
|
|
|
md=. 3 : 0 NB. recursive makedir
|
|
a=. jpathsep y,'/'
|
|
if. ('root'-:2!:5'USER') +. ('//'-:2{.a)+.('/root/'-:6{.a)+.('/var/root/'-:10{.a)+.('/usr/'-:5{.a)+.('/tmp'-:a) do. return. end. NB. installed under / /root /usr
|
|
if. -.#1!:0 }:a do.
|
|
for_n. I. a='/' do. 1!:5 :: [ <n{.a end.
|
|
end.
|
|
)
|
|
|
|
NB. try to ensure user folders exist
|
|
md user,'/projects'
|
|
md break
|
|
md config
|
|
md snap
|
|
md temp
|
|
|
|
NB. boot up J and load startup.ijs if it exists
|
|
0!:0 <jpathsep (4!:55 (;:'systype fhs isroot userx ids md'), ids)]system,'/util/boot.ijs'
|