ADDED client/pkgIndex.eagle
Index: client/pkgIndex.eagle
==================================================================
--- client/pkgIndex.eagle
+++ client/pkgIndex.eagle
@@ -0,0 +1,21 @@
+###############################################################################
+#
+# pkgIndex.eagle --
+#
+# Extensible Adaptable Generalized Logic Engine (Eagle)
+# Package Index File
+#
+# Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved.
+#
+# See the file "license.terms" for information on usage and redistribution of
+# this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# RCS: @(#) $Id: $
+#
+###############################################################################
+
+if {![package vsatisfies [package provide Tcl] 8.4]} {return}
+if {![package vsatisfies [package provide Eagle] 1.0]} {return}
+
+package ifneeded Eagle.Package.Repository 1.0 \
+ [list source [file join $dir pkgr.eagle]]
ADDED client/pkgIndex.eagle.harpy
Index: client/pkgIndex.eagle.harpy
==================================================================
--- client/pkgIndex.eagle.harpy
+++ client/pkgIndex.eagle.harpy
@@ -0,0 +1,50 @@
+
+
+
+ None
+ Mistachkin Systems
+ bd4c7683-b636-4e5a-814d-af281cf8a8e8
+ SHA512
+ Script
+ 2016-08-15T21:35:31.1481953Z
+ -1.00:00:00
+ 0x2c322765603b5278
+
+ K4mwPnHD6CEc7CNyhetY/hJcze09F6WQ50TdOuiQc7T4d4gyTeVa3uyEscWLyuSqqXF1y79Z0GEc
+ mwCEYr2QffYvtpx+NiAsvuAp+N+awnVxaSa6c40R/6fyQ9mQD3QRPMgZGdVBL4MRLK79mmmQvTXb
+ fUdZ2Gara7nUJ9wbruYUtzb9Hg5kZe6+CUIQKQ3jE8YRNd4yQcMb80PbjlhWdauXxRiLZzLMC3sd
+ wgZVVkXMRC5XwgB44LCSoTM/AaJS6if+n6xf3KQ2r2j7AlR65PFY9NRM579zbxBop5ZiPDc15Gen
+ K5d+XBGp6iM7hpKjfcVfeeWV1Wgcw1lMfgZg32NxwYQFQa8Spt8XUL6UGObCqiy+cjpFZmT7WP66
+ uNeUSEbE0Q+HkLsfXu9LcUt5B92GmM6WxQFy6yjRb0rb0Lxwd8hGOcFx3I+1hkDjGwlFK5CdLsx6
+ d+KHAQR9qvMrF1+oUy4FwhgcVNJAc95euFy1I4zb8ruFi1L/2u+RPAgGMT97D7RwTA6lSctI7AZ5
+ j8DZc/4YTvuyxY2SsOK0j55b5BikxQsAx+tX2cJ1dv3nFSswXS5whoKRAX2b0NSFZwpFAa4EtTyM
+ 5AJ+2jCO4Vxo78bGqmWxoQnWQ631XzNzrEG9b3sDSeXsuhHTqjdF7/KA0mXA4Tauzun/F0uxd8i7
+ aV2k3a9AadTYoG85/wWDU4a1kLa+i4DtiWXpULrjVG2ImNGpUyAqc9Ih5rpp7JlZVc8PsS0hGSPY
+ yp0vYiXkXN4gGavHSWhsqqoLUomhE50iwFsOrr5PxlhOPC1NMB+DHwiJD+WjJUMK4Iy41Y8o327F
+ Zce+U0hKDhXC8LG2o9MDPfPpQSdWM98MuYYxwJuZI4RAxu+/LE2/3s4PdMLhl9QEiIRw18n9664l
+ puQkjuPkZFwvuegoKvy+iQAWDYIGu4uBX1hUT0rUER+XfMJqhFvlyHcCyZfWtKR/URGjZlSpBJH4
+ ru0hdD03NBOSCFV0TLQRRizhqTxs75yolBnfcrf6LhDN0L5GhnsS1eUCripljYz9Wvhm/pgNxX1H
+ xwVKunMyrZMwcfD8OgSll83i81xG6xtzJ4WXNKckenZ7fMC7rjMqVEsA917ue9MWyiDN+UUk/wZ/
+ LppOtFelORbfJny0OYvijTdXzNKgyVBT/LfACvvJRbhAYrJaW8Cxvl0m1/dRmJvDmQue0yr0vtrY
+ UIJN699kUnAg6v60uPldIZaQvMPHGTHohaMuwjZ6oQNzWXl+cv2JsQ+MDFFseBnJ5YetOpkIdW1n
+ On1lKWagO50AtY8dqATvYSBINoWOA2+s/Ry2ZzLgXY7YmV9a5PrXeSG3uuglkCbuDSVpORohlg==
+
+
ADDED client/pkgIndex.tcl
Index: client/pkgIndex.tcl
==================================================================
--- client/pkgIndex.tcl
+++ client/pkgIndex.tcl
@@ -0,0 +1,21 @@
+###############################################################################
+#
+# pkgIndex.tcl --
+#
+# Extensible Adaptable Generalized Logic Engine (Eagle)
+# Package Index File
+#
+# Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved.
+#
+# See the file "license.terms" for information on usage and redistribution of
+# this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# RCS: @(#) $Id: $
+#
+###############################################################################
+
+if {![package vsatisfies [package provide Tcl] 8.4]} {return}
+if {[string length [package provide Eagle]] > 0} then {return}
+
+package ifneeded Eagle.Package.Repository 1.0 \
+ [list source [file join $dir pkgr.eagle]]
ADDED client/pkgIndex.tcl.harpy
Index: client/pkgIndex.tcl.harpy
==================================================================
--- client/pkgIndex.tcl.harpy
+++ client/pkgIndex.tcl.harpy
@@ -0,0 +1,50 @@
+
+
+
+ None
+ Mistachkin Systems
+ 6dbcb424-0213-43a5-af65-59a3015b500c
+ SHA512
+ Script
+ 2016-08-15T21:36:39.0690938Z
+ -1.00:00:00
+ 0x2c322765603b5278
+
+ Bxt8syFTFTeddS7O+ilRnuIs7TPkar73FZWTgeLrrIe4MQ7EbVdnWUzpaL7NTajo8/QWSoyl4cUL
+ fmoeMXs52eqn7Kc4KOmoUVAhdJ5+5seO57/fXCTpyGzdm6B3GZVRmcKfTVYsKmHPITMNYVctQtd9
+ nkQuIvRQHecMv+yI4msCvqQSIShd/9gN8AILk0WuUNdTV4QZpFLivC5sRpRbLuhl6XzF8ODi7s0O
+ bJ/Wt4dlTeCdge+KqBJfjM2+kRefAX+6nYlS4hztsLZtoHVK7ayRtwqUxhZ82eMIeB8MN3EEjOiQ
+ tR5U4DBRu/YpCMTb76ridnPKayjwVScz6icEHV0GPIOTrT0fUnK2Q4LGDW0JfCNs6YHrVNOGVRks
+ cNVAm2OQxLNvr4LCuMTylhh2VgaifzbMJK2rMmTzlApVoGS12y6wllo6UW4WWy18vKA72q7VZYL2
+ OqyD5P60pojLztvw5gnlzTi1xkPoqVakR/WwDR3ppsc/CQNNfx4Qsjm9rr0MonZVbmJsp5U80/92
+ mS0S9lvIULAmpSiJipaeoo2AZ6ByWihqya15TUBXX9/zvPW7sJKUZ/juOa0Sa4g1rH0+LlSRaLkT
+ UdyKiKZg7j9QcvfkJW/JBsKSGn/7+qKcMN4HiqNzphblFtO3BbYc4RvMnnQkjgK3o3yO2y8dFGHi
+ IObLQuq9535h2psnRjtPb/erVwNDs5zeQA344QrKXLblaj256NTKDopZtGd6ke0IX/SZWbeO8TY1
+ teImYZ/aDiAej69pYETpqjjq3fiZCEltBLt+tIM6lDhXx8HA3zN3PQ4pXb7arOxKXt0Oz8h6Viz/
+ 64gy0d2kP8gC0KBhF0o5unNSHiamGYV4g+BsTBHROZ1e/cRzcPzWSvzzrRUORi5lf1LpsmAVxzIV
+ 3KyvJZv13XXmrORh/KGAU1paWihZT0u4mGi0lBIpfkL3EF40tAoBVr0AoQKam0ovphsS4ZSpWZ55
+ TUY2+M59lJ1mOEt/FAJYvUVppXQC5bnhCH+dWf6+oUfdqPIGML526h3sLNvczaoKVvLKFvDIFBBh
+ F1TGNn2ZywIHOTPoih9RdATo4r6+CUny+ms8n+PZEE8VoP6IN/gl3sSHRhQyzrnkZLARYV2OkYU+
+ 21Ia4X4n9koY9fOg0UMGNtBGWwIut6xA9xkoeyXlIYPxmTU/HCAWdx+Y3x+PvYdjmbeR/W8kKRxy
+ s62QFkSUscwpimAoBQxCc57h++OxcVDQhkcvanlkG41Dg13nAjkSFpt/5gCA3UUOhxGyC8lTIV1Y
+ d9YmPTByWFgSBHJrPGhF2/tZFcpzKbAvnJlNW2w50SX9MQUdNjL78uMn1mk2NFFjIMpJWvGFRw==
+
+
Index: client/pkgr.eagle
==================================================================
--- client/pkgr.eagle
+++ client/pkgr.eagle
@@ -124,11 +124,13 @@
}
if {[isEagle]} then {
set data [uri download -inline $uri]
} else {
- set data [getFileViaHttp $uri 10 stdout true]
+ variable quiet
+
+ set data [getFileViaHttp $uri 10 stdout $quiet]
}
set data [string map [list <\; < >\; > "\; \" &\; &] $data]
set data [string map [list \r\n \n \r \n] $data]
set data [string map [list \n \r\n] $data]
@@ -452,10 +454,40 @@
[namespace current] :: tclMustBeReady]]]
return [eagle $script(outer)]
}
}
+
+ proc setupPackageUnknownHandler {} {
+ variable autoHook
+ variable autoLoadTcl
+ variable autoRequireGaruda
+
+ if {$autoRequireGaruda && ![isEagle]} then {
+ #
+ # TODO: Assume this package is trusted? How can we verify it
+ # at this point?
+ #
+ package require Garuda
+ }
+
+ if {$autoLoadTcl && [isEagle]} then {
+ #
+ # NOTE: Load a native Tcl library. It must be signed with a valid
+ # Authenticode signature.
+ #
+ tcl load -findflags +TrustedOnly -loadflags +SetDllDirectory
+ }
+
+ if {$autoHook} then {
+ #
+ # NOTE: Install our [package unknown] handler and save the original
+ # one for our use as well.
+ #
+ hookPackageUnknownHandler
+ }
+ }
proc hookPackageUnknownHandler {} {
set varName [appendArgs [getLookupVarNamePrefix] saved_package_unknown]
if {[info exists $varName]} then {
@@ -562,10 +594,52 @@
# NOTE: Both [package unknown] handlers failed in some way, return the
# error messages (i.e. both of them).
#
error [array get error]
}
+
+ proc setupPackageUnknownVars {} {
+ #
+ # NOTE: Prevent progress messages from being displayed while downloading
+ # from the repository, etc? By default, this is enabled.
+ #
+ variable quiet; # DEFAULT: true
+
+ if {![info exists quiet]} then {
+ set quiet true
+ }
+
+ #
+ # NOTE: Automatically install our [package unknown] handler when this
+ # package is loaded?
+ #
+ variable autoHook; # DEFAULT: true
+
+ if {![info exists autoHook]} then {
+ set autoHook true
+ }
+
+ #
+ # NOTE: Automatically [tcl load] when this package is loaded from the
+ # Eagle language?
+ #
+ variable autoLoadTcl; # DEFAULT: true
+
+ if {![info exists autoLoadTcl]} then {
+ set autoLoadTcl true
+ }
+
+ #
+ # NOTE: Automatically [package require Garuda] when this package is
+ # loaded from the Tcl language?
+ #
+ variable autoRequireGaruda; # DEFAULT: true
+
+ if {![info exists autoRequireGaruda]} then {
+ set autoRequireGaruda true
+ }
+ }
proc main { package version } {
#
# NOTE: Issue the lookup request to the remote package repository.
#
@@ -791,12 +865,23 @@
###########################################################################
############################## END Tcl ONLY ###############################
###########################################################################
}
+ #
+ # NOTE: Setup the variables, within this namespace, used by this script.
+ #
+ setupPackageUnknownVars
+
+ #
+ # NOTE: Setup for our [package unknown] handler, which may involve a few
+ # different operations.
+ #
+ setupPackageUnknownHandler
+
#
# NOTE: Provide the package to the interpreter.
#
package provide Eagle.Package.Repository \
[expr {[isEagle] ? [info engine PatchLevel] : "1.0"}]
}
Index: client/pkgr.eagle.harpy
==================================================================
--- client/pkgr.eagle.harpy
+++ client/pkgr.eagle.harpy
@@ -19,32 +19,32 @@
None
Mistachkin Systems
- dfa81a18-2ec6-4e30-a8ea-5323c39d1b3d
+ c986d65c-b0fc-464c-a3a4-4a1990c1f135
SHA512
Script
- 2016-08-15T21:03:17.1188984Z
+ 2016-08-15T21:58:22.7790547Z
-1.00:00:00
0x2c322765603b5278
- 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
+ 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