Merge pull request #1969 from tonytheodore/github-releases

Add support for GitHub releases api
This commit is contained in:
Tony Theodore 2017-11-09 23:58:05 +11:00 committed by GitHub
commit c808163964
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 110 additions and 76 deletions

View File

@ -1245,12 +1245,24 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre>
$(PKG)_UPDATE</code> sections. $(PKG)_UPDATE</code> sections.
</p> </p>
<p> <p>
To track normal release tags set: To track releases set:
<pre>$(PKG)_GH_CONF := owner/repo[, tag prefix, tag suffix, tag filter-out, version separator]</pre> <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: To track branches, set:
<pre>$(PKG)_GH_CONF := owner/repo/branch</pre> <pre>$(PKG)_GH_CONF := owner/repo/branch</pre>
See the following packages for examples: See the following packages for examples:
<ul> <ul>
<li>
<a href="https://github.com/mxe/mxe/blob/master/src/gc.mk">gc.mk</a>
for release tracking
</li>
<li> <li>
<a href="https://github.com/mxe/mxe/blob/master/src/vmime.mk">vmime.mk</a> <a href="https://github.com/mxe/mxe/blob/master/src/vmime.mk">vmime.mk</a>
for branch tracking for branch tracking

View File

@ -1,18 +1,25 @@
# This file is part of MXE. See LICENSE.md for licensing information. # This file is part of MXE. See LICENSE.md for licensing information.
# Standardise GitHub downloads and updates # Standardise GitHub downloads and updates
# Download API has two forms: # Download API has three forms:
# Archive: # Archive:
# url = <owner>/<repo>/archive/<ref>.tar.gz # url = <owner>/<repo>/archive/<ref>.tar.gz
# dir = <repo>-<ref> # dir = <repo>-<ref>
# if <ref> starts with a single `v`, it is removed from dir # 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: # Tarball:
# url = <owner>/<repo>/tarball/<ref>/output-file.tar.gz # url = <owner>/<repo>/tarball/<ref>/output-file.tar.gz
# dir = <owner>-<repo>-<short sha> # dir = <owner>-<repo>-<short sha>
# #
# TODO: also third api - `releases` see libass.mk # TODO: update remaining packages
# grep -l 'MXE_GET_GITHUB\|api.github.com\|github.com.*archive' src/*.mk | xargs grep -L 'GH_CONF' # 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. # 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 # into it without knowing the SHA beforehand, but the directory length would
# be comical in logs etc. # 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 # 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 # 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 # to store the SHA (see #1002). However, this only works for lightweight
# tags, not annotated tags that most projects use for releases. # 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. # 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 # 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 # updates will use the last commit from the specified branch as
# a version string and bypass `sort -V` # 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 # 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: # updates will construct a version number based on:
# <tag prefix><s/<version sep>/./version><tag suffix> # <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`: # common tag filtering is applied with `grep -v`:
GITHUB_TAG_FILTER := alpha\|beta\|rc 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_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_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_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_PREFIX = $(subst $(__gmsl_aa_magic),,$(word 1,$(GH_TAG_VARS)))
GH_TAG_SUFFIX = $(subst $(__gmsl_aa_magic),,$(word 2,$(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 define MXE_SETUP_GITHUB
$(PKG)_GH_OWNER := $(GH_OWNER) $(PKG)_GH_OWNER := $(GH_OWNER)
$(PKG)_GH_REPO := $(GH_REPO) $(PKG)_GH_REPO := $(GH_REPO)
$(PKG)_GH_LATEST := $(if $(GH_LATEST),/latest)
$(PKG)_BRANCH := $(GH_BRANCH) $(PKG)_BRANCH := $(GH_BRANCH)
$(PKG)_TAG_VARS := $(GH_TAG_VARS) $(PKG)_TAG_VARS := $(GH_TAG_VARS)
$(PKG)_TAG_PREFIX := $(GH_TAG_PREFIX) $(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) $(PKG)_FILE := $(or $($(PKG)_FILE),$(PKG)-$$($$(PKG)_TAG_PREFIX)$($(PKG)_VERSION)$$($$(PKG)_TAG_SUFFIX).tar.gz)
$(if $(and $(GH_BRANCH),$(GH_TAG_VARS)),\ $(if $(and $(GH_BRANCH),$(GH_TAG_VARS)),\
$(error $(newline) $(PKG) specifies both branch and tag variables $(newline))) $(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 endef
define MXE_SETUP_GITHUB_BRANCH 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))) $(PKG)_UPDATE := $(or $($(PKG)_UPDATE),$(call MXE_GET_GH_SHA,$($(PKG)_GH_OWNER)/$($(PKG)_GH_REPO),$($(PKG)_BRANCH)))
endef 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)_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)_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)_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))) $(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 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 # called with owner/repo,branch
define MXE_GET_GH_SHA define MXE_GET_GH_SHA
$(WGET) -q -O- 'https://api.github.com/repos/$(strip $(1))/git/refs/heads/$(strip $(2))' \ $(WGET) -q -O- 'https://api.github.com/repos/$(strip $(1))/git/refs/heads/$(strip $(2))' \
@ -104,8 +148,8 @@ endef
# called with owner/repo # called with owner/repo
define MXE_GET_GH_TAGS define MXE_GET_GH_TAGS
$(WGET) -q -O- 'https://api.github.com/repos/$(strip $(1))/git/refs/tags/' \ $(WGET) -q -O- 'https://github.com/$(strip $(1))/tags' \
| $(SED) -n 's#.*"ref": "refs/tags/\([^"]*\).*#\1#p' | $(SED) -n 's#.*releases/tag/\([^"]*\).*#\1#p'
endef endef
# called with owner/repo, tag prefix, tag suffix, filter-out, version sep # called with owner/repo, tag prefix, tag suffix, filter-out, version sep

View File

@ -12,7 +12,7 @@ PKG := clementine_qt4
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 1.3.1 $(PKG)_VERSION := 1.3.1
$(PKG)_CHECKSUM := f885931a9ab7c88607d07b50c64fcce46fc05f13dd2c0a04188c94eff938f37c $(PKG)_CHECKSUM := f885931a9ab7c88607d07b50c64fcce46fc05f13dd2c0a04188c94eff938f37c
$(PKG)_GH_CONF := clementine-player/Clementine $(PKG)_GH_CONF := clementine-player/Clementine/tags
$(PKG)_WEBSITE := https://www.clementine-player.org/ $(PKG)_WEBSITE := https://www.clementine-player.org/
$(PKG)_OWNER := https://github.com/pavelvat $(PKG)_OWNER := https://github.com/pavelvat
$(PKG)_DEPS := gcc boost chromaprint cryptopp fftw glew gst-libav gst-plugins-bad \ $(PKG)_DEPS := gcc boost chromaprint cryptopp fftw glew gst-libav gst-plugins-bad \

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := Assimp Open Asset Import Library
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 3.2 $(PKG)_VERSION := 3.2
$(PKG)_CHECKSUM := 187f825c563e84b1b17527a4da0351aa3d575dfd696a9d204ae4bb19ee7df94a $(PKG)_CHECKSUM := 187f825c563e84b1b17527a4da0351aa3d575dfd696a9d204ae4bb19ee7df94a
$(PKG)_GH_CONF := assimp/assimp, v $(PKG)_GH_CONF := assimp/assimp/tags, v
$(PKG)_DEPS := gcc boost $(PKG)_DEPS := gcc boost
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -5,7 +5,7 @@ $(PKG)_WEBSITE := http://www.box2d.org/
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 2.3.1 $(PKG)_VERSION := 2.3.1
$(PKG)_CHECKSUM := 75d62738b13d2836cd56647581b6e574d4005a6e077ddefa5d727d445d649752 $(PKG)_CHECKSUM := 75d62738b13d2836cd56647581b6e574d4005a6e077ddefa5d727d445d649752
$(PKG)_GH_CONF := erincatto/Box2D, v $(PKG)_GH_CONF := erincatto/Box2D/tags, v
$(PKG)_DEPS := gcc $(PKG)_DEPS := gcc
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -6,7 +6,7 @@ $(PKG)_IGNORE :=
$(PKG)_VERSION := 4.10 $(PKG)_VERSION := 4.10
$(PKG)_CHECKSUM := eb56e17dcdecddf6a6fb808931b2142f20aaa182916ddbd912273c51e0f0c045 $(PKG)_CHECKSUM := eb56e17dcdecddf6a6fb808931b2142f20aaa182916ddbd912273c51e0f0c045
# using / in tag name means we have to set SUBDIR, FILE, URL # 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)_SUBDIR := CGAL-$($(PKG)_VERSION)
$(PKG)_FILE := CGAL-$($(PKG)_VERSION).tar.xz $(PKG)_FILE := CGAL-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://github.com/CGAL/cgal/releases/download/releases/$($(PKG)_SUBDIR)/$($(PKG)_FILE) $(PKG)_URL := https://github.com/CGAL/cgal/releases/download/releases/$($(PKG)_SUBDIR)/$($(PKG)_FILE)

View File

@ -1,24 +1,15 @@
# This file is part of MXE. See LICENSE.md for licensing information. # This file is part of MXE. See LICENSE.md for licensing information.
PKG := gc PKG := gc
$(PKG)_WEBSITE := http://www.hpl.hp.com/personal/Hans_Boehm/gc/ $(PKG)_WEBSITE := https://github.com/ivmai/bdwgc
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 7.6.0 $(PKG)_VERSION := 7.4.6
$(PKG)_CHECKSUM := a14a28b1129be90e55cd6f71127ffc5594e1091d5d54131528c24cd0c03b7d90 $(PKG)_CHECKSUM := 8c9b91cc2facc7d0ec3829fe9ab29179c1879adafecb4474a827aa2a18596533
$(PKG)_GH_CONF := ivmai/bdwgc/releases/latest,v
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) $(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz $(PKG)_URL := https://github.com/ivmai/bdwgc/releases/download/v$($(PKG)_VERSION)/$($(PKG)_SUBDIR).tar.gz
$(PKG)_URL := https://hboehm.info/$(PKG)/$(PKG)_source/$($(PKG)_FILE)
$(PKG)_DEPS := gcc libatomic_ops $(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 define $(PKG)_BUILD
# build and install the library # build and install the library
cd '$(BUILD_DIR)' && $(SOURCE_DIR)/configure \ cd '$(BUILD_DIR)' && $(SOURCE_DIR)/configure \

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := GLFW 3.x
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 3.1.2 $(PKG)_VERSION := 3.1.2
$(PKG)_CHECKSUM := 6ac642087682aaf7f8397761a41a99042b2c656498217a1c63ba9706d1eef122 $(PKG)_CHECKSUM := 6ac642087682aaf7f8397761a41a99042b2c656498217a1c63ba9706d1eef122
$(PKG)_GH_CONF := glfw/glfw $(PKG)_GH_CONF := glfw/glfw/tags
$(PKG)_DEPS := gcc $(PKG)_DEPS := gcc
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := GLM - OpenGL Mathematics
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 0.9.7.6 $(PKG)_VERSION := 0.9.7.6
$(PKG)_CHECKSUM := 872fdea580b69b752562adc60734d7472fd97d5724c4ead585564083deac3953 $(PKG)_CHECKSUM := 872fdea580b69b752562adc60734d7472fd97d5724c4ead585564083deac3953
$(PKG)_GH_CONF := g-truc/glm $(PKG)_GH_CONF := g-truc/glm/tags
$(PKG)_DEPS := gcc $(PKG)_DEPS := gcc
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -6,6 +6,6 @@ $(PKG)_DESCR := Google Mock
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 1.7.0 $(PKG)_VERSION := 1.7.0
$(PKG)_CHECKSUM := 3f20b6acb37e5a98e8c4518165711e3e35d47deb6cdb5a4dd4566563b5efd232 $(PKG)_CHECKSUM := 3f20b6acb37e5a98e8c4518165711e3e35d47deb6cdb5a4dd4566563b5efd232
$(PKG)_GH_CONF := google/googlemock, release- $(PKG)_GH_CONF := google/googlemock/tags, release-
$(PKG)_DEPS := $(PKG)_DEPS :=
$(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS) $(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS)

View File

@ -6,6 +6,6 @@ $(PKG)_DESCR := Google Test
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 1.7.0 $(PKG)_VERSION := 1.7.0
$(PKG)_CHECKSUM := f73a6546fdf9fce9ff93a5015e0333a8af3062a152a9ad6bcb772c96687016cc $(PKG)_CHECKSUM := f73a6546fdf9fce9ff93a5015e0333a8af3062a152a9ad6bcb772c96687016cc
$(PKG)_GH_CONF := google/googletest, release- $(PKG)_GH_CONF := google/googletest/tags, release-
$(PKG)_DEPS := $(PKG)_DEPS :=
$(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS) $(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS)

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := Gumbo, an HTML5 parsing library
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 0.10.1 $(PKG)_VERSION := 0.10.1
$(PKG)_CHECKSUM := 28463053d44a5dfbc4b77bcf49c8cee119338ffa636cc17fc3378421d714efad $(PKG)_CHECKSUM := 28463053d44a5dfbc4b77bcf49c8cee119338ffa636cc17fc3378421d714efad
$(PKG)_GH_CONF := google/gumbo-parser, v $(PKG)_GH_CONF := google/gumbo-parser/tags, v
$(PKG)_DEPS := gcc $(PKG)_DEPS := gcc
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := Hunspell
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 1.6.1 $(PKG)_VERSION := 1.6.1
$(PKG)_CHECKSUM := 30f593733c50b794016bb03d31fd2a2071e4610c6fa4708e33edad2335102c49 $(PKG)_CHECKSUM := 30f593733c50b794016bb03d31fd2a2071e4610c6fa4708e33edad2335102c49
$(PKG)_GH_CONF := hunspell/hunspell, v $(PKG)_GH_CONF := hunspell/hunspell/tags, v
$(PKG)_DEPS := gcc gettext libiconv pthreads readline $(PKG)_DEPS := gcc gettext libiconv pthreads readline
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := Hyperscan
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 4.3.2 $(PKG)_VERSION := 4.3.2
$(PKG)_CHECKSUM := 6cd5820d6da51d6fe4ab12066d1efd9afecc1bc6fb7d6eca9c98f76fd391dbd5 $(PKG)_CHECKSUM := 6cd5820d6da51d6fe4ab12066d1efd9afecc1bc6fb7d6eca9c98f76fd391dbd5
$(PKG)_GH_CONF := 01org/hyperscan, v $(PKG)_GH_CONF := 01org/hyperscan/tags, v
$(PKG)_DEPS := gcc boost $(PKG)_DEPS := gcc boost
# $(PKG)_NATIVE_DEPS := ragel # $(PKG)_NATIVE_DEPS := ragel

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := JasPer
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 2.0.14 $(PKG)_VERSION := 2.0.14
$(PKG)_CHECKSUM := 85266eea728f8b14365db9eaf1edc7be4c348704e562bb05095b9a077cf1a97b $(PKG)_CHECKSUM := 85266eea728f8b14365db9eaf1edc7be4c348704e562bb05095b9a077cf1a97b
$(PKG)_GH_CONF := mdadams/jasper, version- $(PKG)_GH_CONF := mdadams/jasper/tags, version-
$(PKG)_DEPS := gcc jpeg $(PKG)_DEPS := gcc jpeg
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := A C++ library for interacting with JSON
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 1.8.0 $(PKG)_VERSION := 1.8.0
$(PKG)_CHECKSUM := 5deb2462cbf0c0121c9d6c9823ec72fe71417e34242e3509bc7c003d526465bc $(PKG)_CHECKSUM := 5deb2462cbf0c0121c9d6c9823ec72fe71417e34242e3509bc7c003d526465bc
$(PKG)_GH_CONF := open-source-parsers/jsoncpp,,,svn $(PKG)_GH_CONF := open-source-parsers/jsoncpp/tags,,,svn
$(PKG)_DEPS := gcc $(PKG)_DEPS := gcc
# workaround for builds with GCC >= 6.x # workaround for builds with GCC >= 6.x

View File

@ -3,32 +3,19 @@
PKG := libass PKG := libass
$(PKG)_WEBSITE := https://code.google.com/p/libass/ $(PKG)_WEBSITE := https://code.google.com/p/libass/
$(PKG)_IGNORE := $(PKG)_IGNORE :=
# remove autoreconf step after 0.13.1 $(PKG)_VERSION := 0.14.0
# https://github.com/libass/libass/issues/209 $(PKG)_CHECKSUM := 8d5a5c920b90b70a108007ffcd2289ac652c0e03fc88e6eecefa37df0f2e7fdf
$(PKG)_VERSION := 0.13.1 $(PKG)_GH_CONF := libass/libass/releases/latest
$(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)_DEPS := gcc fontconfig freetype fribidi harfbuzz $(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 define $(PKG)_BUILD
cd '$(1)' && $(LIBTOOLIZE) && autoreconf -fi
# fontconfig is only required for legacy XP support # fontconfig is only required for legacy XP support
cd '$(1)' && ./configure \ cd '$(BUILD_DIR)' && '$(SOURCE_DIR)/configure' \
$(MXE_CONFIGURE_OPTS) \ $(MXE_CONFIGURE_OPTS) \
--enable-fontconfig \ --enable-fontconfig \
--enable-harfbuzz --enable-harfbuzz
$(MAKE) -C '$(1)' -j '$(JOBS)' $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)'
$(MAKE) -C '$(1)' -j 1 install $(MAKE) -C '$(BUILD_DIR)' -j 1 install
'$(TARGET)-gcc' \ '$(TARGET)-gcc' \
-W -Wall -Werror -ansi -pedantic \ -W -Wall -Werror -ansi -pedantic \

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := The atomic_ops project (Atomic memory update operations porta
$(PKG)_IGNORE := 7.6% $(PKG)_IGNORE := 7.6%
$(PKG)_VERSION := 7.4.8 $(PKG)_VERSION := 7.4.8
$(PKG)_CHECKSUM := b985816abc69df5781d6d9fcf081e03a3a1e44032030d0a2c28f8de731e7f20f $(PKG)_CHECKSUM := b985816abc69df5781d6d9fcf081e03a3a1e44032030d0a2c28f8de731e7f20f
$(PKG)_GH_CONF := ivmai/libatomic_ops,v $(PKG)_GH_CONF := ivmai/libatomic_ops/tags,v
$(PKG)_DEPS := gcc $(PKG)_DEPS := gcc
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -5,7 +5,7 @@ $(PKG)_WEBSITE := http://libevent.org/
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 2.0.21 $(PKG)_VERSION := 2.0.21
$(PKG)_CHECKSUM := 872b7cdc199ead2edd9f0d1e93b4d900e67d892c014545bd3314b3ae49505eff $(PKG)_CHECKSUM := 872b7cdc199ead2edd9f0d1e93b4d900e67d892c014545bd3314b3ae49505eff
$(PKG)_GH_CONF := libevent/libevent, release-, -stable $(PKG)_GH_CONF := libevent/libevent/tags, release-, -stable
$(PKG)_DEPS := gcc openssl $(PKG)_DEPS := gcc openssl
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -5,7 +5,7 @@ $(PKG)_WEBSITE := https://sourceware.org/libffi/
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 3.2.1 $(PKG)_VERSION := 3.2.1
$(PKG)_CHECKSUM := d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37 $(PKG)_CHECKSUM := d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37
$(PKG)_GH_CONF := atgreen/libffi, v $(PKG)_GH_CONF := atgreen/libffi/tags, v
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) $(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz $(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := https://www.mirrorservice.org/sites/sourceware.org/pub/$(PKG)/$($(PKG)_FILE) $(PKG)_URL := https://www.mirrorservice.org/sites/sourceware.org/pub/$(PKG)/$($(PKG)_FILE)

View File

@ -5,7 +5,7 @@ $(PKG)_WEBSITE := http://libharu.org/
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 2.3.0 $(PKG)_VERSION := 2.3.0
$(PKG)_CHECKSUM := 8f9e68cc5d5f7d53d1bc61a1ed876add1faf4f91070dbc360d8b259f46d9a4d2 $(PKG)_CHECKSUM := 8f9e68cc5d5f7d53d1bc61a1ed876add1faf4f91070dbc360d8b259f46d9a4d2
$(PKG)_GH_CONF := libharu/libharu,RELEASE_,,,_ $(PKG)_GH_CONF := libharu/libharu/tags,RELEASE_,,,_
$(PKG)_DEPS := gcc libpng zlib $(PKG)_DEPS := gcc libpng zlib
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := Implementation of OMEMO in C
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 0.6.1 $(PKG)_VERSION := 0.6.1
$(PKG)_CHECKSUM := 26e2ef3df93d9461ed6d62bbb495b8ac6de385ec7a5aa28ff28dd869ba908170 $(PKG)_CHECKSUM := 26e2ef3df93d9461ed6d62bbb495b8ac6de385ec7a5aa28ff28dd869ba908170
$(PKG)_GH_CONF := gkdr/libomemo, v $(PKG)_GH_CONF := gkdr/libomemo/tags, v
$(PKG)_DEPS := gcc glib libgcrypt mxml sqlite $(PKG)_DEPS := gcc glib libgcrypt mxml sqlite
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := a fast and compact QR Code encoding library
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 4.0.0 $(PKG)_VERSION := 4.0.0
$(PKG)_CHECKSUM := c2c8a8110354463a3332cb48abf8581c8d94136af4dc1418f891cc9c7719e3c1 $(PKG)_CHECKSUM := c2c8a8110354463a3332cb48abf8581c8d94136af4dc1418f891cc9c7719e3c1
$(PKG)_GH_CONF := fukuchi/libqrencode,v $(PKG)_GH_CONF := fukuchi/libqrencode/tags,v
$(PKG)_DEPS := gcc pthreads $(PKG)_DEPS := gcc pthreads
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -5,7 +5,7 @@ $(PKG)_WEBSITE := https://github.com/colinbourassa/librosco/
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 0.1.11 $(PKG)_VERSION := 0.1.11
$(PKG)_CHECKSUM := 48bb2d07c2575f39bdb6cf022889f20bd855eb9100bb19d4e2536a771198e3a4 $(PKG)_CHECKSUM := 48bb2d07c2575f39bdb6cf022889f20bd855eb9100bb19d4e2536a771198e3a4
$(PKG)_GH_CONF := colinbourassa/librosco,,,v $(PKG)_GH_CONF := colinbourassa/librosco/tags,,,v
$(PKG)_DEPS := gcc $(PKG)_DEPS := gcc
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -7,7 +7,7 @@ $(PKG)_IGNORE :=
$(PKG)_VERSION := 2.57.1 $(PKG)_VERSION := 2.57.1
$(PKG)_APIVER := 2.4 $(PKG)_APIVER := 2.4
$(PKG)_CHECKSUM := 675c3bc11c2a6347625ca5215720d41c84fd8e9498dd664cda8a635fd5105a26 $(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 $(PKG)_DEPS := gcc glib libxml2 sqlite
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := lossless compression algorithm optimized for speed
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 1.8.0 $(PKG)_VERSION := 1.8.0
$(PKG)_CHECKSUM := 2ca482ea7a9bb103603108b5a7510b7592b90158c151ff50a28f1ca8389fccf6 $(PKG)_CHECKSUM := 2ca482ea7a9bb103603108b5a7510b7592b90158c151ff50a28f1ca8389fccf6
$(PKG)_GH_CONF := lz4/lz4,v $(PKG)_GH_CONF := lz4/lz4/tags,v
$(PKG)_DEPS := gcc $(PKG)_DEPS := gcc
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := Mini-XML
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 2.11 $(PKG)_VERSION := 2.11
$(PKG)_CHECKSUM := 7d3dfe661e50908fe41aef9b97ba6f7f158cab5208515c6be9f5bc9daf032329 $(PKG)_CHECKSUM := 7d3dfe661e50908fe41aef9b97ba6f7f158cab5208515c6be9f5bc9daf032329
$(PKG)_GH_CONF := michaelrsweet/mxml, v $(PKG)_GH_CONF := michaelrsweet/mxml/tags, v
$(PKG)_DEPS := gcc pthreads $(PKG)_DEPS := gcc pthreads
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := Open CASCADE Community Edition
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 0.18.2 $(PKG)_VERSION := 0.18.2
$(PKG)_CHECKSUM := dc21ddea678a500ad87c773e9a502ed7a71768cf83d9af0bd4c43294186a7fef $(PKG)_CHECKSUM := dc21ddea678a500ad87c773e9a502ed7a71768cf83d9af0bd4c43294186a7fef
$(PKG)_GH_CONF := tpaviot/oce,OCE- $(PKG)_GH_CONF := tpaviot/oce/tags,OCE-
$(PKG)_DEPS := gcc freetype $(PKG)_DEPS := gcc freetype
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -6,8 +6,8 @@ $(PKG)_DESCR := Light-weight, simple, and fast XML parser for C++ with XPath
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 1.8 $(PKG)_VERSION := 1.8
$(PKG)_CHECKSUM := 9823684a9600e9ab6d1bc7685d01d07c56f9df41ed3ebf8541aa3dfe8d4074b2 $(PKG)_CHECKSUM := 9823684a9600e9ab6d1bc7685d01d07c56f9df41ed3ebf8541aa3dfe8d4074b2
$(PKG)_GH_CONF := zeux/pugixml/tags,v
$(PKG)_DEPS := gcc $(PKG)_DEPS := gcc
$(PKG)_GH_CONF := zeux/pugixml,v
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := Qt Cryptographic Architecture
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 2.1.3 $(PKG)_VERSION := 2.1.3
$(PKG)_CHECKSUM := a5135ffb0250a40e9c361eb10cd3fe28293f0cf4e5c69d3761481eafd7968067 $(PKG)_CHECKSUM := a5135ffb0250a40e9c361eb10cd3fe28293f0cf4e5c69d3761481eafd7968067
$(PKG)_GH_CONF := KDE/qca,v $(PKG)_GH_CONF := KDE/qca/tags,v
$(PKG)_DEPS := gcc qtbase $(PKG)_DEPS := gcc qtbase
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := SQLite extension that provides 256 bit AES encryption of data
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 3.4.1 $(PKG)_VERSION := 3.4.1
$(PKG)_CHECKSUM := 4172cc6e5a79d36e178d36bd5cc467a938e08368952659bcd95eccbaf0fa4ad4 $(PKG)_CHECKSUM := 4172cc6e5a79d36e178d36bd5cc467a938e08368952659bcd95eccbaf0fa4ad4
$(PKG)_GH_CONF := sqlcipher/sqlcipher, v $(PKG)_GH_CONF := sqlcipher/sqlcipher/tags, v
$(PKG)_DEPS := gcc openssl readline $(PKG)_DEPS := gcc openssl readline
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := HTML/XML syntax checker and reformatter
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 5.4.0 $(PKG)_VERSION := 5.4.0
$(PKG)_CHECKSUM := a2d754b7349982e33f12d798780316c047a3b264240dc6bbd4641542e57a0b7a $(PKG)_CHECKSUM := a2d754b7349982e33f12d798780316c047a3b264240dc6bbd4641542e57a0b7a
$(PKG)_GH_CONF := htacg/tidy-html5 $(PKG)_GH_CONF := htacg/tidy-html5/tags
$(PKG)_DEPS := gcc $(PKG)_DEPS := gcc
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -5,7 +5,7 @@ $(PKG)_WEBSITE := https://ukoethe.github.io/vigra/
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 1.9.0 $(PKG)_VERSION := 1.9.0
$(PKG)_CHECKSUM := dc041f7ccf838d4321e9bcf522fece1758768dd7a3f8350d1e83e2b8e6daf1e6 $(PKG)_CHECKSUM := dc041f7ccf838d4321e9bcf522fece1758768dd7a3f8350d1e83e2b8e6daf1e6
$(PKG)_GH_CONF := ukoethe/vigra, Version-,,,- $(PKG)_GH_CONF := ukoethe/vigra/tags, Version-,,,-
$(PKG)_DEPS := gcc jpeg libpng openexr tiff $(PKG)_DEPS := gcc jpeg libpng openexr tiff
define $(PKG)_BUILD define $(PKG)_BUILD

View File

@ -5,7 +5,7 @@ $(PKG)_WEBSITE := http://yasm.tortall.net/
$(PKG)_DESCR := Yasm $(PKG)_DESCR := Yasm
$(PKG)_VERSION := 1.3.0 $(PKG)_VERSION := 1.3.0
$(PKG)_CHECKSUM := 3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f $(PKG)_CHECKSUM := 3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f
$(PKG)_GH_CONF := yasm/yasm, v $(PKG)_GH_CONF := yasm/yasm/tags, v
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) $(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz $(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := https://www.tortall.net/projects/$(PKG)/releases/$($(PKG)_FILE) $(PKG)_URL := https://www.tortall.net/projects/$(PKG)/releases/$($(PKG)_FILE)

View File

@ -6,7 +6,7 @@ $(PKG)_DESCR := Zstandard is a fast lossless compression algorithm
$(PKG)_IGNORE := $(PKG)_IGNORE :=
$(PKG)_VERSION := 1.3.2 $(PKG)_VERSION := 1.3.2
$(PKG)_CHECKSUM := ac5054a3c64e6510bc1ae890d05e3d271cc33ceebc9d06ac9f08105766d2798a $(PKG)_CHECKSUM := ac5054a3c64e6510bc1ae890d05e3d271cc33ceebc9d06ac9f08105766d2798a
$(PKG)_GH_CONF := facebook/zstd,v $(PKG)_GH_CONF := facebook/zstd/tags,v
$(PKG)_DEPS := gcc $(PKG)_DEPS := gcc
define $(PKG)_BUILD define $(PKG)_BUILD