From 1569b5962f4a9f301d16070c4b1ae19cfb3c0c10 Mon Sep 17 00:00:00 2001 From: Andy Spencer Date: Thu, 29 Dec 2011 01:14:38 +0000 Subject: [PATCH] Initial import --- .gitignore | 6 +++ Makefile | 4 ++ config.mk.sample | 18 ++++++++ mac/Makefile | 41 ++++++++++++++++++ mac/aweather.bundle | 41 ++++++++++++++++++ mac/aweather.gtkrc | 3 ++ mac/aweather.icns | Bin 0 -> 36548 bytes mac/aweather.launcher | 22 ++++++++++ mac/aweather.modules | 24 +++++++++++ mac/aweather.plist | 41 ++++++++++++++++++ src/Makefile | 39 +++++++++++++++++ win/Makefile | 49 +++++++++++++++++++++ win/aweather.nsi | 97 ++++++++++++++++++++++++++++++++++++++++++ win/gtkrc | 8 ++++ win/pango.aliases | 7 +++ win/setup-mingw.sh | 73 +++++++++++++++++++++++++++++++ win/xdg-open.c | 8 ++++ 17 files changed, 481 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 config.mk.sample create mode 100644 mac/Makefile create mode 100644 mac/aweather.bundle create mode 100644 mac/aweather.gtkrc create mode 100644 mac/aweather.icns create mode 100755 mac/aweather.launcher create mode 100644 mac/aweather.modules create mode 100644 mac/aweather.plist create mode 100644 src/Makefile create mode 100644 win/Makefile create mode 100644 win/aweather.nsi create mode 100644 win/gtkrc create mode 100644 win/pango.aliases create mode 100755 win/setup-mingw.sh create mode 100644 win/xdg-open.c diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aedc5d0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*~ +*.swp +*.tar.gz +*.exe +*.dmg +config.mk diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f6b8651 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +all: + make -C src all + make -C mac all + make -C win all diff --git a/config.mk.sample b/config.mk.sample new file mode 100644 index 0000000..7c3df8c --- /dev/null +++ b/config.mk.sample @@ -0,0 +1,18 @@ +FILES = /scratch/aweather-pkg/files + +VER_AWEATHER = 0.6.1 +VER_GRITS = 0.6.1 +VER_RSL = 1.42 + +SRC_AWEATHER = /scratch/aweather +SRC_GRITS = /scratch/grits +SRC_RSL = /scratch/rsl + +WIN_AWEATHER = /scratch/aweather-win32 +WIN_GRITS = /scratch/grits-win32 +WIN_RSL = /scratch/rsl-win32 + +MAC_HOST = d +MAC_AWEATHER = /Users/andy/src/aweather +MAC_GRITS = /Users/andy/src/grits +MAC_RSL = /Users/andy/src/rsl diff --git a/mac/Makefile b/mac/Makefile new file mode 100644 index 0000000..43d9810 --- /dev/null +++ b/mac/Makefile @@ -0,0 +1,41 @@ +include ../config.mk + +DESTDIR = $(MAC_AWEATHER)/build +PACKAGES = $(FILES)/aweather-$(VER_AWEATHER).dmg +GTKINST = /Users/andy/gtk/inst +export DESTDIR GTKINST MAC_AWEATHER + +all-mac: $(PACKAGES) + @echo all-mac + +$(DESTDIR): $(MAC_AWEATHER)/src/aweather + make -C $(MAC_AWEATHER) install + make -C $(MAC_GRITS) install + make -C $(MAC_RSL) install + find $(DESTDIR) -name '*.a' -delete + find $(DESTDIR) -name '*.la' -delete + rm -rf $(DESTDIR)/share/rsl/colors + rm -rf $(DESTDIR)/include + touch $@ + +$(PACKAGES): $(DESTDIR) + rsync -uav $(DESTDIR)/ $(GTKINST)/ + jhbuild run gtk-mac-bundler aweather.bundle + create-dmg --volname 'AWeather-$(VER_AWEATHER)' \ + $(MAC_AWEATHER)/aweather-$(VER_AWEATHER).dmg \ + $(MAC_AWEATHER)/AWeather.app + $(MAC_AWEATHER)/aweather-$(VER_AWEATHER).dmg + cp $(FILES) + +aweather-gen: + PKG_CONFIG_PATH="../grits/src/" \ + ./autogen.sh "--enable-relative" \ + CFLAGS="-g -Werror $(CFLAGS)" + +grits-gen: + ./autogen.sh \ + --enable-shared \ + --disable-static \ + "--libdir=$(MAC_GRITS)/src/.libs" \ + "--includedir=$(MAC_GRITS)/include" \ + CFLAGS="-g -Werror" diff --git a/mac/aweather.bundle b/mac/aweather.bundle new file mode 100644 index 0000000..64d5f9d --- /dev/null +++ b/mac/aweather.bundle @@ -0,0 +1,41 @@ + + + + ${env:GTKINST} + ${env:MAC_AWEATHER} + + + ${project}/aweather.launcher + gtk+-2.0 + + + ${project}/aweather.plist + ${prefix}/bin/aweather + + ${prefix}/bin/wsr88ddec + ${prefix}/bin/grits-demo + ${prefix}/bin/xdg-open + ${prefix}/lib/aweather/*.so + ${prefix}/lib/grits2/*.so + ${prefix}/share/aweather + ${prefix}/share/doc/aweather + ${prefix}/share/rsl/*.dat + ${prefix}/share/icons/hicolor/16x16/apps/aweather.png + ${prefix}/share/icons/hicolor/22x22/apps/aweather.png + ${prefix}/share/icons/hicolor/24x24/apps/aweather.png + ${prefix}/share/icons/hicolor/32x32/apps/aweather.png + ${prefix}/share/icons/hicolor/48x48/apps/aweather.png + ${prefix}/share/icons/hicolor/scalable/apps/aweather.svg + ${project}/aweather.icns + + ${prefix}/lib/${gtkdir}/modules/*.so + ${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/engines/*.so + ${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/printbackends/*.so + ${prefix}/lib/gdk-pixbuf-2.0/${pkg:${gtk}:gtk_binary_version}/loaders/*.so + + ${prefix}/share/themes/Clearlooks + ${prefix}/share/themes/Default + ${prefix}/share/themes/Mac + ${prefix}/share/themes/Quartz + ${project}/aweather.gtkrc + diff --git a/mac/aweather.gtkrc b/mac/aweather.gtkrc new file mode 100644 index 0000000..e032c59 --- /dev/null +++ b/mac/aweather.gtkrc @@ -0,0 +1,3 @@ +include "../../share/themes/Clearlooks/gtk-2.0/gtkrc" +gtk-icon-theme-name = "Tango" +gtk-enable-mnemonics = 0 diff --git a/mac/aweather.icns b/mac/aweather.icns new file mode 100644 index 0000000000000000000000000000000000000000..e4c98eb560d05f9634439d0a99aff8997ce424f6 GIT binary patch literal 36548 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 z

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 T<;4HlX=83y0000CLjC{%H7eaw literal 0 HcmV?d00001 diff --git a/mac/aweather.launcher b/mac/aweather.launcher new file mode 100755 index 0000000..63a2980 --- /dev/null +++ b/mac/aweather.launcher @@ -0,0 +1,22 @@ +#!/bin/bash + +cd "$(dirname $0)/../Resources/bin" + +PREFIX="$(dirname "$(pwd)")" + +export DYLD_LIBRARY_PATH="$PREFIX/lib" +export XDG_CONFIG_DIRS="$PREFIX/etc/xdg" +export XDG_DATA_DIRS="$PREFIX/share" +export GTK_DATA_PREFIX="$PREFIX" +export GTK_EXE_PREFIX="$PREFIX" +export GTK_PATH="$PREFIX" + +export GTK2_RC_FILES="$PREFIX/etc/gtk-2.0/gtkrc" +export GTK_IM_MODULE_FILE="$PREFIX/etc/gtk-2.0/gtk.immodules" +export GDK_PIXBUF_MODULE_FILE="$PREFIX/etc/gtk-2.0/gdk-pixbuf.loaders" +export PANGO_RC_FILE="$PREFIX/etc/pango/pangorc" + +export PATH="$PATH:$PREFIX/bin" + +[[ "$1" = '-psn_'* ]] && shift +../../MacOS/AWeather-bin "$@" diff --git a/mac/aweather.modules b/mac/aweather.modules new file mode 100644 index 0000000..fc11b3b --- /dev/null +++ b/mac/aweather.modules @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mac/aweather.plist b/mac/aweather.plist new file mode 100644 index 0000000..85e4abd --- /dev/null +++ b/mac/aweather.plist @@ -0,0 +1,41 @@ + + + + + CFBundleDevelopmentRegion + English + + CFBundleExecutable + AWeather + + CFBundleGetInfoString + 0.6.3, (C) 2011 Andy Spencer + + CFBundleIconFile + aweather.icns + + CFBundleIdentifier + edu.rose-hulman.lug.aweather + + CFBundleInfoDictionaryVersion + 6.0 + + CFBundlePackageType + APPL + + CFBundleShortVersionString + 0.6.3 + + CFBundleSignature + ???? + + CFBundleVersion + 0.6.3 + + NSHumanReadableCopyright + Copyright 2011 Andy Spencer, GNU General Public License. + + LSMinimumSystemVersion + 10.4 + + diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..b1d740b --- /dev/null +++ b/src/Makefile @@ -0,0 +1,39 @@ +include ../config.mk + +PACKAGES = $(FILES)/aweather-$(VER_AWEATHER).tar.gz \ + $(FILES)/grits-$(VER_GRITS).tar.gz \ + $(FILES)/rsl-$(VER_RSL).tar.gz + +all: $(PACKAGES) + @echo all-src + +clean: + @echo clean-src + rm -f $(PACKAGES) + +$(PACKAGES): + make -C $(SRC_AWEATHER) dist + make -C $(SRC_GRITS) dist + make -C $(SRC_RSL) dist + cp -t $(FILES) \ + $(SRC_AWEATHER)/aweather-$(VER_AWEATHER).tar.gz \ + $(SRC_GRITS)/grits-$(VER_GRITS).tar.gz \ + $(SRC_RSL)/rsl-$(VER_RSL).tar.gz + +aweather-gen: + cd $(SRC_AWEATHER); \ + PKG_CONFIG_PATH="$(MAC_GRITS)" \ + LIBS="-L$(MAC_GRITS)" \ + CPPFLAGS="-I$(MAC_GRITS)" \ + ./autogen.sh \ + --enable-shared \ + --disable-static \ + CFLAGS="-g -Werror $CFLAGS" + +grits-gen: + cd $(SRC_GRITS); \ + ./autogen.sh \ + "--enable-gtk-doc" \ + "--libdir=$(SRC_GRITS)/src/.libs" \ + "--includedir=$(SRC_GRITS)/include" \ + CFLAGS="-g -Werror $(CFLAGS)" diff --git a/win/Makefile b/win/Makefile new file mode 100644 index 0000000..e4c63d4 --- /dev/null +++ b/win/Makefile @@ -0,0 +1,49 @@ +include ../config.mk + +export \ +DESTDIR = $(WIN_AWEATHER)/build + +INSTALLERS = $(FILES)/aweather-$(VER_AWEATHER).exe \ + $(FILES)/aweather-$(VER_AWEATHER)-gtk.exe + +all: $(INSTALLERS) + @echo all-win + +clean: + @echo clean-win + rm -f $(INSTALLERS) + +$(DESTDIR): + make -C $(WIN_AWEATHER) install + make -C $(WIN_GRITS) install + make -C $(WIN_RSL) install + find $(DESTDIR) -name '*.a' -delete + find $(DESTDIR) -name '*.la' -delete + rm -rf $(DESTDIR)/share/rsl/colors + rm -rf $(DESTDIR)/include + touch $@ + +$(INSTALLERS): $(DESTDIR) + cd $(WIN_AWEATHER); \ + makensis -DVERSION=$(VER_AWEATHER) aweather.nsi; \ + makensis -DVERSION=$(VER_AWEATHER) -DUSE_GTK aweather.nsi + cp $(WIN_AWEATHER)/aweather-$(VERSION)*.exe $(FILES) + +aweather-gen: + cd $(WIN_AWEATHER); \ + PKG_CONFIG_PATH="$(WIN_GRITS)" \ + LIBS="-L$(WIN_GRITS)"\ + CPPFLAGS="-I$(WIN_GRITS)"\ + CFLAGS="-g -Werror -Wno-unused -O3"\ + ./autogen.sh \ + --enable-shared \ + --disable-static \ + --host=i686-pc-mingw32 + +grits-gen: + cd $(WIN_GRITS); \ + ./autogen.sh \ + --enable-shared \ + --disable-static \ + --host=i686-pc-mingw32 \ + CFLAGS="-g -Werror -Wno-unused -O3" diff --git a/win/aweather.nsi b/win/aweather.nsi new file mode 100644 index 0000000..e7bf623 --- /dev/null +++ b/win/aweather.nsi @@ -0,0 +1,97 @@ +SetCompressor /SOLID lzma +!define MULTIUSER_EXECUTIONLEVEL Highest +!define MULTIUSER_MUI +!define MULTIUSER_INSTALLMODE_COMMANDLINE +!define MULTIUSER_INSTALLMODE_INSTDIR AWeather +!include "MultiUser.nsh" +!include "MUI2.nsh" + +Function .onInit + !insertmacro MULTIUSER_INIT +FunctionEnd + +Function un.onInit + !insertmacro MULTIUSER_UNINIT +FunctionEnd + +Name "AWeather" +!ifndef VERSION + !define VERSION LATEST +!endif +!ifdef USE_GTK + OutFile "aweather-${VERSION}-gtk.exe" +!else + OutFile "aweather-${VERSION}.exe" +!endif +InstallDir AWeather +Icon "${ROOT}/data/icons/48x48/aweather.ico" + +!define MUI_ABORTWARNING + +!insertmacro MUI_PAGE_LICENSE "${ROOT}/COPYING" +!insertmacro MULTIUSER_PAGE_INSTALLMODE +!insertmacro MUI_PAGE_COMPONENTS +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +!insertmacro MUI_LANGUAGE "English" + +Section "AWeather (required)" SecAWeather + SectionIn RO + + SetOutPath $INSTDIR + File /r build/* + !ifdef USE_GTK + file /r gtk/* + !endif + + StrCmp $MultiUser.InstallMode "AllUsers" 0 +4 + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AWeather" "DisplayName" "AWeather" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AWeather" "UninstallString" "$INSTDIR\uninstaller.exe" + Goto +3 + WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\AWeather" "DisplayName" "AWeather" + WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\AWeather" "UninstallString" "$INSTDIR\uninstaller.exe" + + FileOpen $0 $INSTDIR\instmode.dat w + FileWrite $0 $MultiUser.InstallMode + FileClose $0 + + WriteUninstaller $INSTDIR\uninstaller.exe +SectionEnd +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN +!insertmacro MUI_DESCRIPTION_TEXT ${SecAWeather} "AWeather core files." +!insertmacro MUI_FUNCTION_DESCRIPTION_END + +Section "Desktop Icons" + SetOutPath $INSTDIR\bin + CreateShortCut "$DESKTOP\AWeather.lnk" "$INSTDIR\bin\aweather.exe" "" "$INSTDIR\bin\aweather.exe" 0 +SectionEnd + +Section "Start Menu Shortcuts" + SetOutPath $INSTDIR\bin + CreateDirectory "$SMPROGRAMS\AWeather" + CreateShortCut "$SMPROGRAMS\AWeather\Uninstall AWeather.lnk" "$INSTDIR\uninstaller.exe" "" "$INSTDIR\uninstaller.exe" 0 + CreateShortCut "$SMPROGRAMS\AWeather\AWeather.lnk" "$INSTDIR\bin\aweather.exe" "" "$INSTDIR\bin\aweather.exe" 0 + CreateShortCut "$SMPROGRAMS\AWeather\AWeather (debug).lnk" "cmd.exe" "/K aweather-dbg.exe -d 7" "$INSTDIR\bin\aweather-dbg.exe" 0 +SectionEnd + +Section "Uninstall" + FileOpen $0 $INSTDIR\instmode.dat r + FileRead $0 $1 + FileClose $0 + + StrCmp $1 "AllUsers" 0 +4 + SetShellVarContext all + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AWeather" + Goto +3 + SetShellVarContext current + DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\AWeather" + + Delete $DESKTOP\AWeather.exe.lnk + + RMDir /r $SMPROGRAMS\AWeather + RMDir /r $INSTDIR +SectionEnd diff --git a/win/gtkrc b/win/gtkrc new file mode 100644 index 0000000..c9b5095 --- /dev/null +++ b/win/gtkrc @@ -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/pango.aliases b/win/pango.aliases new file mode 100644 index 0000000..afdce43 --- /dev/null +++ b/win/pango.aliases @@ -0,0 +1,7 @@ +courier = "courier new,courier monothai" +mono = "consolas,courier new,lucida console,courier monothai,mingliu,simsun,gulimche,ms gothic,kartika,latha,mangal,raavi" +monospace = "consolas,courier new,lucida console,courier monothai,mingliu,simsun,gulimche,ms gothic,kartika,latha,mangal,raavi" +sans = "arial,lucida sans unicode,browallia new,mingliu,simhei,gulimche,ms gothic,kartika,latha,mangal,raavi" +"segoe ui" = "segoe ui,meiryo,malgun gothic,microsoft jhenghei,microsoft yahei,gisha,leelawadee" +serif = "times new roman,angsana new,mingliu,simsun,gulimche,ms gothic,kartika,latha,mangal,raavi" +tahoma = "tahoma,lucida sans unicode,browallia new,mingliu,simhei,gulimche,ms gothic,kartika,latha,mangal,raavi" diff --git a/win/setup-mingw.sh b/win/setup-mingw.sh new file mode 100755 index 0000000..eae6515 --- /dev/null +++ b/win/setup-mingw.sh @@ -0,0 +1,73 @@ +#!/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 locations +DEV=/usr/i686-pc-mingw32-2.24 +BIN=/scratch/aweather-win32/local/gtk/gtk-2.24 + +# Copy clean folder +rsync -a /usr/i686-pc-mingw32-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 + +# Cleanup 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 + +# Fix broken packages +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 mingw/xdg-open.c +cp mingw/gtkrc $BIN/etc/gtk-2.0/gtkrc +cp mingw/pango.aliases $BIN/etc/pango/pango.aliases + +# Fix pkg-config +sed -i 's!^prefix=.*!prefix=/usr/i686-pc-mingw32!' \ + $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 diff --git a/win/xdg-open.c b/win/xdg-open.c new file mode 100644 index 0000000..33c171e --- /dev/null +++ b/win/xdg-open.c @@ -0,0 +1,8 @@ +#include +#include +int main(int argc, char* argv[]) +{ + if (argc > 1) + ShellExecute(NULL, "open", argv[1], "", NULL, SW_SHOWNORMAL); + return 0; +} -- 2.43.2