diff --git a/sys-apps/fakeroot/fakeroot-1.32.2.ebuild b/sys-apps/fakeroot/fakeroot-1.32.2.ebuild index be16c401db927..50433f19d9abc 100644 --- a/sys-apps/fakeroot/fakeroot-1.32.2.ebuild +++ b/sys-apps/fakeroot/fakeroot-1.32.2.ebuild @@ -25,6 +25,11 @@ BDEPEND="nls? ( app-text/po4a )" DOCS=( AUTHORS BUGS DEBUG README doc/README.saving ) +PATCHES=( + "${FILESDIR}/${PN}-1.32.2-musl.patch" + "${FILESDIR}/${PN}-1.32.2-configure-id_t.patch" +) + src_prepare() { default diff --git a/sys-apps/fakeroot/fakeroot-1.33.ebuild b/sys-apps/fakeroot/fakeroot-1.33.ebuild index be16c401db927..2edd7bf26b41d 100644 --- a/sys-apps/fakeroot/fakeroot-1.33.ebuild +++ b/sys-apps/fakeroot/fakeroot-1.33.ebuild @@ -25,6 +25,11 @@ BDEPEND="nls? ( app-text/po4a )" DOCS=( AUTHORS BUGS DEBUG README doc/README.saving ) +PATCHES=( + "${FILESDIR}/${PN}-1.32.2-musl.patch" + "${FILESDIR}/${PN}-1.32.2-configure-id_t.patch" # merged upstream 1.35.1 +) + src_prepare() { default diff --git a/sys-apps/fakeroot/files/fakeroot-1.32.2-configure-id_t.patch b/sys-apps/fakeroot/files/fakeroot-1.32.2-configure-id_t.patch new file mode 100644 index 0000000000000..d6fc07e2c8db4 --- /dev/null +++ b/sys-apps/fakeroot/files/fakeroot-1.32.2-configure-id_t.patch @@ -0,0 +1,35 @@ +https://salsa.debian.org/clint/fakeroot/-/commit/819063eb4d2781ddea0647117ad6ab4d502dd39d +From: Clint Adams +Date: Thu, 6 Jun 2024 09:16:52 -0400 +Subject: [PATCH] test for id_t with autoconf instead of blind typedef, fixes + FTBFS on FreeBSD + +--- a/configure.ac ++++ b/configure.ac +@@ -111,6 +111,7 @@ AC_C_CONST + AC_CHECK_TYPE(mode_t, int) + AC_CHECK_TYPE(off_t, long) + AC_CHECK_TYPE(size_t, unsigned) ++AC_CHECK_TYPE(id_t, int) + + AH_TEMPLATE([FAKEROOT_ATTR], [for packed]) + if test -n "$GCC"; +--- a/libfakeroot.c ++++ b/libfakeroot.c +@@ -139,13 +139,6 @@ + #define INT_SEND_STAT(a,b) SEND_STAT(a,b,_STAT_VER) + #define INT_SEND_GET_XATTR(a,b) SEND_GET_XATTR(a,b,_STAT_VER) + #define INT_SEND_GET_STAT(a,b) SEND_GET_STAT(a,b) +- +-/* 10.10 uses id_t in getpriority/setpriority calls, so pretend +- id_t is used everywhere, just happens to be int on some OSes */ +-#ifndef _ID_T +-#define _ID_T +-typedef int id_t; +-#endif + #endif + + #include +-- +GitLab + diff --git a/sys-apps/fakeroot/files/fakeroot-1.32.2-musl.patch b/sys-apps/fakeroot/files/fakeroot-1.32.2-musl.patch new file mode 100644 index 0000000000000..1f238d7fa50d8 --- /dev/null +++ b/sys-apps/fakeroot/files/fakeroot-1.32.2-musl.patch @@ -0,0 +1,68 @@ +https://github.com/void-linux/void-packages/tree/master/srcpkgs/fakeroot/patches +--- a/faked.c ++++ b/faked.c +@@ -121,6 +121,7 @@ + #include + #include + #include ++#include + #ifdef HAVE_STDINT_H + # include + #endif +@@ -514,11 +514,11 @@ + + #ifdef FAKEROOT_DB_PATH + if (find_path(i->buf.dev, i->buf.ino, roots, path)) +- fprintf(f,"mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu %s\n", ++ fprintf(f,"mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64" %s\n", + (uint64_t) i->buf.mode,(uint64_t) i->buf.uid,(uint64_t) i->buf.gid, + (uint64_t) i->buf.nlink,(uint64_t) i->buf.rdev,path); + #else +- fprintf(f,"dev=%llx,ino=%llu,mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu\n", ++ fprintf(f,"dev=%"PRIx64",ino=%"PRIu64",mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64"\n", + (uint64_t) i->buf.dev,(uint64_t) i->buf.ino,(uint64_t) i->buf.mode, + (uint64_t) i->buf.uid,(uint64_t) i->buf.gid,(uint64_t) i->buf.nlink, + (uint64_t) i->buf.rdev); +@@ -544,7 +544,7 @@ + + while(1){ + #ifdef FAKEROOT_DB_PATH +- r=scanf("mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu "DB_PATH_SCAN"\n", ++ r=scanf("mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64" "DB_PATH_SCAN"\n", + &stmode, &stuid, &stgid, &stnlink, &strdev, &path); + if (r != 6) + break; +@@ -559,7 +559,7 @@ + stdev = path_st.st_dev; + stino = path_st.st_ino; + #else +- r=scanf("dev=%llx,ino=%llu,mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu\n", ++ r=scanf("dev=%"PRIx64",ino=%"PRIu64",mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64"\n", + &stdev, &stino, &stmode, &stuid, &stgid, &stnlink, &strdev); + if (r != 7) + break; +@@ -687,7 +688,7 @@ int load_database(const uint32_t remote) + /* */ + /*********************************/ + void debug_stat(const struct fakestat *st){ +- fprintf(stderr,"dev:ino=(%llx:%lli), mode=0%lo, own=(%li,%li), nlink=%li, rdev=%lli\n", ++ fprintf(stderr,"dev:ino=(%"PRIx64":%"PRIu64"), mode=0%lo, own=(%li,%li), nlink=%li, rdev=%"PRIu64"\n", + st->dev, + st->ino, + (long)st->mode, +--- a/libfakeroot.c ++++ b/libfakeroot.c +@@ -81,12 +81,14 @@ + #define SEND_STAT64(a,b,c) send_stat64(a,b,c) + #define SEND_GET_STAT(a,b) send_get_stat(a,b) + #define SEND_GET_STAT64(a,b) send_get_stat64(a,b) ++#define SEND_GET_XATTR(a,b,c) send_get_xattr(a,b,c) + #define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b,c) + #else + #define SEND_STAT(a,b,c) send_stat(a,b) + #define SEND_STAT64(a,b,c) send_stat64(a,b) + #define SEND_GET_STAT(a,b) send_get_stat(a) + #define SEND_GET_STAT64(a,b) send_get_stat64(a) ++#define SEND_GET_XATTR(a,b,c) send_get_xattr(a,b) + #define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b) + #endif