Skip to content

Commit

Permalink
x11-libs/pixman: Sync with Gentoo
Browse files Browse the repository at this point in the history
It's from Gentoo commit 3889a4c90a0abb162a720967311764234679960a.
  • Loading branch information
Flatcar Buildbot committed Nov 11, 2024
1 parent 55e7fe9 commit 148cd38
Show file tree
Hide file tree
Showing 5 changed files with 175 additions and 10 deletions.
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
DIST pixman-0.43.4.tar.xz 636900 BLAKE2B c31e5700bfadcd72f522af50509a4a6cd7bbf90c918c75b108e50246f1c76e858125138902a222040ada192710ec788deb43eb65085416f3eff88e3ed970933e SHA512 b40fb05bd58dc78f4e4e9b19c86991ab0611b708657c9a7fb42bfe82d57820a0fde01a34b00a0848a41da6c3fb90c2213942a70f435a0e9467631695d3bc7e36
DIST pixman-0.44.0.tar.xz 649200 BLAKE2B ea3f5fc5e6febfd3e6acf89b9bb7ce2d7c82d42ede2b3f7df69ce6d65ec2d75d3402523a1a3227135caac34633556dec3010a435ace23f2c8255ea210c03d5db SHA512 3ea293cd308a4faeb600939df2c98148154cf1faf8e435b9f33df46c33acfeb32572cb0c1e148ee9f6f39f9e8a49fbda627edcac03da2000d89e22941849a04d
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
https://bugs.gentoo.org/942441

From 865e6ce00bb79a6b925ed4c2c436e1533e4472aa Mon Sep 17 00:00:00 2001
From: Mike Hommey <[email protected]>
Date: Fri, 12 Jul 2024 11:11:17 -0400
Subject: [PATCH] pixman: Adjust arm assembly for binutils change

A change in the latest version of binutils broke building pixman for arm.

The binutils change:
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=226749d5a6ff0d5c607d6428d6c81e1e7e7a994b

Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/96
---
pixman/pixman-arm-simd-asm.S | 44 ++++++++++++++++++------------------
1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/pixman/pixman-arm-simd-asm.S b/pixman/pixman-arm-simd-asm.S
index 34d38f1..3dfe723 100644
--- a/pixman/pixman-arm-simd-asm.S
+++ b/pixman/pixman-arm-simd-asm.S
@@ -820,13 +820,13 @@ generate_composite_function \
.macro over_white_8888_8888_ca_1pixel_tail
mvn TMP0, WK1
teq WK1, WK1, asr #32
- bne 01f
- bcc 03f
+ bne 1f
+ bcc 3f
mov WK3, WK1
- b 02f
-01: over_white_8888_8888_ca_combine WK1, WK3
-02: pixst , 4, 3, DST
-03:
+ b 2f
+1: over_white_8888_8888_ca_combine WK1, WK3
+2: pixst , 4, 3, DST
+3:
.endm

.macro over_white_8888_8888_ca_2pixels_head
@@ -837,21 +837,21 @@ generate_composite_function \
pixld , 8, 3, DST
mvn TMP0, WK1
teq WK1, WK1, asr #32
- bne 01f
+ bne 1f
movcs WK3, WK1
- bcs 02f
+ bcs 2f
teq WK2, #0
- beq 05f
- b 02f
-01: over_white_8888_8888_ca_combine WK1, WK3
-02: mvn TMP0, WK2
+ beq 5f
+ b 2f
+1: over_white_8888_8888_ca_combine WK1, WK3
+2: mvn TMP0, WK2
teq WK2, WK2, asr #32
- bne 03f
+ bne 3f
movcs WK4, WK2
- b 04f
-03: over_white_8888_8888_ca_combine WK2, WK4
-04: pixst , 8, 3, DST
-05:
+ b 4f
+3: over_white_8888_8888_ca_combine WK2, WK4
+4: pixst , 8, 3, DST
+5:
.endm

.macro over_white_8888_8888_ca_process_head cond, numbytes, firstreg, unaligned_src, unaligned_mask, preload
@@ -1067,9 +1067,9 @@ generate_composite_function \
.if \offset != 0
ldrb ORIG_W, [SRC, #\offset]
.endif
- beq 01f
+ beq 1f
teq STRIDE_M, #0xFF
- beq 02f
+ beq 2f
.endif
uxtb16 SCRATCH, \d /* rb_dest */
uxtb16 \d, \d, ror #8 /* ag_dest */
@@ -1079,13 +1079,13 @@ generate_composite_function \
uxtab16 \d, \d, \d, ror #8
mov SCRATCH, SCRATCH, ror #8
sel \d, SCRATCH, \d
- b 02f
+ b 2f
.if \offset == 0
48: /* Last mov d,#0 of the set - used as part of shortcut for
* source values all 0 */
.endif
-01: mov \d, #0
-02:
+1: mov \d, #0
+2:
.endm

.macro in_reverse_8888_8888_tail numbytes, reg1, reg2, reg3, reg4
--
2.45.2

Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ SLOT="0"
IUSE="cpu_flags_ppc_altivec cpu_flags_arm_iwmmxt cpu_flags_arm_iwmmxt2 cpu_flags_arm_neon loongson2f cpu_flags_x86_mmxext cpu_flags_x86_sse2 cpu_flags_x86_ssse3 static-libs test"
RESTRICT="!test? ( test )"

PATCHES=(
"${FILESDIR}"/${PV}-pixman-Adjust-arm-assembly-for-binutils-change.patch
)

pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use test && tc-check-openmp
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

EGIT_REPO_URI="https://gitlab.freedesktop.org/pixman/pixman.git"

if [[ ${PV} = 9999* ]]; then
GIT_ECLASS="git-r3"
fi

inherit ${GIT_ECLASS} meson-multilib multiprocessing toolchain-funcs

DESCRIPTION="Low-level pixel manipulation routines"
HOMEPAGE="http://www.pixman.org/ https://gitlab.freedesktop.org/pixman/pixman/"
if [[ ${PV} != 9999* ]]; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
SRC_URI="https://www.x.org/releases/individual/lib/${P}.tar.xz"
fi

LICENSE="MIT"
SLOT="0"
IUSE="cpu_flags_ppc_altivec cpu_flags_arm_neon loongson2f cpu_flags_x86_mmxext cpu_flags_x86_sse2 cpu_flags_x86_ssse3 static-libs test"
RESTRICT="!test? ( test )"

pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use test && tc-check-openmp
}

pkg_setup() {
[[ ${MERGE_TYPE} != binary ]] && use test && tc-check-openmp
}

multilib_src_configure() {
local emesonargs=(
$(meson_feature cpu_flags_x86_mmxext mmx)
$(meson_feature cpu_flags_x86_sse2 sse2)
$(meson_feature cpu_flags_x86_ssse3 ssse3)
$(meson_feature cpu_flags_ppc_altivec vmx)
$(meson_feature loongson2f loongson-mmi)
$(meson_feature test openmp) # only used in unit tests
$(meson_feature test tests)
-Ddefault_library=$(usex static-libs both shared)
-Ddemos=disabled
-Dgtk=disabled
-Dlibpng=disabled
)

if [[ ${ABI} == arm64 ]]; then
emesonargs+=($(meson_feature cpu_flags_arm_neon a64-neon))
elif [[ ${ABI} == arm ]]; then
emesonargs+=($(meson_feature cpu_flags_arm_neon neon))
fi

meson_src_configure
}

multilib_src_test() {
export OMP_NUM_THREADS=$(makeopts_jobs)
meson_src_test -t 100
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7
EAPI=8

EGIT_REPO_URI="https://gitlab.freedesktop.org/pixman/pixman.git"

if [[ ${PV} = 9999* ]]; then
GIT_ECLASS="git-r3"
fi

inherit ${GIT_ECLASS} flag-o-matic meson-multilib multiprocessing toolchain-funcs
inherit ${GIT_ECLASS} meson-multilib multiprocessing toolchain-funcs

DESCRIPTION="Low-level pixel manipulation routines"
HOMEPAGE="http://www.pixman.org/ https://gitlab.freedesktop.org/pixman/pixman/"
Expand All @@ -20,7 +20,7 @@ fi

LICENSE="MIT"
SLOT="0"
IUSE="cpu_flags_ppc_altivec cpu_flags_arm_iwmmxt cpu_flags_arm_iwmmxt2 cpu_flags_arm_neon loongson2f cpu_flags_x86_mmxext cpu_flags_x86_sse2 cpu_flags_x86_ssse3 static-libs test"
IUSE="cpu_flags_ppc_altivec cpu_flags_arm_neon loongson2f cpu_flags_x86_mmxext cpu_flags_x86_sse2 cpu_flags_x86_ssse3 static-libs test"
RESTRICT="!test? ( test )"

pkg_pretend() {
Expand All @@ -32,14 +32,7 @@ pkg_setup() {
}

multilib_src_configure() {
if ( use arm || use arm64 ) && tc-is-clang ; then
# See bug #768138 and https://gitlab.freedesktop.org/pixman/pixman/-/issues/46
append-cflags $(test-flags-CC -fno-integrated-as)
fi

local emesonargs=(
$(meson_feature cpu_flags_arm_iwmmxt iwmmxt)
$(meson_use cpu_flags_arm_iwmmxt2 iwmmxt2)
$(meson_feature cpu_flags_x86_mmxext mmx)
$(meson_feature cpu_flags_x86_sse2 sse2)
$(meson_feature cpu_flags_x86_ssse3 ssse3)
Expand Down

0 comments on commit 148cd38

Please sign in to comment.