make -C $(MAC_RSL) install
find $(DESTDIR) -name '*.a' -delete
find $(DESTDIR) -name '*.la' -delete
- rm -rf $(DESTDIR)/share/rsl/colors
+ rm -rf $(DESTDIR)/share/rsl1/colors
rm -rf $(DESTDIR)/include
touch $@
aweather-gen:
cd $(WIN_AWEATHER); \
PKG_CONFIG_PATH="$(WIN_GRITS)/src" \
- CPPFLAGS="-I$(WIN_GRITS)/include/grits" \
- LIBS="-L$(WIN_GRITS)/src/.libs" \
- CFLAGS="-g -Werror -Wno-unused -O3" \
+ LDFLAGS="-L$(WIN_GRITS)/src/.libs -L$(WIN_RSL)/src/.libs" \
+ CPPFLAGS="-I$(WIN_GRITS)/include/grits -I$(WIN_RSL)/src" \
+ CFLAGS="-g -Wno-unused -O3" \
./autogen.sh \
--enable-relative \
--enable-shared \
rm -rf "$tmp"
}
+# Install custom programs
+# grits - DESTDIR=/usr/$MINGW make install
+# rsl - DESTDIR=/usr/$MINGW make install
+# aweather - DESTDIR=/usr/$MINGW make install
+
+# Download locations
+GTK2_URI='http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.10-20120208_win32.zip'
+SOUP_BIN='http://ftp.gnome.org/pub/gnome/binaries/win32/libsoup/2.26/libsoup_2.26.3-1_win32.zip'
+SOUP_DEV='http://ftp.gnome.org/pub/gnome/binaries/win32/libsoup/2.26/libsoup-dev_2.26.3-1_win32.zip'
+BZIP_BIN='http://downloads.sourceforge.net/project/gnuwin32/bzip2/1.0.5/bzip2-1.0.5-bin.zip'
+BZIP_DEV='http://downloads.sourceforge.net/project/gnuwin32/bzip2/1.0.5/bzip2-1.0.5-lib.zip'
+ICNV_URI='http://www.xmlsoft.org/sources/win32/iconv-1.9.2.win32.zip'
+XML2_URI='http://www.xmlsoft.org/sources/win32/libxml2-2.7.8.win32.zip'
+GLUT_URI='http://files.transmissionzero.co.uk/software/development/GLUT/freeglut-MinGW-2.8.0-1.mp.zip'
+
# Install locations
-MINGW=i486-mingw32
-DEV=/usr/$MINGW/usr
-BIN=/scratch/aweather-win32/local/gtk/gtk-2.24
-EXT=/home/andy/b/scratch/aweather/local/extern
+GCC="mingw32-gcc"
+CLEAN="/usr/mingw32-clean"
+PKGS="/home/andy/src/aweather-win32/local/packages"
+DEV="/usr/mingw32-2.24"
+BIN="/home/andy/src/aweather-win32/local/gtk-2.24"
+
+# Create download dir, if needed
+mkdir -p $PKGS
-# Copy clean folder
-rsync -a /usr/$MINGW-clean/ "$DEV/"
+# Download packages
+wget -O "$PKGS/$(basename $GTK2_URI)" "$GTK2_URI"
+wget -O "$PKGS/$(basename $SOUP_BIN)" "$SOUP_BIN"
+wget -O "$PKGS/$(basename $SOUP_DEV)" "$SOUP_DEV"
+wget -O "$PKGS/$(basename $BZIP_BIN)" "$BZIP_BIN"
+wget -O "$PKGS/$(basename $BZIP_DEV)" "$BZIP_DEV"
+wget -O "$PKGS/$(basename $ICNV_URI)" "$ICNV_URI"
+wget -O "$PKGS/$(basename $XML2_URI)" "$XML2_URI"
+wget -O "$PKGS/$(basename $GLUT_URI)" "$GLUT_URI"
+
+# Setup dev folder
+rsync -a --delete "$CLEAN/" "$DEV/"
# Extract packages
-extract -bdx $EXT/gtk+-bundle_2.24.8-20111122_win32.zip
-extract -bd $EXT/iconv-1.9.2.win32.zip
-extract -bd $EXT/libxml2-2.7.6.win32.zip
-extract -bx $EXT/libsoup_2.26.3-1_win32.zip
-extract -dx $EXT/libsoup-dev_2.26.3-1_win32.zip
-extract -bx $EXT/bzip2-1.0.5-bin.zip
-extract -dx $EXT/bzip2-1.0.5-lib.zip
-extract -dx $EXT/freeglut-MinGW-2.8.0-1.mp.zip
+extract -bdx "$PKGS/$(basename $GTK2_URI)"
+extract -bdx "$PKGS/$(basename $SOUP_BIN)"
+extract -dx "$PKGS/$(basename $SOUP_DEV)"
+extract -bdx "$PKGS/$(basename $BZIP_BIN)"
+extract -dx "$PKGS/$(basename $BZIP_DEV)"
+extract -bd "$PKGS/$(basename $ICNV_URI)"
+extract -bd "$PKGS/$(basename $XML2_URI)"
+extract -dx "$PKGS/$(basename $GLUT_URI)"
# Cleanup install folders
rm -f $DEV/lib/*.la
-exec strip -s "{}" ";"
find "$BIN" -type d -delete 2>/dev/null
+# Working xdg-open
+$GCC -Wall -mwindows -o $BIN/bin/xdg-open.exe xdg-open.c
+
# Fix broken packages
cp /usr/lib/pkgconfig/libxml-2.0.pc $DEV/lib/pkgconfig
rename libxml2.dll libxml2-2.dll {$DEV,$BIN}/bin/*
-$MINGW-gcc -Wall -mwindows -o $BIN/bin/xdg-open.exe xdg-open.c
-cp gtkrc $BIN/etc/gtk-2.0/gtkrc
+# Custom settings
+mkdir -p $BIN/etc/{gtk-2.0,pango}
+cp gtkrc2 $BIN/etc/gtk-2.0/gtkrc
cp pango.aliases $BIN/etc/pango/pango.aliases
# Fix pkg-config
-sed -i 's!^prefix=.*!prefix=/usr/'$MINGW'/usr!' \
- $DEV/lib/pkgconfig/*.pc
-
-# Install custom programs
-# grits - DESTDIR=/usr/$MINGW make install
-# rsl - DESTDIR=/usr/$MINGW make install
-# aweather - DESTDIR=/usr/$MINGW make install
+sed -i "s!^prefix=.*!prefix=$DEV!" $DEV/lib/pkgconfig/*.pc
# aweather - DESTDIR=/usr/$MINGW make install
# Download locations
-GTK_URI='http://www.tarnyko.net/repo/GTK+-Bundle-3.6.1_(TARNYKO).exe'
+GTK3_URI='http://www.tarnyko.net/repo/GTK+-Bundle-3.6.1_(TARNYKO).exe'
SOUP_BIN='http://ftp.gnome.org/pub/gnome/binaries/win32/libsoup/2.26/libsoup_2.26.3-1_win32.zip'
SOUP_DEV='http://ftp.gnome.org/pub/gnome/binaries/win32/libsoup/2.26/libsoup-dev_2.26.3-1_win32.zip'
BZIP_BIN='http://downloads.sourceforge.net/project/gnuwin32/bzip2/1.0.5/bzip2-1.0.5-bin.zip'
# Install locations
GCC="mingw32-gcc"
-DEV="/usr/mingw32"
CLEAN="/usr/mingw32-clean"
-BIN="/home/andy/src/aweather-win32/local/gtk-3.6.1"
-EXT="/home/andy/src/aweather-win32/local/packages"
-GTK="/home/andy/.wine/drive_c/Program Files (x86)/GTK+-Bundle-3.6.1"
+PKGS="/home/andy/src/aweather-win32/local/packages"
+WINE="/home/andy/.wine/drive_c/Program Files (x86)/GTK+-Bundle-3.6.1"
+DEV="/usr/mingw32-3.6"
+BIN="/home/andy/src/aweather-win32/local/gtk-3.6"
# Create download dir, if needed
-mkdir -p $EXT
+mkdir -p $PKGS
# Download packages
-wget -O "$EXT/$(basename $GTK_URI)" "$GTK_URI"
-wget -O "$EXT/$(basename $SOUP_BIN)" "$SOUP_BIN"
-wget -O "$EXT/$(basename $SOUP_DEV)" "$SOUP_DEV"
-wget -O "$EXT/$(basename $BZIP_BIN)" "$BZIP_BIN"
-wget -O "$EXT/$(basename $BZIP_DEV)" "$BZIP_DEV"
+wget -O "$PKGS/$(basename $GTK3_URI)" "$GTK3_URI"
+wget -O "$PKGS/$(basename $SOUP_BIN)" "$SOUP_BIN"
+wget -O "$PKGS/$(basename $SOUP_DEV)" "$SOUP_DEV"
+wget -O "$PKGS/$(basename $BZIP_BIN)" "$BZIP_BIN"
+wget -O "$PKGS/$(basename $BZIP_DEV)" "$BZIP_DEV"
+
+# Setup dev folder
+rsync -a --delete "$CLEAN/" "$DEV/"
# Install GTK Bundle
wine extern/gtk-3.6.1-dev.exe
-# Setup dev folder
-rsync -a --delete "$CLEAN/" "$DEV/"
-rsync -a "$GTK/" "$DEV/"
-rsync -a --delete "$GTK/" "$BIN/"
+# Copy GTK Bundle
+rsync -a "$WINE/" "$DEV/"
+rsync -a --delete "$WINE/" "$BIN/"
# Extract packages
-extract -bdx "$EXT/$(basename $SOUP_BIN)"
-extract -dx "$EXT/$(basename $SOUP_DEV)"
-extract -bdx "$EXT/$(basename $BZIP_BIN)"
-extract -dx "$EXT/$(basename $BZIP_DEV)"
+extract -bdx "$PKGS/$(basename $SOUP_BIN)"
+extract -dx "$PKGS/$(basename $SOUP_DEV)"
+extract -bdx "$PKGS/$(basename $BZIP_BIN)"
+extract -dx "$PKGS/$(basename $BZIP_DEV)"
# Cleanup install folders
rm -f $DEV/lib/*.la
--- /dev/null
+#!/bin/bash
+
+function setup {
+ # Parse args
+ bin=false; dev=false;
+ eval set -- "`getopt -n "$0" -o bdx -l bin,dev -- "$@"`"
+ while [ ! "$1" == "--" ]; do
+ case "$1" in
+ -b|--bin) bin=true ;;
+ -d|--dev) dev=true ;;
+ esac
+ shift
+ done
+ url="$SUSE/$2"
+ rpm="$PKGS/$2"
+ tar="${rpm/.rpm/.tar.gz}"
+
+ # Create paths
+ mkdir -p "$PKGS" "$BIN" "$DEV"
+
+ # Download
+ if [ ! -f "$rpm" ]; then
+ wget -O "$rpm" "$url"
+ fi
+ if [ ! -f "$tar" ]; then
+ tmp=`mktemp -d`
+ root="usr/i686-w64-mingw32/sys-root/mingw"
+ ( cd "$tmp"; rpm2cpio "$rpm" | cpio -id )
+ ( cd "$tmp/$root"; tar -caf "$tar" * )
+ rm -rf "$tmp"
+ fi
+
+ # Install
+ echo "Installing $2"
+ $dev && tar -xa -C "$DEV" -f "$tar" || true
+ $bin && tar -xa -C "$BIN" -f "$tar" || true
+}
+
+# Install custom programs
+# grits - DESTDIR=/usr/$MINGW make install
+# rsl - DESTDIR=/usr/$MINGW make install
+# aweather - DESTDIR=/usr/$MINGW make install
+
+set -e
+
+# Install locations
+GCC="mingw32-gcc"
+CLEAN="/usr/mingw32-clean"
+SUSE='http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Factory/noarch'
+PKGS="/home/andy/src/aweather-win32/local/packages"
+DEV="/usr/mingw32-suse"
+BIN="/home/andy/src/aweather-win32/local/gtk-suse"
+
+# Setup dev folder
+rsync -a --delete "$CLEAN/" "$DEV/"
+
+# Install packages
+setup -bd "mingw32-zlib-1.2.7-1.116.noarch.rpm"
+setup -bd "mingw32-libcairo2-1.10.2-8.116.noarch.rpm"
+setup -bd "mingw32-libpng-1.5.11-1.98.noarch.rpm"
+setup -bd "mingw32-freetype-2.4.10-1.97.noarch.rpm"
+setup -bd "mingw32-fontconfig-2.10.1-1.82.noarch.rpm"
+setup -bd "mingw32-libexpat-2.0.1-4.267.noarch.rpm"
+setup -bd "mingw32-libbz2-1.0.6-3.254.noarch.rpm"
+setup -bd "mingw32-pixman-0.26.0-1.108.noarch.rpm"
+setup -bd "mingw32-libsoup-2.38.1-1.110.noarch.rpm"
+setup -bd "mingw32-libxml2-2.8.0-2.59.noarch.rpm"
+setup -bd "mingw32-libintl-0.18.1.1-13.242.noarch.rpm"
+setup -bd "mingw32-libjpeg-8d-3.101.noarch.rpm"
+setup -bd "mingw32-libffi-3.0.10-2.203.noarch.rpm"
+setup -bd "mingw32-libjasper-1.900.1-6.239.noarch.rpm"
+setup -bd "mingw32-libtiff-4.0.2-1.88.noarch.rpm"
+setup -bd "mingw32-liblzma-5.0.4-1.92.noarch.rpm"
+setup -bd "mingw32-glib2-2.34.1-1.33.noarch.rpm"
+setup -bd "mingw32-atk-2.6.0-1.53.noarch.rpm"
+setup -bd "mingw32-pango-1.30.1-1.64.noarch.rpm"
+setup -bd "mingw32-gdk-pixbuf-2.26.3-1.63.noarch.rpm"
+setup -bd "mingw32-gtk2-2.24.14-1.8.noarch.rpm"
+
+setup -d "mingw32-zlib-devel-1.2.7-1.116.noarch.rpm"
+setup -d "mingw32-cairo-devel-1.10.2-8.116.noarch.rpm"
+setup -d "mingw32-libpng-devel-1.5.11-1.98.noarch.rpm"
+setup -d "mingw32-freetype-devel-2.4.10-1.97.noarch.rpm"
+setup -d "mingw32-fontconfig-devel-2.10.1-1.82.noarch.rpm"
+setup -d "mingw32-libexpat-devel-2.0.1-4.267.noarch.rpm"
+setup -d "mingw32-libbz2-devel-1.0.6-3.254.noarch.rpm"
+setup -d "mingw32-pixman-devel-0.26.0-1.108.noarch.rpm"
+setup -d "mingw32-libsoup-devel-2.38.1-1.110.noarch.rpm"
+setup -d "mingw32-libxml2-devel-2.8.0-2.59.noarch.rpm"
+setup -d "mingw32-libintl-devel-0.18.1.1-13.242.noarch.rpm"
+setup -d "mingw32-libjpeg-devel-8d-3.101.noarch.rpm"
+setup -d "mingw32-libffi-devel-3.0.10-2.203.noarch.rpm"
+setup -d "mingw32-libjasper-devel-1.900.1-6.239.noarch.rpm"
+setup -d "mingw32-libtiff-devel-4.0.2-1.88.noarch.rpm"
+setup -d "mingw32-liblzma-devel-5.0.4-1.92.noarch.rpm"
+setup -d "mingw32-glib2-devel-2.34.1-1.33.noarch.rpm"
+setup -d "mingw32-atk-devel-2.6.0-1.53.noarch.rpm"
+setup -d "mingw32-pango-devel-1.30.1-1.64.noarch.rpm"
+setup -d "mingw32-gdk-pixbuf-devel-2.26.3-1.63.noarch.rpm"
+setup -d "mingw32-gtk2-devel-2.24.14-1.8.noarch.rpm"
+
+# Cleanup install folders
+echo "Cleaning install folders"
+rm -f $DEV/lib/*.la
+rm -rf $BIN/{contrib,include,man,manifest,src,*.txt}
+rm -rf $BIN/share/{aclocal,glib,gtk,locale,man,doc}*
+rm -f $BIN/lib/GNU.Gettext.dll
+rm -rf $BIN/etc/bash_completion.d
+find "$BIN/bin/" "$BIN/lib/" -type f \
+ -and -not -name '*.dll' \
+ -and -not -name '*.cache' \
+ -and -not -name 'gspawn-*' \
+ -delete
+find "$BIN/bin/" "$BIN/lib/" -type f \
+ -and -not -name 'libxml*dll' \
+ -and -not -name 'iconv.dll' \
+ -exec strip -s "{}" ";"
+find "$BIN" -type d -delete 2>/dev/null || true
+
+# Working xdg-open
+echo "Building xdg-open"
+$GCC -Wall -mwindows -o $BIN/bin/xdg-open.exe xdg-open.c
+
+# Custom settings
+echo "Adding custom settings"
+mkdir -p $BIN/etc/{gtk-2.0,pango}
+cp gtkrc2 $BIN/etc/gtk-2.0/gtkrc
+cp pango.aliases $BIN/etc/pango/pango.aliases
+
+# Fix pkg-config
+echo "Fixing pkg-config"
+sed -i "s!^prefix=.*!prefix=$DEV!" $DEV/lib/pkgconfig/*.pc