Index: head/x11-toolkits/wcl/pkg-descr =================================================================== --- head/x11-toolkits/wcl/pkg-descr (revision 433890) +++ head/x11-toolkits/wcl/pkg-descr (nonexistent) @@ -1,3 +0,0 @@ -Wayland compositor library - -WWW: https://github.com/Cloudef/wlc Property changes on: head/x11-toolkits/wcl/pkg-descr ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/x11-toolkits/wcl/distinfo =================================================================== --- head/x11-toolkits/wcl/distinfo (revision 433890) +++ head/x11-toolkits/wcl/distinfo (nonexistent) @@ -1,5 +0,0 @@ -TIMESTAMP = 1486829262 -SHA256 (cloudef-wlc-0.0.5-fa780ce_GH0.tar.gz) = bf22b99b52cc2fb4ecc27da90ee47f516f8d5d1a02afdc495488c14d01788bc8 -SIZE (cloudef-wlc-0.0.5-fa780ce_GH0.tar.gz) = 120603 -SHA256 (cloudef-chck-3f27d2a_GH0.tar.gz) = fa3765dbaad52e968aae8b9a06a8ace24fab0d9ca53cc08a1f5543ff33959ebd -SIZE (cloudef-chck-3f27d2a_GH0.tar.gz) = 119955 Property changes on: head/x11-toolkits/wcl/distinfo ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/x11-toolkits/wcl/pkg-plist =================================================================== --- head/x11-toolkits/wcl/pkg-plist (revision 433890) +++ head/x11-toolkits/wcl/pkg-plist (nonexistent) @@ -1,9 +0,0 @@ -include/wlc/defines.h -include/wlc/geometry.h -include/wlc/wlc-render.h -include/wlc/wlc-wayland.h -include/wlc/wlc.h -lib/libwlc.so -lib/libwlc.so.0 -lib/libwlc.so.0.0.5 -libdata/pkgconfig/wlc.pc Property changes on: head/x11-toolkits/wcl/pkg-plist ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/x11-toolkits/wcl/Makefile =================================================================== --- head/x11-toolkits/wcl/Makefile (revision 433890) +++ head/x11-toolkits/wcl/Makefile (nonexistent) @@ -1,40 +0,0 @@ -# $FreeBSD$ - -PORTNAME= wlc -PORTVERSION= 0.0.5 -CATEGORIES= x11-toolkits wayland - -MAINTAINER= x11@FreeBSD.org -COMMENT= Wayland compositor library - -LICENSE= MIT -LICENSE_FILES= ${WRKSRC}/LISENSE - -BUILD_DEPENDS= wayland-protocols>=0:graphics/wayland-protocols -LIB_DEPENDS= libxkbcommon.so:x11/libxkbcommon \ - libxcb-ewmh.so:x11/xcb-util-wm \ - libwayland-server.so:graphics/wayland \ - libdrm.so:graphics/libdrm \ - libudev.so:devel/libudev-devd \ - libinput.so:x11/libinput \ - libxcb-image.so:x11/xcb-util-image - -RUN_DEPENDS= xkeyboard-config>=0:x11/xkeyboard-config - -USE_GITHUB= yes -GH_ACCOUNT= cloudef -GH_TAGNAME= fa780ce -GH_TUPLE= cloudef:chck:3f27d2a:chck - -USES= cmake gnome localbase pkgconfig pathfix -USE_XORG= pixman x11 xcb xcursor xfixes -USE_GL= egl gbm glesv2 -USE_GNOME= cairo - -USE_LDCONFIG= yes - -post-extract: - @${RM} -r ${WRKSRC}/lib/chck - @${LN} -s ${WRKSRC_chck} ${WRKSRC}/lib/chck - -.include Property changes on: head/x11-toolkits/wcl/Makefile ___________________________________________________________________ Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/x11-toolkits/wcl/files/patch-src_session_fd.c =================================================================== --- head/x11-toolkits/wcl/files/patch-src_session_fd.c (revision 433890) +++ head/x11-toolkits/wcl/files/patch-src_session_fd.c (nonexistent) @@ -1,48 +0,0 @@ ---- src/session/fd.c.orig 2016-08-19 13:28:50 UTC -+++ src/session/fd.c -@@ -10,7 +10,9 @@ - #include - #include - #include -+#if !defined(__FreeBSD__) - #include -+#endif - #include - #include "internal.h" - #include "macros.h" -@@ -135,7 +137,7 @@ recv_fd(int sock, int *out_fd, void *out - return read; - - if (message.msg_controllen == 0) -- return read; -+ return read; - - if (!(cmsg = CMSG_FIRSTHDR(&message))) - return read; -@@ -171,6 +173,7 @@ fd_open(const char *path, int flags, enu - } - - /* we will only open allowed paths */ -+#if !defined(__FreeBSD__) - #define FILTER(x, m) { x, (sizeof(x) > 32 ? 32 : sizeof(x)) - 1, m } - static struct { - const char *base; -@@ -186,14 +189,15 @@ fd_open(const char *path, int flags, enu - wlc_log(WLC_LOG_WARN, "Denying open from: %s", path); - return -1; - } -+#endif - - struct stat st; - if (stat(path, &st) < 0) -- return -1; -+ return -1; - --#ifdef __linux__ -+#if !defined(__FreeBSD__) - if (major(st.st_rdev) != allow[type].major) -- return -1; -+ return -1; - #endif - - int fd; Property changes on: head/x11-toolkits/wcl/files/patch-src_session_fd.c ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/x11-toolkits/wcl/files/patch-src_session_tty.c =================================================================== --- head/x11-toolkits/wcl/files/patch-src_session_tty.c (revision 433890) +++ head/x11-toolkits/wcl/files/patch-src_session_tty.c (nonexistent) @@ -1,165 +0,0 @@ ---- src/session/tty.c.orig 2016-08-19 13:28:50 UTC -+++ src/session/tty.c -@@ -9,27 +9,18 @@ - #include "internal.h" - #include "tty.h" - --#if defined(__linux__) --# define TTY_BASENAME "/dev/tty" --# define TTY_0 "/dev/tty0" --# include --# include --# include --#elif defined(__FreeBSD__) -+#if defined(__FreeBSD__) -+# include - # include - # include - # define TTY_BASENAME "/dev/ttyv" - # define TTY_0 "/dev/ttyv0" --# define TTY_MAJOR 0 --# define VT_GETSTATE 0x5603 --# define VT_ACTIVATE 0x5606 --# define K_UNICODE 0x03 --# define K_OFF 0x04 --struct vt_stat { -- unsigned short v_active; /* active vt */ -- unsigned short v_signal; /* signal to send */ -- unsigned short v_state; /* vt bitmask */ --}; -+#else -+# include -+# include -+# include -+# define TTY_BASENAME "/dev/tty" -+# define TTY_0 "/dev/tty0" - #endif - - #ifndef KDSKBMUTE -@@ -100,22 +91,22 @@ open_tty(int vt) - } - - static bool --setup_tty(int fd, bool replace_vt) -+setup_tty(int fd, int vt, bool replace_vt) - { - if (fd < 0) - return false; - -+#if defined(__FreeBSD__) -+ wlc.vt = vt+1; -+#else - struct stat st; - if (fstat(fd, &st) == -1) - die("Could not stat tty fd"); -- - wlc.vt = minor(st.st_rdev); -- - if (major(st.st_rdev) != TTY_MAJOR || wlc.vt == 0) - die("Not a valid vt"); -+#endif - --/* FreeBSD's new vt is still missing some bits */ --#if defined(__linux__) - if (!replace_vt) { - int kd_mode; - if (ioctl(fd, KDGETMODE, &kd_mode) == -1) -@@ -125,18 +116,20 @@ setup_tty(int fd, bool replace_vt) - die("vt%d is already in graphics mode (%d). Is another display server running?", wlc.vt, kd_mode); - } - -+#if defined(__FreeBSD__) -+ ioctl(fd, VT_GETACTIVE, &wlc.old_state.vt); -+#else - struct vt_stat state; - if (ioctl(fd, VT_GETSTATE, &state) == -1) - die("Could not get current vt"); -- - wlc.old_state.vt = state.v_active; -+#endif - - if (ioctl(fd, VT_ACTIVATE, wlc.vt) == -1) - die("Could not activate vt%d", wlc.vt); - - if (ioctl(fd, VT_WAITACTIVE, wlc.vt) == -1) - die("Could not wait for vt%d to become active", wlc.vt); --#endif - - if (ioctl(fd, KDGKBMODE, &wlc.old_state.kb_mode) == -1) - die("Could not get keyboard mode"); -@@ -144,7 +137,19 @@ setup_tty(int fd, bool replace_vt) - // vt will be restored from now on - wlc.tty = fd; - --#if defined(__linux__) -+#if defined(__FreeBSD__) -+ if (ioctl(fd, KDSKBMODE, K_CODE) == -1) { -+ wlc_tty_terminate(); -+ die("Could not set keyboard mode to K_CODE"); -+ } -+ /* Put the tty into raw mode */ -+ struct termios tios; -+ if (tcgetattr(fd, &tios)) -+ die("Failed to get terminal attribute"); -+ cfmakeraw(&tios); -+ if (tcsetattr(fd, TCSANOW, &tios)) -+ die("Failed to set terminal attribute"); -+#else - if (ioctl(fd, KDSKBMUTE, 1) == -1 && ioctl(fd, KDSKBMODE, K_OFF) == -1) { - wlc_tty_terminate(); - die("Could not set keyboard mode to K_OFF"); -@@ -156,18 +161,19 @@ setup_tty(int fd, bool replace_vt) - die("Could not set console mode to KD_GRAPHICS"); - } - --#if defined(__linux__) - struct vt_mode mode = { - .mode = VT_PROCESS, - .relsig = SIGUSR1, - .acqsig = SIGUSR2 - }; -+#if defined(__FreeBSD__) -+ mode.frsig = SIGIO; /* not used, but has to be set anyway */ -+#endif - - if (ioctl(fd, VT_SETMODE, &mode) == -1) { - wlc_tty_terminate(); - die("Could not set vt%d mode", wlc.vt); - } --#endif - - return true; - } -@@ -230,13 +236,19 @@ wlc_tty_terminate(void) - // The ACTIVATE / WAITACTIVE may be potentially bad here. - // However, we need to make sure the vt we initially opened is also active on cleanup. - // We can't make sure this is synchronized due to unclean exits. -+ - if (ioctl(wlc.tty, VT_ACTIVATE, wlc.vt) != -1 && ioctl(wlc.tty, VT_WAITACTIVE, wlc.vt) != -1) { - wlc_log(WLC_LOG_INFO, "Restoring vt %d (0x%lx) (fd %d)", wlc.vt, wlc.old_state.kb_mode, wlc.tty); - -- if (ioctl(wlc.tty, KDSKBMUTE, 0) == -1 && -- ioctl(wlc.tty, KDSKBMODE, wlc.old_state.kb_mode) == -1 && -- ioctl(wlc.tty, KDSKBMODE, K_UNICODE) == -1) -- wlc_log(WLC_LOG_ERROR, "Failed to restore vt%d KDSKMODE", wlc.vt); -+#if defined(__FreeBSD__) -+ if (ioctl(wlc.tty, KDSKBMODE, wlc.old_state.kb_mode) == -1 && -+ ioctl(wlc.tty, KDSKBMODE, K_XLATE) == -1) -+#else -+ if (ioctl(wlc.tty, KDSKBMUTE, 0) == -1 && -+ ioctl(wlc.tty, KDSKBMODE, wlc.old_state.kb_mode) == -1 && -+ ioctl(wlc.tty, KDSKBMODE, K_UNICODE) == -1) -+#endif -+ wlc_log(WLC_LOG_ERROR, "Failed to restore vt%d KDSKMODE", wlc.vt); - - if (ioctl(wlc.tty, KDSETMODE, KD_TEXT) == -1) - wlc_log(WLC_LOG_ERROR, "Failed to restore vt%d mode to VT_AUTO", wlc.vt); -@@ -271,7 +283,7 @@ wlc_tty_init(int vt) - if (!vt && !(vt = find_vt(getenv("XDG_VTNR"), &replace_vt))) - die("Could not find vt"); - -- if (!setup_tty(open_tty(vt), replace_vt)) -+ if (!setup_tty(open_tty(vt), vt, replace_vt)) - die("Could not open tty with vt%d", vt); - - struct sigaction action = { Property changes on: head/x11-toolkits/wcl/files/patch-src_session_tty.c ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/x11-toolkits/Makefile =================================================================== --- head/x11-toolkits/Makefile (revision 433890) +++ head/x11-toolkits/Makefile (revision 433891) @@ -1,298 +1,298 @@ # $FreeBSD$ # COMMENT = X11 toolkits SUBDIR += SoXt SUBDIR += Xaw3d SUBDIR += Xmt SUBDIR += attica SUBDIR += bakery SUBDIR += blt SUBDIR += bwidget SUBDIR += c++-gtk-utils SUBDIR += diorite SUBDIR += flowcanvas SUBDIR += fltk SUBDIR += fltk-devel SUBDIR += fox14 SUBDIR += fox16 SUBDIR += fox17 SUBDIR += fpc-gtk2 SUBDIR += fpc-xforms SUBDIR += fxscintilla SUBDIR += gai SUBDIR += gal2 SUBDIR += gal2-reference SUBDIR += gdl SUBDIR += girara SUBDIR += gnocl SUBDIR += gnome-pty-helper SUBDIR += gnome-sharp20 SUBDIR += gnomemm SUBDIR += gnustep-back SUBDIR += gnustep-gui SUBDIR += granite SUBDIR += gstreamer-plugins-pango SUBDIR += gstreamer1-plugins-gtksink SUBDIR += gstreamer1-plugins-pango SUBDIR += gtk-sharp-beans SUBDIR += gtk-sharp20 SUBDIR += gtk-sharp30 SUBDIR += gtk12 SUBDIR += gtk20 SUBDIR += gtk20-reference SUBDIR += gtk30 SUBDIR += gtk30-reference SUBDIR += gtkada SUBDIR += gtkada3 SUBDIR += gtkdatabox SUBDIR += gtkextra2 SUBDIR += gtkglarea2 SUBDIR += gtkglext SUBDIR += gtkglextmm SUBDIR += gtkimageview SUBDIR += gtkmathview SUBDIR += gtkmm20 SUBDIR += gtkmm20-reference SUBDIR += gtkmm24 SUBDIR += gtkmm24-reference SUBDIR += gtkmm30 SUBDIR += gtkmm30-reference SUBDIR += gtksourceview SUBDIR += gtksourceview-reference SUBDIR += gtksourceview2 SUBDIR += gtksourceview2-reference SUBDIR += gtksourceview3 SUBDIR += gtksourceview3-reference SUBDIR += gtksourceviewmm3 SUBDIR += hippo-canvas SUBDIR += hs-GLURaw SUBDIR += hs-GLUT SUBDIR += hs-OpenGL SUBDIR += hs-OpenGLRaw SUBDIR += hs-gtk SUBDIR += hs-gtk2hs SUBDIR += hs-gtksourceview2 SUBDIR += hs-pango SUBDIR += hs-vte SUBDIR += hs-wx SUBDIR += hs-wxc SUBDIR += hs-wxcore SUBDIR += hs-wxdirect SUBDIR += irrlicht SUBDIR += itk SUBDIR += iwidgets SUBDIR += kf5-attica SUBDIR += kf5-kcompletion SUBDIR += kf5-kconfigwidgets SUBDIR += kf5-kdesignerplugin SUBDIR += kf5-kguiaddons SUBDIR += kf5-kitemviews SUBDIR += kf5-kjobwidgets SUBDIR += kf5-ktextwidgets SUBDIR += kf5-kwidgetsaddons SUBDIR += kf5-kxmlgui SUBDIR += kirigami SUBDIR += lesstif SUBDIR += libXaw SUBDIR += libXmu SUBDIR += libXt SUBDIR += libbonoboui SUBDIR += libbonoboui-reference SUBDIR += libgdiplus SUBDIR += libgnomeprintui SUBDIR += libgnomeprintuimm SUBDIR += libgnomeui SUBDIR += libgnomeui-reference SUBDIR += libgnomeuimm26 SUBDIR += libgtksourceviewmm SUBDIR += libsexy SUBDIR += libsexymm SUBDIR += libunique3 SUBDIR += libwnck SUBDIR += libwnck-reference SUBDIR += libwnck3 SUBDIR += libxaw3dxft SUBDIR += libxfce4gui SUBDIR += linux-c6-gtk2 SUBDIR += linux-c6-openmotif SUBDIR += linux-c6-pango SUBDIR += linux-c6-qt47-x11 SUBDIR += linux-c6-tk85 SUBDIR += linux-c7-gtk2 SUBDIR += linux-c7-openmotif SUBDIR += linux-c7-pango SUBDIR += linux-c7-qt-x11 SUBDIR += linux-c7-tk85 SUBDIR += movingmotif SUBDIR += mowitz SUBDIR += mygui SUBDIR += mygui-dummy SUBDIR += mygui-ogre SUBDIR += mygui-opengl SUBDIR += neXtaw SUBDIR += nucleo SUBDIR += ocaml-lablgtk2 SUBDIR += ocaml-labltk SUBDIR += open-motif SUBDIR += osm-gps-map SUBDIR += otk SUBDIR += p5-Alien-wxWidgets SUBDIR += p5-Glade2 SUBDIR += p5-Gnome2 SUBDIR += p5-Gnome2-Canvas SUBDIR += p5-Gnome2-VFS SUBDIR += p5-Gnome2-Wnck SUBDIR += p5-Gtk SUBDIR += p5-Gtk2 SUBDIR += p5-Gtk2-Chmod SUBDIR += p5-Gtk2-Ex-Dialogs SUBDIR += p5-Gtk2-Ex-FormFactory SUBDIR += p5-Gtk2-Ex-PodViewer SUBDIR += p5-Gtk2-Ex-Simple-List SUBDIR += p5-Gtk2-Ex-Utils SUBDIR += p5-Gtk2-GladeXML SUBDIR += p5-Gtk2-Html2 SUBDIR += p5-Gtk2-ImageView SUBDIR += p5-Gtk2-PathButtonBar SUBDIR += p5-Gtk2-TrayIcon SUBDIR += p5-Gtk2-Unique SUBDIR += p5-Gtk3 SUBDIR += p5-Pango SUBDIR += p5-Prima SUBDIR += p5-Tk SUBDIR += p5-Tk-Action SUBDIR += p5-Tk-Autoscroll SUBDIR += p5-Tk-ColourChooser SUBDIR += p5-Tk-Contrib SUBDIR += p5-Tk-CursorControl SUBDIR += p5-Tk-DKW SUBDIR += p5-Tk-Date SUBDIR += p5-Tk-DynaTabFrame SUBDIR += p5-Tk-Enscript SUBDIR += p5-Tk-FileDialog SUBDIR += p5-Tk-FontDialog SUBDIR += p5-Tk-GBARR SUBDIR += p5-Tk-Getopt SUBDIR += p5-Tk-HistEntry SUBDIR += p5-Tk-JComboBox SUBDIR += p5-Tk-ResizeButton SUBDIR += p5-Tk-Role-Dialog SUBDIR += p5-Tk-Role-HasWidgets SUBDIR += p5-Tk-Splashscreen SUBDIR += p5-Tk-Sugar SUBDIR += p5-Tk-TableMatrix SUBDIR += p5-Tk-ToolBar SUBDIR += p5-Tk-WaitBox SUBDIR += p5-Wx SUBDIR += p5-Wx-Perl-ProcessStream SUBDIR += pango SUBDIR += pango-reference SUBDIR += pangomm SUBDIR += pangox-compat SUBDIR += pangoxsl SUBDIR += phat SUBDIR += plib SUBDIR += pure-gtk SUBDIR += pure-tk SUBDIR += py-Pmw SUBDIR += py-SquareMap SUBDIR += py-fltk SUBDIR += py-gnome2 SUBDIR += py-gtk2 SUBDIR += py-gtkglext SUBDIR += py-gtksourceview SUBDIR += py-gui SUBDIR += py-kivy SUBDIR += py-kiwi-gtk SUBDIR += py-qt4-gui SUBDIR += py-qt5-gui SUBDIR += py-qt5-quick SUBDIR += py-qt5-widgets SUBDIR += py-sexy SUBDIR += py-tkinter SUBDIR += py-tktreectrl SUBDIR += py-vte SUBDIR += py-wax SUBDIR += py-wxPython-common SUBDIR += py-wxPython28 SUBDIR += py-wxPython28-common SUBDIR += py-wxPython30 SUBDIR += py-xlib SUBDIR += py33-tkinter SUBDIR += py34-tkinter SUBDIR += py35-tkinter SUBDIR += py36-tkinter SUBDIR += pypy-tkinter SUBDIR += qt4-declarative SUBDIR += qt4-gui SUBDIR += qt4pas SUBDIR += qt5-canvas3d SUBDIR += qt5-charts SUBDIR += qt5-declarative SUBDIR += qt5-gui SUBDIR += qt5-quick SUBDIR += qt5-quickcontrols SUBDIR += qt5-quickcontrols2 SUBDIR += qt5-uiplugin SUBDIR += qt5-widgets SUBDIR += qtermwidget SUBDIR += qwt5 SUBDIR += qwt5-designerplugin SUBDIR += qwt6 SUBDIR += qwt6-designerplugin SUBDIR += rep-gtk2 SUBDIR += rubygem-gdk3 SUBDIR += rubygem-gtk2 SUBDIR += rubygem-gtk3 SUBDIR += rubygem-gtksourceview2 SUBDIR += rubygem-gtksourceview3 SUBDIR += rubygem-pango SUBDIR += rubygem-poppler SUBDIR += rubygem-uh SUBDIR += rubygem-vte SUBDIR += rubygem-vte3 SUBDIR += scintilla SUBDIR += sdl_pango SUBDIR += shared-desktop-ontologies SUBDIR += skinlf SUBDIR += slingshot SUBDIR += soqt SUBDIR += swt SUBDIR += swt-devel SUBDIR += termit SUBDIR += tile SUBDIR += tix SUBDIR += tk-wrapper SUBDIR += tk84 SUBDIR += tk85 SUBDIR += tk86 SUBDIR += tkdnd SUBDIR += tkshape SUBDIR += tktable SUBDIR += tktray SUBDIR += tktreectrl SUBDIR += unique SUBDIR += v SUBDIR += vdk SUBDIR += viewklass SUBDIR += vte SUBDIR += vte-reference SUBDIR += vte290 SUBDIR += vte3 SUBDIR += vtkfox - SUBDIR += wcl + SUBDIR += wlc SUBDIR += wmapp SUBDIR += wxgtk28 SUBDIR += wxgtk28-common SUBDIR += wxgtk28-contrib SUBDIR += wxgtk28-contrib-common SUBDIR += wxgtk30 SUBDIR += xbae SUBDIR += xforms SUBDIR += xmhtml SUBDIR += xview SUBDIR += xview-clients .include Index: head/x11-toolkits/wlc/Makefile =================================================================== --- head/x11-toolkits/wlc/Makefile (nonexistent) +++ head/x11-toolkits/wlc/Makefile (revision 433891) @@ -0,0 +1,40 @@ +# $FreeBSD$ + +PORTNAME= wlc +PORTVERSION= 0.0.5 +CATEGORIES= x11-toolkits wayland + +MAINTAINER= x11@FreeBSD.org +COMMENT= Wayland compositor library + +LICENSE= MIT +LICENSE_FILES= ${WRKSRC}/LISENSE + +BUILD_DEPENDS= wayland-protocols>=0:graphics/wayland-protocols +LIB_DEPENDS= libxkbcommon.so:x11/libxkbcommon \ + libxcb-ewmh.so:x11/xcb-util-wm \ + libwayland-server.so:graphics/wayland \ + libdrm.so:graphics/libdrm \ + libudev.so:devel/libudev-devd \ + libinput.so:x11/libinput \ + libxcb-image.so:x11/xcb-util-image + +RUN_DEPENDS= xkeyboard-config>=0:x11/xkeyboard-config + +USE_GITHUB= yes +GH_ACCOUNT= cloudef +GH_TAGNAME= fa780ce +GH_TUPLE= cloudef:chck:3f27d2a:chck + +USES= cmake gnome localbase pkgconfig pathfix +USE_XORG= pixman x11 xcb xcursor xfixes +USE_GL= egl gbm glesv2 +USE_GNOME= cairo + +USE_LDCONFIG= yes + +post-extract: + @${RM} -r ${WRKSRC}/lib/chck + @${LN} -s ${WRKSRC_chck} ${WRKSRC}/lib/chck + +.include Property changes on: head/x11-toolkits/wlc/Makefile ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/x11-toolkits/wlc/distinfo =================================================================== --- head/x11-toolkits/wlc/distinfo (nonexistent) +++ head/x11-toolkits/wlc/distinfo (revision 433891) @@ -0,0 +1,5 @@ +TIMESTAMP = 1486829262 +SHA256 (cloudef-wlc-0.0.5-fa780ce_GH0.tar.gz) = bf22b99b52cc2fb4ecc27da90ee47f516f8d5d1a02afdc495488c14d01788bc8 +SIZE (cloudef-wlc-0.0.5-fa780ce_GH0.tar.gz) = 120603 +SHA256 (cloudef-chck-3f27d2a_GH0.tar.gz) = fa3765dbaad52e968aae8b9a06a8ace24fab0d9ca53cc08a1f5543ff33959ebd +SIZE (cloudef-chck-3f27d2a_GH0.tar.gz) = 119955 Property changes on: head/x11-toolkits/wlc/distinfo ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/x11-toolkits/wlc/files/patch-src_session_fd.c =================================================================== --- head/x11-toolkits/wlc/files/patch-src_session_fd.c (nonexistent) +++ head/x11-toolkits/wlc/files/patch-src_session_fd.c (revision 433891) @@ -0,0 +1,48 @@ +--- src/session/fd.c.orig 2016-08-19 13:28:50 UTC ++++ src/session/fd.c +@@ -10,7 +10,9 @@ + #include + #include + #include ++#if !defined(__FreeBSD__) + #include ++#endif + #include + #include "internal.h" + #include "macros.h" +@@ -135,7 +137,7 @@ recv_fd(int sock, int *out_fd, void *out + return read; + + if (message.msg_controllen == 0) +- return read; ++ return read; + + if (!(cmsg = CMSG_FIRSTHDR(&message))) + return read; +@@ -171,6 +173,7 @@ fd_open(const char *path, int flags, enu + } + + /* we will only open allowed paths */ ++#if !defined(__FreeBSD__) + #define FILTER(x, m) { x, (sizeof(x) > 32 ? 32 : sizeof(x)) - 1, m } + static struct { + const char *base; +@@ -186,14 +189,15 @@ fd_open(const char *path, int flags, enu + wlc_log(WLC_LOG_WARN, "Denying open from: %s", path); + return -1; + } ++#endif + + struct stat st; + if (stat(path, &st) < 0) +- return -1; ++ return -1; + +-#ifdef __linux__ ++#if !defined(__FreeBSD__) + if (major(st.st_rdev) != allow[type].major) +- return -1; ++ return -1; + #endif + + int fd; Property changes on: head/x11-toolkits/wlc/files/patch-src_session_fd.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/x11-toolkits/wlc/files/patch-src_session_tty.c =================================================================== --- head/x11-toolkits/wlc/files/patch-src_session_tty.c (nonexistent) +++ head/x11-toolkits/wlc/files/patch-src_session_tty.c (revision 433891) @@ -0,0 +1,165 @@ +--- src/session/tty.c.orig 2016-08-19 13:28:50 UTC ++++ src/session/tty.c +@@ -9,27 +9,18 @@ + #include "internal.h" + #include "tty.h" + +-#if defined(__linux__) +-# define TTY_BASENAME "/dev/tty" +-# define TTY_0 "/dev/tty0" +-# include +-# include +-# include +-#elif defined(__FreeBSD__) ++#if defined(__FreeBSD__) ++# include + # include + # include + # define TTY_BASENAME "/dev/ttyv" + # define TTY_0 "/dev/ttyv0" +-# define TTY_MAJOR 0 +-# define VT_GETSTATE 0x5603 +-# define VT_ACTIVATE 0x5606 +-# define K_UNICODE 0x03 +-# define K_OFF 0x04 +-struct vt_stat { +- unsigned short v_active; /* active vt */ +- unsigned short v_signal; /* signal to send */ +- unsigned short v_state; /* vt bitmask */ +-}; ++#else ++# include ++# include ++# include ++# define TTY_BASENAME "/dev/tty" ++# define TTY_0 "/dev/tty0" + #endif + + #ifndef KDSKBMUTE +@@ -100,22 +91,22 @@ open_tty(int vt) + } + + static bool +-setup_tty(int fd, bool replace_vt) ++setup_tty(int fd, int vt, bool replace_vt) + { + if (fd < 0) + return false; + ++#if defined(__FreeBSD__) ++ wlc.vt = vt+1; ++#else + struct stat st; + if (fstat(fd, &st) == -1) + die("Could not stat tty fd"); +- + wlc.vt = minor(st.st_rdev); +- + if (major(st.st_rdev) != TTY_MAJOR || wlc.vt == 0) + die("Not a valid vt"); ++#endif + +-/* FreeBSD's new vt is still missing some bits */ +-#if defined(__linux__) + if (!replace_vt) { + int kd_mode; + if (ioctl(fd, KDGETMODE, &kd_mode) == -1) +@@ -125,18 +116,20 @@ setup_tty(int fd, bool replace_vt) + die("vt%d is already in graphics mode (%d). Is another display server running?", wlc.vt, kd_mode); + } + ++#if defined(__FreeBSD__) ++ ioctl(fd, VT_GETACTIVE, &wlc.old_state.vt); ++#else + struct vt_stat state; + if (ioctl(fd, VT_GETSTATE, &state) == -1) + die("Could not get current vt"); +- + wlc.old_state.vt = state.v_active; ++#endif + + if (ioctl(fd, VT_ACTIVATE, wlc.vt) == -1) + die("Could not activate vt%d", wlc.vt); + + if (ioctl(fd, VT_WAITACTIVE, wlc.vt) == -1) + die("Could not wait for vt%d to become active", wlc.vt); +-#endif + + if (ioctl(fd, KDGKBMODE, &wlc.old_state.kb_mode) == -1) + die("Could not get keyboard mode"); +@@ -144,7 +137,19 @@ setup_tty(int fd, bool replace_vt) + // vt will be restored from now on + wlc.tty = fd; + +-#if defined(__linux__) ++#if defined(__FreeBSD__) ++ if (ioctl(fd, KDSKBMODE, K_CODE) == -1) { ++ wlc_tty_terminate(); ++ die("Could not set keyboard mode to K_CODE"); ++ } ++ /* Put the tty into raw mode */ ++ struct termios tios; ++ if (tcgetattr(fd, &tios)) ++ die("Failed to get terminal attribute"); ++ cfmakeraw(&tios); ++ if (tcsetattr(fd, TCSANOW, &tios)) ++ die("Failed to set terminal attribute"); ++#else + if (ioctl(fd, KDSKBMUTE, 1) == -1 && ioctl(fd, KDSKBMODE, K_OFF) == -1) { + wlc_tty_terminate(); + die("Could not set keyboard mode to K_OFF"); +@@ -156,18 +161,19 @@ setup_tty(int fd, bool replace_vt) + die("Could not set console mode to KD_GRAPHICS"); + } + +-#if defined(__linux__) + struct vt_mode mode = { + .mode = VT_PROCESS, + .relsig = SIGUSR1, + .acqsig = SIGUSR2 + }; ++#if defined(__FreeBSD__) ++ mode.frsig = SIGIO; /* not used, but has to be set anyway */ ++#endif + + if (ioctl(fd, VT_SETMODE, &mode) == -1) { + wlc_tty_terminate(); + die("Could not set vt%d mode", wlc.vt); + } +-#endif + + return true; + } +@@ -230,13 +236,19 @@ wlc_tty_terminate(void) + // The ACTIVATE / WAITACTIVE may be potentially bad here. + // However, we need to make sure the vt we initially opened is also active on cleanup. + // We can't make sure this is synchronized due to unclean exits. ++ + if (ioctl(wlc.tty, VT_ACTIVATE, wlc.vt) != -1 && ioctl(wlc.tty, VT_WAITACTIVE, wlc.vt) != -1) { + wlc_log(WLC_LOG_INFO, "Restoring vt %d (0x%lx) (fd %d)", wlc.vt, wlc.old_state.kb_mode, wlc.tty); + +- if (ioctl(wlc.tty, KDSKBMUTE, 0) == -1 && +- ioctl(wlc.tty, KDSKBMODE, wlc.old_state.kb_mode) == -1 && +- ioctl(wlc.tty, KDSKBMODE, K_UNICODE) == -1) +- wlc_log(WLC_LOG_ERROR, "Failed to restore vt%d KDSKMODE", wlc.vt); ++#if defined(__FreeBSD__) ++ if (ioctl(wlc.tty, KDSKBMODE, wlc.old_state.kb_mode) == -1 && ++ ioctl(wlc.tty, KDSKBMODE, K_XLATE) == -1) ++#else ++ if (ioctl(wlc.tty, KDSKBMUTE, 0) == -1 && ++ ioctl(wlc.tty, KDSKBMODE, wlc.old_state.kb_mode) == -1 && ++ ioctl(wlc.tty, KDSKBMODE, K_UNICODE) == -1) ++#endif ++ wlc_log(WLC_LOG_ERROR, "Failed to restore vt%d KDSKMODE", wlc.vt); + + if (ioctl(wlc.tty, KDSETMODE, KD_TEXT) == -1) + wlc_log(WLC_LOG_ERROR, "Failed to restore vt%d mode to VT_AUTO", wlc.vt); +@@ -271,7 +283,7 @@ wlc_tty_init(int vt) + if (!vt && !(vt = find_vt(getenv("XDG_VTNR"), &replace_vt))) + die("Could not find vt"); + +- if (!setup_tty(open_tty(vt), replace_vt)) ++ if (!setup_tty(open_tty(vt), vt, replace_vt)) + die("Could not open tty with vt%d", vt); + + struct sigaction action = { Property changes on: head/x11-toolkits/wlc/files/patch-src_session_tty.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/x11-toolkits/wlc/pkg-descr =================================================================== --- head/x11-toolkits/wlc/pkg-descr (nonexistent) +++ head/x11-toolkits/wlc/pkg-descr (revision 433891) @@ -0,0 +1,3 @@ +Wayland compositor library + +WWW: https://github.com/Cloudef/wlc Property changes on: head/x11-toolkits/wlc/pkg-descr ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/x11-toolkits/wlc/pkg-plist =================================================================== --- head/x11-toolkits/wlc/pkg-plist (nonexistent) +++ head/x11-toolkits/wlc/pkg-plist (revision 433891) @@ -0,0 +1,9 @@ +include/wlc/defines.h +include/wlc/geometry.h +include/wlc/wlc-render.h +include/wlc/wlc-wayland.h +include/wlc/wlc.h +lib/libwlc.so +lib/libwlc.so.0 +lib/libwlc.so.0.0.5 +libdata/pkgconfig/wlc.pc Property changes on: head/x11-toolkits/wlc/pkg-plist ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property