︙ | | | ︙ | |
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
|
set platform $tcl_platform(platform)
if {[info exists tcl_platform(machine)]} then {
set machine $tcl_platform(machine)
} else {
set machine ""
}
switch -exact -- $platform {
windows {
switch -exact -- $machine {
intel -
ia32_on_win64 {
return win32-x86
}
arm {
return win32-arm
}
ia64 {
return win64-ia64
}
amd64 {
return win64-x64
}
arm64 {
return win64-arm64
}
}
}
}
}
return ""
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
<
<
<
>
|
|
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
|
set platform $tcl_platform(platform)
if {[info exists tcl_platform(machine)]} then {
set machine $tcl_platform(machine)
} else {
set machine ""
}
if {[info exists tcl_platform(os)]} then {
set os $tcl_platform(os)
} else {
set os ""
}
switch -exact -- $platform {
unix {
switch -exact -- $os {
Darwin {
switch -exact -- $machine {
"Power Macintosh" {
return macosx-power
}
x86_64 {
return macosx-x64
}
}
}
Linux {
switch -exact -- $machine {
i386 {
return linux-x86
}
x86_64 {
return linux-x64
}
alpha -
armv4l -
armv6l -
armv7l -
ia64 -
ppc {
return [appendArgs linux- $machine]
}
}
}
}
}
windows {
switch -exact -- $machine {
intel -
ia32_on_win64 {
return win32-x86
}
arm {
return [appendArgs win32- $machine]
}
amd64 {
return win64-x64
}
ia64 -
arm64 {
return [appendArgs win64- $machine]
}
}
}
}
}
return ""
|
︙ | | | ︙ | |
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
|
error "version Id must be hexadecimal"
}
}
#
# NOTE: This procedure verifies the platform specified by the caller. The
# platform argument must be an empty string -OR- one of the literal
# strings "neutral", "win32-arm", "win32-x86", "win64-arm64",
# "win64-ia64", or "win64-x64". An empty string means that the
# associated entity does not require a specific platform. The
# varName argument is the name of a variable in the context of the
# immediate caller that will receive a modified platform name, if
# applicable. Upon failure, a script error will be raised. The
# return value is undefined.
#
proc verifyPlatform { platform varName } {
#
# NOTE: The platform name must be matched exactly and case-sensitively.
#
switch -exact -- $platform {
"" {
|
|
|
|
|
|
|
|
|
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
|
error "version Id must be hexadecimal"
}
}
#
# NOTE: This procedure verifies the platform specified by the caller. The
# platform argument must be an empty string -OR- one of the literal
# strings "msil" or "neutral", or one of the values returned by the
# [getPlatform] procedure. An empty string means that the associated
# entity does not require a specific platform. The varName argument
# is the name of a variable in the context of the immediate caller
# that will receive a modified platform name, if applicable. Upon
# failure, a script error will be raised. The return value is
# undefined.
#
proc verifyPlatform { platform varName } {
#
# NOTE: The platform name must be matched exactly and case-sensitively.
#
switch -exact -- $platform {
"" {
|
︙ | | | ︙ | |
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
|
}
#
# NOTE: Check the current platform and the neutral platform, in that
# order, to see if that platform is supported by the package
# being saught. If so, return that platform.
#
foreach thisPlatform [list [getPlatform] neutral] {
if {[lsearch -exact $platforms $thisPlatform] != -1} then {
set newPlatform $thisPlatform
return
}
}
#
# NOTE: If this point is reached, there are no supported platforms
# that are compatible with the current one for the specified
# package.
#
error "could not automatically detect platform"
}
neutral -
win32-arm -
win32-x86 -
win64-arm64 -
win64-ia64 -
win64-x64 {
#
|
|
>
|
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
|
}
#
# NOTE: Check the current platform and the neutral platform, in that
# order, to see if that platform is supported by the package
# being saught. If so, return that platform.
#
foreach thisPlatform [list [getPlatform] msil neutral] {
if {[lsearch -exact $platforms $thisPlatform] != -1} then {
set newPlatform $thisPlatform
return
}
}
#
# NOTE: If this point is reached, there are no supported platforms
# that are compatible with the current one for the specified
# package.
#
error "could not automatically detect platform"
}
msil -
neutral -
win32-arm -
win32-x86 -
win64-arm64 -
win64-ia64 -
win64-x64 {
#
|
︙ | | | ︙ | |
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
|
#
# NOTE: This procedure checks if there is a higher version available of the
# specified package on the package file server. The language argument
# must be one of the literal strings "eagle", "tcl", or "client". The
# version argument must be one of the literal strings "8.4", "8.5", or
# "8.6" when the language is "tcl" -OR- the literal string "1.0" when
# the language is either "eagle" or "client". The platform argument
# must be an empty string -OR- one of the literal strings "neutral",
# "win32-arm", "win32-x86", "win64-arm64", "win64-ia64", or
# "win64-x64". An empty string means that the associated package
# does not require a specific platform. The packageName argument is
# a directory name relative to the language and version-specific
# directory on the package file server and may be an empty string.
# The usePgp argument should be non-zero when an OpenPGP signature
# file needs to be downloaded and verified for the downloaded file.
#
# <public>
proc checkForHigherVersion { language version platform packageName usePgp } {
variable clientDirectory
|
|
|
|
|
|
|
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
|
#
# NOTE: This procedure checks if there is a higher version available of the
# specified package on the package file server. The language argument
# must be one of the literal strings "eagle", "tcl", or "client". The
# version argument must be one of the literal strings "8.4", "8.5", or
# "8.6" when the language is "tcl" -OR- the literal string "1.0" when
# the language is either "eagle" or "client". The platform argument
# must be an empty string -OR- one of the literal strings "msil" or
# "neutral", or one of the values returned by the [getPlatform]
# procedure. An empty string means that the associated package does
# not require a specific platform. The packageName argument is a
# directory name relative to the language and version-specific
# directory on the package file server and may be an empty string.
# The usePgp argument should be non-zero when an OpenPGP signature
# file needs to be downloaded and verified for the downloaded file.
#
# <public>
proc checkForHigherVersion { language version platform packageName usePgp } {
variable clientDirectory
|
︙ | | | ︙ | |
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
|
# downloaded, this procedure assumes the corresponding data file was
# already downloaded (i.e. since OpenPGP needs both to perform the
# signature checks). The language argument must be one of the
# literal strings "eagle", "tcl", or "client". The version argument
# must be one of the literal strings "8.4", "8.5", or "8.6" when the
# language is "tcl" -OR- the literal string "1.0" when the language
# is either "eagle" or "client". The platform argument must be an
# empty string -OR- one of the literal strings "neutral", "win32-arm",
# "win32-x86", "win64-arm64", "win64-ia64", or "win64-x64". An empty
# string means that the associated package does not require a specific
# platform. The fileName argument is a file name relative to the
# language and version-specific directory on the package file server.
# The localFileName argument is the file name where the downloaded
# file should be written. The usePgp argument should be non-zero when
# the OpenPGP signature file needs to be verified for the downloaded
# file.
|
|
|
|
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
|
# downloaded, this procedure assumes the corresponding data file was
# already downloaded (i.e. since OpenPGP needs both to perform the
# signature checks). The language argument must be one of the
# literal strings "eagle", "tcl", or "client". The version argument
# must be one of the literal strings "8.4", "8.5", or "8.6" when the
# language is "tcl" -OR- the literal string "1.0" when the language
# is either "eagle" or "client". The platform argument must be an
# empty string -OR- one of the literal strings "msil" or "neutral", or
# one of the values returned by the [getPlatform] procedure. An empty
# string means that the associated package does not require a specific
# platform. The fileName argument is a file name relative to the
# language and version-specific directory on the package file server.
# The localFileName argument is the file name where the downloaded
# file should be written. The usePgp argument should be non-zero when
# the OpenPGP signature file needs to be verified for the downloaded
# file.
|
︙ | | | ︙ | |
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
|
# NOTE: This procedure attempts to download a list of files, optionally
# persistening them for subsequent uses by the target language.
# The language argument must be one of the literal strings "eagle",
# "tcl", or "client". The version argument must be one of the
# literal strings "8.4", "8.5", or "8.6" when the language is "tcl"
# -OR- the literal string "1.0" when the language is either "eagle"
# or "client". The platform argument must be an empty string -OR-
# one of the literal strings "neutral", "win32-arm", "win32-x86",
# "win64-arm64", "win64-ia64", or "win64-x64". An empty string means
# that the associated package does not require a specific platform.
# The fileNames argument must be a well-formed list of file names to
# download, each one relative to the language and version-specific
# directory on the package file server. The options argument must
# be a dictionary of name/value pairs. The -persistent option should
# be non-zero if the downloaded files should be saved to permanent
# storage for subsequent use. The -usePgp option should be non-zero
|
|
|
|
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
|
# NOTE: This procedure attempts to download a list of files, optionally
# persistening them for subsequent uses by the target language.
# The language argument must be one of the literal strings "eagle",
# "tcl", or "client". The version argument must be one of the
# literal strings "8.4", "8.5", or "8.6" when the language is "tcl"
# -OR- the literal string "1.0" when the language is either "eagle"
# or "client". The platform argument must be an empty string -OR-
# one of the literal strings "msil" or "neutral", or one of the values
# returned by the [getPlatform] procedure.. An empty string means
# that the associated package does not require a specific platform.
# The fileNames argument must be a well-formed list of file names to
# download, each one relative to the language and version-specific
# directory on the package file server. The options argument must
# be a dictionary of name/value pairs. The -persistent option should
# be non-zero if the downloaded files should be saved to permanent
# storage for subsequent use. The -usePgp option should be non-zero
|
︙ | | | ︙ | |