Bug 182097 - [patch] unbreak ports/emulators/fmsx
Summary: [patch] unbreak ports/emulators/fmsx
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Rene Ladan
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-14 19:40 UTC by Eugene Grosbein
Modified: 2014-02-14 11:50 UTC (History)
1 user (show)

See Also:


Attachments
file.diff (1.47 KB, patch)
2013-09-14 19:40 UTC, Eugene Grosbein
no flags Details | Diff
fmsx.diff (3.60 KB, patch)
2013-12-20 21:34 UTC, Rene Ladan
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eugene Grosbein 2013-09-14 19:40:00 UTC
	The port emulators/fmsx was marked as BROKEN (does not build) via
	http://svnweb.freebsd.org/ports?view=revision&revision=312817

	In fact, the code does not have any compilation errors, only warnings.
	Real fix for these warnings would require significant redesign
	of some parts of code as original author uses same function
	to return integers sometimes and sometimes in returns pointers to char.
	The code uses casts from pointers to integers and vice versa heavily.
	This is intential.

	Let's suppress these warnings for this legacy code using
	CFLAGS+=-Wno-pointer-to-int-cast -Wno-int-to-pointer-cast
	as it bulds and runs flawlessly then.

	The author of the code is Cc'ed.

How-To-Repeat: 	See http://svnweb.freebsd.org/ports?view=revision&revision=312817
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-09-14 19:40:09 UTC
Maintainer of emulators/fmsx,

Please note that PR ports/182097 has just been submitted.

If it contains a patch for an upgrade, an enhancement or a bug fix
you agree on, reply to this email stating that you approve the patch
and a committer will take care of it.

The full text of the PR can be found at:
    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/182097

-- 
Edwin Groothuis via the GNATS Auto Assign Tool
edwin@FreeBSD.org
Comment 2 Edwin Groothuis freebsd_committer freebsd_triage 2013-09-14 19:40:10 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 3 Marat Fayzullin 2013-09-15 03:15:08 UTC
Hi, Eugene!

Could you please quote to me the exact lines of Console.c causing 
problems? I am afraid my version of Console.c is too far ahead of
the one in FreeBSD Ports, so lines no longer match, at all.

Marat
Comment 4 Eugene Grosbein 2013-09-15 17:03:46 UTC
On 15.09.2013 09:15, Marat Fayzullin wrote:
> 
> Hi, Eugene!
> 
> Could you please quote to me the exact lines of Console.c causing 
> problems? I am afraid my version of Console.c is too far ahead of
> the one in FreeBSD Ports, so lines no longer match, at all.

The function int CONMenu() in the EMULib/Console.c (fMSX version 3.5)
sometimes returns integer and sometimes it does return((int)Result)
where Result is an array of chars. Calling code casts the result
back to char* in the latter case. These casts issue warnings for
amd64 platform where integer and pointer have different storage sizes.

Eugene Grosbein
Comment 5 Marat Fayzullin 2013-09-16 14:04:13 UTC
On Sun, 15 Sep 2013, Eugene Grosbein wrote:
> The function int CONMenu() in the EMULib/Console.c (fMSX version 3.5)
> sometimes returns integer and sometimes it does return((int)Result)
> where Result is an array of chars. Calling code casts the result
> back to char* in the latter case. These casts issue warnings for
> amd64 platform where integer and pointer have different storage sizes.
>

Oh, I know this spot: it lets CONMenu() act both as a general options
menu and as a file selector (in which case, the file name is being
returned). Have not found any nice way to fix this, without duplicating
a lot of code, but will look further.

Marat
Comment 6 Rene Ladan freebsd_committer freebsd_triage 2013-12-20 19:04:56 UTC
Responsible Changed
From-To: freebsd-ports-bugs->rene

Take
Comment 7 Rene Ladan freebsd_committer freebsd_triage 2013-12-20 21:34:20 UTC
On FreeBSD 10.0 (amd64), which uses clang as CC (so I had to un-hardcode
CC in EMULib/Rules.gcc), the port is still broken.  I fixed one error
but now it chokes on using gzgetc(), see [1]

I also propose to modernize the port a bit (see attached diff):
- Remove leading 'The' from COMMENT
- Infrastructure updates
  * replace USE_GMAKE=yes by USES=gmake
  * replace USE_DOS2UNIX=<files> by USES=dos2unix , DOS2UNIX_FILES=<files>
- Staging (not done yet)

There is no need to bump PORTREVISION since the port was already marked
broken so no packages are being built currently.

[1] http://people.freebsd.org/~rene/fmsx-3.5.1_2.log

René
Comment 8 Marat Fayzullin 2013-12-22 13:48:50 UTC
I will look at it and report back.

Marat

-------- Original message --------
From: René Ladan <rene@freebsd.org> 
Date: 12/21/2013  01:34  (GMT+04:00) 
To: bug-followup@freebsd.org,egrosbein@rdtc.ru 
Cc: dk@farm.org,marat@komkon.org 
Subject: Re: ports/182097: [patch] unbreak ports/emulators/fmsx 
 
On FreeBSD 10.0 (amd64), which uses clang as CC (so I had to un-hardcode
CC in EMULib/Rules.gcc), the port is still broken.  I fixed one error
but now it chokes on using gzgetc(), see [1]

I also propose to modernize the port a bit (see attached diff):
- Remove leading 'The' from COMMENT
- Infrastructure updates
  * replace USE_GMAKE=yes by USES=gmake
  * replace USE_DOS2UNIX=<files> by USES=dos2unix , DOS2UNIX_FILES=<files>
- Staging (not done yet)

There is no need to bump PORTREVISION since the port was already marked
broken so no packages are being built currently.

[1] http://people.freebsd.org/~rene/fmsx-3.5.1_2.log

René
Comment 9 dfilter service freebsd_committer freebsd_triage 2013-12-27 23:08:10 UTC
Author: rene
Date: Fri Dec 27 23:08:02 2013
New Revision: 337823
URL: http://svnweb.freebsd.org/changeset/ports/337823

Log:
  - Modernize dos2unix and gmake
  - Undeprecate, futher fixes are in progress
  - Remove leading definite article from comment
  
  PR:		ports/182097
  Submitted by:	Eugene Grosbein <egrosbein@rdtc.ru>
  Approved by:	portmgr (blanket infrastructure)

Added:
  head/emulators/fmsx/files/patch-EMULib_LibUnix.c   (contents, props changed)
  head/emulators/fmsx/files/patch-EMULib_Rules.gcc   (contents, props changed)
Modified:
  head/emulators/fmsx/Makefile
  head/emulators/fmsx/files/patch-fMSX_Unix_Makefile

Modified: head/emulators/fmsx/Makefile
==============================================================================
--- head/emulators/fmsx/Makefile	Fri Dec 27 22:56:50 2013	(r337822)
+++ head/emulators/fmsx/Makefile	Fri Dec 27 23:08:02 2013	(r337823)
@@ -16,15 +16,13 @@ DIST_SUBDIR=	fmsx351
 EXTRACT_ONLY=	fMSX351.zip
 
 MAINTAINER=	dk@farm.org
-COMMENT=	The Portable MSX/MSX2/MSX2+ Emulator
-
-DEPRECATED=	Broken for more than 6 month
-EXPIRATION_DATE=	2013-12-18
+COMMENT=	Portable MSX/MSX2/MSX2+ Emulator
 
 USE_XORG=	xi x11
 USE_ZIP=	yes
-USE_GMAKE=	yes
-USE_DOS2UNIX=	EMULib/NetUnix.c EMULib/Rules.Unix
+USES=		gmake dos2unix
+DOS2UNIX_FILES= EMULib/LibUnix.c EMULib/NetUnix.c EMULib/Rules.gcc \
+		EMULib/Rules.Unix
 RESTRICTED=	Legal status of distributed ROM images unclear
 WRKSRC=		${WRKDIR}
 

Added: head/emulators/fmsx/files/patch-EMULib_LibUnix.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/fmsx/files/patch-EMULib_LibUnix.c	Fri Dec 27 23:08:02 2013	(r337823)
@@ -0,0 +1,19 @@
+--- EMULib/LibUnix.c.orig	2013-12-20 21:09:39.000000000 +0100
++++ EMULib/LibUnix.c	2013-12-20 21:56:52.000000000 +0100
+@@ -142,7 +142,7 @@
+     else
+ #endif
+       XPutImage(Dsp,Wnd,DefaultGCOfScreen(Scr),VideoImg->XImg,VideoX,VideoY,(XSize-VideoW)>>1,(YSize-VideoH)>>1,VideoW,VideoH);
+-    return;
++    return(1);
+   }
+ 
+   /* Scale video buffer into OutImg */
+@@ -159,6 +159,7 @@
+   else
+ #endif
+     XPutImage(Dsp,Wnd,DefaultGCOfScreen(Scr),OutImg.XImg,0,0,0,0,XSize,YSize);
++    return(1);
+ }
+ 
+ /** GetJoystick() ********************************************/

Added: head/emulators/fmsx/files/patch-EMULib_Rules.gcc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/fmsx/files/patch-EMULib_Rules.gcc	Fri Dec 27 23:08:02 2013	(r337823)
@@ -0,0 +1,11 @@
+--- EMULib/Rules.gcc.orig	2013-12-20 20:52:16.000000000 +0100
++++ EMULib/Rules.gcc	2013-12-20 20:52:22.000000000 +0100
+@@ -6,7 +6,7 @@
+ LIBGBZ	= $(BASEDIR)/GBZ80
+ PRIVATE	= $(BASEDIR)/Private
+ 
+-CC	= gcc
++CC	?= gcc
+ CPP	= cpp
+ CFLAGS	= -O3 -pthread -I.. -I$(EMULIB)
+ DEFINES = -DZLIB

Modified: head/emulators/fmsx/files/patch-fMSX_Unix_Makefile
==============================================================================
--- head/emulators/fmsx/files/patch-fMSX_Unix_Makefile	Fri Dec 27 22:56:50 2013	(r337822)
+++ head/emulators/fmsx/files/patch-fMSX_Unix_Makefile	Fri Dec 27 23:08:02 2013	(r337823)
@@ -1,5 +1,14 @@
---- fMSX/Unix/Makefile.orig	2008-01-28 19:29:59.000000000 +0000
-+++ fMSX/Unix/Makefile	2008-05-26 05:52:08.000000000 +0000
+--- fMSX/Unix/Makefile.orig	2008-01-28 20:29:59.000000000 +0100
++++ fMSX/Unix/Makefile	2013-12-20 20:16:13.000000000 +0100
+@@ -1,7 +1,7 @@
+ include ../../EMULib/Rules.Unix
+ 
+ DEFINES+= -DFMSX -DLSB_FIRST -DBPP16 -DCONDEBUG -DDEBUG
+-CFLAGS += -I$(LIBZ80)
++CFLAGS += -I$(LIBZ80) -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast
+ OBJECTS+= $(EMUUNIX) $(FLOPPY) $(FDIDISK) \
+ 	  $(Z80) $(I8255) $(YM2413) $(AY8910) $(SCC) $(WD1793) \
+ 	  ../fMSX.o ../MSX.o ../V9938.o ../I8251.o ../Patch.o \
 @@ -10,7 +10,7 @@
  all:    fmsx
  
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 10 Rene Ladan freebsd_committer freebsd_triage 2014-01-27 11:26:21 UTC
Any news on solving this problem?

René
Comment 11 Eugene Grosbein 2014-01-27 14:06:29 UTC
On 27.01.2014 18:26, René Ladan wrote:
> Any news on solving this problem?

None from me and still waiting from Marat, author of the software.
Comment 12 Marat Fayzullin 2014-01-27 15:43:54 UTC

On Mon, 27 Jan 2014, René Ladan wrote:

> Any news on solving this problem?
>
> René
>
I have fixed it in the source code but have not yet released the source 
code.
Comment 13 Marat Fayzullin 2014-01-27 16:19:44 UTC

On Mon, 27 Jan 2014, Eugene Grosbein wrote:

> On 27.01.2014 18:26, René Ladan wrote:
>> Any news on solving this problem?
>
> None from me and still waiting from Marat, author of the software.
>
>
I am preparing the next fMSX-Unix release where these issues will be 
(hopefully) fixed.
Comment 14 Marat Fayzullin 2014-01-29 18:04:40 UTC
Hello, Eugene, All!

fMSX 3.7 source code is now online:

http://fms.komkon.org/fMSX/fMSX37.zip

I have taken effort to fix all the issues you have reported, and then 
some. If there are any left, let me know right away.

Best regards,
   Marat Fayzullin

On Mon, 27 Jan 2014, Marat Fayzullin wrote:

>
>
> On Mon, 27 Jan 2014, Eugene Grosbein wrote:
>
>> On 27.01.2014 18:26, René Ladan wrote:
>>> Any news on solving this problem?
>> 
>> None from me and still waiting from Marat, author of the software.
>> 
>> 
> I am preparing the next fMSX-Unix release where these issues will be 
> (hopefully) fixed.
Comment 15 Eugene Grosbein 2014-01-30 06:28:14 UTC
On 30.01.2014 01:04, Marat Fayzullin wrote:
> 
> Hello, Eugene, All!
> 
> fMSX 3.7 source code is now online:
> 
> http://fms.komkon.org/fMSX/fMSX37.zip
> 
> I have taken effort to fix all the issues you have reported, and then 
> some. If there are any left, let me know right away.

I'm going to update FreeBSD port for 3.7.
Do you expect this version will be hosted at http://www.mavetju.org/download/adopted/
just like 3.5.1?
Comment 16 Rene Ladan freebsd_committer freebsd_triage 2014-01-30 09:15:41 UTC
2014-01-30 Eugene Grosbein <eugen@grosbein.net>:
> On 30.01.2014 01:04, Marat Fayzullin wrote:
>>
>> Hello, Eugene, All!
>>
>> fMSX 3.7 source code is now online:
>>
>> http://fms.komkon.org/fMSX/fMSX37.zip
>>
>> I have taken effort to fix all the issues you have reported, and then
>> some. If there are any left, let me know right away.
>
Thanks, I'll have a look when I'm back from the office.

> I'm going to update FreeBSD port for 3.7.
> Do you expect this version will be hosted at http://www.mavetju.org/downl=
oad/adopted/
> just like 3.5.1?
>
You should ask edwin@mavetju.org

Ren=E9
Comment 17 Marat Fayzullin 2014-01-30 13:35:18 UTC
On Thu, 30 Jan 2014, Eugene Grosbein wrote:
> I'm going to update FreeBSD port for 3.7.
> Do you expect this version will be hosted at http://www.mavetju.org/download/adopted/
> just like 3.5.1?
>
I have no idea what www.mavetju.org is. I suggest you use the original
URL (http://fms.komkon.org/fMSX/fMSX37.zip) instead.
Comment 18 Eugene Grosbein 2014-01-30 18:12:23 UTC
On 27.01.2014 18:26, René Ladan wrote:
> Any news on solving this problem?

Here comes patch for emulatiors/fmsx port.
I ask edwin@mavetju.org to consider adopting fMSX-3.7 distfile
from http://fms.komkon.org/fMSX/

List of changes:

- update version up to fMSX-3.7 and unbreak it;
- for now, delete http://www.mavetju.org/download/adopted/ mirror (temporary, I hope);
- STAGEify port;
- remove patch-EMULib_LibUnix.c and patch-fMSX_Unix_Makefile (fixes integrated upstream);
- add support for building port WITH_DEBUG=yes (pass DEBUG_FLAGS to gmake)
- sort pkg-plist.

Compile and run-tested with 8.4-STABLE and 9.2-STABLE (stock gcc)
and 11.0-CURRENT (stock clang).

diff -urN /usr/ports/emulators/fmsx/Makefile fmsx/Makefile
--- /usr/ports/emulators/fmsx/Makefile	2014-01-31 00:39:13.000000000 +0700
+++ fmsx/Makefile	2014-01-31 00:53:40.000000000 +0700
@@ -2,18 +2,16 @@
 # $FreeBSD: head/emulators/fmsx/Makefile 337823 2013-12-27 23:08:02Z rene $
 
 PORTNAME=	fmsx
-PORTVERSION=	3.5.1
-PORTREVISION=	2
+PORTVERSION=	3.7
 CATEGORIES=	emulators
-MASTER_SITES=	http://www.mavetju.org/download/adopted/:code \
-		http://fms.komkon.org/fMSX/:code \
+MASTER_SITES=	http://fms.komkon.org/fMSX/:code \
 		http://fms.komkon.org/fMSX/src/:rom
-DISTFILES=	fMSX351.zip:code \
+DISTFILES=	fMSX37.zip:code \
 		MSX.ROM:rom MSX2.ROM:rom MSX2EXT.ROM:rom MSX2P.ROM:rom \
 		MSX2PEXT.ROM:rom FMPAC.ROM:rom DISK.ROM:rom MSXDOS2.ROM:rom \
 		PAINTER.ROM:rom KANJI.ROM:rom
-DIST_SUBDIR=	fmsx351
-EXTRACT_ONLY=	fMSX351.zip
+DIST_SUBDIR=	fmsx37
+EXTRACT_ONLY=	fMSX37.zip
 
 MAINTAINER=	dk@farm.org
 COMMENT=	Portable MSX/MSX2/MSX2+ Emulator
@@ -21,13 +19,11 @@
 USE_XORG=	xi x11
 USE_ZIP=	yes
 USES=		gmake dos2unix
-DOS2UNIX_FILES= EMULib/LibUnix.c EMULib/NetUnix.c EMULib/Rules.gcc \
+DOS2UNIX_FILES= EMULib/Unix/LibUnix.c EMULib/Unix/NetUnix.c EMULib/Rules.gcc \
 		EMULib/Rules.Unix
 RESTRICTED=	Legal status of distributed ROM images unclear
 WRKSRC=		${WRKDIR}
 
-BROKEN=		does not build
-
 OPTIONS_DEFINE=	BPP8 BPP16 BPP24 BPP32 DOCS
 OPTIONS_DEFAULT=	BPP32
 BPP8_DESC=	With BPP8
@@ -35,7 +31,6 @@
 BPP24_DESC=	With BPP24
 BPP32_DESC=	With BPP32 (see pkg-message)
 
-NO_STAGE=	yes
 .include <bsd.port.pre.mk>
 
 post-patch:
@@ -56,18 +51,18 @@
 .endif
 
 do-build:
-	cd ${WRKSRC}/fMSX/Unix && ${GMAKE}
+	cd ${WRKSRC}/fMSX/Unix && ${GMAKE} DEBUG_FLAGS=${DEBUG_FLAGS}
 
 do-install:
-	${INSTALL_SCRIPT} ${FILESDIR}/fmsx ${PREFIX}/bin
-	${REINPLACE_CMD} -i "" -e "s,PREFIX,${PREFIX},g" ${PREFIX}/bin/fmsx
-	${INSTALL_PROGRAM} ${WRKSRC}/fMSX/Unix/fmsx ${PREFIX}/bin/fmsx.bin
-	${MKDIR} ${PREFIX}/share/fmsx
-	${INSTALL_DATA} ${WRKSRC}/fMSX/ROMs/*.FNT ${DATADIR}
-	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/*.ROM ${DATADIR}
+	${INSTALL_SCRIPT} ${FILESDIR}/fmsx ${STAGEDIR}${PREFIX}/bin
+	${REINPLACE_CMD} -i "" -e "s,PREFIX,${PREFIX},g" ${STAGEDIR}${PREFIX}/bin/fmsx
+	${INSTALL_PROGRAM} ${WRKSRC}/fMSX/Unix/fmsx ${STAGEDIR}${PREFIX}/bin/fmsx.bin
+	${MKDIR} ${STAGEDIR}${PREFIX}/share/fmsx
+	${INSTALL_DATA} ${WRKSRC}/fMSX/ROMs/*.FNT ${STAGEDIR}${DATADIR}
+	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/*.ROM ${STAGEDIR}${DATADIR}
 .if ${PORT_OPTIONS:MDOCS}
-	${MKDIR} ${DOCSDIR}
-	${INSTALL_DATA} ${WRKSRC}/fMSX/*.html ${DOCSDIR}
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/fMSX/*.html ${STAGEDIR}${DOCSDIR}
 .endif
 
 .include <bsd.port.post.mk>
diff -urN /usr/ports/emulators/fmsx/distinfo fmsx/distinfo
--- /usr/ports/emulators/fmsx/distinfo	2014-01-23 12:13:35.000000000 +0700
+++ fmsx/distinfo	2014-01-30 23:50:20.000000000 +0700
@@ -1,22 +1,22 @@
-SHA256 (fmsx351/fMSX351.zip) = e7eb643c88693fed1315f640ec7aea14f0ea6f1fec560fc85bccdc412afddc60
-SIZE (fmsx351/fMSX351.zip) = 515112
-SHA256 (fmsx351/MSX.ROM) = 999564a371dd2fdf7fbe8d853e82a68d557c27b7d87417639b2fa17704b83f78
-SIZE (fmsx351/MSX.ROM) = 32768
-SHA256 (fmsx351/MSX2.ROM) = 4bc4ae85ca5f28246cd3e7b7e017d298ddd375603657f84ef2c7954bc2d9b919
-SIZE (fmsx351/MSX2.ROM) = 32768
-SHA256 (fmsx351/MSX2EXT.ROM) = 6c6f421a10c428d960b7ecc990f99af1c638147f747bddca7b0bf0e2ab738300
-SIZE (fmsx351/MSX2EXT.ROM) = 16384
-SHA256 (fmsx351/MSX2P.ROM) = 9501a609be7d92e53fbd75fa65c8317563035d617744664892863ed54463db51
-SIZE (fmsx351/MSX2P.ROM) = 32768
-SHA256 (fmsx351/MSX2PEXT.ROM) = 36000685128f95ff515a128973f8d439116c1a1a8e38c1777293a428894434a2
-SIZE (fmsx351/MSX2PEXT.ROM) = 16384
-SHA256 (fmsx351/FMPAC.ROM) = 3cfe44646b69a622656b96305f1b975f48ca018839f7946895f7a1352d9720aa
-SIZE (fmsx351/FMPAC.ROM) = 65536
-SHA256 (fmsx351/DISK.ROM) = 31740a761447d7590c304338d389b0ae114546a8b9f79c9ffd5e374f80b7d354
-SIZE (fmsx351/DISK.ROM) = 16384
-SHA256 (fmsx351/MSXDOS2.ROM) = 08d582fda65f22e4397353855e828539a64df08a540e5d64706b3362ea09be17
-SIZE (fmsx351/MSXDOS2.ROM) = 65536
-SHA256 (fmsx351/PAINTER.ROM) = 62e646cc9f0d50422016f12a77995be5547649b5961b58c883ff4d48baac280f
-SIZE (fmsx351/PAINTER.ROM) = 65536
-SHA256 (fmsx351/KANJI.ROM) = 56785703b14f252ce77be586716dbf5d94125e93b9e6069ff26f7686566cd91a
-SIZE (fmsx351/KANJI.ROM) = 131072
+SHA256 (fmsx37/fMSX37.zip) = 39443e9ceeaf5b2e34b1b54ef691083555bbf4aae9075e8d331023b1ab86c987
+SIZE (fmsx37/fMSX37.zip) = 564969
+SHA256 (fmsx37/MSX.ROM) = 999564a371dd2fdf7fbe8d853e82a68d557c27b7d87417639b2fa17704b83f78
+SIZE (fmsx37/MSX.ROM) = 32768
+SHA256 (fmsx37/MSX2.ROM) = 4bc4ae85ca5f28246cd3e7b7e017d298ddd375603657f84ef2c7954bc2d9b919
+SIZE (fmsx37/MSX2.ROM) = 32768
+SHA256 (fmsx37/MSX2EXT.ROM) = 6c6f421a10c428d960b7ecc990f99af1c638147f747bddca7b0bf0e2ab738300
+SIZE (fmsx37/MSX2EXT.ROM) = 16384
+SHA256 (fmsx37/MSX2P.ROM) = 9501a609be7d92e53fbd75fa65c8317563035d617744664892863ed54463db51
+SIZE (fmsx37/MSX2P.ROM) = 32768
+SHA256 (fmsx37/MSX2PEXT.ROM) = 36000685128f95ff515a128973f8d439116c1a1a8e38c1777293a428894434a2
+SIZE (fmsx37/MSX2PEXT.ROM) = 16384
+SHA256 (fmsx37/FMPAC.ROM) = 3cfe44646b69a622656b96305f1b975f48ca018839f7946895f7a1352d9720aa
+SIZE (fmsx37/FMPAC.ROM) = 65536
+SHA256 (fmsx37/DISK.ROM) = 31740a761447d7590c304338d389b0ae114546a8b9f79c9ffd5e374f80b7d354
+SIZE (fmsx37/DISK.ROM) = 16384
+SHA256 (fmsx37/MSXDOS2.ROM) = 08d582fda65f22e4397353855e828539a64df08a540e5d64706b3362ea09be17
+SIZE (fmsx37/MSXDOS2.ROM) = 65536
+SHA256 (fmsx37/PAINTER.ROM) = 62e646cc9f0d50422016f12a77995be5547649b5961b58c883ff4d48baac280f
+SIZE (fmsx37/PAINTER.ROM) = 65536
+SHA256 (fmsx37/KANJI.ROM) = 56785703b14f252ce77be586716dbf5d94125e93b9e6069ff26f7686566cd91a
+SIZE (fmsx37/KANJI.ROM) = 131072
diff -urN /usr/ports/emulators/fmsx/files/patch-EMULib_LibUnix.c fmsx/files/patch-EMULib_LibUnix.c
--- /usr/ports/emulators/fmsx/files/patch-EMULib_LibUnix.c	2013-12-30 21:59:42.000000000 +0700
+++ fmsx/files/patch-EMULib_LibUnix.c	1970-01-01 07:00:00.000000000 +0700
@@ -1,19 +0,0 @@
---- EMULib/LibUnix.c.orig	2013-12-20 21:09:39.000000000 +0100
-+++ EMULib/LibUnix.c	2013-12-20 21:56:52.000000000 +0100
-@@ -142,7 +142,7 @@
-     else
- #endif
-       XPutImage(Dsp,Wnd,DefaultGCOfScreen(Scr),VideoImg->XImg,VideoX,VideoY,(XSize-VideoW)>>1,(YSize-VideoH)>>1,VideoW,VideoH);
--    return;
-+    return(1);
-   }
- 
-   /* Scale video buffer into OutImg */
-@@ -159,6 +159,7 @@
-   else
- #endif
-     XPutImage(Dsp,Wnd,DefaultGCOfScreen(Scr),OutImg.XImg,0,0,0,0,XSize,YSize);
-+    return(1);
- }
- 
- /** GetJoystick() ********************************************/
diff -urN /usr/ports/emulators/fmsx/files/patch-EMULib_NetUnix.c fmsx/files/patch-EMULib_NetUnix.c
--- /usr/ports/emulators/fmsx/files/patch-EMULib_NetUnix.c	2014-01-23 12:13:35.000000000 +0700
+++ fmsx/files/patch-EMULib_NetUnix.c	2014-01-30 23:50:19.000000000 +0700
@@ -1,6 +1,6 @@
---- EMULib/NetUnix.c.orig	2008-05-26 05:26:55.000000000 +0000
-+++ EMULib/NetUnix.c	2008-05-26 05:28:16.000000000 +0000
-@@ -17,6 +17,8 @@
+--- EMULib/Unix/NetUnix.c.orig	2014-01-30 23:33:17.000000000 +0700
++++ EMULib/Unix/NetUnix.c	2014-01-30 23:34:48.000000000 +0700
+@@ -19,6 +19,8 @@
  #include <stdio.h>
  #include <netdb.h>
  #include <errno.h>
@@ -8,4 +8,15 @@
 +#include <sys/types.h>
  #include <sys/ioctl.h>
  #include <sys/socket.h>
+ #include <netinet/in.h>
+@@ -30,6 +32,10 @@
+ #define printf LOGI
+ #endif
  
++#ifndef SOL_TCP
++#define SOL_TCP IPPROTO_TCP
++#endif
++
+ static volatile int IsServer  = 0;
+ static volatile int Socket    = -1;
+ static volatile int Blocking  = 1;
diff -urN /usr/ports/emulators/fmsx/files/patch-EMULib_Rules.Unix fmsx/files/patch-EMULib_Rules.Unix
--- /usr/ports/emulators/fmsx/files/patch-EMULib_Rules.Unix	2014-01-23 12:13:35.000000000 +0700
+++ fmsx/files/patch-EMULib_Rules.Unix	2014-01-31 00:49:05.000000000 +0700
@@ -1,9 +1,12 @@
---- EMULib/Rules.Unix.orig	2008-05-30 01:51:56.000000000 +0000
-+++ EMULib/Rules.Unix	2008-05-30 01:52:07.000000000 +0000
-@@ -1,5 +1,5 @@
+--- EMULib/Rules.Unix.orig	2014-01-30 23:32:06.000000000 +0700
++++ EMULib/Rules.Unix	2014-01-30 23:30:52.000000000 +0700
+@@ -6,7 +6,7 @@
+ 
  include ../../EMULib/Rules.gcc
  
--CFLAGS += -I/usr/X11R6/include
-+CFLAGS += -I%%LOCALBASE%%/include
- DEFINES+= -DUNIX -DMITSHM
- LIBS   += -lX11 -lXext
+-CFLAGS += -I$(EMULIB)/Unix -I/usr/X11R6/include
++CFLAGS += -I$(EMULIB)/Unix -I%%LOCALBASE%%/include $(DEBUG_FLAGS)
+ DEFINES+= -DUNIX -DMITSHM -DBPS16
+-LIBS   += -lX11 -lXext
++LIBS   += -L%%LOCALBASE%%/lib -lX11 -lXext
+ OBJECTS+= $(EMUUNIX)
diff -urN /usr/ports/emulators/fmsx/files/patch-EMULib_Rules.gcc fmsx/files/patch-EMULib_Rules.gcc
--- /usr/ports/emulators/fmsx/files/patch-EMULib_Rules.gcc	2013-12-30 21:59:42.000000000 +0700
+++ fmsx/files/patch-EMULib_Rules.gcc	2014-01-31 00:41:19.000000000 +0700
@@ -1,11 +1,19 @@
---- EMULib/Rules.gcc.orig	2013-12-20 20:52:16.000000000 +0100
-+++ EMULib/Rules.gcc	2013-12-20 20:52:22.000000000 +0100
-@@ -6,7 +6,7 @@
+--- EMULib/Rules.gcc.orig	2014-01-31 00:39:34.000000000 +0700
++++ EMULib/Rules.gcc	2014-01-31 00:40:38.000000000 +0700
+@@ -6,12 +6,12 @@
  LIBGBZ	= $(BASEDIR)/GBZ80
  PRIVATE	= $(BASEDIR)/Private
  
+-CXX	= g++
 -CC	= gcc
+-CPP	= cpp
++CXX	?= g++
 +CC	?= gcc
- CPP	= cpp
- CFLAGS	= -O3 -pthread -I.. -I$(EMULIB)
++CPP	?= cpp
+ MOC	= moc
+ SDT2GAS	= perl $(EMULIB)/Tools/sdt2gas.pl
+-CFLAGS	= -O2 -pthread -I. -I.. -I$(EMULIB)
++CFLAGS	+= -O2 -pthread -I. -I.. -I$(EMULIB)
  DEFINES = -DZLIB
+ LIBS    = -lz -lpthread
+ 
diff -urN /usr/ports/emulators/fmsx/files/patch-fMSX_Unix_Makefile fmsx/files/patch-fMSX_Unix_Makefile
--- /usr/ports/emulators/fmsx/files/patch-fMSX_Unix_Makefile	2014-01-23 12:13:35.000000000 +0700
+++ fmsx/files/patch-fMSX_Unix_Makefile	1970-01-01 07:00:00.000000000 +0700
@@ -1,20 +0,0 @@
---- fMSX/Unix/Makefile.orig	2008-01-28 20:29:59.000000000 +0100
-+++ fMSX/Unix/Makefile	2013-12-20 20:16:13.000000000 +0100
-@@ -1,7 +1,7 @@
- include ../../EMULib/Rules.Unix
- 
- DEFINES+= -DFMSX -DLSB_FIRST -DBPP16 -DCONDEBUG -DDEBUG
--CFLAGS += -I$(LIBZ80)
-+CFLAGS += -I$(LIBZ80) -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast
- OBJECTS+= $(EMUUNIX) $(FLOPPY) $(FDIDISK) \
- 	  $(Z80) $(I8255) $(YM2413) $(AY8910) $(SCC) $(WD1793) \
- 	  ../fMSX.o ../MSX.o ../V9938.o ../I8251.o ../Patch.o \
-@@ -10,7 +10,7 @@
- all:    fmsx
- 
- fmsx:	Makefile $(OBJECTS)
--	$(CC) -o $@ $(CFLAGS) $(OBJECTS) $(LIBS)
-+	$(CC) -L%%LOCALBASE%%/lib -o $@ $(CFLAGS) $(OBJECTS) $(LIBS)
- 
- clean:
- 	rm -f $(OBJECTS)
diff -urN /usr/ports/emulators/fmsx/pkg-plist fmsx/pkg-plist
--- /usr/ports/emulators/fmsx/pkg-plist	2014-01-23 12:13:35.000000000 +0700
+++ fmsx/pkg-plist	2014-01-30 23:50:20.000000000 +0700
@@ -1,17 +1,17 @@
 bin/fmsx
 bin/fmsx.bin
 %%DATADIR%%/CYRILLIC.FNT
+%%DATADIR%%/DISK.ROM
+%%DATADIR%%/FMPAC.ROM
 %%DATADIR%%/ITALIC.FNT
+%%DATADIR%%/KANJI.ROM
 %%DATADIR%%/MSX.ROM
 %%DATADIR%%/MSX2.ROM
 %%DATADIR%%/MSX2EXT.ROM
 %%DATADIR%%/MSX2P.ROM
 %%DATADIR%%/MSX2PEXT.ROM
-%%DATADIR%%/FMPAC.ROM
-%%DATADIR%%/DISK.ROM
 %%DATADIR%%/MSXDOS2.ROM
 %%DATADIR%%/PAINTER.ROM
-%%DATADIR%%/KANJI.ROM
 @dirrm %%DATADIR%%
 %%PORTDOCS%%%%DOCSDIR%%/fMSX.html
 %%PORTDOCS%%@dirrm %%DOCSDIR%%
Comment 19 Rene Ladan freebsd_committer freebsd_triage 2014-01-31 15:36:42 UTC
State Changed
From-To: feedback->closed

Committed, thanks
Comment 20 edwin 2014-02-14 11:40:42 UTC
On 31/01/14 05:12 , Eugene Grosbein wrote:
> On 27.01.2014 18:26, René Ladan wrote:
>> Any news on solving this problem?
> 
> Here comes patch for emulatiors/fmsx port.
> I ask edwin@mavetju.org to consider adopting fMSX-3.7 distfile

Done.

Edwin