summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Theodore <tonyt@logyst.com>2017-11-09 12:58:05 (GMT)
committerGitHub <noreply@github.com>2017-11-09 12:58:05 (GMT)
commitc808163964c787e13c0f75107d5e98c0b73558dc (patch)
treef6a9f6398a51c25bf5996ec5c0c11bf5be13f01f
parent8a1320264e2f50cc2edcea2641d0c4afda1d7e9d (diff)
parenta653f80e7e184b4ba7169a36672ed0f94c5aabdc (diff)
downloadmxe-c808163964c787e13c0f75107d5e98c0b73558dc.zip
mxe-c808163964c787e13c0f75107d5e98c0b73558dc.tar.gz
mxe-c808163964c787e13c0f75107d5e98c0b73558dc.tar.bz2
Merge pull request #1969 from tonytheodore/github-releases
Add support for GitHub releases api
-rw-r--r--docs/index.html16
-rw-r--r--github.mk64
-rw-r--r--plugins/apps/clementine_qt4.mk2
-rw-r--r--src/assimp.mk2
-rw-r--r--src/box2d.mk2
-rw-r--r--src/cgal.mk2
-rw-r--r--src/gc.mk19
-rw-r--r--src/glfw3.mk2
-rw-r--r--src/glm.mk2
-rw-r--r--src/googlemock.mk2
-rw-r--r--src/googletest.mk2
-rw-r--r--src/gumbo.mk2
-rw-r--r--src/hunspell.mk2
-rw-r--r--src/hyperscan.mk2
-rw-r--r--src/jasper.mk2
-rw-r--r--src/jsoncpp.mk2
-rw-r--r--src/libass.mk25
-rw-r--r--src/libatomic_ops.mk2
-rw-r--r--src/libevent.mk2
-rw-r--r--src/libffi.mk2
-rw-r--r--src/libharu.mk2
-rw-r--r--src/libomemo.mk2
-rw-r--r--src/libqrencode.mk2
-rw-r--r--src/librosco.mk2
-rw-r--r--src/libsoup.mk2
-rw-r--r--src/lz4.mk2
-rw-r--r--src/mxml.mk2
-rw-r--r--src/oce.mk2
-rw-r--r--src/pugixml.mk2
-rw-r--r--src/qca.mk2
-rw-r--r--src/sqlcipher.mk2
-rw-r--r--src/tidy-html5.mk2
-rw-r--r--src/vigra.mk2
-rw-r--r--src/yasm.mk2
-rw-r--r--src/zstd.mk2
35 files changed, 110 insertions, 76 deletions
diff --git a/docs/index.html b/docs/index.html
index d7006be..9946b3b 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1245,13 +1245,25 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre>
$(PKG)_UPDATE</code> sections.
</p>
<p>
- To track normal release tags set:
- <pre>$(PKG)_GH_CONF := owner/repo[, tag prefix, tag suffix, tag filter-out, version separator]</pre>
+ To track releases set:
+ <pre>$(PKG)_GH_CONF := owner/repo/releases[/latest][, tag prefix, tag suffix, tag filter-out, version separator]</pre>
+ Releases may require setting _FILE, _SUBDIR, _URL, depending on
+ the naming convention used by the project for tarballs.
+ </p>
+ <p>
+ To track tags set:
+ <pre>$(PKG)_GH_CONF := owner/repo/tags[, tag prefix, tag suffix, tag filter-out, version separator]</pre>
+ </p>
+ <p>
To track branches, set:
<pre>$(PKG)_GH_CONF := owner/repo/branch</pre>
See the following packages for examples:
<ul>
<li>
+ <a href="https://github.com/mxe/mxe/blob/master/src/gc.mk">gc.mk</a>
+ for release tracking
+ </li>
+ <li>
<a href="https://github.com/mxe/mxe/blob/master/src/vmime.mk">vmime.mk</a>
for branch tracking
</li>
diff --git a/github.mk b/github.mk
index 07d4bef..d9327cd 100644
--- a/github.mk
+++ b/github.mk
@@ -1,18 +1,25 @@
# This file is part of MXE. See LICENSE.md for licensing information.
# Standardise GitHub downloads and updates
-# Download API has two forms:
+# Download API has three forms:
# Archive:
# url = <owner>/<repo>/archive/<ref>.tar.gz
# dir = <repo>-<ref>
# if <ref> starts with a single `v`, it is removed from dir
#
+# Release:
+# Manually uploaded distribution tarballs, especially useful for
+# autotools packages with generated sources. No universal convention,
+# but generally:
+# url = <owner>/<repo>/releases/downloads/<ref>/<repo>-<version>.tar.[bz2,gz,xz,...]
+# dir = <repo>-<version>
+#
# Tarball:
# url = <owner>/<repo>/tarball/<ref>/output-file.tar.gz
# dir = <owner>-<repo>-<short sha>
#
-# TODO: also third api - `releases` see libass.mk
-# grep -l 'MXE_GET_GITHUB\|api.github.com\|github.com.*archive' src/*.mk | xargs grep -L 'GH_CONF'
+# TODO: update remaining packages
+# grep -l 'MXE_GET_GITHUB\|api.github.com\|github.com.*' src/*.mk | xargs grep -L 'GH_CONF'
#
# Filename doesn't matter as we stream the url to a name of our choosing.
#
@@ -21,12 +28,17 @@
# into it without knowing the SHA beforehand, but the directory length would
# be comical in logs etc.
#
+# The release API is based on tags but the uploaded tarballs may use
+# any naming convention for the filename and subdir, and also other
+# archive types e.g. *.xz
+#
# The tarball API accepts references to commits or tags, always using the
# short SHA as the directory. In this case, tag tracking packages would have
# to store the SHA (see #1002). However, this only works for lightweight
# tags, not annotated tags that most projects use for releases.
#
-# In summary, we have to use both.
+# In summary, we have to use all three.
+
# The tarball API determines the short SHA length used in the directory name.
# Chances of a collision on a "given" commit seem to decrease as the chance
@@ -41,10 +53,19 @@ GITHUB_SHA_LENGTH := 7
# updates will use the last commit from the specified branch as
# a version string and bypass `sort -V`
#
+# Track releases - Release API
+# GH_CONF := owner/repo/releases[/latest], tag prefix, tag suffix, tag filter-out, version separator
+# updates can optionally use the latest non-prerelease with /latest
+# or manually specify version numbering based on:
+# <tag prefix><s/<version sep>/./version><tag suffix>
+#
# Track tags - Archive API
-# GH_CONF := owner/repo, tag prefix, tag suffix, tag filter-out, version separator
+# GH_CONF := owner/repo/tags, tag prefix, tag suffix, tag filter-out, version separator
# updates will construct a version number based on:
# <tag prefix><s/<version sep>/./version><tag suffix>
+#
+# Using the third segment for api means you can't track a branch with these names:
+GH_APIS := releases tags
# common tag filtering is applied with `grep -v`:
GITHUB_TAG_FILTER := alpha\|beta\|rc
@@ -60,7 +81,9 @@ GITHUB_TAG_FILTER := alpha\|beta\|rc
GH_OWNER = $(word 1,$(subst /,$(space),$(word 1,$(subst $(comma),$(space),$($(PKG)_GH_CONF)))))
GH_REPO = $(word 2,$(subst /,$(space),$(word 1,$(subst $(comma),$(space),$($(PKG)_GH_CONF)))))
-GH_BRANCH = $(word 3,$(subst /,$(space),$(word 1,$(subst $(comma),$(space),$($(PKG)_GH_CONF)))))
+GH_API = $(filter $(GH_APIS),$(word 3,$(subst /,$(space),$(word 1,$(subst $(comma),$(space),$($(PKG)_GH_CONF))))))
+GH_BRANCH = $(filter-out $(GH_APIS),$(word 3,$(subst /,$(space),$(word 1,$(subst $(comma),$(space),$($(PKG)_GH_CONF))))))
+GH_LATEST = $(word 4,$(subst /,$(space),$(word 1,$(subst $(comma),$(space),$($(PKG)_GH_CONF)))))
GH_TAG_VARS = $(call rest,$(subst $(comma),$(space)$(__gmsl_aa_magic),$(subst $(space),,$($(PKG)_GH_CONF))))
GH_TAG_PREFIX = $(subst $(__gmsl_aa_magic),,$(word 1,$(GH_TAG_VARS)))
GH_TAG_SUFFIX = $(subst $(__gmsl_aa_magic),,$(word 2,$(GH_TAG_VARS)))
@@ -70,6 +93,7 @@ GH_VERSION_SEP = $(subst $(__gmsl_aa_magic),,$(word 4,$(GH_TAG_VARS)))
define MXE_SETUP_GITHUB
$(PKG)_GH_OWNER := $(GH_OWNER)
$(PKG)_GH_REPO := $(GH_REPO)
+ $(PKG)_GH_LATEST := $(if $(GH_LATEST),/latest)
$(PKG)_BRANCH := $(GH_BRANCH)
$(PKG)_TAG_VARS := $(GH_TAG_VARS)
$(PKG)_TAG_PREFIX := $(GH_TAG_PREFIX)
@@ -79,7 +103,9 @@ define MXE_SETUP_GITHUB
$(PKG)_FILE := $(or $($(PKG)_FILE),$(PKG)-$$($$(PKG)_TAG_PREFIX)$($(PKG)_VERSION)$$($$(PKG)_TAG_SUFFIX).tar.gz)
$(if $(and $(GH_BRANCH),$(GH_TAG_VARS)),\
$(error $(newline) $(PKG) specifies both branch and tag variables $(newline)))
- $(if $(GH_BRANCH),$(value MXE_SETUP_GITHUB_BRANCH),$(value MXE_SETUP_GITHUB_TAG))
+ $(if $(and $(GH_BRANCH),$(GH_LATEST)),\
+ $(error $(newline) $(PKG) has fragments after github branch $(newline)))
+ $(if $(GH_BRANCH),$(value MXE_SETUP_GITHUB_BRANCH),$(value MXE_SETUP_GITHUB_$(call uc,$(GH_API))))
endef
define MXE_SETUP_GITHUB_BRANCH
@@ -88,13 +114,31 @@ define MXE_SETUP_GITHUB_BRANCH
$(PKG)_UPDATE := $(or $($(PKG)_UPDATE),$(call MXE_GET_GH_SHA,$($(PKG)_GH_OWNER)/$($(PKG)_GH_REPO),$($(PKG)_BRANCH)))
endef
-define MXE_SETUP_GITHUB_TAG
+define MXE_SETUP_GITHUB_RELEASES
+ $(PKG)_SUBDIR := $(or $($(PKG)_SUBDIR),$($(PKG)_GH_REPO)-$(if $(call sne,v,$($(PKG)_TAG_PREFIX)),$($(PKG)_TAG_PREFIX))$(subst .,$($(PKG)_VERSION_SEP),$($(PKG)_VERSION))$($(PKG)_TAG_SUFFIX))
+ $(PKG)_TAG_REF := $(or $($(PKG)_TAG_REF),$($(PKG)_TAG_PREFIX)$(subst .,$($(PKG)_VERSION_SEP),$($(PKG)_VERSION))$($(PKG)_TAG_SUFFIX))
+ $(PKG)_URL := $(or $($(PKG)_URL),https://github.com/$($(PKG)_GH_OWNER)/$($(PKG)_GH_REPO)/releases/download/$($(PKG)_TAG_REF)/$($(PKG)_SUBDIR).tar.gz)
+ $(PKG)_UPDATE := $(or $($(PKG)_UPDATE),$(call MXE_GET_GH_RELEASE,$($(PKG)_GH_OWNER)/$($(PKG)_GH_REPO)/releases$($(PKG)_GH_LATEST),$($(PKG)_TAG_PREFIX),$($(PKG)_TAG_SUFFIX),$(or $($(PKG)_TAG_FILTER),$(GITHUB_TAG_FILTER)),$($(PKG)_VERSION_SEP)))
+endef
+
+define MXE_SETUP_GITHUB_TAGS
$(PKG)_SUBDIR := $(or $($(PKG)_SUBDIR),$($(PKG)_GH_REPO)-$(if $(call sne,v,$($(PKG)_TAG_PREFIX)),$($(PKG)_TAG_PREFIX))$(subst .,$($(PKG)_VERSION_SEP),$($(PKG)_VERSION))$($(PKG)_TAG_SUFFIX))
$(PKG)_TAR_GZ := $(or $($(PKG)_TAR_GZ),$($(PKG)_GH_REPO)-$($(PKG)_TAG_PREFIX)$(subst .,$($(PKG)_VERSION_SEP),$($(PKG)_VERSION))$($(PKG)_TAG_SUFFIX))
$(PKG)_URL := $(or $($(PKG)_URL),https://github.com/$($(PKG)_GH_OWNER)/$($(PKG)_GH_REPO)/archive/$(subst $($(PKG)_GH_REPO)-,,$($(PKG)_TAR_GZ)).tar.gz)
$(PKG)_UPDATE := $(or $($(PKG)_UPDATE),$(call MXE_GET_GH_TAG,$($(PKG)_GH_OWNER)/$($(PKG)_GH_REPO),$($(PKG)_TAG_PREFIX),$($(PKG)_TAG_SUFFIX),$(or $($(PKG)_TAG_FILTER),$(GITHUB_TAG_FILTER)),$($(PKG)_VERSION_SEP)))
endef
+# called with owner/repo/releases[/latest],tag prefix, tag suffix, filter-out, version sep
+define MXE_GET_GH_RELEASE
+ $(WGET) -q -O- 'https://github.com/$(strip $(1))' \
+ | $(SED) -n 's,.*releases/tag/\([^"]*\)".*,\1,p' \
+ | $(if $(4),grep -vi '$(strip $(4))') \
+ | $(SED) -n 's,^$(strip $(2))\([^"]*\)$(strip $(3))$$,\1,p' \
+ | tr '$(strip $(5))' '.' \
+ | $(SORT) -V \
+ | tail -1
+endef
+
# called with owner/repo,branch
define MXE_GET_GH_SHA
$(WGET) -q -O- 'https://api.github.com/repos/$(strip $(1))/git/refs/heads/$(strip $(2))' \
@@ -104,8 +148,8 @@ endef
# called with owner/repo
define MXE_GET_GH_TAGS
- $(WGET) -q -O- 'https://api.github.com/repos/$(strip $(1))/git/refs/tags/' \
- | $(SED) -n 's#.*"ref": "refs/tags/\([^"]*\).*#\1#p'
+ $(WGET) -q -O- 'https://github.com/$(strip $(1))/tags' \
+ | $(SED) -n 's#.*releases/tag/\([^"]*\).*#\1#p'
endef
# called with owner/repo, tag prefix, tag suffix, filter-out, version sep
diff --git a/plugins/apps/clementine_qt4.mk b/plugins/apps/clementine_qt4.mk
index 21a418c..dd3e1a0 100644
--- a/plugins/apps/clementine_qt4.mk
+++ b/plugins/apps/clementine_qt4.mk
@@ -12,7 +12,7 @@ PKG := clementine_qt4
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.3.1
$(PKG)_CHECKSUM := f885931a9ab7c88607d07b50c64fcce46fc05f13dd2c0a04188c94eff938f37c
-$(PKG)_GH_CONF := clementine-player/Clementine
+$(PKG)_GH_CONF := clementine-player/Clementine/tags
$(PKG)_WEBSITE := https://www.clementine-player.org/
$(PKG)_OWNER := https://github.com/pavelvat
$(PKG)_DEPS := gcc boost chromaprint cryptopp fftw glew gst-libav gst-plugins-bad \
diff --git a/src/assimp.mk b/src/assimp.mk
index eac5ab4..9c6baef 100644
--- a/src/assimp.mk
+++ b/src/assimp.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := Assimp Open Asset Import Library
$(PKG)_IGNORE :=
$(PKG)_VERSION := 3.2
$(PKG)_CHECKSUM := 187f825c563e84b1b17527a4da0351aa3d575dfd696a9d204ae4bb19ee7df94a
-$(PKG)_GH_CONF := assimp/assimp, v
+$(PKG)_GH_CONF := assimp/assimp/tags, v
$(PKG)_DEPS := gcc boost
define $(PKG)_BUILD
diff --git a/src/box2d.mk b/src/box2d.mk
index 737bd1f..025c321 100644
--- a/src/box2d.mk
+++ b/src/box2d.mk
@@ -5,7 +5,7 @@ $(PKG)_WEBSITE := http://www.box2d.org/
$(PKG)_IGNORE :=
$(PKG)_VERSION := 2.3.1
$(PKG)_CHECKSUM := 75d62738b13d2836cd56647581b6e574d4005a6e077ddefa5d727d445d649752
-$(PKG)_GH_CONF := erincatto/Box2D, v
+$(PKG)_GH_CONF := erincatto/Box2D/tags, v
$(PKG)_DEPS := gcc
define $(PKG)_BUILD
diff --git a/src/cgal.mk b/src/cgal.mk
index a1edf69..bf94550 100644
--- a/src/cgal.mk
+++ b/src/cgal.mk
@@ -6,7 +6,7 @@ $(PKG)_IGNORE :=
$(PKG)_VERSION := 4.10
$(PKG)_CHECKSUM := eb56e17dcdecddf6a6fb808931b2142f20aaa182916ddbd912273c51e0f0c045
# using / in tag name means we have to set SUBDIR, FILE, URL
-$(PKG)_GH_CONF := CGAL/cgal, releases/CGAL-
+$(PKG)_GH_CONF := CGAL/cgal/tags, releases%2FCGAL-
$(PKG)_SUBDIR := CGAL-$($(PKG)_VERSION)
$(PKG)_FILE := CGAL-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://github.com/CGAL/cgal/releases/download/releases/$($(PKG)_SUBDIR)/$($(PKG)_FILE)
diff --git a/src/gc.mk b/src/gc.mk
index 6dd6892..aee89d0 100644
--- a/src/gc.mk
+++ b/src/gc.mk
@@ -1,24 +1,15 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := gc
-$(PKG)_WEBSITE := http://www.hpl.hp.com/personal/Hans_Boehm/gc/
+$(PKG)_WEBSITE := https://github.com/ivmai/bdwgc
$(PKG)_IGNORE :=
-$(PKG)_VERSION := 7.6.0
-$(PKG)_CHECKSUM := a14a28b1129be90e55cd6f71127ffc5594e1091d5d54131528c24cd0c03b7d90
+$(PKG)_VERSION := 7.4.6
+$(PKG)_CHECKSUM := 8c9b91cc2facc7d0ec3829fe9ab29179c1879adafecb4474a827aa2a18596533
+$(PKG)_GH_CONF := ivmai/bdwgc/releases/latest,v
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
-$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL := https://hboehm.info/$(PKG)/$(PKG)_source/$($(PKG)_FILE)
+$(PKG)_URL := https://github.com/ivmai/bdwgc/releases/download/v$($(PKG)_VERSION)/$($(PKG)_SUBDIR).tar.gz
$(PKG)_DEPS := gcc libatomic_ops
-define $(PKG)_UPDATE
- $(WGET) -q -O- 'https://hboehm.info/gc/gc_source/' | \
- grep '<a href="gc-' | \
- $(SED) -n 's,.*<a href="gc-\([0-9][^"]*\)\.tar.*,\1,p' | \
- grep -v 'alpha' | \
- $(SORT) -Vr | \
- head -1
-endef
-
define $(PKG)_BUILD
# build and install the library
cd '$(BUILD_DIR)' && $(SOURCE_DIR)/configure \
diff --git a/src/glfw3.mk b/src/glfw3.mk
index f19c541..3d410b7 100644
--- a/src/glfw3.mk
+++ b/src/glfw3.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := GLFW 3.x
$(PKG)_IGNORE :=
$(PKG)_VERSION := 3.1.2
$(PKG)_CHECKSUM := 6ac642087682aaf7f8397761a41a99042b2c656498217a1c63ba9706d1eef122
-$(PKG)_GH_CONF := glfw/glfw
+$(PKG)_GH_CONF := glfw/glfw/tags
$(PKG)_DEPS := gcc
define $(PKG)_BUILD
diff --git a/src/glm.mk b/src/glm.mk
index b1022c2..3b8d2cd 100644
--- a/src/glm.mk
+++ b/src/glm.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := GLM - OpenGL Mathematics
$(PKG)_IGNORE :=
$(PKG)_VERSION := 0.9.7.6
$(PKG)_CHECKSUM := 872fdea580b69b752562adc60734d7472fd97d5724c4ead585564083deac3953
-$(PKG)_GH_CONF := g-truc/glm
+$(PKG)_GH_CONF := g-truc/glm/tags
$(PKG)_DEPS := gcc
define $(PKG)_BUILD
diff --git a/src/googlemock.mk b/src/googlemock.mk
index bd4a4bd..31d15fd 100644
--- a/src/googlemock.mk
+++ b/src/googlemock.mk
@@ -6,6 +6,6 @@ $(PKG)_DESCR := Google Mock
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.7.0
$(PKG)_CHECKSUM := 3f20b6acb37e5a98e8c4518165711e3e35d47deb6cdb5a4dd4566563b5efd232
-$(PKG)_GH_CONF := google/googlemock, release-
+$(PKG)_GH_CONF := google/googlemock/tags, release-
$(PKG)_DEPS :=
$(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS)
diff --git a/src/googletest.mk b/src/googletest.mk
index 1b133e7..f60c44a 100644
--- a/src/googletest.mk
+++ b/src/googletest.mk
@@ -6,6 +6,6 @@ $(PKG)_DESCR := Google Test
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.7.0
$(PKG)_CHECKSUM := f73a6546fdf9fce9ff93a5015e0333a8af3062a152a9ad6bcb772c96687016cc
-$(PKG)_GH_CONF := google/googletest, release-
+$(PKG)_GH_CONF := google/googletest/tags, release-
$(PKG)_DEPS :=
$(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS)
diff --git a/src/gumbo.mk b/src/gumbo.mk
index bbb02c6..9254b15 100644
--- a/src/gumbo.mk
+++ b/src/gumbo.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := Gumbo, an HTML5 parsing library
$(PKG)_IGNORE :=
$(PKG)_VERSION := 0.10.1
$(PKG)_CHECKSUM := 28463053d44a5dfbc4b77bcf49c8cee119338ffa636cc17fc3378421d714efad
-$(PKG)_GH_CONF := google/gumbo-parser, v
+$(PKG)_GH_CONF := google/gumbo-parser/tags, v
$(PKG)_DEPS := gcc
define $(PKG)_BUILD
diff --git a/src/hunspell.mk b/src/hunspell.mk
index 462fb73..2f99173 100644
--- a/src/hunspell.mk
+++ b/src/hunspell.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := Hunspell
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.6.1
$(PKG)_CHECKSUM := 30f593733c50b794016bb03d31fd2a2071e4610c6fa4708e33edad2335102c49
-$(PKG)_GH_CONF := hunspell/hunspell, v
+$(PKG)_GH_CONF := hunspell/hunspell/tags, v
$(PKG)_DEPS := gcc gettext libiconv pthreads readline
define $(PKG)_BUILD
diff --git a/src/hyperscan.mk b/src/hyperscan.mk
index 9180b78..cbea2f0 100644
--- a/src/hyperscan.mk
+++ b/src/hyperscan.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := Hyperscan
$(PKG)_IGNORE :=
$(PKG)_VERSION := 4.3.2
$(PKG)_CHECKSUM := 6cd5820d6da51d6fe4ab12066d1efd9afecc1bc6fb7d6eca9c98f76fd391dbd5
-$(PKG)_GH_CONF := 01org/hyperscan, v
+$(PKG)_GH_CONF := 01org/hyperscan/tags, v
$(PKG)_DEPS := gcc boost
# $(PKG)_NATIVE_DEPS := ragel
diff --git a/src/jasper.mk b/src/jasper.mk
index 71c4d8b..8fcb874 100644
--- a/src/jasper.mk
+++ b/src/jasper.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := JasPer
$(PKG)_IGNORE :=
$(PKG)_VERSION := 2.0.14
$(PKG)_CHECKSUM := 85266eea728f8b14365db9eaf1edc7be4c348704e562bb05095b9a077cf1a97b
-$(PKG)_GH_CONF := mdadams/jasper, version-
+$(PKG)_GH_CONF := mdadams/jasper/tags, version-
$(PKG)_DEPS := gcc jpeg
define $(PKG)_BUILD
diff --git a/src/jsoncpp.mk b/src/jsoncpp.mk
index d1866f1..b30d69a 100644
--- a/src/jsoncpp.mk
+++ b/src/jsoncpp.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := A C++ library for interacting with JSON
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.8.0
$(PKG)_CHECKSUM := 5deb2462cbf0c0121c9d6c9823ec72fe71417e34242e3509bc7c003d526465bc
-$(PKG)_GH_CONF := open-source-parsers/jsoncpp,,,svn
+$(PKG)_GH_CONF := open-source-parsers/jsoncpp/tags,,,svn
$(PKG)_DEPS := gcc
# workaround for builds with GCC >= 6.x
diff --git a/src/libass.mk b/src/libass.mk
index 28af3b0..38c0ad3 100644
--- a/src/libass.mk
+++ b/src/libass.mk
@@ -3,32 +3,19 @@
PKG := libass
$(PKG)_WEBSITE := https://code.google.com/p/libass/
$(PKG)_IGNORE :=
-# remove autoreconf step after 0.13.1
-# https://github.com/libass/libass/issues/209
-$(PKG)_VERSION := 0.13.1
-$(PKG)_CHECKSUM := 4aa36b1876a61cab46fc9284fee84224b9e2840fe7b3e63d96a8d32574343fe7
-$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
-$(PKG)_FILE := $($(PKG)_SUBDIR).tar.xz
-$(PKG)_URL := https://github.com/libass/libass/releases/download/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_VERSION := 0.14.0
+$(PKG)_CHECKSUM := 8d5a5c920b90b70a108007ffcd2289ac652c0e03fc88e6eecefa37df0f2e7fdf
+$(PKG)_GH_CONF := libass/libass/releases/latest
$(PKG)_DEPS := gcc fontconfig freetype fribidi harfbuzz
-define $(PKG)_UPDATE
- $(WGET) -q -O- "https://api.github.com/repos/libass/libass/releases" | \
- grep 'tag_name' | \
- $(SED) -n 's,.*tag_name": "\([0-9][^>]*\)".*,\1,p' | \
- $(SORT) -Vr | \
- head -1
-endef
-
define $(PKG)_BUILD
- cd '$(1)' && $(LIBTOOLIZE) && autoreconf -fi
# fontconfig is only required for legacy XP support
- cd '$(1)' && ./configure \
+ cd '$(BUILD_DIR)' && '$(SOURCE_DIR)/configure' \
$(MXE_CONFIGURE_OPTS) \
--enable-fontconfig \
--enable-harfbuzz
- $(MAKE) -C '$(1)' -j '$(JOBS)'
- $(MAKE) -C '$(1)' -j 1 install
+ $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)'
+ $(MAKE) -C '$(BUILD_DIR)' -j 1 install
'$(TARGET)-gcc' \
-W -Wall -Werror -ansi -pedantic \
diff --git a/src/libatomic_ops.mk b/src/libatomic_ops.mk
index de109fe..4196a8a 100644
--- a/src/libatomic_ops.mk
+++ b/src/libatomic_ops.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := The atomic_ops project (Atomic memory update operations porta
$(PKG)_IGNORE := 7.6%
$(PKG)_VERSION := 7.4.8
$(PKG)_CHECKSUM := b985816abc69df5781d6d9fcf081e03a3a1e44032030d0a2c28f8de731e7f20f
-$(PKG)_GH_CONF := ivmai/libatomic_ops,v
+$(PKG)_GH_CONF := ivmai/libatomic_ops/tags,v
$(PKG)_DEPS := gcc
define $(PKG)_BUILD
diff --git a/src/libevent.mk b/src/libevent.mk
index afeb739..8e8fe81 100644
--- a/src/libevent.mk
+++ b/src/libevent.mk
@@ -5,7 +5,7 @@ $(PKG)_WEBSITE := http://libevent.org/
$(PKG)_IGNORE :=
$(PKG)_VERSION := 2.0.21
$(PKG)_CHECKSUM := 872b7cdc199ead2edd9f0d1e93b4d900e67d892c014545bd3314b3ae49505eff
-$(PKG)_GH_CONF := libevent/libevent, release-, -stable
+$(PKG)_GH_CONF := libevent/libevent/tags, release-, -stable
$(PKG)_DEPS := gcc openssl
define $(PKG)_BUILD
diff --git a/src/libffi.mk b/src/libffi.mk
index 267985a..3490c4e 100644
--- a/src/libffi.mk
+++ b/src/libffi.mk
@@ -5,7 +5,7 @@ $(PKG)_WEBSITE := https://sourceware.org/libffi/
$(PKG)_IGNORE :=
$(PKG)_VERSION := 3.2.1
$(PKG)_CHECKSUM := d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37
-$(PKG)_GH_CONF := atgreen/libffi, v
+$(PKG)_GH_CONF := atgreen/libffi/tags, v
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := https://www.mirrorservice.org/sites/sourceware.org/pub/$(PKG)/$($(PKG)_FILE)
diff --git a/src/libharu.mk b/src/libharu.mk
index 86a79fd..0449945 100644
--- a/src/libharu.mk
+++ b/src/libharu.mk
@@ -5,7 +5,7 @@ $(PKG)_WEBSITE := http://libharu.org/
$(PKG)_IGNORE :=
$(PKG)_VERSION := 2.3.0
$(PKG)_CHECKSUM := 8f9e68cc5d5f7d53d1bc61a1ed876add1faf4f91070dbc360d8b259f46d9a4d2
-$(PKG)_GH_CONF := libharu/libharu,RELEASE_,,,_
+$(PKG)_GH_CONF := libharu/libharu/tags,RELEASE_,,,_
$(PKG)_DEPS := gcc libpng zlib
define $(PKG)_BUILD
diff --git a/src/libomemo.mk b/src/libomemo.mk
index db1461e..4f89756 100644
--- a/src/libomemo.mk
+++ b/src/libomemo.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := Implementation of OMEMO in C
$(PKG)_IGNORE :=
$(PKG)_VERSION := 0.6.1
$(PKG)_CHECKSUM := 26e2ef3df93d9461ed6d62bbb495b8ac6de385ec7a5aa28ff28dd869ba908170
-$(PKG)_GH_CONF := gkdr/libomemo, v
+$(PKG)_GH_CONF := gkdr/libomemo/tags, v
$(PKG)_DEPS := gcc glib libgcrypt mxml sqlite
define $(PKG)_BUILD
diff --git a/src/libqrencode.mk b/src/libqrencode.mk
index 0cf4632..f5a8d4b 100644
--- a/src/libqrencode.mk
+++ b/src/libqrencode.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := a fast and compact QR Code encoding library
$(PKG)_IGNORE :=
$(PKG)_VERSION := 4.0.0
$(PKG)_CHECKSUM := c2c8a8110354463a3332cb48abf8581c8d94136af4dc1418f891cc9c7719e3c1
-$(PKG)_GH_CONF := fukuchi/libqrencode,v
+$(PKG)_GH_CONF := fukuchi/libqrencode/tags,v
$(PKG)_DEPS := gcc pthreads
define $(PKG)_BUILD
diff --git a/src/librosco.mk b/src/librosco.mk
index 7924daa..d336cae 100644
--- a/src/librosco.mk
+++ b/src/librosco.mk
@@ -5,7 +5,7 @@ $(PKG)_WEBSITE := https://github.com/colinbourassa/librosco/
$(PKG)_IGNORE :=
$(PKG)_VERSION := 0.1.11
$(PKG)_CHECKSUM := 48bb2d07c2575f39bdb6cf022889f20bd855eb9100bb19d4e2536a771198e3a4
-$(PKG)_GH_CONF := colinbourassa/librosco,,,v
+$(PKG)_GH_CONF := colinbourassa/librosco/tags,,,v
$(PKG)_DEPS := gcc
define $(PKG)_BUILD
diff --git a/src/libsoup.mk b/src/libsoup.mk
index 23c2793..bb6fdf2 100644
--- a/src/libsoup.mk
+++ b/src/libsoup.mk
@@ -7,7 +7,7 @@ $(PKG)_IGNORE :=
$(PKG)_VERSION := 2.57.1
$(PKG)_APIVER := 2.4
$(PKG)_CHECKSUM := 675c3bc11c2a6347625ca5215720d41c84fd8e9498dd664cda8a635fd5105a26
-$(PKG)_GH_CONF := GNOME/libsoup,,,pre\|SOUP\|base
+$(PKG)_GH_CONF := GNOME/libsoup/tags,,,pre\|SOUP\|base
$(PKG)_DEPS := gcc glib libxml2 sqlite
define $(PKG)_BUILD
diff --git a/src/lz4.mk b/src/lz4.mk
index d1cc2af..44ab31b 100644
--- a/src/lz4.mk
+++ b/src/lz4.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := lossless compression algorithm optimized for speed
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.8.0
$(PKG)_CHECKSUM := 2ca482ea7a9bb103603108b5a7510b7592b90158c151ff50a28f1ca8389fccf6
-$(PKG)_GH_CONF := lz4/lz4,v
+$(PKG)_GH_CONF := lz4/lz4/tags,v
$(PKG)_DEPS := gcc
define $(PKG)_BUILD
diff --git a/src/mxml.mk b/src/mxml.mk
index f7f3c17..fd4d766 100644
--- a/src/mxml.mk
+++ b/src/mxml.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := Mini-XML
$(PKG)_IGNORE :=
$(PKG)_VERSION := 2.11
$(PKG)_CHECKSUM := 7d3dfe661e50908fe41aef9b97ba6f7f158cab5208515c6be9f5bc9daf032329
-$(PKG)_GH_CONF := michaelrsweet/mxml, v
+$(PKG)_GH_CONF := michaelrsweet/mxml/tags, v
$(PKG)_DEPS := gcc pthreads
define $(PKG)_BUILD
diff --git a/src/oce.mk b/src/oce.mk
index e963db4..f258e33 100644
--- a/src/oce.mk
+++ b/src/oce.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := Open CASCADE Community Edition
$(PKG)_IGNORE :=
$(PKG)_VERSION := 0.18.2
$(PKG)_CHECKSUM := dc21ddea678a500ad87c773e9a502ed7a71768cf83d9af0bd4c43294186a7fef
-$(PKG)_GH_CONF := tpaviot/oce,OCE-
+$(PKG)_GH_CONF := tpaviot/oce/tags,OCE-
$(PKG)_DEPS := gcc freetype
define $(PKG)_BUILD
diff --git a/src/pugixml.mk b/src/pugixml.mk
index 67977fd..5e992ce 100644
--- a/src/pugixml.mk
+++ b/src/pugixml.mk
@@ -6,8 +6,8 @@ $(PKG)_DESCR := Light-weight, simple, and fast XML parser for C++ with XPath
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.8
$(PKG)_CHECKSUM := 9823684a9600e9ab6d1bc7685d01d07c56f9df41ed3ebf8541aa3dfe8d4074b2
+$(PKG)_GH_CONF := zeux/pugixml/tags,v
$(PKG)_DEPS := gcc
-$(PKG)_GH_CONF := zeux/pugixml,v
define $(PKG)_BUILD
diff --git a/src/qca.mk b/src/qca.mk
index 1c3687c..8d512e1 100644
--- a/src/qca.mk
+++ b/src/qca.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := Qt Cryptographic Architecture
$(PKG)_IGNORE :=
$(PKG)_VERSION := 2.1.3
$(PKG)_CHECKSUM := a5135ffb0250a40e9c361eb10cd3fe28293f0cf4e5c69d3761481eafd7968067
-$(PKG)_GH_CONF := KDE/qca,v
+$(PKG)_GH_CONF := KDE/qca/tags,v
$(PKG)_DEPS := gcc qtbase
define $(PKG)_BUILD
diff --git a/src/sqlcipher.mk b/src/sqlcipher.mk
index cbc249d..99b0dcc 100644
--- a/src/sqlcipher.mk
+++ b/src/sqlcipher.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := SQLite extension that provides 256 bit AES encryption of data
$(PKG)_IGNORE :=
$(PKG)_VERSION := 3.4.1
$(PKG)_CHECKSUM := 4172cc6e5a79d36e178d36bd5cc467a938e08368952659bcd95eccbaf0fa4ad4
-$(PKG)_GH_CONF := sqlcipher/sqlcipher, v
+$(PKG)_GH_CONF := sqlcipher/sqlcipher/tags, v
$(PKG)_DEPS := gcc openssl readline
define $(PKG)_BUILD
diff --git a/src/tidy-html5.mk b/src/tidy-html5.mk
index 33af291..e426a6e 100644
--- a/src/tidy-html5.mk
+++ b/src/tidy-html5.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := HTML/XML syntax checker and reformatter
$(PKG)_IGNORE :=
$(PKG)_VERSION := 5.4.0
$(PKG)_CHECKSUM := a2d754b7349982e33f12d798780316c047a3b264240dc6bbd4641542e57a0b7a
-$(PKG)_GH_CONF := htacg/tidy-html5
+$(PKG)_GH_CONF := htacg/tidy-html5/tags
$(PKG)_DEPS := gcc
define $(PKG)_BUILD
diff --git a/src/vigra.mk b/src/vigra.mk
index 32c6b4b..17bc0bc 100644
--- a/src/vigra.mk
+++ b/src/vigra.mk
@@ -5,7 +5,7 @@ $(PKG)_WEBSITE := https://ukoethe.github.io/vigra/
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.9.0
$(PKG)_CHECKSUM := dc041f7ccf838d4321e9bcf522fece1758768dd7a3f8350d1e83e2b8e6daf1e6
-$(PKG)_GH_CONF := ukoethe/vigra, Version-,,,-
+$(PKG)_GH_CONF := ukoethe/vigra/tags, Version-,,,-
$(PKG)_DEPS := gcc jpeg libpng openexr tiff
define $(PKG)_BUILD
diff --git a/src/yasm.mk b/src/yasm.mk
index f61b5ce..58cf45d 100644
--- a/src/yasm.mk
+++ b/src/yasm.mk
@@ -5,7 +5,7 @@ $(PKG)_WEBSITE := http://yasm.tortall.net/
$(PKG)_DESCR := Yasm
$(PKG)_VERSION := 1.3.0
$(PKG)_CHECKSUM := 3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f
-$(PKG)_GH_CONF := yasm/yasm, v
+$(PKG)_GH_CONF := yasm/yasm/tags, v
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := https://www.tortall.net/projects/$(PKG)/releases/$($(PKG)_FILE)
diff --git a/src/zstd.mk b/src/zstd.mk
index 6e43f8b..b4c79fb 100644
--- a/src/zstd.mk
+++ b/src/zstd.mk
@@ -6,7 +6,7 @@ $(PKG)_DESCR := Zstandard is a fast lossless compression algorithm
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.3.2
$(PKG)_CHECKSUM := ac5054a3c64e6510bc1ae890d05e3d271cc33ceebc9d06ac9f08105766d2798a
-$(PKG)_GH_CONF := facebook/zstd,v
+$(PKG)_GH_CONF := facebook/zstd/tags,v
$(PKG)_DEPS := gcc
define $(PKG)_BUILD