summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorkyechou2020-11-06 19:59:15 -0600
committerkyechou2020-11-06 20:01:01 -0600
commit57c7b2c5b000b476ce6406ce62b3753374345c62 (patch)
tree3855eb140907f6c9da30f6cba19ab8d8fa0f4a31
downloadaur-57c7b2c5b000b476ce6406ce62b3753374345c62.tar.gz
Initial commit: 0.1.20
-rw-r--r--.SRCINFO20
-rw-r--r--00-install-specify-bitcode.patch15
-rw-r--r--01-remove-python-installation.patch63
-rw-r--r--PKGBUILD52
4 files changed, 150 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..2783c09b5a74
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,20 @@
+pkgbase = anvill
+ pkgdesc = Library for lifting of x86, amd64, and aarch64 machine code to LLVM bitcode
+ pkgver = 0.1.20
+ pkgrel = 1
+ url = https://github.com/lifting-bits/remill
+ arch = x86_64
+ license = Apache
+ makedepends = clang
+ makedepends = cmake
+ depends = remill
+ depends = python
+ source = https://github.com/lifting-bits/anvill/archive/v0.1.20.tar.gz
+ source = 00-install-specify-bitcode.patch
+ source = 01-remove-python-installation.patch
+ sha256sums = 08241cefeb3e64519c2ad23d0ba8c6c8ef983759de0cff16b0e4a68a77146d48
+ sha256sums = c97e0a015290ae72a80780898d328c59f741c735589ce40573c7a4c182938c3e
+ sha256sums = 9d6716c7aeb2c584ff201b6671b74bb1411182d5e3af9d288e219f70a8fcba63
+
+pkgname = anvill
+
diff --git a/00-install-specify-bitcode.patch b/00-install-specify-bitcode.patch
new file mode 100644
index 000000000000..83e002ef58c0
--- /dev/null
+++ b/00-install-specify-bitcode.patch
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 29f3648..14e5e3d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -197,6 +197,10 @@ install(
+ TARGETS ${DECOMPILE_JSON}
+ RUNTIME DESTINATION "${install_folder}/bin")
+
++install(
++ TARGETS ${SPECIFY_BITCODE}
++ RUNTIME DESTINATION "${install_folder}/bin")
++
+ set(ROUNDTRIP_TEST
+ scripts/roundtrip.py)
+
diff --git a/01-remove-python-installation.patch b/01-remove-python-installation.patch
new file mode 100644
index 000000000000..7f2f7bc6d97f
--- /dev/null
+++ b/01-remove-python-installation.patch
@@ -0,0 +1,63 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 14e5e3d..8ee31ed 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -126,58 +126,6 @@ set(SPECIFY_BITCODE anvill-specify-bitcode-${REMILL_LLVM_VERSION})
+ add_executable(${SPECIFY_BITCODE} bin/Bitcode.cpp)
+ target_link_libraries(${SPECIFY_BITCODE} PRIVATE ${ANVILL})
+
+-set(ANVILL_PYTHON_SOURCES
+- setup.py
+- python/anvill/__init__.py
+- python/anvill/__main__.py
+- python/anvill/arch.py
+- python/anvill/binja.py
+- python/anvill/exc.py
+- python/anvill/function.py
+- python/anvill/ida.py
+- python/anvill/loc.py
+- python/anvill/mem.py
+- python/anvill/os.py
+- python/anvill/program.py
+- python/anvill/type.py
+- python/anvill/var.py)
+-
+-if(NOT DEFINED ENV{VIRTUAL_ENV})
+- # NOT a venv install, specify --user and --prefix
+- set(extra_install_flags --force --user --prefix=)
+-else()
+- #virtual env; install normally
+- set(extra_install_flags "")
+-endif()
+-
+-if(ANVILL_INSTALL_PYTHON2_LIBS)
+- add_custom_target(install_anvill_python2
+- DEPENDS ${ANVILL_PYTHON_SOURCES})
+-
+- add_custom_command(
+- TARGET install_anvill_python2 POST_BUILD
+- COMMAND which python2 && python2 setup.py install ${extra_install_flags}
+- COMMENT "Installing Anvill Python 2 API"
+- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
+-
+- add_dependencies(${ANVILL}
+- install_anvill_python2)
+-endif()
+-
+-if(ANVILL_INSTALL_PYTHON3_LIBS)
+- add_custom_target(install_anvill_python3
+- DEPENDS ${ANVILL_PYTHON_SOURCES})
+-
+- add_custom_command(
+- TARGET install_anvill_python3 POST_BUILD
+- COMMAND which python3.8 && python3.8 setup.py install ${extra_install_flags}
+- COMMENT "Installing Anvill Python 3 API"
+- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
+-
+- add_dependencies(${ANVILL}
+- install_anvill_python3)
+-endif()
+-
+ #
+ # install settings
+ #
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..aef7393072db
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,52 @@
+# Maintainer: Kuan-Yen Chou <kuanyenchou at gmail dot com>
+
+pkgname=anvill
+pkgver=0.1.20
+pkgrel=1
+pkgdesc="Library for lifting of x86, amd64, and aarch64 machine code to LLVM bitcode"
+arch=('x86_64')
+url="https://github.com/lifting-bits/remill"
+license=('Apache')
+depends=('remill' 'python')
+makedepends=('clang' 'cmake')
+source=("https://github.com/lifting-bits/anvill/archive/v${pkgver}.tar.gz"
+ '00-install-specify-bitcode.patch'
+ '01-remove-python-installation.patch')
+sha256sums=('08241cefeb3e64519c2ad23d0ba8c6c8ef983759de0cff16b0e4a68a77146d48'
+ 'c97e0a015290ae72a80780898d328c59f741c735589ce40573c7a4c182938c3e'
+ '9d6716c7aeb2c584ff201b6671b74bb1411182d5e3af9d288e219f70a8fcba63')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i "$srcdir/00-install-specify-bitcode.patch"
+ patch -Np1 -i "$srcdir/01-remove-python-installation.patch"
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ mkdir -p build && cd build
+ cmake \
+ -DCMAKE_C_COMPILER=/usr/bin/clang \
+ -DCMAKE_CXX_COMPILER=/usr/bin/clang++ \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_VERBOSE_MAKEFILE=True \
+ "$srcdir/$pkgname-$pkgver"
+ make
+
+ cd "$srcdir/$pkgname-$pkgver"
+ python setup.py build
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver/build"
+ make DESTDIR="${pkgdir}" install
+
+ cd "$srcdir/$pkgname-$pkgver"
+ python setup.py install \
+ --prefix=/usr \
+ --root="$pkgdir" \
+ --optimize=1 \
+ --skip-build
+}
+
+# vim: set sw=4 ts=4 et: