Package Details: surf 2.1-8

Git Clone URL: https://aur.archlinux.org/surf.git (read-only, click to copy)
Package Base: surf
Description: A simple web browser based on WebKit/GTK+.
Upstream URL: https://surf.suckless.org/
Keywords: browser
Licenses: MIT
Submitter: arojas
Maintainer: nicholascw
Last Packager: nicholascw
Votes: 21
Popularity: 0.88
First Submitted: 2020-05-01 19:41 (UTC)
Last Updated: 2026-05-07 19:00 (UTC)

Dependencies (8)

Required by (0)

Sources (2)

Latest Comments

glebliutsko commented on 2026-05-07 10:18 (UTC) (edited on 2026-05-07 10:24 (UTC) by glebliutsko)

After update, build error occurs.

> LC_ALL='en_US.UTF-8' makepkg -s
==> Making package: surf 2.1-7 (Thu 07 May 2026 02:03:01 PM +04)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found surf-2.1.tar.gz
==> Validating source files with sha256sums...
    surf-2.1.tar.gz ... Passed
==> Extracting sources...
  -> Extracting surf-2.1.tar.gz with bsdtar
==> Starting prepare()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
c99 -fPIC `pkg-config --cflags x11` `pkg-config --cflags gtk+-3.0 gcr-3 webkit2gtk-4.0` -DVERSION=\"2.1\" -DGCR_API_SUBJECT_TO_CHANGE  -DLIBPREFIX=\"/usr/local/lib\" -DWEBEXTDIR=\"/usr/local/lib/surf\"  -D_DEFAULT_SOURCE -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -c surf.c
surf build options:
c99 -fPIC `pkg-config --cflags webkit2gtk-4.0 webkit2gtk-web-extension-4.0 gio-2.0` -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -c webext-surf.c
CC            = c99
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'webkit2gtk-4.0' not found
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'webkit2gtk-4.0' not found
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'webkit2gtk-4.0' not found
CFLAGS        = -fPIC   -DVERSION="2.1" -DGCR_API_SUBJECT_TO_CHANGE  -DLIBPREFIX="/usr/local/lib" -DWEBEXTDIR="/usr/local/lib/surf"  -D_DEFAULT_SOURCE -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection
surf.c:9:10: fatal error: glib.h: No such file or directory
    9 | #include <glib.h>
      |          ^~~~~~~~
compilation terminated.
make: *** [Makefile:31: surf.o] Error 1
make: *** Waiting for unfinished jobs....
Package 'webkit2gtk-web-extension-4.0' not found
Package webkit2gtk-4.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit2gtk-4.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'webkit2gtk-4.0' not found
webext-surf.c:9:10: fatal error: gio/gio.h: No such file or directory
    9 | #include <gio/gio.h>
      |          ^~~~~~~~~~~
compilation terminated.
make: *** [Makefile:37: webext-surf.o] Error 1
Package 'webkit2gtk-web-extension-4.0' not found
WEBEXTCFLAGS  = -fPIC  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection
LDFLAGS       = -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now
==> ERROR: A failure occurred in build().
    Aborting...

Fix:

sed -i 's/webkit2gtk-4\.0/webkit2gtk-4.1/g' "${pkgname}-${pkgver}/config.mk"
sed -i 's/webkit2gtk-web-extension-4\.0/webkit2gtk-web-extension-4.1/g' "${pkgname}-${pkgver}/config.mk"

cyberpunkrocker commented on 2021-11-12 15:16 (UTC) (edited on 2021-11-12 15:24 (UTC) by cyberpunkrocker)

PKGBUILD never finds the modified config.h in the top build directory, because it is looking for it in the wrong place. The prepare() section should be something like this:

prepare() {
    if [[ -f ../config.h ]]; then
        echo "FOUND config.h, copying..."
        cp ../config.h "${pkgname}-${pkgver}/config.h"
    fi
}

aa121 commented on 2021-09-27 10:43 (UTC)

Also could you add tabbed as optional dependency?

aa121 commented on 2021-09-26 15:05 (UTC)

Please add libvoikko, libaspell, aspell, hspell, nuspell as dependencies.

yusufaktepe commented on 2021-05-11 15:15 (UTC)

@J5lx added, thanks.

J5lx commented on 2021-05-11 14:56 (UTC)

This package is missing a dependency on gcr:

Package gcr-3 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gcr-3.pc'
to the PKG_CONFIG_PATH environment variable
Package 'gcr-3', required by 'virtual:world', not found
surf.c:9:10: fatal error: glib.h: No such file or directory
    9 | #include <glib.h>
      |          ^~~~~~~~
compilation terminated.
make: *** [Makefile:31: surf.o] Error 1

frostyMakeItRain commented on 2021-01-29 18:39 (UTC)

This built for me on pinebook pro with aarch64

keithspg commented on 2020-11-14 19:11 (UTC) (edited on 2020-11-14 23:39 (UTC) by keithspg)

Tried building this for RPi running aarch64 and keep getting the DRI error

libEGL warning: DRI2: failed to authenticate
Could not create EGL sharing context.
Could not create EGL context.

Any idea how to get beyond this? The libGL files are all in /opt/vc/lib

-rw-r--r-- 1 root root 202072 Nov 14 12:07 libEGL.so
-rw-r--r-- 1 root root 245356 Nov 14 12:07 libEGL_static.a
lrwxrwxrwx 1 root root     12 Nov 14 12:07 libGLESv1_CM.so -> libGLESv2.so
-rw-r--r-- 1 root root 105768 Nov 14 12:07 libGLESv2.so

D'oh, those libs are for armv7h (32 bit) and will not work with aarch64.

Is there a way to get surf to run without the GL libs?

yusufaktepe commented on 2020-05-03 07:09 (UTC)

@The-Compiler That was from default config. I bumped package to a commit after 2.0 release, where StrictSSL enabled and toggle key introduced.

The-Compiler commented on 2020-05-02 14:45 (UTC) (edited on 2020-05-02 14:45 (UTC) by The-Compiler)

Looks like the config.h (which is probably coming from arojas?) does:

SETB(StrictSSL,          0),

Which seems like a horrible default - it just turns off TLS verification completely, which can be seen by e.g. visiting https://expired.badssl.com/