[Bug 211855] emulators/higan: Update to 101

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Nov 6 00:44:49 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211855

Jan Beich (mail not working) <jbeich at FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jbeich at FreeBSD.org

--- Comment #5 from Jan Beich (mail not working) <jbeich at FreeBSD.org> ---
Comment on attachment 173826
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=173826
higan-101.patch

Can you provide a link to upstream changelog for this version that can be used
in commit message?

poudriere bulk -t complains

  ===========================================================================
  ====> Running Q/A tests (stage-qa)
  ====> Checking for pkg-plist issues (check-plist)
  ===> Parsing plist
  ===> Checking for items in STAGEDIR missing from pkg-plist
  Error: Orphaned: %%DATADIR%%/Mega Drive.sys/manifest.bml
  ===> Checking for items in pkg-plist which are not in STAGEDIR
  ===> Error: Plist issues found.
  *** [check-plist] Error code 1

On 11.0 or later build is broken:

  /usr/bin/ld: cannot find -lomp
  c++: error: linker command failed with exit code 1 (use -v to see invocation)

USES=compiler:openmp cannot be used here due to bug 199603 and bug 210337, so
either drop -fopenmp or make it conditional. Note, devel/openmp is currently
broken on FreeBSD i386 unlike Linux i386 or Windows 32bit.

> +MASTER_SITES=	http://download.byuu.org/ \

Does it still work? The homepage points at http://helmet.kafuka.org/

  fetch: http://download.byuu.org/higan_v101-source.7z: Not Found

> +USES=		7z:p7zip ...

Nothing to change here! libarchive on 10.* has trouble with solid archives but
works fine on 11.0+ or if compressed with -ms=off. If more such consumers
appear it maybe worth to limit libarchive to 11.0+ in USES=7z.

  => SHA256 Checksum OK for higan_v101-source.7z.
  tar: Damaged 7-Zip archive
  tar: Error exit delayed from previous errors.
  *** Error code 1

> +BROKEN_FreeBSD_9=	no C++14 support

It builds fine with lang/gcc5. Try replacing with

  FAVORITE_COMPILER=    ${COMPILER_TYPE} # c++14-lib

but as LDFLAGS aren't respected runtime fails

  $ higan
  /usr/lib/libgomp.so.1: version GOMP_4.0 required by /usr/local/bin/higan not
found

one way to fix is by passing default flags (see DO_MAKE_BUILD below)

  MAKE_ENV=     link="${LDFLAGS} ${LIBS}"
  ...
  post-patch:
        ${REINPLACE_CMD} '/link :=/d' ${WRKSRC}/nall/GNUmakefile

>  MAKE_ENV+=	compiler="${CXX}" cflags="-x c -std=c99 ${CFLAGS}" \
> -		cppflags="-x c++ -std=c++11 ${CXXFLAGS}"
> +		cppflags="-x c++ -std=c++14 ${CXXFLAGS}"

Convert -std=* to USE_CSTD=c99 + USE_CXXSTD=c++14.

> GTK2_DESC=		Build with GTK+2 GUI
> QT4_DESC=		Build with QT4 GUI
> GLX_DESC=		Build GLX video driver

Some of these should be dropped. See Mk/bsd.options.desc.mk

> +GTK2_USE=	GNOME=cairo,gdkpixbuf2,gtk20,gtksourceview2
> +GTK2_USES=	gettext
> +GTK2_LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig \
> +			libfreetype.so:print/freetype2

Maybe sort these like you do for mandatory dependencies i.e., LIB_DEPENDS
before any USE*.
Also, some dependencies can be dropped via LDFLAGS += -Wl,--as-needed

  --- higan     before
  +++ higan     after
  @@ -9,18 +9,11 @@ Dynamic section at offset 0x3c22f8 conta
    0x0000000000000001 (NEEDED)             Shared library:
[libgtksourceview-2.0.so.0]
    0x0000000000000001 (NEEDED)             Shared library:
[libgtk-x11-2.0.so.0]
    0x0000000000000001 (NEEDED)             Shared library:
[libgdk-x11-2.0.so.0]
  - 0x0000000000000001 (NEEDED)             Shared library:
[libpangocairo-1.0.so.0]
  - 0x0000000000000001 (NEEDED)             Shared library: [libatk-1.0.so.0]
    0x0000000000000001 (NEEDED)             Shared library: [libcairo.so.2]
    0x0000000000000001 (NEEDED)             Shared library:
[libgdk_pixbuf-2.0.so.0]
  - 0x0000000000000001 (NEEDED)             Shared library: [libgio-2.0.so.0]
  - 0x0000000000000001 (NEEDED)             Shared library:
[libpangoft2-1.0.so.0]
    0x0000000000000001 (NEEDED)             Shared library: [libpango-1.0.so.0]
    0x0000000000000001 (NEEDED)             Shared library:
[libgobject-2.0.so.0]
    0x0000000000000001 (NEEDED)             Shared library: [libglib-2.0.so.0]
  - 0x0000000000000001 (NEEDED)             Shared library: [libintl.so.8]
  - 0x0000000000000001 (NEEDED)             Shared library:
[libfontconfig.so.1]
  - 0x0000000000000001 (NEEDED)             Shared library: [libfreetype.so.6]
    0x0000000000000001 (NEEDED)             Shared library: [libomp.so.0]
    0x0000000000000001 (NEEDED)             Shared library: [libc++.so.1]
    0x0000000000000001 (NEEDED)             Shared library: [libcxxrt.so.1]

>  do-build:
> -.for d in . ananke
> +.for d in higan icarus
>  	(cd ${WRKSRC}/${d} && ${MAKE_CMD} ${MAKE_ENV})
>  .endfor

Call DO_MAKE_BUILD instead of MAKE_CMD. MAKE_ENV isn't supposed to override
vendor variables unless ?= is used.

  MAKEFILE=     GNUmakefile
  ...
  do-build:
  .for d in higan icarus
        @${DO_MAKE_BUILD} ${ALL_TARGET} -C${WRKSRC}/${d}
  .endfor

> +	${MKDIR} ${STAGEDIR}${DATADIR}
> +	${INSTALL_DATA} ${WRKSRC}/higan/data/cheats.bml ${STAGEDIR}${DATADIR}/
> +	(cd ${WRKSRC}/higan/systems && ${COPYTREE_SHARE} \* ${STAGEDIR}${DATADIR}/)

MKDIR call can be omitted if you put COPYTREE_* before INSTALL_DATA.
Also, replace \* with . (dot).

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list