diff options
Diffstat (limited to 'network/goimapnotify')
-rw-r--r-- | network/goimapnotify/README | 2 | ||||
-rw-r--r-- | network/goimapnotify/go.mod | 15 | ||||
-rw-r--r-- | network/goimapnotify/go.sum | 39 | ||||
-rw-r--r-- | network/goimapnotify/goimapnotify.SlackBuild | 108 | ||||
-rw-r--r-- | network/goimapnotify/goimapnotify.info | 22 | ||||
-rw-r--r-- | network/goimapnotify/modules.txt | 27 | ||||
-rw-r--r-- | network/goimapnotify/slack-desc | 19 |
7 files changed, 232 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/go.mod b/network/goimapnotify/go.mod new file mode 100644 index 0000000000..0769ccfa39 --- /dev/null +++ b/network/goimapnotify/go.mod @@ -0,0 +1,15 @@ +module gitlab.com/shackra/goimapnotify + +go 1.22.1 + +require ( + github.com/emersion/go-imap v1.2.1 + github.com/emersion/go-imap-idle v0.0.0-20210907174914-db2568431445 + github.com/emersion/go-sasl v0.0.0-20231106173351-e73c9f7bad43 + github.com/sirupsen/logrus v1.9.3 +) + +require ( + golang.org/x/sys v0.19.0 // indirect + golang.org/x/text v0.14.0 // indirect +) diff --git a/network/goimapnotify/go.sum b/network/goimapnotify/go.sum new file mode 100644 index 0000000000..910b3e0e89 --- /dev/null +++ b/network/goimapnotify/go.sum @@ -0,0 +1,39 @@ +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/emersion/go-imap v1.0.6/go.mod h1:yKASt+C3ZiDAiCSssxg9caIckWF/JG7ZQTO7GAmvicU= +github.com/emersion/go-imap v1.2.1 h1:+s9ZjMEjOB8NzZMVTM3cCenz2JrQIGGo5j1df19WjTA= +github.com/emersion/go-imap v1.2.1/go.mod h1:Qlx1FSx2FTxjnjWpIlVNEuX+ylerZQNFE5NsmKFSejY= +github.com/emersion/go-imap-idle v0.0.0-20210907174914-db2568431445 h1:dAGbaaU4LLupO7dnYZaELOoI3RoVDNi5DCGejLe8a7c= +github.com/emersion/go-imap-idle v0.0.0-20210907174914-db2568431445/go.mod h1:N/6S3dRTVt8xT867m+476C16+v/Fq4WZYvh2Chg0nmg= +github.com/emersion/go-message v0.11.1/go.mod h1:C4jnca5HOTo4bGN9YdqNQM9sITuT3Y0K6bSUw9RklvY= +github.com/emersion/go-message v0.15.0 h1:urgKGqt2JAc9NFJcgncQcohHdiYb803YTH9OQwHBHIY= +github.com/emersion/go-message v0.15.0/go.mod h1:wQUEfE+38+7EW8p8aZ96ptg6bAb1iwdgej19uXASlE4= +github.com/emersion/go-sasl v0.0.0-20191210011802-430746ea8b9b/go.mod h1:G/dpzLu16WtQpBfQ/z3LYiYJn3ZhKSGWn83fyoyQe/k= +github.com/emersion/go-sasl v0.0.0-20200509203442-7bfe0ed36a21/go.mod h1:iL2twTeMvZnrg54ZoPDNfJaJaqy0xIQFuBdrLsmspwQ= +github.com/emersion/go-sasl v0.0.0-20231106173351-e73c9f7bad43 h1:hH4PQfOndHDlpzYfLAAfl63E8Le6F2+EL/cdhlkyRJY= +github.com/emersion/go-sasl v0.0.0-20231106173351-e73c9f7bad43/go.mod h1:iL2twTeMvZnrg54ZoPDNfJaJaqy0xIQFuBdrLsmspwQ= +github.com/emersion/go-textwrapper v0.0.0-20160606182133-d0e65e56babe/go.mod h1:aqO8z8wPrjkscevZJFVE1wXJrLpC5LtJG7fqLOsPb2U= +github.com/emersion/go-textwrapper v0.0.0-20200911093747-65d896831594 h1:IbFBtwoTQyw0fIM5xv1HF+Y+3ZijDR839WMulgxCcUY= +github.com/emersion/go-textwrapper v0.0.0-20200911093747-65d896831594/go.mod h1:aqO8z8wPrjkscevZJFVE1wXJrLpC5LtJG7fqLOsPb2U= +github.com/martinlindhe/base36 v1.0.0/go.mod h1:+AtEs8xrBpCeYgSLoY/aJ6Wf37jtBuR0s35750M27+8= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/network/goimapnotify/goimapnotify.SlackBuild b/network/goimapnotify/goimapnotify.SlackBuild new file mode 100644 index 0000000000..314febaac3 --- /dev/null +++ b/network/goimapnotify/goimapnotify.SlackBuild @@ -0,0 +1,108 @@ +#!/bin/bash + +# Slackware build script for goimapnotify + +# Copyright 2022-2024 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.15} +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 + +cat $CWD/go.mod > go.mod +cat $CWD/go.sum > go.sum +mkdir -p vendor +cat $CWD/modules.txt > vendor/modules.txt +for DIR in $(grep -o "^# .* " vendor/modules.txt | cut -d' ' -f2) +do + NAME=$(echo $DIR | sed 's/[./]v[0-9]\+$//' | xargs basename) + DIR=vendor/$DIR + find -L $CWD -maxdepth 1 -type f -regex ".*/${NAME}-[^-]*\.tar\.gz" \ + -exec tar xvf '{}' \; + mkdir -p $(dirname $DIR) + 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 {} \; + +CGO_CFLAGS="$SLKCFLAGS" \ +CGO_CXXFLAGS="$SLKCFLAGS" \ +go build + +install -sDm 755 goimapnotify -t $PKG/usr/bin + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a CHANGELOG* README* $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..b51ff5a449 --- /dev/null +++ b/network/goimapnotify/goimapnotify.info @@ -0,0 +1,22 @@ +PRGNAM="goimapnotify" +VERSION="2.3.15" +HOMEPAGE="https://gitlab.com/shackra/goimapnotify" +DOWNLOAD="https://gitlab.com/shackra/goimapnotify/-/archive/2.3.15/goimapnotify-2.3.15.tar.gz \ + https://github.com/emersion/go-imap/archive/v1.2.1/go-imap-v1.2.1.tar.gz \ + https://github.com/emersion/go-imap-idle/archive/db25684/go-imap-idle-db2568431445.tar.gz \ + https://github.com/emersion/go-sasl/archive/e73c9f7/go-sasl-e73c9f7bad43.tar.gz \ + https://github.com/sirupsen/logrus/archive/v1.9.3/logrus-v1.9.3.tar.gz \ + https://github.com/golang/sys/archive/v0.19.0/sys-v0.19.0.tar.gz \ + https://github.com/golang/text/archive/v0.14.0/text-v0.14.0.tar.gz" +MD5SUM="cdd63ac1f0465b365a0d49f48494bd63 \ + 337ec4e15b3b9435bec02d0b4c634797 \ + 0c60834c277747653bf1d883ac7660b2 \ + efc2190ae65129b3e2531a9258181e98 \ + 29e75bd7c106e1853d2a9de8bd17dbb0 \ + 884f364735b00bb72fcea01a6de28c46 \ + 9f64144d4b1647ce4597abf657028a8d" +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..1711fb33fa --- /dev/null +++ b/network/goimapnotify/modules.txt @@ -0,0 +1,27 @@ +# github.com/emersion/go-imap v1.2.1 +## explicit; go 1.13 +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-20210907174914-db2568431445 +## explicit; go 1.13 +github.com/emersion/go-imap-idle +# github.com/emersion/go-sasl v0.0.0-20231106173351-e73c9f7bad43 +## explicit; go 1.12 +github.com/emersion/go-sasl +# github.com/sirupsen/logrus v1.9.3 +## explicit; go 1.13 +github.com/sirupsen/logrus +# golang.org/x/sys v0.19.0 +## explicit; go 1.18 +golang.org/x/sys/unix +golang.org/x/sys/windows +# golang.org/x/text v0.14.0 +## explicit; go 1.18 +golang.org/x/text/encoding +golang.org/x/text/encoding/internal/identifier +golang.org/x/text/transform 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: |