summaryrefslogtreecommitdiff
path: root/mk/emulator/merge-distinfo.awk
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2007-07-29 05:18:36 +0000
committerjlam <jlam@pkgsrc.org>2007-07-29 05:18:36 +0000
commit28eeb8a5663998ab6cfc07ef15ed10e5d97cf91d (patch)
tree45cad36d8470a568b9136017b2dd79c9efcc65bc /mk/emulator/merge-distinfo.awk
parent566d930409bea6d1ac48d9e1a3be5e5e1a6296e5 (diff)
downloadpkgsrc-28eeb8a5663998ab6cfc07ef15ed10e5d97cf91d.tar.gz
* Add new emulator framework in pkgsrc/mk/emulator that handles all
binary-only packages that require binary "emulation" on the native operating system. Please see pkgsrc/mk/emulator/README for more details. * Teach the plist framework to automatically use any existing PLIST.${EMUL_PLATFORM} as part of the default PLIST_SRC definition. * Convert all of the binary-only packages in pkgsrc to use the emulator framework. Most of them have been tested to install and deinstall correctly. This involves the following cleanup actions: * Remove use of custom PLIST code and use PLIST.${EMUL_PLATFORM} more consistently. * Simplify packages by using default INSTALL and DEINSTALL scripts instead of custom INSTALL/DEINSTALL code. * Remove "SUSE_COMPAT32" and "PKG_OPTIONS.suse" from pkgsrc. Packages only need to state exactly which emulations they support, and the framework handles any i386-on-x86_64 or sparc-on-sparc64 uses. * Remove "USE_NATIVE_LINUX" from pkgsrc. The framework will automatically detect when the package is installing on Linux. Specific changes to packages include: * Bump the PKGREVISIONs for all of the suse100* and suse91* packages due to changes in the +INSTALL/+DEINSTALL scripts used in all of the packages. * Remove pkgsrc/emulators/suse_linux, which is unused by any packages. * cad/lc -- remove custom code to create the distinfo file for all supported platforms; just use "emul-fetch" and "emul-distinfo" instead. * lang/Cg-compiler -- install the shared libraries under ${EMULDIR} instead of ${PREFIX}/lib so that compiled programs will find the shared libraries. * mail/thunderbird-bin-nightly -- update to latest binary distributions for supported platforms. * multimedia/ns-flash -- update Linux version to 9.0.48 as the older version is no longer available for interactive fetch. * security/uvscan -- set LD_LIBRARY_PATH explicitly so that it's not necessary to install library symlinks into ${EMULDIR}/usr/local/lib. * www/firefox-bin-flash -- update Linux version to 9.0.48 as the older version is no longer available for interactive fetch.
Diffstat (limited to 'mk/emulator/merge-distinfo.awk')
-rw-r--r--mk/emulator/merge-distinfo.awk43
1 files changed, 43 insertions, 0 deletions
diff --git a/mk/emulator/merge-distinfo.awk b/mk/emulator/merge-distinfo.awk
new file mode 100644
index 00000000000..7acdcfe31e0
--- /dev/null
+++ b/mk/emulator/merge-distinfo.awk
@@ -0,0 +1,43 @@
+# $NetBSD: merge-distinfo.awk,v 1.1 2007/07/29 05:19:43 jlam Exp $
+#
+# This awk script sorts the contents of several distinfo files into a
+# single distinfo file.
+#
+
+# insertion sort
+function sort(a, nelem, temp, i, j) {
+ for (i = 2; i <= nelem; ++i) {
+ for (j = i; a[j-1] > a[j]; --j) {
+ temp = a[j]
+ a[j] = a[j-1]
+ a[j-1] = temp
+ }
+ }
+ return
+}
+
+/^[A-Z]+/ {
+ file = $2
+ files[file] = file
+ if (!($0 in seen)) {
+ seen[$0] = $0
+ properties[file, 0]++
+ properties[file, properties[file, 0]] = $0
+ }
+}
+
+END {
+ print "$" "NetBSD" "$"
+ print ""
+ n = 1
+ for (f in files) {
+ orderedfiles[n++] = f
+ }
+ n--;
+ sort(orderedfiles, n)
+ for (i = 1; i <= n; i++) {
+ f = orderedfiles[i]
+ for (j = 1; j <= properties[f, 0]; j++)
+ print properties[f, j]
+ }
+}