On Tue, Apr 15, 2014 at 10:52:25AM +0200, David Coppa wrote:
> 
> Hi!
> 
> x11/i3 (and x11/awesome too) wants to use libxcb-cursor.
> Back in the days I patched upstream code and reverted it to use libXcursor.
> Now that we have xcb-util-cursor I want to remove those patches.
> However, xcb-util-cursor is currently broken:
> 
> [i3] CC src/config_parser.c
> cc -DI3_VERSION=\"'4.7.2 (2014-01-23, branch \"tags/4.7.2\")'\" 
> -DMAJOR_VERSION=4 -DMINOR_VERSION=7 -DPATCH_VERSION=2 -DSYSCONFDIR=\"/etc\" 
> -DI3__FILE__=__FILE__ -DPCRE_HAS_UCP=1 -DPANGO_SUPPORT=1   
> -I/usr/X11R6/include -I/usr/X11R6/include -I/usr/X11R6/include 
> -I/usr/X11R6/include -I/usr/X11R6/include -I/usr/X11R6/include 
> -I/usr/X11R6/include -I/usr/X11R6/include -I/usr/X11R6/include 
> -I/usr/local/include/cairo -I/usr/local/include/glib-2.0 
> -I/usr/local/lib/glib-2.0/include -I/usr/local/include 
> -I/usr/X11R6/include/pixman-1 -I/usr/X11R6/include 
> -I/usr/X11R6/include/freetype2 -I/usr/local/include/libpng16 
> -I/usr/local/include/pango-1.0 -I/usr/local/include/cairo 
> -I/usr/X11R6/include/pixman-1 -I/usr/local/include/libpng16 
> -I/usr/X11R6/include -I/usr/local/include/harfbuzz -pthread 
> -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include 
> -I/usr/local/include -I/usr/X11R6/include/freetype2 -I/usr/local/include/yajl 
> -idirafter /usr/ports/pobj/i3-4.7.2/i3-4.7.2/yajl-fallb!
 ack  -I/usr/local/include -I/usr/local/include/startup-notification-1.0 
-std=c99 -Wall -Wunused-value -Iinclude -I/usr/X11R6/include 
-I/usr/local/include -O2 -pipe -L/usr/X11R6/lib -L/usr/local/lib  -DTEST_PARSER 
-g -o test.config_parser src/config_parser.c 
-L/usr/ports/pobj/i3-4.7.2/i3-4.7.2 -li3 -lm -liconv -L/usr/X11R6/lib -lxcb 
-L/usr/X11R6/lib -lxcb-util -lxcb -L/usr/X11R6/lib -lxcb-util -lxcb 
-L/usr/X11R6/lib -lxcb-keysyms -lxcb -L/usr/X11R6/lib -lxcb-icccm -lxcb 
-L/usr/X11R6/lib -lxcb-xinerama -lxcb -L/usr/X11R6/lib -lxcb-randr -lxcb 
-L/usr/X11R6/lib -lX11 -L/usr/X11R6/lib -lxcb-cursor -lxcb -L/usr/local/lib 
-Wl,-rpath-link,/usr/X11R6/lib -lcairo -L/usr/local/lib 
-Wl,-rpath-link,/usr/X11R6/lib -L/usr/X11R6/lib -lpangocairo-1.0 -lcairo 
-lpangoft2-1.0 -lpango-1.0 -lm -lgobject-2.0 -lglib-2.0 -lintl -lfreetype -lz 
-lfontconfig -L/usr/local/lib -lyajl -lev -L/usr/local/lib -lpcre 
-L/usr/local/lib -lstartup-notification-1 -lm
> src/config_parser.c:162: warning: type qualifiers ignored on function return 
> type
> /usr/local/lib/libglib-2.0.so.4000.0: warning: vsprintf() is often misused, 
> please use vsnprintf()
> /usr/local/lib/libglib-2.0.so.4000.0: warning: stpcpy() is dangerous GNU 
> crap; don't use it
> /tmp//ccBo5VvY.o(.text+0x1a21): In function `parse_config':
> src/config_parser.c:498: warning: strcpy() is almost always misused, please 
> use strlcpy()
> /usr/local/lib/libcairo.so.12.2: warning: rand() isn't random; consider using 
> arc4random()
> /usr/X11R6/lib/libX11.so.16.0: warning: strcat() is almost always misused, 
> please use strlcat()
> /usr/X11R6/lib/libX11.so.16.0: warning: sprintf() is often misused, please 
> use snprintf()
> /usr/X11R6/lib/libxcb-cursor.so.0.0: undefined reference to `le32toh'
> collect2: ld returned 1 exit status
> src/i3.mk:55: recipe for target 'src/config_parser.o' failed
> gmake: *** [src/config_parser.o] Error 1
> 
> If I got it right, letoh32 is equivalent to linux' le32toh.
> The following diff works for me.
> 
> OK?
> 
> Index: cursor/parse_cursor_file.c
> ===================================================================
> RCS file: /cvs/xenocara/lib/xcb-util-cursor/cursor/parse_cursor_file.c,v
> retrieving revision 1.1.1.1
> diff -u -p -u -p -r1.1.1.1 parse_cursor_file.c
> --- cursor/parse_cursor_file.c        14 Apr 2014 19:28:48 -0000      1.1.1.1
> +++ cursor/parse_cursor_file.c        15 Apr 2014 08:50:12 -0000
> @@ -42,6 +42,9 @@
>  #endif
>  #ifdef HAVE_SYS_ENDIAN_H
>  #include <sys/endian.h>
> +# ifndef HAVE_LE32TOH
> +#  define le32toh(x) letoh32(x)
> +# endif
>  #endif
>  #ifdef HAVE_SYS_BYTEORDER_H
>  #include <sys/byteorder.h>
> 

Yes.
-- 
Matthieu Herrb

Reply via email to