From ce89d46510811efd8a0fd31dbb7fe223ea5797d2 Mon Sep 17 00:00:00 2001 From: Andy Spencer Date: Fri, 28 Dec 2012 08:42:57 +0000 Subject: [PATCH] Update for gentoo and Gtk 3 --- win/Makefile | 6 +- win/{gtkrc => gtkrc2} | 0 win/gtkrc3 | 8 ++ win/i486-mingw32-pkg-config | 7 ++ win/mingw32-pkg-config | 6 ++ win/{setup-mingw.sh => setup-mingw-2.24.sh} | 32 +++---- win/setup-mingw-3.6.sh | 94 +++++++++++++++++++++ 7 files changed, 135 insertions(+), 18 deletions(-) rename win/{gtkrc => gtkrc2} (100%) create mode 100644 win/gtkrc3 create mode 100755 win/i486-mingw32-pkg-config create mode 100755 win/mingw32-pkg-config rename win/{setup-mingw.sh => setup-mingw-2.24.sh} (60%) create mode 100755 win/setup-mingw-3.6.sh diff --git a/win/Makefile b/win/Makefile index 947b1b5..b71694e 100644 --- a/win/Makefile +++ b/win/Makefile @@ -38,7 +38,7 @@ aweather-gen: --enable-relative \ --enable-shared \ --disable-static \ - --host=i686-pc-mingw32 + --host=mingw32 grits-gen: cd $(WIN_GRITS); \ @@ -46,7 +46,7 @@ grits-gen: --enable-relative \ --enable-shared \ --disable-static \ - --host=i686-pc-mingw32 \ + --host=mingw32 \ CFLAGS="-g -Werror -Wno-unused -O3" rsl-gen: @@ -55,5 +55,5 @@ rsl-gen: --enable-relative \ --enable-shared \ --disable-static \ - --host=i686-pc-mingw32 \ + --host=mingw32 \ CFLAGS="-g -Wall -Wno-unused -O3" diff --git a/win/gtkrc b/win/gtkrc2 similarity index 100% rename from win/gtkrc rename to win/gtkrc2 diff --git a/win/gtkrc3 b/win/gtkrc3 new file mode 100644 index 0000000..c9b5095 --- /dev/null +++ b/win/gtkrc3 @@ -0,0 +1,8 @@ +gtk-theme-name = "MS-Windows" +gtk-icon-theme-name = "Tango" +gtk-fallback-icon-theme = "hicolor" +gtk-alternative-button-order = 1 +gtk-alternative-sort-arrows = 1 +gtk-auto-mnemonics = 1 +gtk-show-input-method-menu = 0 +gtk-show-unicode-menu = 0 diff --git a/win/i486-mingw32-pkg-config b/win/i486-mingw32-pkg-config new file mode 100755 index 0000000..9ab513c --- /dev/null +++ b/win/i486-mingw32-pkg-config @@ -0,0 +1,7 @@ +#!/bin/bash + +export PKG_CONFIG_LIBDIR=/usr/i486-mingw32/lib/pkgconfig +export PKG_CONFIG_PATH="${PKG_CONFIG_PATH//\/usr*/}" +export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/i486-mingw32/lib/pkgconfig" +export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/i486-mingw32/usr/lib/pkgconfig" +pkg-config "$@" diff --git a/win/mingw32-pkg-config b/win/mingw32-pkg-config new file mode 100755 index 0000000..94a922e --- /dev/null +++ b/win/mingw32-pkg-config @@ -0,0 +1,6 @@ +#!/bin/bash + +export PKG_CONFIG_LIBDIR=/usr/mingw32/lib/pkgconfig +export PKG_CONFIG_PATH="${PKG_CONFIG_PATH//\/usr*/}" +export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/mingw32/lib/pkgconfig" +pkg-config "$@" diff --git a/win/setup-mingw.sh b/win/setup-mingw-2.24.sh similarity index 60% rename from win/setup-mingw.sh rename to win/setup-mingw-2.24.sh index be1f2e8..6ef4169 100755 --- a/win/setup-mingw.sh +++ b/win/setup-mingw-2.24.sh @@ -23,21 +23,23 @@ function extract { } # Install locations -DEV=/usr/i686-pc-mingw32-2.24 +MINGW=i486-mingw32 +DEV=/usr/$MINGW/usr BIN=/scratch/aweather-win32/local/gtk/gtk-2.24 +EXT=/home/andy/b/scratch/aweather/local/extern # Copy clean folder -rsync -a /usr/i686-pc-mingw32-clean/ "$DEV/" +rsync -a /usr/$MINGW-clean/ "$DEV/" # Extract packages -extract -bdx /scratch/aweather/local/extern/gtk+-bundle_2.24.8-20111122_win32.zip -extract -bd /scratch/aweather/local/extern/iconv-1.9.2.win32.zip -extract -bd /scratch/aweather/local/extern/libxml2-2.7.6.win32.zip -extract -bx /scratch/aweather/local/extern/libsoup_2.26.3-1_win32.zip -extract -dx /scratch/aweather/local/extern/libsoup-dev_2.26.3-1_win32.zip -extract -bx /scratch/aweather/local/extern/bzip2-1.0.5-bin.zip -extract -dx /scratch/aweather/local/extern/bzip2-1.0.5-lib.zip -#extract -dx /scratch/aweather/local/extern/freeglut-MinGW-2.8.0-1.mp.zip +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 # Cleanup install folders rm -f $DEV/lib/*.la @@ -60,15 +62,15 @@ find "$BIN" -type d -delete 2>/dev/null cp /usr/lib/pkgconfig/libxml-2.0.pc $DEV/lib/pkgconfig rename libxml2.dll libxml2-2.dll {$DEV,$BIN}/bin/* -i686-pc-mingw32-gcc -Wall -mwindows -o $BIN/bin/xdg-open.exe xdg-open.c +$MINGW-gcc -Wall -mwindows -o $BIN/bin/xdg-open.exe xdg-open.c cp gtkrc $BIN/etc/gtk-2.0/gtkrc cp pango.aliases $BIN/etc/pango/pango.aliases # Fix pkg-config -sed -i 's!^prefix=.*!prefix=/usr/i686-pc-mingw32!' \ +sed -i 's!^prefix=.*!prefix=/usr/'$MINGW'/usr!' \ $DEV/lib/pkgconfig/*.pc # Install custom programs -# grits - DESTDIR=/usr/i686-pc-mingw32 make install -# rsl - DESTDIR=/usr/i686-pc-mingw32 make install -# aweather - DESTDIR=/usr/i686-pc-mingw32 make install +# grits - DESTDIR=/usr/$MINGW make install +# rsl - DESTDIR=/usr/$MINGW make install +# aweather - DESTDIR=/usr/$MINGW make install diff --git a/win/setup-mingw-3.6.sh b/win/setup-mingw-3.6.sh new file mode 100755 index 0000000..101d58c --- /dev/null +++ b/win/setup-mingw-3.6.sh @@ -0,0 +1,94 @@ +#!/bin/bash + +function extract { + bin=false; dev=false; ext=false; + eval set -- "`getopt -n "$0" -o bdx -l bin,dev,ext -- "$@"`" + while [ ! "$1" == "--" ]; do + case "$1" in + -b|--bin) bin=true ;; + -d|--dev) dev=true ;; + -x|--ext) ext=true ;; + esac + shift + done + + zip=$2 + sub=$(basename "${zip/.zip/}") + tmp=`mktemp -d` + $ext && unzip "$zip" -d "$tmp/$sub" \ + || unzip "$zip" -d "$tmp" + $dev && rsync -a "$tmp/$sub/" "$DEV/" + $bin && rsync -a "$tmp/$sub/" "$BIN/" + 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 +GTK_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' +BZIP_DEV='http://downloads.sourceforge.net/project/gnuwin32/bzip2/1.0.5/bzip2-1.0.5-lib.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" + +# Create download dir, if needed +mkdir -p $EXT + +# 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" + +# 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/" + +# 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)" + +# Cleanup install folders +rm -f $DEV/lib/*.la +rm -rf $BIN/{contrib,include,man,manifest,*.exe} +rm -rf $BIN/share/{aclocal,bash,doc,gdb,glib,gtk,info,locale,man}* +rm -f $BIN/lib/GNU.Gettext.dll +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 + +# Working xdg-open +$GCC -Wall -mwindows -o $BIN/bin/xdg-open.exe xdg-open.c + +# Custom settings +mkdir -p $BIN/etc/{gtk-3.0,pango} +cp gtkrc3 $BIN/etc/gtk-3.0/gtkrc +cp pango.aliases $BIN/etc/pango/pango.aliases + +# Fix pkg-config +sed -i "s!^prefix=.*!prefix=$DEV!" $DEV/lib/pkgconfig/*.pc -- 2.43.2