aboutsummaryrefslogtreecommitdiff
path: root/src/xyz/euandreh
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2023-01-30 03:43:58 -0300
committerEuAndreh <eu@euandre.org>2023-01-30 03:44:31 -0300
commit699375cf81319652b3bf49547b539f9e347261a9 (patch)
tree28e76fd4f7e5204fe6bc98454f4e1bb091eba083 /src/xyz/euandreh
parent.envrc: Add src/bin to $PATH (diff)
downloadpackage-repository-699375cf81319652b3bf49547b539f9e347261a9.tar.gz
package-repository-699375cf81319652b3bf49547b539f9e347261a9.tar.xz
Revert "queue.scm: Remove packages present in Guix fork"
This reverts commit 86c37f9c23fbc38756b61125215cb06e8b45bd29. Revive postfix package.
Diffstat (limited to 'src/xyz/euandreh')
-rw-r--r--src/xyz/euandreh/queue.scm270
1 files changed, 270 insertions, 0 deletions
diff --git a/src/xyz/euandreh/queue.scm b/src/xyz/euandreh/queue.scm
index 3cb0ac9..61583fa 100644
--- a/src/xyz/euandreh/queue.scm
+++ b/src/xyz/euandreh/queue.scm
@@ -144,6 +144,132 @@ Seiko Epson Color Ink Jet Printers.")
(list #; (ng-license:nonfree "https://epson.com/SoftwareLicenseAgreement")
license:lgpl2.1))))
+(define-public postfix
+ (package
+ (name "postfix")
+ (version "3.8-20221023")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "http://cdn.postfix.johnriley.me/mirrors/postfix-release/experimental/postfix-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "0aaylhn81n9z3kidx53kzf2jrilr3lgwfxsk1r4hn7nkrp62bcwm"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:modules `((srfi srfi-26)
+ ,@%gnu-build-system-modules)
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'patch-/bin/sh
+ (lambda _
+ (substitute* (find-files "." "^Makefile")
+ (("/bin/sh")
+ (which "sh")))))
+ (add-before 'configure 'patch-bdb-include
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "makedefs"
+ (("/usr/include")
+ (string-append (assoc-ref inputs "bdb")
+ "/include")))))
+ (add-before 'configure 'dont-hardcode-PATH
+ (lambda _
+ (substitute* '("postfix-install"
+ "conf/post-install")
+ (("^PATH=")
+ "# PATH="))))
+ (add-before 'configure 'fix-strict-PATH
+ (lambda _
+ (substitute* "src/util/sys_defs.h"
+ (("^#define (ROOT_PATH|_PATH_DEFPATH|_PATH_STDPATH).*")
+ "#define ROOT_PATH \"/run/setuid-programs:/run/current-system/profile/bin:/run/current-system/profile/sbin\"\n"))))
+ (add-before 'configure 'use-relative-symlink-to-store
+ (lambda _
+ (substitute* "postfix-install"
+ (("ln -sf")
+ "ln -rsf"))))
+ (add-before 'configure 'fix-absolute-path-to-setuid-programs
+ (lambda _
+ (substitute* "conf/postfix-script"
+ (("\\$command_directory/postqueue")
+ "/run/setuid-programs/postqueue")
+ (("\\$command_directory/postdrop")
+ "/run/setuid-programs/postdrop"))))
+ (add-before 'configure 'disable-warning-on-non-writable-config-files
+ (lambda _
+ (substitute* "conf/postfix-script"
+ (("find \\$todo \\\\\\( -perm -020 -o -perm -002 \\\\\\) \\\\\n")
+ " # find $todo \\( -perm -020 -o -perm -002 \\)"))))
+ (add-before 'configure 'disable-write-to-/etc/postfix
+ (lambda _
+ (substitute* "src/postconf/postconf_edit.c"
+ (("pcf_set_config_dir.*")
+ "return;"))))
+ (add-before 'configure 'setup-environment
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (setenv "CCARGS" (string-append "-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I"
+ (assoc-ref inputs "cyrus-sasl")
+ "/include/sasl"))
+ (setenv "AUXLIBS" "-lnsl -lcrypto -lssl -lsasl2")
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (sbin (string-append out "/sbin"))
+ (lib (string-append out "/lib/postfix"))
+ (libexec (string-append out "/libexec/postfix"))
+ (etc (string-append out "/etc/postfix"))
+ (man (string-append out "/share/man"))
+ (doc (string-append out "/share/doc/postfix-" #$version))
+ (html (string-append doc "/html")))
+ (setenv "install_root" "wip-prefix")
+ (setenv "newaliases_path" (string-append bin "/newaliases"))
+ (setenv "mailq_path" (string-append bin "/mailq"))
+ (setenv "sendmail_path" (string-append sbin "/sendmail"))
+ (setenv "command_directory" sbin)
+ (setenv "shlib_directory" lib)
+ (setenv "daemon_directory" libexec)
+ (setenv "meta_directory" etc)
+ (setenv "sample_directory" etc)
+ (setenv "manpage_directory" man)
+ (setenv "readme_directory" doc)
+ (setenv "html_directory" html)
+ (setenv "sample_directory" (string-append out "/share/postfix")))))
+ (replace 'configure
+ (lambda _
+ (invoke "make" "makefiles"
+ "pie=yes"
+ "dynamicmaps=yes")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (invoke "make" "non-interactive-package")
+ (delete-file-recursively "wip-prefix/var")
+ (copy-recursively "wip-prefix/etc" (string-append out "/etc"))
+ (copy-recursively (string-append "wip-prefix" out) out)))))))
+ (inputs
+ (list bdb
+ cyrus-sasl
+ libnsl
+ openssl
+ perl))
+ (native-inputs
+ (list m4))
+ (home-page "https://www.postfix.org")
+ (synopsis "sendmail compatible MTA")
+ (description
+ "Postfix is Wietse Venema's mail server that started life at IBM research
+as an alternative to the widely-used Sendmail program. Now at Google, Wietse
+continues to support Postfix.
+
+Postfix attempts to be fast, easy to administer, and secure. The outside has a
+definite Sendmail-ish flavor, but the inside is completely different.")
+ (license (list license:ibmpl1.0
+ license:epl2.0))))
+
(define-public python-docx
(package
(name "python-docx")
@@ -318,6 +444,149 @@ collections.OrderedDict that works in Python 2.4-2.6.")
(description "We have made you a wrapper you can't refuse")
(license #f)))
+(define-public python-xdg
+ (package
+ (name "python-xdg")
+ (version "5.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (pypi-uri "xdg" version))
+ (sha256
+ (base32 "0v6hmhjqlc6km284lr14kc4h5rl6xva231q1lsr8hq7crhk9yqda"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/srstevenson/xdg")
+ (synopsis "An implementation of the XDG Base Directory Specification in Python")
+ (description
+ "xdg is a Python module that provides functions to return paths to the
+directories defined by the XDG Base Directory Specification, to save you from
+duplicating the same snippet of logic in every Python utility you write that
+deals with user cache, configuration, or data files.
+It has no external dependencies.")
+ (license license:isc)))
+
+(define-public tmux-plugin-continuum
+ (package
+ (name "tmux-plugin-continuum")
+ (version "3e4bc35da41f956c873aea716c97555bf1afce5d")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/tmux-plugins/tmux-continuum/")
+ (commit version)))
+ (sha256
+ (base32 "1py8qfs2f93hkxhk039m813bjgcs5k54si662gx05g3czqy06pb7"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((out (string-append %output "/share/tmux-plugins/continuum/")))
+ (mkdir-p out)
+ (copy-recursively (assoc-ref %build-inputs "source")
+ out)))))
+ (synopsis "Continous saving of tmux environment")
+ (description
+ "Features:
+
+@itemize
+@item continuous saving of tmux environment
+@item automatic tmux start when computer/server is turned on
+@item automatic restore when tmux is started
+@end itemize
+
+Together, these features enable uninterrupted tmux usage. No matter the
+computer or server restarts, if the machine is on, tmux will be there how you
+left it off the last time it was used.")
+ (home-page "https://github.com/tmux-plugins/tmux-continuum/")
+ (license license:expat)))
+
+(define-public tmux-plugin-resurrect
+ (package
+ (name "tmux-plugin-resurrect")
+ (version "a2ddfb96b94bb64a7a2e3f5fa2a7c57dce8ad579")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/tmux-plugins/tmux-resurrect/")
+ (commit version)))
+ (sha256
+ (base32 "1gc8z99na1d4scn2kq4alwyn43h3r7ykz9bkhcypjh8iri6dsl0c"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((out (string-append %output "/share/tmux-plugins/resurrect/")))
+ (mkdir-p out)
+ (copy-recursively (assoc-ref %build-inputs "source")
+ out)))))
+ (synopsis "Restore tmux environment after system restart")
+ (description
+ "This plugin goes to great lengths to save and restore all the details
+from your tmux environment. Here's what's been taken care of:
+
+@itemize
+@item all sessions, windows, panes and their order
+@item current working directory for each pane
+@item exact pane layouts within windows (even when zoomed)
+@item active and alternative session
+@item active and alternative window for each session
+@item windows with focus
+@item active pane for each window
+@item \"grouped sessions\" (useful feature when using tmux with multiple monitors)
+@item programs running within a pane! More details in the restoring programs doc.
+@end itemize
+
+Optional:
+
+@itemize
+@item restoring vim and neovim sessions
+@item restoring pane contents
+@end itemize")
+ (home-page "https://github.com/tmux-plugins/tmux-resurrect/")
+ (license license:expat)))
+
+(define-public remhind
+ (package
+ (name "remhind")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (pypi-uri "remhind" version))
+ (sha256
+ (base32 "1b0f2h76l9grhyplda2ny02ifqgmc7mf2nxwl0f839pvmcy5dyp4"))))
+ (build-system python-build-system)
+ (inputs
+ (list libnotify))
+ (propagated-inputs
+ (list python-aionotify
+ python-dateutil
+ python-icalendar
+ python-pygobject
+ python-pyinotify
+ python-toml
+ python-tzlocal
+ python-xdg))
+ (home-page "https://github.com/nicoe/remhind/")
+ (synopsis "A daemon to display notifications of iCalendar events")
+ (description
+ "A notification daemon of events stored in directories.
+
+Those directories will be monitored for change in order to allow you to use
+solution like vdirsyncer to sync your CalDAV server with your local filesystem.
+This package provides a daemon to display notifications of iCalendar events")
+ (license license:gpl3)))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -623,6 +892,7 @@ keyfile ~a/private.key
(list
+ postfix
epson-L365
python-docx
python-telegram-bot)