summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-05-09 13:45:53 +0100
committerSam James <sam@gentoo.org>2023-05-09 13:46:05 +0100
commitbb9b11b116b5029003c55716d733a4bc9886ad66 (patch)
tree350e159ed9ca922830f4b4f826ceb0eda42a2ea6 /x11-libs/libpciaccess
parentapp-editors/jedit: Stabilize 5.6.0 ppc64, #905987 (diff)
downloadgentoo-bb9b11b116b5029003c55716d733a4bc9886ad66.tar.gz
gentoo-bb9b11b116b5029003c55716d733a4bc9886ad66.tar.bz2
gentoo-bb9b11b116b5029003c55716d733a4bc9886ad66.zip
x11-libs/libpciaccess: fix build w/ musl-1.2.4
In theory these fixes can be okay without a revbump but it's best to be careful. Closes: https://bugs.gentoo.org/905913 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'x11-libs/libpciaccess')
-rw-r--r--x11-libs/libpciaccess/files/libpciaccess-0.17-musl-lfs.patch40
-rw-r--r--x11-libs/libpciaccess/libpciaccess-0.17-r1.ebuild33
2 files changed, 73 insertions, 0 deletions
diff --git a/x11-libs/libpciaccess/files/libpciaccess-0.17-musl-lfs.patch b/x11-libs/libpciaccess/files/libpciaccess-0.17-musl-lfs.patch
new file mode 100644
index 000000000000..cfd7a1469b25
--- /dev/null
+++ b/x11-libs/libpciaccess/files/libpciaccess-0.17-musl-lfs.patch
@@ -0,0 +1,40 @@
+https://bugs.gentoo.org/905913
+https://gitlab.freedesktop.org/xorg/lib/libpciaccess/-/commit/833c86ce15cee2a84a37ae71015f236fd32615d9
+
+From 833c86ce15cee2a84a37ae71015f236fd32615d9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 11 Nov 2022 11:15:58 -0800
+Subject: [PATCH] linux_sysfs: Use pwrite/pread instead of 64bit versions
+
+pread64/pwrite64 are aliased to pread/pwrite when largefile support is
+enabled e.g. using _FILE_OFFSET_BITS=64 macro
+
+This helps it compile on latest musl C library based systems where these
+functions are put under _LARGEFILE64_SOURCE which is to be removed once
+all packages start using 64bit off_t, it works with glibc becuase
+_GNU_SOURCE feature macro also defines _LARGEFILE64_SOURCE, thats not
+the case with musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/src/linux_sysfs.c
++++ b/src/linux_sysfs.c
+@@ -462,7 +462,7 @@ pci_device_linux_sysfs_read( struct pci_device * dev, void * data,
+
+
+ while ( temp_size > 0 ) {
+- const ssize_t bytes = pread64( fd, data_bytes, temp_size, offset );
++ const ssize_t bytes = pread( fd, data_bytes, temp_size, offset );
+
+ /* If zero bytes were read, then we assume it's the end of the
+ * config file.
+@@ -522,7 +522,7 @@ pci_device_linux_sysfs_write( struct pci_device * dev, const void * data,
+
+
+ while ( temp_size > 0 ) {
+- const ssize_t bytes = pwrite64( fd, data_bytes, temp_size, offset );
++ const ssize_t bytes = pwrite( fd, data_bytes, temp_size, offset );
+
+ /* If zero bytes were written, then we assume it's the end of the
+ * config file.
+--
+GitLab
diff --git a/x11-libs/libpciaccess/libpciaccess-0.17-r1.ebuild b/x11-libs/libpciaccess/libpciaccess-0.17-r1.ebuild
new file mode 100644
index 000000000000..7191e10bbbb0
--- /dev/null
+++ b/x11-libs/libpciaccess/libpciaccess-0.17-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+XORG_MULTILIB=yes
+XORG_TARBALL_SUFFIX="xz"
+inherit xorg-3 meson-multilib
+
+DESCRIPTION="Library providing generic access to the PCI bus and devices"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="zlib"
+
+DEPEND="
+ zlib? ( >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] )"
+RDEPEND="${DEPEND}
+ sys-apps/hwdata"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-musl-lfs.patch
+)
+
+src_prepare() {
+ default
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Dpci-ids="${EPREFIX}"/usr/share/hwdata
+ $(meson_feature zlib)
+ )
+ meson_src_configure
+}