diff options
-rw-r--r-- | .SRCINFO | 17 | ||||
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | PKGBUILD | 145 |
3 files changed, 119 insertions, 47 deletions
@@ -1,18 +1,17 @@ -# Generated by mksrcinfo v8 -# Fri Dec 22 07:03:19 UTC 2017 pkgbase = wavedrom-editor pkgdesc = Timing diagram rendering engine - pkgver = 1.6.2 + pkgver = 2.9.1 pkgrel = 1 url = http://wavedrom.com arch = x86_64 - license = FIXME - source_x86_64 = wavedrom-editor-1.6.2::git+https://github.com/wavedrom/wavedrom.github.io.git#tag=v1.6.2 - source_x86_64 = http://dl.nwjs.io/v0.27.3/nwjs-v0.27.3-linux-x64.tar.gz + license = MIT + makedepends = zip + depends = nodejs + depends = npm + options = !strip + source_x86_64 = https://github.com/wavedrom/wavedrom.github.io/archive/v2.9.1.tar.gz source_x86_64 = wavedrom-editor.desktop - sha256sums_x86_64 = SKIP - sha256sums_x86_64 = 1aef8354a3bf9714aab32595f27b142034332cb4e3a7381d3fd133a2937fd579 + sha256sums_x86_64 = b11fdbb6737f352787a6bdb161e7de6d1970123c3d00b857ea56bb66a5283d02 sha256sums_x86_64 = c8cf2a7f6626452bb10eef4f8b4b02bf1992e360e93857a90b2ed7212044f1e2 pkgname = wavedrom-editor - diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..cde8e8f62649 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/*.tar.gz +/*.tar.xz +/*.tar.zst +/*.log @@ -1,29 +1,112 @@ # Maintainer: Kyle Manna <kyle(at)kylemanna(dot)com> pkgname=wavedrom-editor -pkgver=1.6.2 +pkgver=2.9.1 pkgrel=1 pkgdesc="Timing diagram rendering engine" arch=('x86_64') url="http://wavedrom.com" license=('MIT') +depends=('nodejs' 'npm') +makedepends=('zip') # For some reason, stripping the nwjs binary breaks the app options=('!strip') -sha256sums_x86_64=('SKIP' - '1aef8354a3bf9714aab32595f27b142034332cb4e3a7381d3fd133a2937fd579' +sha256sums_x86_64=('b11fdbb6737f352787a6bdb161e7de6d1970123c3d00b857ea56bb66a5283d02' 'c8cf2a7f6626452bb10eef4f8b4b02bf1992e360e93857a90b2ed7212044f1e2') -source_x86_64=("${pkgname}-${pkgver}::git+https://github.com/wavedrom/wavedrom.github.io.git#tag=v${pkgver}" - "http://dl.nwjs.io/v0.27.3/nwjs-v0.27.3-linux-x64.tar.gz" +source_x86_64=("https://github.com/wavedrom/wavedrom.github.io/archive/v${pkgver}.tar.gz" "wavedrom-editor.desktop" ) -build() { - cd "${srcdir}/${pkgname}-${pkgver}" +_srcdir_name=wavedrom.github.io-${pkgver} + +# Re-implement the downlaoded build.sh script while dropping support for other platforms +# Upstream: https://raw.githubusercontent.com/drom/simple-nwjs-app/master/build.sh +build_sh() { + local NWVERSION="v0.44.4" + local V="v1.0.0" + local N="simpleapp" + local PREFIX="" + local P="linux-x64" + + # command line arguments + while [[ $# -gt 1 ]] + do + key="$1" + + case $key in + -n|--name) + N="$2" + shift + ;; + -p|--prefix) + PREFIX="$2" + shift + ;; + -w|--nwversion) + NWVERSION="$2" + shift + ;; + -v|--version) + V="$2" + shift + ;; + *) + ;; + esac + shift + done + + URL="http://dl.nwjs.io/"$NWVERSION + NWV=$PREFIX$NWVERSION + + urlget() { + if ! [ -f "$2" ]; then + if hash wget 2>/dev/null; then + wget "$1" -O "$2" + elif hash curl 2>/dev/null; then + curl "$1" -o "$2" + else + echo "wget or curl must be installed." + exit 1 + fi + fi + } + + mkdir -p build + + rm -rf build/* + + # make app + pushd src && zip -r ../build/"$N"-$V.nw * && popd + + mkdir -p cache + rm -rf cache/*/* + + # get and unpack NWJS packages + urlget $URL/nwjs-$NWV-$P.tar.gz cache/nwjs-$NWV-$P.tar.gz + tar -xvf cache/nwjs-$NWV-$P.tar.gz -C cache + + # clean cache + mkdir -p cache/"$N"-$V-$P + rm -rf cache/"$N"-$V-$P/* + cp -R cache/nwjs-$NWV-$P/* cache/"$N"-$V-$P + + # pack APP packages + cat cache/"$N"-$V-$P/nw build/"$N"-$V.nw > cache/"$N"-$V-$P/"$N" + chmod +x cache/"$N"-$V-$P/"$N" + rm cache/"$N"-$V-$P/nw + pushd cache && tar -cvzf ../build/"$N"-$V-$P.tar.gz "$N"-$V-$P/* && popd +} +build_wde_sh() { # Implement build-wde.sh + cp node_modules/wavedrom/wavedrom.min.js WaveDrom.js + cp node_modules/wavedrom/wavedrom.min.js wavedrom.min.js + cp node_modules/wavedrom/skins/*.js skins + mkdir src rm -rf src/* @@ -37,45 +120,31 @@ build() { cp editor.html src/ cp tutorial.html src/ cp WaveDromEditor/package.json src/ - cp wavedrom.min.js src/ + cp node_modules/wavedrom/wavedrom.min.js src/ cp images/ic_*.png src/images/ cp images/favicon.ico src/images cp images/logo.png src/images - cp skins/* src/skins + cp node_modules/wavedrom/skins/* src/skins cp css/* src/css cp scripts/* src/scripts - #wget https://raw.githubusercontent.com/drom/simple-nwjs-app/master/build.sh -O build.sh - #bash build.sh --name wavedrom-editor --version v1.6.2 - - # Implement build.sh - NWV="v0.27.3" - V="${pkgver}" - N="${pkgname}" - P="linux-x64" - - mkdir -p build - rm -rf build/* - - # make app - pushd src && zip -r ../build/"$N"-$V.nw * && popd + #curl https://raw.githubusercontent.com/drom/simple-nwjs-app/master/build.sh -o build.sh + #bash build.sh --name wavedrom-editor --version v2.3.2 + build_sh --name ${pkgname} --version v${pkgver} +} - mkdir -p cache - rm -rf cache/*/* - - tar -xvf ${srcdir}/nwjs-$NWV-$P.tar.gz -C cache +prepare() { + cd "${srcdir}/${_srcdir_name}" + # This would be nice... npm install --production + npm install +} - # clean cache - mkdir -p cache/"$N"-$V-$P - rm -rf cache/"$N"-$V-$P/* - cp -R cache/nwjs-$NWV-$P/* cache/"$N"-$V-$P +build() { + cd "${srcdir}/${_srcdir_name}" - # pack APP packages - cat cache/"$N"-$V-$P/nw build/"$N"-$V.nw > cache/"$N"-$V-$P/"$N" - chmod +x cache/"$N"-$V-$P/"$N" - rm cache/"$N"-$V-$P/nw - #pushd cache && tar -cvzf ../build/"$N"-$V-$P.tar.gz "$N"-$V-$P/* && popd + # Running `npm run build` as we expect would download and build for osx, windows, ia32 and maybe more. + build_wde_sh } # @@ -86,7 +155,7 @@ build() { package() { # Copy build files mkdir -p ${pkgdir}/opt - cp -a ${srcdir}/${pkgname}-${pkgver}/cache/${pkgname}-${pkgver}-linux-x64 ${pkgdir}/opt/${pkgname} + cp -a ${srcdir}/${_srcdir_name}/cache/${pkgname}-v${pkgver}-linux-x64 ${pkgdir}/opt/${pkgname} # Symlink in to the default PATH mkdir -p ${pkgdir}/usr/bin @@ -95,5 +164,5 @@ package() { # Create desktop icon mkdir -p "${pkgdir}/usr/share/applications" "${pkgdir}/usr/share/pixmaps" install -m644 "${srcdir}/wavedrom-editor.desktop" "$pkgdir/usr/share/applications/wavedrom-editor.desktop" - install -m644 "${srcdir}/${pkgname}-${pkgver}/images/icon_512.png" "$pkgdir/usr/share/pixmaps/wavedrom-editor.png" + install -m644 "${srcdir}/${_srcdir_name}/images/icon_512.png" "$pkgdir/usr/share/pixmaps/wavedrom-editor.png" } |