Advertisement
andrejpodzimek

cardano-node successful PKGBUILD

Nov 6th, 2023
618
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 7.43 KB | Cryptocurrency | 0 0
  1. pkgname=cardano-node
  2. pkgver=8.1.2
  3. pkgrel=99
  4. pkgdesc='The core component that is used to participate in a Cardano decentralised blockchain.'
  5. license=('Apache')
  6. arch=('any')
  7. url='https://github.com/input-output-hk/cardano-node'
  8. _ghc_version='8.10.7'  # "`ghc --numeric-version`"
  9. _cabal_version='3.10.1.0'  # This!!!
  10. makedepends=('git' 'ghcup-hs-bin')
  11. depends=('libsodium')
  12. backup=("etc/conf.d/cardano-node"
  13.         "var/lib/cardano-node/config/mainnet-config.json"
  14.         "var/lib/cardano-node/config/mainnet-topology.json"
  15.         "var/lib/cardano-node/config/mainnet-topology-p2p.json"
  16.         "var/lib/cardano-node/config/testnet-config.json"
  17.         "var/lib/cardano-node/config/testnet-topology.json"
  18.         "var/lib/cardano-node/config/testnet-topology-p2p.json")
  19. source=("https://github.com/input-output-hk/${pkgname}/archive/${pkgver}.zip"
  20.         'mainnet-config.json::https://book.world.dev.cardano.org/environments/mainnet/config.json'
  21.         'mainnet-byron-genesis.json::https://book.world.dev.cardano.org/environments/mainnet/byron-genesis.json'
  22.         'mainnet-shelley-genesis.json::https://book.world.dev.cardano.org/environments/mainnet/shelley-genesis.json'
  23.         'mainnet-alonzo-genesis.json::https://book.world.dev.cardano.org/environments/mainnet/alonzo-genesis.json'
  24.         'mainnet-conway-genesis.json::https://book.world.dev.cardano.org/environments/mainnet/conway-genesis.json'
  25.         'mainnet-topology.json::https://book.world.dev.cardano.org/environments/mainnet/topology.json'
  26.         'mainnet-topology-p2p.json::https://book.world.dev.cardano.org/environments/mainnet/topology-p2p.json'
  27.         'testnet-config.json::https://book.world.dev.cardano.org/environments/preprod/config.json'
  28.         'testnet-byron-genesis.json::https://book.world.dev.cardano.org/environments/preprod/byron-genesis.json'
  29.         'testnet-shelley-genesis.json::https://book.world.dev.cardano.org/environments/preprod/shelley-genesis.json'
  30.         'testnet-alonzo-genesis.json::https://book.world.dev.cardano.org/environments/preprod/alonzo-genesis.json'
  31.         'testnet-conway-genesis.json::https://book.world.dev.cardano.org/environments/preprod/conway-genesis.json'
  32.         'testnet-topology.json::https://book.world.dev.cardano.org/environments/preprod/topology.json'
  33.         ### 'testnet-topology-p2p.json::https://book.world.dev.cardano.org/environments/preprod/topology-p2p.json'
  34.         "cardano-node.sysusers"
  35.         "cardano-node.tmpfiles"
  36.         "cardano-node.service"
  37.         "cardano-node.confd"
  38.         "cardano-node-testnet.service"
  39.         "cardano-node-testnet.confd")
  40. sha256sums=('9e78953a74c36a66a3c8096f4422fc5afd054cc478f90416a84297a76d7908ce'
  41.             'd9fb61dc799af857007c48508fc034fa19b631fcadf9ede3e390437024f16eff'
  42.             '4f28b3b437b2c4f6ee26cc70964b3a5f1a274b0b3909c31535091c00316c13aa'
  43.             '59cd3932c6dd792bc5020ca3336064a8faabde4e4a8dc7d143ff4df6eec36961'
  44.             '7333bfafe311589fa09e8bf59a47ec0d85a1959f00748cc0800591d2c7646408'
  45.             'b88f4f812261f84a0eeb2686baafd3a4bdc63b6111b082dcacdfc71fb8b0cb0c'
  46.             '7ac2184ff55d1272e87d579550501b7e4fc61b9cf016179ca026516fff365730'
  47.             '7fe8f1fb2d2cea642a4cd2ed34c2425770668fbe2477021b77202bdb13df86d4'
  48.             '5b92611e1f3b5c9413cb8f2babc5e46d48fde57f46c43f84355208de82608ebf'
  49.             'd88fbffdf78daaccfaddf504e95840c73ce527c06fa4140aefb55d3f91c00cef'
  50.             '4b9d32c09159c2948e4386ba1f59db5a249a89b43b84dfd8368f465e650095de'
  51.             '7333bfafe311589fa09e8bf59a47ec0d85a1959f00748cc0800591d2c7646408'
  52.             'b88f4f812261f84a0eeb2686baafd3a4bdc63b6111b082dcacdfc71fb8b0cb0c'
  53.             '93b2b5cd61814a3ead282bb8e07ec2facc3ee231fdca88b0c099a3b94cdaab72'
  54.             '703f9b033c299b652b2d3228ee6ef4a9c09b7e846ff4b366a2aca68960370234'
  55.             '3212902b0d2bb0e6bacba0feeafd261516b9f6ab5f37f876a8c37239a1947542'
  56.             '53ca908614834ce3e4015e72f84ad1123d672546c505bc392d5984130d5475eb'
  57.             '809f5b67dd8ec0216655347361935d7d6a23299a31ff795f6c5ec806501bc5fd'
  58.             'd1f9e65525acb418bff40dc6ec52c84051ab983a3e2dca3ba6c4fdbfa90022fe'
  59.             '07a3dde7fb51f3f84bb51e7c15993dfefa337571ed509cc3588e73c54f606282')
  60.  
  61. prepare() {
  62.   cd "${srcdir}/${pkgname}-${pkgver}"
  63.   mkdir -p ${srcdir}/ghcup_tmp
  64.   TMPDIR=${srcdir}/ghcup_tmp ghcup install ghc ${_ghc_version}
  65.   TMPDIR=${srcdir}/ghcup_tmp ghcup install cabal ${_cabal_version}
  66.   ghcup set ghc ${_ghc_version}
  67.   ghcup set cabal ${_cabal_version}
  68.   export PATH="$HOME/.cabal/bin:$HOME/.ghcup/bin:$PATH"
  69.   export PKG_CONFIG_PATH='/usr/lib/pkgconfig'
  70.   cabal configure --with-compiler=ghc-${_ghc_version}
  71.   echo 'package cardano-crypto-praos' >> ${srcdir}/${pkgname}-${pkgver}/cabal.project.local
  72.   echo '  flags: -external-libsodium-vrf' >> ${srcdir}/${pkgname}-${pkgver}/cabal.project.local
  73.   cabal update
  74. }
  75.  
  76. build() {
  77.   cd "${srcdir}/${pkgname}-${pkgver}"
  78.   cabal build all
  79. }
  80.  
  81. package() {
  82.   install -D -m0644 "${srcdir}/${pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
  83.   install -D -m0644 "${srcdir}/${pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
  84.   install -D -m0644 "${srcdir}/${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
  85.   install -D -m0644 "${srcdir}/${pkgname}.confd" "${pkgdir}/etc/conf.d/${pkgname}"
  86.  
  87.   install -D -m0644 "mainnet-config.json" "${pkgdir}/var/lib/${pkgname}/config/mainnet-config.json"
  88.   install -D -m0644 "mainnet-byron-genesis.json" "${pkgdir}/var/lib/${pkgname}/config/mainnet-byron-genesis.json"
  89.   install -D -m0644 "mainnet-shelley-genesis.json" "${pkgdir}/var/lib/${pkgname}/config/mainnet-shelley-genesis.json"
  90.   install -D -m0644 "mainnet-alonzo-genesis.json" "${pkgdir}/var/lib/${pkgname}/config/mainnet-alonzo-genesis.json"
  91.   install -D -m0644 "mainnet-conway-genesis.json" "${pkgdir}/var/lib/${pkgname}/config/mainnet-conway-genesis.json"
  92.   install -D -m0644 "mainnet-topology.json" "${pkgdir}/var/lib/${pkgname}/config/mainnet-topology.json"
  93.   install -D -m0644 "mainnet-topology-p2p.json" "${pkgdir}/var/lib/${pkgname}/config/mainnet-topology-p2p.json"
  94.   install -D -m0644 "testnet-config.json" "${pkgdir}/var/lib/${pkgname}/config/testnet-config.json"
  95.   install -D -m0644 "testnet-byron-genesis.json" "${pkgdir}/var/lib/${pkgname}/config/testnet-byron-genesis.json"
  96.   install -D -m0644 "testnet-shelley-genesis.json" "${pkgdir}/var/lib/${pkgname}/config/testnet-shelley-genesis.json"
  97.   install -D -m0644 "testnet-alonzo-genesis.json" "${pkgdir}/var/lib/${pkgname}/config/testnet-alonzo-genesis.json"
  98.   install -D -m0644 "testnet-conway-genesis.json" "${pkgdir}/var/lib/${pkgname}/config/testnet-conway-genesis.json"
  99.   install -D -m0644 "testnet-topology.json" "${pkgdir}/var/lib/${pkgname}/config/testnet-topology.json"
  100.   ### install -D -m0644 "testnet-topology-p2p.json" "${pkgdir}/var/lib/${pkgname}/config/testnet-topology-p2p.json"
  101.  
  102.   install -D -m0644 "${srcdir}/${pkgname}-testnet.service" "${pkgdir}/usr/share/${pkgname}/${pkgname}-testnet-example.service"
  103.   install -D -m0644 "${srcdir}/${pkgname}-testnet.confd" "${pkgdir}/usr/share/${pkgname}/${pkgname}-testnet-example.confd"
  104.  
  105.   cd "${srcdir}/${pkgname}-${pkgver}"
  106.   install -D -m0755 "dist-newstyle/build/x86_64-linux/ghc-${_ghc_version}/cardano-cli-${pkgver}/x/cardano-cli/build/cardano-cli/cardano-cli" "${pkgdir}/usr/bin/cardano-cli"
  107.   install -D -m0755 "dist-newstyle/build/x86_64-linux/ghc-${_ghc_version}/cardano-node-${pkgver}/x/cardano-node/build/cardano-node/cardano-node" "${pkgdir}/usr/bin/cardano-node"
  108. }
  109.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement