aboutsummaryrefslogtreecommitdiffstats
path: root/www
diff options
context:
space:
mode:
authortijl <tijl@FreeBSD.org>2014-03-16 01:52:53 +0800
committertijl <tijl@FreeBSD.org>2014-03-16 01:52:53 +0800
commit44f306f697fa7d51c08580c33762a46e0330b551 (patch)
tree954684ab31afff8131f80528d1b044158b9ef3d7 /www
parentc751d003343292ce270fcdf674c76262c1cfccce (diff)
downloadfreebsd-ports-gnome-44f306f697fa7d51c08580c33762a46e0330b551.tar.gz
freebsd-ports-gnome-44f306f697fa7d51c08580c33762a46e0330b551.tar.zst
freebsd-ports-gnome-44f306f697fa7d51c08580c33762a46e0330b551.zip
- Use the more common libpng instead of libmng.
- Add an icon to the desktop entry. - Use option helpers. - Respect CFLAGS. - Remove clang support patch. No longer necessary. - Add a patch to fix rendering of SVG and BMP images on little-endian systems and all image formats on big-endian systems. [1] PR: ports/187466 [1] Tested by: Craig Butler <craig001@lerwick.hopto.org> [1]
Diffstat (limited to 'www')
-rw-r--r--www/netsurf/Makefile24
-rw-r--r--www/netsurf/files/Makefile.config3
-rw-r--r--www/netsurf/files/patch-pixel-format89
3 files changed, 103 insertions, 13 deletions
diff --git a/www/netsurf/Makefile b/www/netsurf/Makefile
index fc6e0ed8c5c6..50af8d119f2a 100644
--- a/www/netsurf/Makefile
+++ b/www/netsurf/Makefile
@@ -3,7 +3,7 @@
PORTNAME= netsurf
PORTVERSION= 3.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= www
MASTER_SITES= http://download.netsurf-browser.org/netsurf/releases/source-full/
DISTNAME= ${PORTNAME}-${PORTVERSION}-full-src
@@ -16,7 +16,8 @@ LICENSE_COMB= multi
BUILD_DEPENDS= ${LOCALBASE}/bin/flex:${PORTSDIR}/textproc/flex
LIB_DEPENDS= libcurl.so:${PORTSDIR}/ftp/curl \
- libmng.so:${PORTSDIR}/graphics/libmng
+ libjpeg.so:${PORTSDIR}/graphics/jpeg \
+ libpng15.so:${PORTSDIR}/graphics/png
ALL_TARGET= #empty
CFLAGS+= -I${LOCALBASE}/include
@@ -24,23 +25,20 @@ LDFLAGS+= -lssl -lcrypto -L${LOCALBASE}/lib ${ICONV_LIB}
MAKE_ARGS= HOST_CC="${CC}" CC="${CC}" CCOPT="" HOST="${OPSYS}" \
WARNFLAGS="" Q="" OPTCFLAGS="${CFLAGS}"
USES= bison gmake pkgconfig iconv
-USE_GNOME= librsvg2
+USE_GNOME= gtk20 librsvg2
NSFB_VERSION= 0.1.0
WRKSRC= ${WRKDIR}/${PORTNAME}-full-${PORTVERSION}
-DESKTOP_ENTRIES="NetSurf" "${COMMENT}" "" "${PORTNAME}" "" "true"
+DESKTOP_ENTRIES="NetSurf" "${COMMENT}" "${DATADIR}/${PORTNAME}.xpm" \
+ "${PORTNAME}" "" "true"
OPTIONS_DEFINE= GSTREAMER WEBP
-
+GSTREAMER_USE= GSTREAMER=yes
WEBP_LIB_DEPENDS= libwebp.so:${PORTSDIR}/graphics/webp
.include <bsd.port.options.mk>
-.if ${PORT_OPTIONS:MGSTREAMER}
-USE_GSTREAMER= yes
-.endif
-
.if ${OPSYS} == DragonFly
LIB_DEPENDS+= libssl.so:${PORTSDIR}/security/openssl
BUILD_DEPENDS+= gperf:${PORTSDIR}/devel/gperf
@@ -53,12 +51,14 @@ post-patch:
${WRKSRC}/src/libnsfb-${NSFB_VERSION}/Makefile
@${REINPLACE_CMD} 's|endian|sys/endian|' \
${WRKSRC}/src/libnsfb-${NSFB_VERSION}/src/plot/*bpp*.c
+ @${REINPLACE_CMD} '/CFLAGS/d' \
+ ${WRKSRC}/src/netsurf-${PORTVERSION}/Makefile.defaults
@${REINPLACE_CMD} 's| -O2||' \
${WRKSRC}/src/netsurf-${PORTVERSION}/gtk/Makefile.defaults
- @${REINPLACE_CMD} '/OpenSSL/d ; s| -g|| ; s|-DG_DISABLE_DEPRECATED||' \
+ @${REINPLACE_CMD} \
+ -e '/OpenSSL/d' -e '/lcms/d' -e 's| -g||' \
+ -e 's/-DG_DISABLE_DEPRECATED//' \
${WRKSRC}/src/netsurf-${PORTVERSION}/gtk/Makefile.target
- @${REINPLACE_CMD} -e '/ifeq.*clang/s/word 1/filter clang/' \
- ${WRKSRC}/src/buildsystem-1.0/makefiles/Makefile.tools
@${REINPLACE_CMD} -e 's| -g|| ; s|flex|${LOCALBASE}/bin/&|' \
${WRKSRC}/src/nsgenbind-0.0.1/src/Makefile
diff --git a/www/netsurf/files/Makefile.config b/www/netsurf/files/Makefile.config
index 5fc7eea932c3..ecce146b92ac 100644
--- a/www/netsurf/files/Makefile.config
+++ b/www/netsurf/files/Makefile.config
@@ -1,6 +1,7 @@
NETSURF_USE_HARU_PDF=NO
NETSURF_USE_LIBICONV_PLUG=NO
+NETSURF_USE_MNG=NO
NETSURF_USE_NSSVG=NO
NETSURF_USE_ROSPRITE=NO
-NETSURF_USE_WEBP=NO
NETSURF_USE_VIDEO=NO
+NETSURF_USE_WEBP=NO
diff --git a/www/netsurf/files/patch-pixel-format b/www/netsurf/files/patch-pixel-format
new file mode 100644
index 000000000000..d0cb658d42f3
--- /dev/null
+++ b/www/netsurf/files/patch-pixel-format
@@ -0,0 +1,89 @@
+--- src/netsurf-3.0/gtk/bitmap.c.orig
++++ src/netsurf-3.0/gtk/bitmap.c
+@@ -288,27 +288,27 @@
+
+ if (fmt == CAIRO_FORMAT_RGB24) {
+ for (pixel_loop=0; pixel_loop < pixel_count; pixel_loop++) {
+- pixel = pixels[pixel_loop];
+- pixels[pixel_loop] = (pixel & 0xff00ff00) |
+- ((pixel & 0xff) << 16) |
+- ((pixel & 0xff0000) >> 16);
++ pixel = ((uint8_t *)(pixels + pixel_loop))[0] << 16 |
++ ((uint8_t *)(pixels + pixel_loop))[1] << 8 |
++ ((uint8_t *)(pixels + pixel_loop))[2] |
++ ((uint8_t *)(pixels + pixel_loop))[3] << 24;
++ pixels[pixel_loop] = pixel;
+ }
+ } else {
+ uint8_t t, r, g, b;
+ for (pixel_loop=0; pixel_loop < pixel_count; pixel_loop++) {
+- pixel = pixels[pixel_loop];
+- t = (pixel & 0xff000000) >> 24;
++ t = ((uint8_t *)(pixels + pixel_loop))[3];
+ if (t == 0) {
+ pixels[pixel_loop] = 0;
+ } else {
+- r = (pixel & 0xff0000) >> 16;
+- g = (pixel & 0xff00) >> 8;
+- b = pixel & 0xff;
++ r = ((uint8_t *)(pixels + pixel_loop))[0];
++ g = ((uint8_t *)(pixels + pixel_loop))[1];
++ b = ((uint8_t *)(pixels + pixel_loop))[2];
+
+ pixels[pixel_loop] = (t << 24) |
+- ((r * t) >> 8) |
++ ((r * t) >> 8) << 16 |
+ ((g * t) >> 8) << 8 |
+- ((b * t) >> 8) << 16;
++ ((b * t) >> 8);
+
+ }
+ }
+--- src/netsurf-3.0/image/bmp.c.orig
++++ src/netsurf-3.0/image/bmp.c
+@@ -171,7 +171,6 @@
+
+ /* exit as a success */
+ bmp->bitmap = bmp->bmp->bitmap;
+- bitmap_modified(bmp->bitmap);
+
+ content_set_ready(c);
+ content_set_done(c);
+@@ -190,6 +189,8 @@
+ if (bmp->bmp->decoded == false)
+ if (bmp_decode(bmp->bmp) != BMP_OK)
+ return false;
++ else
++ bitmap_modified(bmp->bitmap);
+
+ bmp->bitmap = bmp->bmp->bitmap;
+
+--- src/netsurf-3.0/image/rsvg.c.orig
++++ src/netsurf-3.0/image/rsvg.c
+@@ -135,19 +135,17 @@
+ static inline void rsvg_argb_to_abgr(uint8_t *pixels,
+ int width, int height, size_t rowstride)
+ {
+- uint8_t *p = pixels;
++ uint32_t *p = (uint32_t *)pixels;
+
+ for (int y = 0; y < height; y++) {
+ for (int x = 0; x < width; x++) {
+- /* Swap R and B */
+- const uint8_t r = p[x+3];
+-
+- p[x+3] = p[x];
+-
+- p[x] = r;
++ uint32_t c = *p;
++ ((uint8_t *)p)[0] = (c & 0xff0000) >> 16;
++ ((uint8_t *)p)[1] = (c & 0xff00) >> 8;
++ ((uint8_t *)p)[2] = (c & 0xff);
++ ((uint8_t *)p)[3] = (c & 0xff000000) >> 24;
++ p++;
+ }
+-
+- p += rowstride;
+ }
+ }
+