| 1 | # $Id: Portfile 71104 2010-09-01 11:50:35Z jmr@macports.org $ |
|---|
| 2 | |
|---|
| 3 | PortSystem 1.0 |
|---|
| 4 | |
|---|
| 5 | name openjdk6 |
|---|
| 6 | version b20 |
|---|
| 7 | revision 1 |
|---|
| 8 | set builddate 21_jun_2010 |
|---|
| 9 | |
|---|
| 10 | categories java |
|---|
| 11 | maintainers landonf openmaintainer |
|---|
| 12 | platforms darwin |
|---|
| 13 | |
|---|
| 14 | homepage http://openjdk.java.net/ |
|---|
| 15 | description Oracle's Java 6 virtual machine release under the GPL v2 |
|---|
| 16 | long_description \ |
|---|
| 17 | OpenJDK is an open-source implementation of the Java Platform, Standard Edition. \ |
|---|
| 18 | \ |
|---|
| 19 | Much of the OpenJDK code is licensed under the GPL version 2 with the \ |
|---|
| 20 | Classpath exception. The Java Hotspot virtual machine source code is \ |
|---|
| 21 | licensed under the GPL version 2 only. |
|---|
| 22 | |
|---|
| 23 | distname openjdk-6-src-${version}-${builddate} |
|---|
| 24 | master_sites http://download.java.net/openjdk/jdk6/promoted/${version}/ |
|---|
| 25 | checksums md5 0b36adbf67e4f261e1b827ed4be4f447 \ |
|---|
| 26 | sha256 39fc162a740f16aa18afa855fea9d5daf8cf03d4 |
|---|
| 27 | |
|---|
| 28 | patchfiles patch-set \ |
|---|
| 29 | patch-nio-kqueue \ |
|---|
| 30 | patch-null_word_intptr_t \ |
|---|
| 31 | patch-jdk_src_solaris_javavm_include_typedefs__md.h \ |
|---|
| 32 | patch-jdk_src_share_java.c \ |
|---|
| 33 | patch-jdk_src_solaris_native_common_gdefs__md.h \ |
|---|
| 34 | patch-10.4-ucontext \ |
|---|
| 35 | patch-10.6-ucontext \ |
|---|
| 36 | patch-disable_test_gamma \ |
|---|
| 37 | patch-darwin-arch \ |
|---|
| 38 | patch-hotspot-arch \ |
|---|
| 39 | patch-dock-args \ |
|---|
| 40 | patch-solaris-timezone-md-return-typo \ |
|---|
| 41 | patch-compile-W-format \ |
|---|
| 42 | patch-skip-sa-build \ |
|---|
| 43 | patch-swing-beans-failed-by-bootjdk |
|---|
| 44 | |
|---|
| 45 | use_configure no |
|---|
| 46 | use_parallel_build no |
|---|
| 47 | |
|---|
| 48 | depends_lib port:freetype \ |
|---|
| 49 | port:openmotif \ |
|---|
| 50 | port:xorg-libX11 \ |
|---|
| 51 | port:xorg-libXtst \ |
|---|
| 52 | port:dejavu-fonts |
|---|
| 53 | depends_build port:icedtea6-plugs \ |
|---|
| 54 | port:apache-ant |
|---|
| 55 | |
|---|
| 56 | # Check if the bootstrap is required |
|---|
| 57 | if {[file exists ${prefix}/share/java/openjdk6/bin/java]} { |
|---|
| 58 | # A previous OpenJDK6 release is already installed |
|---|
| 59 | set bootstrapvm "${prefix}/share/java/openjdk6" |
|---|
| 60 | } else { |
|---|
| 61 | # A bootstrap binary is required to build |
|---|
| 62 | depends_build-append port:openjdk6_bootstrap |
|---|
| 63 | set bootstrapvm "${prefix}/share/java/openjdk6_bootstrap" |
|---|
| 64 | } |
|---|
| 65 | |
|---|
| 66 | # Target dir for 32bit / 64bit variant |
|---|
| 67 | set targetdir bsd-amd64 |
|---|
| 68 | |
|---|
| 69 | worksrcdir "./" |
|---|
| 70 | |
|---|
| 71 | post-extract { |
|---|
| 72 | set copydirs { \ |
|---|
| 73 | hotspot/agent/src/os/linux \ |
|---|
| 74 | hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux \ |
|---|
| 75 | hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/amd64 \ |
|---|
| 76 | hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/x86 \ |
|---|
| 77 | hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/linux \ |
|---|
| 78 | hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/linux_x86 \ |
|---|
| 79 | hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/linux_amd64 \ |
|---|
| 80 | hotspot/src/os/linux/launcher \ |
|---|
| 81 | hotspot/src/os/linux/vm \ |
|---|
| 82 | hotspot/src/os_cpu/linux_x86/vm \ |
|---|
| 83 | hotspot/make/linux \ |
|---|
| 84 | hotspot/make/linux/makefiles \ |
|---|
| 85 | jdk/src/linux/doc/man |
|---|
| 86 | } |
|---|
| 87 | |
|---|
| 88 | set copyfiles { \ |
|---|
| 89 | corba/make/common/Defs-linux.gmk \ |
|---|
| 90 | corba/make/common/shared/Defs-linux.gmk \ |
|---|
| 91 | jdk/make/common/Defs-linux.gmk \ |
|---|
| 92 | jdk/make/common/shared/Defs-linux.gmk \ |
|---|
| 93 | jdk/make/java/nio/mapfile-linux \ |
|---|
| 94 | jdk/make/netbeans/common/architectures/name-Linux.properties \ |
|---|
| 95 | jdk/make/sun/awt/mapfile-vers-linux \ |
|---|
| 96 | jdk/make/tools/sharing/classlist.linux \ |
|---|
| 97 | jdk/make/com/sun/tools/attach/mapfile-linux \ |
|---|
| 98 | jdk/src/solaris/classes/java/lang/UNIXProcess.java.linux \ |
|---|
| 99 | jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties \ |
|---|
| 100 | jdk/src/solaris/classes/sun/tools/attach/LinuxAttachProvider.java \ |
|---|
| 101 | jdk/src/solaris/classes/sun/tools/attach/LinuxVirtualMachine.java \ |
|---|
| 102 | jdk/src/solaris/hpi/include/largefile_linux.h \ |
|---|
| 103 | jdk/src/solaris/native/java/net/linux_close.c \ |
|---|
| 104 | jdk/src/solaris/native/sun/tools/attach/LinuxVirtualMachine.c |
|---|
| 105 | } |
|---|
| 106 | |
|---|
| 107 | # Copy over original Linux sources |
|---|
| 108 | foreach src ${copydirs} { |
|---|
| 109 | set dest "${worksrcpath}/[strsed ${src} g/linux/bsd/]" |
|---|
| 110 | |
|---|
| 111 | # Create the parent directories |
|---|
| 112 | file mkdir "${dest}" |
|---|
| 113 | |
|---|
| 114 | # Copy the contents, adjust file contents |
|---|
| 115 | foreach srcfile [glob -types f "${worksrcpath}/${src}/*"] { |
|---|
| 116 | set destfile "${dest}/[strsed [strsed [file tail ${srcfile}] g/Linux/Bsd/] g/linux/bsd/]" |
|---|
| 117 | copy "${srcfile}" "${destfile}" |
|---|
| 118 | reinplace "s/linux/bsd/g; s/Linux/Bsd/g" "${destfile}" |
|---|
| 119 | reinplace "s/linux/bsd/g; s/Linux/Bsd/g" "${destfile}" |
|---|
| 120 | } |
|---|
| 121 | } |
|---|
| 122 | |
|---|
| 123 | foreach src ${copyfiles} { |
|---|
| 124 | set dest "${worksrcpath}/[exec echo ${src} | sed {s/linux/bsd/g; s/Linux/Bsd/g}]" |
|---|
| 125 | copy "${worksrcpath}/${src}" "${dest}" |
|---|
| 126 | reinplace "s/linux/bsd/g; s/Linux/Bsd/g" "${dest}" |
|---|
| 127 | } |
|---|
| 128 | |
|---|
| 129 | # Copy the solaris sources |
|---|
| 130 | copy "${worksrcpath}/jdk/src/solaris/hpi/native_threads/src/threads_solaris.c" \ |
|---|
| 131 | "${worksrcpath}/jdk/src/solaris/hpi/native_threads/src/threads_bsd.c" |
|---|
| 132 | reinplace "s/solaris/bsd/g; s/Solaris/Bsd/g" \ |
|---|
| 133 | "${worksrcpath}/jdk/src/solaris/hpi/native_threads/src/threads_bsd.c" |
|---|
| 134 | |
|---|
| 135 | |
|---|
| 136 | copy "${worksrcpath}/jdk/src/share/lib/security/java.security" \ |
|---|
| 137 | "${worksrcpath}/jdk/src/share/lib/security/java.security-openbsd" |
|---|
| 138 | } |
|---|
| 139 | |
|---|
| 140 | build.args \ |
|---|
| 141 | ALT_BOOTDIR="${bootstrapvm}" \ |
|---|
| 142 | ALT_JDK_IMPORT_PATH="${bootstrapvm}" \ |
|---|
| 143 | ALT_BINARY_PLUGS_PATH="${prefix}/share/java/icedtea6-plugs/jre/lib/rt-closed.jar" \ |
|---|
| 144 | ANT_HOME="${prefix}/share/java/apache-ant" \ |
|---|
| 145 | ALT_FREETYPE_HEADERS_PATH="${prefix}/include" \ |
|---|
| 146 | ALT_FREETYPE_LIB_PATH="${prefix}/lib" \ |
|---|
| 147 | ALT_CUPS_HEADERS_PATH="/usr/include" \ |
|---|
| 148 | ALT_MOTIF_DIR="${prefix}" \ |
|---|
| 149 | ALT_X11_PATH="${prefix}" \ |
|---|
| 150 | ALT_DEVTOOLS_PATH=/usr \ |
|---|
| 151 | ALT_CACERTS_FILE=/System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts \ |
|---|
| 152 | NO_DOCS=true \ |
|---|
| 153 | ALLOW_DOWNLOADS=true \ |
|---|
| 154 | LANG="C" \ |
|---|
| 155 | HOTSPOT_BUILD_JOBS=${build.jobs} |
|---|
| 156 | |
|---|
| 157 | variant 32bit { |
|---|
| 158 | build.post_args FORCE_32BIT_JDK=true |
|---|
| 159 | set targetdir bsd-i586 |
|---|
| 160 | } |
|---|
| 161 | |
|---|
| 162 | variant fast-debug { |
|---|
| 163 | build.post_args FASTDEBUG=true |
|---|
| 164 | } |
|---|
| 165 | |
|---|
| 166 | destroot { |
|---|
| 167 | set path "${destroot}${prefix}/share/java/${name}/" |
|---|
| 168 | xinstall -m 755 -d ${path} |
|---|
| 169 | system "(cd ${worksrcpath}/build/${targetdir}/j2sdk-image && tar cf - *) | (tar -C ${path} -xf -)" |
|---|
| 170 | } |
|---|