summaryrefslogtreecommitdiff
path: root/app-arch/p7zip
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-04 05:35:26 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-04 05:35:26 -0500
commitf716a9fe6455d39eef01e718aae68dae61c19704 (patch)
tree0c52bbae1c242fbc296bd650fcd1167685f81492 /app-arch/p7zip
parent3f9cf298e89cd5037b982abba06091224ee76daf (diff)
downloadbaldeagleos-repo-f716a9fe6455d39eef01e718aae68dae61c19704.tar.gz
baldeagleos-repo-f716a9fe6455d39eef01e718aae68dae61c19704.tar.xz
baldeagleos-repo-f716a9fe6455d39eef01e718aae68dae61c19704.zip
Adding metadata
Diffstat (limited to 'app-arch/p7zip')
-rw-r--r--app-arch/p7zip/Manifest1
-rw-r--r--app-arch/p7zip/files/p7zip-17.05-localization.patch234
-rw-r--r--app-arch/p7zip/files/p7zip-17.05-natspec.patch117
-rw-r--r--app-arch/p7zip/files/p7zip-17.05-unit64.patch21
-rw-r--r--app-arch/p7zip/metadata.xml14
-rw-r--r--app-arch/p7zip/p7zip-17.05-r2.ebuild114
6 files changed, 0 insertions, 501 deletions
diff --git a/app-arch/p7zip/Manifest b/app-arch/p7zip/Manifest
deleted file mode 100644
index d3db328a9ab2..000000000000
--- a/app-arch/p7zip/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST p7zip-17.05.tar.gz 6722154 BLAKE2B 0bcba638d3acaf2aa270e02693ad4295dfcc6b388037bdb446e25f3f4e1cb34f1b05bbc9a845364ca770625c32b2d7f55f63f504ad8e0863fff4bf940ae1fddd SHA512 97a7cfd15287998eb049c320548477be496c4ddf6b45c833c42adca4ab88719b07a442ae2e71cf2dc3b30a0777a3acab0a1a30f01fd85bacffa3fa9bd22c3f7d
diff --git a/app-arch/p7zip/files/p7zip-17.05-localization.patch b/app-arch/p7zip/files/p7zip-17.05-localization.patch
deleted file mode 100644
index 971a0d4eb8bb..000000000000
--- a/app-arch/p7zip/files/p7zip-17.05-localization.patch
+++ /dev/null
@@ -1,234 +0,0 @@
-From afec5e119df1f0706df619b6151b709945de4f43 Mon Sep 17 00:00:00 2001
-From: Ivan Sorokin <unxed@mail.ru>
-Date: Wed, 22 May 2024 09:38:23 +0200
-Subject: [PATCH] apply #232 to p7zip17 also
-
----
- CPP/7zip/Archive/Zip/ZipItem.cpp | 205 +++++++++++++++++++++----------
- 1 file changed, 137 insertions(+), 68 deletions(-)
-
-diff --git a/CPP/7zip/Archive/Zip/ZipItem.cpp b/CPP/7zip/Archive/Zip/ZipItem.cpp
-index 353e89559..d3133c59d 100644
---- a/CPP/7zip/Archive/Zip/ZipItem.cpp
-+++ b/CPP/7zip/Archive/Zip/ZipItem.cpp
-@@ -356,83 +356,152 @@ void CItem::GetUnicodeString(UString &res, const AString &s, bool isComment, boo
- }
-
- #if (!defined _WIN32) && (!defined __CYGWIN__) && (!defined __APPLE__)
-+
- // Convert OEM char set to UTF-8 if needed
- // Use system locale to select code page
-
-- Byte hostOS = GetHostOS();
-- if (!isUtf8 && ((hostOS == NFileHeader::NHostOS::kFAT) || (hostOS == NFileHeader::NHostOS::kNTFS))) {
--
-- const char *oemcp;
-- oemcp = getenv("OEMCP");
-- if (!oemcp) {
-- oemcp = "CP437\0"; // CP name is 6 chars max
--
-- const char *lc_to_cp_table[] = {
-- "af_ZA", "CP850", "ar_SA", "CP720", "ar_LB", "CP720", "ar_EG", "CP720",
-- "ar_DZ", "CP720", "ar_BH", "CP720", "ar_IQ", "CP720", "ar_JO", "CP720",
-- "ar_KW", "CP720", "ar_LY", "CP720", "ar_MA", "CP720", "ar_OM", "CP720",
-- "ar_QA", "CP720", "ar_SY", "CP720", "ar_TN", "CP720", "ar_AE", "CP720",
-- "ar_YE", "CP720","ast_ES", "CP850", "az_AZ", "CP866", "az_AZ", "CP857",
-- "be_BY", "CP866", "bg_BG", "CP866", "br_FR", "CP850", "ca_ES", "CP850",
-- "zh_CN", "CP936", "zh_TW", "CP950", "kw_GB", "CP850", "cs_CZ", "CP852",
-- "cy_GB", "CP850", "da_DK", "CP850", "de_AT", "CP850", "de_LI", "CP850",
-- "de_LU", "CP850", "de_CH", "CP850", "de_DE", "CP850", "el_GR", "CP737",
-- "en_AU", "CP850", "en_CA", "CP850", "en_GB", "CP850", "en_IE", "CP850",
-- "en_JM", "CP850", "en_BZ", "CP850", "en_PH", "CP437", "en_ZA", "CP437",
-- "en_TT", "CP850", "en_US", "CP437", "en_ZW", "CP437", "en_NZ", "CP850",
-- "es_PA", "CP850", "es_BO", "CP850", "es_CR", "CP850", "es_DO", "CP850",
-- "es_SV", "CP850", "es_EC", "CP850", "es_GT", "CP850", "es_HN", "CP850",
-- "es_NI", "CP850", "es_CL", "CP850", "es_MX", "CP850", "es_ES", "CP850",
-- "es_CO", "CP850", "es_ES", "CP850", "es_PE", "CP850", "es_AR", "CP850",
-- "es_PR", "CP850", "es_VE", "CP850", "es_UY", "CP850", "es_PY", "CP850",
-- "et_EE", "CP775", "eu_ES", "CP850", "fa_IR", "CP720", "fi_FI", "CP850",
-- "fo_FO", "CP850", "fr_FR", "CP850", "fr_BE", "CP850", "fr_CA", "CP850",
-- "fr_LU", "CP850", "fr_MC", "CP850", "fr_CH", "CP850", "ga_IE", "CP437",
-- "gd_GB", "CP850", "gv_IM", "CP850", "gl_ES", "CP850", "he_IL", "CP862",
-- "hr_HR", "CP852", "hu_HU", "CP852", "id_ID", "CP850", "is_IS", "CP850",
-- "it_IT", "CP850", "it_CH", "CP850", "iv_IV", "CP437", "ja_JP", "CP932",
-- "kk_KZ", "CP866", "ko_KR", "CP949", "ky_KG", "CP866", "lt_LT", "CP775",
-- "lv_LV", "CP775", "mk_MK", "CP866", "mn_MN", "CP866", "ms_BN", "CP850",
-- "ms_MY", "CP850", "nl_BE", "CP850", "nl_NL", "CP850", "nl_SR", "CP850",
-- "nn_NO", "CP850", "nb_NO", "CP850", "pl_PL", "CP852", "pt_BR", "CP850",
-- "pt_PT", "CP850", "rm_CH", "CP850", "ro_RO", "CP852", "ru_RU", "CP866",
-- "sk_SK", "CP852", "sl_SI", "CP852", "sq_AL", "CP852", "sr_RS", "CP855",
-- "sr_RS", "CP852", "sv_SE", "CP850", "sv_FI", "CP850", "sw_KE", "CP437",
-- "th_TH", "CP874", "tr_TR", "CP857", "tt_RU", "CP866", "uk_UA", "CP866",
-- "ur_PK", "CP720", "uz_UZ", "CP866", "uz_UZ", "CP857", "vi_VN", "CP1258",
-- "wa_BE", "CP850", "zh_HK", "CP950", "zh_SG", "CP936"};
-- int table_len = sizeof(lc_to_cp_table) / sizeof(char *);
-- int lc_len, i;
--
-- char *lc = setlocale(LC_CTYPE, "");
--
-- if (lc && lc[0]) {
-- // Compare up to the dot, if it exists, e.g. en_US.UTF-8
-- for (lc_len = 0; lc[lc_len] != '.' && lc[lc_len] != '\0'; ++lc_len)
-- ;
-- for (i = 0; i < table_len; i += 2)
-- if (strncmp(lc, lc_to_cp_table[i], lc_len) == 0)
-- oemcp = lc_to_cp_table[i + 1];
-- }
-+ // locale -> code page translation tables generated from Wine source code
-+
-+ const char *lcToOemTable[] = {
-+ "af_ZA", "CP850", "ar_SA", "CP720", "ar_LB", "CP720", "ar_EG", "CP720",
-+ "ar_DZ", "CP720", "ar_BH", "CP720", "ar_IQ", "CP720", "ar_JO", "CP720",
-+ "ar_KW", "CP720", "ar_LY", "CP720", "ar_MA", "CP720", "ar_OM", "CP720",
-+ "ar_QA", "CP720", "ar_SY", "CP720", "ar_TN", "CP720", "ar_AE", "CP720",
-+ "ar_YE", "CP720", "ast_ES", "CP850", "az_AZ", "CP866", "az_AZ", "CP857",
-+ "be_BY", "CP866", "bg_BG", "CP866", "br_FR", "CP850", "ca_ES", "CP850",
-+ "zh_CN", "CP936", "zh_TW", "CP950", "kw_GB", "CP850", "cs_CZ", "CP852",
-+ "cy_GB", "CP850", "da_DK", "CP850", "de_AT", "CP850", "de_LI", "CP850",
-+ "de_LU", "CP850", "de_CH", "CP850", "de_DE", "CP850", "el_GR", "CP737",
-+ "en_AU", "CP850", "en_CA", "CP850", "en_GB", "CP850", "en_IE", "CP850",
-+ "en_JM", "CP850", "en_BZ", "CP850", "en_PH", "CP437", "en_ZA", "CP437",
-+ "en_TT", "CP850", "en_US", "CP437", "en_ZW", "CP437", "en_NZ", "CP850",
-+ "es_PA", "CP850", "es_BO", "CP850", "es_CR", "CP850", "es_DO", "CP850",
-+ "es_SV", "CP850", "es_EC", "CP850", "es_GT", "CP850", "es_HN", "CP850",
-+ "es_NI", "CP850", "es_CL", "CP850", "es_MX", "CP850", "es_ES", "CP850",
-+ "es_CO", "CP850", "es_ES", "CP850", "es_PE", "CP850", "es_AR", "CP850",
-+ "es_PR", "CP850", "es_VE", "CP850", "es_UY", "CP850", "es_PY", "CP850",
-+ "et_EE", "CP775", "eu_ES", "CP850", "fa_IR", "CP720", "fi_FI", "CP850",
-+ "fo_FO", "CP850", "fr_FR", "CP850", "fr_BE", "CP850", "fr_CA", "CP850",
-+ "fr_LU", "CP850", "fr_MC", "CP850", "fr_CH", "CP850", "ga_IE", "CP437",
-+ "gd_GB", "CP850", "gv_IM", "CP850", "gl_ES", "CP850", "he_IL", "CP862",
-+ "hr_HR", "CP852", "hu_HU", "CP852", "id_ID", "CP850", "is_IS", "CP850",
-+ "it_IT", "CP850", "it_CH", "CP850", "iv_IV", "CP437", "ja_JP", "CP932",
-+ "kk_KZ", "CP866", "ko_KR", "CP949", "ky_KG", "CP866", "lt_LT", "CP775",
-+ "lv_LV", "CP775", "mk_MK", "CP866", "mn_MN", "CP866", "ms_BN", "CP850",
-+ "ms_MY", "CP850", "nl_BE", "CP850", "nl_NL", "CP850", "nl_SR", "CP850",
-+ "nn_NO", "CP850", "nb_NO", "CP850", "pl_PL", "CP852", "pt_BR", "CP850",
-+ "pt_PT", "CP850", "rm_CH", "CP850", "ro_RO", "CP852", "ru_RU", "CP866",
-+ "sk_SK", "CP852", "sl_SI", "CP852", "sq_AL", "CP852", "sr_RS", "CP855",
-+ "sr_RS", "CP852", "sv_SE", "CP850", "sv_FI", "CP850", "sw_KE", "CP437",
-+ "th_TH", "CP874", "tr_TR", "CP857", "tt_RU", "CP866", "uk_UA", "CP866",
-+ "ur_PK", "CP720", "uz_UZ", "CP866", "uz_UZ", "CP857", "vi_VN", "CP1258",
-+ "wa_BE", "CP850", "zh_HK", "CP950", "zh_SG", "CP936"};
-+
-+ const char *lcToAnsiTable[] = {
-+ "af_ZA", "CP1252", "ar_SA", "CP1256", "ar_LB", "CP1256", "ar_EG", "CP1256",
-+ "ar_DZ", "CP1256", "ar_BH", "CP1256", "ar_IQ", "CP1256", "ar_JO", "CP1256",
-+ "ar_KW", "CP1256", "ar_LY", "CP1256", "ar_MA", "CP1256", "ar_OM", "CP1256",
-+ "ar_QA", "CP1256", "ar_SY", "CP1256", "ar_TN", "CP1256", "ar_AE", "CP1256",
-+ "ar_YE", "CP1256","ast_ES", "CP1252", "az_AZ", "CP1251", "az_AZ", "CP1254",
-+ "be_BY", "CP1251", "bg_BG", "CP1251", "br_FR", "CP1252", "ca_ES", "CP1252",
-+ "zh_CN", "CP936", "zh_TW", "CP950", "kw_GB", "CP1252", "cs_CZ", "CP1250",
-+ "cy_GB", "CP1252", "da_DK", "CP1252", "de_AT", "CP1252", "de_LI", "CP1252",
-+ "de_LU", "CP1252", "de_CH", "CP1252", "de_DE", "CP1252", "el_GR", "CP1253",
-+ "en_AU", "CP1252", "en_CA", "CP1252", "en_GB", "CP1252", "en_IE", "CP1252",
-+ "en_JM", "CP1252", "en_BZ", "CP1252", "en_PH", "CP1252", "en_ZA", "CP1252",
-+ "en_TT", "CP1252", "en_US", "CP1252", "en_ZW", "CP1252", "en_NZ", "CP1252",
-+ "es_PA", "CP1252", "es_BO", "CP1252", "es_CR", "CP1252", "es_DO", "CP1252",
-+ "es_SV", "CP1252", "es_EC", "CP1252", "es_GT", "CP1252", "es_HN", "CP1252",
-+ "es_NI", "CP1252", "es_CL", "CP1252", "es_MX", "CP1252", "es_ES", "CP1252",
-+ "es_CO", "CP1252", "es_ES", "CP1252", "es_PE", "CP1252", "es_AR", "CP1252",
-+ "es_PR", "CP1252", "es_VE", "CP1252", "es_UY", "CP1252", "es_PY", "CP1252",
-+ "et_EE", "CP1257", "eu_ES", "CP1252", "fa_IR", "CP1256", "fi_FI", "CP1252",
-+ "fo_FO", "CP1252", "fr_FR", "CP1252", "fr_BE", "CP1252", "fr_CA", "CP1252",
-+ "fr_LU", "CP1252", "fr_MC", "CP1252", "fr_CH", "CP1252", "ga_IE", "CP1252",
-+ "gd_GB", "CP1252", "gv_IM", "CP1252", "gl_ES", "CP1252", "he_IL", "CP1255",
-+ "hr_HR", "CP1250", "hu_HU", "CP1250", "id_ID", "CP1252", "is_IS", "CP1252",
-+ "it_IT", "CP1252", "it_CH", "CP1252", "iv_IV", "CP1252", "ja_JP", "CP932",
-+ "kk_KZ", "CP1251", "ko_KR", "CP949", "ky_KG", "CP1251", "lt_LT", "CP1257",
-+ "lv_LV", "CP1257", "mk_MK", "CP1251", "mn_MN", "CP1251", "ms_BN", "CP1252",
-+ "ms_MY", "CP1252", "nl_BE", "CP1252", "nl_NL", "CP1252", "nl_SR", "CP1252",
-+ "nn_NO", "CP1252", "nb_NO", "CP1252", "pl_PL", "CP1250", "pt_BR", "CP1252",
-+ "pt_PT", "CP1252", "rm_CH", "CP1252", "ro_RO", "CP1250", "ru_RU", "CP1251",
-+ "sk_SK", "CP1250", "sl_SI", "CP1250", "sq_AL", "CP1250", "sr_RS", "CP1251",
-+ "sr_RS", "CP1250", "sv_SE", "CP1252", "sv_FI", "CP1252", "sw_KE", "CP1252",
-+ "th_TH", "CP874", "tr_TR", "CP1254", "tt_RU", "CP1251", "uk_UA", "CP1251",
-+ "ur_PK", "CP1256", "uz_UZ", "CP1251", "uz_UZ", "CP1254", "vi_VN", "CP1258",
-+ "wa_BE", "CP1252", "zh_HK", "CP950", "zh_SG", "CP936"};
-+
-+ bool isAnsi = false;
-+ bool isOem = false;
-+
-+ if (!isUtf8 &&
-+ MadeByVersion.HostOS == NFileHeader::NHostOS::kNTFS &&
-+ MadeByVersion.Version >= 20) {
-+ isAnsi = true;
-+ } else if (!isUtf8 &&
-+ (MadeByVersion.HostOS == NFileHeader::NHostOS::kNTFS ||
-+ MadeByVersion.HostOS == NFileHeader::NHostOS::kFAT)) {
-+ isOem = true;
-+ }
-+
-+ if (isOem || isAnsi) {
-+
-+ const char *legacyCp = nullptr;
-+ int tableLen = sizeof(isOem ? lcToOemTable : lcToAnsiTable) / sizeof(char *);
-+ int lcLen = 0, i;
-+
-+ // Detect required code page name from current locale
-+ char *lc = setlocale(LC_CTYPE, "");
-+
-+ if (lc && lc[0]) {
-+ // Compare up to the dot, if it exists, e.g. en_US.UTF-8
-+ for (lcLen = 0; lc[lcLen] != '.' && lc[lcLen] != ':' && lc[lcLen] != '\0'; ++lcLen);
-+
-+ for (i = 0; i < tableLen; i += 2)
-+ if (strncmp(lc, (isOem ? lcToOemTable[i] : lcToAnsiTable[i]), lcLen) == 0) {
-+ legacyCp = isOem ? lcToOemTable[i + 1] : lcToAnsiTable[i + 1];
-+ break; // Stop searching once a match is found
-+ }
- }
-
-- iconv_t cd;
-- if ((cd = iconv_open("UTF-8", oemcp)) != (iconv_t)-1) {
-+ if (legacyCp) {
-+ iconv_t cd;
-+ if ((cd = iconv_open("UTF-8", legacyCp)) != (iconv_t)-1) {
-
-- AString s_utf8;
-- const char* src = s.Ptr();
-- size_t slen = s.Len();
-- size_t dlen = slen * 4;
-- const char* dest = s_utf8.GetBuf_SetEnd(dlen + 1); // (source length * 4) + null termination
-+ AString sUtf8;
-
-- size_t done = iconv(cd, (char**)&src, &slen, (char**)&dest, &dlen);
-- bzero((size_t*)dest + done, 1);
-+ size_t slen = s.Len();
-+ char* src = const_cast<char*>(s.Ptr());
-
-- iconv_close(cd);
-+ size_t dlen = slen * 4 + 1; // (source length * 4) + null termination
-+ char* dst = sUtf8.GetBuf_SetEnd(dlen);
-+ const char* dstStart = dst;
-
-- if (ConvertUTF8ToUnicode(s_utf8, res) || ignore_Utf8_Errors)
-- return;
-- }
-+ memset(dst, 0, dlen);
-+
-+ size_t done = iconv(cd, &src, &slen, &dst, &dlen);
-+
-+ if (done == (size_t)-1) {
-+ iconv_close(cd);
-+
-+ // iconv failed. Falling back to default behavior
-+ MultiByteToUnicodeString2(res, s, useSpecifiedCodePage ? codePage : GetCodePage());
-+ return;
-+ }
-+
-+ // Null-terminate the result
-+ *dst = '\0';
-+
-+ iconv_close(cd);
-+
-+ AString sUtf8CorrectLength;
-+ unsigned dstCorrectLength = dst - dstStart;
-+ sUtf8CorrectLength.SetFrom(sUtf8, dstCorrectLength);
-+ if (ConvertUTF8ToUnicode(sUtf8CorrectLength, res) /*|| ignore_Utf8_Errors*/)
-+ return;
-+ }
-+ }
- }
- #endif
-
diff --git a/app-arch/p7zip/files/p7zip-17.05-natspec.patch b/app-arch/p7zip/files/p7zip-17.05-natspec.patch
deleted file mode 100644
index 7487924af306..000000000000
--- a/app-arch/p7zip/files/p7zip-17.05-natspec.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-commit f25f0b75bbeb485961dc139aed6b5b474552d043 (HEAD -> main)
-Author: Taiki Sugawara <buzz.taiki@gmail.com>
-Date: Wed May 12 18:26:11 2021 +0900
-
- natspec patch for p7zip 17.x
-
-diff --git a/CPP/7zip/Archive/Zip/ZipItem.cpp b/CPP/7zip/Archive/Zip/ZipItem.cpp
-index 353e895..44071f3 100644
---- a/CPP/7zip/Archive/Zip/ZipItem.cpp
-+++ b/CPP/7zip/Archive/Zip/ZipItem.cpp
-@@ -1,9 +1,7 @@
- // Archive/ZipItem.cpp
-
--#if (!defined _WIN32) && (!defined __CYGWIN__) && (!defined __APPLE__)
- #include <iconv.h>
--#include <locale.h>
--#endif
-+#include <natspec.h>
-
- #include "StdAfx.h"
-
-@@ -355,87 +353,15 @@ void CItem::GetUnicodeString(UString &res, const AString &s, bool isComment, boo
- #endif
- }
-
-- #if (!defined _WIN32) && (!defined __CYGWIN__) && (!defined __APPLE__)
-- // Convert OEM char set to UTF-8 if needed
-- // Use system locale to select code page
--
-- Byte hostOS = GetHostOS();
-- if (!isUtf8 && ((hostOS == NFileHeader::NHostOS::kFAT) || (hostOS == NFileHeader::NHostOS::kNTFS))) {
--
-- const char *oemcp;
-- oemcp = getenv("OEMCP");
-- if (!oemcp) {
-- oemcp = "CP437\0"; // CP name is 6 chars max
--
-- const char *lc_to_cp_table[] = {
-- "af_ZA", "CP850", "ar_SA", "CP720", "ar_LB", "CP720", "ar_EG", "CP720",
-- "ar_DZ", "CP720", "ar_BH", "CP720", "ar_IQ", "CP720", "ar_JO", "CP720",
-- "ar_KW", "CP720", "ar_LY", "CP720", "ar_MA", "CP720", "ar_OM", "CP720",
-- "ar_QA", "CP720", "ar_SY", "CP720", "ar_TN", "CP720", "ar_AE", "CP720",
-- "ar_YE", "CP720","ast_ES", "CP850", "az_AZ", "CP866", "az_AZ", "CP857",
-- "be_BY", "CP866", "bg_BG", "CP866", "br_FR", "CP850", "ca_ES", "CP850",
-- "zh_CN", "CP936", "zh_TW", "CP950", "kw_GB", "CP850", "cs_CZ", "CP852",
-- "cy_GB", "CP850", "da_DK", "CP850", "de_AT", "CP850", "de_LI", "CP850",
-- "de_LU", "CP850", "de_CH", "CP850", "de_DE", "CP850", "el_GR", "CP737",
-- "en_AU", "CP850", "en_CA", "CP850", "en_GB", "CP850", "en_IE", "CP850",
-- "en_JM", "CP850", "en_BZ", "CP850", "en_PH", "CP437", "en_ZA", "CP437",
-- "en_TT", "CP850", "en_US", "CP437", "en_ZW", "CP437", "en_NZ", "CP850",
-- "es_PA", "CP850", "es_BO", "CP850", "es_CR", "CP850", "es_DO", "CP850",
-- "es_SV", "CP850", "es_EC", "CP850", "es_GT", "CP850", "es_HN", "CP850",
-- "es_NI", "CP850", "es_CL", "CP850", "es_MX", "CP850", "es_ES", "CP850",
-- "es_CO", "CP850", "es_ES", "CP850", "es_PE", "CP850", "es_AR", "CP850",
-- "es_PR", "CP850", "es_VE", "CP850", "es_UY", "CP850", "es_PY", "CP850",
-- "et_EE", "CP775", "eu_ES", "CP850", "fa_IR", "CP720", "fi_FI", "CP850",
-- "fo_FO", "CP850", "fr_FR", "CP850", "fr_BE", "CP850", "fr_CA", "CP850",
-- "fr_LU", "CP850", "fr_MC", "CP850", "fr_CH", "CP850", "ga_IE", "CP437",
-- "gd_GB", "CP850", "gv_IM", "CP850", "gl_ES", "CP850", "he_IL", "CP862",
-- "hr_HR", "CP852", "hu_HU", "CP852", "id_ID", "CP850", "is_IS", "CP850",
-- "it_IT", "CP850", "it_CH", "CP850", "iv_IV", "CP437", "ja_JP", "CP932",
-- "kk_KZ", "CP866", "ko_KR", "CP949", "ky_KG", "CP866", "lt_LT", "CP775",
-- "lv_LV", "CP775", "mk_MK", "CP866", "mn_MN", "CP866", "ms_BN", "CP850",
-- "ms_MY", "CP850", "nl_BE", "CP850", "nl_NL", "CP850", "nl_SR", "CP850",
-- "nn_NO", "CP850", "nb_NO", "CP850", "pl_PL", "CP852", "pt_BR", "CP850",
-- "pt_PT", "CP850", "rm_CH", "CP850", "ro_RO", "CP852", "ru_RU", "CP866",
-- "sk_SK", "CP852", "sl_SI", "CP852", "sq_AL", "CP852", "sr_RS", "CP855",
-- "sr_RS", "CP852", "sv_SE", "CP850", "sv_FI", "CP850", "sw_KE", "CP437",
-- "th_TH", "CP874", "tr_TR", "CP857", "tt_RU", "CP866", "uk_UA", "CP866",
-- "ur_PK", "CP720", "uz_UZ", "CP866", "uz_UZ", "CP857", "vi_VN", "CP1258",
-- "wa_BE", "CP850", "zh_HK", "CP950", "zh_SG", "CP936"};
-- int table_len = sizeof(lc_to_cp_table) / sizeof(char *);
-- int lc_len, i;
--
-- char *lc = setlocale(LC_CTYPE, "");
--
-- if (lc && lc[0]) {
-- // Compare up to the dot, if it exists, e.g. en_US.UTF-8
-- for (lc_len = 0; lc[lc_len] != '.' && lc[lc_len] != '\0'; ++lc_len)
-- ;
-- for (i = 0; i < table_len; i += 2)
-- if (strncmp(lc, lc_to_cp_table[i], lc_len) == 0)
-- oemcp = lc_to_cp_table[i + 1];
-- }
-- }
--
-- iconv_t cd;
-- if ((cd = iconv_open("UTF-8", oemcp)) != (iconv_t)-1) {
--
-- AString s_utf8;
-- const char* src = s.Ptr();
-- size_t slen = s.Len();
-- size_t dlen = slen * 4;
-- const char* dest = s_utf8.GetBuf_SetEnd(dlen + 1); // (source length * 4) + null termination
--
-- size_t done = iconv(cd, (char**)&src, &slen, (char**)&dest, &dlen);
-- bzero((size_t*)dest + done, 1);
--
-- iconv_close(cd);
--
-- if (ConvertUTF8ToUnicode(s_utf8, res) || ignore_Utf8_Errors)
-- return;
-- }
-+ if (!isUtf8) {
-+ const char *oem_charset = natspec_get_charset_by_locale(NATSPEC_DOSCS, "");
-+ char *p = natspec_convert(s.Ptr(), NULL, oem_charset, 0);
-+ AString utf = p;
-+ free(p);
-+ if (ConvertUTF8ToUnicode(utf, res))
-+ return;
- }
-- #endif
--
-+
- if (isUtf8)
- if (ConvertUTF8ToUnicode(s, res) || ignore_Utf8_Errors)
- return;
diff --git a/app-arch/p7zip/files/p7zip-17.05-unit64.patch b/app-arch/p7zip/files/p7zip-17.05-unit64.patch
deleted file mode 100644
index 0aa19e329ac0..000000000000
--- a/app-arch/p7zip/files/p7zip-17.05-unit64.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- p7zip-17.05-orig/C/hashes/hash.h 2023-03-03 23:16:28.000000000 +1100
-+++ p7zip-17.05/C/hashes/hash.h 2023-04-15 09:05:20.357955971 +1000
-@@ -42,17 +42,7 @@
-
- #include "../7zTypes.h"
-
--#ifndef _UINT32_T_DECLARED
--typedef UInt32 uint32_t;
--#define _UINT32_T_DECLARED
--#endif
--
--#ifndef _UINT64_T_DECLARED
--typedef UInt64 uint64_t;
--#define _UINT64_T_DECLARED
--#endif
--
--//#include <stdint.h>
-+#include <stdint.h>
-
- #ifndef min
- #define min(a,b) (((a)>(b))?(b):(a))
diff --git a/app-arch/p7zip/metadata.xml b/app-arch/p7zip/metadata.xml
deleted file mode 100644
index 6a21e35bb813..000000000000
--- a/app-arch/p7zip/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>prometheanfire@gentoo.org</email>
- </maintainer>
- <use>
- <flag name="natspec">Use <pkg>dev-libs/libnatspec</pkg> to correctly decode non-ascii file names archived in Windows.</flag>
- <flag name="rar">Enable support for non-free rar decoder</flag>
- </use>
- <upstream>
- <remote-id type="github">p7zip-project/p7zip</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-arch/p7zip/p7zip-17.05-r2.ebuild b/app-arch/p7zip/p7zip-17.05-r2.ebuild
deleted file mode 100644
index d12cf23c2dec..000000000000
--- a/app-arch/p7zip/p7zip-17.05-r2.ebuild
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib toolchain-funcs wrapper xdg
-
-DESCRIPTION="Port of 7-Zip archiver for Unix"
-HOMEPAGE="https://github.com/p7zip-project/p7zip"
-SRC_URI="https://github.com/p7zip-project/p7zip/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1 rar? ( unRAR )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
-IUSE="abi_x86_x32 natspec +pch rar test"
-
-REQUIRED_USE="test? ( rar )" # bug 907221
-RESTRICT="!test? ( test )"
-
-RDEPEND="natspec? ( dev-libs/libnatspec )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
- amd64? ( dev-lang/yasm )
- x86? ( dev-lang/nasm )"
-
-PATCHES=( "${FILESDIR}/p7zip-17.05-unit64.patch" )
-
-src_prepare() {
- default
-
- if use natspec; then
- eapply "${FILESDIR}"/${P}-natspec.patch
- sed -i '/^LOCAL_LIBS/s/$/ -lnatspec/' makefile.* || die
- else
- eapply "${FILESDIR}/${P}-localization.patch"
- fi
-
- if ! use pch; then
- sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
- fi
-
- sed \
- -e 's|-m32 ||g' \
- -e 's|-m64 ||g' \
- -e 's|-pipe||g' \
- -e "/[ALL|OPT]FLAGS/s|-s||;/OPTIMIZE/s|-s||" \
- -e "/CFLAGS=/s|=|+=|" \
- -e "/CXXFLAGS=/s|=|+=|" \
- -i makefile* || die
-
- # remove non-free RAR codec
- if ! use rar; then
- sed \
- -e '/Rar/d' \
- -e '/RAR/d' \
- -i makefile* CPP/7zip/Bundles/Format7zFree/makefile || die
- rm -r CPP/7zip/Compress/Rar || die
- fi
-
- if use abi_x86_x32; then
- sed -i -e "/^ASM=/s:amd64:x32:" makefile* || die
- cp makefile.linux_amd64_asm makefile.machine || die
- elif use amd64; then
- cp makefile.linux_amd64_asm makefile.machine || die
- elif use x86; then
- cp makefile.linux_x86_asm_gcc_4.X makefile.machine || die
- elif [[ ${CHOST} == *-darwin* ]] ; then
- # Mac OS X needs this special makefile, because it has a non-GNU
- # linker, it doesn't matter so much for bitwidth, for it doesn't
- # do anything with it
- cp makefile.macosx_llvm_64bits makefile.machine || die
- # bundles have extension .bundle but don't die because USE=-rar
- # removes the Rar directory
- sed -i -e '/strcpy(name/s/\.so/.bundle/' \
- CPP/Windows/DLL.cpp || die
- sed -i -e '/^PROG=/s/\.so/.bundle/' \
- CPP/7zip/Bundles/Format7zFree/makefile.list \
- $(use rar && echo CPP/7zip/Compress/Rar/makefile.list) || die
- fi
-}
-
-src_compile() {
- emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" all3
-}
-
-src_test() {
- emake test test_7z test_7zr
-}
-
-src_install() {
- # these wrappers cannot be symlinks, p7zip should be called with full path
- make_wrapper 7zr /usr/$(get_libdir)/p7zip/7zr
- make_wrapper 7za /usr/$(get_libdir)/p7zip/7za
- make_wrapper 7z /usr/$(get_libdir)/p7zip/7z
-
- dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
- doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
-
- exeinto /usr/$(get_libdir)/p7zip
- doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
- doexe bin/*$(get_modname)
- if use rar; then
- exeinto /usr/$(get_libdir)/p7zip/Codecs
- doexe bin/Codecs/*$(get_modname)
- fi
-
- doman man1/7z.1 man1/7za.1 man1/7zr.1
-
- dodoc ChangeLog README TODO
- dodoc DOC/*.txt
- docinto html
- dodoc -r DOC/MANUAL/.
-}