[arch-commits] Commit in john/repos (2 files)

Evangelos Foutras foutrelis at archlinux.org
Tue Jul 7 21:36:13 UTC 2020


    Date: Tuesday, July 7, 2020 @ 21:36:13
  Author: foutrelis
Revision: 660445

archrelease: copy trunk to community-staging-x86_64

Added:
  john/repos/community-staging-x86_64/
  john/repos/community-staging-x86_64/PKGBUILD
    (from rev 660444, john/trunk/PKGBUILD)

----------+
 PKGBUILD |  140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 140 insertions(+)

Copied: john/repos/community-staging-x86_64/PKGBUILD (from rev 660444, john/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2020-07-07 21:36:13 UTC (rev 660445)
@@ -0,0 +1,140 @@
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Maintainer: Thorsten Töpper <atsutane-tu at freethoughts.de>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+# Contributor: Dale Blount <dale at archlinux.org>
+# Contributor: Tom Newsom <Jeepster at gmx.co.uk>
+# Contributor: Michal Krenek <mikos at sg1.cz>
+
+pkgname=john
+_jumbover=1
+_johnver=1.9.0
+pkgver=${_johnver}.jumbo${_jumbover}
+pkgrel=3
+pkgdesc='John the Ripper password cracker'
+url='https://www.openwall.com/john'
+arch=('x86_64')
+license=('GPL2' 'custom')
+depends=('openssl' 'gmp' 'libpcap' 'openmpi' 'gcc-libs' 'opencl-icd-loader')
+optdepends=(
+  'bash-completion: completion for bash'
+  'lua: lua based john scripts'
+  'perl: perl based john scripts'
+  'ruby: ruby based john scripts'
+  'python2: python2 based john scripts'
+  'python: python based john scripts')
+makedepends=('pkg-config' 'opencl-headers')
+backup=('etc/john/john.conf')
+source=(https://www.openwall.com/john/k/john-${_johnver}-jumbo-${_jumbover}.tar.xz{,.sign})
+sha512sums=('c5cb5dc739ee4c666f8479cdf10511fddc391b590c59f90c060d3ccd8449b794ac7b831a6d1f7553883892499e709a66578cfa4d62caef9b7e0a831eb827e808'
+            'SKIP')
+validpgpkeys=(
+  '297AD21CF86C948081520C1805C027FD4BDC136E' # Openwall offline signing key
+)
+
+prepare() {
+  cd ${pkgname}-${_johnver}-jumbo-${_jumbover}/src
+  sed 's|$prefix/bin|/usr/lib/john|' -i configure.ac
+  autoreconf -fiv
+}
+
+build() {
+  cd ${pkgname}-${_johnver}-jumbo-${_jumbover}/src
+
+  CFLAGS+=' -fcommon' # https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common
+
+  local CFLAGS="${CFLAGS} -DCPU_FALLBACK"
+  local options=(
+    --prefix=/usr
+    --with-systemwide
+    --disable-native-tests
+    --enable-openmp
+    --enable-mpi
+    --enable-opencl
+    --enable-pkg-config
+    --enable-pcap
+  )
+
+  if [[ "${CARCH}" == "x86_64" ]]; then
+    ./configure "${options[@]}" CFLAGS="${CFLAGS/-DCPU_FALLBACK}"
+    make clean; make
+    mv ../run/john{,-non-avx}
+    ./configure "${options[@]}" CFLAGS="${CFLAGS} -mavx"
+    make clean; make
+    mv ../run/john{,-non-xop}
+    ./configure "${options[@]}" CFLAGS="${CFLAGS} -mxop"
+    make clean; make
+  elif [[ "${CARCH}" == "i686" ]]; then
+    ./configure "${options[@]}" CFLAGS="${CFLAGS}"
+    make clean; make
+    mv ../run/john{,-non-mmx}
+    ./configure "${options[@]}" CFLAGS="${CFLAGS} -mmmx"
+    make clean; make
+    mv ../run/john{,-non-sse}
+    ./configure "${options[@]}" CFLAGS="${CFLAGS} -msse2"
+    make clean; make
+    mv ../run/john{,-non-avx}
+    ./configure "${options[@]}" CFLAGS="${CFLAGS} -mavx"
+    make clean; make
+    mv ../run/john{,-non-xop}
+    ./configure "${options[@]}" CFLAGS="${CFLAGS} -mxop"
+    make clean; make
+  else
+    ./configure "${options[@]}" CFLAGS="${CFLAGS}"
+    make clean; make
+  fi
+}
+
+package() {
+  cd ${pkgname}-${_johnver}-jumbo-${_jumbover}
+
+  # config
+  install -Dm 644 run/john.conf -t "${pkgdir}/etc/john"
+  install -Dm 644 run/*.conf -t "${pkgdir}/usr/share/john"
+
+  # opencl
+  install -Dm 644 run/kernels/* -t "${pkgdir}/usr/share/john/kernels"
+
+  # docs
+  install -d "${pkgdir}/usr/share/doc/john"
+  cp -r doc/* "${pkgdir}/usr/share/doc/john"
+  rm "${pkgdir}/usr/share/doc/john/README"
+  install -Dm 644 README.md "${pkgdir}/usr/share/doc/${pkgname}"
+  install -Dm 644 doc/LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+  chmod -R o+r "${pkgdir}"/usr/share/doc/john/*
+
+  # completion
+  install -Dm 644 run/john.bash_completion "${pkgdir}/usr/share/bash-completion/completions/john"
+  install -Dm 644 run/john.zsh_completion "${pkgdir}/usr/share/zsh/site-functions/_john"
+
+  # scripts
+  install -d "${pkgdir}/usr/bin" "${pkgdir}/usr/lib/john"
+  install -Dm 755 run/{*.py,*.pl,*.rb,*.lua,*.js,mailer,benchmark-unify} -t "${pkgdir}/usr/lib/john"
+  for ext in lua pl rb py; do
+    for script in run/*."${ext}"; do
+      ln -sf "/usr/lib/john/$(basename "${script}")" "${pkgdir}/usr/bin/$(basename "${script/.${ext}/}")"
+    done
+  done
+
+  # binaries
+  install -Dm 755 run/john -t "${pkgdir}/usr/bin"
+  install -Dm 755 run/john-non-* -t "${pkgdir}/usr/lib/john"||true
+  local john_bins=(bitlocker2john calc_stat cprepair dmg2john eapmd5tojohn genmkvpwd hccap2john \
+                   keepass2john mkvcalcproba putty2john racf2john raw2dyna SIPdump uaf2john \
+                   vncpcap2john wpapcap2john)
+  for bin in "${john_bins[@]}"; do
+    install -Dm 755 "run/${bin}" -t "${pkgdir}/usr/lib/john"
+    ln -sf "/usr/lib/john/${bin}" "${pkgdir}/usr/bin/${bin}"
+  done
+
+  # symlink john
+  for link in $(find run -maxdepth 1 -type l); do
+    ln -s john "${pkgdir}/usr/bin/$(basename "${link}")"
+    ln -s /usr/bin/john "${pkgdir}/usr/lib/john/$(basename "${link}")"
+  done
+
+  # data
+  install -Dm 644 run/*.chr run/*.lst run/dictionary* run/stats -t "${pkgdir}/usr/share/john"
+  install -Dm 644 run/rules/* -t "${pkgdir}/usr/share/john/rules"
+}
+
+# vim: ts=2 sw=2 et:



More information about the arch-commits mailing list