# Maintainer: kpcyrd # Contributor: Jean Lucas _pkgroot=signal-desktop pkgname=${_pkgroot}-noto _pkgname=Signal-Desktop pkgver=1.37.2 pkgrel=1 pkgdesc="Signal Private Messenger for Linux (Noto emoji version)" license=('GPL3') arch=('x86_64') url="https://github.com/Skycoder42/Signal-Desktop-Noto" depends=('libvips' 'libxss' 'hicolor-icon-theme') makedepends=('yarn' 'git' 'nodejs' 'npm' 'python') optdepends=("repkg: Automatically rebuild the package on dependency updates") provides=(signal signal-desktop signal-desktop-bin) replaces=(signal signal-desktop signal-desktop-bin) source=( "${_pkgroot}-${pkgver}.tar.gz::https://github.com/signalapp/${_pkgname}/archive/v${pkgver}.tar.gz" "${_pkgroot}.desktop" "openssl-linking.patch" "expire-from-source-date-epoch.patch" # Cherry-pick a specific commit for the node-spellchecker dependency # See https://github.com/atom/node-spellchecker/issues/127 "https://github.com/atom/node-spellchecker/archive/613ff91dd2d9a5ee0e86be8a3682beecc4e94887.tar.gz" "noto-emoji.patch" "$pkgname.rule" ) sha512sums=('67045502429850e3bbb934cee3bb0aa740b52ca3cd825136f0426e72d7aef8bb9a1829c7ba7011208ffd98428ab080233e17cdc1f52a36fb6697f93200beb2ed' 'bc70532c6591d15761df2d7eaf01875e77be756798728fb8fab442bb40e20893dac0148133f892de2db36395bf82c9d289440d64479b0d916d773570a2f7a39d' 'a25698e39e2a3e88ce87e4b89bf222169c279a63359b576e05883682ee1553600b3e7afee5063aa901eaa8529a93d324b4e227d51d491a2054b559d9865ee6da' '1d0c276528b19b103a000d8640805971dc2b79b2ef785d3df2d31f610991b3404500ee7118d80da57332578132c04903fd9b9ff157144f2a0226a9efc73561a5' '42f57802fa91dafb6dbfb5a3f613c4c07df65e97f8da84c9a54292c97a4d170f8455461aac8f6f7819d1ffbea4bf6c28488f8950056ba988776d060be3f107dd' '82832e97c8208e0a8d3e077626a5b4ae97dd834731e9dc839b0a9d48a7625ef18319456103077b295cc4b67250c8e444b485c336a0a66bf03054a14b01347bb5' '76856030f91b0b4af3d4113c6a991d0a25838c7b2f02e0819e7c683dd9f710d3e75a426dcba898e946f16829e58baaf45edcf4a29991eccd692429423c473ab2') prepare() { cd "${_pkgname}-${pkgver}" # apply emoji patch git apply ../noto-emoji.patch # Fix SpellChecker build with imminent Node 13 # See https://github.com/atom/node-spellchecker/issues/127 sed -r 's#("spellchecker": ").*"#\1file:'"${srcdir}"'/613ff91dd2d9a5ee0e86be8a3682beecc4e94887.tar.gz"#' -i package.json # Allow higher Node versions sed 's#"node": "#&>=#' -i package.json # Select node-gyp versions with python3 support sed 's#"node-gyp": "5.0.3"#"node-gyp": "6.1.0"#' -i package.json # https://github.com/sass/node-sass/pull/2841 # https://github.com/sass/node-sass/issues/2716 sed -r 's#("dependencies": )#"resolutions": {"node-sass/node-gyp": "^6.0.0"},\1#' -i package.json yarn install --ignore-engines # Have SQLCipher dynamically link from OpenSSL # See https://github.com/signalapp/Signal-Desktop/issues/2634 patch --forward --strip=1 --input="${srcdir}/openssl-linking.patch" # We can't read the release date from git so we use SOURCE_DATE_EPOCH instead patch --forward --strip=1 --input="${srcdir}/expire-from-source-date-epoch.patch" } build() { cd "${_pkgname}-${pkgver}" # Gruntfile expects Git commit information which we don't have in a tarball download # See https://github.com/signalapp/Signal-Desktop/issues/2376 yarn generate exec:build-protobuf exec:transpile concat copy:deps sass yarn build-release --dir } package() { cd "${_pkgname}-${pkgver}" install -d "${pkgdir}/usr/"{lib,bin} cp -a release/linux-unpacked "${pkgdir}/usr/lib/${pkgname}" ln -s "/usr/lib/${pkgname}/${_pkgroot}" "${pkgdir}/usr/bin/" chmod u+s "${pkgdir}/usr/lib/${pkgname}/chrome-sandbox" install -Dm 644 "../${_pkgroot}.desktop" -t "${pkgdir}/usr/share/applications" for i in 16 24 32 48 64 128 256 512 1024; do install -Dm 644 "build/icons/png/${i}x${i}.png" \ "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps/${_pkgroot}.png" done install -D -m644 "../${pkgname}.rule" "$pkgdir/etc/repkg/rules/system/${pkgname}.rule" } # vim: ts=2 sw=2 et: