Bug 185398 - Fix comms/xmorse build with Clang
Summary: Fix comms/xmorse build with Clang
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: John Marino
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-01 22:00 UTC by Stephen Hurd
Modified: 2014-01-25 13:57 UTC (History)
0 users

See Also:


Attachments
file.diff (2.84 KB, patch)
2014-01-01 22:00 UTC, Stephen Hurd
no flags Details | Diff
xmorse-svnpatch.txt (5.57 KB, text/plain; charset=us-ascii)
2014-01-01 19:40 UTC, Stephen Hurd
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stephen Hurd freebsd_committer freebsd_triage 2014-01-01 19:40:07 UTC
Actually, here it is with a completely new Makefile which uses dynamic 
linking, supports STAGEDIR, doesn't need root privs to create the 
package, fixes all the warnings clang emitted, and is smaller than both 
the original Makefile and the patch.
Comment 1 Stephen Hurd freebsd_committer freebsd_triage 2014-01-01 22:00:00 UTC
comms/xmorse has hardcoded compiler names.  Switch to ${CC} and ${CXX} works fine.

Fix: New patch-Makefile attached.

Patch attached with submission follows:
How-To-Repeat: Build without GCC installed
Comment 2 Edwin Groothuis freebsd_committer freebsd_triage 2014-01-01 22:00:07 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 3 Edwin Groothuis freebsd_committer freebsd_triage 2014-01-01 22:00:07 UTC
Maintainer of comms/xmorse,

Please note that PR ports/185398 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/185398

-- 
Edwin Groothuis via the GNATS Auto Assign Tool
edwin@FreeBSD.org
Comment 4 Sunry Chen 2014-01-02 10:20:12 UTC
Yes, it works.
I approve the patch.


On Thu, Jan 2, 2014 at 6:00 AM, Edwin Groothuis <edwin@freebsd.org> wrote:

> Maintainer of comms/xmorse,
>
> Please note that PR ports/185398 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/185398
>
> --
> Edwin Groothuis via the GNATS Auto Assign Tool
> edwin@FreeBSD.org
>
Comment 5 John Marino freebsd_committer freebsd_triage 2014-01-19 14:48:10 UTC
State Changed
From-To: feedback->open

Maintainer has approved.
Comment 6 John Marino freebsd_committer freebsd_triage 2014-01-25 00:35:53 UTC
Responsible Changed
From-To: freebsd-ports-bugs->marino

I'll take it.
Comment 7 freebsd.contact 2014-01-25 01:16:16 UTC
Please take this back and work on it some more.

First error (fixed internally):
error:
> MAKE_ARGS=	PREFIX=${STAGEDIR}${PREFIX} INSTALL_PROGRAM=${INSTALL_PROGRAM}
Fixed (added quotes, INSTALL_PROGRAM has multiple spaces:
> MAKE_ARGS=      PREFIX="${STAGEDIR}${PREFIX}" INSTALL_PROGRAM="${INSTALL_PROGRAM}"

second error (fixed internally)
> .include <bsd.port.pre.mk>
> .include <bsd.port.post.mk>
I have no idea why <bsd.port.mk> was removed, pre/post not needed

Third error:
files/Makefile only works on FreeBSD 10's bmake.
This does not build on FreeBSD 8 or 9

https://redports.org/buildarchive/20140125010300-8269/

I tried removing the first "." on the offending lines, it didn't help.
Please advise how to fix files/Makefile so it builds on FreeBSD 8, 9,
and 10 simultaneously.

John
Comment 8 John Marino freebsd_committer freebsd_triage 2014-01-25 01:17:22 UTC
State Changed
From-To: open->feedback

Ask for submitter fix.
Comment 9 Stephen Hurd freebsd_committer freebsd_triage 2014-01-25 03:37:49 UTC
John Marino wrote:
> I tried removing the first "." on the offending lines, it didn't help. 
> Please advise how to fix files/Makefile so it builds on FreeBSD 8, 9, 
> and 10 simultaneously. John 

You should be able to just remove the .-include lines.  They should not 
needed when building the first time.
Comment 10 dfilter service freebsd_committer freebsd_triage 2014-01-25 09:28:59 UTC
Author: marino
Date: Sat Jan 25 09:28:51 2014
New Revision: 341000
URL: http://svnweb.freebsd.org/changeset/ports/341000
QAT: https://qat.redports.org/buildarchive/r341000/

Log:
  comms/xmorse: Fix build on F10+, support stage
  
  PR:		ports/185398
  Submitted by:	Stephan Hurd
  Fixed by:	marino@

Added:
  head/comms/xmorse/files/Makefile   (contents, props changed)
  head/comms/xmorse/files/patch-Bargraph.cxx   (contents, props changed)
  head/comms/xmorse/files/patch-Help.h   (contents, props changed)
Deleted:
  head/comms/xmorse/files/patch-Makefile
Modified:
  head/comms/xmorse/Makefile
  head/comms/xmorse/files/patch-m.fl

Modified: head/comms/xmorse/Makefile
==============================================================================
--- head/comms/xmorse/Makefile	Sat Jan 25 09:27:18 2014	(r340999)
+++ head/comms/xmorse/Makefile	Sat Jan 25 09:28:51 2014	(r341000)
@@ -3,7 +3,7 @@
 
 PORTNAME=	xmorse
 PORTVERSION=	20041125
-PORTREVISION=	7
+PORTREVISION=	8
 CATEGORIES=	comms hamradio
 MASTER_SITES=	http://c2.com/morse/files/SourceCode/ \
 		http://www.525183.com/freebsd/xmorse/ \
@@ -21,6 +21,9 @@ USE_SDL=	sdl
 
 PLIST_FILES=	bin/xmorse
 NO_WRKSUBDIR=	yes
+MAKE_ARGS=	PREFIX="${STAGEDIR}${PREFIX}" INSTALL_PROGRAM="${INSTALL_PROGRAM}"
+
+post-patch:
+	${CP} ${FILESDIR}/Makefile ${WRKSRC}
 
-NO_STAGE=	yes
 .include <bsd.port.mk>

Added: head/comms/xmorse/files/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/comms/xmorse/files/Makefile	Sat Jan 25 09:28:51 2014	(r341000)
@@ -0,0 +1,22 @@
+# $FreeBSD$
+
+CXXFLAGS+= -MMD `fltk-config --cxxflags` `sdl-config --cflags`
+PREFIX	?= /usr/local
+INSTALL_PROGRAM	?=	${INSTALL} -o root -g wheel -m 755
+
+all: xmorse
+
+m.cxx: m.fl
+	fluid -c m.fl
+
+xmorse: m.o Bargraph.o Codebox.o Cw.o Knob.o
+	${CXX} -o$@ $> `fltk-config --ldflags` `sdl-config --libs`
+
+install: xmorse
+	${INSTALL_PROGRAM} xmorse ${PREFIX}/bin/xmorse
+
+clean:
+	-rm *.o
+	-rm *.d
+	-rm m.cxx m.h
+	-rm xmorse

Added: head/comms/xmorse/files/patch-Bargraph.cxx
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/comms/xmorse/files/patch-Bargraph.cxx	Sat Jan 25 09:28:51 2014	(r341000)
@@ -0,0 +1,11 @@
+--- Bargraph.cxx.orig	2004-08-25 17:18:01.000000000 -0700
++++ Bargraph.cxx	2014-01-01 10:26:23.000000000 -0800
+@@ -82,7 +82,7 @@
+     if (child(i)->visible()) nd++;
+   int dx = w()/nd;				// Slider horizontal "period"
+   int width = dx*nd - gap;			// Width of slider array
+-  int x0 = w()-width >> 1;			// Inset to 1st slider
++  int x0 = (w()-width) >> 1;			// Inset to 1st slider
+   width = dx-gap;				// Width of individual Slider
+   for (int i = 0; i < children(); i++) {	// Loop to reposition sliders
+     Fl_Slider* s = (Fl_Slider*) child(i);	//   Pointer to this Slider

Added: head/comms/xmorse/files/patch-Help.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/comms/xmorse/files/patch-Help.h	Sat Jan 25 09:28:51 2014	(r341000)
@@ -0,0 +1,11 @@
+--- Help.h.orig	2014-01-01 10:24:05.000000000 -0800
++++ Help.h	2014-01-01 10:24:10.000000000 -0800
+@@ -2,7 +2,7 @@
+  * generated from the original HTML file by the script, help.py.
+  */
+ 
+-static char* HelpString =
++static const char* HelpString =
+   "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n"
+   "<html>\n"
+   "<head>\n"

Modified: head/comms/xmorse/files/patch-m.fl
==============================================================================
--- head/comms/xmorse/files/patch-m.fl	Sat Jan 25 09:27:18 2014	(r340999)
+++ head/comms/xmorse/files/patch-m.fl	Sat Jan 25 09:28:51 2014	(r341000)
@@ -1,5 +1,23 @@
---- m.fl.orig	2011-07-17 14:56:20.000000000 -0400
-+++ m.fl	2011-07-17 14:56:31.000000000 -0400
+--- m.fl.orig	2004-08-13 16:38:24.000000000 -0700
++++ m.fl	2014-01-01 10:25:10.000000000 -0800
+@@ -188,7 +188,7 @@
+         }
+         menuitem {} {
+           label Numbers
+-          callback {char* nrs = "0123456789";
++          callback {const char* nrs = "0123456789";
+ if (o->mvalue()->value())
+   Lesson->enable(nrs);
+ else
+@@ -199,7 +199,7 @@
+         }
+         menuitem {} {
+           label Symbols
+-          callback {char* syms = "./=?";
++          callback {const char* syms = "./=?";
+ if (o->mvalue()->value())
+   Lesson->enable(syms);
+ else
 @@ -231,7 +231,7 @@
        }
      }
_______________________________________________
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 11 John Marino freebsd_committer freebsd_triage 2014-01-25 13:57:17 UTC
State Changed
From-To: feedback->closed

Committed, with minor changes. Thanks!