Edit: 01.06.2010 You can still compile as written below but it's just not necessary as Hadret has built and uploaded the latest to his debian repo. (A big round of applause for Hadret please...)
As of 01.08.2010 these are required from Experimental
libglib2.0-0
libglib2.0-bin
libglib2.0-dev
See here for details.
Once Xfce4.8 is available from your favorite repo this entire thread will be irrelevant but if you, like me, simply couldn't wait then this is for you.
*Note*
You should most likely remove everything Xfce4 that is currently on your system or I would expect some conflicts. The .debs created with checkinstall are by no means the equivalent of proper Debian packages. In fact the names and packages will be different. There for it would also be advisable to remove these same .debs prior to installing the proper Debian packages once available.
Edit:
Dec 27, 2010 Fixed typos, corrected build order per feedback.
Dec 28, 2010 Added Notifications and Power Management. Reorganized, cleaned up.
Dec 29, 2010 Added Xfburn
Required for checkinstall:
My changes to /etc/checkinstallrc were done with sed substituting my actual username for $USER:
- Code: Select all
su
sed -i 's/INSTALL=0/INSTALL=1/' checkinstallrc
sed -i 's/PAK_DIR=""/PAK_DIR="/home/$USER/Xfce4.8/debs/' /etc/checkinstallrc
sed -i 's/DPKG_FLAGS=""/DPKG_FLAGS="--force-overwrite"/' /etc/checkinstallrc
It's possible that you'll require .debs not listed here but everything should be available via apt-get.
- Code: Select all
apt-get install libnotify-dev libfm-dev gvfs gvfs-backends gvfs-bin libstartup-notification0-dev libgtk2.0-dev libdbus-1-dev libdbus-glib-1-dev libglib2.0-dev libglade2-dev libwnck-dev librsvg2-dev libtool checkinstall unp
BTW I have these from Experimental - not sure if that's really required...:
libglib2.0-0 (2.27.5-1) ...
libglib2.0-bin (2.27.5-1) ...
libglib2.0-dev (2.27.5-1)
I like to make a working directory (but it isn't required)
- Code: Select all
mkdir Xfce4.8pre2
cd Xfce4.8pre2
Now we get the source tarballs:
- Code: Select all
wget http://archive.xfce.org/src/libs/garcon/0.1/garcon-0.1.4.tar.bz2
wget http://archive.xfce.org/xfce/4.8pre2/fat_tarballs/xfce-4.8pre2.tar.bz2
unp *
mv src xfce4.8pre2-core # Not strictly required
Although I used checkinstall it certainly isn't required. If you prefer not to use checkinstall simply edit the build script to use make install instead of checkinstall --options and skip the echo '' > description-pak bit. Otherwise everything's the same.
Create a little checkinstall build script to save some typing. Just copy paste using your own email address.
- Code: Select all
cat >> build << EOF
#!/bin/bash
./configure --prefix=/usr &&
make &&
checkinstall --maintainer=your.email@mail.com --nodoc --pkggroup=xfce
EOF
chmod +x build
su
GARCON Required
- Code: Select all
cd garcon
echo "freedesktop.org compliant menu implementation" > description-pak
../build
cp data/xfce/xfce-applications.menu /etc/xdg/menus
* You could do this cp operation with checkinstall as well.
Build Xfce4.8pre2
- Code: Select all
cd ../xfce4.8pre2-core
unp *.bz2
cd xfce4-dev-tools-4.7.3/
echo 'Xfce4 development tools' > description-pak
../../build
cd ../libxfce4util-4.7.4
echo 'Basic utility library for Xfce4' > description-pak
../../build
cd ../xfconf-4.7.4
echo 'Client-server configuration storage and query system' > description-pak
../../build
cd ../libxfcegui4-4.7.0
echo 'Various Gtk widgets for Xfce' > description-pak
../../build
cd ../libxfce4ui-4.7.5
echo 'Library to share commonly used Xfce widgets' > description-pak
../../build
cd ../exo-0.5.5
echo 'Extension library for Xfce' > description-pak
../../build
cd ../xfce4-panel-4.7.6
echo 'Panel for Xfce4' > description-pak
mkdir -p /usr/lib/xfce4/panel/plugins
../../build
cd ../Thunar-1.1.5
echo 'Modern file manager for the Unix/Linux desktop' > description-pak
../../build
cd ../thunar-vfs-1.1.1
echo 'File system abstraction library for Thunar' > description-pak
../../build
cd ../xfce4-settings-4.7.6
echo 'Provides access to settings of XFce4 components' > description-pak
../../build
cd ../xfce4-session-4.7.2
mkdir -p /usr/lib/xfce4/session/splash-engines/
echo 'Session manager for Xfce' > description-pak
../../build
cd ../xfdesktop-4.7.4
echo 'Desktop manager for Xfce' > description-pak
../../build
cd ../xfwm4-4.7.3
echo 'Window manager for Xfce' > description-pak
../../build
cd ../xfce-utils-4.7.3
echo 'Utilities and scripts for Xfce' > description-pak
../../build
cd ../xfce4-appfinder-4.7.1
echo 'Application finder for Xfce' > description-pak
../../build
cd ../gtk-xfce-engine-2.6.0
echo 'Xfce Gtk+-2.0 engine' > description-pak
../../build
The Xfce4 build order isn't up to date. Above is (obviously) the build order I used.
Not required but useful- (and verified working w/ Xfce4.8pre2)
THUNAR-VOLMAN Not required but you really do want this.
- Code: Select all
wget http://git.xfce.org/apps/thunar-volman/snapshot/thunar-volman-0.5.3.tar.bz2
unp thunar-volman-0.5.3.tar.bz2
cd ../thunar-volman-0.5.3
echo "Volume management for Thunar" > description-pak
./autogen.sh
../build
NOTIFICATIONS
This is built slightly differently w/ autogen.sh which also runs ./configure w/ your options
- Code: Select all
wget http://git.xfce.org/apps/xfce4-notifyd/snapshot/xfce4-notifyd-0.2.0.tar.bz2
unp xfce4-notifyd-0.2.0.tar.bz2
cd xfce4-notifyd-0.2.0/
echo 'Notification daemon for Xfce4' > description-pak
./autogen.sh --prefix=/usr
make
checkinstall --maintainer=your.email@mail.com --nodoc --pkggroup=xfce
This will add a new configuration item to xfce4-settings-manager.
XFCE4-POWER-MANAGER
- Code: Select all
wget http://archive.xfce.org/src/apps/xfce4-power-manager/1.0/xfce4-power-manager-1.0.2.tar.bz2
unp xfce4-power-manager-1.0.2.tar.bz2
cd xfce4-power-manager-1.0.2
./configure --prefix=/usr
make
checkinstall --maintainer=your.email@mail.com --nodoc --pkggroup=xfce
This also adds a new configuration item to xfce4-settings-manager
Xfburn
If you've built Xfce4.8 you don't want to install Xfburn from Debian repos since that pulls in several pieces of Xfce4.6.
You can build libraries from http://www.libburnia-project.org/ but those already available in Debian work fine.
- Code: Select all
apt-get install libburn-dev libburn4 libisoburn-dev libisoburn1 libisofs libisofs-dev libisofs6
- Code: Select all
git clone http://git.xfce.org/git/apps/xfburn
cd xfburn
./autogen.sh --prefix=/usr --enable-thunar-vfs
*Note
If after running autogen.sh make gives you this error:
- Code: Select all
xsltproc -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl xfburn.xml
I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"
Use the sed:
- Code: Select all
sed -i 's/-nonet//' docs/Makefile
Then continue on
- Code: Select all
make
checkinstall --maintainer=your.email@mail.com --nodoc --pkggroup=xfce --pkgversion=svn-12.28.10 --pkgrelease=0.4.3
You can of course change the pkgversion & pkgrelease values, in fact you'll be forced to change pkgversion to something since the default vaule passed to checkinstall simply won't work.
LINKS
More Xfce stuff to be built here:
http://git.xfce.org/apps
http://goodies.xfce.org/projects/panel-plugins/start
Garcon
http://archive.xfce.org/src/libs/garcon/0.1/
Mirror links for fat tarballs
http://gezeiten.org/post/2010/12/Xfce-4.8pre2-released!
http://archive.xfce.org/xfce/4.8pre2/fat_tarballs/
Re: checkinstall
The description-pak file contents were pulled from the respective README files in the source or the Xfce web site.
Changes to my /etc/checkinstallrc
- Code: Select all
# location defined for the package type
PAK_DIR="/home/g/Xfce4.8/debs"
# dpkg optional flags
DPKG_FLAGS="--force-overwrite"
# Install the package or just create it?
INSTALL=1
If you don't use the --prefix=/usr switch for configure do this:
- Code: Select all
echo "include /usr/local/lib" >> /etc/ld.so.conf
There are probably some typos.




