diff options
author | Hanabishi | 2022-09-17 01:55:04 +0500 |
---|---|---|
committer | Hanabishi | 2022-09-17 01:55:04 +0500 |
commit | 8e6b6b90bb50b61611c44a8255af18885c67ac01 (patch) | |
tree | c7032a7284d999b097acb1b564cf604578ad2545 | |
parent | 841e5ff12467561c38db0db97a6bcb0b1ac13804 (diff) | |
download | aur-8e6b6b90bb50b61611c44a8255af18885c67ac01.tar.gz |
Build for supported architectures + allow clang
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 29 | ||||
-rw-r--r-- | prepare.patch | 6 |
3 files changed, 26 insertions, 15 deletions
@@ -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 @@ -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)
|