]> Pileus Git - ~andy/aweather-pkg/blob - win/setup-mingw-suse.sh
004e252d7c755859668aa55bffe77c7d65a42104
[~andy/aweather-pkg] / win / setup-mingw-suse.sh
1 #!/bin/bash
2
3 function setup {
4         # Parse args
5         bin=false; dev=false;
6         eval set -- "`getopt -n "$0" -o bdx -l bin,dev -- "$@"`"
7         while [ ! "$1" == "--" ]; do
8                 case "$1" in
9                         -b|--bin) bin=true ;;
10                         -d|--dev) dev=true ;;
11                 esac
12                 shift
13         done
14         url="$SUSE/$2"
15         rpm="$PKGS/$2"
16         tar="${rpm/.rpm/.tar.gz}"
17
18         # Create paths
19         mkdir -p "$PKGS" "$BIN" "$DEV"
20
21         # Download
22         if [ ! -f "$rpm" ]; then
23                 wget -O "$rpm" "$url"
24         fi
25         if [ ! -f "$tar" ]; then
26                 tmp=`mktemp -d`
27                 root="usr/i686-w64-mingw32/sys-root/mingw"
28                 ( cd "$tmp"; rpm2cpio "$rpm" | cpio -id )
29                 ( cd "$tmp/$root"; tar -caf "$tar" * )
30                 rm -rf "$tmp"
31         fi
32
33         # Install
34         echo "Installing $2"
35         $dev && tar -xa -C "$DEV" -f "$tar" || true
36         $bin && tar -xa -C "$BIN" -f "$tar" || true
37 }
38
39 # Install custom programs
40 #   grits    - DESTDIR=/usr/$MINGW make install
41 #   rsl      - DESTDIR=/usr/$MINGW make install
42 #   aweather - DESTDIR=/usr/$MINGW make install
43
44 set -e
45
46 # Install locations
47 GCC="mingw32-gcc"
48 CLEAN="/usr/mingw32-clean"
49 SUSE='http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Factory/noarch'
50 PKGS="/home/andy/src/aweather-win32/local/packages"
51 DEV="/usr/mingw32-suse"
52 BIN="/home/andy/src/aweather-win32/local/gtk-suse"
53
54 # Setup dev folder
55 rsync -a --delete "$CLEAN/" "$DEV/"
56
57 # Install packages
58 setup -bd "mingw32-zlib-1.2.7-1.116.noarch.rpm"
59 setup -bd "mingw32-libcairo2-1.10.2-8.116.noarch.rpm"
60 setup -bd "mingw32-libpng-1.5.11-1.98.noarch.rpm"
61 setup -bd "mingw32-freetype-2.4.10-1.97.noarch.rpm"
62 setup -bd "mingw32-fontconfig-2.10.1-1.82.noarch.rpm"
63 setup -bd "mingw32-libexpat-2.0.1-4.267.noarch.rpm"
64 setup -bd "mingw32-libbz2-1.0.6-3.254.noarch.rpm"
65 setup -bd "mingw32-pixman-0.26.0-1.108.noarch.rpm"
66 setup -bd "mingw32-libsoup-2.38.1-1.110.noarch.rpm"
67 setup -bd "mingw32-libxml2-2.8.0-2.59.noarch.rpm"
68 setup -bd "mingw32-libintl-0.18.1.1-13.242.noarch.rpm"
69 setup -bd "mingw32-libjpeg-8d-3.101.noarch.rpm"
70 setup -bd "mingw32-libffi-3.0.10-2.203.noarch.rpm"
71 setup -bd "mingw32-libjasper-1.900.1-6.239.noarch.rpm"
72 setup -bd "mingw32-libtiff-4.0.2-1.88.noarch.rpm"
73 setup -bd "mingw32-liblzma-5.0.4-1.92.noarch.rpm"
74 setup -bd "mingw32-glib2-2.34.1-1.33.noarch.rpm"
75 setup -bd "mingw32-atk-2.6.0-1.53.noarch.rpm"
76 setup -bd "mingw32-pango-1.30.1-1.64.noarch.rpm"
77 setup -bd "mingw32-gdk-pixbuf-2.26.3-1.63.noarch.rpm"
78 setup -bd "mingw32-gtk2-2.24.14-1.8.noarch.rpm"
79
80 setup -d  "mingw32-zlib-devel-1.2.7-1.116.noarch.rpm"
81 setup -d  "mingw32-cairo-devel-1.10.2-8.116.noarch.rpm"
82 setup -d  "mingw32-libpng-devel-1.5.11-1.98.noarch.rpm"
83 setup -d  "mingw32-freetype-devel-2.4.10-1.97.noarch.rpm"
84 setup -d  "mingw32-fontconfig-devel-2.10.1-1.82.noarch.rpm"
85 setup -d  "mingw32-libexpat-devel-2.0.1-4.267.noarch.rpm"
86 setup -d  "mingw32-libbz2-devel-1.0.6-3.254.noarch.rpm"
87 setup -d  "mingw32-pixman-devel-0.26.0-1.108.noarch.rpm"
88 setup -d  "mingw32-libsoup-devel-2.38.1-1.110.noarch.rpm"
89 setup -d  "mingw32-libxml2-devel-2.8.0-2.59.noarch.rpm"
90 setup -d  "mingw32-libintl-devel-0.18.1.1-13.242.noarch.rpm"
91 setup -d  "mingw32-libjpeg-devel-8d-3.101.noarch.rpm"
92 setup -d  "mingw32-libffi-devel-3.0.10-2.203.noarch.rpm"
93 setup -d  "mingw32-libjasper-devel-1.900.1-6.239.noarch.rpm"
94 setup -d  "mingw32-libtiff-devel-4.0.2-1.88.noarch.rpm"
95 setup -d  "mingw32-liblzma-devel-5.0.4-1.92.noarch.rpm"
96 setup -d  "mingw32-glib2-devel-2.34.1-1.33.noarch.rpm"
97 setup -d  "mingw32-atk-devel-2.6.0-1.53.noarch.rpm"
98 setup -d  "mingw32-pango-devel-1.30.1-1.64.noarch.rpm"
99 setup -d  "mingw32-gdk-pixbuf-devel-2.26.3-1.63.noarch.rpm"
100 setup -d  "mingw32-gtk2-devel-2.24.14-1.8.noarch.rpm"
101
102 # Cleanup install folders
103 echo "Cleaning install folders"
104 rm  -f $DEV/lib/*.la
105 rm -rf $BIN/{contrib,include,man,manifest,src,*.txt}
106 rm -rf $BIN/share/{aclocal,glib,gtk,locale,man,doc}*
107 rm  -f $BIN/lib/GNU.Gettext.dll
108 rm -rf $BIN/etc/bash_completion.d
109 find "$BIN/bin/" "$BIN/lib/" -type f \
110         -and -not -name '*.dll'      \
111         -and -not -name '*.cache'    \
112         -and -not -name 'gspawn-*'   \
113         -delete
114 find "$BIN/bin/" "$BIN/lib/" -type f \
115         -and -not -name 'libxml*dll' \
116         -and -not -name 'iconv.dll'  \
117         -exec strip -s "{}" ";"
118 find "$BIN" -type d -delete 2>/dev/null || true
119
120 # Working xdg-open
121 echo "Building xdg-open"
122 $GCC -Wall -mwindows -o $BIN/bin/xdg-open.exe xdg-open.c
123
124 # Custom settings
125 echo "Adding custom settings"
126 mkdir -p $BIN/etc/{gtk-2.0,pango}
127 cp gtkrc2        $BIN/etc/gtk-2.0/gtkrc
128 cp pango.aliases $BIN/etc/pango/pango.aliases
129
130 # Fix pkg-config
131 echo "Fixing pkg-config"
132 sed -i "s!^prefix=.*!prefix=$DEV!" $DEV/lib/pkgconfig/*.pc