summaryrefslogtreecommitdiff
path: root/devel/directfb/Makefile
blob: 72cfd0e819b0f2d3ad00fb94829344877df70d61 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
PORTNAME=	directfb
PORTVERSION=	1.4.17
PORTREVISION=	4
CATEGORIES=	devel
MASTER_SITES=	http://sources.buildroot.net/
DISTNAME=	DirectFB-${PORTVERSION}

MAINTAINER=	bofh@FreeBSD.org
COMMENT=	Graphic development lightweight API
WWW=		https://www.directfb.org/

LICENSE=	LGPL21

DEPRECATED=		Last upstream release was in 2015
EXPIRATION_DATE=	2023-09-30

LIB_DEPENDS=	libpng.so:graphics/png

USES=		compiler cpe gmake jpeg libtool localbase ncurses pathfix perl5 pkgconfig
USE_LDCONFIG=	yes
USE_PERL5=	build

GNU_CONFIGURE=	yes
USE_CXXSTD=	c++14
CONFIGURE_ARGS=	--disable-osx --disable-extra-warnings --disable-profiling \
		--disable-debug --enable-debug-support --disable-trace \
		--enable-text --enable-gettid --enable-network \
		--disable-multi --enable-voodoo --disable-pure-voodoo \
		--enable-devmem --disable-fbdev --disable-vnc --disable-sysfs \
		--enable-jpeg --enable-zlib --enable-png --enable-gif \
		--disable-linotype --disable-video4linux \
		--disable-video4linux2 --with-gfxdrivers=all \
		--with-inputdrivers=all --with-smooth-scaling \
		--with-dither-rgb16=advanced

INSTALL_TARGET=	install-strip

PLIST_SUB+=	DIRECTFB_VERSION="${PORTVERSION}" \
		DIRECTFB_RELEASE="${PORTVERSION:R}" \
		DIRECTFB_SHLIB="${DIRECTFB_SHLIB}" \
		DIRECTFB_BIN="${DIRECTFB_BIN}"
PORTDOCS=	*

OPTIONS_DEFINE=	FREETYPE X11 SDL UNIQUE TEST DOCS
OPTIONS_DEFAULT=	FREETYPE X11 SDL
OPTIONS_SUB=	yes

UNIQUE_DESC=	Unique (WM Module)

DIRECTFB_SHLIB=	6.0.11	# LT_BINARY.LT_AGE.LT_REVISION
DIRECTFB_BIN=	${DIRECTFB_SHLIB:R:R}	# LT_BINARY

DOCS_BUILD_DEPENDS=	man2html:textproc/man2html
FREETYPE_LIB_DEPENDS=	libfreetype.so:print/freetype2
FREETYPE_CONFIGURE_ENABLE=	freetype
SDL_USES=	sdl
SDL_USE=	sdl=sdl
SDL_CONFIGURE_ENABLE=	sdl
TEST_CONFIGURE_WITH=	tests
UNIQUE_CONFIGURE_ENABLE=	unique
X11_USES=	xorg
X11_USE=	XORG=x11,xext,xorgproto
X11_CONFIGURE_ENABLE=	x11

.include <bsd.port.pre.mk>

.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 150
CFLAGS+=	-Wno-error=int-conversion
.endif

# assembly files use old split syntax which clang doesn't like
.if ${ARCH:Marmv?} && ${COMPILER_TYPE} == "clang"
BUILD_DEPENDS+=	as:devel/binutils
CFLAGS+=	-fno-integrated-as
.endif

post-patch:
	@${REINPLACE_CMD} -e \
		'/need_libc_r=yes/d ; \
		s|/usr/local|${LOCALBASE}|g ; s|/usr/X11R6|${LOCALBASE}|g' \
		${WRKSRC}/configure
	@${GREP} -lr alloca\.h ${WRKSRC} | ${XARGS} \
		${REINPLACE_CMD} -e 's|<alloca\.h>|<stdlib.h>|g'

post-install-DOCS-on:
	@${MKDIR} ${STAGEDIR}${DOCSDIR}/html
.for f in AUTHORS ChangeLog NEWS README TODO fb.modes docs/README.screenshots docs/*.html
	${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR}
.endfor
.for f in docs/html/*.html docs/html/*.png
	${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR}/html
.endfor

.include <bsd.port.post.mk>