tklib-spec
因為 tablelist 釋出了新版 v6.5,為了反應 tklib 最近的變化,所以更新了我自己的 openSUSE RPM spec,更新到目前的 code base。
2019-05-09
2019-04-16
使用 QEMU 執行 openSUSE/AARCH64 image
因為 tclBlend 我接到一個 issue,在 AARCH64 下編譯失敗,所以需要一個 AARCH64 模擬器來除錯。
首先要安裝 QEMU-ARM:
要下載一個 openSUSE AARCH64 image 來進行測試(我使用 unxz 解壓縮)。
如果使用 efi image,需要有 Unified EFI BIOS 模擬器正確的載入 boot loader 才行(不然無法正確執行)。我從 Linaro 下載一個來使用。
然後就可以這樣執行:
(使用者帳號為 root,密碼為 linux)
參考文章:
openSUSE:AArch64
Documentation/Platforms/ARM
Linux on AArch64 ARM 64-bit Architecture
Building ARM Servers With UEFI And ACPI
就 ARM 來說,有二種描述 hardware scheme 的方式,一種是 UEFI/ACPI,一種是 Device Tree。Linux kernel 可以編譯為二種都支援。文件中有提到:
ACPI support in drivers and subsystems for ARMv8 should never be mutually exclusive with DT support at compile time.
At boot time the kernel will only use one description method depending on parameters passed from the boot loader (including kernel bootargs).
Regardless of whether DT or ACPI is used, the kernel must always be capableof booting with either scheme (in kernels with both schemes enabled at compile time).
首先要安裝 QEMU-ARM:
sudo zypper install qemu-arm
要下載一個 openSUSE AARCH64 image 來進行測試(我使用 unxz 解壓縮)。
wget https://download.opensuse.org/ports/aarch64/factory/images/openSUSE-Tumbleweed-ARM-JeOS-efi.aarch64-Current.raw.xz
unxz openSUSE-Tumbleweed-ARM-JeOS-efi.aarch64-Current.raw.xz
如果使用 efi image,需要有 Unified EFI BIOS 模擬器正確的載入 boot loader 才行(不然無法正確執行)。我從 Linaro 下載一個來使用。
wget https://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/QEMU_EFI.img.gz
gzip -d QEMU_EFI.img.gz
然後就可以這樣執行:
qemu-system-aarch64 -m 2048 -cpu cortex-a57 -smp 2 -M virt -bios QEMU_EFI.img -serial stdio -device virtio-net-device,netdev=hostnet0,id=net0,mac=52:54:00:09:a4:37 -netdev user,id=hostnet0 -drive if=none,format=raw,file=openSUSE-Tumbleweed-ARM-JeOS-efi.aarch64-Current.raw,id=hd0 -device virtio-blk-device,drive=hd0
(使用者帳號為 root,密碼為 linux)
參考文章:
openSUSE:AArch64
Documentation/Platforms/ARM
Linux on AArch64 ARM 64-bit Architecture
Building ARM Servers With UEFI And ACPI
就 ARM 來說,有二種描述 hardware scheme 的方式,一種是 UEFI/ACPI,一種是 Device Tree。Linux kernel 可以編譯為二種都支援。文件中有提到:
ACPI support in drivers and subsystems for ARMv8 should never be mutually exclusive with DT support at compile time.
At boot time the kernel will only use one description method depending on parameters passed from the boot loader (including kernel bootargs).
Regardless of whether DT or ACPI is used, the kernel must always be capableof booting with either scheme (in kernels with both schemes enabled at compile time).
2019-04-10
Difference between 2 dates in XQuery
package require xqilla
xqilla db
set exprs [db prepare {days-from-duration(xs:dateTime('2019-06-14T00:00:00') - current-dateTime())}]
set result [$exprs execute]
set diff 0
while {[$result next]} {
set diff [$result string_value]
}
puts "The answer is $diff."
$result close
$exprs close
db close
使用 XQuery 的日期函式計算出二個日期間的差距,這裡使用 XQilla 測試。
Difference between 2 dates in SQLite3
package require tdbc::sqlite3
tdbc::sqlite3::connection create db :memory:
set statement [db prepare {SELECT CAST ((JulianDay('2019-06-14') - JulianDay('now')) as Integer) as d}]
set diff 0
$statement foreach row {
if {[catch {set diff [dict get $row d]}]} {
set diff 0
}
}
puts "The answer is $diff."
$statement close
db close
使用 SQLite3 的日期函式計算出二個日期間的差距,這裡使用 tdbc::sqlite3 測試。
2019-03-04
tkimg 1.4.9
tkImg
tkImg 釋出了一個新的版本,1.4.9。
下面是節錄的說明:
This file contains a collection of format handlers for the Tk photo image type, and a new image type, pixmaps. It can be used in combination with Tcl/Tk 8.3 or later but 8.6 or newer are highly recommended.
Included in this distribution are the most recent versions (as of March 2019) of the libz, libpng, libjpeg, and libtiff libraries. These are not required, unless you need support for the PNG, JPEG, or TIFF format. Note that you have to build these libraries to support the named formats, even if your system already has shared libraries for these formats. This is because the libraries here are built such that they can be loaded as packages by the Tcl/Tk core, making the handling of the various dependencies much easier. An earlier version, 1.2.4, used a modified copy of Tcl's functions for loading of shared libraries to load the support libraries at runtime. These have been abandoned in favor of the new approach.
tkImg 釋出了一個新的版本,1.4.9。
下面是節錄的說明:
This file contains a collection of format handlers for the Tk photo image type, and a new image type, pixmaps. It can be used in combination with Tcl/Tk 8.3 or later but 8.6 or newer are highly recommended.
Included in this distribution are the most recent versions (as of March 2019) of the libz, libpng, libjpeg, and libtiff libraries. These are not required, unless you need support for the PNG, JPEG, or TIFF format. Note that you have to build these libraries to support the named formats, even if your system already has shared libraries for these formats. This is because the libraries here are built such that they can be loaded as packages by the Tcl/Tk core, making the handling of the various dependencies much easier. An earlier version, 1.2.4, used a modified copy of Tcl's functions for loading of shared libraries to load the support libraries at runtime. These have been abandoned in favor of the new approach.
2019-02-14
Update tcl-cmark
2019-02-11
2019-01-23
otpcl
otpcl - Open Telecom Platform Command Language a.k.a. Tcl-Flavored Erlang
這是一個很有趣的案子,在 Erlang VM 寫一個類似 Tcl 的語言,但是目前只是在極早期開發的階段,看起來是有一些東西可以用但是離真的能實際使用仍然有一大段的距離。
Erlang 最近幾年似乎聲勢有掉下來的情況(我是指本來就有點小眾的情況變成真的小眾,然而 WhatsApp 又再次證明 Erlang 在網路程式上真的有其優越之處),但是分散式系統或者是 concurrent solution (也就是 Actor model) 方面仍然是眾多解決方案「致敬」的對象。
這是一個很有趣的案子,在 Erlang VM 寫一個類似 Tcl 的語言,但是目前只是在極早期開發的階段,看起來是有一些東西可以用但是離真的能實際使用仍然有一大段的距離。
Erlang 最近幾年似乎聲勢有掉下來的情況(我是指本來就有點小眾的情況變成真的小眾,然而 WhatsApp 又再次證明 Erlang 在網路程式上真的有其優越之處),但是分散式系統或者是 concurrent solution (也就是 Actor model) 方面仍然是眾多解決方案「致敬」的對象。
2019-01-01
promise 1.1.0
ANNOUNCE: promise 1.1.0 released
tcl-promise-spec
Promises are concurrency primitives that let you write asynchronous code in a sequential style. This Tcl based implementation is mostly modeled on the Javascript/ECMAScript 7 standard.
因為作者釋出新版,所以我也更新了我自己的 openSUSE RPM spec.
tcl-promise-spec
Promises are concurrency primitives that let you write asynchronous code in a sequential style. This Tcl based implementation is mostly modeled on the Javascript/ECMAScript 7 standard.
因為作者釋出新版,所以我也更新了我自己的 openSUSE RPM spec.
2018-12-17
VecTcl: 0.3
VecTcl v0.3:
This is a checkpoint release. Bugfixes since 0.2 are included.
VecTcl 在最近釋出了 v0.3 版,所以我更新了我自己的 openSUSE RPM spec 以進行測試。
This is a checkpoint release. Bugfixes since 0.2 are included.
VecTcl 在最近釋出了 v0.3 版,所以我更新了我自己的 openSUSE RPM spec 以進行測試。
訂閱:
文章 (Atom)