Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Jan 2025 10:35:39 GMT
From:      Tijl Coosemans <tijl@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 75621bf97962 - main - x11/pixman: Update to 0.44.2
Message-ID:  <202501071035.507AZd70066982@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by tijl:

URL: https://cgit.FreeBSD.org/ports/commit/?id=75621bf97962802a985b4bbab3a763ecbc1b18ee

commit 75621bf97962802a985b4bbab3a763ecbc1b18ee
Author:     Tijl Coosemans <tijl@FreeBSD.org>
AuthorDate: 2024-12-23 18:57:06 +0000
Commit:     Tijl Coosemans <tijl@FreeBSD.org>
CommitDate: 2025-01-07 10:34:47 +0000

    x11/pixman: Update to 0.44.2
    
    - Remove portscout limit.
    - Switch to meson.
    - Always enable SIMD because support is detected at runtime.
    - Drop binutils dependency because LLVM can build it now.
    
    PR:             283530
    Reviewed by:    diizzy
---
 x11/pixman/Makefile                                | 73 +++++++++++++------
 x11/pixman/distinfo                                |  6 +-
 .../files/patch-pixman_pixman-arm-simd-asm.S       | 84 ----------------------
 x11/pixman/files/patch-pixman_pixman-ppc.c         | 27 -------
 x11/pixman/files/patch-test_meson.build            | 13 ++++
 x11/pixman/pkg-descr                               |  3 +-
 x11/pixman/pkg-plist                               |  3 +-
 7 files changed, 71 insertions(+), 138 deletions(-)

diff --git a/x11/pixman/Makefile b/x11/pixman/Makefile
index 226db1a7a695..25bc5725abc3 100644
--- a/x11/pixman/Makefile
+++ b/x11/pixman/Makefile
@@ -1,36 +1,67 @@
 PORTNAME=	pixman
-PORTVERSION=	0.42.2
+DISTVERSION=	0.44.2
 CATEGORIES=	x11
+MASTER_SITES=	https://cairographics.org/releases/
 
 MAINTAINER=	x11@FreeBSD.org
 COMMENT=	Low-level pixel manipulation library
-WWW=		http://pixman.org
+WWW=		https://pixman.org
 
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-PORTSCOUT=	limitw:1,even
+USES=		cpe meson pkgconfig tar:xz
+MESON_ARGS=	-Dloongson-mmi=disabled \
+		-Dgtk=disabled \
+		-Ddemos=disabled
 
-USES=		compiler:c11 cpe perl5 tar:xz xorg-cat:lib
-USE_PERL5=	build
-CONFIGURE_ARGS=	--disable-gtk
-INSTALL_TARGET=	install-strip
+OPTIONS_DEFINE=	TEST
 
-# Build the library exclusively, thus disabling the demos and the tests (which
-# do not get installed anyway).  This is to workaround a problem in powerpc64
-# where the build of the tests crashes ld; see PR bin/202284.
-MAKE_ARGS=	SUBDIRS=pixman
+TEST_LIB_DEPENDS=	libpng.so:graphics/png
+TEST_MESON_ENABLED=	libpng tests
 
-.include <bsd.port.pre.mk>
+.include <bsd.port.options.mk>
 
-.if ${ARCH} == "armv6" || ${ARCH} == "armv7"
-BUILD_DEPENDS+=	${LOCALBASE}/bin/as:devel/binutils
-CONFIGURE_ENV+=	CCASFLAGS="${CFLAGS} -B${LOCALBASE}/bin -no-integrated-as"
-LLD_UNSAFE=	yes
-.elif ${ARCH} == "aarch64"
-CONFIGURE_ARGS+=	--disable-arm-a64-neon
-.elif (defined(MACHINE_CPU) && !${MACHINE_CPU:Maltivec}) || (${ARCH} == powerpc && !defined(MACHINE_CPU))
-CONFIGURE_ARGS+=	--disable-vmx
+.if ${ARCH} == armv6
+MESON_ARGS+=	-Darm-simd=enabled \
+		-Dopenmp=disabled
+.else
+MESON_ARGS+=	-Darm-simd=disabled
+.endif
+.if ${ARCH} == armv7
+MESON_ARGS+=	-Dneon=enabled \
+		-Dopenmp=disabled
+.else
+MESON_ARGS+=	-Dneon=disabled
+.endif
+.if ${ARCH} == aarch64
+MESON_ARGS+=	-Da64-neon=enabled
+.else
+MESON_ARGS+=	-Da64-neon=disabled
+.endif
+.if ${ARCH} == i386 || ${ARCH} == amd64
+MESON_ARGS+=	-Dmmx=enabled \
+		-Dsse2=enabled \
+		-Dssse3=enabled
+.else
+MESON_ARGS+=	-Dmmx=disabled \
+		-Dsse2=disabled \
+		-Dssse3=disabled
+.endif
+.if ${ARCH:Mmips*}
+MESON_ARGS+=	-Dmips-dspr2=enabled
+.else
+MESON_ARGS+=	-Dmips-dspr2=disabled
+.endif
+.if ${ARCH:Mpowerpc*}
+MESON_ARGS+=	-Dvmx=enabled
+.else
+MESON_ARGS+=	-Dvmx=disabled
+.endif
+.if ${ARCH} == riscv64
+MESON_ARGS+=	-Drvv=enabled
+.else
+MESON_ARGS+=	-Drvv=disabled
 .endif
 
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/x11/pixman/distinfo b/x11/pixman/distinfo
index fba0281fc19c..4a392d376f5c 100644
--- a/x11/pixman/distinfo
+++ b/x11/pixman/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1667505454
-SHA256 (xorg/lib/pixman-0.42.2.tar.xz) = 5747d2ec498ad0f1594878cc897ef5eb6c29e91c53b899f7f71b506785fc1376
-SIZE (xorg/lib/pixman-0.42.2.tar.xz) = 652984
+TIMESTAMP = 1734968983
+SHA256 (pixman-0.44.2.tar.xz) = 50baf820dde0c5ff9714d03d2df4970f606a3d3b1024f5404c0398a9821cc4b0
+SIZE (pixman-0.44.2.tar.xz) = 650012
diff --git a/x11/pixman/files/patch-pixman_pixman-arm-simd-asm.S b/x11/pixman/files/patch-pixman_pixman-arm-simd-asm.S
deleted file mode 100644
index be8be516ba3e..000000000000
--- a/x11/pixman/files/patch-pixman_pixman-arm-simd-asm.S
+++ /dev/null
@@ -1,84 +0,0 @@
---- pixman/pixman-arm-simd-asm.S.orig	2024-10-18 09:27:57 UTC
-+++ pixman/pixman-arm-simd-asm.S
-@@ -818,13 +818,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
-@@ -835,21 +835,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
-@@ -1065,9 +1065,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 */
-@@ -1077,13 +1077,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
diff --git a/x11/pixman/files/patch-pixman_pixman-ppc.c b/x11/pixman/files/patch-pixman_pixman-ppc.c
deleted file mode 100644
index 573cb71e822d..000000000000
--- a/x11/pixman/files/patch-pixman_pixman-ppc.c
+++ /dev/null
@@ -1,27 +0,0 @@
---- pixman/pixman-ppc.c.orig	2020-08-29 23:32:58 UTC
-+++ pixman/pixman-ppc.c
-@@ -68,6 +68,24 @@ pixman_have_vmx (void)
-     return have_vmx;
- }
- 
-+#elif defined (__FreeBSD__)
-+#include <machine/cpu.h>
-+#include <sys/auxv.h>
-+
-+static pixman_bool_t
-+pixman_have_vmx (void)
-+{
-+
-+    unsigned long cpufeatures;
-+    int have_vmx;
-+
-+    if (elf_aux_info(AT_HWCAP, &cpufeatures, sizeof(cpufeatures)))
-+        return FALSE;
-+
-+    have_vmx = cpufeatures & PPC_FEATURE_HAS_ALTIVEC;
-+    return have_vmx;
-+}
-+
- #elif defined (__linux__)
- 
- #include <sys/types.h>
diff --git a/x11/pixman/files/patch-test_meson.build b/x11/pixman/files/patch-test_meson.build
new file mode 100644
index 000000000000..b7b3829b3ac7
--- /dev/null
+++ b/x11/pixman/files/patch-test_meson.build
@@ -0,0 +1,13 @@
+--- test/meson.build.orig	2024-12-03 03:51:09 UTC
++++ test/meson.build
+@@ -75,8 +75,8 @@ foreach t : tests
+       [t + '.c', config_h],
+       dependencies : [idep_pixman, libtestutils_dep, dep_threads, dep_openmp, dep_png],
+     ),
+-    timeout : 120,
+-    is_parallel : true,
++    timeout : 600,
++    is_parallel : get_option('openmp').disabled(),
+   )
+ endforeach
+ 
diff --git a/x11/pixman/pkg-descr b/x11/pixman/pkg-descr
index eedad110b605..71157a484e56 100644
--- a/x11/pixman/pkg-descr
+++ b/x11/pixman/pkg-descr
@@ -1 +1,2 @@
-This package contains the pixman library.
+Pixman is a library that provides low-level pixel manipulation
+features such as image compositing and trapezoid rasterization.
diff --git a/x11/pixman/pkg-plist b/x11/pixman/pkg-plist
index 89d6b50037a8..5a7c24902b4b 100644
--- a/x11/pixman/pkg-plist
+++ b/x11/pixman/pkg-plist
@@ -1,7 +1,6 @@
 include/pixman-1/pixman-version.h
 include/pixman-1/pixman.h
-lib/libpixman-1.a
 lib/libpixman-1.so
 lib/libpixman-1.so.0
-lib/libpixman-1.so.0.42.2
+lib/libpixman-1.so.0.44.2
 libdata/pkgconfig/pixman-1.pc



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202501071035.507AZd70066982>