From 81b8f20732954c4508baf2f77472b5435e3f851f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 14 Sep 2022 11:10:11 +0100 Subject: gentoo auto-resync : 14:09:2022 - 11:10:10 --- app-shells/zsh/Manifest | 2 + .../zsh/files/zsh-5.9-clang-15-configure.patch | 549 +++++++++++++++++++++ app-shells/zsh/zsh-5.9-r1.ebuild | 235 +++++++++ 3 files changed, 786 insertions(+) create mode 100644 app-shells/zsh/files/zsh-5.9-clang-15-configure.patch create mode 100644 app-shells/zsh/zsh-5.9-r1.ebuild (limited to 'app-shells/zsh') diff --git a/app-shells/zsh/Manifest b/app-shells/zsh/Manifest index 3c6a25818a04..d4fd5ac47997 100644 --- a/app-shells/zsh/Manifest +++ b/app-shells/zsh/Manifest @@ -3,12 +3,14 @@ AUX zprofile-4 1314 BLAKE2B 8373d9f68613d5d44121c46a02dd7a5c988f4a3d948aa6bf96a9 AUX zsh-5.3-init.d-gentoo.diff 1048 BLAKE2B 295e391679ef876a7bdaeaf6dc4b1b3a342c40f092f8cbeba137ee5ea6d26e16f988fc92f105bfcec739bc2aeca62195839b80dee337de8bfdfb5ff00a34fa22 SHA512 9f059cf4b99b7006955ab0ac43d4a4b4d762d193da9a738f771c562f2c3af3a9125694da59c584a3ff829598443e5429c873319ecd8fae2feba7096b597798dd AUX zsh-5.8.1-non_interactive_shell_regression_fix.patch 2277 BLAKE2B a670417a23ef05b616e32903f9ee26c746d98b5b927afad28b70b0c19a8f3841550d1a4476259cfffb848a4e2898bb8dcb6e5f00308dc2741f01ebb18d24cc7c SHA512 bb0f210d2759a9fef6971e654e44e813fcac69f4d430966295ad1da481d2d33584784c955a1a030407d23889c9ef2a33d7cc571beb0b6a8046832681bb43edb2 AUX zsh-5.8.1-performance_regression_fix.patch 3900 BLAKE2B 3f6957468ac008970e3832bb4c3b06b7ace80c6fcdcda4e37a5728bbda643ef56996af8bdec36efc953b337d89fe8e6a6c2e060c1ab7793251454fad487cadce SHA512 98e19d5693571b3b492688cac2aa12b6b4e3e71b1d47613fb9a5334cc88758a8f88175cb9c3264f105159047085f3121d6032cd4468febfeff04ec523cbff145 +AUX zsh-5.9-clang-15-configure.patch 16540 BLAKE2B cc111a64061610845bcb370f3aa5f18b476e563dd9ef7770e6102149f05fb3b809ecb75429957e7d3435bd64e5f2cba8eb3f83735a4f69868965507059780960 SHA512 de1c69924b35424ef533e22a2e2d9db3e93a3fd2dad60b078091e413b8e72f4b55c54ee7ec7bee0a6a596a59a223f0a5bff019bf26f2f6cb4ed75a2f78737d6c AUX zsh-5.9-musl-V09datetime-test-fix.patch 641 BLAKE2B 693f3caf1e98ba971d776f1afc40570eb9fedb95b0be9f676cc7aae0e4a2c60af1c95d90b7e675be5de5498d1b2e8af6e3bfb3410e3f4e81d3b6eabc0159fa01 SHA512 1a11e774b85b68065e49a3a9407f46c3fde1432ce5192a696aea66f5a6beb9a2430e71233d1c29b75f87ac0ba27173b450b8bc867f684eccd28db03b7dc71a09 DIST zsh-5.8.1-doc.tar.xz 3088728 BLAKE2B c7f62f50a8fce483d2946ac550fa0996e5749a9040cf9424a61d591024292a2f1eb0fc2401824104c6ef0fff2a4b38e07269a0069cde1b0bff6e8a7b09daf160 SHA512 0d8ca4c54c10e8a471ba7d53f1371ee057f7df4b710fc01194833f29a61b5465133432b891b0b891b6cc5235a928a783bf99f39c67314e29e3d161ca5abf3219 DIST zsh-5.8.1.tar.xz 3200540 BLAKE2B 19981d0cc208fb590af8e034bde66bda36a4a20abe76ff71ba9222d7150b7d53573e1f5b81ddb2cdd29f6aa0611071a35d8b48250e6bd4b196f0428b776c4af8 SHA512 f54a5a47ed15d134902613f6169c985680afc45a67538505e11b66b348fcb367145e9b8ae2d9eac185e07ef5f97254b85df01ba97294002a8c036fd02ed5e76d DIST zsh-5.9-doc.tar.xz 3130444 BLAKE2B 96b635b438f8a90bc1f3c15c8a287ab392ba830e975e49b7f1c09d12de44c250dcf33d1d6dc93b58693839af2e57eb5c9d4e874ca08dd82fe876cb5ca26e6508 SHA512 5cc6abcdcfb4f5ad7bc4a31364ca49dfd87ae03e0082d89cc2ba1f00570f6757266ee60894ad31b562408de91494c22f177b414b03cb78c31d92328686be9860 DIST zsh-5.9.tar.xz 3332400 BLAKE2B 3ecd6d080ff47b78d228d9bf5c1bafd3dfc602beb681ec533ce1039041d0e93143ebd7e0e73a9aed0789e27ca42d58a55f3b6e2c7d89113ab3ee99112dec46d1 SHA512 d9138b7f379ad942a5f46819d2dd52d31f3a1129f2a0d1b53d4c5cd43c318b60396da6d37c57c477b8e958fb750209aca0ae93f8c9dd42ac958de006a0ff067e EBUILD zsh-5.8.1-r2.ebuild 6104 BLAKE2B 8b6f3bea5b870cb2f4a828d06dd18bd699560bdc43637260227acc1cf33f08e4e7b21144733d8a21b1d409afa1e13612d1261112b0d073a047924b89cdf39903 SHA512 3eb4418d9ea0df316a0e3684911f0811802bafd7e2ff4b2c74e67e3dc26184c42552b1f02560591f751c891df346d1b27f29d903311d6c946dfdfdd7ebbff44c +EBUILD zsh-5.9-r1.ebuild 6477 BLAKE2B e5056ec62f5aa5a9ee2e53f02e68cd91a6080dbca1d8a96bc52b7f3dc18f5e9804017390c443d74324b898a19a57671022efef5f3234f96e0fec81ae6f3979f7 SHA512 d62f608777b9831da8d227eecd822b6510d2d67f3970e95fc428245e9668e1bf8787e4cd385b7ab45d3add9a36d3b21d1cd8f98404dc204898a6f6dca68b428b EBUILD zsh-5.9.ebuild 6411 BLAKE2B 2b663f18398b1edd6d137f2a92fb66ca724013ab7308d3731f1f01c3c9e888322b4eecc98a61019692f6c3a34c961a1a363c4dbf21aa5c0e81368a7e146ff534 SHA512 abafb4b8a5e1db246670633784fccf10a185cf24e89899cf8ed417fc8c24748670b2f4b656748be68784323d053df2fbae6740e6ad848bccac12ec30fe0a90b9 EBUILD zsh-9999.ebuild 5953 BLAKE2B f84a93496f80f43ad36ad44c2dcdd7cec5fa2322bfea9852506bda89b9f5122093ce267e972e9b02b9d742b73f27332e4dec693fdb7af789c8c174b5a0fc5010 SHA512 f04cad9744f1702f44d86321b898f7fb0344895b59dc1478e6702a078ef7b4c1246e5a12fd245e16355ed66ef9ad48b3303261c75d22e107c710a445e151d8bc MISC metadata.xml 657 BLAKE2B 47e7fd953c64cbcd20850420719e02bbb7f9cb01cb772a02493b270630d1fc3bbbc5f8424c965d411a7c357b49de74ce15f78489c0d4097827647f589f7e462a SHA512 b4da7f405b95feb74f9f96100dfc4e68202c36a9146cbf055b09a4d3bd5e6b2ab60bf0711a95b52d78cd88081f1947af333107b6ada3bd5c0097b3c55b17b69b diff --git a/app-shells/zsh/files/zsh-5.9-clang-15-configure.patch b/app-shells/zsh/files/zsh-5.9-clang-15-configure.patch new file mode 100644 index 000000000000..8a77e365c700 --- /dev/null +++ b/app-shells/zsh/files/zsh-5.9-clang-15-configure.patch @@ -0,0 +1,549 @@ +https://bugs.gentoo.org/869539 +--- a/configure.ac ++++ b/configure.ac +@@ -583,11 +583,11 @@ if test x$zsh_cv_c_have_union_init = xye + fi + + dnl Checking if compiler correctly cast signed to unsigned. + AC_CACHE_CHECK(if signed to unsigned casting is broken, + zsh_cv_c_broken_signed_to_unsigned_casting, +-[AC_RUN_IFELSE([AC_LANG_SOURCE([[main(){return((int)(unsigned char)((char) -1) == 255);}]])],[zsh_cv_c_broken_signed_to_unsigned_casting=yes],[zsh_cv_c_broken_signed_to_unsigned_casting=no],[zsh_cv_c_broken_signed_to_unsigned_casting=no])]) ++[AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(){return((int)(unsigned char)((char) -1) == 255);}]])],[zsh_cv_c_broken_signed_to_unsigned_casting=yes],[zsh_cv_c_broken_signed_to_unsigned_casting=no],[zsh_cv_c_broken_signed_to_unsigned_casting=no])]) + AH_TEMPLATE([BROKEN_SIGNED_TO_UNSIGNED_CASTING], + [Define to 1 if compiler incorrectly cast signed to unsigned.]) + if test x$zsh_cv_c_broken_signed_to_unsigned_casting = xyes; then + AC_DEFINE(BROKEN_SIGNED_TO_UNSIGNED_CASTING) + fi +@@ -1044,21 +1044,21 @@ if test x$zsh_cv_long_is_64_bit = xyes; + else + AC_CACHE_CHECK(if off_t is 64 bit, zsh_cv_off_t_is_64_bit, + [AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include + +-main() { return sizeof(off_t) < 8; } ++int main() { return sizeof(off_t) < 8; } + ]])],[zsh_cv_off_t_is_64_bit=yes],[zsh_cv_off_t_is_64_bit=no],[zsh_cv_off_t_is_64_bit=no])]) + if test x$zsh_cv_off_t_is_64_bit = xyes; then + AC_DEFINE(OFF_T_IS_64_BIT) + fi + + AC_CACHE_CHECK(if ino_t is 64 bit, zsh_cv_ino_t_is_64_bit, + [AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include + +-main() { return sizeof(ino_t) < 8; } ++int main() { return sizeof(ino_t) < 8; } + ]])],[zsh_cv_ino_t_is_64_bit=yes],[zsh_cv_ino_t_is_64_bit=no],[zsh_cv_ino_t_is_64_bit=no])]) + if test x$zsh_cv_ino_t_is_64_bit = xyes; then + AC_DEFINE(INO_T_IS_64_BIT) + fi + +@@ -1394,22 +1394,22 @@ zsh_cv_func_tgetent_accepts_null, + [AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include + #include + int tgetent(char *, char *); + char *tgetstr(char *, char **); +-main() ++int main() + { + char buf[4096]; + int r1 = tgetent(buf, "vt100"); + int r2 = tgetent((char*)0,"vt100"); + if (r1 >= 0 && r1 == r2) { + char tbuf[1024], *u; + u = tbuf; + tgetstr("cl", &u); + creat("conftest.tgetent", 0640); + } +- exit((r1 != r2) || r2 == -1); ++ return((r1 != r2) || r2 == -1); + } + ]])],[if test -f conftest.tgetent; then + zsh_cv_func_tgetent_accepts_null=yes + else + zsh_cv_func_tgetent_accepts_null=no +@@ -1422,22 +1422,22 @@ zsh_cv_func_tgetent_zero_success, + [AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include + #include + int tgetent(char *, char*); + char *tgetstr(char *, char **); +-main() ++int main() + { + char buf[4096]; + int r1 = tgetent(buf, "!@#$%^&*"); + int r2 = tgetent(buf, "vt100"); + if (r1 < 0 && r2 == 0) { + char tbuf[1024], *u; + u = tbuf; + tgetstr("cl", &u); + creat("conftest.tgetent0", 0640); + } +- exit(r1 == r2); ++ return(r1 == r2); + } + ]])],[if test -f conftest.tgetent0; then + zsh_cv_func_tgetent_zero_success=yes + else + zsh_cv_func_tgetent_zero_success=no +@@ -1860,27 +1860,27 @@ zsh_cv_rlim_t_is_longer, + #ifdef HAVE_SYS_TIME_H + #include + #endif + #include + #include +-main(){struct rlimit r;exit(sizeof(r.rlim_cur) <= sizeof(long));}]])],[zsh_cv_rlim_t_is_longer=yes],[zsh_cv_rlim_t_is_longer=no],[zsh_cv_rlim_t_is_longer=yes])]) ++int main(){struct rlimit r;return(sizeof(r.rlim_cur) <= sizeof(long));}]])],[zsh_cv_rlim_t_is_longer=yes],[zsh_cv_rlim_t_is_longer=no],[zsh_cv_rlim_t_is_longer=yes])]) + if test x$zsh_cv_rlim_t_is_longer = xyes; then + AC_CACHE_CHECK(if rlim_t is a quad, + zsh_cv_rlim_t_is_quad_t, + [AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #ifdef HAVE_SYS_TIME_H + #include + #endif + #include + #include + #include +-main() { ++int main() { + struct rlimit r; + char buf[20]; + r.rlim_cur = 0; + sprintf(buf, "%qd", r.rlim_cur); +- exit(strcmp(buf, "0")); ++ return(strcmp(buf, "0")); + }]])],[zsh_cv_rlim_t_is_quad_t=yes],[zsh_cv_rlim_t_is_quad_t=no],[zsh_cv_rlim_t_is_quad_t=no])]) + if test x$zsh_cv_rlim_t_is_quad_t = xyes; then + AC_DEFINE(RLIM_T_IS_QUAD_T) + DEFAULT_RLIM_T=quad_t + else +@@ -1894,11 +1894,11 @@ else + #ifdef HAVE_SYS_TIME_H + #include + #endif + #include + #include +- main(){struct rlimit r;r.rlim_cur=-1;exit(r.rlim_cur<0);}]])],[zsh_cv_type_rlim_t_is_unsigned=yes],[zsh_cv_type_rlim_t_is_unsigned=no],[zsh_cv_type_rlim_t_is_unsigned=no])]) ++ int main(){struct rlimit r;r.rlim_cur=-1;return(r.rlim_cur<0);}]])],[zsh_cv_type_rlim_t_is_unsigned=yes],[zsh_cv_type_rlim_t_is_unsigned=no],[zsh_cv_type_rlim_t_is_unsigned=no])]) + if test x$zsh_cv_type_rlim_t_is_unsigned = xyes; then + AC_DEFINE(RLIM_T_IS_UNSIGNED) + DEFAULT_RLIM_T="unsigned $DEFAULT_RLIM_T" + fi + fi +@@ -2175,11 +2175,11 @@ zsh_cv_sys_fifo, + #include + #include + #include + #include + #include +-main() ++int main() + { + char c; + int fd; + int pid, ret; + unlink("/tmp/fifo$$"); +@@ -2189,19 +2189,19 @@ main() + if(mknod("/tmp/fifo$$", 0010600, 0) < 0) + #endif + exit(1); + pid = fork(); + if(pid < 0) +- exit(1); ++ return(1); + if(pid) { + fd = open("/tmp/fifo$$", O_RDONLY); +- exit(fd < 0 || read(fd, &c, 1) != 1 || c != 'x'); ++ return(fd < 0 || read(fd, &c, 1) != 1 || c != 'x'); + } + fd = open("/tmp/fifo$$", O_WRONLY); + ret = (fd < 0 || write(fd, "x", 1) < 1); + unlink("/tmp/fifo$$"); +- exit(ret); ++ return(ret); + } + ]])],[zsh_cv_sys_fifo=yes],[zsh_cv_sys_fifo=no],[zsh_cv_sys_fifo=yes]) + ]) + AH_TEMPLATE([HAVE_FIFOS], + [Define to 1 if system has working FIFOs.]) +@@ -2276,24 +2276,24 @@ AC_CACHE_CHECK(if link() works, + zsh_cv_sys_link, + [AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include + #include + #include +-main() ++int main() + { + int ret; + char *tmpfile, *newfile; + tmpfile="/tmp/zsh.linktest$$"; + newfile="/tmp/zsh.linktest2$$"; + unlink(tmpfile); + unlink(newfile); + if(creat(tmpfile, 0644) < 0) +- exit(1); ++ return(1); + ret = link(tmpfile, newfile); + unlink(tmpfile); + unlink(newfile); +- exit(ret<0); ++ return(ret<0); + } + ]])],[zsh_cv_sys_link=yes],[zsh_cv_sys_link=no],[zsh_cv_sys_link=yes])]) + AH_TEMPLATE([HAVE_LINK], + [Define to 1 if system has working link().]) + if test x$zsh_cv_sys_link = xyes; then +@@ -2309,15 +2309,15 @@ zsh_cv_sys_killesrch, + [AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include + #include + #include + #include +-main() ++int main() + { + int pid = (getpid() + 10000) & 0xffffff; + while (pid && (kill(pid, 0) == 0 || errno != ESRCH)) pid >>= 1; +- exit(errno!=ESRCH); ++ return(errno!=ESRCH); + } + ]])],[zsh_cv_sys_killesrch=yes],[zsh_cv_sys_killesrch=no],[zsh_cv_sys_killesrch=yes])]) + AH_TEMPLATE([BROKEN_KILL_ESRCH], + [Define to 1 if kill(pid, 0) doesn't return ESRCH, ie BeOS R4.51.]) + if test x$zsh_cv_sys_killesrch = xno; then +@@ -2339,11 +2339,11 @@ if test x$signals_style = xPOSIX_SIGNALS + #include + int child=0; + void handler(sig) + int sig; + {if(sig==SIGCHLD) child=1;} +-main() { ++int main() { + struct sigaction act; + sigset_t set; + int pid, ret; + act.sa_handler = &handler; + sigfillset(&act.sa_mask); +@@ -2354,11 +2354,11 @@ main() { + pid=fork(); + if(pid==0) return 0; + if(pid>0) { + sigemptyset(&set); + ret=sigsuspend(&set); +- exit(child==0); ++ return(child==0); + } + } + ]])],[zsh_cv_sys_sigsuspend=yes],[zsh_cv_sys_sigsuspend=no],[zsh_cv_sys_sigsuspend=yes])]) + if test x$zsh_cv_sys_sigsuspend = xno; then + AC_DEFINE(BROKEN_POSIX_SIGSUSPEND) +@@ -2387,18 +2387,18 @@ case "x$zsh_working_tcsetpgrp" in + [AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include + #include + #include + #include +-main() { ++int main() { + int fd; + int ret; + fd=open("/dev/tty", O_RDWR); + if (fd < 0) exit(2); + ret=tcsetpgrp(fd, tcgetpgrp(fd)); + if (ret < 0) exit(1); +- exit(0); ++ return(0); + } + ]])],[zsh_cv_sys_tcsetpgrp=yes],[ + case $? in + 1) zsh_cv_sys_tcsetpgrp=no;; + 2) zsh_cv_sys_tcsetpgrp=notty;; +@@ -2434,19 +2434,19 @@ if test x$ac_cv_func_getpwnam = xyes; th + #include + #include + #include + #include + #include +-main() { ++int main() { + struct passwd *pw1, *pw2; + char buf[1024], name[1024]; + sprintf(buf, "%d:%d", getpid(), rand()); + pw1=getpwnam(buf); + if (pw1) strcpy(name, pw1->pw_name); + sprintf(buf, "%d:%d", rand(), getpid()); + pw2=getpwnam(buf); +- exit(pw1!=0 && pw2!=0 && !strcmp(name, pw2->pw_name)); ++ return(pw1!=0 && pw2!=0 && !strcmp(name, pw2->pw_name)); + } + ]])],[zsh_cv_sys_getpwnam_faked=no],[zsh_cv_sys_getpwnam_faked=yes],[zsh_cv_sys_getpwnam_faked=no])]) + if test x$zsh_cv_sys_getpwnam_faked = xyes; then + AC_DEFINE(GETPWNAM_FAKED) + fi +@@ -2763,22 +2763,20 @@ elif test "x$dynamic" = xyes; then + zsh_cv_sys_elf, + [AC_RUN_IFELSE([AC_LANG_SOURCE([[/* Test for whether ELF binaries are produced */ + #include + #include + #include +-main(argc, argv) +-int argc; +-char *argv[]; ++int main(int argc, char *argv[]) + { + char b[4]; + int i = open(argv[0],O_RDONLY); + if(i == -1) + exit(1); /* fail */ + if(read(i,b,4)==4 && b[0]==127 && b[1]=='E' && b[2]=='L' && b[3]=='F') +- exit(0); /* succeed (yes, it's ELF) */ ++ return(0); /* succeed (yes, it's ELF) */ + else +- exit(1); /* fail */ ++ return(1); /* fail */ + }]])],[zsh_cv_sys_elf=yes],[zsh_cv_sys_elf=no],[zsh_cv_sys_elf=yes])]) + + # We use [0-9]* in case statements, so need to change quoting + changequote(, ) + +@@ -2908,11 +2908,11 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ + EXTRA_LDFLAGS="${EXTRA_LDFLAGS=-rdynamic}"],[zsh_cvs_rdynamic_available=no]) + LDFLAGS="$old_LDFLAGS") + AC_CACHE_CHECK(if your dlsym() needs a leading underscore, + zsh_cv_func_dlsym_needs_underscore, + [echo failed >conftestval && cat >conftest.c <&AS_MESSAGE_LOG_FD) && + AC_TRY_COMMAND($DLLD $LDFLAGS $DLLDFLAGS -o conftest.$DL_EXT conftest.o 1>&AS_MESSAGE_LOG_FD) && + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include +@@ -2943,34 +2941,34 @@ char *zsh_gl_sym_addr ; + #define RTLD_LAZY 1 + #endif + + extern int fred() ; + +-main() ++int main() + { + void * handle ; + void * symbol ; + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + handle = dlopen("./conftest.$DL_EXT", RTLD_LAZY) ; + if (handle == NULL) { + fprintf (f, "dlopen failed") ; +- exit(1); ++ return(1); + } + symbol = dlsym(handle, "fred") ; + if (symbol == NULL) { + /* try putting a leading underscore */ + symbol = dlsym(handle, "_fred") ; + if (symbol == NULL) { + fprintf (f, "dlsym failed") ; +- exit(1); ++ return(1); + } + fprintf (f, "yes") ; + } + else + fprintf (f, "no") ; +- exit(0); ++ return(0); + }]])],[zsh_cv_func_dlsym_needs_underscore=`cat conftestval`],[zsh_cv_func_dlsym_needs_underscore=failed + dynamic=no],[zsh_cv_func_dlsym_needs_underscore=no])]) + if test "x$zsh_cv_func_dlsym_needs_underscore" = xyes; then + AC_DEFINE(DLSYM_NEEDS_UNDERSCORE) + elif test "x$zsh_cv_func_dlsym_needs_underscore" != xno; then +--- a/aczsh.m4.old ++++ b/aczsh.m4 +@@ -42,10 +42,11 @@ AC_DEFUN(zsh_64_BIT_TYPE, + [AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #ifdef HAVE_SYS_TYPES_H + #include + #endif + ++int + main() + { + $1 foo = 0; + int bar = (int) foo; + return sizeof($1) != 8; +@@ -144,33 +145,34 @@ char *zsh_gl_sym_addr ; + #endif + #ifndef RTLD_GLOBAL + #define RTLD_GLOBAL 0 + #endif + ++int + main() + { + void *handle1, *handle2; + void *(*zsh_getaddr1)(), *(*zsh_getaddr2)(); + void *sym1, *sym2; + handle1 = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); +- if(!handle1) exit(1); ++ if(!handle1) return(1); + handle2 = dlopen("./conftest2.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); +- if(!handle2) exit(1); ++ if(!handle2) return(1); + zsh_getaddr1 = (void *(*)()) dlsym(handle1, "${us}zsh_getaddr1"); + zsh_getaddr2 = (void *(*)()) dlsym(handle2, "${us}zsh_getaddr2"); + sym1 = zsh_getaddr1(); + sym2 = zsh_getaddr2(); +- if(!sym1 || !sym2) exit(1); +- if(sym1 != sym2) exit(1); ++ if(!sym1 || !sym2) return(1); ++ if(sym1 != sym2) return(1); + dlclose(handle1); + handle1 = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); +- if(!handle1) exit(1); ++ if(!handle1) return(1); + zsh_getaddr1 = (void *(*)()) dlsym(handle1, "${us}zsh_getaddr1"); + sym1 = zsh_getaddr1(); +- if(!sym1) exit(1); +- if(sym1 != sym2) exit(1); +- exit(0); ++ if(!sym1) return(1); ++ if(sym1 != sym2) return(1); ++ return(0); + } + ]])],[zsh_cv_shared_$1=yes], + [zsh_cv_shared_$1=no], + [zsh_cv_shared_$1=no] + ) +@@ -226,23 +228,23 @@ char *zsh_gl_sym_addr ; + #endif + #ifndef RTLD_GLOBAL + #define RTLD_GLOBAL 0 + #endif + +- ++int + main() + { + void *handle1, *handle2; + int (*fred1)(), (*fred2)(); + handle1 = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); +- if(!handle1) exit(1); ++ if(!handle1) return(1); + handle2 = dlopen("./conftest2.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); +- if(!handle2) exit(1); ++ if(!handle2) return(1); + fred1 = (int (*)()) dlsym(handle1, "${us}fred"); + fred2 = (int (*)()) dlsym(handle2, "${us}fred"); +- if(!fred1 || !fred2) exit(1); +- exit((*fred1)() != 42 || (*fred2)() != 69); ++ if(!fred1 || !fred2) return(1); ++ return((*fred1)() != 42 || (*fred2)() != 69); + } + ]])],[zsh_cv_sys_dynamic_clash_ok=yes], + [zsh_cv_sys_dynamic_clash_ok=no], + [zsh_cv_sys_dynamic_clash_ok=no] + ) +@@ -302,21 +304,22 @@ char *zsh_gl_sym_addr ; + #endif + #ifndef RTLD_GLOBAL + #define RTLD_GLOBAL 0 + #endif + ++int + main() + { + void *handle; + int (*barneysym)(); + handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); +- if(!handle) exit(1); ++ if(!handle) return(1); + handle = dlopen("./conftest2.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); +- if(!handle) exit(1); ++ if(!handle) return(1); + barneysym = (int (*)()) dlsym(handle, "${us}barney"); +- if(!barneysym) exit(1); +- exit((*barneysym)() != 69); ++ if(!barneysym) return(1); ++ return((*barneysym)() != 69); + } + ]])],[zsh_cv_sys_dynamic_rtld_global=yes], + [zsh_cv_sys_dynamic_rtld_global=no], + [zsh_cv_sys_dynamic_rtld_global=no] + ) +@@ -372,19 +375,20 @@ char *zsh_gl_sym_addr ; + #endif + #ifndef RTLD_GLOBAL + #define RTLD_GLOBAL 0 + #endif + ++int + main() + { + void *handle; + int (*barneysym)(); + handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); +- if(!handle) exit(1); ++ if(!handle) return(1); + barneysym = (int (*)()) dlsym(handle, "${us}barney"); +- if(!barneysym) exit(1); +- exit((*barneysym)() != 69); ++ if(!barneysym) return(1); ++ return((*barneysym)() != 69); + } + + int fred () { return 42; } + ]])],[zsh_cv_sys_dynamic_execsyms=yes], + [zsh_cv_sys_dynamic_execsyms=no], +@@ -446,19 +450,20 @@ char *zsh_gl_sym_addr ; + #endif + #ifndef RTLD_GLOBAL + #define RTLD_GLOBAL 0 + #endif + ++int + main() + { + void *handle; + int (*barneysym)(); + handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); +- if(!handle) exit(1); ++ if(!handle) return(1); + barneysym = (int (*)()) dlsym(handle, "${us}barney"); +- if(!barneysym) exit(1); +- exit((*barneysym)() != 69); ++ if(!barneysym) return(1); ++ return((*barneysym)() != 69); + } + + int fred () { return 42; } + ]])],[zsh_cv_sys_dynamic_strip_exe=yes], + [zsh_cv_sys_dynamic_strip_exe=no], +@@ -514,19 +519,20 @@ char *zsh_gl_sym_addr ; + #endif + #ifndef RTLD_GLOBAL + #define RTLD_GLOBAL 0 + #endif + ++int + main() + { + void *handle; + int (*fredsym)(); + handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); +- if(!handle) exit(1); ++ if(!handle) return(1); + fredsym = (int (*)()) dlsym(handle, "${us}fred"); +- if(!fredsym) exit(1); +- exit((*fredsym)() != 42); ++ if(!fredsym) return(1); ++ return((*fredsym)() != 42); + } + ]])],[zsh_cv_sys_dynamic_strip_lib=yes], + [zsh_cv_sys_dynamic_strip_lib=no], + [zsh_cv_sys_dynamic_strip_lib=no] + ) + diff --git a/app-shells/zsh/zsh-5.9-r1.ebuild b/app-shells/zsh/zsh-5.9-r1.ebuild new file mode 100644 index 000000000000..2ce37dce147c --- /dev/null +++ b/app-shells/zsh/zsh-5.9-r1.ebuild @@ -0,0 +1,235 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic prefix + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://git.code.sf.net/p/zsh/code" +else + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + SRC_URI="https://www.zsh.org/pub/${P}.tar.xz + https://www.zsh.org/pub/old/${P}.tar.xz + mirror://sourceforge/${PN}/${P}.tar.xz + doc? ( + https://www.zsh.org/pub/${P}-doc.tar.xz + mirror://sourceforge/${PN}/${P}-doc.tar.xz + )" +fi + +DESCRIPTION="UNIX Shell similar to the Korn shell" +HOMEPAGE="https://www.zsh.org/" + +LICENSE="ZSH gdbm? ( GPL-2 )" +SLOT="0" +IUSE="caps debug doc examples gdbm maildir pcre static unicode" + +RDEPEND=" + >=sys-libs/ncurses-5.1:0= + static? ( >=sys-libs/ncurses-5.7-r4:0=[static-libs] ) + caps? ( sys-libs/libcap ) + pcre? ( + >=dev-libs/libpcre-3.9 + static? ( >=dev-libs/libpcre-3.9[static-libs] ) + ) + gdbm? ( sys-libs/gdbm:= ) +" +DEPEND="sys-apps/groff + ${RDEPEND}" +PDEPEND=" + examples? ( app-doc/zsh-lovers ) +" +if [[ ${PV} == *9999 ]] ; then + DEPEND+=" app-text/yodl + doc? ( + sys-apps/texinfo + app-text/texi2html + virtual/latex-base + )" +fi + +PATCHES=( + # Add openrc specific options for init.d completion + "${FILESDIR}"/${PN}-5.3-init.d-gentoo.diff + # Please refer gentoo bug #833981 + "${FILESDIR}"/${PN}-5.9-musl-V09datetime-test-fix.patch + # bug #869539 + "${FILESDIR}"/${PN}-5.9-clang-15-configure.patch +) + +src_prepare() { + if [[ ${PV} != *9999 ]]; then + # fix zshall problem with soelim + ln -s Doc man1 || die + mv Doc/zshall.1 Doc/zshall.1.soelim || die + soelim Doc/zshall.1.soelim > Doc/zshall.1 || die + fi + + default + + hprefixify configure.ac + if [[ ${PV} == *9999 ]] ; then + sed -i "/^VERSION=/s@=.*@=${PV}@" Config/version.mk || die + fi + eautoreconf +} + +src_configure() { + local myconf=( + --bindir="${EPREFIX}"/bin + --libdir="${EPREFIX}"/usr/$(get_libdir) + --enable-etcdir="${EPREFIX}"/etc/zsh + --enable-runhelpdir="${EPREFIX}"/usr/share/zsh/${PV%_*}/help + --enable-fndir="${EPREFIX}"/usr/share/zsh/${PV%_*}/functions + --enable-site-fndir="${EPREFIX}"/usr/share/zsh/site-functions + --enable-function-subdirs + --with-tcsetpgrp + --with-term-lib="$(usex unicode 'tinfow ncursesw' 'tinfo ncurses')" + $(use_enable maildir maildir-support) + $(use_enable pcre) + $(use_enable caps cap) + $(use_enable unicode multibyte) + $(use_enable gdbm) + ) + + if use static ; then + myconf+=( --disable-dynamic ) + append-ldflags -static + fi + if use debug ; then + myconf+=( + --enable-zsh-debug + --enable-zsh-mem-debug + --enable-zsh-mem-warning + --enable-zsh-secure-free + --enable-zsh-hash-debug + ) + fi + + if [[ ${CHOST} == *-darwin* ]]; then + myconf+=( --enable-libs=-liconv ) + append-ldflags -Wl,-x + fi + + econf "${myconf[@]}" + + if use static ; then + # compile all modules statically, see Bug #27392 + # removed cap and curses because linking failes + sed -e "s,link=no,link=static,g" \ + -e "/^name=zsh\/cap/s,link=static,link=no," \ + -e "/^name=zsh\/curses/s,link=static,link=no," \ + -i "${S}"/config.modules || die + if ! use gdbm ; then + sed -i '/^name=zsh\/db\/gdbm/s,link=static,link=no,' \ + "${S}"/config.modules || die + fi + fi +} + +src_compile() { + default + + if [[ ${PV} == *9999 ]] && use doc ; then + emake -C Doc everything + fi +} + +src_test() { + # Fixes tests A03quoting.ztst B03print.ztst on musl + # Please refer: + # https://www.zsh.org/mla/workers/2021/msg00805.html + # Test E02xtrace fails on musl, so we are removing it. + # Closes: https://bugs.gentoo.org/833981 + if use elibc_musl ; then + unset LC_ALL + unset LC_COLLATE + unset LC_NUMERIC + unset LC_MESSAGES + unset LANG + rm "${S}"/Test/E02xtrace.ztst || die + fi + addpredict /dev/ptmx + local i + for i in C02cond.ztst V08zpty.ztst X02zlevi.ztst Y01completion.ztst Y02compmatch.ztst Y03arguments.ztst ; do + rm "${S}"/Test/${i} || die + done + emake check +} + +src_install() { + emake DESTDIR="${D}" install $(usex doc "install.info" "") + + insinto /etc/zsh + export PREFIX_QUOTE_CHAR='"' PREFIX_EXTRA_REGEX="/EUID/s,0,${EUID}," + newins "$(prefixify_ro "${FILESDIR}"/zprofile-4)" zprofile + + keepdir /usr/share/zsh/site-functions + insinto /usr/share/zsh/${PV%_*}/functions/Prompts + newins "${FILESDIR}"/prompt_gentoo_setup-1 prompt_gentoo_setup + + local i + + # install miscellaneous scripts (bug #54520) + sed -e "s:/usr/local/bin/perl:${EPREFIX}/usr/bin/perl:g" \ + -e "s:/usr/local/bin/zsh:${EPREFIX}/bin/zsh:g" \ + -i {Util,Misc}/* || die + for i in Util Misc ; do + insinto /usr/share/zsh/${PV%_*}/${i} + doins ${i}/* + done + + # install header files (bug #538684) + insinto /usr/include/zsh + doins config.h Src/*.epro + for i in Src/{zsh.mdh,*.h} ; do + sed -e 's@\.\./config\.h@config.h@' \ + -e 's@#\(\s*\)include "\([^"]\+\)"@#\1include @' \ + -i "${i}" + doins "${i}" + done + + dodoc ChangeLog* META-FAQ NEWS README config.modules + + if use doc ; then + pushd "${WORKDIR}/${PN}-${PV%_*}" >/dev/null + dodoc Doc/zsh.{dvi,pdf} + docinto html + dodoc Doc/*.html + popd >/dev/null + fi + + docinto StartupFiles + dodoc StartupFiles/z* +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] ; then + echo + elog "If you want to enable Portage completions and Gentoo prompt," + elog "emerge app-shells/gentoo-zsh-completions and add" + elog " autoload -U compinit promptinit" + elog " compinit" + elog " promptinit; prompt gentoo" + elog "to your ~/.zshrc" + echo + elog "Also, if you want to enable cache for the completions, add" + elog " zstyle ':completion::complete:*' use-cache 1" + elog "to your ~/.zshrc" + echo + elog "Note that a system zprofile startup file is installed. This will override" + elog "PATH and possibly other variables that a user may set in ~/.zshenv." + elog "Custom PATH settings and similar overridden variables can be moved to ~/.zprofile" + elog "or other user startup files that are sourced after the system zprofile." + echo + elog "If PATH must be set in ~/.zshenv to affect things like non-login ssh shells," + elog "one method is to use a separate path-setting file that is conditionally sourced" + elog "in ~/.zshenv and also sourced from ~/.zprofile. For more information, see the" + elog "zshenv example in ${EROOT}/usr/share/doc/${PF}/StartupFiles/." + echo + elog "See https://wiki.gentoo.org/wiki/Zsh/HOWTO for more introduction documentation." + echo + fi +} -- cgit v1.2.3