[26877] trunk/dports/archivers/arj
source_changes at macosforge.org
source_changes at macosforge.org
Tue Jul 10 17:43:38 PDT 2007
Revision: 26877
http://trac.macosforge.org/projects/macports/changeset/26877
Author: boeyms at macports.org
Date: 2007-07-10 17:43:38 -0700 (Tue, 10 Jul 2007)
Log Message:
-----------
archivers/arj:
Committing the patch in #12180. The following is a reproduction of the comment
in that ticket describing what the patch does.
So many changes: I couldn't bring myself to go through the pain of undoing them and splitting the commits, so I hope that the description below is clear enough.
* Update arj to latest version (3.10.22) (closes #11629);
* Remove unnecessary bin:gmake:gmake in depends_build (closes #7070);
* Update bin:autoconf:autoconf in depends_build to port:autoconf;
* Replace custom pre-configure script with standard syntax (use_autoconf and
autoconf.dir);
* Replace custom configure script with standard syntax (configure.dir and
removal of --prefix switch that is added by default);
* Replace custom pre-build script with standard syntax (prepend "prepare" to
build.target list);
* Remove custom destroot script (source now generates a Makefile that handles
"make install" for us);
* Patch postproc.c so that it runs as intended on the ARJ executables
(integrity_pattern[] differs from that in register.c and arj_proc.c, with
comment in latter indicating that it contains the correct array);
* Patch configure.in so that arjcrypt builds as a dynamic library is it is
supposed to (previously it built as an executable):
* this obsoletes the patch to arjcrypt.c, which is therefore removed;
* this necessitates changing DLL_FLAGS in makefile.in to prevent it from
sending a flag to Mac OS X libtool that it does not support (-s for
stripping symbols);
* it does so in proper style (by detecting the OS), which requires the
post-extract step of replacing the very old config.sub and config.guess
scripts included in the source with the ones provided by XCode, and
obsoletes the old patch to configure.in that comments out auto-detection of
the host;
* Patch makefile.in to not run postproc on arjcrypt.dylib, as doing so makes
the build fail, and it seems neither necessary nor appropriate to do so;
* Remove patch to COPT definition in makefile.in as it is not necessary once
config.guess and config.sub are recent enough to allow configure to guess the
OS.
Modified Paths:
--------------
trunk/dports/archivers/arj/Portfile
trunk/dports/archivers/arj/files/patch-conifgure.in
trunk/dports/archivers/arj/files/patch-makefile.in
Added Paths:
-----------
trunk/dports/archivers/arj/files/patch-postproc.c
Removed Paths:
-------------
trunk/dports/archivers/arj/files/patch-arjcrypt.c
Modified: trunk/dports/archivers/arj/Portfile
===================================================================
--- trunk/dports/archivers/arj/Portfile 2007-07-10 18:07:00 UTC (rev 26876)
+++ trunk/dports/archivers/arj/Portfile 2007-07-11 00:43:38 UTC (rev 26877)
@@ -2,38 +2,26 @@
PortSystem 1.0
name arj
-version 3.10.21
+version 3.10.22
categories archivers sysutils
description create and extract files from dos .arj archives
maintainers jc at crazic.ru
long_description ${description}
homepage http://arj.sourceforge.net/
master_sites sourceforge:arj
-checksums md5 887d400ca6048516d4d447e1649af396
-depends_build bin:gmake:gmake bin:autoconf:autoconf
+checksums md5 f263bf3cf6d42a8b7e85b4fb514336d3
+depends_build port:autoconf
+use_autoconf yes
+autoconf.dir gnu
+configure.dir ${autoconf.dir}
-patchfiles patch-arjcrypt.c patch-conifgure.in patch-environ.c patch-makefile.in patch-uxspec.c
-
-pre-configure {
- system "cd ${build.dir}/gnu; autoconf"
+# Hack: copy XCode-provided config.guess and config.sub into source tree so that
+# it can properly guess the system type
+post-extract {
+ copy -force /usr/share/libtool/config.guess ${worksrcpath}/${autoconf.dir}
+ copy -force /usr/share/libtool/config.sub ${worksrcpath}/${autoconf.dir}
}
-configure {
- system "cd ${build.dir}/gnu; ./configure --prefix=${prefix}"
-}
+patchfiles patch-conifgure.in patch-environ.c patch-makefile.in patch-postproc.c patch-uxspec.c
-pre-build {
- system "gmake prepare"
-}
-
-destroot {
- xinstall -m 755 -d ${destroot}/${prefix}/bin
- xinstall -m 755 -d ${destroot}/${prefix}/share/man/man1
- xinstall -m 755 -d ${destroot}/${prefix}/share/doc/arj
-
- file copy ${build.dir}/en/rs/arj/arj ${build.dir}/en/rs/arjdisp/arjdisp ${build.dir}/en/rs/arjsfx/arjsfx ${build.dir}/en/rs/arjsfxjr/arjsfxjr ${build.dir}/en/rs/arjsfxv/arjsfxv ${build.dir}/en/rs/rearj/rearj ${build.dir}/en/rs/register/arj-register ${build.dir}/en/rs/sfxstub/sfxstub ${destroot}/${prefix}/bin
-
- file copy ${build.dir}/resource/en/arj-register.1 ${build.dir}/resource/en/arj.1 ${build.dir}/resource/en/arjdisp.1 ${build.dir}/resource/en/rearj.1 ${destroot}/${prefix}/share/man/man1
- file copy ${build.dir}/resource/en/arjl.txt ${build.dir}/resource/en/arjs.txt ${build.dir}/resource/en/file_id.diz ${build.dir}/resource/en/history.txt ${build.dir}/resource/en/readme.txt ${build.dir}/resource/en/unix.txt ${destroot}/${prefix}/share/doc/arj
-
-}
+build.target prepare all
Deleted: trunk/dports/archivers/arj/files/patch-arjcrypt.c
===================================================================
--- trunk/dports/archivers/arj/files/patch-arjcrypt.c 2007-07-10 18:07:00 UTC (rev 26876)
+++ trunk/dports/archivers/arj/files/patch-arjcrypt.c 2007-07-11 00:43:38 UTC (rev 26877)
@@ -1,16 +0,0 @@
---- arjcrypt.c-orig Sun Jun 22 15:12:28 2003
-+++ arjcrypt.c Tue Aug 3 12:51:15 2004
-@@ -321,13 +321,10 @@
-
- /* Main routine - just a stub. Don't even need it in an OS/2 DLL. */
-
--#if TARGET==DOS
- int main()
- {
-- out_str(M_ARJCRYPT_BANNER);
- return(0);
- }
--#endif
-
- /* External entry */
-
Modified: trunk/dports/archivers/arj/files/patch-conifgure.in
===================================================================
--- trunk/dports/archivers/arj/files/patch-conifgure.in 2007-07-10 18:07:00 UTC (rev 26876)
+++ trunk/dports/archivers/arj/files/patch-conifgure.in 2007-07-11 00:43:38 UTC (rev 26877)
@@ -1,27 +1,13 @@
---- gnu/configure.in-orig Sat Apr 17 15:28:06 2004
-+++ gnu/configure.in Tue Aug 3 03:11:54 2004
-@@ -15,7 +15,7 @@
- AC_CONFIG_HEADER([../c_defs.h:config.h.in])
-
- dnl Checks for the canonical system name
--AC_CANONICAL_HOST
-+dnl AC_CANONICAL_HOST
-
- dnl Checks for programs.
- AC_PROG_CC
-@@ -39,12 +39,12 @@
-
- dnl Platform-specific tuning
- PROG_EXT=
--DLL_EXT=".so"
--DLL_FLAGS="-shared"
-+DLL_EXT=".dylib"
-+dnl DLL_FLAGS="-shared"
- REQUIRES_DEF=
- OS_ID="UNIX"
- OS_DEF="-D_UNIX"
--DLL_CFLAGS="-fPIC"
-+dnl DLL_CFLAGS="-fPIC"
-
- case $host_os in
- linux*)
+--- gnu/configure.in 2005-06-21 18:27:20.000000000 +0000
++++ gnu/configure.in.new 2007-06-25 23:15:00.000000000 +0000
+@@ -62,6 +62,10 @@
+ DLL_FLAGS="-shared -export-dynamic"
+ LD_STRIP="gnu/stripgcc.lnk"
+ ;;
++darwin*)
++ DLL_EXT=".dylib"
++ DLL_FLAGS="-dynamiclib"
++ ;;
+ interix3*)
+ # not ELF
+ DLL_FLAGS="-shared"
Modified: trunk/dports/archivers/arj/files/patch-makefile.in
===================================================================
--- trunk/dports/archivers/arj/files/patch-makefile.in 2007-07-10 18:07:00 UTC (rev 26876)
+++ trunk/dports/archivers/arj/files/patch-makefile.in 2007-07-11 00:43:38 UTC (rev 26877)
@@ -1,11 +1,26 @@
---- gnu/makefile.in-orig Sat Apr 17 15:28:06 2004
-+++ gnu/makefile.in Tue Aug 3 03:02:13 2004
-@@ -84,7 +84,7 @@
+--- gnu/makefile.in 2004-04-17 11:28:06.000000000 +0000
++++ gnu/makefile.in.new 2007-06-26 00:37:06.000000000 +0000
+@@ -80,7 +80,9 @@
+ # Definitions for compiling submodules
+
+ LDFLAGS = @LDFLAGS@ $(ADD_LDFLAGS)
+-DLL_FLAGS = @DLL_FLAGS@ $(ADD_LDFLAGS)
++# Can't strip symbols from dynamic libraries, at least on Darwin
++#DLL_FLAGS = @DLL_FLAGS@ $(ADD_LDFLAGS)
++DLL_FLAGS = @DLL_FLAGS@
DLL_CFLAGS = @DLL_CFLAGS@
REQUIRES_DEF = @REQUIRES_DEF@
--COPT = -c -I at OUT_DIR@ -I$(BASEDIR) -I$(SRC_DIR) @CFLAGS@ $(ALL_CFLAGS)
-+COPT = -c -I$(BASEDIR) -I$(SRC_DIR) @CFLAGS@ $(ALL_CFLAGS)
- STD_COPT = -DARJUTIL $(COPT)
- ARJ_COPT = -DSFL=4 $(COPT)
- ARJSFXV_COPT = -DSFL=3 $(COPT)
+@@ -253,7 +255,11 @@
+
+ $(ARJCRYPT_DIR)/arjcrypt$d: $(ARJCRYPT_OBJS) $(TOOLS_DIR)/postproc$x
+ $(CC) $(ALL_CFLAGS) $(DLL_FLAGS) -o $@ $(ARJCRYPT_OBJS) $(ARJCRYPT_DEF) $(LIBS)
+- $(TOOLS_DIR)/postproc $@
++# Skip postproc step since it doesn't currently work. We aren't producing an
++# EXE here, and postproc.c says that postproc is for storing the CRC of ARJ.EXE
++# in a file so that "ARJ i" can locate it, so I'm not sure that it's necessary
++# to postproc this anyway.
++# $(TOOLS_DIR)/postproc $@
+
+ $(BASEDIR)/nmsg_crp.c: $(TOOLS_DIR)/msgbind$x $(RESFILE)
+ $(TOOLS_DIR)/msgbind $(RESFILE) msg_crp $(OS_ID) $(PACKAGE) $(LOCALE) $(BASEDIR)
Added: trunk/dports/archivers/arj/files/patch-postproc.c
===================================================================
--- trunk/dports/archivers/arj/files/patch-postproc.c (rev 0)
+++ trunk/dports/archivers/arj/files/patch-postproc.c 2007-07-11 00:43:38 UTC (rev 26877)
@@ -0,0 +1,11 @@
+--- postproc.c 2003-06-22 11:12:28.000000000 +0000
++++ postproc.c.new 2007-06-25 21:00:52.000000000 +0000
+@@ -29,7 +29,7 @@
+ 0x04, 0xB0, 0x05, 0};
+ static unsigned char encryption_pattern[]={0xB0, 0x02, 0xB0, 0x02, 0xB0, 0x03, 0xB0,
+ 0x04, 0xB0, 0x05, 0};
+-static unsigned char integrity_pattern[]={0xB0, 0x03, 0xB0, 0x02, 0xB0, 0x03, 0xB0,
++static unsigned char integrity_pattern[]={0xB1, 0x03, 0xB0, 0x02, 0xB0, 0x03, 0xB0,
+ 0x04, 0xB0, 0x05, 0};
+ static unsigned short self_check[]={0x9090, 0x9090, 0x138, 0x9090, 0x9090};
+
Property changes on: trunk/dports/archivers/arj/files/patch-postproc.c
___________________________________________________________________
Name: svn:eol-style
+ native
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070710/799d5f50/attachment.html
More information about the macports-changes
mailing list