summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 1e9d1ba659329f256b3445d4013387f4094ede7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Maintainer: Luis Aranguren <pizzaman@hotmail.com>
# Contributor: GreenRaccoon23 <GreenRaccoon23 AT gmail DOT com>
# Based on PKGBUILD from vertcoin-git maintained by Lothar_m <lothar_m AT riseup DOT net>
# WARNING: Use the `dashcore` package instead of this one unless you know what
# you are doing. The `dashcore` package provides the official, supported, tested,
# stable, precompiled build. This package provides the development, unstable,
# untested, and therefore possibly broken build. Use at your own risk.

pkgname='dashcore-git'
_gitname='dash'
_gitbranch='v0.17.x'
pkgver=0.17.0.3.r0.geaca69b22c
pkgrel=2
arch=('x86_64')
url="https://github.com/dashpay/dash"
depends=('qt5-base' 'boost' 'boost-libs' 'miniupnpc' 'protobuf' 'db4.8' 'zeromq' 'libevent' 'qrencode' 'libbacktrace-git')
makedepends=('autoconf' 'automake' 'binutils' 'gcc' 'libtool' 'make' 'pkg-config' 'git' 'qt5-tools' 'python3' 'cmake' 'dashpay-bls-signatures')
license=('MIT')
pkgdesc="Dash Core (DASH, Dashpay, formerly Darkcoin) is an open source, privacy-centric digital currency. (Includes the qt-client, the headless daemon and the command-line tool). WARNING: Unstable, development version."
provides=('dash-daemon' 'dash-qt' 'dash-cli')
conflicts=('dashcore' 'dashcore-bin' 'dash-cli' 'dash-qt' 'dash-daemon')
source=('deque.patch'
        'qpainterpath.patch'
        'bind.patch'
        "git+https://github.com/dashpay/dash.git")
sha512sums=('87c8fbe782a66222fd1121d61bde967d89e6ddda2f1a4dfc7f17eabfce1502ce172af13f52d94d752464ee125fa69d9b423f495baa52bde1fe02e4762aa889d5'
            '6c3df861832926e72dfd820af42bb89c1c3bb556c3f8e2fd06544f76bf5369c992a556e717653e230e062e89b8f2ee4f5d02313f35672f8174deae48c3306a0d'
            '775d0944fd981643450c72468140d180d35108566f9fc804460c211dce2b05552970abcc6cd233ea4f1810bb3467af8a42bdd3a6ebbbefb221f87bdec20943f0'
            'SKIP')

prepare () {
  cd "$_gitname"
  git checkout "$_gitbranch" -q
 #deque patch 2020-02-12 == http: add missing header bootlegged by boost < 1.72
 #inlcude deque library in src/httpserver.cpp found in https://github.com/bitcoin/bitcoin/commit/a5929130223973636f3fd25fbfaf2953f2ec96a9 and #inlcude deque.h library in httpserver.cpp found in https://github.com/dogecoin/dogecoin/pull/1626
 #will delete when dash fixes/commits this. 
  patch --forward --strip=1 --input="../../deque.patch"

 #QPainterPath 2020-10-12 == Add missing QPainterPath include
 #include QPainterPath library in src/qt/trafficgraphwidget.cpp found in https://github.com/bitcoin/bitcoin/commit/79b0a69e09c1a912122e6431ea3c530cc292c690
 #will delete when dash fixes/commits this. This happens because dash is compiling against older versions of qt5-base
  patch --forward --strip=1 --input="../../qpainterpath.patch"

 #boost/bind 2022-04-05 == "Fixes error: ‘_1’ was not declared in this scope" errors
 #Fixes issues like "xxxxxxxxx.cpp error: ‘_1’ was not declared in this scope"
 #mentioned in https://github.com/dogecoin/dogecoin/issues/1654
 #and fixed in  https://github.com/dogecoin/dogecoin/pull/1694
 #with commit https://github.com/dogecoin/dogecoin/pull/1694/commits/3b02ebe5002a381c291b2e221c63cc4f55823a97
 #modified into https://github.com/mercurytoxic/dash/commit/fbdc4026851f61e70bdf49bf6a1b051d1781b474
  patch --forward --strip=1 --input="../../bind.patch"

}

pkgver() {
  cd "$_gitname"
( set -o pipefail
    git describe --long 2>/dev/null | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' ||
    printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
  )
}

build() {
  CXXFLAGS+=" -fPIC -DBOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT=1"
  cd "$_gitname"
  CPPFLAGS="${CPPFLAGS} -I$PWD/depends/built/$CARCH-pc-linux-gnu/include"
  LDFLAGS="${LDFLAGS} -L${PWD}/depends/built/$CARCH-pc-linux-gnu/lib -L${PWD}/depends/built/$CARCH-pc-linux-gnu/lib64"
  ./autogen.sh
  ./configure --prefix=`pwd`/depends/$CARCH-pc-linux-gnu --with-incompatible-bdb --with-gui=qt5 --enable-tests=no --enable-hardening
  make
}

package() {
  install -D -m755 "$srcdir/$_gitname/src/qt/dash-qt" "$pkgdir/usr/bin/dash-qt"
  install -D -m755 "$srcdir/$_gitname/src/dashd" "$pkgdir/usr/bin/dashd"
  install -D -m755 "$srcdir/$_gitname/src/dash-cli" "$pkgdir/usr/bin/dash-cli"
  install -D -m755 "$srcdir/$_gitname/src/dash-tx" "$pkgdir/usr/bin/dash-tx"
  install -D -m644 "$srcdir/$_gitname/COPYING" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
  install -D -m644 "$srcdir/$_gitname/share/pixmaps/dash128.png" "$pkgdir/usr/share/pixmaps/dash128.png"
  install -D -m644 "$srcdir/$_gitname/contrib/debian/dash-qt.desktop" "$pkgdir/usr/share/applications/dash-qt.desktop"
}