diff --git a/sysutils/elephant/Makefile b/sysutils/elephant/Makefile index 7d5c56a95706..1da7b335da49 100644 --- a/sysutils/elephant/Makefile +++ b/sysutils/elephant/Makefile @@ -1,106 +1,109 @@ PORTNAME= elephant DISTVERSIONPREFIX= v -DISTVERSION= 2.14.3 +DISTVERSION= 2.15.0 CATEGORIES= sysutils MAINTAINER= tagattie@FreeBSD.org COMMENT= Powerful data provider service and backend for application launchers WWW= https://github.com/abenz1267/elephant LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE NOT_FOR_ARCHS= aarch64 armv7 i386 NOT_FOR_ARCHS_REASON= -buildmode=plugin not supported on these architectures USES= go:1.25,modules GO_MODULE= github.com/abenz1267/elephant/v2 GO_TARGET= ./cmd/elephant PLIST_FILES= bin/${PORTNAME} PORTDOCS= README.md OPTIONS_DEFINE= DOCS OPTIONS_DEFAULT= ${OPTIONS_GROUP_PROVIDERS:NNIRISESSIONS} OPTIONS_GROUP= PROVIDERS -OPTIONS_GROUP_PROVIDERS=BOOKMARKS CALC CLIPBOARD DESKTOPAPPLICATIONS FILES \ - MENUS NIRISESSIONS PROVIDERLIST RUNNER SNIPPETS SYMBOLS \ - TODO UNICODE WEBSEARCH WINDOWS +OPTIONS_GROUP_PROVIDERS=1PASSWORD BOOKMARKS CALC CLIPBOARD DESKTOPAPPLICATIONS \ + FILES MENUS NIRISESSIONS PROVIDERLIST RUNNER SNIPPETS \ + SYMBOLS TODO UNICODE WEBSEARCH WINDOWS PROVIDERS_DESC= Enabled providers +1PASSWORD_DESC= Access your 1Password vaults BOOKMARKS_DESC= URL bookmark manager CALC_DESC= Perform calculation and unit-conversions CLIPBOARD_DESC= Store clipboard history DESKTOPAPPLICATIONS_DESC=Run installed desktop applications FILES_DESC= Find files/folders MENUS_DESC= Create custom menus NIRISESSIONS_DESC= Create predefined session layouts and open them PROVIDERLIST_DESC= Lists all providers and configured menus RUNNER_DESC= Execute everything installed in your PATH SNIPPETS_DESC= Create and access text snippets SYMBOLS_DESC= Search for emojis and symbols TODO_DESC= Basic Todolist UNICODE_DESC= Search for unicode symbols WEBSEARCH_DESC= Search web with custom defined search engines WINDOWS_DESC= Find and focus opened windows +1PASSWORD_RUN_DEPENDS= op:security/1password-client2 +1PASSWORD_PLIST_FILES= etc/xdg/elephant/providers/1password.so BOOKMARKS_RUN_DEPENDS= jq:textproc/jq BOOKMARKS_USES= sqlite BOOKMARKS_PLIST_FILES= etc/xdg/elephant/providers/bookmarks.so CALC_RUN_DEPENDS= qalc:math/libqalculate \ wl-copy:x11/wl-clipboard CALC_PLIST_FILES= etc/xdg/elephant/providers/calc.so CLIPBOARD_RUN_DEPENDS= wl-copy:x11/wl-clipboard CLIPBOARD_USES= magick:run CLIPBOARD_PLIST_FILES= etc/xdg/elephant/providers/clipboard.so DESKTOPAPPLICATIONS_PLIST_FILES=etc/xdg/elephant/providers/desktopapplications.so FILES_RUN_DEPENDS= fd:sysutils/fd FILES_PLIST_FILES= etc/xdg/elephant/providers/files.so MENUS_PLIST_FILES= etc/xdg/elephant/providers/menus.so NIRISESSIONS_RUN_DEPENDS=niri:x11-wm/niri NIRISESSIONS_PLIST_FILES=etc/xdg/elephant/providers/nirisessions.so PROVIDERLIST_PLIST_FILES=etc/xdg/elephant/providers/providerlist.so RUNNER_PLIST_FILES= etc/xdg/elephant/providers/runner.so SNIPPETS_RUN_DEPENDS= wtype:x11/wtype SNIPPETS_PLIST_FILES= etc/xdg/elephant/providers/snippets.so SYMBOLS_RUN_DEPENDS= wl-copy:x11/wl-clipboard SYMBOLS_PLIST_FILES= etc/xdg/elephant/providers/symbols.so TODO_RUN_DEPENDS= notify-send:devel/libnotify TODO_PLIST_FILES= etc/xdg/elephant/providers/todo.so UNICODE_RUN_DEPENDS= wl-copy:x11/wl-clipboard UNICODE_PLIST_FILES= etc/xdg/elephant/providers/unicode.so WEBSEARCH_PLIST_FILES= etc/xdg/elephant/providers/websearch.so WINDOWS_LIB_DEPENDS= libwayland-client.so:graphics/wayland WINDOWS_PLIST_FILES= etc/xdg/elephant/providers/windows.so .include ENABLED_PROVIDERS= ${SELECTED_OPTIONS:NDOCS:tl} post-patch: @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|; \ s|/run/user|/var&|' \ ${GO_WRKSRC}/vendor/github.com/adrg/xdg/paths_unix.go post-build: .for provider in ${ENABLED_PROVIDERS} @${ECHO_MSG} "===> Building ${provider} from ./internal/providers/${provider}" @cd ${GO_WRKSRC} && \ ${SETENV} ${MAKE_ENV} ${GO_ENV} \ GOMAXPROCS=${MAKE_JOBS_NUMBER} GOPROXY=off \ ${GO_CMD} build ${GO_BUILDFLAGS:C/-buildmode=.*//} -buildmode=plugin \ -o ${GO_WRKDIR_BIN}/${provider}.so \ ./internal/providers/${provider} .endfor post-install: @${MKDIR} ${STAGEDIR}${PREFIX}/etc/xdg/elephant/providers ${INSTALL_LIB} ${GO_WRKDIR_BIN}/*.so \ ${STAGEDIR}${PREFIX}/etc/xdg/elephant/providers post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} .include diff --git a/sysutils/elephant/distinfo b/sysutils/elephant/distinfo index 9799f748a7e9..c4ee050bcf19 100644 --- a/sysutils/elephant/distinfo +++ b/sysutils/elephant/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1762483994 -SHA256 (go/sysutils_elephant/elephant-v2.14.3/v2.14.3.mod) = 14e8da63cfb407de89f4ce5605d78d048b3f77bdef62aa33ee29aabbcfd9dace -SIZE (go/sysutils_elephant/elephant-v2.14.3/v2.14.3.mod) = 2725 -SHA256 (go/sysutils_elephant/elephant-v2.14.3/v2.14.3.zip) = cbe97bc5e61da51d6c7862eefd77935c6857aa9d99b31775e13b4abd69807296 -SIZE (go/sysutils_elephant/elephant-v2.14.3/v2.14.3.zip) = 7562507 +TIMESTAMP = 1763094271 +SHA256 (go/sysutils_elephant/elephant-v2.15.0/v2.15.0.mod) = 0df5afad597346ffb501e93b1a722cbbfb8bea76532dc04167c7d238ae0ecade +SIZE (go/sysutils_elephant/elephant-v2.15.0/v2.15.0.mod) = 2414 +SHA256 (go/sysutils_elephant/elephant-v2.15.0/v2.15.0.zip) = 26aa623a7c4d6abb37ff89862180ecb61032f1f82ba56257d78f8b1dd1612c3f +SIZE (go/sysutils_elephant/elephant-v2.15.0/v2.15.0.zip) = 7563466 diff --git a/sysutils/elephant/files/patch-vendor_github.com_neurlang_wayland_os_scm__freebsd.go b/sysutils/elephant/files/patch-vendor_github.com_neurlang_wayland_os_scm__freebsd.go new file mode 100644 index 000000000000..080a3e55fead --- /dev/null +++ b/sysutils/elephant/files/patch-vendor_github.com_neurlang_wayland_os_scm__freebsd.go @@ -0,0 +1,69 @@ +--- vendor/github.com/neurlang/wayland/os/scm_freebsd.go.orig 2025-11-14 04:42:13 UTC ++++ vendor/github.com/neurlang/wayland/os/scm_freebsd.go +@@ -0,0 +1,66 @@ ++//go:build freebsd ++// +build freebsd ++ ++package os ++ ++import "golang.org/x/sys/unix" ++import "syscall" ++ ++// SocketControlMessage is a socket control message ++type SocketControlMessage = syscall.SocketControlMessage ++ ++// Sockaddr is a socket address ++type Sockaddr = unix.Sockaddr ++ ++// ParseSocketControlMessage calls a system call to parse a Socket Control Message ++func ParseSocketControlMessage(b []byte) ([]SocketControlMessage, error) { ++ scms, err := syscall.ParseSocketControlMessage(b) ++ return []SocketControlMessage(scms), err ++} ++ ++// ParseUnixRights calls a system call to parse unix rights ++func ParseUnixRights(m *SocketControlMessage) (fds []int, err error) { ++ return syscall.ParseUnixRights(m) ++} ++ ++func fallocate(fd int, mode uint32, off int64, size int64) error { ++ return syscall.Ftruncate(fd, off+size) ++} ++ ++ ++// UnixRights calls a system call ++func UnixRights(fd int) []byte { ++ return syscall.UnixRights(fd) ++} ++ ++// Sendmsg sends information on fd using a Sendmsg system call ++func Sendmsg(fd int, msg []byte, oob []byte, sockaddr Sockaddr, z int) error { ++ return unix.Sendmsg(fd, msg, oob, sockaddr, z) ++} ++ ++// Mmap calls the system call to map memory on a fd ++func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { ++ return syscall.Mmap(fd, offset, length, prot, flags) ++} ++ ++// Munmap calls the system call to unmap memory ++func Munmap(data []byte) error { ++ return syscall.Munmap(data) ++} ++ ++// Close closes the fd ++func Close(fd int) error { ++ return syscall.Close(fd) ++} ++ ++// ProtRead Pages may be read ++const ProtRead = syscall.PROT_READ ++ ++// ProtWrite Pages may be written ++const ProtWrite = syscall.PROT_WRITE ++ ++// MapShared Share this mapping ++const MapShared = syscall.MAP_SHARED ++ ++// MapPrivate Private mapping ++const MapPrivate = syscall.MAP_PRIVATE diff --git a/sysutils/elephant/files/patch-vendor_github.com_neurlang_wayland_os_scm__linux.go b/sysutils/elephant/files/patch-vendor_github.com_neurlang_wayland_os_scm__linux.go new file mode 100644 index 000000000000..0944ac60ff75 --- /dev/null +++ b/sysutils/elephant/files/patch-vendor_github.com_neurlang_wayland_os_scm__linux.go @@ -0,0 +1,10 @@ +--- vendor/github.com/neurlang/wayland/os/scm_linux.go.orig 2025-11-14 04:42:08 UTC ++++ vendor/github.com/neurlang/wayland/os/scm_linux.go +@@ -1,5 +1,5 @@ +-//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++//go:build aix || darwin || dragonfly || linux || netbsd || openbsd || solaris ++// +build aix darwin dragonfly linux netbsd openbsd solaris + + package os +