[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