summaryrefslogtreecommitdiff
path: root/app-shells/ksh
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-12-22 14:08:05 +0000
committerV3n3RiX <venerix@koprulu.sector>2021-12-22 14:08:05 +0000
commit93a93e9a3b53c1a73142a305ea1f8136846942ee (patch)
treeb9791a06ab3284e27b568412c59316c66240c682 /app-shells/ksh
parent2771f79232c273bc2a57d23bf335dd81ccf6af28 (diff)
gentoo resync : 22.12.2021
Diffstat (limited to 'app-shells/ksh')
-rw-r--r--app-shells/ksh/Manifest9
-rw-r--r--app-shells/ksh/files/ksh-1.0.0-beta.1-regre-tests.patch365
-rw-r--r--app-shells/ksh/ksh-1.0.0_beta1.ebuild75
-rw-r--r--app-shells/ksh/ksh-1.0.0_beta2.ebuild71
-rw-r--r--app-shells/ksh/ksh-9999.ebuild80
-rw-r--r--app-shells/ksh/metadata.xml11
6 files changed, 582 insertions, 29 deletions
diff --git a/app-shells/ksh/Manifest b/app-shells/ksh/Manifest
index f3deb550b56d..68e76b503ab4 100644
--- a/app-shells/ksh/Manifest
+++ b/app-shells/ksh/Manifest
@@ -1,7 +1,12 @@
AUX CVE-2019-14868.patch 3746 BLAKE2B 0be6843120195f876631e92205430f8a389d23c6c9f85b72b4fd7b646551ede464eebaa28db1988a0b831642ab7d3c0e633cdfe28f5279ab29f69aa3bb6bb755 SHA512 ad21464b95ff69b0d8a54f54eee11d638738ba79a87fc5834d409af2d183e5a68e706b3f5df49223dd784e634de353335689981228c7ca57edf94794434d6ea9
+AUX ksh-1.0.0-beta.1-regre-tests.patch 12160 BLAKE2B fe59714b854ef5cd854058857881b9749fe75498e70df4bcaf4b2041602b3bb0311c06458b7b6b4101b0647773435fa6f5a75a4af210ad1e8381766b1294b5bc SHA512 afef9c0ceb56dea8dd756eac6190338b788709ab297b9935bca70a966ed18a5946700aebffa67d84adb58d256babcd1d8f6dead714030f1a1bc164470b188956
AUX ksh-2020.0.0-ensure-user-set.patch 1017 BLAKE2B 8a0d9fd9fd8940969741214f6ba9251ae1b404bae80385d79428ab7231a5809bafcaa5033084af0582872171666e89b590b7c2cfba1ded740da49c77b1751888 SHA512 bea76ef4350d2813395bbfaa682b97a34548292efe9986a1d63dde2476bbfbfd21dc9b10ccb7ac3bcf33e9aeb3c0eebdcffb22a3b6472302597473ac994b2493
AUX ksh-2020.0.0-skip-api-test.patch 1394 BLAKE2B bcf521012bb197d234b119dc56ddc068f8ec3e46b6f4c6d82e1043629368bfcabd1a5d360bae702777e5b01914ac70c9edbdce5ee0bba7e9f69916a3c38b1820 SHA512 e4314599821b3f654b4c87900aa696930953a96b984f43ca00fd17aa91b968ed8f277944c6736ebddae4ee7086e9806f84e3432b24450565d1c679bdbb39e01a
DIST ksh-2020.0.0.tar.gz 2022880 BLAKE2B cb952c4febe88a3ccf8fd48f511a30a73bfc812ebf0b7a5fe799470b29ee13ca61004fd34e367d836940a88214da2aa05b7cb96f173a1b8d57c8e644c8c3a2a6 SHA512 7d6da3af341a62718d691ddc52e10bdf3b7290d74f1cd01610093c587af47b6d6d04b74b210eb31f93a3559855a5bc5155f9b188d2f8bb4444042c26bfaf1792
+DIST ksh-v1.0.0-beta.1.tar.gz 2376823 BLAKE2B 0c985bd17bd0a6301205cffa703536c99322b99953e86b8e8266616f70c7d8cab01801f55c5ba2964628cef8c05878f4e721be39987c418b35859952d3a07719 SHA512 968d7c1aef38f0a29f3a32d0aba7bd5138b70d96486443d5b13c4830907aa7344fb7599ca153a55116758413640ba84ec9e6be19a6f0941814f2515a3961b312
+DIST ksh-v1.0.0-beta.2.tar.gz 2238224 BLAKE2B b4eb8e116d0dd8fda498fb8d2805613a73291be628ce87ebc1c47c9bc8c49b236b285accaf35b4c9e411df23b99c6a949b672edeea1f1f317fc85a2b4db48779 SHA512 c2cd5a4b442bcff1dd2c1c054ee79c4cb131dce28d811dcd3476164d6cb7e88e6b317a094b16f227564a1266708ef0cfeca2af0929c00a19497cf1b67c647cf2
+EBUILD ksh-1.0.0_beta1.ebuild 1543 BLAKE2B 05662153e4c36595fcce0b6ed764f870e7f1e1dfa69bfe2d3aa189f9b24bc8478c8703305adbb271e825f5d48d27df9323658ff5f871cf7b8370c142baf30f13 SHA512 5e31347d42f97bb9bc95ae35554d9f81869d59f6ea71fc6be67959176068e055ccd5da9ab2bb5825623d38b2b71c7e4b4e36d5cec32137d8aa1b4ae8ffafc7fa
+EBUILD ksh-1.0.0_beta2.ebuild 1473 BLAKE2B 6626d5fd0832962b4bbe0836a4b528c6cbf457b2477937c6bab79c420d1931d79baecd3c7161336285d51f8ff0d4a4d20bcd0173a25f2e2c758f992ebe773be7 SHA512 b20b3007b8f9ce39ef0bae722aeb7aeeeac1a461d8c68d6eeeeff03f69df4e2ad5be2a5e183fa5190a16d66a39565031d80416cb66f64fdfd2860e139e5a3653
EBUILD ksh-2020.0.0-r1.ebuild 1135 BLAKE2B 771f0f2bd6341ebeb69cfd5e3f1e478baf4c096e8e6898240af19a53881309f1ed12c5cd6fa3ff1faa33a3a128396d73258dc9541f99132b486c65c714a8168f SHA512 99a023e50d8156036258e971d8f62735ffe3b44b6ee3d967b5900070aacd75e8a3255cce84264e4e0ac8e9404959b5f246a0334f1d19abbf705303e0da88e57c
-EBUILD ksh-9999.ebuild 988 BLAKE2B c3c9b71902c48c5806614626ddec8150ffa733185a4852f0c517d17bac6447f13c8038611361114dd8e4ef682be1450ce886ffb9fa95ea4af63433711b84b5d1 SHA512 dd73989e93af9753e1c377cf36f05832467633a57c635f465647ee7298bdee37e66f7569920de539e1487f1e94e05bac4f41a1e034ef2df055a974c4285bfe78
-MISC metadata.xml 1293 BLAKE2B 8dd833c40c843e58c45d154e98d7d6ad6baf477c3f3995f95dcc7e912bf61205b3ddbe94e932716d38b96cc2108bcd15f23be3b32c74e769e0624e6e057f6b35 SHA512 57675653671bc3e57c5fe2110ca661c1b7c42b1680a6c1a4f52c4dcde1e4433bc0c523f896d44bf78e5ff14d6fc3470da6391ddcf8e84ea6bc5210e2709e8529
+EBUILD ksh-9999.ebuild 1539 BLAKE2B 909ef9118195ceaf4686823837b670401c6e0d641b2ecd44f9c251671265564528b043d695964df5c6dd2441cea5965c3f81e124132aee63959edab510f6c27d SHA512 8374cfb365fe819775d17576f77f8fdc95425becacfd733ffc421fe1da7468df94d0dabc3ab60a78835f6a1b39803c83e08c68c534480a7df685786c4adc34ab
+MISC metadata.xml 1489 BLAKE2B 8e0c5934f79c12702985656ddc95d5051c59f053c94bab595d3ec08aa336b9ab50de5e87aab7b47991c02aa6924932e59ab6fb4d3e38c60b139478a210d62cad SHA512 fa4422e4dbd25daed7ed21e66d06fb678ccbb3c37a62a090eddc9c3281e0d17310f5df5f172267f7a91935db4059b8dcdf78b88cd902d8f10f4f798e6264b0dc
diff --git a/app-shells/ksh/files/ksh-1.0.0-beta.1-regre-tests.patch b/app-shells/ksh/files/ksh-1.0.0-beta.1-regre-tests.patch
new file mode 100644
index 000000000000..d9f8b4697d6c
--- /dev/null
+++ b/app-shells/ksh/files/ksh-1.0.0-beta.1-regre-tests.patch
@@ -0,0 +1,365 @@
+From 541dd6f286a71c0d1d874807e61551026d03f409 Mon Sep 17 00:00:00 2001
+From: Vincent Mihalkovic <vmihalko@redhat.com>
+Date: Tue, 3 Aug 2021 10:20:04 +0200
+Subject: [PATCH] src/cmd/ksh93/tests: (temporary) disable failing tests
+
+---
+ src/cmd/ksh93/tests/functions.sh | 2 ++
+ src/cmd/ksh93/tests/io.sh | 2 ++
+ src/cmd/ksh93/tests/leaks.sh | 49 ++++++++++++++++++++++++++++++--
+ src/cmd/ksh93/tests/tilde.sh | 4 +--
+ src/cmd/ksh93/tests/variables.sh | 2 ++
+ 5 files changed, 54 insertions(+), 5 deletions(-)
+
+diff --git a/src/cmd/ksh93/tests/functions.sh b/src/cmd/ksh93/tests/functions.sh
+index 731c1a6..43bb32a 100755
+--- a/src/cmd/ksh93/tests/functions.sh
++++ b/src/cmd/ksh93/tests/functions.sh
+@@ -146,10 +146,12 @@ fi
+ if [[ $PWD != "$dir" ]]
+ then err_exit 'cd inside nested subshell changes $PWD'
+ fi
++: <<'disabled' # TODO: failing only on i686 arch
+ fun() "$bin_echo" hello
+ if [[ $(fun) != hello ]]
+ then err_exit one line functions not working
+ fi
++disabled
+ cat > $tmp/script <<-\!
+ print -r -- "$1"
+ !
+diff --git a/src/cmd/ksh93/tests/io.sh b/src/cmd/ksh93/tests/io.sh
+index 2752145..f94c801 100755
+--- a/src/cmd/ksh93/tests/io.sh
++++ b/src/cmd/ksh93/tests/io.sh
+@@ -241,7 +241,9 @@ then [[ $(3<#) -eq 0 ]] || err_exit "not at position 0"
+ read -u3 && err_exit "not found pattern not positioning at eof"
+ cat $tmp/seek | read -r <# *WWW*
+ [[ $REPLY == *WWWWW* ]] || err_exit '<# not working for pipes'
++: <<'disabled' # TODO: failing only on armv7, i686 arch. Reason: https://github.com/att/ast/commit/a5c692e1bd0d800e3f19be249d3170e69cbe001d
+ { < $tmp/seek <# ((2358336120)) ;} 2> /dev/null || err_exit 'long seek not working'
++disabled
+ else err_exit "$tmp/seek: cannot open for reading"
+ fi
+ redirect 3<&- || 'cannot close 3'
+diff --git a/src/cmd/ksh93/tests/leaks.sh b/src/cmd/ksh93/tests/leaks.sh
+index 0f50da2..6c8acfd 100755
+--- a/src/cmd/ksh93/tests/leaks.sh
++++ b/src/cmd/ksh93/tests/leaks.sh
+@@ -109,6 +109,7 @@ do got=$($SHELL -c 'x=$(printf "%.*c" '$exp' x); print ${#x}' 2>&1)
+ [[ $got == $exp ]] || err_exit "large command substitution failed -- expected $exp, got $got"
+ done
+
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ data="(v=;sid=;di=;hi=;ti='1328244300';lv='o';id='172.3.161.178';var=(k='conn_num._total';u=;fr=;l='Number of Connections';n='22';t='number';))"
+ read -C stat <<< "$data"
+ for ((i=0; i < 8; i++)) # steady state first
+@@ -122,8 +123,10 @@ done | while read -u$n -C stat
+ done {n}<&0-
+ after=$(getmem)
+ err_exit_if_leak "memory leak with read -C when deleting compound variable"
++disabled
+
+ # extra 'read's to get to steady state
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ for ((i=0; i < 10; i++))
+ do read -C stat <<< "$data"
+ done
+@@ -133,10 +136,12 @@ do read -C stat <<< "$data"
+ done
+ after=$(getmem)
+ err_exit_if_leak "memory leak with read -C when using <<<"
++disabled
+
+ # ======
+ # Unsetting an associative array shouldn't cause a memory leak
+ # See https://www.mail-archive.com/ast-users@lists.research.att.com/msg01016.html
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ typeset -A stuff
+ before=$(getmem)
+ for (( i=0; i < N; i++ ))
+@@ -152,6 +157,7 @@ done
+ unset stuff
+ after=$(getmem)
+ err_exit_if_leak 'unset of associative array causes memory leak'
++disabled
+
+ # ======
+ # Memory leak when resetting PATH and clearing hash table
+@@ -167,17 +173,20 @@ done >/dev/null
+ after=$(getmem)
+ err_exit_if_leak 'memory leak on PATH reset before PATH search'
+ # ...test for another leak that only shows up when building with nmake:
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ before=$(getmem)
+ for ((i=0; i < N; i++))
+ do PATH=/dev/null true # set/restore PATH & clear hash table
+ done >/dev/null
+ after=$(getmem)
+ err_exit_if_leak 'memory leak on PATH reset'
++disabled
+
+ # ======
+ # Defining a function in a virtual subshell
+ # https://github.com/ksh93/ksh/issues/114
+
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ unset -f foo
+ before=$(getmem)
+ for ((i=0; i < N; i++))
+@@ -186,7 +195,9 @@ done
+ after=$(getmem)
+ err_exit_if_leak 'ksh function defined in virtual subshell'
+ typeset -f foo >/dev/null && err_exit 'ksh function leaks out of subshell'
++disabled
+
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ unset -f foo
+ before=$(getmem)
+ for ((i=0; i < N; i++))
+@@ -195,9 +206,10 @@ done
+ after=$(getmem)
+ err_exit_if_leak 'POSIX function defined in virtual subshell'
+ typeset -f foo >/dev/null && err_exit 'POSIX function leaks out of subshell'
++disabled
+
+ # Unsetting a function in a virtual subshell
+-
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ function foo { echo bar; }
+ before=$(getmem)
+ for ((i=0; i < N; i++))
+@@ -206,8 +218,11 @@ done
+ after=$(getmem)
+ err_exit_if_leak 'ksh function unset in virtual subshell'
+ typeset -f foo >/dev/null || err_exit 'ksh function unset in subshell was unset in main shell'
++disabled
+
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ foo() { echo bar; }
++
+ before=$(getmem)
+ for ((i=0; i < N; i++))
+ do (unset -f foo)
+@@ -215,24 +230,29 @@ done
+ after=$(getmem)
+ err_exit_if_leak 'POSIX function unset in virtual subshell'
+ typeset -f foo >/dev/null || err_exit 'POSIX function unset in subshell was unset in main shell'
++disabled
+
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ before=$(getmem)
+ for ((i=0; i < N; i++))
+ do (function foo { echo baz; }; unset -f foo)
+ done
+ after=$(getmem)
+ err_exit_if_leak 'ksh function defined and unset in virtual subshell'
++disabled
+
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ before=$(getmem)
+ for ((i=0; i < N; i++))
+ do (foo() { echo baz; }; unset -f foo)
+ done
+ after=$(getmem)
+ err_exit_if_leak 'POSIX function defined and unset in virtual subshell'
++disabled
+
+ # ======
+ # Sourcing a dot script in a virtual subshell
+-
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ echo 'echo "$@"' > $tmp/dot.sh
+ before=$(getmem)
+ for ((i=0; i < N; i++))
+@@ -240,6 +260,7 @@ do (. "$tmp/dot.sh" dot one two three >/dev/null)
+ done
+ after=$(getmem)
+ err_exit_if_leak 'script dotted in virtual subshell'
++disabled
+
+ echo 'echo "$@"' > $tmp/dot.sh
+ before=$(getmem)
+@@ -253,6 +274,8 @@ err_exit_if_leak 'script sourced in virtual subshell'
+ # Multiple leaks when using arrays in functions (Red Hat #921455)
+ # Fix based on: https://src.fedoraproject.org/rpms/ksh/blob/642af4d6/f/ksh-20120801-memlik.patch
+
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
++
+ # TODO: both of these tests still leak (although much less after the patch) when run in a non-C locale.
+ saveLANG=$LANG; LANG=C # comment out to test remaining leak (1/2)
+
+@@ -268,7 +291,9 @@ do _hash
+ done
+ after=$(getmem)
+ err_exit_if_leak 'associative array in function'
++disabled
+
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ function _array
+ {
+ typeset w=(1 31534 42)
+@@ -283,12 +308,13 @@ after=$(getmem)
+ err_exit_if_leak 'indexed array in function'
+
+ LANG=$saveLANG # comment out to test remaining leak (2/2)
++disabled
+
+ # ======
+ # Memory leak in typeset (Red Hat #1036470)
+ # Fix based on: https://src.fedoraproject.org/rpms/ksh/blob/642af4d6/f/ksh-20120801-memlik3.patch
+ # The fix was backported from ksh 93v- beta.
+-
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ function myFunction
+ {
+ typeset toPrint="something"
+@@ -301,10 +327,12 @@ do state=$(myFunction)
+ done
+ after=$(getmem)
+ err_exit_if_leak 'typeset in function called by command substitution'
++disabled
+
+ # ======
+ # Check that unsetting an alias frees both the node and its value
+
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ before=$(getmem)
+ for ((i=0; i < N; i++))
+ do alias "test$i=command$i"
+@@ -312,10 +340,12 @@ do alias "test$i=command$i"
+ done
+ after=$(getmem)
+ err_exit_if_leak 'unalias'
++disabled
+
+ # ======
+ # Red Hat bug rhbz#982142: command substitution leaks
+
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ # case1: Nested command substitutions
+ # (reportedly already fixed in 93u+, but let's keep the test)
+ before=$(getmem)
+@@ -324,8 +354,10 @@ do a=`true 1 + \`true 1 + 1\`` # was: a=`expr 1 + \`expr 1 + 1\``
+ done
+ after=$(getmem)
+ err_exit_if_leak 'nested command substitutions'
++disabled
+
+ # case2: Command alias
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ alias ls='true -ltr' # was: alias ls='ls -ltr'
+ before=$(getmem)
+ for ((i=0; i < N; i++))
+@@ -334,8 +366,10 @@ done
+ after=$(getmem)
+ unalias ls
+ err_exit_if_leak 'alias in command substitution'
++disabled
+
+ # case3: Function call via autoload
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ cat >$tmp/func1 <<\EOF
+ function func1
+ {
+@@ -353,12 +387,14 @@ after=$(getmem)
+ unset -f func1
+ unset -v FPATH
+ err_exit_if_leak 'function call via autoload in command substitution'
++disabled
+
+ # ======
+
+ # add some random utilities to the hash table to detect memory leak on hash table reset when changing PATH
+ random_utils=(chmod cp mv awk sed diff comm cut sort uniq date env find mkdir rmdir pr sleep)
+
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ save_PATH=$PATH
+ hash "${random_utils[@]}"
+ before=$(getmem)
+@@ -368,7 +404,9 @@ do hash -r
+ done
+ after=$(getmem)
+ err_exit_if_leak 'clear hash table (hash -r) in main shell'
++disabled
+
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ before=$(getmem)
+ for ((i=0; i < N; i++))
+ do PATH=/dev/null
+@@ -377,13 +415,16 @@ do PATH=/dev/null
+ done
+ after=$(getmem)
+ err_exit_if_leak 'set PATH value in main shell'
++disabled
+
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ before=$(getmem)
+ for ((i=0; i < N; i++))
+ do PATH=/dev/null command true
+ done
+ after=$(getmem)
+ err_exit_if_leak 'run command with preceding PATH assignment in main shell'
++disabled
+
+ : <<'disabled' # TODO: known leak (approx 73552 bytes after 512 iterations)
+ before=$(getmem)
+@@ -454,6 +495,7 @@ disabled
+
+ # ======
+ # Test for a memory leak after 'cd' (in relation to $PWD and $OLDPWD)
++: <<'disabled' # TODO: upstream, leak sometimes on some archs
+ original_pwd=$PWD
+ before=$(getmem)
+ for ((i=0; i < N; i++))
+@@ -473,6 +515,7 @@ done
+ after=$(getmem)
+ err_exit_if_leak 'PWD and/or OLDPWD changed by cd'
+ cd $original_pwd
++disabled
+
+ # ======
+ # https://github.com/ksh93/ksh/issues/253#issuecomment-815308466
+diff --git a/src/cmd/ksh93/tests/tilde.sh b/src/cmd/ksh93/tests/tilde.sh
+index 1be00b9..1de0b16 100755
+--- a/src/cmd/ksh93/tests/tilde.sh
++++ b/src/cmd/ksh93/tests/tilde.sh
+@@ -151,13 +151,13 @@ do (
+ [[ $got == "$exp" ]] || err_exit "$disc discipline: counter:" \
+ "expected $(printf %q "$exp"), got $(printf %q "$got")"
+ ((i==5)) || err_exit "$disc discipline: counter: $i != 5"
+-
++: << 'disabled' # TODO sometimes fails on armv7 arch
+ set -- ~spc ~spc ~spc
+ got=$#,$1,$2,$3
+ exp=$'3,one\ttwo three\n\tfour,one\ttwo three\n\tfour,one\ttwo three\n\tfour'
+ [[ $got == "$exp" ]] || err_exit "$disc discipline: quoting of whitespace:" \
+ "expected $(printf %q "$exp"), got $(printf %q "$got")"
+-
++disabled
+ print "$Errors" >$tmp/Errors
+ ) &
+ wait "$!" 2>crashmsg
+diff --git a/src/cmd/ksh93/tests/variables.sh b/src/cmd/ksh93/tests/variables.sh
+index 253f84a..8b306a1 100755
+--- a/src/cmd/ksh93/tests/variables.sh
++++ b/src/cmd/ksh93/tests/variables.sh
+@@ -58,6 +58,7 @@ rand2=$($SHELL -c 'RANDOM=1; (echo $RANDOM)')
+ (( rand1 == rand2 )) && err_exit "Test 3: \$RANDOM seed in subshell doesn't change" \
+ "(both results are $rand1)"
+ # $RANDOM should be reseeded for the ( simple_command & ) optimization
++: <<'disabled' # Reason: On slower systems it could fail with an arithmetic syntax error because the output was verified before it had been written. From: https://github.com/ksh93/ksh/commit/33269cae615c913592e776276b480bf1d722ff07
+ ( echo $RANDOM & ) >r1
+ ( echo $RANDOM & ) >r2
+ integer giveup=0
+@@ -74,6 +75,7 @@ fi
+ kill $! 2>/dev/null
+ trap - USR1
+ unset giveup
++disabled
+ # Virtual subshells should not influence the parent shell's RANDOM sequence
+ RANDOM=456
+ exp="$RANDOM $RANDOM $RANDOM $RANDOM $RANDOM"
+--
+2.31.1
+
diff --git a/app-shells/ksh/ksh-1.0.0_beta1.ebuild b/app-shells/ksh/ksh-1.0.0_beta1.ebuild
new file mode 100644
index 000000000000..ae2481bd2e6b
--- /dev/null
+++ b/app-shells/ksh/ksh-1.0.0_beta1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="The Original ATT Korn Shell"
+HOMEPAGE="http://www.kornshell.com/"
+
+MY_PV=$(ver_rs 3 - 4 .)
+SRC_URI="https://github.com/ksh93/${PN}/archive/v${MY_PV}/ksh-v${MY_PV}.tar.gz"
+
+LICENSE="EPL-1.0"
+SLOT="0"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+PATCHES=(
+ "${FILESDIR}/ksh-1.0.0-beta.1-regre-tests.patch"
+)
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_prepare() {
+ default
+
+ # disable register for debugging
+ sed -i 1i"#define register" src/lib/libast/include/ast.h || die
+}
+
+src_compile() {
+ local extraflags=(
+ "-Wno-unknown-pragmas"
+ "-Wno-missing-braces"
+ "-Wno-unused-result"
+ "-Wno-return-type"
+ "-Wno-int-to-pointer-cast"
+ "-Wno-parentheses"
+ "-Wno-unused"
+ "-Wno-unused-but-set-variable"
+ "-Wno-cpp"
+ "-Wno-maybe-uninitialized"
+ "-Wno-lto-type-mismatch"
+ "-P"
+ )
+ append-cflags $(test-flags-CC ${extraflags[@]})
+ filter-flags '-fdiagnostics-color=always' # https://github.com/ksh93/ksh/issues/379
+ export CCFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+ tc-export AR CC LD NM
+
+ sh bin/package only make ast-ksh SHELL="${BROOT}"/bin/sh || die
+}
+
+src_test() {
+ # test tries to catch IO error
+ addwrite /proc/self/mem
+
+ # arith.sh uses A for tests
+ unset A
+
+ sh bin/shtests --compile || die
+}
+
+src_install() {
+ local myhost="$(sh bin/package host)"
+ cd "arch/${myhost}" || die
+
+ into /
+ dobin bin/ksh
+ dosym ksh /bin/rksh
+
+ newman man/man1/sh.1 ksh.1
+}
diff --git a/app-shells/ksh/ksh-1.0.0_beta2.ebuild b/app-shells/ksh/ksh-1.0.0_beta2.ebuild
new file mode 100644
index 000000000000..3cfdd740bc9a
--- /dev/null
+++ b/app-shells/ksh/ksh-1.0.0_beta2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="The Original ATT Korn Shell"
+HOMEPAGE="http://www.kornshell.com/"
+
+MY_PV=$(ver_rs 3 - 4 .)
+SRC_URI="https://github.com/ksh93/${PN}/archive/v${MY_PV}/ksh-v${MY_PV}.tar.gz"
+
+LICENSE="EPL-1.0"
+SLOT="0"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_prepare() {
+ default
+
+ # disable register for debugging
+ sed -i 1i"#define register" src/lib/libast/include/ast.h || die
+}
+
+src_compile() {
+ local extraflags=(
+ "-Wno-unknown-pragmas"
+ "-Wno-missing-braces"
+ "-Wno-unused-result"
+ "-Wno-return-type"
+ "-Wno-int-to-pointer-cast"
+ "-Wno-parentheses"
+ "-Wno-unused"
+ "-Wno-unused-but-set-variable"
+ "-Wno-cpp"
+ "-Wno-maybe-uninitialized"
+ "-Wno-lto-type-mismatch"
+ "-P"
+ )
+ append-cflags $(test-flags-CC ${extraflags[@]})
+ filter-flags '-fdiagnostics-color=always' # https://github.com/ksh93/ksh/issues/379
+ export CCFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+ tc-export AR CC LD NM
+
+ sh bin/package make SHELL="${BROOT}"/bin/sh || die
+}
+
+src_test() {
+ # test tries to catch IO error
+ addwrite /proc/self/mem
+
+ # arith.sh uses A for tests
+ unset A
+
+ sh bin/shtests --compile || die
+}
+
+src_install() {
+ local myhost="$(sh bin/package host)"
+ cd "arch/${myhost}" || die
+
+ into /
+ dobin bin/ksh
+ dosym ksh /bin/rksh
+
+ newman man/man1/sh.1 ksh.1
+}
diff --git a/app-shells/ksh/ksh-9999.ebuild b/app-shells/ksh/ksh-9999.ebuild
index e5b08b6bef9c..8e02335af1d6 100644
--- a/app-shells/ksh/ksh-9999.ebuild
+++ b/app-shells/ksh/ksh-9999.ebuild
@@ -1,44 +1,74 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit meson ninja-utils
+inherit flag-o-matic toolchain-funcs
if [[ ${PV} == 9999 ]]; then
inherit git-r3
- EGIT_REPO_URI="https://github.com/att/ast"
+ EGIT_REPO_URI="https://github.com/ksh93/ksh"
else
- KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
- MY_PV="${PV/_/-}"
- MY_P="${PN}-${MY_PV}"
- SRC_URI="https://github.com/att/ast/releases/download/${MY_PV}/${MY_P}.tar.gz"
- S="${WORKDIR}/${MY_P}"
+ KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv"
+ MY_PV=$(ver_rs 3 - 4 .)
+ SRC_URI="https://github.com/ksh93/${PN}/archive/v${MY_PV}/ksh-v${MY_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-${MY_PV}"
fi
-DESCRIPTION="The Original Korn Shell, 1993 revision (ksh93)"
-HOMEPAGE="https://github.com/att/ast"
+DESCRIPTION="The Original ATT Korn Shell"
+HOMEPAGE="http://www.kornshell.com/"
-LICENSE="CPL-1.0 EPL-1.0"
+LICENSE="EPL-1.0"
SLOT="0"
-RDEPEND="!app-shells/pdksh"
+src_prepare() {
+ default
-src_test() {
- # https://bugs.gentoo.org/702570
- addwrite /proc/self
- local cmd=(
- meson test
- -C "${BUILD_DIR}"
- --num-processes "$(makeopts_jobs ${NINJAOPTS:-${MAKEOPTS}})"
+ # disable register for debugging
+ sed -i 1i"#define register" src/lib/libast/include/ast.h || die
+}
+
+src_compile() {
+ local extraflags=(
+ "-Wno-unknown-pragmas"
+ "-Wno-missing-braces"
+ "-Wno-unused-result"
+ "-Wno-return-type"
+ "-Wno-int-to-pointer-cast"
+ "-Wno-parentheses"
+ "-Wno-unused"
+ "-Wno-unused-but-set-variable"
+ "-Wno-cpp"
+ "-Wno-maybe-uninitialized"
+ "-Wno-lto-type-mismatch"
+ "-P"
)
- echo "${cmd[@]}" >&2
- # https://github.com/att/ast/issues/1392
- env -u T "${cmd[@]}" || die
+ append-cflags $(test-flags-CC ${extraflags[@]})
+ filter-flags '-fdiagnostics-color=always' # https://github.com/ksh93/ksh/issues/379
+ export CCFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+ tc-export AR CC LD NM
+
+ sh bin/package make SHELL="${BROOT}"/bin/sh || die
+}
+
+src_test() {
+ # test tries to catch IO error
+ addwrite /proc/self/mem
+
+ # arith.sh uses A for tests
+ unset A
+
+ sh bin/shtests --compile || die
}
src_install() {
- meson_src_install
- dodir /bin
- mv "${ED}/usr/bin/ksh" "${ED}/bin/ksh" || die
+ local myhost="$(sh bin/package host)"
+ cd "arch/${myhost}" || die
+
+ into /
+ dobin bin/ksh
+ dosym ksh /bin/rksh
+
+ newman man/man1/sh.1 ksh.1
}
diff --git a/app-shells/ksh/metadata.xml b/app-shells/ksh/metadata.xml
index 46ee6cb48b1d..2526e8d0cb13 100644
--- a/app-shells/ksh/metadata.xml
+++ b/app-shells/ksh/metadata.xml
@@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>sultan@gentoo.org</email>
+ <name>Stephan Hartmann</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>gyakovlev@gentoo.org</email>
+ <name>Georgy Yakovlev</name>
+ </maintainer>
<longdescription lang="en">
The KornShell language was designed and developed by David G. Korn at
AT&amp;T Bell Laboratories. It is an interactive command language that
@@ -22,6 +29,6 @@
companies and universities.
</longdescription>
<upstream>
- <remote-id type="github">att/ast</remote-id>
+ <remote-id type="github">ksh93/ksh</remote-id>
</upstream>
</pkgmetadata>