diff options
author | Fabian Groffen <grobian@gentoo.org> | 2016-01-14 19:17:54 +0100 |
---|---|---|
committer | Fabian Groffen <grobian@gentoo.org> | 2016-01-14 19:18:34 +0100 |
commit | 53aa03a44b9665eac0aaae2b0224a1f9c16e3917 (patch) | |
tree | f2aca96fa438aeab248629c981ee59edfb9302fc /app-portage | |
parent | dev-qt/qtquickcontrols: revision bump to ensure that Qt dependencies are of t... (diff) | |
download | gentoo-53aa03a44b9665eac0aaae2b0224a1f9c16e3917.tar.gz gentoo-53aa03a44b9665eac0aaae2b0224a1f9c16e3917.tar.bz2 gentoo-53aa03a44b9665eac0aaae2b0224a1f9c16e3917.zip |
app-portage/portage-utils: add patch to allow compilation on Solaris
Package-Manager: portage-2.2.20-prefix
Diffstat (limited to 'app-portage')
-rw-r--r-- | app-portage/portage-utils/files/portage-utils-0.60-solaris.patch | 48 | ||||
-rw-r--r-- | app-portage/portage-utils/portage-utils-0.60.ebuild | 1 |
2 files changed, 49 insertions, 0 deletions
diff --git a/app-portage/portage-utils/files/portage-utils-0.60-solaris.patch b/app-portage/portage-utils/files/portage-utils-0.60-solaris.patch new file mode 100644 index 000000000000..c938844e8462 --- /dev/null +++ b/app-portage/portage-utils/files/portage-utils-0.60-solaris.patch @@ -0,0 +1,48 @@ +- remove non-compatible xasprintf wrapper (compared to statement + expression version in libq/xasprintf.c +- work around missing d_type/DT_DIR + +--- qcache.c ++++ qcache.c +@@ -750,13 +750,21 @@ + + xasprintf(&catpath, "%s/dep/%s", portedb, data->overlay); + dir = opendir(catpath); +- while ((de = readdir(dir))) ++ while ((de = readdir(dir))) { ++#ifndef DT_DIR ++ struct stat s; ++ if (stat(de->d_name, &s)) ++ continue; ++ if (S_ISDIR(s.st_mode) && de->d_name[0] != '.') { ++#else + if (de->d_type == DT_DIR && de->d_name[0] != '.') { ++#endif + bool ok; + allcats = add_set_unique(de->d_name, allcats, &ok); + if (ok) + ++numcat; + } ++ } + closedir(dir); + free(catpath); + +--- libq/compat.c ++++ libq/compat.c +@@ -20,16 +20,6 @@ + return(off == NULL ? off : (char*)(big + (off - b))); + } + +-#undef xasprintf +-#define xasprintf(strp, fmt, args...) \ +- do { /* xasprintf() */ \ +- char str[BUFSIZ]; \ +- if ((snprintf(str, sizeof(str)-1, fmt , ## args)) == -1) \ +- err("Out of stack space?"); \ +- str[sizeof(str)-1] = '\0'; \ +- *strp = xstrdup(str); \ +- } while (0) +- + #elif defined(__hpux__) || defined(__MINT__) + /* must not include both dir.h and dirent.h on hpux11..11 & FreeMiNT */ + #elif defined(__linux__) diff --git a/app-portage/portage-utils/portage-utils-0.60.ebuild b/app-portage/portage-utils/portage-utils-0.60.ebuild index 4b100d0e1a38..ae43b8c86118 100644 --- a/app-portage/portage-utils/portage-utils-0.60.ebuild +++ b/app-portage/portage-utils/portage-utils-0.60.ebuild @@ -22,6 +22,7 @@ DEPEND="${RDEPEND} static? ( dev-libs/iniparser:0[static-libs] )" src_prepare() { + epatch "${FILESDIR}"/${P}-solaris.patch epatch_user } |