Revision: 103366 https://trac.macports.org/changeset/103366 Author: larryv@macports.org Date: 2013-02-22 23:26:19 -0800 (Fri, 22 Feb 2013) Log Message: ----------- chicken: Update to 4.8.0.2 (maintainer timeout, #37859). Also: - Force build to respect build_arch. - Restrict +universal to i386/ppc, which is all upstream supports. - Remove compiler restrictions and unnecessary patches. - Add livecheck. Modified Paths: -------------- trunk/dports/lang/chicken/Portfile Added Paths: ----------- trunk/dports/lang/chicken/files/patch-Makefile.macosx.diff trunk/dports/lang/chicken/files/patch-rules.make.diff Removed Paths: ------------- trunk/dports/lang/chicken/files/clang.patch trunk/dports/lang/chicken/files/eval.c.patch trunk/dports/lang/chicken/files/patch-Makefile.macosx Modified: trunk/dports/lang/chicken/Portfile =================================================================== --- trunk/dports/lang/chicken/Portfile 2013-02-23 07:24:02 UTC (rev 103365) +++ trunk/dports/lang/chicken/Portfile 2013-02-23 07:26:19 UTC (rev 103366) @@ -4,8 +4,7 @@ PortSystem 1.0 name chicken -version 4.7.0 -revision 2 +version 4.8.0.2 categories lang scheme license BSD public-domain maintainers gmail.com:arto.bendiken gmail.com:ivan.g.raikov @@ -17,51 +16,61 @@ enhancements and extensions. homepage http://www.call-with-current-continuation.org/ platforms darwin -master_sites http://code.call-cc.org/releases/${version} -checksums md5 9389388fdf04c3c64de29633aae12539 \ - sha1 504036951eccda7680547dae63ad44e8960d3f72 \ - rmd160 421f6e7383a666b836a7ad9d5ac342c8033bfff6 +set branch [join [lrange [split ${version} .] 0 2] .] +master_sites http://code.call-cc.org/releases/${branch} -patchfiles patch-Makefile.macosx \ - eval.c.patch \ - clang.patch +checksums rmd160 7d92c10315f3f9c14003d6789a6ebdc4c0f78b25 \ + sha256 bf933f8cc4586b8b468c9abb8ec079a9f109ea20b5f12a1af2776f694e14791d -post-patch { - # use full path with dlopen (#28617) - # this is ugly because we can't edit the scheme source (we'd need to - # already have the compiler) and the generated C uses an octal length - # prefix for strings. - set len [expr [string length ${prefix}] + [string length "/lib/libchicken"]] - reinplace "s|031__PREFIX__|[format %03o $len]${prefix}|" ${worksrcpath}/eval.c -} +patchfiles patch-Makefile.macosx.diff \ + patch-rules.make.diff -# https://trac.macports.org/ticket/32298 -compiler.whitelist-append gcc-4.2 apple-gcc-4.2 gcc-4.0 - -# TODO: base should do this: http://trac.macports.org/ticket/32542 -if {[info exists portconfigure::compiler_name_map(${configure.compiler})]} { - depends_build-append port:$portconfigure::compiler_name_map(${configure.compiler}) - - # base 2.1.x ignores the argument and just use ${configure.compiler} - if {[portconfigure::arch_flag_supported ${configure.compiler}]} { - depends_skip_archcheck-append $portconfigure::compiler_name_map(${configure.compiler}) - } - - if {[string match macports-gcc* ${configure.compiler}]} { - depends_lib-append port:$portconfigure::compiler_name_map(${configure.compiler}) - } -} - use_configure no -use_parallel_build no +# Upstream explicitly requires GNU make. +build.type gnu build.args C_COMPILER=${configure.cc} \ + CXX_COMPILER=${configure.cxx} \ PLATFORM=macosx \ PREFIX=${prefix} +# Upstream does not support parallel builds. +use_parallel_build no -if {"x86_64" == ${configure.build_arch}} { - build.args-append ARCH=x86-64 +# Restrict universal variant to Tiger and Leopard because upstream only +# supports i386/ppc universal binaries. +if {${os.platform} == "darwin" && ${os.major} < 10} { + variant universal {} } +# Force build system to respect build_arch and arch/SDK flags. +if {[variant_isset universal]} { + if {${os.major} == 9} { + macosx_deployment_target 10.4 + } + set sdk_ccflags "-isysroot ${configure.sdkroot}" + set sdk_ldflags "-Wl,-syslibroot,${configure.sdkroot}" + build.args-append ARCH=universal \ + CFLAGS="[get_canonical_archflags cc] ${sdk_ccflags}" \ + LDFLAGS="[get_canonical_archflags ld] ${sdk_ldflags}" +} else { + switch -glob ${configure.build_arch} { + i386 { build.args-append ARCH=x86 } + x86_64 { build.args-append ARCH=x86-64 } + ppc* { + if {${os.platform} == "darwin"} { + build.args-append ARCH=ppc.darwin + } else { + build.args-append ARCH=ppc.sysv + } + } + } + build.args-append CFLAGS="[get_canonical_archflags cc]" \ + LDFLAGS="[get_canonical_archflags ld]" +} + destroot.args ${build.args} + +livecheck.type regex +livecheck.url http://code.call-cc.org/releases/current/ +livecheck.regex {chicken-([0-9.]+)\.tar\.gz} Deleted: trunk/dports/lang/chicken/files/clang.patch =================================================================== --- trunk/dports/lang/chicken/files/clang.patch 2013-02-23 07:24:02 UTC (rev 103365) +++ trunk/dports/lang/chicken/files/clang.patch 2013-02-23 07:26:19 UTC (rev 103366) @@ -1,15 +0,0 @@ ---- chicken.h.orig 2013-01-30 00:22:08.000000000 -0800 -+++ chicken.h 2013-01-30 00:22:10.000000000 -0800 -@@ -226,11 +226,7 @@ void *alloca (); - # ifndef __cplusplus - # define C_cblock ({ - # define C_cblockend }) --# ifdef __clang__ --# define C_noret --# else --# define C_noret __attribute__ ((noreturn)) --# endif -+# define C_noret __attribute__ ((noreturn)) - # define C_noret_decl(name) - # define C_aligned __attribute__ ((aligned)) - # endif Deleted: trunk/dports/lang/chicken/files/eval.c.patch =================================================================== --- trunk/dports/lang/chicken/files/eval.c.patch 2013-02-23 07:24:02 UTC (rev 103365) +++ trunk/dports/lang/chicken/files/eval.c.patch 2013-02-23 07:26:19 UTC (rev 103366) @@ -1,11 +0,0 @@ ---- eval.c.orig 2011-05-24 19:19:11.000000000 +1000 -+++ eval.c 2012-02-16 13:48:39.000000000 +1100 -@@ -3522,7 +3522,7 @@ - lf[214]=C_h_intern(&lf[214],26,"\003sysload-library-extension"); - lf[215]=C_h_intern(&lf[215],6,"cygwin"); - lf[216]=C_decode_literal(C_heaptop,"\376\003\000\000\002\376B\000\000\014cygchicken-0\376\377\016"); --lf[217]=C_decode_literal(C_heaptop,"\376\003\000\000\002\376B\000\000\012libchicken\376\377\016"); -+lf[217]=C_decode_literal(C_heaptop,"\376\003\000\000\002\376B\000\000\031__PREFIX__/lib/libchicken\376\377\016"); - lf[218]=C_h_intern(&lf[218],34,"\003sysdefault-dynamic-load-libraries"); - lf[219]=C_h_intern(&lf[219],22,"dynamic-load-libraries"); - lf[220]=C_h_intern(&lf[220],13,"string-append"); Deleted: trunk/dports/lang/chicken/files/patch-Makefile.macosx =================================================================== --- trunk/dports/lang/chicken/files/patch-Makefile.macosx 2013-02-23 07:24:02 UTC (rev 103365) +++ trunk/dports/lang/chicken/files/patch-Makefile.macosx 2013-02-23 07:26:19 UTC (rev 103366) @@ -1,11 +0,0 @@ ---- Makefile.macosx.orig 2011-10-08 22:44:42.000000000 -0400 -+++ Makefile.macosx 2011-10-08 22:45:09.000000000 -0400 -@@ -51,7 +51,7 @@ - C_COMPILER_OPTIMIZATION_OPTIONS ?= -Os -fomit-frame-pointer - endif - endif --LINKER_LINK_SHARED_LIBRARY_OPTIONS = -dynamiclib -compatibility_version 1 -current_version 1.0 -install_name $@ -+LINKER_LINK_SHARED_LIBRARY_OPTIONS = -dynamiclib -compatibility_version 1 -current_version 1.0 -install_name ${LIBDIR}/$@ - POSTINSTALL_PROGRAM_FLAGS = -change lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) $(LIBDIR)/lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) - LIBRARIAN_OPTIONS = scru - LINKER_LINK_SHARED_DLOADABLE_OPTIONS = -bundle -L. Copied: trunk/dports/lang/chicken/files/patch-Makefile.macosx.diff (from rev 103179, trunk/dports/lang/chicken/files/patch-Makefile.macosx) =================================================================== --- trunk/dports/lang/chicken/files/patch-Makefile.macosx.diff (rev 0) +++ trunk/dports/lang/chicken/files/patch-Makefile.macosx.diff 2013-02-23 07:26:19 UTC (rev 103366) @@ -0,0 +1,24 @@ +--- Makefile.macosx.orig 2013-01-08 22:57:09.000000000 -0500 ++++ Makefile.macosx 2013-02-23 01:22:00.000000000 -0500 +@@ -69,18 +69,12 @@ + + # architectures + ++C_COMPILER_OPTIONS += $(CFLAGS) ++LINKER_OPTIONS += $(LDFLAGS) ++ + ifeq ($(ARCH),x86-64) +-C_COMPILER_OPTIONS += -m64 +-LINKER_OPTIONS += -m64 + # Avoid bus error in install_name_tool + LINKER_LINK_SHARED_DLOADABLE_OPTIONS += -Wl,-headerpad -Wl,128 +-else +- +-ifeq ($(ARCH),universal) +-C_COMPILER_OPTIONS += -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk +-LINKER_OPTIONS += -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk +-endif +- + endif + + # select default and internal settings Added: trunk/dports/lang/chicken/files/patch-rules.make.diff =================================================================== --- trunk/dports/lang/chicken/files/patch-rules.make.diff (rev 0) +++ trunk/dports/lang/chicken/files/patch-rules.make.diff 2013-02-23 07:26:19 UTC (rev 103366) @@ -0,0 +1,11 @@ +--- rules.make.orig 2013-01-08 22:57:09.000000000 -0500 ++++ rules.make 2013-02-23 01:23:22.000000000 -0500 +@@ -181,7 +181,7 @@ + + ifneq ($(HACKED_APPLY),) + $(APPLY_HACK_OBJECT): $(SRCDIR)apply-hack.$(ARCH)$(ASM) +- $(ASSEMBLER) $(ASSEMBLER_OPTIONS) $(ASSEMBLER_COMPILE_OPTION) $< $(ASSEMBLER_OUTPUT) ++ $(ASSEMBLER) $(CFLAGS) $(ASSEMBLER_OPTIONS) $(ASSEMBLER_COMPILE_OPTION) $< $(ASSEMBLER_OUTPUT) + endif + + # program objects