diff options
author | Ian Jordan <immoloism@gmail.com> | 2024-06-16 11:46:09 +0100 |
---|---|---|
committer | Miroslav Šulc <fordfrog@gentoo.org> | 2024-06-28 11:07:44 +0200 |
commit | 83f41b5d07068d1910d20d3554740971109419d8 (patch) | |
tree | 24163c33d7f6d33a7bc5a781913d30535c91d0ca /dev-libs | |
parent | media-libs/libprojectm: added missing dep to :4 (diff) | |
download | gentoo-83f41b5d07068d1910d20d3554740971109419d8.tar.gz gentoo-83f41b5d07068d1910d20d3554740971109419d8.tar.bz2 gentoo-83f41b5d07068d1910d20d3554740971109419d8.zip |
dev-libs/libcdio: ModernC fixes
Lack of contact from upstream so adding Parona's patch locally as tested as working
fine.
Closes: https://bugs.gentoo.org/918988
Thanks-to: Alfred Wingate <parona@protonmail.com>
Signed-off-by: Ian Jordan <immoloism@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/37184
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/libcdio/files/libcdio-2.1.0-no-lfs-shims.patch | 75 | ||||
-rw-r--r-- | dev-libs/libcdio/libcdio-2.1.0-r2.ebuild (renamed from dev-libs/libcdio/libcdio-2.1.0-r1.ebuild) | 1 |
2 files changed, 76 insertions, 0 deletions
diff --git a/dev-libs/libcdio/files/libcdio-2.1.0-no-lfs-shims.patch b/dev-libs/libcdio/files/libcdio-2.1.0-no-lfs-shims.patch new file mode 100644 index 000000000000..473c54d9b1ee --- /dev/null +++ b/dev-libs/libcdio/files/libcdio-2.1.0-no-lfs-shims.patch @@ -0,0 +1,75 @@ +From https://bugs.gentoo.org/918988 +From: Alfred Wingate <parona@protonmail.com> +Date: Mon, 20 May 2024 22:02:08 +0300 +Subject: [PATCH] Do not use LFS shims, rely on _FILE_OFFSET_BITS=64 + +See https://savannah.gnu.org/bugs/?65751 and https://bugs.gentoo.org/918988 + +Setting _FILE_OFFSET_BITS=64 is enough to get the LFS interface, +using LFS shims is unnecessary on 64-bit systems and they may +not be available on 32-bit systems on glibc. + +Signed-off-by: Alfred Wingate <parona@protonmail.com> +--- a/configure.ac ++++ b/configure.ac +@@ -547,10 +547,10 @@ AC_DEFINE_UNQUOTED(LIBCDIO_SOURCE_PATH, "$LIBCDIO_SOURCE_PATH", + [Full path to libcdio top_sourcedir.]) + AC_SUBST(LIBCDIO_SOURCE_PATH) + +-AC_CHECK_FUNCS( [chdir drand48 fseeko fseeko64 ftruncate geteuid getgid \ +- getuid getpwuid gettimeofday lseek64 lstat memcpy memset mkstemp rand \ +- seteuid setegid snprintf setenv strndup unsetenv tzset sleep \ +- _stati64 usleep vsnprintf readlink realpath gmtime_r localtime_r] ) ++AC_CHECK_FUNCS( [chdir drand48 fseeko ftruncate geteuid getgid getuid \ ++ getpwuid gettimeofday lstat memcpy memset mkstemp rand seteuid \ ++ setegid snprintf setenv strndup unsetenv tzset sleep _stati64 \ ++ usleep vsnprintf readlink realpath gmtime_r localtime_r] ) + + # check for timegm() support + AC_CHECK_FUNC(timegm, AC_DEFINE(HAVE_TIMEGM,1, +--- a/lib/driver/_cdio_generic.c ++++ b/lib/driver/_cdio_generic.c +@@ -55,16 +55,6 @@ + #define PATH_MAX 4096 + #endif + +-/* If available and LFS is enabled, try to use lseek64 */ +-#if defined(HAVE_LSEEK64) && defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64) +-#if defined(_MSC_VER) +-#include <io.h> +-#endif +-#define CDIO_LSEEK lseek64 +-#else +-#define CDIO_LSEEK lseek +-#endif +- + /*! + Eject media -- there's nothing to do here. We always return -2. + Should we also free resources? +@@ -170,7 +160,7 @@ off_t + cdio_generic_lseek (void *user_data, off_t offset, int whence) + { + generic_img_private_t *p_env = user_data; +- return CDIO_LSEEK(p_env->fd, offset, whence); ++ return lseek(p_env->fd, offset, whence); + } + + /*! +--- a/lib/driver/_cdio_stdio.c ++++ b/lib/driver/_cdio_stdio.c +@@ -47,11 +47,7 @@ + #include "_cdio_stdio.h" + #include "cdio_assert.h" + +-/* On 32 bit platforms, fseek can only access streams of 2 GB or less. +- Prefer fseeko/fseeko64, that take a 64 bit offset when LFS is enabled */ +-#if defined(HAVE_FSEEKO64) && defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64) +-#define CDIO_FSEEK fseeko64 +-#elif defined(HAVE_FSEEKO) ++#if defined(HAVE_FSEEKO) + #define CDIO_FSEEK fseeko + #else + #define CDIO_FSEEK fseek +-- +2.45.1 + diff --git a/dev-libs/libcdio/libcdio-2.1.0-r1.ebuild b/dev-libs/libcdio/libcdio-2.1.0-r2.ebuild index 6f2f17a4791e..d3965c51ccec 100644 --- a/dev-libs/libcdio/libcdio-2.1.0-r1.ebuild +++ b/dev-libs/libcdio/libcdio-2.1.0-r2.ebuild @@ -39,6 +39,7 @@ MULTILIB_WRAPPED_HEADERS=( PATCHES=( "${FILESDIR}/${PN}-2.1.0-ncurses_pkgconfig.patch" "${FILESDIR}/${P}-realpath-test-fix.patch" + "${FILESDIR}/${P}-no-lfs-shims.patch" ) src_prepare() { |