pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
gkrellm{,-share,-server}: Preparing for 2.4.0 update
Module Name: pkgsrc-wip
Committed By: PHO <pho%cielonegro.org@localhost>
Pushed By: pho
Date: Tue Aug 26 12:36:16 2025 +0900
Changeset: f556d37b9c21404bbe14f0a5d571b1e201819e78
Added Files:
gkrellm-server/DESCR
gkrellm-server/Makefile
gkrellm-server/PLIST
gkrellm-share/DESCR
gkrellm-share/Makefile
gkrellm-share/PLIST
gkrellm/COMMIT_MSG
gkrellm/DESCR
gkrellm/Makefile
gkrellm/Makefile.common
gkrellm/PLIST
gkrellm/buildlink3.mk
gkrellm/distinfo
gkrellm/files/gkrellmd.sh
gkrellm/options.mk
gkrellm/patches/patch-gkrellmd.1
gkrellm/patches/patch-server_Makefile
gkrellm/patches/patch-src_Makefile
Log Message:
gkrellm{,-share,-server}: Preparing for 2.4.0 update
It's quite a large change, and I'm testing this on platforms not only NetBSD.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=f556d37b9c21404bbe14f0a5d571b1e201819e78
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
gkrellm-server/DESCR | 24 +++
gkrellm-server/Makefile | 47 +++++
gkrellm-server/PLIST | 6 +
gkrellm-share/DESCR | 24 +++
gkrellm-share/Makefile | 25 +++
gkrellm-share/PLIST | 19 ++
gkrellm/COMMIT_MSG | 354 ++++++++++++++++++++++++++++++++++
gkrellm/DESCR | 24 +++
gkrellm/Makefile | 53 +++++
gkrellm/Makefile.common | 98 ++++++++++
gkrellm/PLIST | 15 ++
gkrellm/buildlink3.mk | 16 ++
gkrellm/distinfo | 8 +
gkrellm/files/gkrellmd.sh | 17 ++
gkrellm/options.mk | 46 +++++
gkrellm/patches/patch-gkrellmd.1 | 13 ++
gkrellm/patches/patch-server_Makefile | 54 ++++++
gkrellm/patches/patch-src_Makefile | 45 +++++
18 files changed, 888 insertions(+)
diffs:
diff --git a/gkrellm-server/DESCR b/gkrellm-server/DESCR
new file mode 100644
index 0000000000..0928bcb774
--- /dev/null
+++ b/gkrellm-server/DESCR
@@ -0,0 +1,24 @@
+With a single process, GKrellM manages multiple stacked monitors and supports
+applying themes to match the monitors appearance to your window manager, Gtk, or
+any other theme.
+ * SMP CPU, Disk, Proc, and active net interface monitors with LEDs.
+ * Internet monitor that displays current and charts historical port hits
+ * Memory and swap space usage meters and a system uptime monitor.
+ * File system meters show capacity/free space and can mount/umount.
+ * A mailbox monitor which can launch mail reader, remote mail fetch.
+ * Clock/calendar and hostname display.
+ * APM laptop battery monitor.
+ * CPU/motherboard temperature display if lm_sensors modules installed.
+ * Multiple monitors managed by a single process to reduce system load.
+ * A timer button that can execute PPP or ISDN logon/logoff scripts.
+ * Charts are autoscaling with configurable grid line resolution, or can be set
+ to a fixed scale mode.
+ * Separate colors for "in" and "out" data. The in color is used for CPU user
+ time, disk read, forks, and net receive data. The out color is used for CPU
+ sys time, disk write, load, and net transmit data.
+ * Commands can be configured to run when monitor labels are clicked.
+ * GKrellM is plugin capable so special interest monitors can be created.
+ * A different theme can be created with the GIMP.
+The gkrellm2-server package installs the monitoring part of GKrellM, which can
+be made to run as a daemon to be polled over the network by the GKrellM client
+as found in the gkrellm2 package.
diff --git a/gkrellm-server/Makefile b/gkrellm-server/Makefile
new file mode 100644
index 0000000000..e6bcaac188
--- /dev/null
+++ b/gkrellm-server/Makefile
@@ -0,0 +1,47 @@
+# $NetBSD: Makefile,v 1.35 2021/12/08 16:06:29 adam Exp $
+
+.include "../../wip/gkrellm/Makefile.common"
+
+GKRELLM_PKGBASE= gkrellm-server
+COMMENT= Monitoring daemon remotely accessible by a GKrellM client
+DEPENDS+= gkrellm-share-${GKRELLM_VERSION}:../../wip/gkrellm-share
+
+USE_TOOLS+= pkg-config
+PTHREAD_OPTS+= require
+RCD_SCRIPTS= gkrellmd
+EGDIR= ${PREFIX}/share/examples/gkrellm-server
+CONF_FILES= ${EGDIR}/gkrellmd.conf ${PKG_SYSCONFDIR}/gkrellmd.conf
+
+.include "../../mk/bsd.fast.prefs.mk"
+
+.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "OpenBSD" || ${OPSYS} == "DragonFly"
+SPECIAL_PERMS+= ${PREFIX}/bin/gkrellmd ${REAL_ROOT_USER} kmem 2555
+.endif
+
+SUBST_CLASSES+= gkprefix
+SUBST_STAGE.gkprefix= pre-configure
+SUBST_FILES.gkprefix= server/gkrellmd.h
+SUBST_SED.gkprefix+= -e '/GKRELLMD_LOCAL_ETC/d'
+SUBST_SED.gkprefix+= -e '/GKRELLMD_SYS_ETC/{s!/etc!${PKG_SYSCONFDIR}!;}'
+
+BUILD_DIRS= server
+BUILD_TARGET= ${GKRELLM_PER_PLATFORM_TARGET}
+.if !empty(PKG_OPTIONS:Mnls)
+BUILD_MAKE_FLAGS+= LOCALEDIR=${PREFIX}/${PKGLOCALEDIR}/locale
+.endif
+
+INSTALL_MAKE_FLAGS+= CFGDIR=${DESTDIR}${EGDIR}
+INSTALL_MAKE_FLAGS+= SINSTALLDIR=${DESTDIR}${PREFIX}/sbin
+INSTALL_MAKE_FLAGS+= SMANDIR=${DESTDIR}${PREFIX}/${PKGMANDIR}/man8
+INSTALL_TARGET= install_bin install_inc install_man install_cfg
+
+# include/gkrellm2/log.h conflicts with sysutils/gkrellm because the latter
+# also installs exactly the same file. Removing it means that one cannot
+# build a gkrellm plugin with only the server installed, but can we do
+# anything better than this?
+post-install:
+ ${RM} -f ${DESTDIR}${PREFIX}/include/gkrellm2/log.h
+
+.include "../../devel/glib2/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/gkrellm-server/PLIST b/gkrellm-server/PLIST
new file mode 100644
index 0000000000..30eca90d39
--- /dev/null
+++ b/gkrellm-server/PLIST
@@ -0,0 +1,6 @@
+@comment $NetBSD$
+include/gkrellm2/gkrellmd-version.h
+include/gkrellm2/gkrellmd.h
+man/man8/gkrellmd.8
+sbin/gkrellmd
+share/examples/gkrellm-server/gkrellmd.conf
diff --git a/gkrellm-share/DESCR b/gkrellm-share/DESCR
new file mode 100644
index 0000000000..4414758d43
--- /dev/null
+++ b/gkrellm-share/DESCR
@@ -0,0 +1,24 @@
+With a single process, GKrellM manages multiple stacked monitors and supports
+applying themes to match the monitors appearance to your window manager, Gtk, or
+any other theme.
+ * SMP CPU, Disk, Proc, and active net interface monitors with LEDs.
+ * Internet monitor that displays current and charts historical port hits
+ * Memory and swap space usage meters and a system uptime monitor.
+ * File system meters show capacity/free space and can mount/umount.
+ * A mailbox monitor which can launch mail reader, remote mail fetch.
+ * Clock/calendar and hostname display.
+ * APM laptop battery monitor.
+ * CPU/motherboard temperature display if lm_sensors modules installed.
+ * Multiple monitors managed by a single process to reduce system load.
+ * A timer button that can execute PPP or ISDN logon/logoff scripts.
+ * Charts are autoscaling with configurable grid line resolution, or can be set
+ to a fixed scale mode.
+ * Separate colors for "in" and "out" data. The in color is used for CPU user
+ time, disk read, forks, and net receive data. The out color is used for CPU
+ sys time, disk write, load, and net transmit data.
+ * Commands can be configured to run when monitor labels are clicked.
+ * GKrellM is plugin capable so special interest monitors can be created.
+ * A different theme can be created with the GIMP.
+GKrellM can either monitor the host it is running on or poll a server over the
+network. Both packages, gkrellm2 and gkrellm2-server, share a certain amount of
+data, notably i18n files which are included in the gkrellm2-share package.
diff --git a/gkrellm-share/Makefile b/gkrellm-share/Makefile
new file mode 100644
index 0000000000..37183c16de
--- /dev/null
+++ b/gkrellm-share/Makefile
@@ -0,0 +1,25 @@
+# $NetBSD: Makefile,v 1.7 2012/10/23 19:51:03 asau Exp $
+
+.include "../../wip/gkrellm/Makefile.common"
+
+GKRELLM_PKGBASE= gkrellm-share
+
+COMMENT= GKrellM2 locale files
+
+BUILD_DIRS= po
+INSTALLATION_DIRS= share/gkrellm2
+
+.if !empty(PKG_OPTIONS:Mnls)
+USE_TOOLS+= msgfmt
+USE_PKGLOCALEDIR= yes
+INSTALL_MAKE_FLAGS= LOCALEDIR=${DESTDIR}${PREFIX}/${PKGLOCALEDIR}/locale
+INSTALLATION_DIRS+= ${PKGLOCALEDIR}/locale
+PLIST.nls= yes
+.endif
+PLIST_VARS+= nls
+PRINT_PLIST_AWK+= /^${PKGLOCALEDIR:S,/,\/,g}\/locale/ { $$0 = "$${PLIST.nls}" $$0 }
+
+post-install:
+ ${INSTALL_DATA} ${WRKSRC}/README ${WRKSRC}/COPYRIGHT ${DESTDIR}${PREFIX}/share/gkrellm2
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/gkrellm-share/PLIST b/gkrellm-share/PLIST
new file mode 100644
index 0000000000..5d530e93e5
--- /dev/null
+++ b/gkrellm-share/PLIST
@@ -0,0 +1,19 @@
+@comment $NetBSD$
+share/gkrellm2/COPYRIGHT
+share/gkrellm2/README
+${PLIST.nls}share/locale/bg/LC_MESSAGES/gkrellm.mo
+${PLIST.nls}share/locale/cs/LC_MESSAGES/gkrellm.mo
+${PLIST.nls}share/locale/da/LC_MESSAGES/gkrellm.mo
+${PLIST.nls}share/locale/de/LC_MESSAGES/gkrellm.mo
+${PLIST.nls}share/locale/es/LC_MESSAGES/gkrellm.mo
+${PLIST.nls}share/locale/fr/LC_MESSAGES/gkrellm.mo
+${PLIST.nls}share/locale/it/LC_MESSAGES/gkrellm.mo
+${PLIST.nls}share/locale/ja/LC_MESSAGES/gkrellm.mo
+${PLIST.nls}share/locale/nl/LC_MESSAGES/gkrellm.mo
+${PLIST.nls}share/locale/pl/LC_MESSAGES/gkrellm.mo
+${PLIST.nls}share/locale/pt/LC_MESSAGES/gkrellm.mo
+${PLIST.nls}share/locale/pt_BR/LC_MESSAGES/gkrellm.mo
+${PLIST.nls}share/locale/ru/LC_MESSAGES/gkrellm.mo
+${PLIST.nls}share/locale/sl/LC_MESSAGES/gkrellm.mo
+${PLIST.nls}share/locale/sv/LC_MESSAGES/gkrellm.mo
+${PLIST.nls}share/locale/uk/LC_MESSAGES/gkrellm.mo
diff --git a/gkrellm/COMMIT_MSG b/gkrellm/COMMIT_MSG
new file mode 100644
index 0000000000..789a44cdb8
--- /dev/null
+++ b/gkrellm/COMMIT_MSG
@@ -0,0 +1,354 @@
+sysutils/gkrellm-share: Update to 2.4.0
+
+pkgsrc changes:
+- Changed HOMEPAGE. gkrellm.net has apparently been taken over and now it
+ only contains irrelevent ads and AI-generated crap, pretending to still
+ be the official website. It's clearly a fake because it doesn't even
+ distribute the source tarball. The upstream has moved to srcbox.net.
+- Removed patch-aa (src/sysdeps/bsd-common.c), patch-ab
+ (src/sysdeps/netbsd.c), patch-ac (src/sysdeps/openbsd.c), patch-ad
+ (src/sysdeps/bsd-net-open.c), patch-ae (server/gkrellmd-private.h),
+ patch-ag (src/chart.c), patch-ah (src/config.c), patch-ai (src/disk.c),
+ patch-aj (src/mail.c), patch-ak (src/net.c), patch-al (src/sensors.c),
+ patch-an (server/mail.c), patch-ao (server/sysdeps-unix.c), patch-ap
+ (src/client.c), patch-aq (server/main.c), patch-ar (src/monitor.c),
+ patch-as (src/configure), patch-au (src/gkrellm.h), patch-aw
+ (src/inet.h), patch-ay (src/sysdeps-unix.c), and patch-az
+ (src/sysdeps/sensors-common.c): The upstream took our patch and merged
+ them. How amazing!
+- Removed patch-am (src/smbencrypt.c): The upstream removed SMB stuff and
+ now it uses libntlm.
+- Removed patch-Makefile.inc and patch-src_Makefile: We've (including me)
+ been patching makefiles without knowing those files have come from pkgsrc
+ but not from upstream. The original files were in ${FILESDIR}. This is
+ confusing even to us, pkgsrc devs, so don't do this anymore.
+- gkrellmd from sysutils/gkrellm-server is no longer setuid'ed on NetBSD,
+ because its NetBSD-specific code has migrated away from kvm to sysctl.
+- NLS support is now optional but is enabled by default.
+- Dropped the option for building with glib1 instead of glib2. It's no
+ longer supported.
+- Dropped optional dependencies from sysutils/gkrellm/buildlink3.mk because
+ they are private to sysutils/gkrellm and don't affect any of the plugins.
+- Moved gkrellmd from ${PREFIX}/bin to ${PREFIX}/sbin because it's not
+ supposed to be directly executed by users. Its man page is now also moved
+ to section 8.
+
+upstream changes:
+
+## [2.4.0](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.4.0) - 2025-01-19
+
+- Use a sans-serif font and slightly bigger font sizes by default
+- Add native GnuTLS support mail check via SSL/TLS and require GnuTLS 3.3 or newer (#29)
+- Add and install a systemd service unit for gkrellmd
+- Install gkrellmd configuration file in standard "install" make target
+- Require and always use `getaddrinfo()` function. In a previous release this
+ was already done on Linux. Now it also applies to other platforms like BSD,
+ macOS, Solaris and Windows.
+- Enable gkrellmd timeouts by default to make gkrellm clients automatically
+ reconnect after a connection loss
+- Fix syslog facility/priority code in gkrellmd to be POSIX compliant so it
+ is more portable to Unix platforms other than Linux
+- Require OpenSSL 1.1 or newer for mail check via SSL/TLS.
+- Fix translations and add menu items to main context menu which were previously
+ only available as debug options
+- Replace MD5 code with existing functionality from GLib
+- Add and install XDG desktop file as well as icons on Unix/Linux systems.
+ This uses the GKrellM icon used on Windows only so far because the old icon
+ is only available in a very small size that is not suitable for modern
+ screen sizes. The icon is also used as the default window icon in taskbars
+ and launchers.
+- Use locale-dependent date and time formatting by default
+- Add Windows 10, 11, Server 2016/2019/2022 OS version detection
+- Do not strip executables during installation by default anymore. Use
+ `make install-strip` if you prefer the old behavior.
+- Fix syntax errors in manual pages (patch by Sandro Tosi)
+- Fix GTK and GLib deprecation warnings and require GTK >= 2.24
+- Fix most compiler warnings when building with GCC 13 and Clang 18
+- Center each line in multiline clock/calendar decals
+- Fix IPv6 address matching in gkrellmd client access list
+- Update French translation (patch by Jerome UZEL)
+- Fix stack corruption in Solaris kstat code (patch by Adam Stylinsk)
+
+## [2.3.11](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.3.11) - 2019-07-25
+
+- Fix krell scale for medium sized filesystems (based on patch by Peter Hymann)
+- Support OpenSSL >= 1.1 for mail check over SSL/TLS
+- Sort Linux disk devices alphabetically (patch by Petr Gajdos)
+- Avoid corruption of chart labels (based on patch by Stefan Seyfried)
+- Fix possible buffer-overflow in disk size formatting
+
+## [2.3.10](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.3.10) - 2016-10-23
+
+- Fix Linux nvme block devices
+- Do not reject disks because they are not found in `/proc/devices` (the nvme
+ disks may not be there) so new default is to accept anything in
+ `/proc/diskstats` regardless if major number is known or in devices file.
+
+## [2.3.9](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.3.9) - 2016-10-11
+
+- Fix mmc block devices (regression in 2.3.8)
+- Allow Pango markup for all configurable panel labels
+
+## [2.3.8](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.3.8) - 2016-09-07
+
+- Add option to ignore network interfaces that match a regular expression
+ pattern
+- Fix composite disk graph double counting
+- Handle dynamic disk major numbers for `dm` and `mdp` virtual devices and don't
+ add their data to the composite disk
+- Disk panel labels are now configurable. This is mostly useful for user
+ labeling of virtual disks
+- Use wrap bytes instead of discarding data when cumulative chart data overflows
+- Changed keyboard shortcut for theme changes to `Shift+Page Up` and `Shift+Page Down`
+ (patch by Pavel Reznicek)
+- Indentation cleanup bugfix for Linux kernel version detection
+ (patch by Ville Skytta)
+
+## [2.3.7](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.3.7) - 2016-06-03
+
+- Use `gdk_pixbuf_new_from_data()` instead of deprecated
+ `gdk_pixbuf_new_from_inline()`. Inline `alert_inline[]` needed to be --raw.
+- Fix sending error message back to clients that were refused by gkrellmd and
+ add dialog to gkrellm client to display the error message
+- Fix possible chart rendering problem for single pixels
+- Fix compilation without OpenSSL and GnuTLS (patch by Felix Janda)
+- Always use `getaddrinfo()` on Linux to fix IPv6 support on C libraries other
+ than glibc (for example musl libc)
+- Fix handling of `mmcblkN` SD disk partition numbers
+
+## [2.3.6-RC2](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.3.6-rc2) - 2015-12-23
+
+- Each real CPU chart may be individually enabled instead of as a group so CPU
+ charts may be split into multiple instances. For systems with large numbers
+ of CPUs.
+- Make drawing CPU panel labels optional to allow saving vertical space.
+- Patch from Ville Skytta: fix some `netbsd.c` and `winops-win32.c` issues flagged by cppcheck.
+- Patch from Neil Booth: Add multiple CPU capability to CPU monitor for
+ Dragonfly. Acquired `dragonfly.c` from web so could apply patch. I have no clue
+ why I never had a `dragonfly.c`.
+- Patch from Jindrich Makovicka: Update multiple GKrellM files to compile with
+ `-DGTK_DISABLE_DEPRECATED -DGSEAL_ENABLE` for GTK3 compatibility. Replaces
+ GtkItemFactory and GtkTooltips.
+- Add nvidia-smi interface to linux.c for getting nvidia GPU temperatures.
+- Translation updates
+ - ru.po from Roman Savochenko
+ - uk.po new translation from Roman Savochenko
+ - pt.po new translation from Ze based on pt_BR.po
+ - fr.po from Jerome UZEL
+- Bugfixes
+ - fix memory leaks: add `g_thread_unref()` for all GThread pointers returned
+ from `g_thread_new()` calls.
+ - Flag config as modified when changing a charts Resolution per Grid and bump
+ max grid resolution to 500000000.
+ - Store lockfiles under `/var/lock/gkrellm-UID` directories to make lockfiles
+ work for multiple users.
+- Only link against and initialize Libgcrypt when building with GnuTLS < 2.12.
+ This allows using GKrellM with GnuTLS versions built against Nettle instead
+ of Libgcrypt.
+- Patch from Gerard Neil: Skip autofs mounts in free disk space polling
+- Patch from Gerard Neil: Handle cifs as remote filesystem to use longer
+ `nfs-timeout` polling interval
+- Patch from Alexandre Rostovtsev: Explicitly link against gmodule-2.0
+- Add support for GPU-Z sensor information on Windows
+- Increase minimum required GLib version to 2.32, some parts of gkrellm use
+ newer GLib API
+- Drop remaining GLib 1.x compatibility from gkrellmd
+- Patch from Ville Skyttä: Allow binding to a listen address that doesn't exist
+ yet (gkrellmd)
+- Patch from Pierre Neyron: Option to enable/disable new network interfaces
+ by default
+
+2.3.5 - Thu Oct 7, 2010
+------------------------
+ * Patch from Hajimu Umemoto: use utmpx instead of utmp on FreeBSD 9-CURRENT
+ * Linux sensors: check for /sys/class/thermal/thermal_zone[0-*].
+ * Patch from Simon de Hartog: Add Linux net monitor checking for
+ IPv6 routes.
+ * Patches from Stefan Gehn:
+ - Use dynamic buffering to handle large disk names from a Mac gkrellmd.
+ - Clean up debug printing by using gkrellm_debug(), g_message(),
+ g_debug(), g_warning().
+ - Replace sprintf() calls with snprintf().
+ - Use glib gstdio to replace unix calls: fopen()->g_fopen(), etc.
+ - Use glib mutex functions for portability when building with
+ GnuTLS.
+ - Fix IMAP login by escaping backslash and double-quotes in
+ username, password and mailbox strings.
+ - Fix initial sending of fstab entries in gkrellmd, fstab was only
+ sent if it was marked as "changed"
+ - Configure scripts handle pkg-config and compiler errors better.
+ - src/Makefile: Rename SMC_LIBS to X11_lIBS and add -lX11
+ - Makefile: Drop duplicating SMC_LIBS in "netbsd" targets by calling
+ src/Makefile with "netbsd" target instead of using the generic
+ "gkrellm" target.
+ - gkrellmd: Make "-d" commandline option the short version
+ for "--detach" instead of for "--debug-level".
+ - Enable IPv6-support on win32 if target os is windows xp or newer.
+ - Support monitoring of active IPv6 TCP connections on windows vista
+ or newer.
+ - Fix building with mingw-w64 environment.
+ - Fix time formatting on win32 for monthly network statistics
+ * Patch from Stefan Gehn: add searching for linux sensors directly below
+ hwmon dir since kernel is putting newer devices there.
+ * Patch from Hajimu Umemoto: FreeBSD memory usage calculation update.
+ * Translation updates
+ o fr.po from Jerome UZEL
+ o es.po from Cristian Othon Martinez Vera
+ o de.po minor bug patch from Jan Brinkmann.
+ o pt_BR.po update from Vinicius Moreira de Oliveira
+ * Bugfixes
+ o Fix eof check in fgets_pipe() (when using external mail check program).
+ o Jindrich Makovicka patch: fix some aliasing violations due to
+ sockaddr_* typecasting.
+ o Ville Skytta patch: add explicit -lm linking to fix Fedora builds
+ with --no-add-needed.
+
+2.3.4 - Mon Jan 4, 2010
+------------------------
+ * Add gkrellm_sys_setup_connect() function so sysdep code can register
+ from gkrellm_sys_main_init() a setup function to call after main()
+ argument parsing.
+ * Patch from Hajimu Umemoto: add FreeBSD support for the amdtemp
+ temperature sensor.
+ * Add some mbmon usage help to gkrellm.1 and README.
+ * Bugfixes
+ o Patch from Sandro Tosi: fix a FTBFS when using gold as linker
+ (by simply adding -lX11).
+ o Add SSL library init calls to mail check for gnutls case.
+ o Patch from Hans de Goede: Fix some crashes - check for NULL GC when
+ drawing root pixmap on transparent chart or panel.
+ o Patch from Goswin von Brederlow: Ignore device mapper devices in
+ Linux disk stats.
+
+2.3.3 - Mon Dec 21, 2009
+------------------------
+ * gkrellm.spec update from Tim Keller.
+ * Patch from Cyrus Rahman: restore gkrellm_sys_main_init() call to proper
+ place and fix FreeBSD sensors for amd64 and fix allocate sensor bug.
+ * Patch from Hajimu Umemoto: add --without-ntlm option
+ * Patches from Hajimu Umemoto for FreeBSD:
+ - Support SMP CPU charts coming in FreeBSD 6.4-RELEASE and 7.1-RELEASE
+ - Use sysctl for swap info on recent FreeBSD; suppress compile warnings
+ - Include patch from Pietro Cerutti for coretemp(4) sensor support and
+ fix bug causing only one instance of a sensor type to be added.
+ - Include patch from Sven Berkvens-Matthijsse to enable battery support
+ on amd64 using ACPI.
+ * Patch from Stefan Gehn: Makefile & configure ntlm detect use pkg-config.
+ * Patch from Erik-Jan: sensors monitor option to show temperature units.
+ * Patch from Hans de Goede: rename getline to gkrellm_getline to avoid
+ conflict with new getline function in recent glibc.
+ * Bugfixes
+ o Fix a crah by moving "unable to connect" Gtk dialogs outside
+ of the connect to client thread.
+ o Divide by zero crash in Linux battery monitor when batteries are dead.
+ o Patch from Hans de Goede: fix a crash by adding openssl mail check
+ locking to mail monitor.
+ * Translation updates
+ o pt_BR.po update from Vinicius Moreira de Oliveira
+
+2.3.2 - Fri Oct 3, 2008
+------------------------
+ * Patch from Stefan Gehn:
+ - Add error logging routines so errors and debugging can be routed to
+ a file or stdout, and gkrellmd can log to the system syslog file.
+ Begin replacing debug printf() with g_message(), g_warning(), etc
+ functions to support the logging functions.
+ - Port gtk_combo functions to gtk_combo_box
+ - Add client mode server connection error dialog pupups.
+ - Use GTK 2.12 gtk_widget_xxx_tooltip over gtk_tooltip in mail.c
+ - win32 changes:
+ Use unicode function calls.
+ Use getaddrinfo() on win32.
+ Support CoreTemp application for getting cpu temperatures.
+ Redo sensor-handling to support multiple sensor backends.
+ Make Proc monitor work and properly count # of logged in users.
+ Mem monitor displays cache bytes.
+ System name shows some new windows versions.
+ Remove trayicon
+ - Other various cleanups and changes in his quite large patch.
+ * Add OpenSSL license exception.
+ Make OpenSSL the default to avoid gnutls symbol conflict crash.
+ * Link to libntlm and remove smb* files from gkrellm source distribution.
+ * Patch from Takao Fujiwara: Pass clock/calendar strings to strftime in
+ current locale. Bump default width up to 100.
+ * Patch from Leo Schwab: add linux sysfs battery interface. Use
+ preferencially over deprecated /proc/acpi interface.
+ * Patch from Lycestra:
+ - Mac OS X support:
+ "darwin9" build mode for Leopard, which lacks libkvm
+ add inet monitor interface
+ add buffers and cache data to memory monitor
+ - don't client connect to server in the case read_server_setup() fails
+ * Bugfixes
+ o Allow spaces in file system monitor directories.
+ o Andrey Rahmatullin and Ravi Pinjal both sent a patch to fix:
+ some memleaks in clock monitor.
+ o Ken Milmore patch: fix configure script to work for lm_sensors >= 3.1
+ o NULL serve_name segfault
+ * Translation updates
+ o pl.po from Michal Smoczyk
+
+2.3.1 - Sun Dec 2, 2007
+------------------------
+ * Clock/Calendar monitor rewritten to use user configurable display
+ format strings containing strftime conversion characters and
+ Pango text attribute markup strings.
+ * Hans de Goede patch: add new to be released libsensors4 interface to
+ linux sensors.
+ * Martijn Ras patch: -A option to bind gkrellmd to a specific interface.
+ * Include UDP connections in the Linux inet monitor.
+ * Bugfixes
+ o Ville Skytta patch: add gcrypt.h for mail monitor gnutls support.
+ o Add test for "charged" when checking linux battery charging state.
+ o Stop pumping extra "float_factor" lines into user-config.
+ o Add omitted substitution variables: $L for disk, $H for some others.
+ o make fs monitor panels adjust height according to changes in text
+ extents with panel format string Pango markup changes (and fs
+ labels can now use markup).
+ * Translation updates
+ o de.po from Steffen Weise
+ o fr.po from Jerome UZEL
+ o pl.po from Michal Smoczyk
+
+2.3.0 - Fri Jul 20, 2007
+------------------------
+ * Upgrade to GPLv3
+ * Jindrich Makovicka patch: mail check for Sylpheed .claws_mark mark file.
+ * Stefan Gehn large set of patches for Windows:
+ 1) Makefiles updated for Windows 2000/XP builds under MinGW/MSYS.
+ Drop win9x support.
+ 2) Add support: SpeedFan sensors, tcp port stats for the Inet monitor,
+ theme transparency,
+ 3) Add Vista detection, but running under Vista needs testing.
+ 4) Improve the plugin interface. Added static libgkrellm.a for easier
+ plugin porting. New files: src/win32-libgkrellm.c,
+ src/win32-plugin.c server/win32-gui.c server/win32-gui.h
+ server/win32-libgkrellmd.c server/win32-plugin.c
+ server/win32-plugin.h.
+ Pass callback pointer to win32 gkrellmd plugins.
+ 5) Various #ifdef WIN32 unix/windows compatibility cleanups, new
+ gkrellmd_get_timer_ticks() and gkrellmd_ticks() functions, trayicon
+ handling.
+ * Michal Nazarewicz patch: preserve config of disabled monitors.
+ * Anthony Mallet patches:
+ 1) Add NetBSD ACPI battery monitor support.
+ 2) Collection of NetBSD pkgsrc port patches: Disk monitor API changes,
+ DragonFLY OS support, 64 bit compile cleanups.
+ * Will Simoneau patch: look for linux I2O disks.
+ * Don't save config for disabled non-existing net interfaces.
+ * Add memory monitor raw free and raw used panel variables.
+ * Plugin interface to export strings (data) for panel/chart labels.
+ Net monitor updated to check for exports.
+ * Linux nvidia GPU option to use nvclock when nvidia-settings fails.
+ * Translation updates
+ o de.po from Steffen Weise
+ o fr.po from Jerome UZEL
+ * Bugfixes
+ o Add SubstructureRedirectMask in net_wm_state().
+ o gkrellmd documentation: fix gkrellmd.1 typos, add missing pidfile.
+ o Read of inet update_interval from config failed.
+ o Negative sensor factors weren't saved in the config.
+ o Linux sensors:
+ 1) handle libsensors via686a 2.0V voltage label style.
+ 2) Read temps from multiple nVidia gpu cores.
+ o Linux.c 64 bit compile warnings.
diff --git a/gkrellm/DESCR b/gkrellm/DESCR
new file mode 100644
index 0000000000..2a70ad45e0
--- /dev/null
+++ b/gkrellm/DESCR
@@ -0,0 +1,24 @@
+With a single process, GKrellM manages multiple stacked monitors and supports
+applying themes to match the monitors appearance to your window manager,
+Gtk, or any other theme.
+
+ * SMP CPU, Disk, Proc, and active net interface monitors with LEDs.
+ * Internet monitor that displays current and charts historical port hits
+ * Memory and swap space usage meters and a system uptime monitor.
+ * File system meters show capacity/free space and can mount/umount.
+ * A mailbox monitor which can launch mail reader, remote mail fetch.
+ * Clock/calendar and hostname display.
+ * APM laptop battery monitor.
+ * CPU/motherboard temperature display if lm_sensors modules installed.
+ * Multiple monitors managed by a single process to reduce system load.
+ * Charts are autoscaling with configurable grid line resolution, or
+ can be set to a fixed scale mode.
+ * Separate colors for "in" and "out" data. The in color is used for
+ CPU user time, disk read, forks, and net receive data. The out color
+ is used for CPU sys time, disk write, load, and net transmit data.
+ * GKrellM is plugin capable so special interest monitors can be created.
+ * A different theme can be created with the GIMP.
+ * And a lot more...
+
+While GKrellM monitors the host it is running on, it can poll a server
+over the network. The server package is named gkrellm-server.
diff --git a/gkrellm/Makefile b/gkrellm/Makefile
new file mode 100644
index 0000000000..f3ec885538
--- /dev/null
+++ b/gkrellm/Makefile
@@ -0,0 +1,53 @@
+# $NetBSD: Makefile,v 1.130 2025/04/24 14:15:45 wiz Exp $
+
+.include "Makefile.common"
+
+GKRELLM_PKGBASE= gkrellm
+COMMENT= GTK2 based system monitor
+DEPENDS+= gkrellm-share-${GKRELLM_VERSION}:../../wip/gkrellm-share
+
+USE_TOOLS+= pkg-config
+
+.include "../../mk/bsd.fast.prefs.mk"
+
+.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "OpenBSD" || ${OPSYS} == "DragonFly"
+SPECIAL_PERMS+= ${PREFIX}/bin/gkrellm ${BINOWN} kmem 2555
+.endif
+
+SUBST_CLASSES+= gkprefix
+SUBST_STAGE.gkprefix= pre-configure
+SUBST_FILES.gkprefix= src/gkrellm.h
+SUBST_SED.gkprefix+= -e '/LOCAL_[A-Z][A-Z]*_DIR/d'
+SUBST_SED.gkprefix+= -e '/SYSTEM_[A-Z][A-Z]*_DIR/{s!/usr!${PREFIX}!;}'
+
+BUILD_DIRS= src
+BUILD_TARGET= ${GKRELLM_PER_PLATFORM_TARGET}
+.if !empty(PKG_OPTIONS:Mnls)
+BUILD_MAKE_FLAGS+= LOCALEDIR=${PREFIX}/${PKGLOCALEDIR}/locale
+.endif
+
+MAKE_ENV+= MANDIR=${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
+
+# Fix PR pkg/40047, Thanks to Ondrej Tuma
+.if ${OBJECT_FMT} == "ELF" && ${OPSYS} != "SunOS"
+LDFLAGS+= -Wl,-export-dynamic
+.endif
+
+REQD_DIRS= lib/gkrellm2/plugins lib/gkrellm2/themes
+
+# Generate and install gkrellm.pc
+post-build:
+ ${RUN}cd ${WRKSRC} && \
+ ${BUILD_MAKE_CMD} gkrellm.pc
+
+INSTALL_MAKE_CMD= \
+ ${PKGSRC_SETENV} ${MAKE_ENV} \
+ ${MAKE_PROGRAM} ${MAKE_FLAGS} ${INSTALL_MAKE_FLAGS}
+post-install:
+ ${RUN}cd ${WRKSRC} && \
+ ${INSTALL_MAKE_CMD} install_gkrellm.pc
+
+.include "../../devel/glib2/buildlink3.mk"
+.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
+.include "../../x11/gtk2/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/gkrellm/Makefile.common b/gkrellm/Makefile.common
new file mode 100644
index 0000000000..83f368c6ed
--- /dev/null
+++ b/gkrellm/Makefile.common
@@ -0,0 +1,98 @@
+# $NetBSD: Makefile.common,v 1.19 2021/11/27 05:37:59 pho Exp $
+#
+# used by wip/gkrellm-share/Makefile
+# used by wip/gkrellm-server/Makefile
+
+GKRELLM_VERSION= 2.4.0
+GKRELLM_DISTBASE= gkrellm-${GKRELLM_VERSION}
+
+DISTNAME= ${GKRELLM_DISTBASE}
+PKGNAME= ${GKRELLM_PKGBASE}-${GKRELLM_VERSION}
+CATEGORIES= sysutils
+MASTER_SITES= https://gkrellm.srcbox.net/releases/
+EXTRACT_SUFX= .tar.bz2
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://gkrellm.srcbox.net/
+LICENSE= gnu-gpl-v3
+
+USE_TOOLS+= gmake
+
+FILESDIR= ${.CURDIR}/../../wip/gkrellm/files
+PATCHDIR= ${.CURDIR}/../../wip/gkrellm/patches
+DISTINFO_FILE= ${.CURDIR}/../../wip/gkrellm/distinfo
+
+.include "../../wip/gkrellm/options.mk"
+.include "../../mk/bsd.fast.prefs.mk"
+
+BROKEN_EXCEPT_ON_PLATFORM= # empty
+
+###
+### Darwin
+###
+BROKEN_EXCEPT_ON_PLATFORM+= Darwin-*-*
+.if ${OPSYS} == "Darwin"
+. if !empty(PKG_OPTIONS:Mquartz)
+GKRELLM_PER_PLATFORM_TARGET= macosx
+. elif ${OPSYS_VERSION} >= 100400 # post-Tiger; libkvm unavailable
+GKRELLM_PER_PLATFORM_TARGET= darwin9
+. else
+GKRELLM_PER_PLATFORM_TARGET= darwin
+. endif
+.endif
+
+###
+### DragonFly
+###
+BROKEN_EXCEPT_ON_PLATFORM+= DragonFly-*-*
+.if ${OPSYS} == "DragonFly"
+GKRELLM_PER_PLATFORM_TARGET= dragonfly
+.endif
+
+###
+### FreeBSD
+###
+BROKEN_EXCEPT_ON_PLATFORM+= FreeBSD-*-*
+.if ${OPSYS} == "FreeBSD"
+. if ${OPSYS_VERSION} >= 030000
+GKRELLM_PER_PLATFORM_TARGET= freebsd
+. else
+GKRELLM_PER_PLATFORM_TARGET= freebsd2
+. endif
+.endif
+
+###
+### Linux
+###
+BROKEN_EXCEPT_ON_PLATFORM+= Linux-*-*
+.if ${OPSYS} == "Linux"
+GKRELLM_PER_PLATFORM_TARGET= all
+.endif
+
+###
+### NetBSD
+###
+BROKEN_EXCEPT_ON_PLATFORM+= NetBSD-*-*
+.if ${OPSYS} == "NetBSD"
+. if ${OPSYS_VERSION} >= 020000
+GKRELLM_PER_PLATFORM_TARGET= netbsd2
+. else
+GKRELLM_PER_PLATFORM_TARGET= netbsd1
+. endif
+.endif
+
+###
+### OpenBSD
+###
+BROKEN_EXCEPT_ON_PLATFORM+= OpenBSD-*-*
+.if ${OPSYS} == "OpenBSD"
+GKRELLM_PER_PLATFORM_TARGET= openbsd
+.endif
+
+###
+### SunOS
+###
+BROKEN_EXCEPT_ON_PLATFORM+= SunOS-*-*
+.if ${OPSYS} == "SunOS"
+GKRELLM_PER_PLATFORM_TARGET= solaris
+.endif
diff --git a/gkrellm/PLIST b/gkrellm/PLIST
new file mode 100644
index 0000000000..2b4913acfa
--- /dev/null
+++ b/gkrellm/PLIST
@@ -0,0 +1,15 @@
+@comment $NetBSD$
+bin/gkrellm
+include/gkrellm2/gkrellm-public-proto.h
+include/gkrellm2/gkrellm-version.h
+include/gkrellm2/gkrellm.h
+include/gkrellm2/log.h
+lib/pkgconfig/gkrellm.pc
+man/man1/gkrellm.1
+share/applications/gkrellm.desktop
+share/icons/hicolor/16x16/apps/gkrellm.png
+share/icons/hicolor/24x24/apps/gkrellm.png
+share/icons/hicolor/32x32/apps/gkrellm.png
+share/icons/hicolor/48x48/apps/gkrellm.png
+share/icons/hicolor/64x64/apps/gkrellm.png
+share/metainfo/net.srcbox.gkrellm.GKrellM.metainfo.xml
diff --git a/gkrellm/buildlink3.mk b/gkrellm/buildlink3.mk
new file mode 100644
index 0000000000..e38fd586c0
--- /dev/null
+++ b/gkrellm/buildlink3.mk
@@ -0,0 +1,16 @@
+# $NetBSD: buildlink3.mk,v 1.73 2025/04/24 14:15:45 wiz Exp $
+
+BUILDLINK_TREE+= gkrellm
+
+.if !defined(GKRELLM_BUILDLINK3_MK)
+GKRELLM_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.gkrellm+= gkrellm>=2.1.22
+BUILDLINK_ABI_DEPENDS.gkrellm+= gkrellm>=2.2.10nb67
+BUILDLINK_PKGSRCDIR.gkrellm?= ../../wip/gkrellm
+
+.include "../../devel/glib2/buildlink3.mk"
+.include "../../x11/gtk2/buildlink3.mk"
+.endif # GKRELLM_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -gkrellm
diff --git a/gkrellm/distinfo b/gkrellm/distinfo
new file mode 100644
index 0000000000..fcc31b8220
--- /dev/null
+++ b/gkrellm/distinfo
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.49 2021/11/27 04:43:02 pho Exp $
+
+BLAKE2s (gkrellm-2.4.0.tar.bz2) = fe1062d50117f49eb846063e773d012cc6e1ad86e8a2208372880e1a73f36430
+SHA512 (gkrellm-2.4.0.tar.bz2) = 770acfe5ee23b74ffe5becc89d3735e9e8688ac338b052e1c2f86cb722b7867b1f8c262a969ef3140eb32912cf0426ac13bf3743e2a9149eec2a962655e05a9f
+Size (gkrellm-2.4.0.tar.bz2) = 790070 bytes
+SHA1 (patch-gkrellmd.1) = 579f6eac994ec5321645a21a117e621260be8a6c
+SHA1 (patch-server_Makefile) = a8194ddd9dc9f58cbacd0615914b53cc2af8a9b0
+SHA1 (patch-src_Makefile) = f9c9ebe1f25aa6560fe5034e8df705d0c90374eb
diff --git a/gkrellm/files/gkrellmd.sh b/gkrellm/files/gkrellmd.sh
new file mode 100644
index 0000000000..ebfd5710e1
--- /dev/null
+++ b/gkrellm/files/gkrellmd.sh
@@ -0,0 +1,17 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: gkrellmd.sh,v 1.1.1.1 2004/02/24 22:11:28 cube Exp $
+#
+
+# PROVIDE: gkrellmd
+# REQUIRE: DAEMON
+
+. /etc/rc.subr
+
+name="gkrellmd"
+rcvar=$name
+command="@PREFIX@/sbin/gkrellmd"
+gkrellmd_flags="-d"
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/gkrellm/options.mk b/gkrellm/options.mk
new file mode 100644
index 0000000000..da8b1ac794
--- /dev/null
+++ b/gkrellm/options.mk
@@ -0,0 +1,46 @@
+# $NetBSD: options.mk,v 1.2 2021/11/27 05:37:59 pho Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.gkrellm
+PKG_SUPPORTED_OPTIONS= nls ntlm
+PKG_OPTIONS_OPTIONAL_GROUPS= tls
+PKG_OPTIONS_GROUP.tls= gnutls openssl
+PKG_SUGGESTED_OPTIONS+= nls ntlm openssl
+PKG_OPTIONS_LEGACY_OPTS+= ssl:openssl
+
+.include "../../mk/bsd.fast.prefs.mk"
+
+.if ${OPSYS} == "Darwin"
+PKG_SUPPORTED_OPTIONS+= quartz
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mnls)
+. include "../../devel/gettext-lib/buildlink3.mk"
+MAKE_FLAGS+= enable_nls=1
+.endif
+
+.if !empty(PKG_OPTIONS:Mntlm)
+. include "../../devel/libntlm/buildlink3.mk"
+.else
+MAKE_FLAGS+= without-ntlm=yes
+.endif
+
+.if !empty(PKG_OPTIONS:Mopenssl)
+. include "../../security/openssl/buildlink3.mk"
+.else
+MAKE_FLAGS+= without-ssl=yes
+.endif
+
+.if !empty(PKG_OPTIONS:Mgnutls)
+. include "../../security/gnutls/buildlink3.mk"
+.else
+MAKE_FLAGS+= without-gnutls=yes
+.endif
+
+.if !empty(PKG_OPTIONS:Mquartz)
+# Handled in Makefile.common
+.else
+. include "../../x11/libICE/buildlink3.mk"
+. include "../../x11/libSM/buildlink3.mk"
+.endif
diff --git a/gkrellm/patches/patch-gkrellmd.1 b/gkrellm/patches/patch-gkrellmd.1
new file mode 100644
index 0000000000..b4727a4e23
--- /dev/null
+++ b/gkrellm/patches/patch-gkrellmd.1
@@ -0,0 +1,13 @@
+$NetBSD$
+
+Move gkrellmd(1) to section 8 because it's not supposed to be directly
+executed by users.
+
+--- gkrellmd.1.orig 2025-08-25 14:03:28.877318062 +0000
++++ gkrellmd.1
+@@ -1,4 +1,4 @@
+-.TH gkrellmd 1 "Jan 07, 2025" "" "User's Manual"
++.TH gkrellmd 8 "Jan 07, 2025" "" "User's Manual"
+
+ .SH "NAME"
+ gkrellmd \- The GNU Krell Monitors Server
diff --git a/gkrellm/patches/patch-server_Makefile b/gkrellm/patches/patch-server_Makefile
new file mode 100644
index 0000000000..f6331416b4
--- /dev/null
+++ b/gkrellm/patches/patch-server_Makefile
@@ -0,0 +1,54 @@
+$NetBSD$
+
+Hunk #0:
+ Support building on DragonFly.
+
+Hunk #1:
+ Add an explicit -lm for Solaris. Not sure why it's needed but we've been
+ doing this.
+
+Hunk #2:
+ Move gkrellmd(1) to section 8 because it's not supposed to be directly
+ executed by users.
+
+--- server/Makefile.orig 2025-01-19 16:02:37.000000000 +0000
++++ server/Makefile
+@@ -88,6 +88,9 @@ static: $(OBJS) $(EXTRAOBJS)
+ $(CC) $(OBJS) $(EXTRAOBJS) -o gkrellmd.static -static \
+ $(LDFLAGS) $(LIBS) $(LINK_FLAGS)
+
++dragonfly:
++ $(MAKE) EXTRAOBJS= SYS_LIBS="-lkvm -lkinfo -ldevstat -lm" gkrellmd
++
+ freebsd2:
+ $(MAKE) EXTRAOBJS= SYS_LIBS="-lkvm -lmd" gkrellmd
+
+@@ -124,12 +127,12 @@ openbsd:
+
+ solaris:
+ ifeq ($(OS_RELEASE),5.8)
+- $(MAKE) CFLAGS="-Wno-implicit-int" \
+- SYS_LIBS="-lkstat -lkvm -ldevinfo -lsocket -lnsl -lintl" \
++ $(MAKE) CFLAGS="-Wno-implicit-int -DSOLARIS_8" \
++ SYS_LIBS="-lm -lkstat -lkvm -ldevinfo -lsocket -lnsl -lintl" \
+ LINK_FLAGS="" gkrellmd
+ else
+ $(MAKE) CFLAGS="-Wno-implicit-int" \
+- SYS_LIBS="-lkstat -lkvm -ldevinfo -lsocket -lnsl" \
++ SYS_LIBS="-lm -lkstat -lkvm -ldevinfo -lsocket -lnsl" \
+ LINK_FLAGS="" gkrellmd
+ endif
+
+@@ -174,10 +177,10 @@ uninstall_inc:
+
+ install_man:
+ $(INSTALL) -d -m $(MANDIRMODE) $(SMANDIR)
+- $(INSTALL) -c -m $(MANMODE) ../gkrellmd.1 $(SMANDIR)/$(PACKAGE_D).1
++ $(INSTALL) -c -m $(MANMODE) ../gkrellmd.1 $(SMANDIR)/$(PACKAGE_D).8
+
+ uninstall_man:
+- $(RM) $(SMANDIR)/$(PACKAGE_D).1
++ $(RM) $(SMANDIR)/$(PACKAGE_D).8
+
+ install_cfg:
+ $(INSTALL) -d -m $(CFGDIRMODE) $(CFGDIR)
diff --git a/gkrellm/patches/patch-src_Makefile b/gkrellm/patches/patch-src_Makefile
new file mode 100644
index 0000000000..e5b3521584
--- /dev/null
+++ b/gkrellm/patches/patch-src_Makefile
@@ -0,0 +1,45 @@
+$NetBSD$
+
+Hunk #1:
+ Support building on DragonFly.
+
+Hunk #0, #2:
+ Add an explicit -lm for Solaris. Not sure why it's needed but we've been
+ doing this.
+
+--- src/Makefile.orig 2025-08-25 12:22:48.901061537 +0000
++++ src/Makefile
+@@ -82,6 +82,7 @@ ifneq ($(PACKAGE),gkrellm)
+ FLAGS += -DPACKAGE=\"$(PACKAGE)\"
+ endif
+
++OS_RELEASE=$(shell uname -r)
+
+ OBJS = main.o alerts.o battery.o base64.o clock.o cpu.o disk.o fs.o \
+ hostname.o inet.o mail.o mem.o net.o proc.o sensors.o uptime.o \
+@@ -100,6 +101,9 @@ static: $(OBJS) $(UNIXOBJS) $(EXTRAOBJS)
+ $(CC) $(OBJS) $(UNIXOBJS) $(EXTRAOBJS) -o gkrellm.static -static \
+ $(LDFLAGS) $(LIBS) $(LINK_FLAGS)
+
++dragonfly:
++ $(MAKE) EXTRAOBJS= SYS_LIBS="-lkvm -lkinfo -ldevstat -lm" gkrellm
++
+ freebsd2:
+ ifeq ($(HAVE_SSL),1)
+ $(MAKE) EXTRAOBJS= SYS_LIBS="-lkvm" gkrellm
+@@ -161,8 +165,13 @@ openbsd:
+ $(MAKE) GTOP_LIBS= SYS_LIBS="-lkvm -pthread" gkrellm
+
+ solaris:
+- $(MAKE) CFLAGS="-Wno-implicit-int" \
+- SYS_LIBS="-lkstat -lkvm -ldevinfo" gkrellm
++ifeq ($(OS_RELEASE),5.8)
++ $(MAKE) CFLAGS="-Wno-implicit-int -DSOLARIS_8" \
++ SYS_LIBS="-lm -lkstat -lkvm -ldevinfo -lsocket -lnsl -lintl -lresolv" gkrellm
++else
++ $(MAKE) CFLAGS="-Wno-implicit-int -DSOLARIS_8" \
++ SYS_LIBS="-lm -lkstat -lkvm -ldevinfo -lsocket -lnsl -lresolv" gkrellm
++endif
+
+ windows: libgkrellm.a
+ $(MAKE) \
Home |
Main Index |
Thread Index |
Old Index