diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a426548 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/surf-0.7.tar.gz diff --git a/dead.package b/dead.package deleted file mode 100644 index bbbe4d2..0000000 --- a/dead.package +++ /dev/null @@ -1,3 +0,0 @@ -2015-11-08: Retired orphaned package, because it was orphaned for -more than six weeks. - diff --git a/sources b/sources new file mode 100644 index 0000000..43862e0 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +45899435aeb5ce3af0a62909911b735f surf-0.7.tar.gz diff --git a/surf-0.7-port_to_gtk3.patch b/surf-0.7-port_to_gtk3.patch new file mode 100644 index 0000000..c00492f --- /dev/null +++ b/surf-0.7-port_to_gtk3.patch @@ -0,0 +1,208 @@ +Author: Reiner Herrmann +Subject: Port to GTK+ 3 +Bug-Debian: https://bugs.debian.org/790215 + +--- a/surf.c ++++ b/surf.c +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -99,7 +100,7 @@ + static Display *dpy; + static Atom atoms[AtomLast]; + static Client *clients = NULL; +-static GdkNativeWindow embed = 0; ++static Window embed = 0; + static gboolean showxid = FALSE; + static char winid[64]; + static gboolean usingproxy = 0; +@@ -625,7 +626,7 @@ + unsigned long ldummy; + unsigned char *p = NULL; + +- XGetWindowProperty(dpy, GDK_WINDOW_XID(GTK_WIDGET(c->win)->window), ++ XGetWindowProperty(dpy, GDK_WINDOW_XID(gtk_widget_get_window(GTK_WIDGET(c->win))), + atoms[a], 0L, BUFSIZ, False, XA_STRING, + &adummy, &idummy, &ldummy, &ldummy, &p); + if (p) +@@ -871,6 +872,7 @@ + WebKitWebFrame *frame; + GdkGeometry hints = { 1, 1 }; + GdkScreen *screen; ++ GdkWindow *window; + gdouble dpi; + char *ua; + +@@ -912,10 +914,11 @@ + addaccelgroup(c); + + /* Pane */ +- c->pane = gtk_vpaned_new(); ++ c->pane = gtk_paned_new(GTK_ORIENTATION_VERTICAL); + + /* VBox */ +- c->vbox = gtk_vbox_new(FALSE, 0); ++ c->vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); ++ gtk_box_set_homogeneous(c->vbox, FALSE); + gtk_paned_pack1(GTK_PANED(c->pane), c->vbox, TRUE, TRUE); + + /* Webview */ +@@ -997,8 +1000,9 @@ + gtk_widget_show(c->win); + gtk_window_set_geometry_hints(GTK_WINDOW(c->win), NULL, &hints, + GDK_HINT_MIN_SIZE); +- gdk_window_set_events(GTK_WIDGET(c->win)->window, GDK_ALL_EVENTS_MASK); +- gdk_window_add_filter(GTK_WIDGET(c->win)->window, processx, c); ++ window = gtk_widget_get_parent_window(GTK_WIDGET(c->win)); ++ gdk_window_set_events(window, GDK_ALL_EVENTS_MASK); ++ gdk_window_add_filter(window, processx, c); + webkit_web_view_set_full_content_zoom(c->view, TRUE); + + runscript(frame); +@@ -1032,7 +1036,7 @@ + * It is equivalent to firefox's "layout.css.devPixelsPerPx" setting. + */ + if (zoomto96dpi) { +- screen = gdk_window_get_screen(GTK_WIDGET(c->win)->window); ++ screen = gdk_window_get_screen(window); + dpi = gdk_screen_get_resolution(screen); + if (dpi != -1) { + g_object_set(G_OBJECT(settings), +@@ -1071,7 +1075,7 @@ + if (showxid) { + gdk_display_sync(gtk_widget_get_display(c->win)); + printf("%u\n", +- (guint)GDK_WINDOW_XID(GTK_WIDGET(c->win)->window)); ++ (guint)GDK_WINDOW_XID(window)); + fflush(NULL); + if (fclose(stdout) != 0) { + die("Error closing stdout"); +@@ -1282,7 +1286,7 @@ + setatom(Client *c, int a, const char *v) + { + XSync(dpy, False); +- XChangeProperty(dpy, GDK_WINDOW_XID(GTK_WIDGET(c->win)->window), ++ XChangeProperty(dpy, GDK_WINDOW_XID(gtk_widget_get_window(GTK_WIDGET(c->win))), + atoms[a], XA_STRING, 8, PropModeReplace, + (unsigned char *)v, strlen(v) + 1); + } +@@ -1301,7 +1305,7 @@ + sigchld(0); + gtk_init(NULL, NULL); + +- dpy = GDK_DISPLAY(); ++ dpy = GDK_DISPLAY_XDISPLAY(gdk_display_get_default()); + + /* atoms */ + atoms[AtomFind] = XInternAtom(dpy, "_SURF_FIND", False); +@@ -1624,7 +1628,7 @@ + updatewinid(Client *c) + { + snprintf(winid, LENGTH(winid), "%u", +- (int)GDK_WINDOW_XID(GTK_WIDGET(c->win)->window)); ++ (int)GDK_WINDOW_XID(gtk_widget_get_window(GTK_WIDGET(c->win)))); + } + + void +--- a/config.def.h ++++ b/config.def.h +@@ -83,50 +83,50 @@ + * edit the CLEANMASK() macro. + */ + static Key keys[] = { +- /* modifier keyval function arg Focus */ +- { MODKEY|GDK_SHIFT_MASK,GDK_r, reload, { .b = TRUE } }, +- { MODKEY, GDK_r, reload, { .b = FALSE } }, +- { MODKEY|GDK_SHIFT_MASK,GDK_p, print, { 0 } }, +- +- { MODKEY, GDK_p, clipboard, { .b = TRUE } }, +- { MODKEY, GDK_y, clipboard, { .b = FALSE } }, +- +- { MODKEY|GDK_SHIFT_MASK,GDK_j, zoom, { .i = -1 } }, +- { MODKEY|GDK_SHIFT_MASK,GDK_k, zoom, { .i = +1 } }, +- { MODKEY|GDK_SHIFT_MASK,GDK_q, zoom, { .i = 0 } }, +- { MODKEY, GDK_minus, zoom, { .i = -1 } }, +- { MODKEY, GDK_plus, zoom, { .i = +1 } }, +- +- { MODKEY, GDK_l, navigate, { .i = +1 } }, +- { MODKEY, GDK_h, navigate, { .i = -1 } }, +- +- { MODKEY, GDK_j, scroll_v, { .i = +1 } }, +- { MODKEY, GDK_k, scroll_v, { .i = -1 } }, +- { MODKEY, GDK_b, scroll_v, { .i = -10000 } }, +- { MODKEY, GDK_space, scroll_v, { .i = +10000 } }, +- { MODKEY, GDK_i, scroll_h, { .i = +1 } }, +- { MODKEY, GDK_u, scroll_h, { .i = -1 } }, +- +- { 0, GDK_F11, fullscreen, { 0 } }, +- { 0, GDK_Escape, stop, { 0 } }, +- { MODKEY, GDK_o, source, { 0 } }, +- { MODKEY|GDK_SHIFT_MASK,GDK_o, inspector, { 0 } }, +- +- { MODKEY, GDK_g, spawn, SETPROP("_SURF_URI", "_SURF_GO") }, +- { MODKEY, GDK_f, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") }, +- { MODKEY, GDK_slash, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") }, +- +- { MODKEY, GDK_n, find, { .b = TRUE } }, +- { MODKEY|GDK_SHIFT_MASK,GDK_n, find, { .b = FALSE } }, +- +- { MODKEY|GDK_SHIFT_MASK,GDK_c, toggle, { .v = "enable-caret-browsing" } }, +- { MODKEY|GDK_SHIFT_MASK,GDK_i, toggle, { .v = "auto-load-images" } }, +- { MODKEY|GDK_SHIFT_MASK,GDK_s, toggle, { .v = "enable-scripts" } }, +- { MODKEY|GDK_SHIFT_MASK,GDK_v, toggle, { .v = "enable-plugins" } }, +- { MODKEY|GDK_SHIFT_MASK,GDK_a, togglecookiepolicy, { 0 } }, +- { MODKEY|GDK_SHIFT_MASK,GDK_m, togglestyle, { 0 } }, +- { MODKEY|GDK_SHIFT_MASK,GDK_b, togglescrollbars, { 0 } }, +- { MODKEY|GDK_SHIFT_MASK,GDK_g, togglegeolocation, { 0 } }, ++ /* modifier keyval function arg Focus */ ++ { MODKEY|GDK_SHIFT_MASK,GDK_KEY_r, reload, { .b = TRUE } }, ++ { MODKEY, GDK_KEY_r, reload, { .b = FALSE } }, ++ { MODKEY|GDK_SHIFT_MASK,GDK_KEY_p, print, { 0 } }, ++ ++ { MODKEY, GDK_KEY_p, clipboard, { .b = TRUE } }, ++ { MODKEY, GDK_KEY_y, clipboard, { .b = FALSE } }, ++ ++ { MODKEY|GDK_SHIFT_MASK,GDK_KEY_j, zoom, { .i = -1 } }, ++ { MODKEY|GDK_SHIFT_MASK,GDK_KEY_k, zoom, { .i = +1 } }, ++ { MODKEY|GDK_SHIFT_MASK,GDK_KEY_q, zoom, { .i = 0 } }, ++ { MODKEY, GDK_KEY_minus, zoom, { .i = -1 } }, ++ { MODKEY, GDK_KEY_plus, zoom, { .i = +1 } }, ++ ++ { MODKEY, GDK_KEY_l, navigate, { .i = +1 } }, ++ { MODKEY, GDK_KEY_h, navigate, { .i = -1 } }, ++ ++ { MODKEY, GDK_KEY_j, scroll_v, { .i = +1 } }, ++ { MODKEY, GDK_KEY_k, scroll_v, { .i = -1 } }, ++ { MODKEY, GDK_KEY_b, scroll_v, { .i = -10000 } }, ++ { MODKEY, GDK_KEY_space, scroll_v, { .i = +10000 } }, ++ { MODKEY, GDK_KEY_i, scroll_h, { .i = +1 } }, ++ { MODKEY, GDK_KEY_u, scroll_h, { .i = -1 } }, ++ ++ { 0, GDK_KEY_F11, fullscreen, { 0 } }, ++ { 0, GDK_KEY_Escape, stop, { 0 } }, ++ { MODKEY, GDK_KEY_o, source, { 0 } }, ++ { MODKEY|GDK_SHIFT_MASK,GDK_KEY_o, inspector, { 0 } }, ++ ++ { MODKEY, GDK_KEY_g, spawn, SETPROP("_SURF_URI", "_SURF_GO") }, ++ { MODKEY, GDK_KEY_f, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") }, ++ { MODKEY, GDK_KEY_slash, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") }, ++ ++ { MODKEY, GDK_KEY_n, find, { .b = TRUE } }, ++ { MODKEY|GDK_SHIFT_MASK,GDK_KEY_n, find, { .b = FALSE } }, ++ ++ { MODKEY|GDK_SHIFT_MASK,GDK_KEY_c, toggle, { .v = "enable-caret-browsing" } }, ++ { MODKEY|GDK_SHIFT_MASK,GDK_KEY_i, toggle, { .v = "auto-load-images" } }, ++ { MODKEY|GDK_SHIFT_MASK,GDK_KEY_s, toggle, { .v = "enable-scripts" } }, ++ { MODKEY|GDK_SHIFT_MASK,GDK_KEY_v, toggle, { .v = "enable-plugins" } }, ++ { MODKEY|GDK_SHIFT_MASK,GDK_KEY_a, togglecookiepolicy, { 0 } }, ++ { MODKEY|GDK_SHIFT_MASK,GDK_KEY_m, togglestyle, { 0 } }, ++ { MODKEY|GDK_SHIFT_MASK,GDK_KEY_b, togglescrollbars, { 0 } }, ++ { MODKEY|GDK_SHIFT_MASK,GDK_KEY_g, togglegeolocation, { 0 } }, + }; + + /* button definitions */ diff --git a/surf.desktop b/surf.desktop new file mode 100644 index 0000000..15307f3 --- /dev/null +++ b/surf.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=surf +Comment=small and simple browser +Categories=Network;GTK;WebBrowser; +Exec=surf +Icon=surf +Terminal=false +Type=Application diff --git a/surf.spec b/surf.spec new file mode 100644 index 0000000..36a4c19 --- /dev/null +++ b/surf.spec @@ -0,0 +1,124 @@ +Name: surf +Version: 0.7 +Release: 1%{?dist} +Summary: Simple web browser +License: MIT +URL: http://surf.suckless.org/ + +Source0: http://dl.suckless.org/%{name}/%{name}-%{version}.tar.gz +Source1: %{name}.desktop +Source2: %{name}.svg + +# Patch from upstream +Patch0: surf-0.7-port_to_gtk3.patch + +BuildRequires: gtk3-devel +BuildRequires: webkitgtk3-devel +BuildRequires: desktop-file-utils + +Requires: st +Requires: dmenu +# https://bugzilla.redhat.com/show_bug.cgi?id=841348 +Requires: xorg-x11-utils +# https://bugzilla.redhat.com/show_bug.cgi?id=884296 +Requires: xterm +Requires: wget, curl +# Appdata file needed later. + +%description +surf is a simple web browser based on WebKit/GTK+. + +%prep +%autosetup -p1 + +# Thanks to Robert Scheck for the DSO-patch +# https://bugzilla.redhat.com/attachment.cgi?id=402128 +# I decided to include this in the sed chain below + +sed \ + -e 's|gtk+-2.0 webkit-1.0|gtk+-3.0 webkitgtk-3.0|g' \ + -e 's|/usr/local|%{_prefix}|g' \ + -e 's|/usr/include|%{_includedir}|g' \ + -e 's|-s ${LIBS}|-g ${LIBS}|g' \ + -e 's|-std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}|-std=c99 %{optflags} ${INCS} ${CPPFLAGS}|g' \ + -e 's|LIBS = -L/usr/lib -lc ${GTKLIB} -lgthread-2.0|LIBS = -L%{_libdir} -lc ${GTKLIB} -lgthread-2.0 -lX11|g' \ + -i config.mk + +sed -i 's!^\(\t\+\)@!\1!' Makefile + +%build +%make_build + +%install +%make_install INSTALL="install -p" + +desktop-file-install %{S:1} --dir=%{buildroot}%{_datadir}/applications/ + +mkdir -p %{buildroot}%{_datadir}/pixmaps/ +install -pm0644 %{S:2} %{buildroot}%{_datadir}/pixmaps/ + +%files +%license LICENSE +%{_bindir}/%{name} +%{_mandir}/man*/%{name}.* +%{_datadir}/applications/%{name}.desktop +%{_datadir}/pixmaps/%{name}.svg + +%changelog +* Sun Apr 17 2016 Neal Gompa - 0.7-1 +- Update to latest upstream +- Apply patch for GTK+3 +- Switch to link to WebKitGTK+3 + +* Fri Jun 19 2015 Fedora Release Engineering - 0.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Aug 18 2014 Fedora Release Engineering - 0.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 0.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Aug 04 2013 Fedora Release Engineering - 0.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon Mar 11 2013 Simon Wesp - 0.6-1 +- New upstream release +- Thank you Sirko Kemter aka gnokii for the surf icon :) + +* Fri Feb 15 2013 Fedora Release Engineering - 0.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Jan 10 2013 François Cami - 0.5-1 +- New upstream release for surf +- Fix bz 884296 841348 + +* Sat Jul 21 2012 Fedora Release Engineering - 0.4.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 0.4.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Dec 06 2011 Adam Jackson - 0.4.1-4 +- Rebuild for new libpng + +* Wed Feb 09 2011 Fedora Release Engineering - 0.4.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Jul 05 2010 Simon Wesp - 0.4.1-2 +- Rebuild against new version of webkitgtk + +* Mon Jun 14 2010 Simon Wesp - 0.4.1-1 +- New upstream release + +* Mon May 31 2010 Simon Wesp - 0.4-1 +- New upstream release + +* Tue Mar 23 2010 Simon Wesp - 0.3-3 +- Patch DSO + +* Sun Jan 17 2010 Simon Wesp - 0.3-2 +- Output is verbose now + +* Sun Jan 10 2010 Simon Wesp - 0.3-1 +- Initial package build diff --git a/surf.svg b/surf.svg new file mode 100644 index 0000000..1199cd2 --- /dev/null +++ b/surf.svg @@ -0,0 +1,1993 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +