From: Michael Stapelberg Date: Wed, 8 Jul 2015 06:12:13 +0000 (-0700) Subject: Merge pull request #40 from afh/pull/osx X-Git-Tag: 2.10~25 X-Git-Url: https://git.sur5r.net/?p=i3%2Fi3status;a=commitdiff_plain;h=55a23712ade74836be11feb9602f90d360aea44a;hp=326f26c5138526eccc7c57a22c3a1138e1535fcc Merge pull request #40 from afh/pull/osx Mac OS X compatibility changes --- diff --git a/Makefile b/Makefile index cf52d90..1823f3d 100644 --- a/Makefile +++ b/Makefile @@ -47,8 +47,8 @@ ifeq ($(OS),OpenBSD) LIBS+=-lossaudio endif -ifeq ($(OS), NetBSD) -LIBS+= -lprop +ifeq ($(OS),NetBSD) +LIBS+=-lprop endif # This probably applies for any pkgsrc based system diff --git a/i3status.c b/i3status.c index 46d557c..000584a 100644 --- a/i3status.c +++ b/i3status.c @@ -692,7 +692,12 @@ int main(int argc, char *argv[]) { * We also align to 60 seconds modulo interval such * that we start with :00 on every new minute. */ struct timespec ts; +#if defined(__APPLE__) + gettimeofday(&tv, NULL); + ts.tv_sec = tv.tv_sec; +#else clock_gettime(CLOCK_REALTIME, &ts); +#endif ts.tv_sec += interval - (ts.tv_sec % interval); ts.tv_nsec = 0; diff --git a/man/Makefile b/man/Makefile index ffcb80c..1db82a4 100644 --- a/man/Makefile +++ b/man/Makefile @@ -1,8 +1,9 @@ all: i3status.1 A2X?=a2x +A2X_FLAGS= i3status.1: asciidoc.conf i3status.man - ${A2X} -f manpage --asciidoc-opts="-f asciidoc.conf" i3status.man + ${A2X} -f manpage --asciidoc-opts="-f asciidoc.conf" ${A2X_FLAGS} i3status.man clean: rm -f i3status.xml i3status.1 i3status.html diff --git a/src/print_cpu_temperature.c b/src/print_cpu_temperature.c index c0a6baa..71ee4d4 100644 --- a/src/print_cpu_temperature.c +++ b/src/print_cpu_temperature.c @@ -261,8 +261,8 @@ void print_cpu_temperature_info(yajl_gen json_gen, char *buffer, int zone, const OUTPUT_FULL_TEXT(buffer); return; error: -#endif free(thermal_zone); +#endif OUTPUT_FULL_TEXT("can't read temp"); (void)fputs("i3status: Cannot read temperature. Verify that you have a thermal zone in /sys/class/thermal or disable the cpu_temperature module in your i3status config.\n", stderr); diff --git a/src/print_disk_info.c b/src/print_disk_info.c index 7fd47b9..e5e3ab1 100644 --- a/src/print_disk_info.c +++ b/src/print_disk_info.c @@ -7,7 +7,7 @@ #include #include #include -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || (__OpenBSD__) || defined(__DragonFly__) +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || (__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__) #include #include #else @@ -59,7 +59,7 @@ static int print_bytes_human(char *outwalk, uint64_t bytes, const char *prefix_t * Determines whether remaining bytes are below given threshold. * */ -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__DragonFly__) +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__) static bool below_threshold(struct statfs buf, const char *prefix_type, const char *threshold_type, const double low_threshold) { #else static bool below_threshold(struct statvfs buf, const char *prefix_type, const char *threshold_type, const double low_threshold) { @@ -116,7 +116,7 @@ void print_disk_info(yajl_gen json_gen, char *buffer, const char *path, const ch INSTANCE(path); -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__DragonFly__) +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__) struct statfs buf; if (statfs(path, &buf) == -1)