All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/3] package/libdeflate: new package
@ 2022-02-05 18:08 Bernd Kuhls
  2022-02-05 18:08 ` [Buildroot] [PATCH 2/3] package/dht: " Bernd Kuhls
  2022-02-05 18:08 ` [Buildroot] [PATCH 3/3] package/libutp: " Bernd Kuhls
  0 siblings, 2 replies; 6+ messages in thread
From: Bernd Kuhls @ 2022-02-05 18:08 UTC (permalink / raw)
  To: buildroot; +Cc: Samuel Martin, Thomas Petazzoni

Needed for upcoming version bump of transmission:
https://github.com/transmission/transmission/commit/d8d765c59551b97ffb10bedb6f66133a54954a0e

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
Build test using this defconfig

BR2_PACKAGE_LIBDEFLATE=y

was successful:

                             andes-nds32 [ 1/45]: OK
                             arm-aarch64 [ 2/45]: OK
                   bootlin-aarch64-glibc [ 3/45]: OK
               bootlin-arcle-hs38-uclibc [ 4/45]: OK
                    bootlin-armv5-uclibc [ 5/45]: OK
                     bootlin-armv7-glibc [ 6/45]: OK
                   bootlin-armv7m-uclibc [ 7/45]: OK
                      bootlin-armv7-musl [ 8/45]: OK
                bootlin-m68k-5208-uclibc [ 9/45]: OK
               bootlin-m68k-68040-uclibc [10/45]: OK
             bootlin-microblazeel-uclibc [11/45]: OK
                bootlin-mipsel32r6-glibc [12/45]: OK
                   bootlin-mipsel-uclibc [13/45]: OK
                     bootlin-nios2-glibc [14/45]: OK
                 bootlin-openrisc-uclibc [15/45]: OK
        bootlin-powerpc64le-power8-glibc [16/45]: OK
           bootlin-powerpc-e500mc-uclibc [17/45]: OK
                   bootlin-riscv32-glibc [18/45]: OK
                   bootlin-riscv64-glibc [19/45]: OK
                    bootlin-riscv64-musl [20/45]: OK
                      bootlin-sh4-uclibc [21/45]: OK
                   bootlin-sparc64-glibc [22/45]: OK
                    bootlin-sparc-uclibc [23/45]: OK
                    bootlin-x86-64-glibc [24/45]: OK
                     bootlin-x86-64-musl [25/45]: OK
                   bootlin-x86-64-uclibc [26/45]: OK
                   bootlin-xtensa-uclibc [27/45]: OK
                            br-arm-basic [28/45]: OK
                    br-arm-full-nothread [29/45]: OK
                      br-arm-full-static [30/45]: OK
                   br-i386-pentium4-full [31/45]: OK
                br-i386-pentium-mmx-musl [32/45]: OK
                      br-mips64-n64-full [33/45]: OK
                 br-mips64r6-el-hf-glibc [34/45]: OK
               br-powerpc-603e-basic-cpp [35/45]: OK
               br-powerpc64-power7-glibc [36/45]: OK
                       linaro-aarch64-be [37/45]: OK
                          linaro-aarch64 [38/45]: OK
                              linaro-arm [39/45]: OK
                     sourcery-arm-armv4t [40/45]: OK
                            sourcery-arm [41/45]: OK
                     sourcery-arm-thumb2 [42/45]: OK
                         sourcery-mips64 [43/45]: OK
                           sourcery-mips [44/45]: OK
                          sourcery-nios2 [45/45]: OK
45 builds, 0 skipped, 0 build failed, 0 legal-info failed, 0 show-info failed

 DEVELOPERS                                    |  1 +
 package/Config.in                             |  1 +
 .../0001-fix-crc32-build-on-arm.patch         | 49 +++++++++++++++++++
 package/libdeflate/Config.in                  |  7 +++
 package/libdeflate/libdeflate.hash            |  3 ++
 package/libdeflate/libdeflate.mk              | 34 +++++++++++++
 6 files changed, 95 insertions(+)
 create mode 100644 package/libdeflate/0001-fix-crc32-build-on-arm.patch
 create mode 100644 package/libdeflate/Config.in
 create mode 100644 package/libdeflate/libdeflate.hash
 create mode 100644 package/libdeflate/libdeflate.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index a1ec9a091e..70021ef823 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -364,6 +364,7 @@ F:	package/libcec/
 F:	package/libcodec2/
 F:	package/libcrossguid/
 F:	package/libdcadec/
+F:	package/libdeflate/
 F:	package/libdrm/
 F:	package/libdvbcsa/
 F:	package/libdvdcss/
diff --git a/package/Config.in b/package/Config.in
index 5e6fed6dec..52a8ff8fe3 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1393,6 +1393,7 @@ endmenu
 
 menu "Compression and decompression"
 	source "package/libarchive/Config.in"
+	source "package/libdeflate/Config.in"
 	source "package/libmspack/Config.in"
 	source "package/libsquish/Config.in"
 	source "package/libzip/Config.in"
diff --git a/package/libdeflate/0001-fix-crc32-build-on-arm.patch b/package/libdeflate/0001-fix-crc32-build-on-arm.patch
new file mode 100644
index 0000000000..1ea3d6d564
--- /dev/null
+++ b/package/libdeflate/0001-fix-crc32-build-on-arm.patch
@@ -0,0 +1,49 @@
+From ce096af0f9f9c76ba98408daeee45c4f456be602 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd.kuhls@t-online.de>
+Date: Sat, 5 Feb 2022 14:32:18 +0100
+Subject: [PATCH] fix crc32 build on arm
+
+Fixes build error
+
+/tmp/ccAwbDTP.s: Assembler messages:
+/tmp/ccAwbDTP.s:140: Error: selected processor does not support `crc32b r0,r0,r3' in ARM mode
+/tmp/ccAwbDTP.s:146: Error: selected processor does not support `crc32w r3,r0,r3' in ARM mode
+/tmp/ccAwbDTP.s:148: Error: selected processor does not support `crc32w r3,r3,r4' in ARM mode
+/tmp/ccAwbDTP.s:150: Error: selected processor does not support `crc32w r3,r3,r4' in ARM mode
+/tmp/ccAwbDTP.s:152: Error: selected processor does not support `crc32w r3,r3,r0' in ARM mode
+/tmp/ccAwbDTP.s:154: Error: selected processor does not support `crc32w r3,r3,r4' in ARM mode
+/tmp/ccAwbDTP.s:156: Error: selected processor does not support `crc32w r3,r3,r0' in ARM mode
+/tmp/ccAwbDTP.s:158: Error: selected processor does not support `crc32w r3,r3,r4' in ARM mode
+/tmp/ccAwbDTP.s:159: Error: selected processor does not support `crc32w r0,r3,r0' in ARM mode
+/tmp/ccAwbDTP.s:165: Error: selected processor does not support `crc32w lr,r0,lr' in ARM mode
+/tmp/ccAwbDTP.s:166: Error: selected processor does not support `crc32w r0,lr,r4' in ARM mode
+/tmp/ccAwbDTP.s:170: Error: selected processor does not support `crc32b r0,r0,r3' in ARM mode
+/tmp/ccAwbDTP.s:177: Error: selected processor does not support `crc32b r0,r0,r3' in ARM mode
+
+Patch sent upstream as RFC:
+https://github.com/ebiggers/libdeflate/pull/163
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ common/compiler_gcc.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/common/compiler_gcc.h b/common/compiler_gcc.h
+index 2a45b05..ea16c2d 100644
+--- a/common/compiler_gcc.h
++++ b/common/compiler_gcc.h
+@@ -128,9 +128,9 @@
+       * they work as expected.  (Well, not quite.  There's still a bug, but we
+       * have to work around it later when including arm_acle.h.)
+       */
+-#    if GCC_PREREQ(10, 1) || \
++#    if ((GCC_PREREQ(10, 1) || \
+         (GCC_PREREQ(9, 3) && !GCC_PREREQ(10, 0)) || \
+-        (GCC_PREREQ(8, 4) && !GCC_PREREQ(9, 0)) || \
++        (GCC_PREREQ(8, 4) && !GCC_PREREQ(9, 0))) && defined(__aarch64__)) || \
+         (defined(__clang__) && __has_builtin(__builtin_arm_crc32b))
+ #      define COMPILER_SUPPORTS_CRC32_TARGET_INTRINSICS 1
+ #    endif
+-- 
+2.30.2
+
diff --git a/package/libdeflate/Config.in b/package/libdeflate/Config.in
new file mode 100644
index 0000000000..d2fb0d6c55
--- /dev/null
+++ b/package/libdeflate/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_LIBDEFLATE
+	bool "libdeflate"
+	help
+	  Libdeflate is a heavily optimized library for DEFLATE/zlib/
+	  gzip compression and decompression
+
+	  https://github.com/ebiggers/libdeflate
diff --git a/package/libdeflate/libdeflate.hash b/package/libdeflate/libdeflate.hash
new file mode 100644
index 0000000000..ef480ab270
--- /dev/null
+++ b/package/libdeflate/libdeflate.hash
@@ -0,0 +1,3 @@
+# Locally computed
+sha256  a537ab6125c226b874c02b166488b326aece954930260dbf682d88fc339137e3  libdeflate-1.9.tar.gz
+sha256  5d246dd2537307b80fed9ba5fdddf5d0fe7a8f023393a071182b9daed56b40fe  COPYING
diff --git a/package/libdeflate/libdeflate.mk b/package/libdeflate/libdeflate.mk
new file mode 100644
index 0000000000..2453804989
--- /dev/null
+++ b/package/libdeflate/libdeflate.mk
@@ -0,0 +1,34 @@
+################################################################################
+#
+# libdeflate
+#
+################################################################################
+
+LIBDEFLATE_VERSION = 1.9
+LIBDEFLATE_SITE = $(call github,ebiggers,libdeflate,v$(LIBDEFLATE_VERSION))
+LIBDEFLATE_LICENSE = MIT
+LIBDEFLATE_LICENSE_FILES = COPYING
+LIBDEFLATE_INSTALL_STAGING = YES
+
+ifeq ($(BR2_STATIC_LIBS),y)
+LIBDEFLATE_MAKE_OPTS += DISABLE_SHARED=yes
+endif
+
+define LIBDEFLATE_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \
+		$(LIBDEFLATE_MAKE_OPTS)
+endef
+
+define LIBDEFLATE_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \
+		$(LIBDEFLATE_MAKE_OPTS) \
+		DESTDIR="$(STAGING_DIR)" PREFIX=/usr install
+endef
+
+define LIBDEFLATE_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \
+		$(LIBDEFLATE_MAKE_OPTS) \
+		DESTDIR="$(TARGET_DIR)" PREFIX=/usr install
+endef
+
+$(eval $(generic-package))
-- 
2.30.2

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-07-27 18:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-05 18:08 [Buildroot] [PATCH 1/3] package/libdeflate: new package Bernd Kuhls
2022-02-05 18:08 ` [Buildroot] [PATCH 2/3] package/dht: " Bernd Kuhls
2022-07-27 14:43   ` Thomas Petazzoni via buildroot
     [not found]   ` <20220727164321.6b121f34__8720.59965492866$1658933027$gmane$org@windsurf>
2022-07-27 18:14     ` Bernd Kuhls
2022-02-05 18:08 ` [Buildroot] [PATCH 3/3] package/libutp: " Bernd Kuhls
2022-07-27 14:39   ` Thomas Petazzoni via buildroot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.