diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-21 13:31:34 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-21 13:31:34 +0200 |
| commit | e2b4ecb8f28892ea7ec0296828585372bdccb23f (patch) | |
| tree | 22ab36392ce7ecb16deb4d185fb3594064cf2303 | |
| parent | 4f3bcde7116751f59c0bcc4a274ca96030fa2a87 (diff) | |
| download | my-slackbuilds-e2b4ecb8f28892ea7ec0296828585372bdccb23f.tar.gz my-slackbuilds-e2b4ecb8f28892ea7ec0296828585372bdccb23f.zip | |
android-tools: add version 37.0.0main
Imported from SBo (development/android-tools, current branch) and
adapted for Slackware64-current: build with the system cmake instead
of cmake-opt, and drop REQUIRES since current ships cmake, fmt,
googletest and protobuf.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
| -rw-r--r-- | .extras/nvchecker.toml | 5 | ||||
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | android-tools/README | 2 | ||||
| -rw-r--r-- | android-tools/android-tools.SlackBuild | 117 | ||||
| -rw-r--r-- | android-tools/android-tools.info | 10 | ||||
| -rw-r--r-- | android-tools/protobuf-36-absl-log-macros.patch | 57 | ||||
| -rw-r--r-- | android-tools/slack-desc | 19 |
7 files changed, 211 insertions, 0 deletions
diff --git a/.extras/nvchecker.toml b/.extras/nvchecker.toml index e8aa80a..928bb7b 100644 --- a/.extras/nvchecker.toml +++ b/.extras/nvchecker.toml @@ -249,3 +249,8 @@ source = "github" github = "storytold/lightcraft" use_latest_release = true prefix = "v" + +[android-tools] +source = "github" +github = "nmeum/android-tools" +use_latest_release = true @@ -81,6 +81,7 @@ Each package lives in its own top-level subfolder: | ak820-ctl | ✅ | not tested | ❌ | 0.1.0+git20260414 | 0.1.0+git20260414 | | photocraft-bin | ✅ | ❌ | ❌ | 0.8.2 | 0.8.2 | | lightcraft-bin | ✅ | ❌ | ❌ | 0.7.1 | 0.7.1 | +| android-tools | ✅ | ❌ | ✅ [android-tools](https://slackbuilds.org/repository/15.0/development/android-tools/) | 37.0.0 | 37.0.0p1 | > **Note on `quickshell`:** Slackware 15.0 ships Qt5 only, so this package is > **Slackware64-current only**. It also relies on private Qt APIs and must be diff --git a/android-tools/README b/android-tools/README new file mode 100644 index 0000000..6cbb93b --- /dev/null +++ b/android-tools/README @@ -0,0 +1,2 @@ +These are the adb, append2simg, fastboot, img2simg, mke2fs.android +and simg2img tools from the android sdk. diff --git a/android-tools/android-tools.SlackBuild b/android-tools/android-tools.SlackBuild new file mode 100644 index 0000000..a71ae7d --- /dev/null +++ b/android-tools/android-tools.SlackBuild @@ -0,0 +1,117 @@ +#!/bin/bash +# +# Slackware build script for android-tools +# Thanks to the Arch linux maintainers for the makefiles + +# Copyright 2016, 2017, 2022-2025 Philip van der Hoeven, Almere, NL +# Copyright 2026 Jeremy Hansen <jebrhansen+SBo@gmail.com> +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=android-tools +VERSION=${VERSION:-37.0.0} +BUILD=${BUILD:-2} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" +fi + +if [ "$ARCH" = "i586" -o "$ARCH" = "i686" ]; then + EXTRAOPTS="-DOPENSSL_NO_ASM=ON" +else + EXTRAOPTS="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.xz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +patch -p1 < $CWD/protobuf-36-absl-log-macros.patch + +mkdir -p build +cd build + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -GNinja -Wno-dev \ + -DCMAKE_BUILD_TYPE=Release .. \ + -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON \ + -Dprotobuf_MODULE_COMPATIBLE=ON \ + -DANDROID_TOOLS_LIBUSB_ENABLE_UDEV=ON \ + -DANDROID_TOOLS_USE_BUNDLED_LIBUSB=ON \ + $EXTRAOPTS + "${NINJA:=ninja}" + DESTDIR=$PKG $NINJA install +cd .. + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mv $PKG/usr/share/man $PKG/usr +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/android-tools/android-tools.info b/android-tools/android-tools.info new file mode 100644 index 0000000..cf73ad7 --- /dev/null +++ b/android-tools/android-tools.info @@ -0,0 +1,10 @@ +PRGNAM="android-tools" +VERSION="37.0.0" +HOMEPAGE="http://developer.android.com/sdk/" +DOWNLOAD="https://github.com/nmeum/android-tools/releases/download/37.0.0/android-tools-37.0.0.tar.xz" +MD5SUM="df4d303a60f2cd6bb6cf2bfbc2a5a590" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="danix" +EMAIL="danix@danix.xyz" diff --git a/android-tools/protobuf-36-absl-log-macros.patch b/android-tools/protobuf-36-absl-log-macros.patch new file mode 100644 index 0000000..3593c76 --- /dev/null +++ b/android-tools/protobuf-36-absl-log-macros.patch @@ -0,0 +1,57 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Felix Yan <felixonmars@archlinux.org> +Date: Thu, 27 Aug 2026 16:00:00 +0800 +Subject: [PATCH] adb: keep libbase logging macros after protobuf includes + +Protobuf 36's descriptor.h includes absl/log/log.h, which defines the +short LOG and VLOG macros. Several adb sources include generated protobuf +headers after adb's libbase logging/trace headers; those protobuf headers +then replace adb's macros and make adb_trace.h's LOG(DEBUG) expand as +Abseil logging, where DEBUG is not a valid severity. + +sysdeps.h is the first include for most adb translation units. Extend its +existing protobuf-first include to cover descriptor.h as well, so Abseil's +short logging macros are seen before android-base/logging.h and adb_trace.h +install adb's macros. Include sysdeps.h first from mdns_tracker.cpp too, +matching the rest of adb host sources. + +This keeps adb's logging behavior intact and avoids per-include macro +save/restore blocks. +--- + vendor/adb/client/mdns_tracker.cpp | 2 ++ + vendor/adb/sysdeps.h | 7 +++++-- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/vendor/adb/client/mdns_tracker.cpp b/vendor/adb/client/mdns_tracker.cpp +index 92ef35086b18..0f21f5054164 100644 +--- a/vendor/adb/client/mdns_tracker.cpp ++++ b/vendor/adb/client/mdns_tracker.cpp +@@ -14,6 +14,8 @@ + * limitations under the License. + */ + ++#include "sysdeps.h" ++ + #include "mdns_tracker.h" + + #include <list> +diff --git a/vendor/adb/sysdeps.h b/vendor/adb/sysdeps.h +index 970e7cf27b4d..da2a8830317e 100644 +--- a/vendor/adb/sysdeps.h ++++ b/vendor/adb/sysdeps.h +@@ -24,9 +24,12 @@ + # undef _WIN32 + #endif + +-// Include this protobuf header first, because it uses some write() calls +-// that we will redefine later. Not all modules that include sysdeps.h use +-// protobufs, so only include it if it exists. ++// Include protobuf headers first, because they expose Abseil's LOG/VLOG macros ++// and use some write() calls that we will redefine later. Not all modules that ++// include sysdeps.h use protobufs, so only include them if they exist. ++#if __has_include("google/protobuf/descriptor.h") ++#include "google/protobuf/descriptor.h" ++#endif + #if __has_include("google/protobuf/io/coded_stream.h") + #include "google/protobuf/io/coded_stream.h" + #endif diff --git a/android-tools/slack-desc b/android-tools/slack-desc new file mode 100644 index 0000000..d48be13 --- /dev/null +++ b/android-tools/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +android-tools: android-tools (adb and fastboot tools) +android-tools: +android-tools: These are the adb and fastboot tools from the android sdk. +android-tools: +android-tools: +android-tools: +android-tools: +android-tools: +android-tools: +android-tools: +android-tools: |
