Bug 181648 - [patch] update devel/lightning from 1.2 to 2.0.0
Summary: [patch] update devel/lightning from 1.2 to 2.0.0
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: Ruslan Makhmatkhanov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-29 13:00 UTC by Vitaly Magerya
Modified: 2013-09-02 19:13 UTC (History)
0 users

See Also:


Attachments
file.diff (3.63 KB, patch)
2013-08-29 13:00 UTC, Vitaly Magerya
no flags Details | Diff
lightning-2.0.0-2.diff.txt (4.42 KB, text/plain; charset=UTF-8)
2013-09-02 13:57 UTC, Vitaly Magerya
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Magerya 2013-08-29 13:00:00 UTC
Update devel/lightning from 1.2 to 2.0.0.
See the release announcement at [1].

Note that lightning 2.0 is not compatible with 1.x releases. Normally in such cases we create separate ports for different branches, but I argue that for devel/lightning this is not needed -- no port depends on devel/lightning, it's unmaintained, and the version in ports (1.2) was released in 2004, so anyone who actually used lightning pretty much had to use the development version for a number of years, which indicates that noone uses the version in ports.

Note: I tested the port on one FreeBSD/amd64 machine; if possible, I ask the committer to run "make regression-test" on whatever platforms he has access to (specifically, any of the i386, arm, ia64, powerpc, sparc64 or mips would be great). Lightning is very much a platform-dependent library (it's a JIT compiler), and it's primary developer doesn't use FreeBSD, so who knows if it works at all on those platforms.

[1] https://lists.gnu.org/archive/html/lightning/2013-08/msg00000.html

Fix: Patch attached with submission follows:
Comment 1 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2013-09-01 18:37:18 UTC
Responsible Changed
From-To: freebsd-ports-bugs->rm

I will take it. Vitaly, there is two problems with patch: 1) 
regression-test target needs gmake, that you not defined anywhere 2) 
this port fails on 8.4/i386: 
https://redports.org/~rm/20130901164000-16447-142124/lightning-2.0.0_2.log. 
Do you have any ideas about this one?
Comment 2 Vitaly Magerya 2013-09-02 11:33:28 UTC
I'll look into it.
Comment 3 Vitaly Magerya 2013-09-02 13:57:38 UTC
The problem was that GCC 4.2 doesn't define __SIZEOF_POINTER__ (it's
defined since 4.3), so detection of pointer bit size failed to work on
i386 (that detection works fine on amd64 because it has _LP64 defined).

Anyway, here's an updated patch with workaround for i386. Other 32 bit
platforms (ARM?) may be still broken though. Redports logs are at [1,2].

I've contacted library author; we'll see what he thinks about it.

Note that it's undesirable to just set USE_GCC=4.3+ -- this would make
the library build everywhere, but then no application that uses use it
could be built with GCC from base.

PS. GMAKE did not turn out to be needed; neither did MAKE_JOBS_UNSAFE.

[1] https://redports.org/buildarchive/20130902120100-49677/
[2] https://redports.org/buildarchive/20130902120509-39023/
Comment 4 dfilter service freebsd_committer freebsd_triage 2013-09-02 18:17:37 UTC
Author: rm
Date: Mon Sep  2 17:17:28 2013
New Revision: 326040
URL: http://svnweb.freebsd.org/changeset/ports/326040

Log:
  - update to 2.0.0
  
  release notes:
  https://lists.gnu.org/archive/html/lightning/2013-08/msg00000.html
  
  PR:		181648
  Submitted by:	Vitaly Magerya <vmagerya@gmail.com>

Added:
  head/devel/lightning/files/
  head/devel/lightning/files/patch-configure   (contents, props changed)
  head/devel/lightning/files/patch-include-lightning.h   (contents, props changed)
Modified:
  head/devel/lightning/Makefile   (contents, props changed)
  head/devel/lightning/distinfo   (contents, props changed)
  head/devel/lightning/pkg-descr   (contents, props changed)
  head/devel/lightning/pkg-plist   (contents, props changed)

Modified: head/devel/lightning/Makefile
==============================================================================
--- head/devel/lightning/Makefile	Mon Sep  2 17:12:11 2013	(r326039)
+++ head/devel/lightning/Makefile	Mon Sep  2 17:17:28 2013	(r326040)
@@ -1,25 +1,38 @@
-# ex:ts=8
-# Ports collection makefile for:	lightning
-# Date created:			May 9, 2002
-# Whom:				ijliao
-#
+# Created by: ijliao
 # $FreeBSD$
-#
 
 PORTNAME=	lightning
-PORTVERSION=	1.2
+PORTVERSION=	2.0.0
 CATEGORIES=	devel
-MASTER_SITES=	${MASTER_SITE_GNU}
+MASTER_SITES=	GNU
 MASTER_SITE_SUBDIR=	${PORTNAME}
 
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	Generates assembly language code at run-time
 
-ONLY_FOR_ARCHS=	i386 sparc64 powerpc
+OPTIONS_DEFINE=	ASSERTIONS
+ASSERTIONS_DESC=Enable runtime code generation assertions
 
+ONLY_FOR_ARCHS=	i386 amd64 arm ia64 powerpc sparc64 mips
+
+USE_LDCONFIG=	yes
 GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--enable-disassembler=no
+
+PLIST_SUB+=	JIT_ARCH=${ARCH:S/i386/x86/:S/amd64/x86/:S/sparc64/sparc/:S/powerpc/ppc/}
 
-MAN1=		lightningize.1
 INFO=		lightning
 
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MASSERTIONS}
+CONFIGURE_ARGS+=--enable-assertions=yes
+.else
+CONFIGURE_ARGS+=--enable-assertions=no
+.endif
+
+regression-test: build
+	(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} \
+		${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} check)
+
 .include <bsd.port.mk>

Modified: head/devel/lightning/distinfo
==============================================================================
--- head/devel/lightning/distinfo	Mon Sep  2 17:12:11 2013	(r326039)
+++ head/devel/lightning/distinfo	Mon Sep  2 17:17:28 2013	(r326040)
@@ -1,2 +1,2 @@
-SHA256 (lightning-1.2.tar.gz) = d16a9f12441f297f7524917bfc97501a8600a93eb9c46d2a7e2a16e5caf11511
-SIZE (lightning-1.2.tar.gz) = 403274
+SHA256 (lightning-2.0.0.tar.gz) = e41736c5c6c40eeb194e3f9fec3209e86f07f9471d0aacc5d35c1c8e55621054
+SIZE (lightning-2.0.0.tar.gz) = 852571

Added: head/devel/lightning/files/patch-configure
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/lightning/files/patch-configure	Mon Sep  2 17:17:28 2013	(r326040)
@@ -0,0 +1,19 @@
+--- configure.orig	2013-08-23 21:12:43.000000000 +0300
++++ configure	2013-08-25 15:53:56.000000000 +0300
+@@ -11650,6 +11650,7 @@
+ fi
+ 
+ case "$host_os" in
++    *freebsd*)	SHLIB=""	    ;;
+     *hpux*)		SHLIB="-ldld"	;;
+     *)			SHLIB="-ldl"	;;
+ esac
+@@ -11657,7 +11658,7 @@
+ 
+ cpu=
+ case "$target_cpu" in
+-    i?86|x86_64)	cpu=x86		;;
++    i?86|x86_64|amd64)	cpu=x86		;;
+     *arm*)		cpu=arm		;;
+     *mips*)		cpu=mips	;;
+     *powerpc*)		cpu=ppc		;;

Added: head/devel/lightning/files/patch-include-lightning.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/lightning/files/patch-include-lightning.h	Mon Sep  2 17:17:28 2013	(r326040)
@@ -0,0 +1,11 @@
+--- include/lightning.h.orig	2013-09-02 13:38:10.000000000 +0300
++++ include/lightning.h	2013-09-02 14:57:27.000000000 +0300
+@@ -38,7 +38,7 @@
+ #    define __WORDSIZE		WORDSIZE
+ #  elif defined(__SIZEOF_POINTER__)		/* ppc aix */
+ #    define __WORDSIZE		(__SIZEOF_POINTER__ << 3)
+-#  elif defined(_ILP32)				/* hppa hp-ux */
++#  elif defined(_ILP32) || defined(__i386__)	/* hppa hp-ux, i386 gcc 4.2 */
+ #    define __WORDSIZE		32
+ #  elif defined(_LP64)				/* ia64 hp-ux (with cc +DD64) */
+ #    define __WORDSIZE		64

Modified: head/devel/lightning/pkg-descr
==============================================================================
--- head/devel/lightning/pkg-descr	Mon Sep  2 17:12:11 2013	(r326039)
+++ head/devel/lightning/pkg-descr	Mon Sep  2 17:17:28 2013	(r326040)
@@ -3,4 +3,4 @@ it is very fast, making it ideal for Jus
 over the target CPU, as it exposes to the clients a standardized RISC
 instruction set inspired by the MIPS and SPARC chips.
 
-WWW: http://www.gnu.org/software/lightning/ 
+WWW: http://www.gnu.org/software/lightning/

Modified: head/devel/lightning/pkg-plist
==============================================================================
--- head/devel/lightning/pkg-plist	Mon Sep  2 17:12:11 2013	(r326039)
+++ head/devel/lightning/pkg-plist	Mon Sep  2 17:17:28 2013	(r326040)
@@ -1,28 +1,7 @@
-bin/lightningize
-include/lightning/asm-common.h
-include/lightning/asm.h
-include/lightning/core-common.h
-include/lightning/core.h
-include/lightning/fp-common.h
-include/lightning/fp.h
-include/lightning/funcs-common.h
-include/lightning/funcs.h
-include/lightning/i386/asm.h
-include/lightning/i386/core.h
-include/lightning/i386/fp.h
-include/lightning/i386/funcs.h
-include/lightning/ppc/asm.h
-include/lightning/ppc/core.h
-include/lightning/ppc/fp.h
-include/lightning/ppc/funcs.h
-include/lightning/sparc/asm.h
-include/lightning/sparc/core.h
-include/lightning/sparc/fp.h
-include/lightning/sparc/funcs.h
-share/aclocal/lightning.m4
-%%DATADIR%%/Makefile.am
-@dirrm %%DATADIR%%
-@dirrm include/lightning/sparc
-@dirrm include/lightning/ppc
-@dirrm include/lightning/i386
+include/lightning.h
+include/lightning/jit_%%JIT_ARCH%%.h
+lib/liblightning.a
+lib/liblightning.la
+lib/liblightning.so
+lib/liblightning.so.0
 @dirrm include/lightning
_______________________________________________
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 5 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2013-09-02 19:13:40 UTC
State Changed
From-To: open->closed

Committed, thank you!