From 8db2ffa7795893e85ab4280aedb8637d367a14f7 Mon Sep 17 00:00:00 2001 From: Alfredo Palhares Date: Tue, 8 Dec 2020 00:58:34 +0000 Subject: [PATCH] upgpkg: joplin 1.4.19-1 upstream release Convert to split package --- .SRCINFO | 32 +++++++----- PKGBUILD | 121 ++++++++++++++++++++++++++++++++-------------- joplin-cli.sh | 12 +++++ joplin-desktop.sh | 6 +-- joplin.desktop | 2 +- joplin.sh | 12 ----- 6 files changed, 120 insertions(+), 65 deletions(-) create mode 100644 joplin-cli.sh delete mode 100644 joplin.sh diff --git a/.SRCINFO b/.SRCINFO index 2853451..d024129 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = joplin - pkgdesc = A note taking and to-do application with synchronization capabilities - pkgver = 1.3.18 + pkgdesc = A note taking and to-do application with synchronization capabilities - Split Package + pkgver = 1.4.19 pkgrel = 1 url = https://joplinapp.org/ arch = x86_64 @@ -10,6 +10,24 @@ pkgbase = joplin makedepends = npm makedepends = python makedepends = rsync + conflicts = joplin + conflicts = joplin-beta + source = joplin.desktop + source = joplin-desktop.sh + source = joplin-cli.sh + source = joplin-1.4.19.tar.gz::https://github.com/laurent22/joplin/archive/v1.4.19.tar.gz + sha256sums = c7c5d8b0ff9edb810ed901ea21352c9830bfa286f3c18b1292deca5b2f8febd2 + sha256sums = a450284fe66d89aa463d129ce8fff3a0a1a783a64209e4227ee47449d5737be8 + sha256sums = 5b6f8847ec0c3848375755213c3009c273f478b4b80ed2c5f0af8f67ee0e94fb + sha256sums = 55aad4fe50e2da980983a69bc7c0870626064db971550d522e266feb17d38916 + +pkgname = joplin-cli + pkgdesc = A note taking and to-do application with synchronization capabilities - CLI App + depends = nodejs + depends = rsync + +pkgname = joplin-desktop + pkgdesc = A note taking and to-do application with synchronization capabilities - Desktop depends = gtk3 depends = libexif depends = libgsf @@ -20,14 +38,4 @@ pkgbase = joplin depends = nss depends = orc optdepends = libappindicator-gtk3: for tray icon - source = joplin.desktop - source = joplin-desktop.sh - source = joplin.sh - source = joplin-1.3.18.tar.gz::https://github.com/laurent22/joplin/archive/v1.3.18.tar.gz - sha256sums = 50c4d294eed7cc1319874831040a316127c3dbc03f8e74a293793a35773e0626 - sha256sums = 41bfdc95a6ee285eb644d05eb3bded72a83950d4720c3c8058ddd3c605cd625d - sha256sums = 5245da6f5f647d49fbe044b747994c9f5a8e98b3c2cd02757dd189426a677276 - sha256sums = 71f836bb1504b101cc85071e750d183edd4405ff163776a0aff74e6da0ba1906 - -pkgname = joplin diff --git a/PKGBUILD b/PKGBUILD index 80f4d64..9029c37 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -4,62 +4,109 @@ # Please contribute to: # https://github.com/alfredopalhares/arch-pkgbuilds -pkgname=joplin -pkgver=1.3.18 +pkgname=('joplin-cli' 'joplin-desktop') +pkgbase="joplin" +pkgver=1.4.19 pkgrel=1 -pkgdesc="A note taking and to-do application with synchronization capabilities" +pkgdesc="A note taking and to-do application with synchronization capabilities - Split Package" arch=('x86_64' 'i686') -depends=('gtk3' 'libexif' 'libgsf' 'libjpeg-turbo' 'libwebp' 'libxss' 'nodejs' - 'nss' 'orc') +conflicts=('joplin' 'joplin-beta') makedepends=('git' 'npm' 'python' 'rsync') -optdepends=('libappindicator-gtk3: for tray icon') url="https://joplinapp.org/" license=('MIT') -source=("${pkgname}.desktop" "${pkgname}-desktop.sh" "${pkgname}.sh" - "${pkgname}-${pkgver}.tar.gz::https://github.com/laurent22/joplin/archive/v${pkgver}.tar.gz") -sha256sums=('50c4d294eed7cc1319874831040a316127c3dbc03f8e74a293793a35773e0626' - '41bfdc95a6ee285eb644d05eb3bded72a83950d4720c3c8058ddd3c605cd625d' - '5245da6f5f647d49fbe044b747994c9f5a8e98b3c2cd02757dd189426a677276' - '71f836bb1504b101cc85071e750d183edd4405ff163776a0aff74e6da0ba1906') +source=("joplin.desktop" "joplin-desktop.sh" "joplin-cli.sh" + "joplin-${pkgver}.tar.gz::https://github.com/laurent22/joplin/archive/v${pkgver}.tar.gz") +sha256sums=('c7c5d8b0ff9edb810ed901ea21352c9830bfa286f3c18b1292deca5b2f8febd2' + 'a450284fe66d89aa463d129ce8fff3a0a1a783a64209e4227ee47449d5737be8' + '5b6f8847ec0c3848375755213c3009c273f478b4b80ed2c5f0af8f67ee0e94fb' + '55aad4fe50e2da980983a69bc7c0870626064db971550d522e266feb17d38916') + build() { - # Remove husky (git hooks) from dependencies - cd "${srcdir}/${pkgname}-${pkgver}" + cd "${srcdir}/joplin-${pkgver}" + msg "Disabling husky (git hooks)" sed -i '/"husky": ".*"/d' package.json # Force Lang # INFO: https://github.com/alfredopalhares/joplin-pkgbuild/issues/25 export LANG=en_US.utf8 - # npm complains for missing execa package - force to install it - npm install --cache "${srcdir}/npm-cache" execa - npm install --cache "${srcdir}/npm-cache" - - # CliClient - cd "${srcdir}/${pkgname}-${pkgver}/CliClient" - npm install --cache "${srcdir}/npm-cache" - - # Electron App - cd "${srcdir}/${pkgname}-${pkgver}/ElectronClient" - npm install --cache "${srcdir}/npm-cache" - npm run dist + msg2 "Installing dependencies..." + npm install + npm install compare-version # Joplin Cli needs this + ./node_modules/.bin/lerna bootstrap } -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - install -d ${pkgdir}/usr/share/{${pkgname},${pkgname}-cli} - cp -R CliClient/build/* "${pkgdir}/usr/share/${pkgname}-cli" - cp -R CliClient/node_modules "${pkgdir}/usr/share/${pkgname}-cli" - cp -R ElectronClient/dist/linux-unpacked/* "${pkgdir}/usr/share/${pkgname}" +#TODO: A slimdown is needed +package_joplin-cli() { + pkgdesc="A note taking and to-do application with synchronization capabilities - CLI App" + depends=('nodejs' 'rsync') - install -Dm755 ${srcdir}/${pkgname}-desktop.sh "${pkgdir}/usr/bin/${pkgname}-desktop" - install -m755 ${srcdir}/${pkgname}.sh "${pkgdir}/usr/bin/${pkgname}" + msg2 "Building CLI..." + mkdir -p "${pkgdir}/usr/share/joplin-cli/app-cli" + cd "${srcdir}/joplin-${pkgver}/packages/app-cli" + npm run build + cd build + cp -R "." "${pkgdir}/usr/share/joplin-cli/app-cli/" - install -Dm644 ${srcdir}/${pkgname}.desktop -t "${pkgdir}/usr/share/applications" + msg2 "Copying Base Node Modules packages..." + cd "${srcdir}/joplin-${pkgver}/packages/app-cli" + cp -R "node_modules/" \ + "${pkgdir}/usr/share/joplin-cli/app-cli" + msg2 "Copy CLI Joplin Dependencies..." + cd "${srcdir}/joplin-${pkgver}/packages/" + cp -R "fork-htmlparser2" "${pkgdir}/usr/share/joplin-cli/" + cp -R "fork-sax" "${pkgdir}/usr/share/joplin-cli/" + cp -R "lib/" "${pkgdir}/usr/share/joplin-cli/" + cp -R "renderer/" "${pkgdir}/usr/share/joplin-cli/" + cp -R "tools/" "${pkgdir}/usr/share/joplin-cli/" + + #TODO: Check if existing symblinks are valid + msg2 "Fixing @Joplin Symlinks..." + cd "${pkgdir}/usr/share/joplin-cli/" + for dir in $(find . -type d -name "@joplin"); do + cd "${pkgdir}/usr/share/joplin-cli/${dir}" + rm -r * + ln -s "../../../fork-htmlparser2" "fork-htmlparser2" + ln -s "../../../fork-sax" "fork-sax" + ln -s "../../../lib" "lib" + ln -s "../../../renderer" "renderer" + ln -s "../../../tools" "tools" + + done + + msg2 "Installing LICENSE..." + cd "${srcdir}/joplin-${pkgver}/" install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" - # Remove unneeded architecture files - rm -rf "${pkgdir}/usr/share/${pkgname}/resources/app/node_modules/7zip-bin-linux"/arm* + msg2 "Installing Startup Script" + cd "${srcdir}" + install -Dm755 joplin-cli.sh "${pkgdir}/usr/bin/joplin-cli" +} + +#TODO: Check for slimdown +package_joplin-desktop() { + pkgdesc="A note taking and to-do application with synchronization capabilities - Desktop" + depends=('gtk3' 'libexif' 'libgsf' 'libjpeg-turbo' 'libwebp' 'libxss' 'nodejs' + 'nss' 'orc') + optdepends=('libappindicator-gtk3: for tray icon') + + msg2 "Building Desktop..." + mkdir -p "${pkgdir}/usr/share/joplin-desktop" + cd "${srcdir}/joplin-${pkgver}/packages/app-desktop" + USE_HARD_LINKS=false npm run dist -- --publish=never + cd dist/linux-unpacked/ + cp -R "." "${pkgdir}/usr/share/joplin-desktop" + + msg2 "Installing LICENSE..." + cd "${srcdir}/joplin-${pkgver}/" + install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" + + msg2 "Installing startup script and desktop file..." + cd "${srcdir}" + install -Dm755 ${srcdir}/joplin-desktop.sh "${pkgdir}/usr/bin/joplin-desktop" + install -Dm644 ${srcdir}/joplin.desktop -t "${pkgdir}/usr/share/applications" + } diff --git a/joplin-cli.sh b/joplin-cli.sh new file mode 100644 index 0000000..4ac256c --- /dev/null +++ b/joplin-cli.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +readonly joplin_dir="/usr/share/joplin-cli/app-cli" + +if [[ ! -d $joplin_dir ]]; then + echo "Cannot find /usr/share/joplin-cli/app-cli" + exit 1 +fi + +cd $joplin_dir + +node main.js ${@} diff --git a/joplin-desktop.sh b/joplin-desktop.sh index 86e63a6..3a25476 100644 --- a/joplin-desktop.sh +++ b/joplin-desktop.sh @@ -1,13 +1,13 @@ #!/bin/bash -readonly joplin_dir="/usr/share/joplin/" +readonly joplin_dir="/usr/share/joplin-desktop/" if [[ ! -d $joplin_dir ]]; then - echo "Cannot find /usr/share/joplin/" + echo "Cannot find /usr/share/joplin-desktop/" exit 1 fi cd $joplin_dir -./joplin "$@" +./@joplinapp-desktop "$@" diff --git a/joplin.desktop b/joplin.desktop index 669be9b..5e6cd00 100644 --- a/joplin.desktop +++ b/joplin.desktop @@ -2,7 +2,7 @@ Name=Joplin Comment=Joplin - a note taking and to-do application with synchronization capabilities for Windows, macOS, Linux, Android and iOS. Exec=/usr/bin/joplin-desktop -Icon=/usr/share/joplin/resources/build/icons/128x128.png +Icon=/usr/share/joplin-desktop/resources/build/icons/128x128.png Terminal=false Type=Application Categories=Application;Office; diff --git a/joplin.sh b/joplin.sh deleted file mode 100644 index 1dbd3dc..0000000 --- a/joplin.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -readonly joplin_dir="/usr/share/joplin-cli/" - -if [[ ! -d $joplin_dir ]]; then - echo "Cannot find /usr/share/joplin-cli/" - exit 1 -fi - -cd $joplin_dir - -node main.js ${@}