summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Verbovetsky <alik@ejik.org>2022-07-08 22:44:57 +0100
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2022-07-09 10:06:08 +0700
commita6f8ecc014552944d0aa9457bc41a0798cb8f470 (patch)
treed28219570ea007d51f160c9e6e1ea1e63292c617
parent027349a2e1c78ce05dbf90d72afc87e2f5eb5b1f (diff)
downloadslackbuilds-a6f8ecc014552944d0aa9457bc41a0798cb8f470.tar.gz
network/goimapnotify: Added (IMAP IDLE notifications)
Signed-off-by: Dave Woodfall <dave@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--network/goimapnotify/README2
-rw-r--r--network/goimapnotify/goimapnotify.SlackBuild108
-rw-r--r--network/goimapnotify/goimapnotify.info26
-rw-r--r--network/goimapnotify/modules.txt32
-rw-r--r--network/goimapnotify/slack-desc19
5 files changed, 187 insertions, 0 deletions
diff --git a/network/goimapnotify/README b/network/goimapnotify/README
new file mode 100644
index 0000000000..550f17545a
--- /dev/null
+++ b/network/goimapnotify/README
@@ -0,0 +1,2 @@
+Execute scripts on IMAP mailbox changes (new/deleted/updated messages)
+using IDLE, Golang version.
diff --git a/network/goimapnotify/goimapnotify.SlackBuild b/network/goimapnotify/goimapnotify.SlackBuild
new file mode 100644
index 0000000000..3dc76eb4a5
--- /dev/null
+++ b/network/goimapnotify/goimapnotify.SlackBuild
@@ -0,0 +1,108 @@
+#!/bin/bash
+
+# Slackware build script for goimapnotify
+
+# Copyright 2022 Alexander Verbovetsky Moscow Russia
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=goimapnotify
+VERSION=${VERSION:-2.3.7}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+
+mkdir -p vendor
+cat $CWD/modules.txt > vendor/modules.txt
+for DIR in $(grep -o "^# .* " vendor/modules.txt | cut -d' ' -f2)
+do
+ NAME=$(basename $DIR)
+ NAME=${NAME%.*}
+ DIR=vendor/$DIR
+ mkdir -p $(dirname $DIR)
+ find -L $CWD -type f -regex ".*/${NAME}-[^-]*\.tar\.gz" -exec tar xvf {} \;
+ mv ${NAME}-* $DIR
+done
+
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+[ -z "$GOROOT" ] && source /etc/profile.d/go.sh
+
+CGO_CFLAGS="$SLKCFLAGS" \
+CGO_CXXFLAGS="$SLKCFLAGS" \
+go build
+
+install -sDm 755 goimapnotify $PKG/usr/bin/goimapnotify
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a CHANGELOG.rst README.md $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/network/goimapnotify/goimapnotify.info b/network/goimapnotify/goimapnotify.info
new file mode 100644
index 0000000000..63c0537dd9
--- /dev/null
+++ b/network/goimapnotify/goimapnotify.info
@@ -0,0 +1,26 @@
+PRGNAM="goimapnotify"
+VERSION="2.3.7"
+HOMEPAGE="https://gitlab.com/shackra/goimapnotify"
+DOWNLOAD="https://gitlab.com/shackra/goimapnotify/-/archive/2.3.7/goimapnotify-2.3.7.tar.gz \
+ https://github.com/emersion/go-imap/archive/b7db4a2/go-imap-b7db4a2bc5cc04fb568fb036a438da43ee9a9f78.tar.gz \
+ https://github.com/emersion/go-imap-idle/archive/2af9377/go-imap-idle-2af93776db6b042cc1116b0d0af00d7f58eea696.tar.gz \
+ https://github.com/emersion/go-sasl/archive/7bfe0ed/go-sasl-7bfe0ed36a210245143572d8f52f41485cbf57e1.tar.gz \
+ https://github.com/sirupsen/logrus/archive/v1.8.1/logrus-1.8.1.tar.gz \
+ https://github.com/stretchr/testify/archive/v1.7.0/testify-1.7.0.tar.gz \
+ https://github.com/golang/sys/archive/39ccf1d/sys-39ccf1dd6fa64b525e017b629b9a83409d294c7e.tar.gz \
+ https://github.com/golang/text/archive/v0.3.2/text-0.3.2.tar.gz \
+ https://github.com/go-yaml/yaml/archive/496545a/yaml-496545a6307b2a7d7a710fd516e5e16e8ab62dbc.tar.gz"
+MD5SUM="a036ab0a34b0b3215ee304c79c24eb96 \
+ 61a83dd25e83c4bd81369353200b83d6 \
+ a17401f5e2c4ef0678b70bbc42e97b2e \
+ 4f12c474fd396d64b3b37f5977a4da2b \
+ 8fdbcd94e87390b3cbaeacd054196c05 \
+ 5d04ceccdea0a91310fee95b63d8e1f6 \
+ d26dd3d3fa7247d88a89d7268bb876c5 \
+ 5c3d2e3c8af2436fea967042a9623ba1 \
+ 11c0a4ee0531d35936af883fa7d0089a"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="google-go-lang"
+MAINTAINER="Alexander Verbovetsky"
+EMAIL="alik@ejik.org"
diff --git a/network/goimapnotify/modules.txt b/network/goimapnotify/modules.txt
new file mode 100644
index 0000000000..9c3d13f082
--- /dev/null
+++ b/network/goimapnotify/modules.txt
@@ -0,0 +1,32 @@
+# github.com/emersion/go-imap v1.0.0-beta.4.0.20190414203716-b7db4a2bc5cc
+## explicit
+github.com/emersion/go-imap
+github.com/emersion/go-imap/backend
+github.com/emersion/go-imap/client
+github.com/emersion/go-imap/commands
+github.com/emersion/go-imap/responses
+github.com/emersion/go-imap/server
+github.com/emersion/go-imap/utf7
+# github.com/emersion/go-imap-idle v0.0.0-20180114101550-2af93776db6b
+## explicit
+github.com/emersion/go-imap-idle
+# github.com/emersion/go-sasl v0.0.0-20200509203442-7bfe0ed36a21
+## explicit
+github.com/emersion/go-sasl
+# github.com/sirupsen/logrus v1.8.1
+## explicit
+github.com/sirupsen/logrus
+# github.com/stretchr/testify v1.7.0
+## explicit
+# golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6
+## explicit
+golang.org/x/sys/internal/unsafeheader
+golang.org/x/sys/unix
+golang.org/x/sys/windows
+# golang.org/x/text v0.3.2
+## explicit
+golang.org/x/text/encoding
+golang.org/x/text/encoding/internal/identifier
+golang.org/x/text/transform
+# gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
+## explicit
diff --git a/network/goimapnotify/slack-desc b/network/goimapnotify/slack-desc
new file mode 100644
index 0000000000..99f801ff77
--- /dev/null
+++ b/network/goimapnotify/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+goimapnotify: goimapnotify (IMAP IDLE notifications)
+goimapnotify:
+goimapnotify:
+goimapnotify: Execute scripts on IMAP mailbox changes (new/deleted/updated
+goimapnotify: messages) using IDLE, Golang version.
+goimapnotify:
+goimapnotify:
+goimapnotify:
+goimapnotify: Homepage: https://gitlab.com/shackra/goimapnotify
+goimapnotify:
+goimapnotify: