1 # Created by: Michael Vasilenko <acid@stu.cn.ua>
8 MASTER_SITES= SF/beye/biew/${PORTVERSION}
9 DISTNAME= ${PORTNAME}-${PORTVERSION:S/.//g}-src
11 MAINTAINER= danfe@FreeBSD.org
12 COMMENT= Binary file viewer and editor
16 USES= dos2unix gmake iconv tar:bzip2
17 DOS2UNIX_FILES= ${PORTDOCS:S,^,doc/,}
19 CONFIGURE_ARGS= --cc="${CC}" --with-extraincdir="${LOCALBASE}/include" \
20 --ld="${CC}" --with-extralibdir="${LOCALBASE}/lib" \
21 --prefix="${PREFIX}" --datadir="${DATADIR}"
24 WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:S/.//g}
26 PORTDOCS= biew_en.txt biew_ru.txt develop.en develop.ru file_ini.en \
27 file_ini.ru release.txt unix.txt
29 OPTIONS_DEFINE= SLANG DOCS
30 OPTIONS_DEFAULT= SLANG
32 SLANG_DESC= Use S-Lang based display renderer
34 BROKEN_powerpc= Does not compile
35 BROKEN_sparc64= Does not compile
37 SLANG_LIB_DEPENDS= libslang.so:${PORTSDIR}/devel/libslang2
38 SLANG_CONFIGURE_ON= --enable-slang
39 SLANG_CONFIGURE_OFF= --enable-curses
42 @${REINPLACE_CMD} -e 's,/usr/X11R6,${LOCALBASE},' ${WRKSRC}/configure
43 # Allow it to find definition of `uintmax_t' (required at least for ia64)
44 @${REINPLACE_CMD} -e 's,<sys/types,<stdint,' \
45 ${WRKSRC}/biewlib/sysdep/generic/__config.h
46 # Fix BTx group of x86 opcodes disasm bug (upstream ticket #44, closed)
47 @${REINPLACE_CMD} -e 's,DisP->codelen++),++DisP->codelen),' \
48 ${WRKSRC}/plugins/disasm/ix86/ix86_fun.c
49 # Fix inline assembly to make Clang happy (upstream ticket #49)
50 @${REINPLACE_CMD} -e '/srcptr/s,::"g",::"r",' \
51 ${WRKSRC}/biewlib/sysdep/ia32/aclib_template.c \
52 ${WRKSRC}/biewlib/sysdep/x86_64/aclib_template.c
53 @${REINPLACE_CMD} -E 's,fild|fistp,&s,' \
54 ${WRKSRC}/biewlib/sysdep/ia32/cpu_info.c \
55 ${WRKSRC}/biewlib/sysdep/x86_64/cpu_info.c
58 # Convert Russian text files to UTF-8 encoding (doing it in post-build
59 # ensures we have iconv(1) installed, and seems more logical since these
60 # files could theoretically also be [re]built)
61 @${SH} -c '${FIND} ${WRKSRC}/doc/*ru* -type f | while read f ; \
62 do ${ICONV_CMD} -f cp866 -t utf-8 "$${f}" > "$${f}.tmp" && \
63 ${MV} "$${f}.tmp" "$${f}" ; done'
66 ${INSTALL_PROGRAM} ${WRKSRC}/biew ${STAGEDIR}${PREFIX}/bin
67 @${MKDIR} ${STAGEDIR}${DATADIR}/skn ${STAGEDIR}${DATADIR}/syntax \
68 ${STAGEDIR}${DATADIR}/xlt
69 ${INSTALL_DATA} ${WRKSRC}/bin_rc/biew.hlp ${STAGEDIR}${DATADIR}
70 ${INSTALL_DATA} ${WRKSRC}/bin_rc/skn/* ${STAGEDIR}${DATADIR}/skn
71 ${INSTALL_DATA} ${WRKSRC}/bin_rc/syntax/* ${STAGEDIR}${DATADIR}/syntax
72 ${INSTALL_DATA} ${WRKSRC}/bin_rc/xlt/russian/* \
73 ${STAGEDIR}${DATADIR}/xlt
74 ${INSTALL_MAN} ${WRKSRC}/doc/biew.1 ${STAGEDIR}${MANPREFIX}/man/man1
75 @${MKDIR} ${STAGEDIR}${DOCSDIR}
76 ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/doc/,} ${STAGEDIR}${DOCSDIR}
78 .include <bsd.port.mk>