Package Details: movfuscator-git r48.ea37dae-2

Git Clone URL: https://aur.archlinux.org/movfuscator-git.git (read-only, click to copy)
Package Base: movfuscator-git
Description: The single instruction C compiler
Upstream URL: https://github.com/xoreaxeaxeax/movfuscator
Licenses: BSD
Conflicts: movcc, movfuscator
Provides: movcc, movfuscator
Submitter: nlowe
Maintainer: aviallon
Last Packager: aviallon
Votes: 2
Popularity: 0.002519
First Submitted: 2017-09-14 17:11 (UTC)
Last Updated: 2021-01-11 15:13 (UTC)

Dependencies (2)

Required by (0)

Sources (4)

Latest Comments

aviallon commented on 2020-11-30 14:03 (UTC) (edited on 2021-01-11 15:09 (UTC) by aviallon)

@NieDzejkob I tried to fix the hardcoded path but I'm hitting a wall here. Still, I did some work to make the package more sane, and to better follow the packaging guidelines.

aviallon commented on 2020-11-30 14:00 (UTC) (edited on 2020-11-30 14:01 (UTC) by aviallon)

Fixing a bunch of issues in the PKGBUILD :

diff --git a/PKGBUILD b/PKGBUILD
index 324be15..b7cf4d9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,38 +1,51 @@
 # Maintainer: Nathan Lowe <techwiz96@gmail.com>
 pkgname=movfuscator-git
-_pkgver=2
-pkgver=${_pkgver}.3273164
-pkgrel=2
+pkgver=r48.ea37dae
+pkgrel=1
 pkgdesc="The single instruction C compiler"
 arch=('x86_64')
-provides=('movcc')
-conflicts=('movcc')
+provides=('movcc' 'movfuscator')
+conflicts=('movcc' 'movfuscator')
 makedepends=('gcc-multilib' 'git')
 url="https://github.com/xoreaxeaxeax/movfuscator"
 license=('BSD')
-source=("$pkgname::git+$url.git")
-sha256sums=('SKIP')
-
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+source=("$pkgname::git+$url.git"
+               "ldargs.patch"
+               #"wrong_builtin_binary_path.patch"
+               "movcc")
+sha256sums=('SKIP'
+            'd8d19cbca2954f523c66543f2e7d00f7296cdf40a970cefd4a6326dc51e90c48'
+            #'4f44b4ce54da6568d801d04b642c51217f70cbe558907027dd3b09aad294151f'
+            'b85126987376ecec037b483e38eafd20ad6f0dec111485091ffdcfd8000d0276')

 pkgver() {
-  cd ${srcdir}/${pkgname}
-  printf "${_pkgver}.%s" "$(git rev-parse --short HEAD)"
+  cd "$pkgname"
+  ( set -o pipefail
+    git describe --long 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
+    printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+  )
+}
+
+prepare() {
+       git -C "${pkgname}" apply --ignore-space-change --ignore-whitespace "${srcdir}/ldargs.patch"
+       #git -C "${pkgname}" apply --ignore-space-change --ignore-whitespace "${srcdir}/wrong_builtin_binary_path.patch"
 }

 build() {
-    git -C "${srcdir}/${pkgname}" apply --ignore-space-change --ignore-whitespace "${DIR}/ldargs.patch"
-    cd "${srcdir}/${pkgname}"
+    cd "${pkgname}"

     ./build.sh
 }

 package() {
-    mkdir -p "${pkgdir}/usr/share/movfuscator/post"
-    cp -r "${srcdir}/${pkgname}/post/" "${pkgdir}/usr/share/movfuscator/post"
-    find "${pkgdir}/usr/share/movfuscator/post" -type f -name *.py -exec chmod 755 {} \;
+       mkdir -p "${pkgdir}/usr/share/movfuscator"
+    cp -rv "${srcdir}/${pkgname}/post" "${pkgdir}/usr/share/movfuscator/post"
+
+    find "${pkgdir}/usr/share/movfuscator/post" -type f -name *.py -print -exec sed -i '1s=^=#!/bin/env python2\n=' {} \;
+    find "${pkgdir}/usr/share/movfuscator/post" -type f -name *.py -print -exec chmod 755 {} \;

     install -Dm644 "${srcdir}/${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
     install -Dm755 "${srcdir}/${pkgname}/build/movcc" "${pkgdir}/usr/share/movfuscator/bin/movcc"
-    install -Dm755 "${DIR}/movcc" "${pkgdir}/usr/local/bin/movcc"
+    install -Dm755 "${srcdir}/${pkgname}/build/rcc" "${pkgdir}/usr/share/movfuscator/bin/rcc"
+    install -Dm755 "${srcdir}/movcc" "${pkgdir}/usr/local/bin/movcc"
 }

NieDzejkob commented on 2019-05-30 16:55 (UTC)

Running movcc complains about a file in the build directory not existing. The packaged program shouldn't refer to the build directory, as it might not exist.

Con-trast commented on 2017-09-24 16:54 (UTC)

Hello, according to the link bellow "Packages should never be installed to /usr/local". Just wondering, any reason why you chose to go this way? Made an account just to ask this :P https://wiki.archlinux.org/index.php/Arch_packaging_standards#Package_etiquette