Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Common updates and optimizations #5492

Merged
merged 29 commits into from
Nov 17, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions cross/bzip2/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,15 @@ COMMENT = High-quality data compressor.
LICENSE = BSD License

CONFIGURE_TARGET = nop
COMPILE_TARGET = bzip2_compile
POST_INSTALL_TARGET = bzip2_post_install

ADDITIONAL_CFLAGS = -fpic -fPIC -O3 -D_FILE_OFFSET_BITS=64

COMPILE_MAKE_OPTIONS = -f Makefile-libbz2_so PREFIX=$(INSTALL_PREFIX)
INSTALL_MAKE_OPTIONS = install PREFIX=$(STAGING_INSTALL_PREFIX)

include ../../mk/spksrc.cross-cc.mk

.PHONY: bzip2_compile
bzip2_compile:
$(RUN) $(MAKE) bzip2 bzip2recover PREFIX=$(INSTALL_PREFIX)
$(RUN) $(MAKE) -f Makefile-libbz2_so PREFIX=$(INSTALL_PREFIX)

.PHONY: bzip2_post_install
bzip2_post_install:
ln -sf bzip2 $(STAGING_INSTALL_PREFIX)/bin/bunzip2
Expand Down
23 changes: 22 additions & 1 deletion cross/cairo/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,35 @@ PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://www.cairographics.org/releases/
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

DEPENDS = cross/libpng cross/freetype cross/pixman cross/fontconfig
DEPENDS = cross/libpng cross/freetype cross/pixman cross/fontconfig cross/glib

HOMEPAGE = https://www.cairographics.org
COMMENT = Cairo is a 2D graphics library with support for multiple output devices.
LICENSE = GPLv2

GNU_CONFIGURE = 1
CONFIGURE_ARGS = --disable-static --disable-trace --enable-gobject
ADDITIONAL_CPPFLAGS = -O

# Use custom build and install targets, since configure does not support
# to disable the build of code in the sub folders: test, perf, boilderplate.
# But this needs a lot of build resources, and it will never run as we are
# cross compiling.
# This (old) blog shows, that it is not intended to enable test code skipping:
# https://lists.cairographics.org/archives/cairo/2014-July/025373.html
COMPILE_TARGET = cairo_compile
INSTALL_TARGET = cairo_install

include ../../mk/spksrc.cross-cc.mk

.PHONY: cairo_compile
cairo_compile:
@$(MSG) Build without tests
@$(RUN) $(MAKE) -C src $(COMPILE_MAKE_OPTIONS)
@$(RUN) $(MAKE) -C util $(COMPILE_MAKE_OPTIONS)

.PHONY: cairo_install
cairo_install:
@$(MSG) Install without building tests
@$(RUN) $(MAKE) -C src install DESTDIR=$(INSTALL_DIR) prefix=$(INSTALL_PREFIX)
@$(RUN) $(MAKE) -C util install DESTDIR=$(INSTALL_DIR) prefix=$(INSTALL_PREFIX)
5 changes: 3 additions & 2 deletions cross/cairo/PLIST
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
rsc:bin/cairo-trace
lib:lib/cairo/libcairo-trace.so
lnk:lib/libcairo-gobject.so
lnk:lib/libcairo-gobject.so.2
lib:lib/libcairo-gobject.so.2.11600.0
lnk:lib/libcairo-script-interpreter.so
lnk:lib/libcairo-script-interpreter.so.2
lib:lib/libcairo-script-interpreter.so.2.11600.0
Expand Down
5 changes: 4 additions & 1 deletion cross/dav1d/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ PKG_NAME = dav1d
PKG_VERS = 1.0.0
PKG_EXT = tar.xz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://download.videolan.org/pub/videolan/$(PKG_NAME)/$(PKG_VERS)
PKG_DIST_SITE = https://download.videolan.org/pub/videolan/dav1d/$(PKG_VERS)
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

DEPENDS =
Expand All @@ -18,4 +18,7 @@ NASM_PATH = $(realpath $(WORK_DIR)/../../../native/nasm/work-native/install/usr/
ENV += PATH=$(NASM_PATH):$$PATH
ENV += AS=$(NASM_PATH)/nasm

CONFIGURE_ARGS += -Denable_tests=false
ADDITIONAL_CFLAGS = -O

include ../../mk/spksrc.cross-meson.mk
12 changes: 7 additions & 5 deletions cross/fftw/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,23 @@ PKG_NAME = fftw
PKG_VERS = 3.3.10
PKG_EXT = tar.gz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = http://fftw.org
PKG_DIST_SITE = https://fftw.org
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

DEPENDS =
DEPENDS =

HOMEPAGE = http://fftw.org/index.html
COMMENT = FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST).
LICENSE = GNU General Public License
LICENSE = GPLv3

GNU_CONFIGURE = 1

CONFIGURE_ARGS = --enable-shared
CONFIGURE_ARGS += --disable-static
CONFIGURE_ARGS += --disable-doc
CONFIGURE_ARGS += --disable-fortran
ADDITIONAL_CFLAGS = -O

include ../../mk/spksrc.common.mk
include ../../mk/spksrc.archs.mk

ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH))
CONFIGURE_ARGS += --enable-neon
Expand Down
2 changes: 1 addition & 1 deletion cross/fftw/PLIST
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
bin:bin/fftw-wisdom
bin:bin/fftw-wisdom-to-conf
rsc:bin/fftw-wisdom-to-conf
lnk:lib/libfftw3.so
lnk:lib/libfftw3.so.3
lib:lib/libfftw3.so.3.6.10
4 changes: 2 additions & 2 deletions cross/fontconfig/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ COMMENT = Fontconfig is a library for configuring and customizing font access.
LICENSE = GPLv2

GNU_CONFIGURE = 1

CONFIGURE_ARGS = --disable-docs --enable-iconv
CONFIGURE_ARGS = --disable-docs --enable-iconv --disable-cache-build
ADDITIONAL_CFLAGS = -O

include ../../mk/spksrc.cross-cc.mk
11 changes: 9 additions & 2 deletions cross/freetype/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PKG_NAME = freetype
PKG_VERS = 2.12.0
PKG_VERS = 2.12.1
PKG_EXT = tar.xz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://download.savannah.gnu.org/releases/freetype
Expand All @@ -12,7 +12,14 @@ COMMENT = FreeType is a freely available software library to render fonts.
LICENSE = GPLv2

GNU_CONFIGURE = 1
CONFIGURE_ARGS = --enable-freetype-config
# avoid the build of freetype-config
# - it has wrong prefixes in it
# - dependents must use freetype2.pc instead
# - when there are dependents that must have freetype-config,
# we could enable this, but must fix the prefixes (our framework does an adjustment for *.pc files only)
# - as it is not as easy to adjust the prefixes as in cross/libxml2 we disable it here
CONFIGURE_ARGS = --disable-freetype-config
CONFIGURE_ARGS += --disable-static
ADDITIONAL_CPPFLAGS = -O

include ../../mk/spksrc.cross-cc.mk
3 changes: 1 addition & 2 deletions cross/freetype/PLIST
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
rsc:bin/freetype-config
lnk:lib/libfreetype.so
lnk:lib/libfreetype.so.6
lib:lib/libfreetype.so.6.18.2
lib:lib/libfreetype.so.6.18.3
6 changes: 3 additions & 3 deletions cross/freetype/digests
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
freetype-2.12.0.tar.xz SHA1 fd1eb1a27f178808e1d8ccd82c71abfa5d0ebe13
freetype-2.12.0.tar.xz SHA256 ef5c336aacc1a079ff9262d6308d6c2a066dd4d2a905301c4adda9b354399033
freetype-2.12.0.tar.xz MD5 9a07649ce73ba0d80d211092b3d1c2fa
freetype-2.12.1.tar.xz SHA1 5133eed28a7624ffabbf6d00aa3f68b841d62d80
freetype-2.12.1.tar.xz SHA256 4766f20157cc4cf0cd292f80bf917f92d1c439b243ac3018debf6b9140c41a7f
freetype-2.12.1.tar.xz MD5 7f7cd7c706d8e402354305c1c59e3ff2
4 changes: 2 additions & 2 deletions cross/fribidi/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PKG_NAME = fribidi
PKG_VERS = 1.0.11
PKG_VERS = 1.0.12
PKG_EXT = tar.xz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/fribidi/fribidi/releases/download/v$(PKG_VERS)
Expand All @@ -12,7 +12,7 @@ COMMENT = GNU FriBidi is an implementation of the Unicode Bidirectional Algorit
LICENSE = GPLv2

GNU_CONFIGURE = 1

CONFIGURE_ARGS = --with-pic
ADDITIONAL_CFLAGS = -O

include ../../mk/spksrc.cross-cc.mk
1 change: 0 additions & 1 deletion cross/fribidi/PLIST
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
bin:bin/fribidi
lnk:lib/libfribidi.so
lnk:lib/libfribidi.so.0
lib:lib/libfribidi.so.0.4.0
6 changes: 3 additions & 3 deletions cross/fribidi/digests
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
fribidi-1.0.11.tar.xz SHA1 326d3f89431b9553f1942ca6814433e4b34611a3
fribidi-1.0.11.tar.xz SHA256 30f93e9c63ee627d1a2cedcf59ac34d45bf30240982f99e44c6e015466b4e73d
fribidi-1.0.11.tar.xz MD5 06bb29553bb0529fb38648185f2553b0
fribidi-1.0.12.tar.xz SHA1 c042d9a6e42d9871ea485bb734df049cc57a7185
fribidi-1.0.12.tar.xz SHA256 0cd233f97fc8c67bb3ac27ce8440def5d3ffacf516765b91c2cc654498293495
fribidi-1.0.12.tar.xz MD5 21185b398635a7fc0d3ff0a7578c4791
7 changes: 2 additions & 5 deletions cross/giflib/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,12 @@ COMMENT = A library for processing GIFs.
LICENSE = MIT

CONFIGURE_TARGET = nop
INSTALL_TARGET = giflib_install
COMPILE_MAKE_OPTIONS = shared-lib
INSTALL_MAKE_OPTIONS = PREFIX=$(INSTALL_DIR)$(INSTALL_PREFIX) install-shared-lib

include ../../mk/spksrc.cross-cc.mk

ifeq ($(call version_ge, $(TC_GCC), 4.6),1)
# add CFLAGS not supported by older compilers
COMPILE_MAKE_OPTIONS = ADDITIONAL_CFLAGS=-Wno-format-truncation
endif

.PHONY: giflib_install
giflib_install:
@$(RUN) $(MAKE) PREFIX=$(INSTALL_DIR)$(INSTALL_PREFIX) install
28 changes: 26 additions & 2 deletions cross/giflib/patches/001-configurable-Makefile.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
# Makefile: make 'PREFIX' and 'CFLAGS to suppress warnings' configurable
# modify Makefile:
# - make CFLAGS configurable to remove warning not supported by older compilers
# - make PREFIX overwritable
# - add targets to build shared libraries only
#
--- Makefile.orig 2019-06-24 16:08:57.000000000 +0000
+++ Makefile 2022-04-17 16:40:49.866854053 +0000
+++ Makefile 2022-09-06 05:28:43.957220363 +0000
@@ -8,13 +8,13 @@
#
OFLAGS = -O0 -g
Expand All @@ -18,3 +21,24 @@
BINDIR = $(PREFIX)/bin
INCDIR = $(PREFIX)/include
LIBDIR = $(PREFIX)/lib
@@ -66,6 +66,8 @@

$(UTILS):: libgif.a libutil.a

+shared-lib: libgif.so libutil.so
+
libgif.so: $(OBJECTS) $(HEADERS)
$(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS)

@@ -102,6 +104,11 @@
$(INSTALL) -m 755 libgif.so "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBVER)"
ln -sf libgif.so.$(LIBVER) "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBMAJOR)"
ln -sf libgif.so.$(LIBMAJOR) "$(DESTDIR)$(LIBDIR)/libgif.so"
+install-shared-lib: install-include
+ $(INSTALL) -d "$(DESTDIR)$(LIBDIR)"
+ $(INSTALL) -m 755 libgif.so "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBVER)"
+ ln -sf libgif.so.$(LIBVER) "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBMAJOR)"
+ ln -sf libgif.so.$(LIBMAJOR) "$(DESTDIR)$(LIBDIR)/libgif.so"
install-man:
$(INSTALL) -d "$(DESTDIR)$(MANDIR)/man1"
$(INSTALL) -m 644 doc/*.1 "$(DESTDIR)$(MANDIR)/man1"
15 changes: 8 additions & 7 deletions cross/glib/Makefile
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
PKG_NAME = glib
PKG_VERS = 2.66.4
PKG_SHORT_VERS = $(word 1,$(subst ., ,$(PKG_VERS))).$(word 2,$(subst ., ,$(PKG_VERS)))
PKG_EXT = tar.xz
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://ftp.gnome.org/pub/GNOME/sources/$(PKG_NAME)/$(PKG_SHORT_VERS)
PKG_DIST_SITE = https://download.gnome.org/sources/glib/$(word 1,$(subst ., ,$(PKG_VERS))).$(word 2,$(subst ., ,$(PKG_VERS)))

DEPENDS = cross/libffi cross/pcre cross/zlib

HOMEPAGE = https://developer.gnome.org/glib/
COMMENT = General-purpose utility library
LICENSE = GPLv2
COMMENT = General-purpose utility library.
LICENSE = LGPLv2.1+

UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS)

# https://developer.gnome.org/glib/
# https://developer.gnome.org/glib/stable/glib-building.html
CONFIGURE_ARGS += -Dman=false -Dlibmount=disabled -Ddefault_library=shared -Dselinux=disabled
# https://docs.gtk.org/glib/building.html
CONFIGURE_ARGS += -Dgtk_doc=false -Dman=false
CONFIGURE_ARGS += -Dlibmount=disabled
CONFIGURE_ARGS += -Ddefault_library=shared
CONFIGURE_ARGS += -Dselinux=disabled

include ../../mk/spksrc.cross-meson.mk
4 changes: 3 additions & 1 deletion cross/gmmlib/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PKG_NAME = gmmlib
PKG_VERS = 22.1.4
PKG_VERS = 22.1.8
PKG_EXT = tar.gz
PKG_DIST_NAME = intel-$(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/intel/gmmlib/archive
Expand All @@ -12,4 +12,6 @@ HOMEPAGE = https://github.com/intel/gmmlib
COMMENT = Intel Graphics Memory Management Library provides device specific and buffer management for the Intel Graphics Compute Runtime for OpenCL and the Intel Media Driver for VAAPI.
LICENSE = MIT

CMAKE_ARGS += -DRUN_TEST_SUITE=OFF

include ../../mk/spksrc.cross-cmake.mk
6 changes: 3 additions & 3 deletions cross/gmmlib/digests
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
intel-gmmlib-22.1.4.tar.gz SHA1 a3b35df66c0c973477c0ce6e57113b8690d7e98e
intel-gmmlib-22.1.4.tar.gz SHA256 18f291b6d5c9a170468e050e301f23760bb5b20b79d28a49a791ace2f22880c9
intel-gmmlib-22.1.4.tar.gz MD5 ebdfa64cb6d1ccb43e4dee0d0635e37b
intel-gmmlib-22.1.8.tar.gz SHA1 56bf0e751c22b28a527a672ba3fefcdc98d5814c
intel-gmmlib-22.1.8.tar.gz SHA256 bf23e9a3742b4fb98c7666c9e9b29f3219e4b2fb4d831aaf4eed71f5e2d17368
intel-gmmlib-22.1.8.tar.gz MD5 43485e269ab52a2e512f06749d0a97f4
22 changes: 13 additions & 9 deletions cross/harfbuzz/Makefile
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
PKG_NAME = harfbuzz
PKG_VERS = 2.7.4
PKG_EXT = tar.gz
PKG_DIST_NAME = $(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/harfbuzz/harfbuzz/archive
PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_VERS = 2.9.1
PKG_EXT = tar.xz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/harfbuzz/harfbuzz/releases/download/$(PKG_VERS)
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

DEPENDS = cross/freetype cross/cairo cross/fontconfig cross/libicu
DEPENDS = cross/freetype cross/glib cross/cairo cross/fontconfig

# Toolchains lacking c++11 compiler ar not supported
UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS)

HOMEPAGE = https://harfbuzz.github.io/
COMMENT = HarfBuzz is a text shaping library. Using the HarfBuzz library allows programs to convert a sequence of Unicode input into properly formatted and positioned glyph output—for any writing system and language.
LICENSE = Old MIT

include ../../mk/spksrc.archs.mk
GNU_CONFIGURE = 1
CONFIGURE_ARGS = -Dtests=disabled
ADDITIONAL_CFLAGS = -std=c11

# Toolchains lacking c++11 compiler ar not supported
UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS)
# let it find glib-mkenums
ENV += "PATH=$(PATH):$(STAGING_INSTALL_PREFIX)/bin"

include ../../mk/spksrc.cross-meson.mk
14 changes: 7 additions & 7 deletions cross/harfbuzz/PLIST
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
lnk:lib/libharfbuzz-icu.so
lnk:lib/libharfbuzz-icu.so.0
lib:lib/libharfbuzz-icu.so.0.20704.0
lnk:lib/libharfbuzz.so
lnk:lib/libharfbuzz.so.0
lib:lib/libharfbuzz.so.0.20704.0
lnk:lib/libharfbuzz-gobject.so
lnk:lib/libharfbuzz-gobject.so.0
lib:lib/libharfbuzz-gobject.so.0.20901.0
lnk:lib/libharfbuzz-subset.so
lnk:lib/libharfbuzz-subset.so.0
lib:lib/libharfbuzz-subset.so.0.20704.0
lib:lib/libharfbuzz-subset.so.0.20901.0
lnk:lib/libharfbuzz.so
lnk:lib/libharfbuzz.so.0
lib:lib/libharfbuzz.so.0.20901.0
6 changes: 3 additions & 3 deletions cross/harfbuzz/digests
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
harfbuzz-2.7.4.tar.gz SHA1 a87064f4a16dea4b7c95013db5bd2d2039fd81e3
harfbuzz-2.7.4.tar.gz SHA256 daff8a4003ac420a8550760ed303ce33b310c8ea17b7f15b307d1969cabcebcb
harfbuzz-2.7.4.tar.gz MD5 1f3427129437783b55fafdf33b4a73aa
harfbuzz-2.9.1.tar.xz SHA1 081beab70a8afaed64a71c405b1e65e2f5d5eb40
harfbuzz-2.9.1.tar.xz SHA256 0edcc980f526a338452180e701d6aba6323aef457b6686976a7d17ccbddc51cf
harfbuzz-2.9.1.tar.xz MD5 f2cec0adcfea1de89b47de4b8e682808
10 changes: 6 additions & 4 deletions cross/imlib2/Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
PKG_NAME = imlib2
PKG_VERS = 1.4.7
PKG_EXT = tar.bz2
PKG_VERS = 1.9.1
PKG_EXT = tar.xz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://sourceforge.net/projects/enlightenment/files/$(PKG_NAME)-src/$(PKG_VERS)
PKG_DIST_SITE = https://sourceforge.net/projects/enlightenment/files/imlib2-src/$(PKG_VERS)
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

DEPENDS = cross/freetype cross/libpng cross/libjpeg cross/giflib cross/libtiff
Expand All @@ -12,6 +12,8 @@ COMMENT = Imlib 2 library does image file loading and saving as well as renderi
LICENSE =

GNU_CONFIGURE = 1
CONFIGURE_ARGS = --without-x
CONFIGURE_ARGS = --disable-static
CONFIGURE_ARGS += --without-x
ADDITIONAL_CFLAGS = -O

include ../../mk/spksrc.cross-cc.mk
Loading