summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Gu <timothygu99@gmail.com>2014-10-13 21:25:06 (GMT)
committerTimothy Gu <timothygu99@gmail.com>2014-10-13 21:25:06 (GMT)
commitdfb31884f9ce53305c685aca4a06f1accbc99b52 (patch)
tree2f490f144f4e6fa12bf615cf72596a7e61cce789
parent1f24f220852833b66f8ecbf9d3ed6b81609f0e4a (diff)
parent02d7a15bdb9b92f07c48ecf7f420e69b2b2432b9 (diff)
downloadmxe-dfb31884f9ce53305c685aca4a06f1accbc99b52.zip
mxe-dfb31884f9ce53305c685aca4a06f1accbc99b52.tar.gz
mxe-dfb31884f9ce53305c685aca4a06f1accbc99b52.tar.bz2
Merge remote-tracking branch 'origin/master'
-rw-r--r--src/cairo-2-static-init.patch10
-rw-r--r--src/cairomm.mk11
-rw-r--r--src/gdb.mk9
-rw-r--r--src/glfw2.mk19
-rw-r--r--src/glfw3-1-fixes.patch88
-rw-r--r--src/glfw3.mk12
-rw-r--r--src/gnutls.mk4
-rw-r--r--src/gta.mk8
-rw-r--r--src/json-c-1-patch-remove-rpl.patch12
-rw-r--r--src/json-c-2-fix-wincrypt-include.patch21
-rw-r--r--src/json-c.mk14
-rw-r--r--src/libsigc++.mk6
-rwxr-xr-xtools/s3-fetch-and-sync6
13 files changed, 90 insertions, 130 deletions
diff --git a/src/cairo-2-static-init.patch b/src/cairo-2-static-init.patch
index 16d74c3..515a524 100644
--- a/src/cairo-2-static-init.patch
+++ b/src/cairo-2-static-init.patch
@@ -4,23 +4,27 @@ See index.html for further information.
When DllMain is not being run, we need to initialize the font face mutex before using it.
diff --git a/src/win32/cairo-win32-font.c b/src/win32/cairo-win32-font.c
-index a65d81b..31d854d 100644
+index a65d81b..d6950a1 100644
--- a/src/win32/cairo-win32-font.c
+++ b/src/win32/cairo-win32-font.c
-@@ -1912,6 +1912,8 @@ _cairo_win32_font_face_hash_table_destroy (void)
+@@ -1912,6 +1912,10 @@ _cairo_win32_font_face_hash_table_destroy (void)
{
cairo_hash_table_t *hash_table;
++#ifdef CAIRO_WIN32_STATIC_BUILD
+ CAIRO_MUTEX_INITIALIZE ();
++#endif
+
/* We manually acquire the lock rather than calling
* _cairo_win32_font_face_hash_table_lock simply to avoid creating
* the table only to destroy it again. */
-@@ -1927,6 +1929,8 @@ _cairo_win32_font_face_hash_table_destroy (void)
+@@ -1927,6 +1931,10 @@ _cairo_win32_font_face_hash_table_destroy (void)
static cairo_hash_table_t *
_cairo_win32_font_face_hash_table_lock (void)
{
++#ifdef CAIRO_WIN32_STATIC_BUILD
+ CAIRO_MUTEX_INITIALIZE ();
++#endif
+
CAIRO_MUTEX_LOCK (_cairo_win32_font_face_mutex);
diff --git a/src/cairomm.mk b/src/cairomm.mk
index 88b9a8f..81b0fe2 100644
--- a/src/cairomm.mk
+++ b/src/cairomm.mk
@@ -3,8 +3,8 @@
PKG := cairomm
$(PKG)_IGNORE :=
-$(PKG)_VERSION := 1.10.0
-$(PKG)_CHECKSUM := f08bf8a331067f0d1e876523f07238fba6b26b99
+$(PKG)_VERSION := 1.11.2
+$(PKG)_CHECKSUM := 35e190a03f760924bece5dc1204cc36b3583c806
$(PKG)_SUBDIR := cairomm-$($(PKG)_VERSION)
$(PKG)_FILE := cairomm-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := http://cairographics.org/releases/$($(PKG)_FILE)
@@ -19,11 +19,8 @@ endef
define $(PKG)_BUILD
cd '$(1)' && ./configure \
- --host='$(TARGET)' \
- --disable-shared \
- --prefix='$(PREFIX)/$(TARGET)' \
+ $(MXE_CONFIGURE_OPTS) \
MAKE=$(MAKE)
- $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+ $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_CRUFT)
endef
-$(PKG)_BUILD_SHARED =
diff --git a/src/gdb.mk b/src/gdb.mk
index a9d6d22..6d57a46 100644
--- a/src/gdb.mk
+++ b/src/gdb.mk
@@ -8,7 +8,7 @@ $(PKG)_SUBDIR := gdb-$($(PKG)_VERSION)
$(PKG)_FILE := gdb-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := http://ftp.gnu.org/pub/gnu/$(PKG)/$($(PKG)_FILE)
$(PKG)_URL_2 := ftp://ftp.cs.tu-berlin.de/pub/gnu/$(PKG)/$($(PKG)_FILE)
-$(PKG)_DEPS := gcc expat libiconv pdcurses zlib
+$(PKG)_DEPS := gcc expat libiconv readline zlib
define $(PKG)_UPDATE
$(WGET) -q -O- 'http://ftp.gnu.org/gnu/gdb/?C=M;O=D' | \
@@ -19,13 +19,10 @@ endef
define $(PKG)_BUILD
cd '$(1)' && ./configure \
- --host='$(TARGET)' \
- --build="`config.guess`" \
- --disable-shared \
- --prefix='$(PREFIX)/$(TARGET)' \
+ $(MXE_CONFIGURE_OPTS) \
+ --with-system-readline \
CONFIG_SHELL=$(SHELL)
$(MAKE) -C '$(1)' -j '$(JOBS)'
$(MAKE) -C '$(1)' -j 1 install
endef
-$(PKG)_BUILD_SHARED =
diff --git a/src/glfw2.mk b/src/glfw2.mk
index dfbf760..95d95e0 100644
--- a/src/glfw2.mk
+++ b/src/glfw2.mk
@@ -22,7 +22,23 @@ define $(PKG)_BUILD
cd '$(1)/lib/win32' && $(MAKE) -f Makefile.win32.cross-mgw \
TARGET=$(TARGET)- \
PREFIX='$(PREFIX)/$(TARGET)' \
- install -j '$(JOBS)'
+ $(if $(BUILD_STATIC),libglfw.a,glfw.dll) libglfw.pc -j '$(JOBS)'
+
+ # Install manually to split static and shared
+ $(INSTALL) -d '$(PREFIX)/$(TARGET)/bin'
+ $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib/pkgconfig'
+ $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib'
+ $(if $(BUILD_STATIC), \
+ $(INSTALL) -c -m 644 '$(1)/lib/win32/libglfw.pc' '$(PREFIX)/$(TARGET)/lib/pkgconfig/libglfw.pc'
+ $(INSTALL) -c -m 644 '$(1)/lib/win32/libglfw.a' '$(PREFIX)/$(TARGET)/lib/libglfw.a', \
+ $(SED) -e "s|Cflags:|Cflags: -DGLFW_DLL|g" '$(1)/lib/win32/libglfw.pc' > \
+ '$(PREFIX)/$(TARGET)/lib/pkgconfig/libglfw.pc'; \
+ $(INSTALL) -c '$(1)/lib/win32/glfw.dll' '$(PREFIX)/$(TARGET)/bin/glfw.dll'; \
+ $(INSTALL) -c '$(1)/lib/win32/libglfwdll.a' '$(PREFIX)/$(TARGET)/lib/libglfw.dll.a')
+ $(INSTALL) -d '$(PREFIX)/$(TARGET)/include/GL'
+ $(INSTALL) -c -m 644 $(1)/include/GL/glfw.h '$(PREFIX)/$(TARGET)/include/GL/glfw.h'
+
+
#Test
'$(TARGET)-gcc' \
@@ -31,4 +47,3 @@ define $(PKG)_BUILD
`'$(TARGET)-pkg-config' libglfw --cflags --libs`
endef
-$(PKG)_BUILD_SHARED =
diff --git a/src/glfw3-1-fixes.patch b/src/glfw3-1-fixes.patch
index 969adb7..3112cdf 100644
--- a/src/glfw3-1-fixes.patch
+++ b/src/glfw3-1-fixes.patch
@@ -1,81 +1,19 @@
This file is part of MXE.
See index.html for further information.
-Contains ad hoc patches for cross building.
+Add option to install pkg-config file
-From 7106d77856268c39b08de8cbe6f526fda8506389 Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Sun, 10 Nov 2013 16:23:03 +1100
-Subject: [PATCH] add option to install pkg-config file
-
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7c9b2c2..cd0112c 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -14,6 +14,7 @@ option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
- option(GLFW_BUILD_EXAMPLES "Build the GLFW example programs" ON)
+--- a/CMakeLists.txt 2013-12-31 20:06:18.000000000 +0100
++++ b/CMakeLists.txt 2014-10-12 21:02:16.415982168 +0200
+@@ -15,6 +15,7 @@
option(GLFW_BUILD_TESTS "Build the GLFW test programs" ON)
+ option(GLFW_BUILD_DOCS "Build the GLFW documentation" ON)
option(GLFW_INSTALL "Generate installation target" ON)
+option(GLFW_INSTALL_PKG_CONFIG "Install pkg-config file" OFF)
option(GLFW_DOCUMENT_INTERNALS "Include internals in documentation" OFF)
if (WIN32)
-@@ -117,7 +118,7 @@ endif()
- #--------------------------------------------------------------------
- if (WIN32)
- set(_GLFW_WIN32 1)
-- message(STATUS "Using Win32 for window creation")
-+ message(STATUS "Using Win32 for window creation")
-
- if (GLFW_USE_EGL)
- set(_GLFW_EGL 1)
-@@ -133,7 +134,7 @@ elseif (APPLE)
- message(STATUS "Using NSGL for context creation")
- elseif (UNIX)
- set(_GLFW_X11 1)
-- message(STATUS "Using X11 for window creation")
-+ message(STATUS "Using X11 for window creation")
-
- if (GLFW_USE_EGL)
- set(_GLFW_EGL 1)
-@@ -238,7 +239,7 @@ if (_GLFW_X11)
- # Check for Xkb (X keyboard extension)
- if (NOT X11_Xkb_FOUND)
- message(FATAL_ERROR "The X keyboard extension headers were not found")
-- endif()
-+ endif()
-
- list(APPEND glfw_INCLUDE_DIR ${X11_Xkb_INCLUDE_PATH})
-
-@@ -336,7 +337,7 @@ endif()
- # Use Cocoa for window creation and NSOpenGL for context creation
- #--------------------------------------------------------------------
- if (_GLFW_COCOA AND _GLFW_NSGL)
--
-+
- if (GLFW_USE_MENUBAR)
- set(_GLFW_USE_MENUBAR 1)
- endif()
-@@ -351,7 +352,7 @@ if (_GLFW_COCOA AND _GLFW_NSGL)
- else()
- message(STATUS "Building GLFW only for the native architecture")
- endif()
--
-+
- # Set up library and include paths
- find_library(COCOA_FRAMEWORK Cocoa)
- find_library(IOKIT_FRAMEWORK IOKit)
-@@ -386,7 +387,7 @@ endif()
- configure_file(${GLFW_SOURCE_DIR}/docs/Doxyfile.in
- ${GLFW_BINARY_DIR}/docs/Doxyfile @ONLY)
-
--configure_file(${GLFW_SOURCE_DIR}/src/config.h.in
-+configure_file(${GLFW_SOURCE_DIR}/src/config.h.in
- ${GLFW_BINARY_DIR}/src/config.h @ONLY)
-
- configure_file(${GLFW_SOURCE_DIR}/src/glfwConfig.cmake.in
-@@ -395,7 +396,7 @@ configure_file(${GLFW_SOURCE_DIR}/src/glfwConfig.cmake.in
+@@ -392,7 +393,7 @@
configure_file(${GLFW_SOURCE_DIR}/src/glfwConfigVersion.cmake.in
${GLFW_BINARY_DIR}/src/glfwConfigVersion.cmake @ONLY)
@@ -84,16 +22,7 @@ index 7c9b2c2..cd0112c 100644
configure_file(${GLFW_SOURCE_DIR}/src/glfw3.pc.in
${GLFW_BINARY_DIR}/src/glfw3.pc @ONLY)
endif()
-@@ -422,7 +423,7 @@ endif()
- # The library is installed by src/CMakeLists.txt
- #--------------------------------------------------------------------
- if (GLFW_INSTALL)
-- install(DIRECTORY include/GLFW DESTINATION include
-+ install(DIRECTORY include/GLFW DESTINATION include
- FILES_MATCHING PATTERN glfw3.h PATTERN glfw3native.h)
-
- install(FILES ${GLFW_BINARY_DIR}/src/glfwConfig.cmake
-@@ -431,6 +432,9 @@ if (GLFW_INSTALL)
+@@ -428,6 +429,9 @@
if (UNIX)
install(EXPORT glfwTargets DESTINATION lib${LIB_SUFFIX}/cmake/glfw)
@@ -103,6 +32,3 @@ index 7c9b2c2..cd0112c 100644
install(FILES ${GLFW_BINARY_DIR}/src/glfw3.pc
DESTINATION lib${LIB_SUFFIX}/pkgconfig)
endif()
---
-1.8.4
-
diff --git a/src/glfw3.mk b/src/glfw3.mk
index d6a35d4..36816fa 100644
--- a/src/glfw3.mk
+++ b/src/glfw3.mk
@@ -3,8 +3,8 @@
PKG := glfw3
$(PKG)_IGNORE :=
-$(PKG)_VERSION := 3.0.3
-$(PKG)_CHECKSUM := 95d0d2a250dc4e9d612cdd1a7433de464db16d89
+$(PKG)_VERSION := 3.0.4
+$(PKG)_CHECKSUM := 9b04309418ccbc74b2115d11198b7912669814ee
$(PKG)_SUBDIR := glfw-$($(PKG)_VERSION)
$(PKG)_FILE := glfw-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/glfw/glfw/$($(PKG)_VERSION)/$($(PKG)_FILE)
@@ -22,16 +22,22 @@ define $(PKG)_BUILD
mkdir '$(1).build'
cd '$(1).build' && cmake '$(1)' \
-DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+ -DBUILD_SHARED_LIBS=$(if $(BUILD_STATIC),FALSE,TRUE) \
-DGLFW_BUILD_EXAMPLES=FALSE \
-DGLFW_BUILD_TESTS=FALSE \
+ -DGLFW_BUILD_DOCS=FALSE \
-DGLFW_INSTALL_PKG_CONFIG=TRUE \
-DGLFW_PKG_LIBS='-lopengl32 -lgdi32'
$(MAKE) -C '$(1).build' -j '$(JOBS)' install
+ # Windows convention: DLLs in bin/, not in lib/, import library is called "libglfw3.dll.a"
+ $(if $(BUILD_SHARED),
+ mv -fv $(PREFIX)/$(TARGET)/lib/glfw3.dll '$(PREFIX)/$(TARGET)/bin/'; \
+ mv -fv $(PREFIX)/$(TARGET)/lib/glfw3dll.a '$(PREFIX)/$(TARGET)/lib/libglfw3.dll.a')
+
'$(TARGET)-gcc' \
-W -Wall -Werror -ansi -pedantic \
'$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-glfw3.exe' \
`'$(TARGET)-pkg-config' glfw3 --cflags --libs`
endef
-$(PKG)_BUILD_SHARED =
diff --git a/src/gnutls.mk b/src/gnutls.mk
index 59fdcef..d559362 100644
--- a/src/gnutls.mk
+++ b/src/gnutls.mk
@@ -2,8 +2,8 @@
# See index.html for further information.
PKG := gnutls
-$(PKG)_VERSION := 3.2.18
-$(PKG)_CHECKSUM := 3351c72658c974ad5e61ffde98caef0ae7e184e3
+$(PKG)_VERSION := 3.2.19
+$(PKG)_CHECKSUM := 1dfbbfa2bcf0a62a1dbbc63825b6fc2cc8e13c80
$(PKG)_SUBDIR := gnutls-$($(PKG)_VERSION)
$(PKG)_FILE := gnutls-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := http://mirrors.dotsrc.org/gnupg/gnutls/v3.2/$($(PKG)_FILE)
diff --git a/src/gta.mk b/src/gta.mk
index 05a05e4..3537e3e 100644
--- a/src/gta.mk
+++ b/src/gta.mk
@@ -19,11 +19,8 @@ endef
define $(PKG)_BUILD
cd '$(1)' && ./configure \
- --host='$(TARGET)' \
- --build="`config.guess`" \
- --disable-shared \
- --disable-reference \
- --prefix='$(PREFIX)/$(TARGET)'
+ $(MXE_CONFIGURE_OPTS) \
+ --disable-reference
$(MAKE) -C '$(1)' -j '$(JOBS)'
$(MAKE) -C '$(1)' -j 1 install dist_doc_DATA=
@@ -33,4 +30,3 @@ define $(PKG)_BUILD
`'$(TARGET)-pkg-config' gta --cflags --libs`
endef
-$(PKG)_BUILD_SHARED =
diff --git a/src/json-c-1-patch-remove-rpl.patch b/src/json-c-1-patch-remove-rpl.patch
index 2217b2a..153ce11 100644
--- a/src/json-c-1-patch-remove-rpl.patch
+++ b/src/json-c-1-patch-remove-rpl.patch
@@ -3,14 +3,14 @@ See index.html for further information.
see http://lists.fedoraproject.org/pipermail/mingw/2009-May/001567.html
---- a/configure.in 2012-07-12 01:57:09.000000000 +0200
-+++ b/configure.in 2012-07-12 01:59:06.000000000 +0200
-@@ -25,8 +25,6 @@
+--- a/configure.ac 2014-04-11 03:47:07.000000000 +0200
++++ b/configure.ac 2014-10-12 19:44:52.809838565 +0200
+@@ -40,8 +40,6 @@
# Checks for library functions.
AC_FUNC_VPRINTF
AC_FUNC_MEMCMP
-AC_FUNC_MALLOC
-AC_FUNC_REALLOC
- AC_CHECK_FUNCS(strcasecmp strdup strndup strerror snprintf vsnprintf vasprintf open vsyslog strncasecmp setlocale)
-
- #check if .section.gnu.warning accepts long strings (for __warn_references)
+ AC_CHECK_FUNCS(strcasecmp strdup strerror snprintf vsnprintf vasprintf open vsyslog strncasecmp setlocale)
+ AC_CHECK_DECLS([INFINITY], [], [], [[#include <math.h>]])
+ AC_CHECK_DECLS([nan], [], [], [[#include <math.h>]])
diff --git a/src/json-c-2-fix-wincrypt-include.patch b/src/json-c-2-fix-wincrypt-include.patch
new file mode 100644
index 0000000..83c5553
--- /dev/null
+++ b/src/json-c-2-fix-wincrypt-include.patch
@@ -0,0 +1,21 @@
+This file is part of MXE.
+See index.html for further information.
+
+mingw32 doesn't include wincrypt.h in windows.h, so the build fails.
+
+This is basically
+https://github.com/ams-cs/json-c/commit/ca0ebe0f71b806f73a20d5d5e0da78aba5de42be
+
+--- a/random_seed.c 2014-04-11 02:41:08.000000000 +0200
++++ b/random_seed.c 2014-10-12 20:07:32.419043270 +0200
+@@ -181,7 +181,10 @@
+ #define HAVE_CRYPTGENRANDOM 1
+
+ #include <windows.h>
++#include <wincrypt.h>
++#ifndef __GNUC__
+ #pragma comment(lib, "advapi32.lib")
++#endif
+
+ static int get_cryptgenrandom_seed()
+ {
diff --git a/src/json-c.mk b/src/json-c.mk
index ac51c1e..62ea143 100644
--- a/src/json-c.mk
+++ b/src/json-c.mk
@@ -3,8 +3,8 @@
PKG := json-c
$(PKG)_IGNORE :=
-$(PKG)_VERSION := 0.11
-$(PKG)_CHECKSUM := 4bae2468bfd73a2b2eec7419c75c262b5833f567
+$(PKG)_VERSION := 0.12
+$(PKG)_CHECKSUM := c6d8019c706af146006aa6cd91839c7d3c581e94
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION)-nodoc.tar.gz
$(PKG)_URL := https://s3.amazonaws.com/$(PKG)_releases/releases/$($(PKG)_FILE)
@@ -21,17 +21,13 @@ endef
define $(PKG)_BUILD
cd '$(1)' && ./autogen.sh
cd '$(1)' && ./configure \
- --host='$(TARGET)' \
- --prefix='$(PREFIX)/$(TARGET)' \
- --build="`config.guess`"\
- --disable-shared
+ $(MXE_CONFIGURE_OPTS) \
CFLAGS=-Wno-error
- $(MAKE) -C '$(1)' -j '$(JOBS)' install
+ $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_REMOVE_CRUFT)
'$(TARGET)-gcc' \
-W -Wall -Werror -ansi -pedantic \
'$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-json-c.exe' \
- `'$(TARGET)-pkg-config' json --cflags --libs`
+ `'$(TARGET)-pkg-config' json-c --cflags --libs`
endef
-$(PKG)_BUILD_SHARED =
diff --git a/src/libsigc++.mk b/src/libsigc++.mk
index 6775c28..a70e918 100644
--- a/src/libsigc++.mk
+++ b/src/libsigc++.mk
@@ -3,8 +3,8 @@
PKG := libsigc++
$(PKG)_IGNORE :=
-$(PKG)_VERSION := 2.3.1
-$(PKG)_CHECKSUM := 6d23b44ab37b4f908c850c3d9898e42da54a0d8d
+$(PKG)_VERSION := 2.4.0
+$(PKG)_CHECKSUM := 74f992ce5714e9f9d63ab698b48d79a65c0cd5be
$(PKG)_SUBDIR := libsigc++-$($(PKG)_VERSION)
$(PKG)_FILE := libsigc++-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := http://ftp.gnome.org/pub/gnome/sources/libsigc++/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
@@ -23,5 +23,5 @@ define $(PKG)_BUILD
CXX='$(TARGET)-g++' \
PKG_CONFIG='$(PREFIX)/bin/$(TARGET)-pkg-config' \
MAKE=$(MAKE)
- $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
+ $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_CRUFT)
endef
diff --git a/tools/s3-fetch-and-sync b/tools/s3-fetch-and-sync
index 0f6e679..5b1a943 100755
--- a/tools/s3-fetch-and-sync
+++ b/tools/s3-fetch-and-sync
@@ -7,8 +7,10 @@
# This also acts as a CI to file issue on GitHub if download fails.
-# DigitalOcean server IP: 162.243.7.196
-# Old Amazon EC2 server: ec2-174-129-78-72.compute-1.amazonaws.com
+# DigitalOcean server IP: 104.131.71.203
+# Admins: https://api.github.com/orgs/mxe/members
+# Keys: https://github.com/<user>.keys or https://api.github.com/users/<user>/keys
+#
# The script uses s3cmd to sync package tarballs:
# http://s3tools.org/s3cmd