diff --git a/astronaut/astronaut b/astronaut/astronaut
index ee6e3af..ff43261 100755
--- a/astronaut/astronaut
+++ b/astronaut/astronaut
@@ -75,7 +75,7 @@ unset update_url
_show_help() {
echo "This astronaut will help you build some satellites.
Just describe what he's got to do in a satellite file.
-Usage: $0 [-sbipr
] [-Id] [-o ]
+Usage: $0 [-bsirp ] [-hIdv] [-o ]
-h/? Show this message
-b Set build directory [WARNING: Will be deleted before build]
@@ -188,7 +188,7 @@ extract() {
}
getfile() {
- cp -r "$dir_source/$name/$1" "$dir_build/$1"
+ cp -a "$dir_source/$name/$1" "$dir_build/$1"
}
extrafile() {
@@ -270,7 +270,7 @@ option() {
if [ "$1" ]; then
if [ "$enabled" = true ]; then
- eval $@
+ eval "$@"
fi
else
return $([ "$enabled" = true ])
diff --git a/astronaut/astronautpkg b/astronaut/astronautpkg
index c377679..817e882 100755
--- a/astronaut/astronautpkg
+++ b/astronaut/astronautpkg
@@ -30,9 +30,32 @@ if [ -d "$dir_install/$dir_prefix/$dir_infodir" ]; then
gzip -9 -r "$dir_install/$dir_prefix/$dir_infodir"
fi
-# _dir_pkgtools should be set from a configuration file (e.g. ~/.astronaut.conf), and points to wherever you want your packages to be placed.
+# Generate slack-desc for proper compliance, even if it's completely redundant
+#mkdir -p "$dir_install/install"
+#cat > "$dir_install/install/slack-desc" << EOF
+## HOW TO EDIT THIS FILE:
+## The "handy ruler" below makes it easier to edit a package description. Line
+## up the first '|' above the ':' following the base package name, and the '|'
+## on the right side marks the last column you can put a character in. You must
+## make exactly 11 lines for the formatting to be correct. It's also
+## customary to leave one space after the ':'.
+
+#$(printf %$(printf '%s' "$_satname" | wc -c)s)|-----handy-ruler------------------------------------------------------|
+#$_satname: $_satname (Generated with astronautpkg)
+#$_satname:
+#$_satname:
+#$_satname:
+#$_satname:
+#$_satname:
+#$_satname:
+#$_satname:
+#$_satname:
+#$_satname:
+#$_satname:
+#EOF
+
+# dir_wrapper_pkgtools should be set from a configuration file (e.g. ~/.astronaut.conf), and points to wherever you want your packages to be placed.
[ "$dir_wrapper_pkgtools" ] && mkdir -p "$dir_wrapper_pkgtools" || dir_wrapper_pkgtools="$_topdir"
cd "$dir_install"
-export PATH="$PATH:/sbin"
-$_fakeroot makepkg -l y -c n "$dir_wrapper_pkgtools/$_satname-$(echo "$version" | sed -e 's/-/_/g')-$(uname -m)-astro.tgz"
+PATH="$PATH:/sbin" $_fakeroot makepkg -l y -c n "$dir_wrapper_pkgtools/$_satname-$(echo "$version" | sed -e 's/-/_/g')-$(uname -m)-astro.tgz"
diff --git a/satellites/3dstool.sat b/graveyard/unmaintained_satellites/3dstool.sat
similarity index 92%
rename from satellites/3dstool.sat
rename to graveyard/unmaintained_satellites/3dstool.sat
index baf7cdb..9d7ec3b 100644
--- a/satellites/3dstool.sat
+++ b/graveyard/unmaintained_satellites/3dstool.sat
@@ -1,7 +1,7 @@
import 'compile/cmake'
name=3dstool
-version=1.0.17 # TODO: Untested
+version=1.0.18 # TODO: Untested
update_url="https://github.com/dnasdw/$name/releases"
update_names="/archive/v$version.tar.gz"
diff --git a/graveyard/unmaintained_satellites/bcunit-git.sat b/graveyard/unmaintained_satellites/bcunit-git.sat
new file mode 100644
index 0000000..6ef22a5
--- /dev/null
+++ b/graveyard/unmaintained_satellites/bcunit-git.sat
@@ -0,0 +1,13 @@
+import 'vcs/git'
+import 'compile/configure'
+
+name=bcunit
+
+vcs_git "https://github.com/BelledonneCommunications/$name"
+header_end
+
+cd "$name"
+./autogen.sh
+compile_configure
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/graveyard/unmaintained_satellites/kbuild.sat b/graveyard/unmaintained_satellites/kbuild.sat
new file mode 100644
index 0000000..db30c86
--- /dev/null
+++ b/graveyard/unmaintained_satellites/kbuild.sat
@@ -0,0 +1,23 @@
+import 'vcs/svn'
+
+name=kBuild
+revision=2823
+version=r$revision
+
+vcs_svn 'http://svn.netlabs.org/repos/kbuild/trunk' 2823
+header_end
+
+cd trunk
+rm -rf kBuild/bin # Remove prebuilts
+
+variables="
+ NIX_INSTALL_DIR=/$dir_prefix
+ MY_INST_BIN=$dir_prefix/$dir_bindir/
+ MY_INST_DATA=$dir_prefix/$dir_datadir/$name/
+ MY_INST_DOC=$dir_prefix/$dir_docdir/$name/
+"
+
+kBuild/env.sh --full make -f bootstrap.gmk $variables
+kBuild/env.sh --full-with-bin kmk $variables PATH_INS="$dir_install" install
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/scrot.sat b/graveyard/unmaintained_satellites/scrot.sat
similarity index 97%
rename from satellites/scrot.sat
rename to graveyard/unmaintained_satellites/scrot.sat
index 93cec33..e5f6c69 100644
--- a/satellites/scrot.sat
+++ b/graveyard/unmaintained_satellites/scrot.sat
@@ -18,7 +18,7 @@ for x in $(cat ../debian/patches/series); do
patch -p1 -i ../debian/patches/$x
done
-autoreconf -i
+autoreconf -fi
compile_configure
# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/bctoolbox.sat b/satellites/bctoolbox.sat
new file mode 100644
index 0000000..db84269
--- /dev/null
+++ b/satellites/bctoolbox.sat
@@ -0,0 +1,15 @@
+import 'compile/cmake'
+
+name=bctoolbox
+version=0.4.0
+update_url="https://github.com/BelledonneCommunications/$name/releases"
+update_names="/archive/$version.tar.gz"
+
+dlextract "https://github.com/BelledonneCommunications/$name/archive/$version.tar.gz" \
+ '963e0a83feda8b0a6c10d646573aae28'
+header_end
+
+cd "$name-$version"
+compile_cmake -- -DENABLE_TESTS=OFF -DENABLE_TESTS_COMPONENT=OFF -DENABLE_STATIC=OFF
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/bluez-alsa-git.sat b/satellites/bluez-alsa-git.sat
new file mode 100644
index 0000000..7aadb4c
--- /dev/null
+++ b/satellites/bluez-alsa-git.sat
@@ -0,0 +1,13 @@
+import 'vcs/git'
+import 'compile/configure'
+
+name=bluez-alsa
+
+vcs_git "https://github.com/Arkq/$name"
+header_end
+
+cd "$name"
+autoreconf -fi
+compile_configure -- --enable-aac --enable-debug --disable-static
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/ctrtool-git.sat b/satellites/ctrtool-git.sat
new file mode 100644
index 0000000..2dc66ab
--- /dev/null
+++ b/satellites/ctrtool-git.sat
@@ -0,0 +1,12 @@
+import 'vcs/git'
+
+name=Project_CTR
+
+vcs_git "https://github.com/profi200/$name"
+header_end
+
+cd "$name/ctrtool"
+make
+install -Dm755 -t "$dir_install/$dir_prefix/$dir_bindir" ctrtool
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/extrafiles/i3/iconsupport.patch b/satellites/extrafiles/i3/iconsupport.patch
index 4c43d7d..c128c55 100644
--- a/satellites/extrafiles/i3/iconsupport.patch
+++ b/satellites/extrafiles/i3/iconsupport.patch
@@ -1,6 +1,6 @@
-diff -Nurp ../i3-4.12/include/atoms_rest.xmacro ./include/atoms_rest.xmacro
---- ../i3-4.12/include/atoms_rest.xmacro 2016-03-06 16:17:18.000000000 +0100
-+++ ./include/atoms_rest.xmacro 2016-10-11 23:56:12.406428013 +0200
+diff -Nurp ../i3-4.13/include/atoms_rest.xmacro ./include/atoms_rest.xmacro
+--- ../i3-4.13/include/atoms_rest.xmacro 2016-11-08 19:54:01.000000000 +0100
++++ ./include/atoms_rest.xmacro 2016-11-13 14:14:05.086086381 +0100
@@ -1,6 +1,7 @@
xmacro(_NET_WM_USER_TIME)
xmacro(_NET_STARTUP_ID)
@@ -9,38 +9,40 @@ diff -Nurp ../i3-4.12/include/atoms_rest.xmacro ./include/atoms_rest.xmacro
xmacro(WM_PROTOCOLS)
xmacro(WM_DELETE_WINDOW)
xmacro(UTF8_STRING)
-diff -Nurp ../i3-4.12/include/data.h ./include/data.h
---- ../i3-4.12/include/data.h 2016-03-06 16:17:18.000000000 +0100
-+++ ./include/data.h 2016-10-11 23:56:12.407428013 +0200
-@@ -426,6 +426,9 @@ struct Window {
+diff -Nurp ../i3-4.13/include/data.h ./include/data.h
+--- ../i3-4.13/include/data.h 2016-11-08 19:54:01.000000000 +0100
++++ ./include/data.h 2016-11-13 14:40:42.765019561 +0100
+@@ -440,6 +440,11 @@ struct Window {
/* aspect ratio from WM_NORMAL_HINTS (MPlayer uses this for example) */
double aspect_ratio;
+
-+ /** Window icon, array of size 16x16 containing the ARGB pixels */
-+ uint32_t* icon;
++ /** Window icon, as array of ARGB pixels */
++ unsigned char *icon;
++ int icon_width;
++ int icon_height;
};
/**
-diff -Nurp ../i3-4.12/include/libi3.h ./include/libi3.h
---- ../i3-4.12/include/libi3.h 2016-03-06 16:17:18.000000000 +0100
-+++ ./include/libi3.h 2016-10-11 23:56:12.407428013 +0200
-@@ -587,6 +587,11 @@ color_t draw_util_hex_to_color(const cha
+diff -Nurp ../i3-4.13/include/libi3.h ./include/libi3.h
+--- ../i3-4.13/include/libi3.h 2016-11-08 19:54:01.000000000 +0100
++++ ./include/libi3.h 2016-11-13 14:40:49.707019271 +0100
+@@ -586,6 +586,11 @@ color_t draw_util_hex_to_color(const cha
void draw_util_text(i3String *text, surface_t *surface, color_t fg_color, color_t bg_color, int x, int y, int max_width);
/**
+ * Draw the given image using libi3.
+ */
-+void draw_util_image(unsigned char *pixels, surface_t *surface, int x, int y, int width, int height);
++void draw_util_image(unsigned char *src, int src_width, int src_height, surface_t *surface, int x, int y, int width, int height);
+
+/**
* Draws a filled rectangle.
* This function is a convenience wrapper and takes care of flushing the
* surface as well as restoring the cairo state.
-diff -Nurp ../i3-4.12/include/window.h ./include/window.h
---- ../i3-4.12/include/window.h 2016-03-06 16:17:18.000000000 +0100
-+++ ./include/window.h 2016-10-11 23:56:12.408428013 +0200
-@@ -87,3 +87,9 @@ void window_update_hints(i3Window *win,
+diff -Nurp ../i3-4.13/include/window.h ./include/window.h
+--- ../i3-4.13/include/window.h 2016-11-08 19:54:01.000000000 +0100
++++ ./include/window.h 2016-11-13 14:14:05.088086381 +0100
+@@ -89,3 +89,9 @@ void window_update_hints(i3Window *win,
*
*/
void window_update_motif_hints(i3Window *win, xcb_get_property_reply_t *prop, border_style_t *motif_border_style);
@@ -50,11 +52,11 @@ diff -Nurp ../i3-4.12/include/window.h ./include/window.h
+ *
+ */
+void window_update_icon(i3Window *win, xcb_get_property_reply_t *prop);
-diff -Nurp ../i3-4.12/libi3/draw_util.c ./libi3/draw_util.c
---- ../i3-4.12/libi3/draw_util.c 2016-03-06 16:17:18.000000000 +0100
-+++ ./libi3/draw_util.c 2016-10-11 23:56:12.408428013 +0200
-@@ -153,6 +153,39 @@ void draw_util_text(i3String *text, surf
- #endif
+diff -Nurp ../i3-4.13/libi3/draw_util.c ./libi3/draw_util.c
+--- ../i3-4.13/libi3/draw_util.c 2016-11-08 19:54:01.000000000 +0100
++++ ./libi3/draw_util.c 2016-11-13 14:44:55.628008986 +0100
+@@ -135,6 +135,41 @@ void draw_util_text(i3String *text, surf
+ cairo_surface_mark_dirty(surface->surface);
}
+
@@ -64,39 +66,41 @@ diff -Nurp ../i3-4.12/libi3/draw_util.c ./libi3/draw_util.c
+ * surface as well as restoring the cairo state.
+ *
+ */
-+void draw_util_image(unsigned char *pixels, surface_t *surface, int x, int y, int width, int height) {
++void draw_util_image(unsigned char *src, int src_width, int src_height, surface_t *surface, int x, int y, int width, int height) {
+ RETURN_UNLESS_SURFACE_INITIALIZED(surface);
+
-+#if CAIRO_SUPPORT
-+ cairo_save(surface->cr);
-+
+ cairo_surface_t *image;
++ double scale;
++
++ cairo_save(surface->cr);
+
+ image = cairo_image_surface_create_for_data(
-+ pixels,
++ src,
+ CAIRO_FORMAT_ARGB32,
-+ width,
-+ height,
-+ width * 4);
++ src_width,
++ src_height,
++ src_width * 4);
++
++ cairo_translate(surface->cr, x, y);
++
++ scale = MIN((double)width / src_width, (double)height / src_height);
++ cairo_scale(surface->cr, scale, scale);
+
-+ cairo_set_operator(surface->cr, CAIRO_OPERATOR_OVER);
-+ cairo_set_source_surface(surface->cr, image, x, y);
-+ cairo_rectangle(surface->cr, x, y, width, height);
-+ cairo_fill(surface->cr);
++ cairo_set_source_surface(surface->cr, image, 0, 0);
++ cairo_paint(surface->cr);
+
+ cairo_surface_destroy(image);
+
+ cairo_restore(surface->cr);
-+#endif
+}
+
/**
* Draws a filled rectangle.
* This function is a convenience wrapper and takes care of flushing the
-diff -Nurp ../i3-4.12/src/handlers.c ./src/handlers.c
---- ../i3-4.12/src/handlers.c 2016-03-06 16:17:18.000000000 +0100
-+++ ./src/handlers.c 2016-10-11 23:56:12.409428013 +0200
-@@ -1295,6 +1295,20 @@ static bool handle_strut_partial_change(
+diff -Nurp ../i3-4.13/src/handlers.c ./src/handlers.c
+--- ../i3-4.13/src/handlers.c 2016-11-08 19:54:01.000000000 +0100
++++ ./src/handlers.c 2016-11-13 14:36:19.002030592 +0100
+@@ -1287,6 +1287,20 @@ static bool handle_strut_partial_change(
return true;
}
@@ -117,28 +121,28 @@ diff -Nurp ../i3-4.12/src/handlers.c ./src/handlers.c
/* Returns false if the event could not be processed (e.g. the window could not
* be found), true otherwise */
typedef bool (*cb_property_handler_t)(void *data, xcb_connection_t *c, uint8_t state, xcb_window_t window, xcb_atom_t atom, xcb_get_property_reply_t *property);
-@@ -1315,7 +1329,8 @@ static struct property_handler_t propert
- {0, 128, handle_windowrole_change},
+@@ -1308,7 +1322,8 @@ static struct property_handler_t propert
{0, 128, handle_class_change},
{0, UINT_MAX, handle_strut_partial_change},
-- {0, UINT_MAX, handle_window_type}};
-+ {0, UINT_MAX, handle_window_type},
+ {0, UINT_MAX, handle_window_type},
+- {0, 5 * sizeof(uint64_t), handle_motif_hints_change}};
++ {0, 5 * sizeof(uint64_t), handle_motif_hints_change},
+ {0, UINT_MAX, handle_windowicon_change}};
#define NUM_HANDLERS (sizeof(property_handlers) / sizeof(struct property_handler_t))
/*
-@@ -1336,6 +1351,7 @@ void property_handlers_init(void) {
- property_handlers[7].atom = XCB_ATOM_WM_CLASS;
+@@ -1330,6 +1345,7 @@ void property_handlers_init(void) {
property_handlers[8].atom = A__NET_WM_STRUT_PARTIAL;
property_handlers[9].atom = A__NET_WM_WINDOW_TYPE;
-+ property_handlers[10].atom = A__NET_WM_ICON;
+ property_handlers[10].atom = A__MOTIF_WM_HINTS;
++ property_handlers[11].atom = A__NET_WM_ICON;
}
static void property_notify(uint8_t state, xcb_window_t window, xcb_atom_t atom) {
-diff -Nurp ../i3-4.12/src/manage.c ./src/manage.c
---- ../i3-4.12/src/manage.c 2016-03-06 16:17:18.000000000 +0100
-+++ ./src/manage.c 2016-10-11 23:56:12.410428013 +0200
-@@ -92,6 +92,8 @@ void manage_window(xcb_window_t window,
+diff -Nurp ../i3-4.13/src/manage.c ./src/manage.c
+--- ../i3-4.13/src/manage.c 2016-11-08 19:54:01.000000000 +0100
++++ ./src/manage.c 2016-11-13 14:14:05.090086380 +0100
+@@ -91,6 +91,8 @@ void manage_window(xcb_window_t window,
role_cookie, startup_id_cookie, wm_hints_cookie,
wm_normal_hints_cookie, motif_wm_hints_cookie, wm_user_time_cookie, wm_desktop_cookie;
@@ -147,7 +151,7 @@ diff -Nurp ../i3-4.12/src/manage.c ./src/manage.c
geomc = xcb_get_geometry(conn, d);
/* Check if the window is mapped (it could be not mapped when intializing and
-@@ -163,6 +165,7 @@ void manage_window(xcb_window_t window,
+@@ -162,6 +164,7 @@ void manage_window(xcb_window_t window,
motif_wm_hints_cookie = GET_PROPERTY(A__MOTIF_WM_HINTS, 5 * sizeof(uint64_t));
wm_user_time_cookie = GET_PROPERTY(A__NET_WM_USER_TIME, UINT32_MAX);
wm_desktop_cookie = GET_PROPERTY(A__NET_WM_DESKTOP, UINT32_MAX);
@@ -155,7 +159,7 @@ diff -Nurp ../i3-4.12/src/manage.c ./src/manage.c
DLOG("Managing window 0x%08x\n", window);
-@@ -176,6 +179,7 @@ void manage_window(xcb_window_t window,
+@@ -177,6 +180,7 @@ void manage_window(xcb_window_t window,
window_update_class(cwindow, xcb_get_property_reply(conn, class_cookie, NULL), true);
window_update_name_legacy(cwindow, xcb_get_property_reply(conn, title_cookie, NULL), true);
window_update_name(cwindow, xcb_get_property_reply(conn, utf8_title_cookie, NULL), true);
@@ -163,7 +167,7 @@ diff -Nurp ../i3-4.12/src/manage.c ./src/manage.c
window_update_leader(cwindow, xcb_get_property_reply(conn, leader_cookie, NULL));
window_update_transient_for(cwindow, xcb_get_property_reply(conn, transient_cookie, NULL));
window_update_strut_partial(cwindow, xcb_get_property_reply(conn, strut_cookie, NULL));
-@@ -184,6 +188,8 @@ void manage_window(xcb_window_t window,
+@@ -185,6 +189,8 @@ void manage_window(xcb_window_t window,
window_update_hints(cwindow, xcb_get_property_reply(conn, wm_hints_cookie, NULL), &urgency_hint);
border_style_t motif_border_style = BS_NORMAL;
window_update_motif_hints(cwindow, xcb_get_property_reply(conn, motif_wm_hints_cookie, NULL), &motif_border_style);
@@ -172,24 +176,24 @@ diff -Nurp ../i3-4.12/src/manage.c ./src/manage.c
xcb_size_hints_t wm_size_hints;
if (!xcb_icccm_get_wm_size_hints_reply(conn, wm_normal_hints_cookie, &wm_size_hints, NULL))
memset(&wm_size_hints, '\0', sizeof(xcb_size_hints_t));
-diff -Nurp ../i3-4.12/src/render.c ./src/render.c
---- ../i3-4.12/src/render.c 2016-03-06 16:17:18.000000000 +0100
-+++ ./src/render.c 2016-10-11 23:56:12.410428013 +0200
-@@ -127,6 +127,10 @@ void render_con(Con *con, bool render_fu
+diff -Nurp ../i3-4.13/src/render.c ./src/render.c
+--- ../i3-4.13/src/render.c 2016-11-08 19:54:01.000000000 +0100
++++ ./src/render.c 2016-11-13 14:26:45.732054568 +0100
+@@ -125,6 +125,10 @@ void render_con(Con *con, bool render_fu
/* find the height for the decorations */
params.deco_height = render_deco_height();
+ /* minimum decoration height to allow icon to fit
-+ * not actuuly required, icon would be cropped otherwise */
++ * not actually required, icon would be cropped otherwise */
+ params.deco_height = (params.deco_height < 16) ? 16 : params.deco_height;
+
/* precalculate the sizes to be able to correct rounding errors */
params.sizes = precalculate_sizes(con, ¶ms);
-diff -Nurp ../i3-4.12/src/window.c ./src/window.c
---- ../i3-4.12/src/window.c 2016-03-06 16:17:18.000000000 +0100
-+++ ./src/window.c 2016-10-11 23:56:44.972426651 +0200
-@@ -19,6 +19,7 @@ void window_free(i3Window *win) {
+diff -Nurp ../i3-4.13/src/window.c ./src/window.c
+--- ../i3-4.13/src/window.c 2016-11-08 19:54:01.000000000 +0100
++++ ./src/window.c 2016-11-13 14:48:01.177001226 +0100
+@@ -17,6 +17,7 @@ void window_free(i3Window *win) {
FREE(win->class_class);
FREE(win->class_instance);
i3string_free(win->name);
@@ -197,45 +201,17 @@ diff -Nurp ../i3-4.12/src/window.c ./src/window.c
FREE(win->ran_assignments);
FREE(win);
}
-@@ -367,3 +368,88 @@ void window_update_motif_hints(i3Window
+@@ -365,3 +366,62 @@ void window_update_motif_hints(i3Window
#undef MWM_DECOR_BORDER
#undef MWM_DECOR_TITLE
}
+
-+/*
-+ * Copy and resize icon if needed
-+ */
-+void copy_icon_with_resize(uint32_t *dst, int width, int height, uint32_t* src, int s_width, int s_height)
-+{
-+ int i, j;
-+
-+ if (width == s_width && height == s_height) {
-+ /* easy case, same dimensions, just copy data */
-+ memcpy(dst, src, width*height*sizeof(uint32_t));
-+ return;
-+ }
-+
-+ uint32_t* row = src;
-+ int xstep = s_width / width;
-+ int ystep = s_height / height * s_width;
-+
-+ for (i=0; i < height; ++i) {
-+ uint32_t* ptr = row;
-+ for(j=0; j < width; ++j) {
-+ *dst++ = *ptr;
-+ ptr+=xstep;
-+ }
-+ row += ystep;
-+ }
-+}
-+
-+
+void window_update_icon(i3Window *win, xcb_get_property_reply_t *prop)
+{
+ uint32_t *data = NULL;
+ uint64_t len = 0;
+
-+ if(!prop || prop->type != XCB_ATOM_CARDINAL || prop->format != 32) {
++ if (!prop || prop->type != XCB_ATOM_CARDINAL || prop->format != 32) {
+ DLOG("_NET_WM_ICON is not set\n");
+ FREE(prop);
+ return;
@@ -260,7 +236,7 @@ diff -Nurp ../i3-4.12/src/window.c ./src/window.c
+
+ if (len == 0 || (crt_len >= 16*16 && crt_len < len)) {
+ len = crt_len;
-+ data = prop_value;
++ data = prop_value;
+ }
+ if (len == 16*16) {
+ break; // found 16 pixels icon
@@ -280,27 +256,44 @@ diff -Nurp ../i3-4.12/src/window.c ./src/window.c
+ LOG("Got _NET_WM_ICON of size: (%d,%d)\n", data[0], data[1]);
+ win->name_x_changed = true; // trigger a redraw
+
-+ FREE(win->icon);
-+ win->icon = malloc(16 * 16 * sizeof(uint32_t));
-+ copy_icon_with_resize(win->icon, 16, 16, data + 2, data[0], data[1]);
++ win->icon_width = data[0];
++ win->icon_height = data[1];
++
++ win->icon = malloc(len * 4);
++ memcpy(win->icon, &data[2], len * 4);
+
+ FREE(prop);
+}
-diff -Nurp ../i3-4.12/src/x.c ./src/x.c
---- ../i3-4.12/src/x.c 2016-03-06 16:17:18.000000000 +0100
-+++ ./src/x.c 2016-10-11 23:56:12.412428013 +0200
-@@ -571,6 +571,10 @@ void x_draw_decoration(Con *con) {
- //DLOG("indent_level = %d, indent_mult = %d\n", indent_level, indent_mult);
- int indent_px = (indent_level * 5) * indent_mult;
+diff -Nurp ../i3-4.13/src/x.c ./src/x.c
+--- ../i3-4.13/src/x.c 2016-11-08 19:54:01.000000000 +0100
++++ ./src/x.c 2016-11-13 14:48:26.856000152 +0100
+@@ -538,6 +538,7 @@ void x_draw_decoration(Con *con) {
-+ if (win->icon) {
-+ indent_px += 18;
-+ }
+ /* 6: draw the title */
+ int text_offset_y = (con->deco_rect.height - config.font.height) / 2;
++ int text_offset_x = 0;
+
+ struct Window *win = con->window;
+ if (win == NULL) {
+@@ -567,6 +568,9 @@ void x_draw_decoration(Con *con) {
+ if (win->name == NULL)
+ goto copy_pixmaps;
+
++ if (win->icon)
++ text_offset_x = 18;
+
int mark_width = 0;
if (config.show_marks && !TAILQ_EMPTY(&(con->marks_head))) {
char *formatted_mark = sstrdup("");
-@@ -611,6 +615,22 @@ void x_draw_decoration(Con *con) {
+@@ -602,12 +606,30 @@ void x_draw_decoration(Con *con) {
+ i3String *title = con->title_format == NULL ? win->name : con_parse_title_format(con);
+ draw_util_text(title, &(parent->frame_buffer),
+ p->color->text, p->color->background,
+- con->deco_rect.x + logical_px(2),
++ con->deco_rect.x + text_offset_x + logical_px(2),
+ con->deco_rect.y + text_offset_y,
+- con->deco_rect.width - mark_width - 2 * logical_px(2));
++ con->deco_rect.width - text_offset_x - mark_width - 2 * logical_px(2));
if (con->title_format != NULL)
I3STRING_FREE(title);
@@ -312,9 +305,11 @@ diff -Nurp ../i3-4.12/src/x.c ./src/x.c
+ int icon_offset_y = (con->deco_rect.height - height) / 2;
+
+ draw_util_image(
-+ (unsigned char *)win->icon,
++ win->icon,
++ win->icon_width,
++ win->icon_height,
+ &(parent->frame_buffer),
-+ con->deco_rect.x + indent_px - width,
++ con->deco_rect.x + text_offset_x - width,
+ con->deco_rect.y + icon_offset_y,
+ width,
+ height);
diff --git a/satellites/fdk-aac.sat b/satellites/fdk-aac.sat
new file mode 100644
index 0000000..72ef170
--- /dev/null
+++ b/satellites/fdk-aac.sat
@@ -0,0 +1,14 @@
+import 'compile/configure'
+
+name=fdk-aac
+version=0.1.4
+update_url="https://sourceforge.net/projects/opencore-amr/files/$name/"
+
+dlextract "https://sourceforge.net/projects/opencore-amr/files/$name/$name-$version.tar.gz" \
+ 'e274a7d7f6cd92c71ec5c78e4dc9f8b7'
+header_end
+
+cd "$name-$version"
+compile_configure -- --disable-static
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/ffmpeg.sat b/satellites/ffmpeg.sat
index 51ea54e..6ddccb6 100644
--- a/satellites/ffmpeg.sat
+++ b/satellites/ffmpeg.sat
@@ -1,9 +1,9 @@
name=ffmpeg
-version=3.2
+version=3.2.2
update_url='https://ffmpeg.org/download.html'
dlextract "http://ffmpeg.org/releases/$name-$version.tar.bz2" \
- 'ce8fb81e2742eb70548956492c4625b8'
+ '82cf25d36df70ee995bbdb3efc079934'
header_end
cd "$name-$version"
diff --git a/satellites/functions/compile/cmake.sh b/satellites/functions/compile/cmake.sh
index 8d69989..293b61e 100644
--- a/satellites/functions/compile/cmake.sh
+++ b/satellites/functions/compile/cmake.sh
@@ -24,7 +24,7 @@ compile_cmake() {
-DCMAKE_INSTALL_DOCDIR="$dir_docdir" \
-DCMAKE_INSTALL_INFODIR="$dir_infodir" \
-DCMAKE_INSTALL_LOCALEDIR="$dir_localedir" \
- $@
+ "$@"
make
[ "$noinstall" = false ] && make DESTDIR="$dir_install" install
cd "$olddir"
diff --git a/satellites/functions/compile/configure.sh b/satellites/functions/compile/configure.sh
index d86a5b0..3be477c 100644
--- a/satellites/functions/compile/configure.sh
+++ b/satellites/functions/compile/configure.sh
@@ -3,16 +3,18 @@ define_option "build=: Explicity specify the host machine's target triplet"
compile_configure() {
local builddir=''
+ local nomake=false
local noinstall=false
local olddir="$PWD"
local makeflags=''
local OPTIND=1
local opt
- while getopts 'b:m:I' opt; do case "$opt" in
+ while getopts 'b:m:MI' opt; do case "$opt" in
b) local builddir="$OPTARG" ;;
- I) local noinstall=true ;;
m) local makeflags="$OPTARG" ;;
+ M) local nomake=true ;;
+ I) local noinstall=true ;;
esac; done
shift $((OPTIND-1))
[ "$1" = '--' ] && shift
@@ -39,10 +41,10 @@ compile_configure() {
--docdir="/$dir_prefix/$dir_docdir/$name" \
--infodir="/$dir_prefix/$dir_infodir" \
--localedir="/$dir_prefix/$dir_localedir" \
- $build $cross $@
+ $build $cross "$@"
- make $makeflags
- [ "$noinstall" = false ] && make DESTDIR="$dir_install" $makeflags install
+ [ "$nomake" = false ] && make $makeflags
+ [ "$nomake" = false -a "$noinstall" = false ] && make DESTDIR="$dir_install" $makeflags install
[ "$builddir" ] && cd "$olddir" || true
}
diff --git a/satellites/functions/compile/perl.sh b/satellites/functions/compile/perl.sh
index cc23a87..d2b6145 100644
--- a/satellites/functions/compile/perl.sh
+++ b/satellites/functions/compile/perl.sh
@@ -17,7 +17,7 @@ compile_perl() {
--install_path bin="/$dir_prefix/$dir_bindir" \
--install_path bindoc="/$dir_prefix/$dir_mandir/man1" \
--install_path libdoc="/$dir_prefix/$dir_mandir/man3" \
- $@
+ "$@"
./Build
[ "$noinstall" = false ] && ./Build install || true
}
diff --git a/satellites/functions/compile/python.sh b/satellites/functions/compile/python.sh
index c98f4db..90a8426 100644
--- a/satellites/functions/compile/python.sh
+++ b/satellites/functions/compile/python.sh
@@ -1,4 +1,4 @@
compile_python() {
local ver="$1"; shift
- python$ver setup.py install --prefix="/$dir_prefix" --root="$dir_install" --optimize=2 $@
+ python$ver setup.py install --prefix="/$dir_prefix" --root="$dir_install" --optimize=2 "$@"
}
diff --git a/satellites/functions/compile/qt.sh b/satellites/functions/compile/qt.sh
index 3be39d6..4e6db57 100644
--- a/satellites/functions/compile/qt.sh
+++ b/satellites/functions/compile/qt.sh
@@ -1,7 +1,7 @@
compile_qt() {
local ver="$1"; shift
- $(compile_qt_get_cmd qmake "$ver") PREFIX="/$dir_prefix" build_mode=release build_type=shared $@
+ $(compile_qt_get_cmd qmake "$ver") PREFIX="/$dir_prefix" build_mode=release build_type=shared "$@"
make
make INSTALL_ROOT="$dir_install" install
}
diff --git a/satellites/functions/compile/waf.sh b/satellites/functions/compile/waf.sh
index 0b260ab..eab3b0e 100644
--- a/satellites/functions/compile/waf.sh
+++ b/satellites/functions/compile/waf.sh
@@ -14,5 +14,5 @@ compile_waf() {
--bindir="/$dir_prefix/$dir_bindir" \
--libdir="/$dir_prefix/$dir_libdir" \
--destdir="$dir_install" \
- $WAFFLAGS $@
+ "$WAFFLAGS" "$@"
}
diff --git a/satellites/functions/vcs/git.sh b/satellites/functions/vcs/git.sh
index 246d62f..442cfe0 100644
--- a/satellites/functions/vcs/git.sh
+++ b/satellites/functions/vcs/git.sh
@@ -1,17 +1,18 @@
vcs_git() {
- local reponame="$(basename "$1")"
+ local reponame="$(basename "$1")"; shift
+ local branch="$(basename "$1")"
local dir="$dir_source/$name/$reponame"
if [ ! -d "$dir" ]; then
# Clone new repo
- git clone --recursive --depth=1 "$1" "$dir"
+ git clone --recursive --depth=1 $([ "$branch" ] && echo "-b $branch")"$1" "$dir"
cd "$dir"
echo "$(git rev-parse @)" > "${dir}_rev_$_satname"
vcs_compile=true
else
cd "$dir"
- if git fetch > /dev/null; then
+ if git fetch $([ "$branch" ] && echo "origin $branch") > /dev/null; then
git reset --hard FETCH_HEAD > /dev/null
fi
local rev="$(git rev-parse @)"
diff --git a/satellites/functions/vcs/svn.sh b/satellites/functions/vcs/svn.sh
new file mode 100644
index 0000000..403f28b
--- /dev/null
+++ b/satellites/functions/vcs/svn.sh
@@ -0,0 +1,23 @@
+vcs_svn() {
+ local reponame="$(basename "$1")"
+ local dir="$dir_source/$name/$reponame"
+
+ [ "$2" ] && local revision="-r $2" || local revision=""
+
+ if [ ! -d "$dir" ]; then
+ # Clone new repo
+ svn co $revision "$1" "$dir"
+ echo "$(svn info "$dir" --show-item revision)" > "${dir}_rev_$_satname"
+ vcs_compile=true
+ else
+ svn up $revision "$dir" || true
+ local rev="$(svn info "$dir" --show-item revision)"
+ if [ "$rev" != "$(cat "${dir}_rev_$_satname" 2> /dev/null || true)" ]; then
+ echo "$rev" > "${dir}_rev_$_satname"
+ vcs_compile=true
+ fi
+ fi
+
+ [ "$2" ] || version="r$(svn info "$dir" --show-item revision | xargs)"
+ getfile "$reponame"
+}
diff --git a/satellites/gfm-git.sat b/satellites/gfm-git.sat
index 961cfa4..d651acd 100644
--- a/satellites/gfm-git.sat
+++ b/satellites/gfm-git.sat
@@ -7,7 +7,7 @@ vcs_git 'https://github.com/debrouxl/tilp_and_gfm'
header_end
cd tilp_and_gfm/gfm/trunk
-autoreconf -i
+autoreconf -fi
compile_configure
# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/giblib.sat b/satellites/giblib.sat
index a3c16ee..e618330 100644
--- a/satellites/giblib.sat
+++ b/satellites/giblib.sat
@@ -19,7 +19,7 @@ for x in $(cat ../debian/patches/series); do
patch -p1 -i ../debian/patches/$x
done
-autoreconf -i
+autoreconf -fi
compile_configure -- --disable-static
# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/go.sat b/satellites/go.sat
index 17b8c47..333ace8 100644
--- a/satellites/go.sat
+++ b/satellites/go.sat
@@ -1,12 +1,12 @@
name=go
-version=1.7.3
+version=1.7.4
bootstrap_version=1.4.3
update_url='https://golang.org/dl/'
define_option '!bootstrap: Bootstrap this program'
dlextract "https://storage.googleapis.com/golang/$name$version.src.tar.gz" \
- '83d1b7bd4281479ab7d153e5152c9fc9'
+ '49c1076428a5d3b5ad7ac65233fcca2f'
if option bootstrap; then
download "https://storage.googleapis.com/golang/$name$bootstrap_version.src.tar.gz" \
diff --git a/satellites/hostapd.sat b/satellites/hostapd.sat
index d76f956..66db445 100644
--- a/satellites/hostapd.sat
+++ b/satellites/hostapd.sat
@@ -4,15 +4,12 @@ update_url="http://w1.fi/$name/"
define_option '!rtlxdrv: Build with support for RTL8188{C|CU|CUS} wifi chips'
+dlextract "http://w1.fi/releases/$name-$version.tar.gz" \
+ 'eaa56dce9bd8f1d195eb62596eab34c7'
+
if option rtlxdrv; then
- version=2.5 # The patch still has to be updated
- dlextract "http://w1.fi/releases/$name-$version.tar.gz" \
- '69f9cec3f76d74f402864a43e4f8624f'
- dlfile 'https://raw.githubusercontent.com/pritambaral/hostapd-rtl871xdrv/547005ed466bbd632cff87b706e339874025acb0/rtlxdrv.patch' \
- 'ca8697f0254e3444f1e3758100c4f949'
-else
- dlextract "http://w1.fi/releases/$name-$version.tar.gz" \
- 'eaa56dce9bd8f1d195eb62596eab34c7'
+ dlfile 'https://raw.githubusercontent.com/pritambaral/hostapd-rtl871xdrv/601a3f19d78393018f39a2e38ad14bf2e3315a0a/rtlxdrv.patch' \
+ 'fef4f428e4aae71f5202a61f656952da'
fi
header_end
diff --git a/satellites/i3.sat b/satellites/i3.sat
index f6b602c..440cd48 100644
--- a/satellites/i3.sat
+++ b/satellites/i3.sat
@@ -1,15 +1,15 @@
+import 'compile/configure'
+
name=i3
-version=4.12
+version=4.13
update_url='http://i3wm.org/downloads/'
define_option '!window-icons: Patch for support for icons in the title'
dlextract "http://i3wm.org/downloads/$name-$version.tar.bz2" \
- '308fc79ed252e1f3c8a093598e13e326'
+ '08d17dcf1fde665a15f7d411486546ae'
if option window-icons; then
- #dlfile 'https://aur.archlinux.org/cgit/aur.git/plain/iconsupport.patch?h=i3-wm-iconpatch&id=df5ce8271b714937088bc797b5724c1f2c591c74' \
- # '3fe4dbd039bc0934d641ac9328e7ef92'
extrafile 'iconsupport.patch'
fi
header_end
@@ -18,19 +18,6 @@ cd "$name-$version"
option window-icons patch -p1 -i ../iconsupport.patch
-# Fix install directories
-sed -i -e "/\$(INSTALL)/s/bin/$(safe_sed "$dir_bindir")/" \
- -e "/\$(INSTALL)/s/share/$(safe_sed "$dir_datadir")/" \
- src/i3.mk i3-msg/i3-msg.mk i3-nagbar/i3-nagbar.mk \
- i3-config-wizard/i3-config-wizard.mk i3bar/i3bar.mk \
- i3-dump-log/i3-dump-log.mk i3-input/i3-input.mk
-
-make install \
- PREFIX="/$dir_prefix" \
- SYSCONFDIR="/$dir_sysconfdir" \
- DESTDIR="$dir_install"
-
-make -C man
-install -Dm644 -t "$dir_install/$dir_prefix/$dir_mandir/man1" man/*.1
+compile_configure -b build -- --srcdir=..
# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/iasl.sat b/satellites/iasl.sat
new file mode 100644
index 0000000..9d275ca
--- /dev/null
+++ b/satellites/iasl.sat
@@ -0,0 +1,14 @@
+name=acpica
+version=20161117
+update_url='https://acpica.org/downloads'
+update_names="/files/$name-unix-$version.tar.gz"
+
+dlextract "https://acpica.org/sites/$name/files/$name-unix-$version.tar.gz" \
+ 'a08919942050b56955580bfa67855ce9'
+header_end
+
+cd "$name-unix-$version"
+make
+make DESTDIR="$dir_install" INSTALLDIR="/$dir_prefix/$dir_bindir" install
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/jsoncpp.sat b/satellites/jsoncpp.sat
new file mode 100644
index 0000000..297906f
--- /dev/null
+++ b/satellites/jsoncpp.sat
@@ -0,0 +1,23 @@
+import 'compile/cmake'
+
+name=jsoncpp
+version=1.7.7
+update_url="https://github.com/open-source-parsers/$name/releases"
+update_names="/archive/$version.tar.gz"
+
+dlextract "https://github.com/open-source-parsers/$name/archive/$version.tar.gz" \
+ '9b51c65c563463220a8cb5fa33d525f8'
+header_end
+
+cd "$name-$version"
+
+# Fix paths
+sed -i -e "s/lib\${LIB_SUFFIX}\/pkgconfig/$(safe_sed "$dir_libdir/pkgconfig")/" CMakeLists.txt
+
+compile_cmake -- \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_STATIC_LIBS=OFF \
+ -DRUNTIME_INSTALL_DIR="/$dir_prefix/$dir_bindir" \
+ -DLIBRARY_INSTALL_DIR="/$dir_prefix/$dir_libdir"
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/libbsd.sat b/satellites/libbsd.sat
new file mode 100644
index 0000000..cc33615
--- /dev/null
+++ b/satellites/libbsd.sat
@@ -0,0 +1,14 @@
+import 'compile/configure'
+
+name=libbsd
+version=0.8.3
+update_url='https://libbsd.freedesktop.org/releases/'
+
+dlextract "https://libbsd.freedesktop.org/releases/$name-$version.tar.xz" \
+ 'e935c1bb6cc98a4a43cb1da22795493a'
+header_end
+
+cd "$name-$version"
+compile_configure -- --disable-static
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/libev.sat b/satellites/libev.sat
index 9aff35f..662c95b 100644
--- a/satellites/libev.sat
+++ b/satellites/libev.sat
@@ -1,11 +1,11 @@
import 'compile/configure'
name=libev
-version=4.22
+version=4.23
update_url="http://dist.schmorp.de/$name/"
dlextract "http://dist.schmorp.de/$name/$name-$version.tar.gz" \
- 'bf0007e37240103d3c2be80ca9bee3f9'
+ 'f1dbf786ead8307e0d4f5f68f2f8526c'
header_end
cd "$name-$version"
diff --git a/satellites/libgdiplus.sat b/satellites/libgdiplus.sat
new file mode 100644
index 0000000..9f2b3fb
--- /dev/null
+++ b/satellites/libgdiplus.sat
@@ -0,0 +1,14 @@
+import 'compile/configure'
+
+name=libgdiplus
+version=4.2
+update_url="https://download.mono-project.com/sources/$name/"
+
+dlextract "https://download.mono-project.com/sources/$name/$name-$version.tar.gz" \
+ '3e68075aa0911d5ebc2b3739e85af0ea'
+header_end
+
+cd "$name-$version"
+compile_configure -- --disable-static
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/libsrtp.sat b/satellites/libsrtp.sat
new file mode 100644
index 0000000..f69660d
--- /dev/null
+++ b/satellites/libsrtp.sat
@@ -0,0 +1,14 @@
+import 'compile/configure'
+
+name=libsrtp
+version=1.5.4
+update_url="https://github.com/cisco/$name/releases"
+
+dlextract "https://github.com/cisco/$name/archive/v$version.tar.gz" \
+ '64a9580f86a9c3e1c4986e944e6a5a84'
+header_end
+
+cd "$name-$version"
+compile_configure -m shared_library
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/libticables-git.sat b/satellites/libticables-git.sat
index 811c814..9a4a18c 100644
--- a/satellites/libticables-git.sat
+++ b/satellites/libticables-git.sat
@@ -7,7 +7,7 @@ vcs_git 'https://github.com/debrouxl/tilibs'
header_end
cd tilibs/libticables/trunk
-autoreconf -i
+autoreconf -fi
compile_configure -- --enable-libusb10
# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/libticalcs-git.sat b/satellites/libticalcs-git.sat
index eebd9b3..b4ddf71 100644
--- a/satellites/libticalcs-git.sat
+++ b/satellites/libticalcs-git.sat
@@ -7,7 +7,7 @@ vcs_git 'https://github.com/debrouxl/tilibs'
header_end
cd tilibs/libticalcs/trunk
-autoreconf -i
+autoreconf -fi
compile_configure
# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/libticonv-git.sat b/satellites/libticonv-git.sat
index 6d5ce64..ea3cab4 100644
--- a/satellites/libticonv-git.sat
+++ b/satellites/libticonv-git.sat
@@ -7,7 +7,7 @@ vcs_git 'https://github.com/debrouxl/tilibs'
header_end
cd tilibs/libticonv/trunk
-autoreconf -i
+autoreconf -fi
compile_configure
# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/libtifiles-git.sat b/satellites/libtifiles-git.sat
index 9cee393..2d54775 100644
--- a/satellites/libtifiles-git.sat
+++ b/satellites/libtifiles-git.sat
@@ -7,7 +7,7 @@ vcs_git 'https://github.com/debrouxl/tilibs'
header_end
cd tilibs/libtifiles/trunk
-autoreconf -i
+autoreconf -fi
compile_configure
# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/libwebp.sat b/satellites/libwebp.sat
index 4e555f2..ca13d65 100644
--- a/satellites/libwebp.sat
+++ b/satellites/libwebp.sat
@@ -2,13 +2,15 @@ import 'compile/configure'
name=libwebp
version=0.5.1
-update_url="https://developers.google.com/speed/webp/download"
+update_url='https://developers.google.com/speed/webp/download'
dlextract "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/$name-$version.tar.gz" \
'3d7db92ebba5b4f679413d25c6040881'
header_end
cd "$name-$version"
-compile_configure -- --disable-static
+compile_configure -- \
+ --disable-static \
+ --enable-libwebpdemux
# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/libxdg-basedir.sat b/satellites/libxdg-basedir.sat
index 3259887..4f05377 100644
--- a/satellites/libxdg-basedir.sat
+++ b/satellites/libxdg-basedir.sat
@@ -13,7 +13,7 @@ header_end
cd "$name-$name-$version"
patch -p0 -i ../xdgGetRelativeHome-overflow.patch
-autoreconf -i
+autoreconf -fi
compile_configure -- --disable-static
# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/libxkbcommon.sat b/satellites/libxkbcommon.sat
index 3ede9fe..f393fb0 100644
--- a/satellites/libxkbcommon.sat
+++ b/satellites/libxkbcommon.sat
@@ -1,11 +1,11 @@
import 'compile/configure'
name=libxkbcommon
-version=0.6.1
+version=0.7.0
update_url='http://xkbcommon.org/'
dlextract "http://xkbcommon.org/download/$name-$version.tar.xz" \
- '67a8f322b5fa32352272e811bb90dd73'
+ '61ba550fc529ea4d6f9faa2cad62c95f'
header_end
cd "$name-$version"
diff --git a/satellites/makerom-git.sat b/satellites/makerom-git.sat
new file mode 100644
index 0000000..d1c3daa
--- /dev/null
+++ b/satellites/makerom-git.sat
@@ -0,0 +1,12 @@
+import 'vcs/git'
+
+name=Project_CTR
+
+vcs_git "https://github.com/profi200/$name"
+header_end
+
+cd "$name/makerom"
+make
+install -Dm755 -t "$dir_install/$dir_prefix/$dir_bindir" makerom
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/mbedtls.sat b/satellites/mbedtls.sat
new file mode 100644
index 0000000..3c82628
--- /dev/null
+++ b/satellites/mbedtls.sat
@@ -0,0 +1,24 @@
+name=mbedtls
+version=2.4.0
+update_url='https://tls.mbed.org/'
+
+dlextract "https://tls.mbed.org/download/$name-$version-apache.tgz" \
+ '4debf0e0eed7e75a00b7780830c9688e'
+header_end
+
+cd "$name-$version"
+
+# enable flags for non-embedded systems (from ArchLinux)
+sed -i 's|//\(#define MBEDTLS_THREADING_C\)|\1|' include/mbedtls/config.h
+sed -i 's|//\(#define MBEDTLS_THREADING_PTHREAD\)|\1|' include/mbedtls/config.h
+
+# Don't build static libraries
+sed -i -e '/^all: shared/s/static//' library/Makefile
+
+# Fix paths
+sed -i -e "s/\(\$(DESTDIR)\/\)lib/\1$(safe_sed "$dir_libdir")/" \
+ -e "s/\(\$(DESTDIR)\/\)bin/\1$(safe_sed "$dir_bindir")/" Makefile
+
+make SHARED=1 DESTDIR="$dir_install/$dir_prefix" install
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/minizip.sat b/satellites/minizip.sat
new file mode 100644
index 0000000..1bc10a2
--- /dev/null
+++ b/satellites/minizip.sat
@@ -0,0 +1,16 @@
+import 'compile/configure'
+
+name=zlib
+version=1.2.8
+update_url='http://zlib.net/'
+
+dlextract "http://zlib.net/$name-$version.tar.xz" \
+ '28f1205d8dd2001f26fec1e8c2cebe37'
+header_end
+
+cd "$name-$version/contrib/minizip"
+rm -f Makefile
+autoreconf -fi
+compile_configure -- --disable-static
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/mono.sat b/satellites/mono.sat
new file mode 100644
index 0000000..2b69353
--- /dev/null
+++ b/satellites/mono.sat
@@ -0,0 +1,20 @@
+import 'compile/configure'
+
+name=mono
+majver=4.6.2
+version=$majver.7 # TODO: Untested
+update_url="https://download.mono-project.com/sources/$name/"
+
+dlextract "https://download.mono-project.com/sources/$name/$name-$version.tar.bz2" \
+ '601a96baa96a2e7acde1fb7e622322c4'
+header_end
+
+cd "$name-$majver"
+
+# Fix mono_libdir
+#sed -i -e "/mono_libdir=/s/\/lib/\/$(safe_sed "$dir_libdir")/" ./configure
+
+# TODO: Move everything to the proper user-selected libdir
+compile_configure -- --libdir="/$dir_prefix/lib"
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/mpv.sat b/satellites/mpv.sat
index 8b0f8a1..be2960e 100644
--- a/satellites/mpv.sat
+++ b/satellites/mpv.sat
@@ -1,11 +1,11 @@
import 'compile/waf'
name=mpv
-version=0.21.0
+version=0.22.0
update_url="https://github.com/mpv-player/$name/releases"
dlextract "https://github.com/mpv-player/$name/archive/v$version.tar.gz" \
- 'e0d83a883bc34f67d568c025b036b584'
+ 'aa56677b11c1b634a83c56f1c1c39c57'
header_end
cd "$name-$version"
diff --git a/satellites/ninja.sat b/satellites/ninja.sat
index 434e2fb..df11e41 100644
--- a/satellites/ninja.sat
+++ b/satellites/ninja.sat
@@ -1,14 +1,21 @@
name=ninja
-version=1.7.1
+version=1.7.2
update_url="https://github.com/ninja-build/$name/releases"
+define_option '!bootstrap: Bootstrap this program'
+
dlextract "https://github.com/ninja-build/$name/archive/v$version.tar.gz" \
- 'e45bda009319f9af5385bb79e783da9f'
+ '7b482218757acbaeac4d4d54a3cd94e1'
header_end
cd "$name-$version"
-./configure.py --bootstrap
+if option bootstrap; then
+ ./configure.py --bootstrap
+else
+ ./configure.py
+ ninja
+fi
install -Dm755 -t "$dir_install/$dir_prefix/$dir_bindir" "$name"
install -Dm644 misc/bash-completion "$dir_install/$dir_prefix/$dir_datadir/bash-completion/completions/$name"
diff --git a/satellites/openrc.sat b/satellites/openrc.sat
new file mode 100644
index 0000000..d244d2b
--- /dev/null
+++ b/satellites/openrc.sat
@@ -0,0 +1,20 @@
+name=openrc
+version=0.22.4 # TODO: Untested
+update_url="https://github.com/OpenRC/$name/releases"
+update_names="/archive/$version.tar.gz"
+
+dlextract "https://github.com/OpenRC/$name/archive/$version.tar.gz" \
+ '23e32cb3dc9fdb9de0c935b059207f74'
+header_end
+
+cd "$name-$version"
+make install \
+ DESTDIR="$dir_install" \
+ LIBNAME="$dir_libdir" \
+ PKG_PREFIX="/$dir_prefix" \
+ LIBEXECDIR="/$dir_libdir" \
+ BINDIR="/$dir_bindir" \
+ SBINDIR="/$dir_sbindir" \
+ SYSCONFDIR="/$dir_sysconfdir"
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/opus.sat b/satellites/opus.sat
new file mode 100644
index 0000000..28180ff
--- /dev/null
+++ b/satellites/opus.sat
@@ -0,0 +1,14 @@
+import 'compile/configure'
+
+name=opus
+version=1.1.3
+update_url='http://www.opus-codec.org/downloads/'
+
+dlextract "http://downloads.xiph.org/releases/$name/$name-$version.tar.gz" \
+ '32bbb6b557fe1b6066adc0ae1f08b629'
+header_end
+
+cd "$name-$version"
+compile_configure -- --disable-static
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/ortp.sat b/satellites/ortp.sat
new file mode 100644
index 0000000..830f670
--- /dev/null
+++ b/satellites/ortp.sat
@@ -0,0 +1,14 @@
+import 'compile/configure'
+
+name=ortp
+version=0.27.0
+update_url="https://download.savannah.gnu.org/releases/linphone/$name/sources/"
+
+dlextract "https://download.savannah.gnu.org/releases/linphone/$name/sources/$name-$version.tar.gz" \
+ '301d1e9e32d1ba5399bc82ceb11debf7'
+header_end
+
+cd "$name-$version"
+compile_configure -- --disable-strict
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/graveyard/unmaintained_satellites/padxorer.sat b/satellites/padxorer.sat
similarity index 76%
rename from graveyard/unmaintained_satellites/padxorer.sat
rename to satellites/padxorer.sat
index 61c0d44..7395939 100644
--- a/graveyard/unmaintained_satellites/padxorer.sat
+++ b/satellites/padxorer.sat
@@ -7,6 +7,6 @@ dlfile "http://pastebin.com/raw/$paste" \
header_end
cc -x c -O3 "$paste" -o "$name"
-install -Dm755 "$name" "$dir_install/$dir_prefix/bin/$name"
+install -Dm755 -t "$dir_install/$dir_prefix/$dir_bindir" "$name"
# vim:set tabstop=4 shiftwidth=4 syntax=sh et:
diff --git a/satellites/protobuf.sat b/satellites/protobuf.sat
new file mode 100644
index 0000000..ac88816
--- /dev/null
+++ b/satellites/protobuf.sat
@@ -0,0 +1,20 @@
+import 'compile/configure'
+
+name=protobuf
+version=3.1.0
+update_url="https://github.com/google/$name/releases"
+update_names="/archive/v$version.tar.gz"
+
+dlextract "https://github.com/google/$name/archive/v$version.tar.gz" \
+ '14a532a7538551d5def317bfca41dace'
+header_end
+
+cd "$name-$version"
+
+# From autogen.sh
+autoreconf -f -i -Wall,no-obsolete
+rm -rf autom4te.cache config.h.in~
+
+compile_configure -- --disable-static
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/python3-requests.sat b/satellites/python3-requests.sat
index 8dc3996..89194f1 100644
--- a/satellites/python3-requests.sat
+++ b/satellites/python3-requests.sat
@@ -1,11 +1,11 @@
import 'compile/python'
name=requests
-version=2.11.1
+version=2.12.3
update_url="https://github.com/kennethreitz/$name/releases"
dlextract "https://github.com/kennethreitz/$name/archive/v$version.tar.gz" \
- '3007b144a7ce83ee16262b79e3acfa1b'
+ 'bae63b3d54e548ccd97b86573a43f1aa'
header_end
cd "$name-$version"
diff --git a/satellites/python3-setuptools.sat b/satellites/python3-setuptools.sat
index 37d89b7..c0098f0 100644
--- a/satellites/python3-setuptools.sat
+++ b/satellites/python3-setuptools.sat
@@ -1,12 +1,11 @@
import 'compile/python'
name=setuptools
-version=28.8.0
-update_url="https://pypi.python.org/pypi/$name"
-update_names="$name-$version.tar.gz#md5="
+version=30.2.0
+update_url="https://github.com/pypa/$name/releases"
-dlextract "https://pypi.python.org/packages/25/4e/1b16cfe90856235a13872a6641278c862e4143887d11a12ac4905081197f/$name-$version.tar.gz" \
- '43d6eb25f60e8a2682a8f826ce9e3f42'
+dlextract "https://github.com/pypa/$name/archive/v$version.tar.gz" \
+ 'asdf'
header_end
cd "$name-$version"
diff --git a/satellites/qt5-declarative.sat b/satellites/qt5-declarative.sat
new file mode 100644
index 0000000..c9888fd
--- /dev/null
+++ b/satellites/qt5-declarative.sat
@@ -0,0 +1,17 @@
+import 'compile/qt'
+
+name=qt5
+submodule=declarative
+majver=5.7
+version=$majver.0
+update_url='https://www.qt.io/download-open-source/'
+update_names="qt-everywhere-opensource-src-$version.tar.gz"
+
+dlextract "http://download.qt.io/official_releases/qt/$majver/$version/submodules/qt$submodule-opensource-src-$version.tar.xz" \
+ '0d9e461aa54dba4793253fa2eb501f9b'
+header_end
+
+cd "qt$submodule-opensource-src-$version"
+compile_qt 5
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/qt5-webchannel.sat b/satellites/qt5-webchannel.sat
new file mode 100644
index 0000000..05c5b7d
--- /dev/null
+++ b/satellites/qt5-webchannel.sat
@@ -0,0 +1,17 @@
+import 'compile/qt'
+
+name=qt5
+submodule=webchannel
+majver=5.7
+version=$majver.0
+update_url='https://www.qt.io/download-open-source/'
+update_names="qt-everywhere-opensource-src-$version.tar.gz"
+
+dlextract "http://download.qt.io/official_releases/qt/$majver/$version/submodules/qt$submodule-opensource-src-$version.tar.xz" \
+ 'dd7699ddeb203d77237ab58a06f9fbfa'
+header_end
+
+cd "qt$submodule-opensource-src-$version"
+compile_qt 5
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/qt5-webengine.sat b/satellites/qt5-webengine.sat
new file mode 100644
index 0000000..aa3613a
--- /dev/null
+++ b/satellites/qt5-webengine.sat
@@ -0,0 +1,19 @@
+import 'compile/qt'
+
+name=qt5
+submodule=webengine
+majver=5.7
+version=$majver.0
+update_url='https://www.qt.io/download-open-source/'
+update_names="qt-everywhere-opensource-src-$version.tar.gz"
+
+dlextract "http://download.qt.io/official_releases/qt/$majver/$version/submodules/qt$submodule-opensource-src-$version.tar.xz" \
+ '937f64886fbcb038d6fa4b44ae80cbeb'
+header_end
+
+cd "qt$submodule-opensource-src-$version"
+compile_qt 5 \
+ WEBENGINE_CONFIG+='use_system_icu use_system_ffmpeg use_system_minizip use_system_libwebp use_system_libxslt use_system_libevent use_system_jsoncpp use_system_opus use_system_protobuf use_system_libsrtp use_system_snappy' # use_system_vpx
+# Options can be found in tools/qmake/mkspecs/features/configure.prf
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/qt5-x11extras.sat b/satellites/qt5-x11extras.sat
new file mode 100644
index 0000000..1153278
--- /dev/null
+++ b/satellites/qt5-x11extras.sat
@@ -0,0 +1,17 @@
+import 'compile/qt'
+
+name=qt5
+submodule=x11extras
+majver=5.7
+version=$majver.0
+update_url='https://www.qt.io/download-open-source/'
+update_names="qt-everywhere-opensource-src-$version.tar.gz"
+
+dlextract "http://download.qt.io/official_releases/qt/$majver/$version/submodules/qt$submodule-opensource-src-$version.tar.xz" \
+ '8733599cf5a91c62b185f689b2d402ee'
+header_end
+
+cd "qt$submodule-opensource-src-$version"
+compile_qt 5
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/qutebrowser.sat b/satellites/qutebrowser.sat
index 24c7206..21b4169 100644
--- a/satellites/qutebrowser.sat
+++ b/satellites/qutebrowser.sat
@@ -15,12 +15,15 @@ sed -i -e "s/usr\/share/$(safe_sed "$dir_prefix/$dir_datadir")/" qutebrowser/uti
compile_python 3
+sed -e '/^Name=/s/$/ (Webengine)/' \
+ -e '/^Exec=/s/%u/--backend webengine &/' "$name.desktop" > "$name-webengine.desktop"
+
# Install manpage
a2x -f manpage "doc/$name.1.asciidoc"
install -Dm644 -t "$dir_install/$dir_prefix/$dir_mandir/man1" "doc/$name.1"
# Install desktop and icons
-install -Dm644 -t "$dir_install/$dir_prefix/$dir_datadir/applications" "$name.desktop"
+install -Dm644 -t "$dir_install/$dir_prefix/$dir_datadir/applications" "$name.desktop" "$name-webengine.desktop"
for x in 16 24 32 48 64 96 128 256 512; do
install -Dm644 "icons/$name-${x}x$x.png" "$dir_install/$dir_prefix/$dir_datadir/icons/hicolor/${x}x$x/apps/$name.png"
done
diff --git a/satellites/snappy.sat b/satellites/snappy.sat
new file mode 100644
index 0000000..6a9b26b
--- /dev/null
+++ b/satellites/snappy.sat
@@ -0,0 +1,14 @@
+import 'compile/configure'
+
+name=snappy
+version=1.1.3
+update_url="https://github.com/google/$name/releases"
+
+dlextract "https://github.com/google/$name/releases/download/$version/$name-$version.tar.gz" \
+ '7358c82f133dc77798e4c2062a749b73'
+header_end
+
+cd "$name-$version"
+compile_configure -- --disable-static
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/steam.sat b/satellites/steam.sat
index 238f336..c4914ba 100644
--- a/satellites/steam.sat
+++ b/satellites/steam.sat
@@ -1,9 +1,9 @@
name=steam
-version=1.0.0.53
+version=1.0.0.54
update_url="http://repo.steampowered.com/$name/archive/precise/"
dlextract "http://repo.steampowered.com/$name/archive/precise/${name}_$version.tar.gz" \
- '2c1ff88d15d64c3997551a9874b7b830'
+ 'd1398490635615c428165e984a1ec71b'
header_end
cd "$name"
diff --git a/satellites/streamlink.sat b/satellites/streamlink.sat
index 9e64d38..f4d55d5 100644
--- a/satellites/streamlink.sat
+++ b/satellites/streamlink.sat
@@ -1,11 +1,11 @@
import 'compile/python'
name=streamlink
-version=0.0.2
-update_url="https://pypi.python.org/pypi/$name"
+version=0.1.0
+update_url="https://github.com/$name/$name/releases"
-dlextract "https://pypi.python.org/packages/df/12/261a31e4e00cc062e785fc6e23f2dcf813fd3397dbf258c241e1f1e494f8/$name-$version.tar.gz" \
- 'd37b05f8fdfe8336d66312422c4c952f'
+dlextract "https://github.com/$name/$name/releases/download/$version/$name-$version.tar.gz" \
+ '3b54a7cfd6538853f9a8e86508e1cce5'
header_end
cd "$name-$version"
diff --git a/satellites/syncthing.sat b/satellites/syncthing.sat
index 0620d01..6c1830f 100644
--- a/satellites/syncthing.sat
+++ b/satellites/syncthing.sat
@@ -1,9 +1,9 @@
name=syncthing
-version=0.14.10
+version=0.14.13
update_url="https://github.com/$name/$name/releases"
dlextract "https://github.com/$name/$name/releases/download/v$version/$name-source-v$version.tar.gz" \
- '1181e6610d389c9abb67066beb049451'
+ '116ad104dc286d930a0e260efd6aed03'
extrafile 'syncthing-browser.desktop'
header_end
@@ -13,16 +13,13 @@ cd "src/github.com/$name/$name"
GOPATH="$PWD/../../../../:$GOPATH" go run build.go -no-upgrade
-rm -f bin/testutil
-
# Install program
-install -Dm755 -t "$dir_install/$dir_prefix/$dir_bindir" bin/*
+install -Dm755 -t "$dir_install/$dir_prefix/$dir_bindir" bin/syncthing
# Install manpages
-for num in 1 5 7; do
- for file in man/*.$num; do
- install -Dm644 -t "$dir_install/$dir_prefix/$dir_mandir/man$num" "$file"
- done
+for file in man/syncthing.1 man/*.5 man/*.7; do
+ num="$(echo "$file" | cut -d '.' -f 2)"
+ install -Dm644 -t "$dir_install/$dir_prefix/$dir_mandir/man$num" "$file"
done
# Install desktop
diff --git a/satellites/teeworlds.sat b/satellites/teeworlds.sat
index eba2e16..530ad97 100644
--- a/satellites/teeworlds.sat
+++ b/satellites/teeworlds.sat
@@ -1,11 +1,11 @@
# NOTE: This program includes external libraries in their source code: pnglite, wavpack and zlib. Due to how this program is built, it's hard to link with the system ones instead.
name=teeworlds
-version=0.6.3
+version=0.6.4
update_url='https://www.teeworlds.com/?page=downloads'
dlextract "https://downloads.teeworlds.com/$name-$version-src.tar.gz" \
- 'bbe9faa26caf796bcdffc4bc635118fd'
+ '9733800c12462ac4d5a5a4f6ea750af0'
extrafile "$name.desktop"
header_end
diff --git a/satellites/texmaker.sat b/satellites/texmaker.sat
new file mode 100644
index 0000000..04cd7c8
--- /dev/null
+++ b/satellites/texmaker.sat
@@ -0,0 +1,16 @@
+# TODO: Qt5
+
+import 'compile/qt'
+
+name=texmaker
+version=4.5
+update_url="http://www.xm1math.net/$name/download.html"
+
+dlextract "http://www.xm1math.net/$name/$name-$version.tar.bz2" \
+ '156ffad5b7193e0cfecd2d3689f3a7a4'
+header_end
+
+cd "$name-$version"
+compile_qt 4
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/tilp-git.sat b/satellites/tilp-git.sat
index 68a2227..cbe9555 100644
--- a/satellites/tilp-git.sat
+++ b/satellites/tilp-git.sat
@@ -7,7 +7,7 @@ vcs_git 'https://github.com/debrouxl/tilp_and_gfm'
header_end
cd tilp_and_gfm/tilp/trunk
-autoreconf -i
+autoreconf -fi
compile_configure
# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/virtualbox.sat b/satellites/virtualbox.sat
new file mode 100644
index 0000000..b9b5d2d
--- /dev/null
+++ b/satellites/virtualbox.sat
@@ -0,0 +1,114 @@
+# NOTE: This package uses a prebuilt BIOS image, that can only be properly built with OpenWatcom.
+
+import 'vcs/svn'
+
+name=VirtualBox
+version=5.1.10
+update_url='https://www.virtualbox.org/wiki/Downloads'
+
+define_option 'pulseaudio: Add pulseaudio support'
+define_option 'pam: Use PAM for authentication'
+define_option 'docs: Build documentation (requires texlive)'
+
+dlextract "http://download.virtualbox.org/virtualbox/$version/$name-$version.tar.bz2" \
+ '889d90a7d8119a6bcc699be258ca4a96'
+dlfile 'https://git.archlinux.org/svntogit/community.git/plain/trunk/003-ogl-include-path.patch?h=packages/virtualbox&id=580e187e0eeb4952f8a5dd7f284962b714a88b34' \
+ '9e49bbaa2192b141c27ee43cef8cbab7'
+
+# VirtualBox requires this specific revision of kBuild to build.
+vcs_svn 'http://svn.netlabs.org/repos/kbuild/trunk' 2823
+header_end
+
+# Remove prebuilt binaries
+rm -rf trunk/kBuild/bin "$name-$version/kBuild" "$name-$version/tools"
+
+# Build kBuild
+cd trunk
+kBuild/env.sh --full make -f bootstrap.gmk
+mv kBuild "../$name-$version"
+
+# Build VirtualBox
+cd "../$name-$version"
+
+# Build with system X libraries
+sed -i -e "/^+\t\/usr\/include/s/usr/$(safe_sed "$dir_prefix")/" ../003-ogl-include-path.patch
+patch -p1 -i ../003-ogl-include-path.patch
+
+# Qt5 requires -std=c++11
+sed -i -e '/^CXX_FLAGS=/cCXX_FLAGS="-std=c++11"' configure
+
+cat > LocalConfig.kmk << EOF
+VBOX_GCC_OPT := $CXXFLAGS
+
+VBOX_WITH_ORIGIN :=
+VBOX_PATH_APP_PRIVATE := /$dir_prefix/$dir_datadir/$name
+VBOX_PATH_APP_PRIVATE_ARCH := /$dir_prefix/$dir_libdir/$name
+VBOX_PATH_SHARED_LIBS := \$(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_WITH_RUNPATH := \$(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_PATH_APP_DOCS := /$dir_prefix/$dir_docdir/$name
+VBOX_PATH_PACKAGE_DOCS := \$(VBOX_PATH_APP_DOCS)
+
+VBOX_WITH_TESTCASES :=
+VBOX_WITH_TESTSUITE :=
+VBOX_WITH_VALIDATIONKIT :=
+VBOX_GCC_WERR :=
+VBOX_GCC_WARN :=
+
+VBOX_USE_SYSTEM_XORG_HEADERS := 1
+VBOX_NO_LINUX_RUN_INSTALLER := 1
+
+$(option pam || echo VBOX_WITH_PAM :=)
+EOF
+
+./configure \
+ --with-makeself=/bin/true \
+ --disable-kmods \
+ --disable-java \
+ --disable-extpack \
+ $(option pulseaudio || echo --disable-pulse) \
+ $(option docs || echo --disable-docs)
+source ./env.sh
+kmk LOCALCFG=./LocalConfig.kmk
+
+# Install VirtualBox
+cd "out/$BUILD_PLATFORM.$BUILD_PLATFORM_ARCH/release/bin"
+
+rm -f *.debug
+
+# binaries
+mkdir -p "$dir_install/$dir_prefix/$dir_bindir"
+for i in VBoxHeadless VBoxManage VBoxSDL VirtualBox VBoxBalloonCtrl VBoxBugReport VBoxDTrace vboxwebsrv; do
+ ln -sf "$dir_sysroot/$dir_prefix/$dir_libdir/$name/VBox.sh" "$dir_install/$dir_prefix/$dir_bindir/$i"
+ ln -sf "$dir_sysroot/$dir_prefix/$dir_libdir/$name/VBox.sh" "$dir_install/$dir_prefix/$dir_bindir/$(echo $i | tr '[:upper:]' '[:lower:]')"
+done
+chmod 4511 VBoxHeadless VBoxNetAdpCtl VBoxNetDHCP VBoxNetNAT VBoxSDL VBoxVolInfo VirtualBox
+
+# icons
+mkdir -p "$dir_install/$dir_prefix/$dir_datadir/pixmaps"
+mv VBox.png "$dir_install/$dir_prefix/$dir_datadir/pixmaps"
+
+for i in icons/*; do
+ mkdir -p "$dir_install/$dir_prefix/$dir_datadir/icons/hicolor/$(basename $i)/mimetypes"
+ mv $i/* "$dir_install/$dir_prefix/$dir_datadir/icons/hicolor/$(basename $i)/mimetypes"
+done
+rm -rf icons
+
+# desktop
+mkdir -p "$dir_install/$dir_prefix/$dir_datadir/applications" "$dir_install/$dir_prefix/$dir_datadir/mime/packages"
+mv virtualbox.desktop "$dir_install/$dir_prefix/$dir_datadir/applications"
+mv virtualbox.xml "$dir_install/$dir_prefix/$dir_datadir/mime/packages"
+
+# install configuration
+mkdir -p "$dir_install/$dir_sysconfdir/vbox"
+echo "INSTALL_DIR='$dir_sysroot/$dir_prefix/$dir_libdir/$name'" > "$dir_install/$dir_sysconfdir/vbox/vbox.cfg"
+
+# Fix the kernel source directory
+mkdir vboxhost
+mv src/* vboxhost
+mv vboxhost src
+
+# Move the directory
+mkdir -p "$dir_install/$dir_prefix/$dir_libdir/$name"
+cp -a * "$dir_install/$dir_prefix/$dir_libdir/$name"
+
+# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/volumeicon.sat b/satellites/volumeicon.sat
index 7838134..a56a17e 100644
--- a/satellites/volumeicon.sat
+++ b/satellites/volumeicon.sat
@@ -21,7 +21,7 @@ sed -i -e 's/-DCOMPILEWITH_NOTIFY/ &/' ./configure
if option !gtk3; then
patch -p2 -i ../gtk2.patch
- autoreconf -i
+ autoreconf -fi
fi
compile_configure -- --enable-notify
diff --git a/satellites/waf.sat b/satellites/waf.sat
index 9679867..5ad1efb 100644
--- a/satellites/waf.sat
+++ b/satellites/waf.sat
@@ -1,11 +1,11 @@
import 'compile/waf'
name=waf
-version=1.9.5
+version=1.9.6
update_url='https://waf.io/'
dlextract "https://waf.io/$name-$version.tar.bz2" \
- '9e750c49f002b1ba1effa75ec9bbdf00'
+ '2b348ccad11623dcc1a177c56ab40836'
header_end
cd "$name-$version"
@@ -33,5 +33,6 @@ wafdir="$dir_install/$dir_prefix/$dir_libdir/${name}3-$version"
install -d "$wafdir"
unzip -od "$wafdir" zip/waflib.zip
python3 -OOm compileall "$wafdir"
+chmod -R a+r "$wafdir"
# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:
diff --git a/satellites/wine.sat b/satellites/wine.sat
index 91d1142..ac9a353 100644
--- a/satellites/wine.sat
+++ b/satellites/wine.sat
@@ -1,15 +1,17 @@
+# TODO: Build wine gecko and mono.
+
import 'compile/configure'
name=wine
majver=1.9
-version=$majver.22
+version=$majver.24
update_url='https://www.winehq.org/'
update_names="/announce/$version\""
define_option 'wine32=: On x86_64, enable 32bit wine support. Specify the 32bit libdir here'
dlextract "http://dl.winehq.org/$name/source/$majver/$name-$version.tar.bz2" \
- '604c64eb3e1e5c85bc467e5e7b251b1d'
+ '6c225b7f41f6ce7ca9acf019c45c9258'
header_end
cd "$name-$version"
@@ -17,7 +19,7 @@ cd "$name-$version"
compile_configure -b ../build -- $([ "$(uname -m)" = 'x86_64' ] && echo --enable-win64)
wine32="$(option =wine32)"
-if [ "$wine32" ]; then
+if [ "$(uname -m)" = 'x86_64' -a "$wine32" ]; then
PKG_CONFIG_PATH="$dir_sysroot/$dir_prefix/$wine32/pkgconfig" compile_configure -b ../build-wine32 -- --with-wine64=../build --libdir="/$dir_prefix/$wine32"
fi
diff --git a/satellites/xcb-util-xrm.sat b/satellites/xcb-util-xrm.sat
index 254dbb2..ddece66 100644
--- a/satellites/xcb-util-xrm.sat
+++ b/satellites/xcb-util-xrm.sat
@@ -1,11 +1,11 @@
import 'compile/configure'
name=xcb-util-xrm
-version=1.0
+version=1.2
update_url="https://github.com/Airblader/$name/releases"
dlextract "https://github.com/Airblader/$name/releases/download/v$version/$name-$version.tar.bz2" \
- '31b5074f47d8072a81d2ffd1dae3ad57'
+ '242dfd4af757fc5ca0e952a714b9606a'
header_end
cd "$name-$version"
diff --git a/satellites/youtube-dl.sat b/satellites/youtube-dl.sat
index cd122e8..99dea5b 100644
--- a/satellites/youtube-dl.sat
+++ b/satellites/youtube-dl.sat
@@ -1,11 +1,11 @@
import 'compile/python'
name=youtube-dl
-version=2016.11.04
+version=2016.12.01
update_url="http://rg3.github.io/$name/download.html"
dlextract "https://yt-dl.org/downloads/$version/$name-$version.tar.gz" \
- '3d9178a9f9278f24cb313e90c8ef5be3'
+ '53137910c4e55b631b8be30e1c0f32a8'
header_end
cd "$name"
diff --git a/todo.txt b/todo.txt
new file mode 100644
index 0000000..da5f182
--- /dev/null
+++ b/todo.txt
@@ -0,0 +1,2 @@
+Remove the need for dir_sysroot, using it as an option only in the strictly required packages.
+Update the vcs and compile functions to support better options.