#!/bin/sh
# test we are root
if [ "$(id -u)" != "0" ]; then
   echo "run as root now exitting"
   exit 1
fi

export CFLAGS="-mtune=generic -Os -pipe"
export CXXFLAGS="-mtune=generic -Os -pipe"
export LDFLAGS="-Wl,-O1"

P=rox-filer
V=2.11
SRC=$P-$V
USER=`cat /etc/sysconfig/tcuser`
LIST="compiletc submitqc gtk2-dev gettext "
for Z in $LIST
    do 
    su -c "tce-load -i $Z" $USER
done
su -c "/usr/local/bin/wget -nc --no-check-certificate \
https://downloads.sourceforge.net/rox/$P-$V.tar.bz2 " $USER 
tar jxvf $P*bz2
cd $SRC/ROX-Filer/
# change from LFS 
sed -i 's^g_strdup(getenv("APP_DIR"))^"/usr/local/share/rox"^' -i src/main.c
cat src/main.c | grep /usr/local # check its ok
mkdir build && cd build
../src/configure LIBS="-lm -ldl" --prefix=/usr/local
make -j5 # less than 10 seconds
# make install fails so we build it manually as per LFS
###########################
# TCEs   modified from LFS build
###########################
cd ..
ls ROX-Filer.dbg 
# Check that ROX-Filer.dbg & ROX-Filer have been created otherwise do not proceed

mkdir -p /tmp/$P/usr/local/share/rox                              
cp -av Help Messages Options.xml ROX images style.css .DirIcon /tmp/$P/usr/local/share/rox

mkdir -p /tmp/$P-doc/usr/local/share/man/man1
cp -av ../rox.1 /tmp/$P-doc/usr/local/share/man/man1  
   
mkdir -p /tmp/$P/usr/local/bin        
cp ROX-Filer /tmp/$P/usr/local/bin/rox               

cd /tmp/$P/usr/local/share/rox/ROX/MIME                           
ln -sv text-x-{diff,patch}.png                       
ln -sv application-x-font-{afm,type1}.png            
ln -sv application-xml{,-dtd}.png                    
ln -sv application-xml{,-external-parsed-entity}.png 
ln -sv application-{,rdf+}xml.png                    
ln -sv application-x{ml,-xbel}.png                   
ln -sv application-{x-shell,java}script.png          
ln -sv application-x-{bzip,xz}-compressed-tar.png    
ln -sv application-x-{bzip,lzma}-compressed-tar.png  
ln -sv application-x-{bzip-compressed-tar,lzo}.png   
ln -sv application-x-{bzip,xz}.png                   
ln -sv application-x-{gzip,lzma}.png                 
ln -sv application-{msword,rtf}.png

# doc TCE
##########
cd /tmp/$P-doc/usr/local/share/man/man1/
ln -s rox.1 rox-filer.1
cd /tmp

# main  TCE
# desktop
##########
# create icon
mkdir -p $P/usr/local/share/pixmaps
cp $P/usr/local/share/rox/.DirIcon $P/usr/local/share/pixmaps/rox.png

mkdir -p $P/usr/local/share/applications
cat >> $P/usr/local/share/applications/$P.desktop <<'EOF'
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=roxFM
Comment=The Rox File Manager
Icon=rox
Exec=rox
Categories=GTK;Application;System;
StartupNotify=true
Terminal=false
X-FullPathIcon=/usr/local/share/pixmaps/rox.png
EOF

# clean ups 
rm -rf $P/usr/local/share/rox/Help/README* 
rm -rf $P/usr/local/share/rox/Help/Changes
rm -rf $P/usr/local/share/rox/Help/TODO

mkdir -p $P/usr/local/share/doc/$P
mv $P/usr/local/share/rox/Help/COPYING $P/usr/local/share/doc/$P

# locale TCE
############
mkdir -p $P-locale/usr/local/share
mv $P/usr/local/share/rox/Messages $P-locale/usr/local/share/locale
rm -rf $P-locale/usr/local/share/locale/README
# as lang is set by bootcode and my locale TCE

mkdir -p $P-locale/usr/local/share/rox/Help/
mv $P/usr/local/share/rox/Help/*fr* $P-locale/usr/local/share/rox/Help/
mv $P/usr/local/share/rox/Help/*it* $P-locale/usr/local/share/rox/Help/

# TCZ them
#######
LIST2="$P $P-doc $P-locale "
for Z in $LIST2
do
	mksquashfs $Z $Z.tcz
	md5sum $Z.tcz > $Z.tcz.md5.txt
	cd $Z
	find usr -not -type d > /tmp/$Z.tcz.list
	cd /tmp
done

ls -hal

echo 'Title:          rox-filer.tcz  
Description:    gtk2 file manager
Version:        2.11
Author:         Thomas Leonard 
Original-site:  https://sourceforge.net/projects/rox/files/
Copying-policy: GPL v2
Size:           592K
Extension_by:   aus9 
Tags:           rox-filer file manager
Comments:       exe=rox
                Icon themes under ~/.icons
                To open 2 FMs at same time eg $ rox /home/tc /usr/local/bin
                Home config DIR is ~/.config/rox.sourceforge.net
                To start a panel you can drag more dirs to ...$ rox -t=MyPanel
                ^ change -t (top) to -b (bottom) if you prefer.
                I assume you are a Right Hand (RH) mouse user
                To open context menu (preferences) click RH mouse button
                either inside any rox panel or rox FM

                How to set a default app to open (example) png
                $ tce-load -i <your-preferred-TCE> eg mtpaint
                In FM, RH click any png file
                Click "Set Run Action"
                click radio button for either all image types or just png
                Click into shell command and prefix command so it reads
                mtpaint "$@"
                ("$@" will already exist, with luck)
                LH click...... Use Command button
                -----to test you now need to LH click the png file

                Please click on the Help button. You need to see all the options please.
            
Change-log:     2017/09/06  First version  for 8x
Current:        2020/05/02 redone for 11x
' > $P.tcz.info

echo 'Title:          rox-filer-doc.tcz
Description:    only man page
Version:        2.11
Author:         Thomas Leonard
Original-site:  https://sourceforge.net/projects/rox/files/
Copying-policy: GPL v2
Size:           4.0K	
Extension_by:   aus9 
Tags:           rox-filer file manager
Comments:       man page
                
Change-log:     2017/09/06  First version  for 8x
Current:        2020/05/02 redone for 11x
' > $P-doc.tcz.info

echo 'Title:          rox-filer-locale.tcz
Description:    docs and locales
Version:        2.11
Author:         Thomas Leonard
Original-site:  https://sourceforge.net/projects/rox/files/
Copying-policy: GPL v2
Size:           1.2M
Extension_by:   aus9 
Tags:           rox-filer file manager
Comments:       French and Italian Help Manual
                -need a special pathway already setup.

                locale must be set to use Fr or It help
                Also we have locales but no extra Help manuals
                -not tested by me
                
Change-log:     2020/05/02  First version  for 11x
Current:        2020/05/02 
' > $P-locale.tcz.info

# dependency
##############
echo 'gtk2.tcz' > $P.tcz.dep
echo 'man-db.tcz' > $P-doc.tcz.dep
echo 'rox-filer.tcz' > $P-locale.tcz.dep

submitqc  --libs