David Fraser wrote:
Mark Fisher wrote:
I've just ported xfce4.2 to cygwin, and start it like this:Fantastic! Are the patches included in the CVS, are their any particular build instructions?
I'm on the xfce dev list but I didn't see anything about this ...
The patches are in CVS (I was the one who committed them), and there are specific built instructions.
You need to get libdbh and libstartup-notification yourself, and I'm using the attached script to build XFCE. Haven't tried this in some time though due to work load, so I can't guarantee everything still works out-of-the-box. And oh yeah, you need a very recent version of libtool.
As I just wrote to Mark:
"Anyways, you do know that there is a couple of things that do not work in XFCE for cygwin, right? For one, panel plugins are not fully functional (just try to change the icon size in the panel and see what happens). Also, xffm doesn't work, neither is xfprint (I've never really tried this though), and xfce4-mixer.
The problem with the panel plugins and xffm is that XFCE is coded such that the plugins must access variables in the loading program, and MS-Windows (and therefore cygwin) doesn't allow this. I've had some discussion with Jasper from the XFCE team about this, and we were thinking of a complete rewrite of the XFCE plugin system. However, this will have to wait until the 4.2 release, and I'm completely swamped in work at the moment..."
Maarten
#!/bin/bash
cvs_dir=/e/Maarten/src/xfce log_dir=/e/Maarten/src/xfce/complogs install_dir=/opt/xfce # SET REQUIRED PKG_CONFIG DIRECTORIES PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH PKG_CONFIG_PATH=${cvs_dir}/xfce4/xfce4-panel/panel:$PKG_CONFIG_PATH PKG_CONFIG_PATH=${cvs_dir}/xfce4/libxfcegui4/libxfcegui4:$PKG_CONFIG_PATH PKG_CONFIG_PATH=${cvs_dir}/xfce4/libxfce4util/libxfce4util:$PKG_CONFIG_PATH PKG_CONFIG_PATH=${cvs_dir}/xfce4/libxfce4mcs/libxfce4mcs:$PKG_CONFIG_PATH PKG_CONFIG_PATH=${cvs_dir}/xfce4/xfce-mcs-manager/xfce-mcs-manager:$PKG_CONFIG_PATH PKG_CONFIG_PATH=${cvs_dir}/xfce4/xffm/src:$PKG_CONFIG_PATH PKG_CONFIG_PATH=${cvs_dir}/xfce4/xfce4-session/xfce4-session:$PKG_CONFIG_PATH export PKG_CONFIG_PATH export ACLOCAL_FLAGS="--force" usage() { echo "Usage: $0" echo " --help or -h display this message" echo " --clean remove the old installation" echo " --make-clean do a 'make clean'" echo " --install do a 'make install'" } apkg() { if [ -z "$PKGS" ] then PKGS=$1 else PKGS="${PKGS} $1" fi } apkg xfce4/libxfce4util:--prefix=${install_dir} apkg xfce4/libxfcegui4:--prefix=${install_dir} apkg xfce4/libxfce4mcs:--prefix=${install_dir} apkg xfce4/xfce-mcs-manager:--prefix=${install_dir} apkg xfce4/xfcalendar:--prefix=${install_dir} apkg xfce4/xfce4-panel:--prefix=${install_dir} apkg xfce4/gtk-xfce-engine-2:--prefix=${install_dir} apkg xfce4/xfce-utils:--prefix=${install_dir} apkg xfce4/xfwm4:--prefix=${install_dir} apkg xfce4/xfwm4-themes:--prefix=${install_dir} apkg xfce4/xfdesktop:--prefix=${install_dir} apkg xfce4/xfce-mcs-plugins:--prefix=${install_dir} apkg xfce4/xfce4-appfinder:--prefix=${install_dir} apkg xfce4/xfce4-session:--prefix=${install_dir} apkg xfce4/xfce4-icon-theme:--prefix=${install_dir} apkg xfce4/xfce4-iconbox:--prefix=${install_dir} apkg xfce4/xfce4-systray:--prefix=${install_dir} apkg xfce4/xfce4-toys:--prefix=${install_dir} apkg xfce4/xfce4-trigger-launcher:--prefix=${install_dir} #apkg xfce4/xffm:--prefix=${install_dir} #apkg xfce4/xfce4-mixer:--prefix=${install_dir} #apkg xfce4/xfprint:--prefix=${install_dir} #apkg xfce4/xfce4-terminal:--prefix=${install_dir} error=0 clean=0 make_cmd="make" help=0 while [ $# != 0 ] do case "$1" in '--help') help=1 shift ;; '-h') help=1 shift ;; '--clean') clean=1 shift ;; '--make-clean') make_cmd="make clean && ${make_cmd}" shift ;; '--install') make_cmd="${make_cmd} && make install" shift ;; *) echo "Unknown option: $1" error=1 shift ;; esac done if [ $help -eq 1 ]; then usage exit 1 fi if [ $error -eq 1 ]; then usage exit 1 fi if [ $clean -eq 1 ]; then echo -n "Removing old installation from ${install_dir}... " rm -rf ${install_dir} > /dev/null 2>&1 echo "Done" fi rm -rf ${log_dir}/* > /dev/null 2>&1 if [ ! -d ${log_dir} ] then mkdir ${log_dir} fi for i in ${PKGS} do pkg=`echo $i | cut -d: -f1` options=`echo $i | cut -s -d: -f2- | sed -e 's/:/ /'` log=${log_dir}/`basename ${pkg}`.log echo "Installing \"${pkg}\" with \"${options}\"" cd ${cvs_dir}/$pkg ./autogen.sh ${options} | tee ${log} 2>&1 $SHELL -c "${make_cmd}" | tee -a ${log} 2>&1 # $("${make_cmd}") | tee -a ${log} 2>&1 done