Index: head/x11-toolkits/Makefile =================================================================== --- head/x11-toolkits/Makefile (revision 433887) +++ head/x11-toolkits/Makefile (revision 433888) @@ -1,297 +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 += 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/wcl/Makefile =================================================================== --- head/x11-toolkits/wcl/Makefile (nonexistent) +++ head/x11-toolkits/wcl/Makefile (revision 433888) @@ -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/wcl/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/wcl/distinfo =================================================================== --- head/x11-toolkits/wcl/distinfo (nonexistent) +++ head/x11-toolkits/wcl/distinfo (revision 433888) @@ -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/wcl/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/wcl/files/patch-src_session_fd.c =================================================================== --- head/x11-toolkits/wcl/files/patch-src_session_fd.c (nonexistent) +++ head/x11-toolkits/wcl/files/patch-src_session_fd.c (revision 433888) @@ -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/wcl/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/wcl/files/patch-src_session_tty.c =================================================================== --- head/x11-toolkits/wcl/files/patch-src_session_tty.c (nonexistent) +++ head/x11-toolkits/wcl/files/patch-src_session_tty.c (revision 433888) @@ -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/wcl/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/wcl/pkg-descr =================================================================== --- head/x11-toolkits/wcl/pkg-descr (nonexistent) +++ head/x11-toolkits/wcl/pkg-descr (revision 433888) @@ -0,0 +1,3 @@ +Wayland compositor library + +WWW: https://github.com/Cloudef/wlc Property changes on: head/x11-toolkits/wcl/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/wcl/pkg-plist =================================================================== --- head/x11-toolkits/wcl/pkg-plist (nonexistent) +++ head/x11-toolkits/wcl/pkg-plist (revision 433888) @@ -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/wcl/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