summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorHanabishi2022-09-17 01:55:04 +0500
committerHanabishi2022-09-17 01:55:04 +0500
commit8e6b6b90bb50b61611c44a8255af18885c67ac01 (patch)
treec7032a7284d999b097acb1b564cf604578ad2545
parent841e5ff12467561c38db0db97a6bcb0b1ac13804 (diff)
downloadaur-8e6b6b90bb50b61611c44a8255af18885c67ac01.tar.gz
Build for supported architectures + allow clang
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD29
-rw-r--r--prepare.patch6
3 files changed, 26 insertions, 15 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 4fc221ecc11b..5aff363273ca 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,11 @@
pkgbase = 7-zip-full
pkgdesc = File archiver with a high compression ratio. (Full package to replace p7zip.)
pkgver = 22.01
- pkgrel = 2
+ pkgrel = 3
url = https://www.7-zip.org
arch = x86_64
+ arch = i686
+ arch = aarch64
license = LGPL
makedepends = uasm
provides = 7-zip
@@ -13,6 +15,6 @@ pkgbase = 7-zip-full
source = 7z2201-src.tar.xz::https://www.7-zip.org/a/7z2201-src.tar.xz
source = prepare.patch
sha256sums = 393098730c70042392af808917e765945dc2437dee7aae3cfcc4966eb920fbc5
- sha256sums = fa1fd77e9d95f97d349f057c53b9ba4bacde64b2fae3a50d16b1d93e991d7866
+ sha256sums = 4e010de2dce2eebbe72d0e9f72fbf953eb2f8cba7bffbae53bda1544e3879101
pkgname = 7-zip-full
diff --git a/PKGBUILD b/PKGBUILD
index d382295250f9..546a4b6d0324 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,11 +1,12 @@
pkgname=7-zip-full
pkgver=22.01
-pkgrel=2
+pkgrel=3
pkgdesc="File archiver with a high compression ratio. (Full package to replace p7zip.)"
url="https://www.7-zip.org"
license=(LGPL)
-arch=(x86_64)
+arch=('x86_64' 'i686' 'aarch64')
makedepends=('uasm')
+[ "${CC}" == 'clang' ] && makedepends+=('clang' 'lld')
provides=("${pkgname%-full}" 'p7zip')
conflicts=("${provides[@]}")
@@ -18,7 +19,7 @@ source=(
sha256sums=(
'393098730c70042392af808917e765945dc2437dee7aae3cfcc4966eb920fbc5'
- 'fa1fd77e9d95f97d349f057c53b9ba4bacde64b2fae3a50d16b1d93e991d7866'
+ '4e010de2dce2eebbe72d0e9f72fbf953eb2f8cba7bffbae53bda1544e3879101'
)
prepare() {
@@ -29,13 +30,27 @@ prepare() {
build() {
local bundles="${srcdir}/CPP/7zip/Bundles"
- local mak="${srcdir}/CPP/7zip/cmpl_gcc_x64.mak"
local targets=("Alone" "Alone2" "Alone7z" "Format7zF")
+ local -A platforms=(['x86_64']='x64' ['i686']='x86' ['aarch64']='arm64')
+ local build_dir="${srcdir}/build"
+ mkdir -p "${build_dir}"
+
(
- export BUILD_DIR="${srcdir}/build"
- mkdir -p "${BUILD_DIR}"
+ set -a
+ PLATFORM="${platforms["${CARCH}"]}"
+ O="${build_dir}"
+ IS_X64=$([ "${PLATFORM}" == 'x64' ] && echo '1' || echo '')
+ IS_X86=$([ "${PLATFORM}" == 'x86' ] && echo '1' || echo '')
+ IS_ARM64=$([ "${PLATFORM}" == 'arm64' ] && echo '1' || echo '')
+ MY_ARCH=
+ USE_ASM=1
+ CC="${CC:-gcc}"
+ CXX="${CXX:-g++}"
+ CFLAGS_WARN='-Wno-error'
+ set +a
+
for target in "${targets[@]}"; do
- make -C "${bundles}/${target}" -f "${mak}"
+ make -C "${bundles}/${target}" -f 'makefile.gcc'
done
)
}
diff --git a/prepare.patch b/prepare.patch
index f3db0237c117..61feacdb061a 100644
--- a/prepare.patch
+++ b/prepare.patch
@@ -15,9 +15,3 @@
@@ -182 +182 @@
-CXXFLAGS = $(MY_ARCH_2) $(LOCAL_FLAGS) $(CXXFLAGS_BASE2) $(CFLAGS_BASE) $(CXXFLAGS_EXTRA) $(CC_SHARED) -o $@ $(CXX_WARN_FLAGS)
+CXXFLAGS += $(MY_ARCH_2) $(LOCAL_FLAGS) $(CXXFLAGS_BASE2) $(CFLAGS_BASE) $(CXXFLAGS_EXTRA) $(CC_SHARED) -o $@ $(CXX_WARN_FLAGS)
-
---- CPP/7zip/var_gcc_x64.mak
-+++ CPP/7zip/var_gcc_x64.mak
-@@ -2 +2 @@
--O=b/g_$(PLATFORM)
-+O=$(BUILD_DIR)