เบกเบทเป‰เบ—เบต XNUMX เบ‚เบญเบ‡เบ‚เป‰เบญเบเบเบฑเบš Haiku: เบ‚เปเปƒเบซเป‰เบˆเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡

เบกเบทเป‰เบ—เบต XNUMX เบ‚เบญเบ‡เบ‚เป‰เบญเบเบเบฑเบš Haiku: เบ‚เปเปƒเบซเป‰เบˆเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡

TL; DR: A newbie เป€เบซเบฑเบ™ Haiku เป€เบ›เบฑเบ™โ€‹เบ„เบฑเป‰เบ‡โ€‹เบ—เปเบฒโ€‹เบญเบดเบ”โ€‹, เบžเบฐโ€‹เบเบฒโ€‹เบเบฒเบกโ€‹เบ—เบตเปˆโ€‹เบˆเบฐ port เบšเบฒเบ‡โ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบˆเบฒเบโ€‹เป‚เบฅเบ Linuxโ€‹.

เบกเบทเป‰เบ—เบต XNUMX เบ‚เบญเบ‡เบ‚เป‰เบญเบเบเบฑเบš Haiku: เบ‚เปเปƒเบซเป‰เบˆเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡
เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ—เปเบฒโ€‹เบญเบดเบ” Haiku ported เบ‚เบญเบ‡โ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹, เบเบฒเบ™โ€‹เบซเบธเป‰เบกโ€‹เบซเปเปˆโ€‹เปƒเบ™โ€‹เบฎเบนเบšโ€‹เปเบšเบš hpkg เบ‚เบญเบ‡โ€‹เบ•เบปเบ™โ€‹

เบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰ เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป„เบ”เป‰โ€‹เบ„เบปเป‰เบ™โ€‹เบžเบปเบš Haikuโ€‹, เป€เบ›เบฑเบ™โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบซเบ™เป‰เบฒโ€‹เปเบ›เบโ€‹เปƒเบˆโ€‹เบ—เบตเปˆโ€‹เบ”เบตโ€‹เบชเปเบฒโ€‹เบฅเบฑเบš PCsโ€‹.
เบกเบทเป‰โ€‹เบ™เบตเป‰โ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบˆเบฐโ€‹เบฎเบฝเบ™โ€‹เบฎเบนเป‰โ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™ port เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เปƒเบซเบกเปˆโ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบเบฒเบ™โ€‹เบ™เบตเป‰โ€‹. เบˆเบธเบ”เบชเบธเบกเบ•เบปเป‰เบ™เบ•เปเปเบกเปˆเบ™เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบเปˆเบฝเบงเบเบฑเบšเบ›เบฐเบชเบปเบšเบเบฒเบ™เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เป„เบ› Haiku เบˆเบฒเบเบ—เบฑเบ”เบชเบฐเบ™เบฐเบ‚เบญเบ‡เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ Linux. เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบ‚เปโ€‹เบญเบฐโ€‹เป„เบžโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹เป‚เบ‡เปˆเป†โ€‹เบ—เบตเปˆโ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป„เบ”เป‰โ€‹เป€เบฎเบฑเบ”โ€‹เบ•เบฒเบกโ€‹เบ—เบฒเบ‡โ€‹, เป€เบžเบฒเบฐโ€‹เบงเปˆเบฒโ€‹เบกเบฑเบ™โ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เป€เบ–เบดเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹เบญเบฒโ€‹เบ—เบดเบ”โ€‹เบ™เบฑเบšโ€‹เบ•เบฑเป‰เบ‡โ€‹เปเบ•เปˆโ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป„เบ”เป‰โ€‹เบ”เบฒเบงโ€‹เป‚เบซเบผเบ” Haiku เบ„เบฑเป‰เบ‡โ€‹เบ—เปเบฒโ€‹เบญเบดเบ”โ€‹.

เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เบšเบฑเบ™เบฅเบธเป€เบ›เบปเป‰เบฒ เปเบฒเบ เบชเบฒเบกเบขเปˆเบฒเบ‡:

  • Port เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ CLI เบ‡เปˆเบฒเบเบ”เบฒเบ
  • Port เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบˆเบฒเบ GUI เบเบฑเบš Qt
  • เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบซเบธเป‰เบกเบซเปเปˆเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเปƒเบ™เบฎเบนเบšเปเบšเบš hpkg (เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบเบฑเบ‡เบ„เบดเบ”เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฑเบš AppDir เปเบฅเบฐ AppImage เบชเปเบฒเบฅเบฑเบš Haiku ... )

เปƒเบซเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เปƒเบ™เบžเบฒเบเบชเปˆเบงเบ™ เป€เบญเบเบฐเบชเบฒเบ™ ะธ เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเปƒเบ™ เบงเบดโ€‹เบเบต เบˆเบฒเบ HaikuPorts เบ‚เป‰เบญเบเบžเบปเบšเบ—เบดเบ”เบ—เบฒเบ‡เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡. เบกเบตเป€เบ–เบดเบ‡เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ›เบทเป‰เบก PDF เบญเบญเบ™เป„เบฅเบ™เปŒ BeOS: เบเบฒเบ™เบžเบญเบ”เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ Unix.
467 เบซเบ™เป‰เบฒ - เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบกเบฒเบˆเบฒเบ 1997! เบกเบฑเบ™เบซเบ™เป‰เบฒเบขเป‰เบฒเบ™เบ—เบตเปˆเบˆเบฐเป€เบšเบดเปˆเบ‡เบžเบฒเบเปƒเบ™, เปเบ•เปˆเบ‚เป‰เบญเบเบซเบงเบฑเบ‡เบงเปˆเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”. เบ„เปเบฒเป€เบงเบปเป‰เบฒเบ‚เบญเบ‡เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบกเปˆเบ™เปƒเบซเป‰เบเปเบฒเบฅเบฑเบ‡เปƒเบˆ: "เบกเบฑเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒเบ”เบปเบ™เป€เบžเบฒเบฐเบงเปˆเบฒ BeOS เบšเปเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบš POSIX," เปเบ•เปˆ Haiku "เบชเปˆเบงเบ™เปƒเบซเบเปˆ" เปเบกเปˆเบ™เป€เบ›เบฑเบ™เปเบšเบšเบ™เบฑเป‰เบ™เปเบฅเป‰เบง.

Porting เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ CLI เบ‡เปˆเบฒเบเบ”เบฒเบ

เบ„เบงเบฒเบกเบ„เบดเบ”เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เป€เบžเบทเปˆเบญ Port เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ เบ™เป‰ เบณ เบกเบฑเบ™, เปเบ•เปˆ, เบเป‰เบญเบ™เบงเปˆเบฒเบกเบฑเบ™เบซเบฑเบ™เบญเบญเบ, เบ™เบตเป‰เปเบกเปˆเบ™เปเบฅเป‰เบง เป€เบฎเบฑเบ” เบ”เบปเบ™โ€‹เบ™เบฒเบ™โ€‹เบกเบฒโ€‹เปเบฅเป‰เบง.

เบžเบฐเบเบฒเบเบฒเบกเบ—เปเบฒเบญเบดเบ”: เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ—เบตเปˆเบˆเบฐเป€เบšเบดเปˆเบ‡

เบชเบดเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบญเบเบšเปเปˆเป€เบ‚เบปเป‰เบฒเปƒเบˆเปเบกเปˆเบ™เปเบฅเป‰เบง เปเบญเบฑเบšเบ•เปˆเบฒเบ‡เป†เป„เบ”เป‰เบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒ Haiku เบซเบผเบฒเบเบเบงเปˆเบฒ 10 เบ›เบตเปเบฅเป‰เบง - เป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบฐเบกเบตเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒ OS เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เบšเปเปˆเปเบกเปˆเบ™เปเบ•เปˆเบฎเบธเปˆเบ™ 1.0 เป€เบ—เบทเปˆเบญ.

เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เบตเบชเบญเบ‡: เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ‚เบฝเบ™เบ„เบทเบ™เปƒเบซเบกเปˆ

เบชเบฐเบ™เบฑเป‰เบ™เบ‚เป‰เบญเบเบˆเบฐเปƒเบŠเป‰ ptouch-770, CLI เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเป€เบ„เบทเปˆเบญเบ‡เบžเบดเบก Brother P-Touch 770 เบ—เบตเปˆเบ‚เป‰เบญเบเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบžเบดเบกเบ›เป‰เบฒเบ.
เบ‚เป‰เบญเบเบžเบดเบกเบ›เป‰เบฒเบเบ•เปˆเบฒเบ‡เป†เปƒเบชเปˆเบกเบฑเบ™, เปเบฅเบฐเป€เบˆเบปเป‰เบฒเบญเบฒเบ”เบˆเบฐเป€เบซเบฑเบ™เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ. เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบก GUI wrapper เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเปƒเบ™ Python (เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบกเบฑเบ™เบขเบนเปˆเปƒเบ™ Gtk+, เบกเบฑเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบ–เบทเบเบ‚เบฝเบ™เปƒเบซเบกเปˆ, เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบˆเบฐเบฎเบฝเบ™เบฎเบนเป‰).

เบกเบทเป‰เบ—เบต XNUMX เบ‚เบญเบ‡เบ‚เป‰เบญเบเบเบฑเบš Haiku: เบ‚เปเปƒเบซเป‰เบˆเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡
เป€เบ„เบทเปˆเบญเบ‡เบžเบดเบกเบ›เป‰เบฒเบ Brother P-Touch 770. เบกเบฑเบ™เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš Haiku เบšเป?

เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบŠเบธเบ” Haiku เบฎเบนเป‰เบเปˆเบฝเบงเบเบฑเบšเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เปเบฅเบฐเบ„เปเบฒเบชเบฑเปˆเบ‡, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ–เป‰เบฒเบ‚เป‰เบญเบเป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบก "เบšเปเปˆเบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒ libintl" เปƒเบ™เป€เบงเบฅเบฒเปเบฅเปˆเบ™. configure - เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบตเบ”เบ•เบปเบง pkgman install devel:libintl เปเบฅเบฐเบŠเบธเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบˆเบฐเบžเบปเบšเป€เบซเบฑเบ™. เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™ pkgman install cmd:rsync. เบ”เบต, เปเบฅเบฐเบญเบทเปˆเบ™เป†.

เบเบปเบเป€เบงเบฑเป‰เบ™เป€เบกเบทเปˆเบญเบญเบฑเบ™เบ™เบตเป‰เปƒเบŠเป‰เบšเปเปˆเป„เบ”เป‰:

/Haiku/home> git clone https://github.com/probonopd/ptouch-770
Cloning into 'ptouch-770'...
remote: Enumerating objects: 134, done.
remote: Total 134 (delta 0), reused 0 (delta 0), pack-reused 134
Receiving objects: 100% (134/134), 98.91 KiB | 637.00 KiB/s, done.
Resolving deltas: 100% (71/71), done./Haiku/home> cd ptouch-770//Haiku/home/ptouch-770> make
gcc -Wall -O2 -c -o ptouch-770-write.o ptouch-770-write.c
ptouch-770-write.c:28:10: fatal error: libudev.h: No such file or directory
 #include <libudev.h>
          ^~~~~~~~~~~
compilation terminated.
Makefile:16: recipe for target 'ptouch-770-write.o' failed
make: *** [ptouch-770-write.o] Error 1/Haiku/home/ptouch-770> pkgman install devel:libudev
100% repochecksum-1 [65 bytes]
Validating checksum for Haiku...done.
100% repochecksum-1 [64 bytes]
Validating checksum for HaikuPorts...done.
*** Failed to find a match for "devel:libudev": Name not found/Haiku/home/ptouch-770> pkgman install devel:udev
100% repochecksum-1 [65 bytes]
Validating checksum for Haiku...done.
100% repochecksum-1 [64 bytes]
Validating checksum for HaikuPorts...done.
*** Failed to find a match for "devel:udev": Name not found

เบšเบฒเบ‡เบ—เบต udev เปเบกเปˆเบ™เปƒเบŠเป‰ Linux เป€เบเบตเบ™เป„เบ›เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบถเปˆเบ‡เบšเปเปˆเบกเบตเบขเบนเปˆเบชเปเบฒเบฅเบฑเบš Haiku. เบŠเบถเปˆเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เปเบเป‰เป„เบ‚เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบญเบเบเปเบฒเบฅเบฑเบ‡เบžเบฐเบเบฒเบเบฒเบกเบฅเบงเบšเบฅเบงเบก.
เป€เบญเบต, เป€เบˆเบปเป‰เบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เป‚เบ”เบ”เบ‚เป‰เบฒเบกเบซเบปเบงเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเป„เบ”เป‰, เปเบฅเบฐเบ‚เป‰เบญเบเบเปเปˆเบšเปเปˆเบฎเบนเป‰เบงเปˆเบฒเบˆเบฐเป€เบฅเบตเปˆเบกเบˆเบฒเบเปƒเบช.

เบžเบฐเบเบฒเบเบฒเบกเบ—เบตเบชเบฒเบก

เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบ”เบตเบ—เบตเปˆเบˆเบฐเบกเบต tmate เบชเปเบฒเบฅเบฑเบš Haiku, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ Haiku เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบเบญเบ‡เบ›เบฐเบŠเบธเบก terminal เบ‚เบญเบ‡เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒ - เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบกเบตเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบœเบดเบ”เบžเบฒเบ”. เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ:

./autogen.sh
./configure
make
make install

เป€เบšเบดเปˆเบ‡เบ”เบต, เบชเบฐเบ™เบฑเป‰เบ™เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบˆเบถเปˆเบ‡เบšเปเปˆเบฅเบญเบ‡เบกเบฑเบ™เบขเบนเปˆเปƒเบ™ Haiku?

/Haiku/home> git clone https://github.com/tmate-io/tmate/Haiku/home> cd tmate//Haiku/home/tmate> ./autogen.sh
(...)/Haiku/home/tmate> ./configure
(...)
checking for libevent... no
checking for library containing event_init... no
configure: error: "libevent not found"/Haiku/home/tmate> pkgman install devel:libevent
(...)
The following changes will be made:
  in system:
    install package libevent21-2.1.8-2 from repository HaikuPorts
    install package libevent21_devel-2.1.8-2 from repository HaikuPorts
Continue? [yes/no] (yes) :
100% libevent21-2.1.8-2-x86_64.hpkg [965.22 KiB]
(...)
[system] Done.checking for ncurses... no
checking for library containing setupterm... no
configure: error: "curses not found"/Haiku/home/tmate> pkgman install devel:libcurses
(...)
*** Failed to find a match for "devel:libcurses": Name not found/Haiku/home/tmate> pkgman install devel:curses
(...)
*** Failed to find a match for "devel:curses": Name not found

เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ™เบตเป‰เบ‚เป‰เบญเบเป€เบ›เบตเบ” HaikuDepot เปเบฅเบฐเบ„เบปเป‰เบ™เบซเบฒ curses.
เป„เบ”เป‰เบžเบปเบšเป€เบซเบฑเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบ‚เป‰เบญเบเบกเบตเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก:

/Haiku/home/tmate> pkgman install devel:libncurses
(...)
100% ncurses6_devel-6.1-1-x86_64.hpkg [835.62 KiB]
(...)./configure
(...)
checking for msgpack >= 1.1.0... no
configure: error: "msgpack >= 1.1.0 not found"/Haiku/home/tmate> pkgman install devel:msgpack
(...)
*** Failed to find a match for "devel:msgpack": Name not found/Haiku/home/tmate> pkgman install devel:libmsgpack
(...)
*** Failed to find a match for "devel:libmsgpack": Name not found

เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เป„เบ› HaikuDepot, เปเบฅเบฐ, เปเบ™เปˆเบ™เบญเบ™, เป„เบ”เป‰เบžเบปเบšเป€เบซเบฑเบ™ devel:msgpack_c_cpp_devel. เบŠเบทเปˆเปเบ›เบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบซเบเบฑเบ‡?

/Haiku/home/tmate> pkgman install devel:msgpack_c_cpp_devel
100% repochecksum-1 [65 bytes]
Validating checksum for Haiku...done.
100% repochecksum-1 [64 bytes]
Validating checksum for HaikuPorts...done.
*** Failed to find a match for "devel:msgpack_c_cpp_devel": Name not found# Why is it not finding it? To hell with the "devel:".../Haiku/home/tmate> pkgman install msgpack_c_cpp_devel
(...)
The following changes will be made:
  in system:
    install package msgpack_c_cpp-3.1.1-1 from repository HaikuPorts
    install package msgpack_c_cpp_devel-3.1.1-1 from repository HaikuPorts
Continue? [yes/no] (yes) :
(...)/Haiku/home/tmate> ./configure
(...)
checking for libssh >= 0.8.4... no
configure: error: "libssh >= 0.8.4 not found"/Haiku/home/tmate> pkgman install devel:libssh/Haiku/home/tmate> make
(...)
In file included from /boot/system/develop/headers/msgpack.h:22,
                 from tmate.h:5,
                 from cfg.c:29:
/boot/system/develop/headers/msgpack/vrefbuffer.h:19:8: error: redefinition of struct iovec'
 struct iovec {
        ^~~~~
In file included from tmux.h:27,
                 from cfg.c:28:
/boot/system/develop/headers/posix/sys/uio.h:12:16: note: originally defined here
 typedef struct iovec {
                ^~~~~
Makefile:969: recipe for target 'cfg.o' failed
make: *** [cfg.o] Error 1

เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบฎเบฑเบšเบฎเบนเป‰เบงเปˆเบฒเบเบฒเบ™เบชเบปเปˆเบ‡เป‚เบ„เบ‡เบเบฒเบ™เป„เบ›เบซเบฒ Haiku เบ•เป‰เบญเบ‡เบเบฒเบ™เบ„เบงเบฒเบกเบฎเบนเป‰เบซเบผเบฒเบเบเปˆเบงเบฒเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เปƒเบซเบกเปˆเปเบšเบšเบ‡เปˆเบฒเบเบ”เบฒเบ.
เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เป‚เบญเป‰เบฅเบปเบกเบเบฑเบšเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ Haiku เบ—เบตเปˆเป€เบ›เบฑเบ™เบกเบดเบ”, เบกเบฑเบ™เบ›เบฐเบเบปเบ”เบงเปˆเบฒเบกเบตเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปƒเบ™ msgpack, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบชเบญเบ‡เบชเบฒเบกเบ™เบฒเบ—เบตเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป€เบซเบฑเบ™ patch เปƒเบ™ HaikuPorts. เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป€เบšเบดเปˆเบ‡โ€‹เบ”เป‰เบงเบโ€‹เบ•เบฒโ€‹เบ‚เบญเบ‡โ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบ™โ€‹เป€เบญเบ‡โ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹เบŠเบธเบ”โ€‹เบ—เบตเปˆโ€‹เบ–เบทเบโ€‹เปเบเป‰โ€‹เป„เบ‚ เป„เบ›เบ—เบตเปˆเบ™เบตเป‰ (Buildslave - เป€เบ„เบทเปˆเบญเบ‡ virtual).

เบกเบทเป‰เบ—เบต XNUMX เบ‚เบญเบ‡เบ‚เป‰เบญเบเบเบฑเบš Haiku: เบ‚เปเปƒเบซเป‰เบˆเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡
เบเบฒเบ™เบชเป‰เบฒเบ‡ msgpack เบ—เบตเปˆเบ–เบทเบเปเบเป‰เป„เบ‚เปƒเบ™ buildmaster

เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เป€เบงเบฅเบฒเบ—เบตเปˆเบ‚เป‰เบญเบเบชเบปเปˆเบ‡ patch เป„เบ›เบซเบฒเบ•เบปเป‰เบ™เบ™เป‰เปเบฒ เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Haiku เบเบฑเบš msgpack.

เบซเป‰เบฒเบ™เบฒเบ—เบตเบ•เปเปˆเบกเบฒ, msgpack เบชเบฐเบšเบฑเบšเบ›เบฑเบšเบ›เบธเบ‡เปเบกเปˆเบ™เบกเบตเบขเบนเปˆเปเบฅเป‰เบงเปƒเบ™ Haiku:

/Haiku/home/tmate> pkgman update
(...)
The following changes will be made:
  in system:
    upgrade package msgpack_c_cpp-3.1.1-1 to 3.2.0-2 from repository HaikuPorts
    upgrade package msgpack_c_cpp_devel-3.1.1-1 to 3.2.0-2 from repository HaikuPorts
Continue? [yes/no] (yes) : y
100% msgpack_c_cpp-3.2.0-2-x86_64.hpkg [13.43 KiB]
(...)
[system] Done.

เบ”เบตเบšเปเปˆเบ„เบฒเบ”เบ„เบดเบ”. เบ‚เป‰เบญเบเป€เบงเบปเป‰เบฒเปเบ™เบงเบ™เบฑเป‰เบ™เบšเป?!

เบ‚เป‰เบญเบเบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒเบšเบฑเบ™เบซเบฒเป€เบ”เบตเบก:

/Haiku/home/tmate> make
(...)
In file included from tmux.h:40,
                 from tty.c:32:
compat.h:266: warning: "AT_FDCWD" redefined
 #define AT_FDCWD -100

In file included from tty.c:25:
/boot/system/develop/headers/posix/fcntl.h:62: note: this is the location of the previous definition
 #define AT_FDCWD  (-1)  /* CWD FD for the *at() functions */

tty.c: In function 'tty_init_termios':
tty.c:278:48: error: 'IMAXBEL' undeclared (first use in this function); did you mean 'MAXLABEL'?
  tio.c_iflag &= ~(IXON|IXOFF|ICRNL|INLCR|IGNCR|IMAXBEL|ISTRIP);
                                                ^~~~~~~
                                                MAXLABEL
tty.c:278:48: note: each undeclared identifier is reported only once for each function it appears in
Makefile:969: recipe for target 'tty.o' failed
make: *** [tty.o] Error 1

เบ”เบฝเบงเบ™เบตเป‰เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ msgpack เบšเปเปˆเปเบกเปˆเบ™เบ„เบงเบฒเบกเบœเบดเบ”. เบ‚เป‰เบญเบเบเปเบฒเบฅเบฑเบ‡เบชเบฐเปเบ”เบ‡เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™ IMAXLABEL ะฒ tty.c เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™:

tio.c_iflag &= ~(IXON|IXOFF|ICRNL|INLCR|IGNCR|/*IMAXBEL|*/ISTRIP);

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš:

osdep-unknown.c: In function 'osdep_get_cwd':
osdep-unknown.c:32:19: warning: unused parameter 'fd' [-Wunused-parameter]
 osdep_get_cwd(int fd)
               ~~~~^~
make: *** No rule to make target 'compat/forkpty-unknown.c', needed by 'compat/forkpty-unknown.o'.  Stop.

เปเบฅเป‰เบง, เบžเบงเบเป€เบฎเบปเบฒเป„เบ›เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡ ... เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™:

/Haiku/home/tmate> ./configure | grep -i OPENAT
checking for openat... no

เบ—เป‰เบฒเบง. waddlesplash เบšเบญเบเบ—เปˆเบฒเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ‚เบธเบ”:

/Haiku/home/tmate> ./configure LDFLAGS="-lbsd"
(...)/Haiku/home/tmate> make
(...)
In file included from tmux.h:40,
                 from window.c:31:
compat.h:266: warning: "AT_FDCWD" redefined
 #define AT_FDCWD -100

In file included from window.c:22:
/boot/system/develop/headers/posix/fcntl.h:62: note: this is the location of the previous definition
 #define AT_FDCWD  (-1)  /* CWD FD for the *at() functions */

make: *** No rule to make target 'compat/forkpty-unknown.c', needed by 'compat/forkpty-unknown.o'.  Stop.

เบ—เบตเปˆเบ™เบตเป‰เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฑเบ”เบžเบตเบกเบกเบฒ config.log.

เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบญเบฐเบ—เบดเบšเบฒเบเปƒเบซเป‰เบ‚เป‰เบญเบเบฎเบนเป‰เบงเปˆเบฒเบกเบตเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบญเบทเปˆเบ™เปƒเบ™ libnetwork เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบ libresolv เปƒเบ™ Haiku. เบ›เบฒเบเบปเบ”เบ‚เบทเป‰เบ™เบงเปˆเบฒเบฅเบฐเบซเบฑเบ”เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบทเปˆเบกเบญเบตเบ. เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เบ„เบดเบ”โ€ฆ

find . -type f -exec sed -i -e 's|lresolv|lnetwork|g'  {} ;

เบ„เปเบฒเบ–เบฒเบกเบ™เบดเบฅเบฑเบ™เบ”เบญเบ™: เปเบกเปˆเบ™เบซเบเบฑเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™?

/Haiku/home/tmate> ./configure LDFLAGS="-lbsd"
(...)/Haiku/home/tmate> make
(...)
# Success!# Let's run it:/Haiku/home/tmate> ./tmate
runtime_loader: /boot/system/lib/libssh.so.4.7.2: Could not resolve symbol '__stack_chk_guard'
resolve symbol "__stack_chk_guard" returned: -2147478780
runtime_loader: /boot/system/lib/libssh.so.4.7.2: Troubles relocating: Symbol not found

เบชเบดเปˆเบ‡เบ”เบฝเบงเบเบฑเบ™, เบžเบฝเบ‡เปเบ•เปˆเบขเบนเปˆเปƒเบ™เป‚เบ›เบฃเป„เบŸเบฅเปŒ. Googled เปเบฅเบฐ เบžเบปเบšเบญเบฑเบ™เบ™เบตเป‰. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบžเบตเปˆเบก -lssp "เบšเบฒเบ‡เบ„เบฑเป‰เบ‡" เบŠเปˆเบงเบ, เบ‚เป‰เบญเบเบžเบฐเบเบฒเบเบฒเบก:

/Haiku/home/tmate> ./configure LDFLAGS="-lbsd -lssp"
(...)/Haiku/home/tmate> make
(...)/Haiku/home/tmate> ./tmate

เบงเป‰เบฒเบง! เบกเบฑเบ™เป€เบฅเบตเปˆเบกเปเบฅเป‰เบง! เปเบ•เปˆโ€ฆ

[tmate] ssh.tmate.io lookup failure. Retrying in 2 seconds (non-recoverable failure in name resolution)

เบ‚เป‰เบญเบเบˆเบฐเบžเบฐเบเบฒเบเบฒเบกเบ”เบตเบšเบฑเบ เป„เบŸเบฅเปŒเบ—เบตเปˆเบ™เบตเป‰:

/Haiku/home/tmate> strace -f ./tmate >log 2>&1

โ€œเบšเบฑเบ”เบ›เบฐเบˆเบณเบ•เบปเบงเบ—เบตเปˆเบšเปเปˆเบ”เบตโ€ เปเบกเปˆเบ™เบ„เบทเบเบฑเบšเบ™เบฒเบกเบšเบฑเบ”เปเบฅเป‰เบง เป„เบฎเบเบธ. เบšเบฒเบ‡เบ—เบตเบšเบฒเบ‡เบ„เบปเบ™เบกเบตเบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบœเบดเบ”เบžเบฒเบ”เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เปเบเป‰เป„เบ‚? เบ–เป‰เบฒเป€เบ›เบฑเบ™เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ‚เป‰เบญเบเบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เบšเบปเบ”เบ„เบงเบฒเบก. เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบซเบฒ GitHub.

Porting เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ GUI เบเบฑเบš Qt.

เบ‚เป‰เบญเบเป€เบฅเบทเบญเบเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ QML เบ‡เปˆเบฒเบเป†.

/> cd /Haiku/home//Haiku/home> git clone https://github.com/probonopd/QtQuickApp
/Haiku/home/QtQuickApp> qmake .
/Haiku/home/QtQuickApp> make
/Haiku/home/QtQuickApp> ./QtQuickApp # Works!

เบ‡เปˆเบฒเบเบ”เบฒเบเปเบ—เป‰เป†. เปœเป‰เบญเบเบเบงเปˆเบฒเปœเบถเปˆเบ‡เบ™เบฒเบ—เบต!

เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเปƒเบ™ hpkg เป‚เบ”เบเปƒเบŠเป‰ haikuporter เปเบฅเบฐ haikuports.

เบ‚เป‰เบญเบเบ„เบงเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบซเบเบฑเบ‡? เบšเปเปˆเบกเบตเป€เบญเบเบฐเบชเบฒเบ™เบ‡เปˆเบฒเบเป†, เบ‚เป‰เบญเบเป„เบ›เบซเบฒเบŠเปˆเบญเบ‡ #haiku เปƒเบ™ irc.freenode.net เปเบฅเบฐเป„เบ”เป‰เบเบดเบ™เบงเปˆเบฒ:

  • เบ—เบตเบกเบ‡เบฒเบ™ package - เป€เบ›เบฑเบ™โ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹เบฅเบฐโ€‹เบ”เบฑเบšโ€‹เบ•โ€‹เปˆโ€‹เปโ€‹เบฒโ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบชเป‰เบฒเบ‡โ€‹เบŠเบธเบ”โ€‹. เบชเปเบฒเบฅเบฑเบšเบชเปˆเบงเบ™เปƒเบซเบเปˆ, PackageInfo เปเบกเปˆเบ™เบžเบฝเบ‡เบžเปเบชเปเบฒเบฅเบฑเบšเบ™เบฒเบ‡, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™เบžเบฒเบ "เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบŠเบธเบ” .hpkg เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก"
  • เบ‚เป‰เบญเบเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡ เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง
  • เบชเบฒเบกเบฒเบ” เบ™เบณ เปƒเบŠเป‰เป„เบ”เป‰ hpkg-creator (เบกเบฑเบ™เบ‚เบฑเบ”เบ‚เป‰เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบ‚เป‰เบญเบ, เบเบฒเบ™โ€‹เบฅเบฒเบโ€‹เบ‡เบฒเบ™โ€‹เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹)

เบกเบฑเบ™เบšเปเปˆเบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเบˆเบฐเป€เบฎเบฑเบ”เปเบ™เบงเปƒเบ”. เบ‚เป‰เบญเบเป€เบ”เบปเบฒเบงเปˆเบฒเบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เบ„เบณเปเบ™เบฐเบ™เบณเบœเบนเป‰เป€เบฅเบตเปˆเบกเบชเบฐเป„เบ•เบฅเปŒ Hello World, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบงเบดเบ”เบตเป‚เบญ. เบกเบฑเบ™เบˆเบฐเบ”เบตเบ—เบตเปˆเบˆเบฐเบกเบตเบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบ—เบตเปˆเบชเบฐเบ”เบงเบเบ•เปเปˆเบเบฑเบš HaikuPorter, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบฎเบฑเบ”เบขเบนเปˆเปƒเบ™ GNU เบชเบฐเบšเบฒเบเบ”เบต.

เบ‚เป‰เบญเบเบเบณเบฅเบฑเบ‡เบญเปˆเบฒเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

haikuporter เป€เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เบŠเบธเบ”เบ—เบปเปˆเบงเป„เบ›เบชเปเบฒเบฅเบฑเบš Haiku. เบกเบฑเบ™เปƒเบŠเป‰เบšเปˆเบญเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™ HaikuPorts เป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเปเบžเบฑเบเป€เบเบฑเบ”. เบชเบนเบ” Haikuporter เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบŠเบธเบ”.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบžเบปเบšเป€เบซเบฑเบ™เบงเปˆเบฒ:

เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบชเบนเบ”เบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ HaikuPorts. เป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบญเบทเปˆเบ™เป„เบ”เป‰, เป€เบญเบปเบฒเบชเบนเบ”เปƒเบชเปˆเปƒเบ™เบกเบฑเบ™, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบŠเบตเป‰ haikuporter เบเบฑเบšเบกเบฑเบ™.

เบžเบฝเบ‡เปเบ•เปˆเบชเบดเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™ - เบ–เป‰เบฒเบšเปเปˆเบŠเบญเบเบซเบฒเบงเบดเบ—เบตเบ—เบตเปˆเบˆเบฐเบ›เปˆเบญเบเบŠเบธเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ. เปเบ•เปˆเบ™เบตเป‰เปเบกเปˆเบ™เบซเบปเบงเบ‚เปเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบญเบšเบญเบทเปˆเบ™.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ haikuporter เปเบฅเบฐ haikuports

cd /boot/home/
git clone https://github.com/haikuports/haikuporter --depth=50
git clone https://github.com/haikuports/haikuports --depth=50
ln -s /boot/home/haikuporter/haikuporter /boot/home/config/non-packaged/bin/ # make it runnable from anywhere
cd haikuporter
cp haikuports-sample.conf /boot/home/config/settings/haikuports.conf
sed -i -e 's|/mydisk/haikuports|/boot/home/haikuports|g' /boot/home/config/settings/haikuports.conf

เบเบฒเบ™เบ‚เบฝเบ™เบชเบนเบ”

SUMMARY="Demo QtQuick application"
DESCRIPTION="QtQuickApp is a demo QtQuick application for testing Haiku porting and packaging"
HOMEPAGE="https://github.com/probonopd/QtQuickApp"
COPYRIGHT="None"
LICENSE="MIT"
REVISION="1"
SOURCE_URI="https://github.com/probonopd/QtQuickApp.git"
#PATCHES=""
ARCHITECTURES="x86_64"
PROVIDES="
    QtQuickApp = $portVersion
"
REQUIRES="
    haiku
"
BUILD_REQUIRES="
    haiku_devel
    cmd:qmake
"BUILD()
{
    qmake .
    make $jobArgs
}INSTALL()
{
    make install
}

เบเบฒเบ™เบ›เบฐเบเบญเบšเบชเบนเบ”

เบ‚เป‰เบญเบเบšเบฑเบ™เบ—เบถเบเป„เบŸเบฅเปŒเบžเบฒเบเปƒเบ•เป‰เบŠเบทเปˆ QtQuickApp-1.0.recipe, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป€เบ›เบตเบ”เบ•เบปเบง aikuporter -S ./QuickApp-1.0.recipe. เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบ–เบทเบเบเบงเบ”เบซเบฒเบ—เบธเบเปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ เป„เบฎเบเบนเบžเบญเบ”, เป€เบŠเบดเปˆเบ‡เปƒเบŠเป‰เป€เบงเบฅเบฒเบšเบฒเบ‡เป€เบงเบฅเบฒ. เบ‚เป‰เบญเบเบˆเบฐเป„เบ›เบเบดเบ™เบเบฒเป€เบŸ.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบขเบนเปˆเปƒเบ™เป‚เบฅเบเบ™เบตเป‰เบ„เบงเบ™เบˆเบฐเป€เบฎเบฑเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ, เปเบฅเบฐเบšเปเปˆเปเบกเปˆเบ™เบชเบนเบ™เบเบฒเบ‡เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเบ„เบปเบ™?

เบ•เบฒเบกเบ—เปˆเบฒเบ™ เบชเบˆ. waddlesplash:

เบ”เป‰เบงเบเบชเบดเปˆเบ‡เบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เบ„เบทเบ™เป„เบŸเบฅเปŒเปƒเบ”เป†เปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ ๐Ÿ˜‰ เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ™เบตเป‰เป€เบฅเบฑเบเบ™เป‰เบญเบ, เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™, เป€เบžเบฒเบฐเบงเปˆเบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบซเบฒเบเบฒเบ.

~/QtQuickApp> haikuporter  QtQuickApp-1.0.recipe
Checking if any dependency-infos need to be updated ...
Looking for stale dependency-infos ...
Error: QtQuickApp not found in repository

เบกเบฑเบ™เบ›เบฐเบเบปเบ”เบงเปˆเบฒเบšเปเปˆเบกเบตเป€เบญเบเบฐเบชเบฒเบ™เบชเบนเบ”เบ›เบปเบเบเบฐเบ•เบดเบ—เบตเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบกเบฑเบ™เป„เบงเป‰เปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เปƒเบ™เบฎเบนเบšเปเบšเบš HaikuPorts.

~/QtQuickApp> mv QtQuickApp-1.0.recipe ../haikuports/app-misc/QtQuickApp/
~/QtQuickApp> ../haikuport
~/QtQuickApp> haikuporter -S QtQuickApp-1.0.recipe

เบ„เบงเบฒเบกเบˆเบดเบ‡เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบŠเบธเบกเบ™เบธเบกเบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบ. เบ‚เป‰เบญเบเบšเปเปˆเบกเบฑเบเบกเบฑเบ™เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เปเบ•เปˆเบ‚เป‰เบญเบเบ„เบดเบ”เบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบงเปˆเบฒเปƒเบ™เบ—เบตเปˆเบชเบธเบ”เบŠเบญเบšเปเบงเปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™ HaikuPorts.

เบ‚เป‰เบญเบเป„เบ”เป‰เบฎเบฑเบšเบชเบดเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

~/QtQuickApp> haikuporter -S QtQuickApp-1.0.recipe
Checking if any dependency-infos need to be updated ...
        updating dependency infos of QtQuickApp-1.0
Looking for stale dependency-infos ...
Error: QtQuickApp-1.0.recipe not found in tree.

เปเบกเปˆเบ™เบซเบเบฑเบ‡เบœเบดเบ”? เบซเบผเบฑเบ‡เบˆเบฒเบเบญเปˆเบฒเบ™ irc เบ‚เป‰เบญเบเป€เบฎเบฑเบ”:

~/QtQuickApp> haikuporter -S QtQuickApp
Checking if any dependency-infos need to be updated ...
        updating dependency infos of QtQuickApp-1.0
Looking for stale dependency-infos ...
----------------------------------------------------------------------
app-misc::QtQuickApp-1.0
        /boot/home/haikuports/app-misc/QtQuickApp/QtQuickApp-1.0.recipe
----------------------------------------------------------------------Downloading: https://github.com/probonopd/QtQuickApp.git ...
--2019-07-14 16:12:44--  https://github.com/probonopd/QtQuickApp.git
Resolving github.com... 140.82.118.3
Connecting to github.com|140.82.118.3|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://github.com/probonopd/QtQuickApp [following]
--2019-07-14 16:12:45--  https://github.com/probonopd/QtQuickApp
Reusing existing connection to github.com:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: โ€˜/boot/home/haikuports/app-misc/QtQuickApp/download/QtQuickApp.gitโ€™
     0K .                                                     1.34M=0.06s
2019-07-14 16:12:45 (1.34 MB/s) - โ€˜/boot/home/haikuports/app-misc/QtQuickApp/download/QtQuickApp.gitโ€™ saved [90094]
Validating checksum of QtQuickApp.git
Warning: ----- CHECKSUM TEMPLATE -----
Warning: CHECKSUM_SHA256="cf906a65442748c95df16730c66307a46d02ab3a12137f89076ec7018d8ce18c"
Warning: -----------------------------
Error: No checksum found in recipe!

เบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™. เบ–เป‰เบฒเบ‚เป‰เบญเบเป€เบžเบตเปˆเบก checksum เบเบฑเบšเบชเบนเบ” - เบกเบฑเบ™เบˆเบฐเบเบปเบ‡เบเบฑเบšเบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒ git เบซเบผเป‰เบฒเบชเบธเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบงเบกเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบšเป? (เบœเบนเป‰โ€‹เบžเบฑเบ”โ€‹เบ—เบฐโ€‹เบ™เบฒโ€‹เบขเบทเบ™โ€‹เบขเบฑเบ™โ€‹เบงเปˆเบฒ: "เบกเบฑเบ™โ€‹เบˆเบฐโ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบ. เบชเบนเบ”โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบญเบญเบโ€‹เปเบšเบšโ€‹เปƒเบซเป‰โ€‹เบกเบตโ€‹เบ„เบงเบฒเบกโ€‹เบซเบกเบฑเป‰เบ™โ€‹เบ„เบปเบ‡โ€‹เบ—เบตเปˆโ€‹เบ‚เป‰เบญเบ™โ€‹เบ‚เป‰เบฒเบ‡.")

เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบกเปˆเบงเบ™, เบ•เบทเปˆเบกเปƒเบชเปˆเบชเบนเบ”:

CHECKSUM_SHA256="cf906a65442748c95df16730c66307a46d02ab3a12137f89076ec7018d8ce18c"

เบเบฑเบ‡เบšเปเปˆเบžเปเปƒเบˆ:

~/QtQuickApp> haikuporter -S QtQuickApp
Checking if any dependency-infos need to be updated ...
        updating dependency infos of QtQuickApp-1.0
Looking for stale dependency-infos ...
----------------------------------------------------------------------
app-misc::QtQuickApp-1.0
        /boot/home/haikuports/app-misc/QtQuickApp/QtQuickApp-1.0.recipe
----------------------------------------------------------------------
Skipping download of source for QtQuickApp.git
Validating checksum of QtQuickApp.git
Unpacking source of QtQuickApp.git
Error: Unrecognized archive type in file /boot/home/haikuports/app-misc/QtQuickApp/download/QtQuickApp.git

เบฅเบฒเบงเบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เบซเบเบฑเบ‡? เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”, เบ™เบตเป‰เปเบกเปˆเบ™ git repository, เบฅเบฐเบซเบฑเบ”เปเบกเปˆเบ™เปเบฅเป‰เบงเป‚เบ”เบเบเบปเบ‡, เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ—เบตเปˆเบˆเบฐ unpack. เบˆเบฒเบเบ—เบฑเบ”เบชเบฐเบ™เบฐเบ‚เบญเบ‡เบ‚เป‰เบญเบ, เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ„เบงเบ™เบˆเบฐเบชเบฐเบซเบฅเบฒเบ”เบžเปเบ—เบตเปˆเบˆเบฐเบšเปเปˆเบŠเบญเบเบซเบฒ unpacker เบ–เป‰เบฒเบกเบฑเบ™เบขเบนเปˆเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡ url GitHub.

เบšเบฒเบ‡เบ—เบต uri git:// เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบ

SOURCE_URI="git://github.com/probonopd/QtQuickApp.git"

เบ”เบฝเบงเบ™เบตเป‰เบกเบฑเบ™เบˆเบปเปˆเบกเปเบšเบšเบ™เบตเป‰:

Downloading: git://github.com/probonopd/QtQuickApp.git ...
Error: Downloading from unsafe sources is disabled in haikuports.conf!

เบฎเบทเบก, เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบˆเบถเปˆเบ‡เบชเบฑเบšเบชเบปเบ™, เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เป€เบˆเบปเป‰เบฒเบˆเบถเปˆเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ” โ€œเป€เบฎเบฑเบ”เบงเบฝเบโ€ เป„เบ”เป‰? เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”, เบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™เป€เบฅเบทเปˆเบญเบ‡เปเบ›เบเบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบˆเบฒเบ GitHub. เบšเปเปˆโ€‹เบงเปˆเบฒโ€‹เบˆเบฐโ€‹เป€เบ›เบฑเบ™โ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบทโ€‹เบ—เบตเปˆโ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เปƒเบ™โ€‹เบ—เบฑเบ™โ€‹เบ—เบตโ€‹, เป‚เบ”เบโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹, เบซเบผเบทโ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป€เบญเบตเป‰เบ™โ€‹เบงเปˆเบฒ "fussingโ€‹"โ€‹.

เบšเบฒเบ‡เบ—เบตเบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเปเบšเบšเบ™เบตเป‰:

SOURCE_URI="git+https://github.com/probonopd/QtQuickApp.git"

เบšเปเปˆ. เบ‚เป‰เบญเบเบเบฑเบ‡เป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเปเบ›เบเบ›เบฐเบซเบผเบฒเบ”เบ™เบตเป‰เปเบฅเบฐเป€เบฎเบฑเบ”, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบญเบฐเบ—เบดเบšเบฒเบเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰

sed -i -e 's|#ALLOW_UNSAFE_SOURCES|ALLOW_UNSAFE_SOURCES|g' /boot/home/config/settings/haikuports.conf

เบ‚เป‰เบญเบเบเป‰เบฒเบงเป„เบ›เบญเบตเบเปœเป‰เบญเบเปœเบถเปˆเบ‡, เปเบ•เปˆเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เบˆเบถเปˆเบ‡เบฎเป‰เบญเบ‡เปƒเบชเปˆเบ‚เป‰เบญเบ (GitHub เบšเปเปˆเบ›เบญเบ”เป„เบž!) เปเบฅเบฐเบเบฑเบ‡เบžเบฐเบเบฒเบเบฒเบกเป€เบญเบปเบฒเบญเบฑเบ™เปƒเบ”เบญเบฑเบ™เปœเบถเปˆเบ‡เบญเบญเบเบกเบฒ.

เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™ เบ—เป‰เบฒเบง. waddlesplash:

เบ”เบต, เปเบกเปˆเบ™เปเบฅเป‰เบง, เป€เบซเบ”เบœเบปเบ™เปเบกเปˆเบ™เบ„เบงเบฒเบกเบ›เบฒเบ–เบฐเบซเบ™เบฒเบ—เบตเปˆเบˆเบฐเบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบชเบปเบกเบšเบนเบ™เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบเบญเบš. เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบš checksum เบ‚เบญเบ‡เบฎเบงเบšเบฎเบงเบก, เปเบ•เปˆเบงเปˆเบฒเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”, เปเบ™เปˆเบ™เบญเบ™, hash เป„เบŸเบฅเปŒเบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบšเปเปˆเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”, เป€เบžเบฒเบฐเบงเปˆเบฒ. เบกเบฑเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบ. เบœเบปเบ™เบชเบฐเบ—เป‰เบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™ "เบ„เบงเบฒเบกเบšเปเปˆเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡" เบ‚เบญเบ‡ git เปเบฅเบฐ VCS เบญเบทเปˆเบ™เป†. เบ™เบตเป‰เบกเบฑเบเบˆเบฐเป€เบ›เบฑเบ™เบเปเบฅเบฐเบ™เบต, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เบชเป‰เบฒเบ‡เปเบŸเป‰เบกเบˆเบฑเบ”เป€เบเบฑเบšเปƒเบ™ GitHub เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเปเบฅเบฐเป„เบงเบเบงเปˆเบฒ. เบ”เบต, เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”, เบšเบฒเบ‡เบ—เบตเบ‚เปเป‰เบ„เบงเบฒเบกเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบˆเบฐเบšเปเปˆ flashy เบ™เบฑเป‰เบ™ ... (เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เบฅเบงเบกเบชเบนเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปƒเบ™ HaikuPorts เบญเบตเบเบ•เปเปˆเป„เบ›).

~/QtQuickApp> haikuporter -S QtQuickApp
Checking if any dependency-infos need to be updated ...
Looking for stale dependency-infos ...
----------------------------------------------------------------------
app-misc::QtQuickApp-1.0
        /boot/home/haikuports/app-misc/QtQuickApp/QtQuickApp-1.0.recipe
----------------------------------------------------------------------Downloading: git+https://github.com/probonopd/QtQuickApp.git ...
Warning: UNSAFE SOURCES ARE BAD AND SHOULD NOT BE USED IN PRODUCTION
Warning: PLEASE MOVE TO A STATIC ARCHIVE DOWNLOAD WITH CHECKSUM ASAP!
Cloning into bare repository '/boot/home/haikuports/app-misc/QtQuickApp/download/QtQuickApp.git'...
Unpacking source of QtQuickApp.git
tar: /boot/home/haikuports/app-misc/QtQuickApp/work-1.0/sources/QtQuickApp-1.0: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
Command 'git archive HEAD | tar -x -C "/boot/home/haikuports/app-misc/QtQuickApp/work-1.0/sources/QtQuickApp-1.0"' returned non-zero exit status 2

เบญเบญเบเบˆเบฒเบเบ™เบดเป„เบชเป€เบเบปเปˆเบฒ, เบ‚เป‰เบญเบเป„เบ›เบ–เบฒเบกเบ„เบปเบ™เบ”เบตเปƒเบ™เบŠเปˆเบญเบ‡ #haiku เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ irc.freenode.net. เปเบฅเบฐเบ‚เป‰เบญเบเบˆเบฐเบขเบนเปˆเปƒเบชเป‚เบ”เบเบšเปเปˆเบกเบตเบžเบงเบเบกเบฑเบ™? เบซเบผเบฑเบ‡เบˆเบฒเบเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ, เบ‚เป‰เบญเบเบฎเบนเป‰เบงเปˆเบฒเบ‚เป‰เบญเบเบ„เบงเบ™เปƒเบŠเป‰:

srcGitRev="d0769f53639eaffdcd070bddfb7113c04f2a0de8"
SOURCE_URI="https://github.com/probonopd/QtQuickApp/archive/$srcGitRev.tar.gz"
SOURCE_DIR="QtQuickApp-$srcGitRev"
CHECKSUM_SHA256="db8ab861cfec0ca201e9c7b6c0c9e5e828cb4e9e69d98e3714ce0369ba9d9522"

เบ•เบปเบเบฅเบปเบ‡, เบกเบฑเบ™เบˆเบฐเปเบˆเป‰เบ‡เบงเปˆเบฒเบกเบฑเบ™เป€เบฎเบฑเบ”เบซเบเบฑเบ‡ - เบกเบฑเบ™เบ”เบฒเบงเป‚เบซเบฅเบ”เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ—เบตเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™. เบกเบฑเบ™เป‚เบ‡เปˆ, เบˆเบฒเบเบ—เบฑเบ”เบชเบฐเบ™เบฐเบ‚เบญเบ‡เบ‚เป‰เบญเบ, เปเบฅเบฐเบšเปเปˆเปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™, เบ„เบท, เบ”เบฒเบงเป‚เบซเบฅเบ”เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบซเบผเป‰เบฒเบชเบธเบ”เบˆเบฒเบเบชเบฒเบ‚เบฒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš.

เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป‰เบญเบฐเบ—เบดเบšเบฒเบเบกเบฑเบ™เบ”เป‰เบงเบเบงเบดเบ—เบตเบ™เบตเป‰:

เบžเบงเบเป€เบฎเบปเบฒเบกเบต CI เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเบงเบฒเบ‡เป„เบงเป‰เปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ haikuports เบˆเบฐเบ–เบทเบเบซเบธเป‰เบกเบซเปเปˆเบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบกเบตเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ•เปเปˆเบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเปเบฅเบฐเบชเบปเปˆเบ‡ "เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบขเบนเปˆเปƒเบ™เบชเบฐเบšเบฑเบšเบซเบฅเป‰เบฒเบชเบธเบ”เบ—เบฒเบ‡เบ™เป‰เปเบฒ."

เป€เบ‚เบปเป‰เบฒเปƒเบˆเปเบฅเป‰เบง! เปƒเบ™เบเปเบฅเบฐเบ™เบตเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™:

waiting for build package QtQuickApp-1.0-1 to be activated
waiting for build package QtQuickApp-1.0-1 to be activated
waiting for build package QtQuickApp-1.0-1 to be activated
waiting for build package QtQuickApp-1.0-1 to be activated
waiting for build package QtQuickApp-1.0-1 to be activated
(...)

เบกเบฑเบ™เป€เบฎเบฑเบ”เบŠเป‰เปเบฒเบเบฒเบ™เป‚เบ„เบชเบฐเบ™เบฒเบ™เบตเป‰ infinitum. เบ›เบฒเบเบปเบ”เบ‚เบทเป‰เบ™เบงเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ” (เบกเบตเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบšเป? เบ‚เป‰เบญเบเบšเปเปˆเบžเบปเบšเบกเบฑเบ™).

ะก haikuporter เปเบฅเบฐ repository เป„เบฎเบเบนเบžเบญเบ” เบกเบฑเบ™เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบฎเบนเป‰เบชเบถเบ "เบžเบฝเบ‡เปเบ•เปˆเป€เบฎเบฑเบ”เบงเบฝเบ" เบเบฑเบšเบกเบฑเบ™, เปเบ•เปˆเปƒเบ™เบ–เบฒเบ™เบฐเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบกเบตเบšเบฒเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบญเบเบกเบฑเบเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš Haiku. เบชเปเบฒเบฅเบฑเบšเบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบกเบฑเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบš Open Build Service, เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ Linux builds: เบกเบตเบญเปเบฒเบ™เบฒเบ”เบซเบผเบฒเบ, เบกเบตเบงเบดเบ—เบตเบเบฒเบ™เบฅเบฐเบšเบปเบš, เปเบ•เปˆ overkill เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ "เบชเบฐเบšเบฒเบเบ”เบตเป‚เบฅเบ" เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ‚เบญเบ‡เบ‚เป‰เบญเบ.

เบญเบตเบเป€เบ—เบทเปˆเบญ เปœเบถเปˆเบ‡, เบญเบตเบ‡เบ•เบฒเบกเบ—เปˆเบฒเบ™. waddlesplash:

เปเบ—เป‰เบˆเบดเบ‡เปเบฅเป‰เบง, HaikuPorter เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป€เบ‚เบฑเป‰เบกเบ‡เบงเบ”เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (เบšเบงเบเบเบฑเบšเบกเบตเป‚เบซเบกเบ” lint เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป‚เบซเบกเบ”เบ—เบตเปˆเป€เบ„เบฑเปˆเบ‡เบ„เบฑเบ”เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ‚เบฑเป‰เบกเบ‡เบงเบ”เบซเบผเบฒเบ!), เปเบ•เปˆเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบฑเบ™เบชเป‰เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบ, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ”. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบฅเบฒเบงเบˆเบปเปˆเบกเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบดเบ‡เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบ›เบฐเบเบฒเบ”, เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเป€เบ‚เบปเป‰เบฒเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡, เบชเบฐเบšเบฑเบšเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบˆเบฑเบšเบ—เบธเบเบšเบฑเบ™เบซเบฒ, เบฅเบงเบกเบ—เบฑเบ‡เบšเบฑเบ™เบซเบฒเปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”, เบเปˆเบญเบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เบˆเบฐเบฎเบนเป‰เบเปˆเบฝเบงเบเบฑเบšเบกเบฑเบ™ (เบ™เบตเป‰เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡ avrdude, เป€เบžเบฒเบฐเบงเปˆเบฒเบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเป„เบ”เป‰เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™เบชเบนเบ”). เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เบšเปเปˆเปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเปเบžเบฑเบเป€เบเบฑเบ”เบชเปˆเบงเบ™เบ•เบปเบง เบซเบผเบทเปเบกเปˆเบ™เปเบ•เปˆเบฅเบธเป‰เบ™ SO เบชเบฐเป€เบžเบฒเบฐเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. HaikuPorter เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™เบชเบนเบ”เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.

เปƒเบ™เบซเบผเบฑเบเบเบฒเบ™, เบฅเบฐเบ”เบฑเบšเบ„เบงเบฒเบกเป€เบ„เบฑเปˆเบ‡เบ„เบฑเบ”เบ™เบตเป‰เปเบกเปˆเบ™เบ–เบทเบเบ•เป‰เบญเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™, เปเบ•เปˆเบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบ‚เป‰เบญเบเบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ "เบชเบฐเบšเบฒเบเบ”เบตเป‚เบฅเบ". เบ‚เป‰เบญเบเบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบฅเบญเบ‡เบญเบฑเบ™เบญเบทเปˆเบ™.

เบเบฒเบ™เบชเป‰เบฒเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปƒเบ™เบฎเบนเบšเปเบšเบš hpkg เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ "package create".

เบญเบฒเบ”เบˆเบฐ, เบ™เบตเป‰ เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ‡เปˆเบฒเบเป†เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบ”เบตเบเบงเปˆเบฒเบชเปเบฒเบฅเบฑเบšเบ‚เป‰เบญเบเบšเป?

mkdir -p apps/
cp QtQuickApp apps/cat >  .PackageInfo <<EOF
name QtQuickApp
version 1.0-1
architecture x86_64

summary "Demo QtQuick application"
description "QtQuickApp is a demo QtQuick application for testing Haiku porting and packaging"

packager "probono"
vendor "probono"

copyrights "probono"
licenses "MIT"

provides {
  QtQuickApp = 1.0-1
}requires {
  qt5
}
EOFpackage create -b QtQuickApp.hpkg
package add QtQuickApp.hpkg apps# See below if you also want the application
# to appear in the menu

เป„เบงเบ—เบตเปˆเบšเปเปˆเบ„เบฒเบ”เบ„เบดเบ”, เบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบšเปเปˆเบ„เบฒเบ”เบ„เบดเบ”, เบ›เบฐเบชเบดเบ”เบ—เบดเบœเบปเบ™เบ—เบตเปˆเบšเปเปˆเบ„เบฒเบ”เบ„เบดเบ”. เปเบ™เปˆเบ™เบญเบ™เบงเปˆเบฒเบ‚เป‰เบญเบเบกเบฑเบเบกเบฑเบ™เปเบ™เบงเปƒเบ”, เป€เบฎเบฑเบ”เปƒเบซเป‰เบ›เบฐเบฅเบฒเบ”!

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ - เปเบกเปˆเบ™เบซเบเบฑเบ‡เปเบฅเบฐเบšเปˆเบญเบ™เปƒเบ”?

เบเป‰เบฒเบเป„เบŸเบฅเปŒ QtQuickApp.hpkg เป„เบ›เปƒเบชเปˆ ~/config/packagesเป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เป„เบŸเบฅเปŒ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ QtQuickApp เบ›เบฐเบเบปเบ”เบ‚เบถเป‰เบ™เบขเปˆเบฒเบ‡เบกเบฐเบซเบฑเบ”เบชเบฐเบˆเบฑเบ™ ~/config/apps.
เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡, เบšเปเปˆเบ„เบฒเบ”เบ„เบดเบ”เป„เบง, เบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš. เป€เบฎเบฑเบ”เปƒเบซเป‰เบ›เบฐเบฅเบฒเบ”, incredible!

เปเบ•เปˆ ... (เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบขเบนเปˆเปƒเบชเป‚เบ”เบเบšเปเปˆเบกเบตเบžเบงเบเบกเบฑเบ™!)

เปเบญเบฑเบšเบเบฑเบ‡เบ‚เบฒเบ”เบซเบฒเบเป„เบ›เบˆเบฒเบเบฅเบฒเบเบเบฒเบ™เป€เบกเบ™เบนเปเบญเบฑเบš เปเบฅเบฐ QuickLaunch. เบ‚เป‰เบญเบเบ„เบดเบ”เบงเปˆเบฒเบ‚เป‰เบญเบเบฎเบนเป‰เบงเบดเบ—เบตเปเบเป‰เป„เบ‚เบกเบฑเบ™เปเบฅเป‰เบง. เปƒเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เป„เบŸเบฅเปŒเบ‚เป‰เบญเบเบเป‰เบฒเบ QtQuickApp.hpkg เบˆเบฒเบ ~/config/packages เป„เบ› /system/packages.

เบšเปเปˆ, เบเบฑเบ‡เบซเบฒเบเป„เบ›. เบ›เบฒเบเบปเบ”เบ‚เบทเป‰เบ™, เบ‚เป‰เบญเบ (เบ”เบต, เปเบฅเบฐเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ) เบžเบฒเบ”เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡.

เป‚เบ”เบเป„เบ”เป‰เป€เบšเบดเปˆเบ‡เปเบ–เบš "เป€เบ™เบทเป‰เบญเปƒเบ™" เปƒเบ™ HaikuDepot เบชเปเบฒเบฅเบฑเบšเบšเบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบญเบทเปˆเบ™เป†, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบกเบตเป„เบŸเบฅเปŒเป€เบŠเบฑเปˆเบ™: /data/mimedb/application/x-vnd... เบชเบดเปˆเบ‡เบ—เบตเปˆเป‚เบ”เบ”เป€เบ”เบฑเปˆเบ™เบเบงเปˆเบฒเบ™เบฑเป‰เบ™เปเบกเปˆเบ™ /data/deskbar/menu/Applications/โ€ฆ.

เปเบฅเป‰เบง, เบ‚เป‰เบญเบเบ„เบงเบ™เป€เบญเบปเบฒเบซเบเบฑเบ‡เปƒเบชเปˆเบšเปˆเบญเบ™เบ™เบฑเป‰เบ™? เบกเบฒเปเบฅเป‰เบง...

mkdir -p data/deskbar/menu/Applications/
( cd data/deskbar/menu/Applications ; ln -s ../../../../apps/QtQuickApp . )
package add QtQuickApp.hpkg apps data

เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เปเบ™เปˆโ€‹เปƒเบˆเบงเปˆโ€‹เบฒ trick เบ™เบตเป‰โ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹, เปเบ•เปˆโ€‹เบ„เปเบฒโ€‹เบ–เบฒเบกโ€‹เบ—เบตเปˆโ€‹เบเบฑเบ‡โ€‹เบ„เบปเบ‡โ€‹เบขเบนเปˆโ€‹: เป€เบ›เบฑเบ™โ€‹เบซเบเบฑเบ‡โ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹, เบกเบฑเบ™โ€‹เปเบกเปˆเบ™โ€‹เป€เบžเบทเปˆเบญโ€‹เบซเบเบฑเบ‡โ€‹? เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบ„เบดเบ”โ€‹เบงเปˆเบฒโ€‹เบ™เบตเป‰โ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบ„เบงเบฒเบกโ€‹เบ›เบฐโ€‹เบ—เบฑเบšโ€‹เปƒเบˆโ€‹เป‚เบ”เบโ€‹เบฅเบงเบกโ€‹เบงเปˆเบฒโ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เปเบกเปˆเบ™โ€‹เบŠเบฑเบšโ€‹เบŠเป‰เบญเบ™โ€‹เบซเบผเบฒเบโ€‹.

เบ”เบฑเปˆเบ‡เบ—เบตเปˆ เบ—เปˆเบฒเบ™ เบชเบˆ. waddlesplash:

เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบกเบตเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบญเบทเปˆเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เปเบ•เปˆเบšเปเปˆเบกเบตเบขเบนเปˆเปƒเบ™เป€เบกเบ™เบน. เบ•เบปเบงเบขเปˆเบฒเบ‡, LegacyPackageInstaller เปƒเบ™เบžเบฒเบšเปœเป‰เบฒเบˆเปเบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเบฒเบ™เบˆเบฑเบ”เป€เบเบฑเบš .pkg เปƒเบ™เบฎเบนเบšเปเบšเบš BeOS. เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบœเบนเป‰เปƒเบŠเป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบžเบงเบเบกเบฑเบ™, เปเบ•เปˆเบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบขเบนเปˆเปƒเบ™เป€เบกเบ™เบนเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™.

เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ‚เป‰เบญเบเบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบเบงเปˆเบฒ, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡ Hidden=true เปƒเบ™โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹ .desktop เปƒเบ™ Linux. เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบˆเบถเปˆเบ‡เบšเปเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบ‚เปเป‰เบกเบนเบ™ "เป€เบŠเบทเปˆเบญเบ‡เป„เบงเป‰" เป€เบ›เบฑเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปเบฅเบฐเบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ?

เบชเบดเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เบšเปเปˆโ€‹เปเบกเปˆเบ™โ€‹เบ„เบงเบฒเบกโ€‹เบฅเบฐโ€‹เบญเบฝเบ”โ€‹เบญเปˆเบญเบ™โ€‹เป‚เบ”เบโ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เปเบกเปˆเบ™โ€‹เบŠเบทเปˆโ€‹เบ‚เบญเบ‡ (เบšเบฒเบ‡โ€‹) เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เบ—เบตเปˆโ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™โ€‹เป€เบกโ€‹เบ™เบนโ€‹, deskbar, tied rigidly เบ•เบฒเบกเบ—เบฒเบ‡.

เบ—เป‰เบฒเบง. waddlesplash เบญเบฐเบ—เบดเบšเบฒเบเบงเปˆเบฒ:

"Deskbar" เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰เบ„เบงเบ™เบˆเบฐเบ–เบทเบเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเป€เบ›เบฑเบ™เบ›เบฐเป€เบžเบ”เบ„เปเบฒเบชเบฑเบšเบ—เบปเปˆเบงเป„เบ› (เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™เบเบฑเบš "เปเบ–เบšเบงเบฝเบ", เป€เบŠเบดเปˆเบ‡เบซเบกเบฒเบเป€เบ–เบดเบ‡เบ—เบฑเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ Windows เปเบฅเบฐเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบปเปˆเบงเป„เบ›). เปเบฅเป‰เบง, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ™เบตเป‰ deskbar, เบšเปเปˆเปเบกเปˆเบ™ "Deskbar", เบ™เบตเป‰เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเปƒเบˆเปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™.

เบกเบทเป‰เบ—เบต XNUMX เบ‚เบญเบ‡เบ‚เป‰เบญเบเบเบฑเบš Haiku: เบ‚เปเปƒเบซเป‰เบˆเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡
2 เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต "เป€เบเบทเบญเบšเบ„เบทเบเบฑเบ™" เบ—เบตเปˆเบกเบตเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปƒเบ™เบžเบงเบเบกเบฑเบ™

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบต 2 เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบกเบตเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™, เปเบฅเบฐเป€เบ›เบฑเบ™เบซเบเบฑเบ‡ QtQuickApplication เบ‚เบญเบ‡เบ‚เป‰เบญเบเบขเบนเปˆเปƒเบ™เบญเบฑเบ™เบ”เบฝเบง, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เบญเบทเปˆเบ™? (เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹, เบ™เบตเป‰โ€‹เบšเปเปˆโ€‹เปเบกเปˆเบ™โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบซเบ™เบถเปˆเบ‡โ€‹, เปเบ•เปˆโ€‹เป€เบ›เบฑเบ™โ€‹เบœเบนเป‰โ€‹เปƒเบŠเป‰โ€‹เบ—เบตเปˆโ€‹เบชเบญเบ‡โ€‹, เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบ‚เบปเป‰เบฒโ€‹เปƒเบˆโ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบชเปˆเบงเบ™โ€‹เบšเบธเบโ€‹เบ„เบปเบ™โ€‹)โ€‹.
เบ‚เป‰เบญเบเบชเบฑเบšเบชเบปเบ™เปเบ—เป‰เป†เปเบฅเบฐเบ‚เป‰เบญเบเบ„เบดเบ”เบงเปˆเบฒเบ™เบตเป‰เบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™เป€เบญเบเบฐเบžเบฒเบš.

เบ„เบณเป€เบซเบฑเบ™เป‚เบ”เบ เบ—เปˆเบฒเบ™ เบชเบˆ. waddlesplash

เบฅเบฒเบเบเบฒเบ™ Apps เบกเบตเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™เป€เบกเบ™เบน. เปเบ•เปˆเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบเบฑเบšเป€เบกเบ™เบนเบเปเปˆเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡, เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ›เบฑเบšเปเบ•เปˆเบ‡เป„เบ”เป‰.

เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ, เบซเบผเบทเบกเบฑเบ™เบˆเบฐเบšเปเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™ ๐Ÿ˜‰

เบ‚เป‰เบญเบเบชเบปเบ‡เป„เบชเบงเปˆเบฒ: เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เปเบ—เป‰เป†เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปƒเบ™ /system/apps, เบ–เป‰เบฒเบœเบนเป‰เปƒเบŠเป‰เป€เบซเบฑเบ™เบžเบงเบเป€เบ‚เบปเบฒเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™. เบšเบฒเบ‡เบ—เบตเบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบงเบฒเบ‡เบžเบงเบเบกเบฑเบ™เป„เบงเป‰เปƒเบ™เบšเปˆเบญเบ™เบญเบทเปˆเบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เบˆเบฐเบšเปเปˆเบžเบปเบšเบžเบงเบเป€เบ‚เบปเบฒเบšเป? เป€เบŠเบฑเปˆเบ™โ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™โ€‹เบเบฑเบšโ€‹เบกเบฑเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เป„เบ”เป‰โ€‹เปƒเบ™ Mac OS Xโ€‹, เบšเปˆเบญเบ™โ€‹เบ—เบตเปˆโ€‹เป€เบ™เบทเป‰เบญโ€‹เปƒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบซเบธเป‰เบกโ€‹เบซเปเปˆโ€‹ .app, เบ—เบตเปˆเบšเปเปˆเบ„เบงเบ™เบˆเบฐเบ–เบทเบเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เปƒเบ™ /Applications, เป€เบŠเบทเปˆเบญเบ‡เบขเบนเปˆเปƒเบ™เบ„เบงเบฒเบกเป€เบฅเบดเบเบ‚เบญเบ‡ /System/Library/โ€ฆโ€œ`.

เปเบกเปˆเบ™เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบช?

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ„เบดเบ”เบงเปˆเบฒเบกเบฑเบ™เบ„เบธเป‰เบกเบ„เปˆเบฒเบ—เบตเปˆเบˆเบฐเบฅเบฐเบšเบธเบเบฒเบ™เบ‚เบถเป‰เบ™เบเบฑเบš somehow, เบชเบดเบ”? Qt เบชเบฒเบกเบฒเบ”เบ–เบทเบงเปˆเบฒเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบšเบฑเบ‡เบ„เบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Haiku เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบšเป? เบšเปเปˆ! Qt เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบ•เบปเบงเบชเป‰เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบชเบฒเบกเบฒเบ”เบเบงเบ”เบžเบปเบšเบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป‚เบ”เบเบเบฒเบ™เบเบงเบ”เบชเบญเบšเป„เบŸเบฅเปŒ ELF เป„เบ”เป‰เบšเป? เบ‚เป‰เบญเบเป„เบ”เป‰เบ–เบทเบเบšเบญเบเบงเปˆเบฒ HaikuPorter เป€เบฎเบฑเบ”เปเบšเบšเบ™เบตเป‰เปเบ—เป‰เป†, เปเบ•เปˆ package เบšเปเปˆ. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบเป‰เบญเบ™เบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆ "เบ•เบปเบงเบชเป‰เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ”" เบ—เบตเปˆเบžเบฝเบ‡เปเบ•เปˆเบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเบ”เป‰เบงเบเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡ hpkg.

เบ„เบงเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰ Haiku เบกเบตเบ„เบงเบฒเบกเบŠเบฑเบšเบŠเป‰เบญเบ™เบซเบผเบฒเบเบ‚เบถเป‰เบ™เป‚เบ”เบเบเบฒเบ™เป€เบžเบตเปˆเบกเบ™เบฐเป‚เบเบšเบฒเบเบงเปˆเบฒเบŠเบธเบ”เปƒเบ”เบ™เบถเปˆเบ‡เบšเปเปˆเบ„เบงเบ™เบกเบตเบเบฒเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเปเบžเบฑเบเป€เบเบฑเบ”เบ™เบญเบ Haiku เบšเป? haikuports? (เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™, เป€เบžเบฒเบฐเบงเปˆเบฒเบ™เบฐเป‚เบเบšเบฒเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบชเบดเปˆเบ‡เบ•เปˆเบฒเบ‡เป†เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เบซเบผเบฒเบ - เบฅเบฐเบšเบปเบšเบˆเบฐเบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบญเบ‡เบ—เบธเบเปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบ”เบฒเบงเป‚เบซเบฅเบ”เบกเบฒเบˆเบฒเบเบšเปˆเบญเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบก, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ messing เบ›เบฐเบกเบฒเบ™เบเบฑเบšเปเบซเบผเปˆเบ‡เปเบžเบฑเบเป€เบเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.)

เบ—เป‰เบฒเบง. waddlesplash เบญเบฐเบ—เบดเบšเบฒเบเบงเปˆเบฒ:

เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบขเบฒเบเบˆเปเบฒเบเบฑเบ”เป€เบชเบฅเบตเบžเบฒเบšเบ‚เบญเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบซเบผเบฒเบ, เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เป€เบซเบฑเบ™เป„เบ”เป‰เบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเบ–เป‰เบฒ CompanyX เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบŠเบธเบ”เบŠเบญเบšเปเบงเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบช (เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบถเปˆเบ‡เบกเบตเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™), เบกเบฑเบ™เบˆเบฐเป€เบฎเบฑเบ”เบขเปˆเบฒเบ‡เป€เบชเบฅเบต.

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบฑเป‰เบ™, เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเบ„เบธเป‰เบกเบ„เปˆเบฒเบ—เบตเปˆเบˆเบฐเปเบ™เบฐเบ™เปเบฒเบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเบ‚เบญเบ‡เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบกเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบฅเบงเบกเบขเบนเปˆเปƒเบ™ haikuports เป‚เบ”เบเบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเบซเบกเบปเบ”เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ. เปเบ•เปˆเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ„เบดเบ”เบงเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบซเบปเบงเบ‚เปเป‰เบชเปเบฒเบฅเบฑเบšเบšเบปเบ”เบ„เบงเบฒเบกเปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เปƒเบ™เบŠเบธเบ”เบ™เบตเป‰. [เบœเบนเป‰เบ‚เบฝเบ™เบเปเบฒเบฅเบฑเบ‡เบกเบธเปˆเบ‡เบซเบ™เป‰เบฒเป„เบ›เบชเบนเปˆ AppImage? โ€” เบ›เบฐโ€‹เบกเบฒเบ™โ€‹. เบ™เบฑเบเปเบ›]

เป€เบžเบตเปˆเบกเป„เบญเบ„เบญเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™

เบˆเบฐเป€เบ›เบฑเบ™เปเบ™เบงเปƒเบ”เบ–เป‰เบฒเบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เป„เบญเบ„เบญเบ™เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบ—เบตเปˆเบชเบฐเบญเบฒเบ”เบเบฑเบšเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเบชเป‰เบฒเบ‡เปƒเบซเบกเปˆเบ‚เบญเบ‡เบ‚เป‰เบญเบ? เบกเบฑเบ™ turns เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™โ€‹เบงเปˆเบฒโ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบซเบปเบงโ€‹เบ‚เปเป‰โ€‹เบ—เบตเปˆโ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบ›เบฐโ€‹เบฅเบฒเบ”โ€‹, เบชเบฐโ€‹เบ™เบฑเป‰เบ™โ€‹เบกเบฑเบ™โ€‹เบˆเบฐโ€‹เป€เบ›เบฑเบ™โ€‹เบžเบทเป‰เบ™โ€‹เบ–เบฒเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบšเบปเบ”โ€‹เบ„เบงเบฒเบกโ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹.

เบงเบดเบ—เบตเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡?

เบˆเบดเบ™เบ•เบฐเบ™เบฒเบเบฒเบ™เป‚เบ„เบ‡เบเบฒเบ™เป€เบŠเบฑเปˆเบ™ Inkscape (เปเบกเปˆเบ™เปเบฅเป‰เบง, เบ‚เป‰เบญเบเบฎเบนเป‰เบงเปˆเบฒเบกเบฑเบ™เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เบกเบตเบขเบนเปˆเปƒเบ™ Haiku, เปเบ•เปˆเบกเบฑเบ™เบชเบฐเบ”เบงเบเปƒเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™เบกเบฑเบ™). เบžเบงเบเป€เบ‚เบปเบฒเบกเบตเบšเปˆเบญเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡ https://gitlab.com/inkscape/inkscape.
เบ—เบธเบเป†เบ„เบฑเป‰เบ‡เบ—เบตเปˆเบœเบนเป‰เปƒเบ”เบœเบนเป‰ เปœเบถเปˆเบ‡ เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบเบฑเบšเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™, เบเบฒเบ™เบชเป‰เบฒเบ‡เบ—เปเปˆเป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบง, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบˆเบฐเบ–เบทเบเบ—เบปเบ”เบชเบญเบšเป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”, เบชเป‰เบฒเบ‡, เปเบฅเบฐเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเบ–เบทเบเบซเบธเป‰เบกเบซเปเปˆเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เปเบžเบฑเบเป€เบเบฑเบ”เบ•เปˆเบฒเบ‡เป†, เบฅเบงเบกเบ—เบฑเบ‡ AppImage เบชเปเบฒเบฅเบฑเบš Linux (เบŠเบธเบ”เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปเบšเบšเบ”เปˆเบฝเบงเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ”เบฒเบงเป‚เบซเบฅเบ”เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เป‚เบ”เบเบšเปเปˆเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡. เบชเบดเปˆเบ‡เบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเบซเบผเบทเบญเบฒเบ”เบˆเบฐเบšเปเปˆเป„เบ”เป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบš [เบ‚เป‰เบญเบเบฎเบนเป‰เบกเบฑเบ™! โ€” เบ›เบฐโ€‹เบกเบฒเบ™โ€‹. เบ™เบฑเบเปเบ›]). เบชเบดเปˆเบ‡เบ”เบฝเบงเบเบฑเบ™เป€เบเบตเบ”เบ‚เบทเป‰เบ™เบเบฑเบšเบ—เบธเบเป†เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบฅเบงเบกเบชเบฒเบ‚เบฒ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เบฒเบงเป‚เบซเบฅเบ”เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบˆเบฒเบเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบชเบฐเป€เบซเบ™เบตเปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™.

เบกเบทเป‰เบ—เบต XNUMX เบ‚เบญเบ‡เบ‚เป‰เบญเบเบเบฑเบš Haiku: เบ‚เปเปƒเบซเป‰เบˆเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡
เบฎเบงเบกเบ„เบณเบฎเป‰เบญเบ‡เบ‚เปเบ—เบตเปˆเบกเบตเบชเบฐเบ–เบฒเบ™เบฐเบชเป‰เบฒเบ‡ เปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ”เบฒเบงเป‚เบซเบผเบ”เบ„เบนเปˆเบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเป„เบ”เป‰เบซเบฒเบเบเบฒเบ™เบชเป‰เบฒเบ‡เบชเบณเป€เบฅเบฑเบ” (เปเบฒเบเป€เบ›เบฑเบ™เบชเบตเบ‚เบฝเบง)

เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™ Docker containers. GitLab เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เปเบฅเปˆเบ™เบŸเบฃเบตเปƒเบ™ Linux, เปเบฅเบฐเบ‚เป‰เบญเบเบ„เบดเบ”เบงเปˆเบฒเบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบฅเบงเบกเป€เบญเบปเบฒเบ™เบฑเบเปเบฅเปˆเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡ (เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เบ‚เป‰เบญเบเบšเปเปˆเป€เบซเบฑเบ™เบงเปˆเบฒเบกเบฑเบ™เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเปเบ™เบงเปƒเบ”เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเป€เบŠเบฑเปˆเบ™ Haiku, เป€เบŠเบดเปˆเบ‡เบ‚เป‰เบญเบเบฎเบนเป‰เบงเปˆเบฒเบšเปเปˆเบกเบต Docker เบซเบผเบทเบ—เบฝเบšเป€เบ—เบปเปˆเบฒ, เปเบ•เปˆ. เบเบฑเบ‡เบชเปเบฒเบฅเบฑเบš FreeBSD เบšเปเปˆเบกเบต Docker, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบšเบฑเบ™เบซเบฒเบ™เบตเป‰เบšเปเปˆเบชเบฐเป€เบžเบฒเบฐเบเบฑเบš Haiku).

เป‚เบ”เบเบซเบฅเบฑเบเบเบฒเบ™เปเบฅเป‰เบง, เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ Haiku เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบขเบนเปˆเปƒเบ™เบ–เบฑเบ‡ Docker เบชเปเบฒเบฅเบฑเบš Linux. เปƒเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰, เบเบฒเบ™เบ›เบฐเบเบญเบšเบชเปเบฒเบฅเบฑเบš Haiku เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ—เปเปˆเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง. เบกเบต cross compilers เบšเป? เบซเบผเบทเบ‚เป‰เบญเบเบ„เบงเบ™เบˆเปเบฒเบฅเบญเบ‡ Haiku เบ—เบฑเบ‡เปเบปเบ”เบžเบฒเบเปƒเบ™ Docker เป‚เบ”เบเปƒเบŠเป‰เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™: QEMU/KVM (เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบกเบฑเบ™เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเปเบšเบšเบ™เบฑเป‰เบ™เบžเบฒเบเปƒเบ™ Docker)? เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เป‚เบ„เบ‡เบเบฒเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเปƒเบŠเป‰เบซเบผเบฑเบเบเบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™. เบ•เบปเบงเบขเปˆเบฒเบ‡, Scribus เป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰ - เบกเบฑเบ™เบกเบตเบขเบนเปˆเปเบฅเป‰เบงเบชเปเบฒเบฅเบฑเบš Haiku. เบกเบทเป‰เบซเบ™เบถเปˆเบ‡เบกเบทเป‰เบˆเบฐเบกเบฒเป€เบ–เบดเบ‡เป€เบกเบทเปˆเบญเบ‚เป‰เบญเบเบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡ เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง เบ”เบถเบ‡โ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบ‚เปโ€‹เปƒเบซเป‰โ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบญเบทเปˆเบ™เป†โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบžเบตเปˆเบกโ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™ Haikuโ€‹.

เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบญเบฐเบ—เบดเบšเบฒเบเบงเปˆเบฒ:

เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบญเบทเปˆเบ™เป†เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡, เบงเบดเบ—เบตเบเบฒเบ™ CMake / CPack เบ›เบปเบเบเบฐเบ•เบดเปเบกเปˆเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™. เบฅเบฐเบšเบปเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบญเบทเปˆเบ™เป†เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป‚เบ”เบเบเบฒเบ™เป‚เบ—เบซเบฒเป‚เบ„เบ‡เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ‚เบญเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เป‚เบ”เบเบเบปเบ‡, เป€เบŠเบดเปˆเบ‡เบ”เบตเบ–เป‰เบฒเบ„เบปเบ™เบชเบปเบ™เปƒเบˆเบกเบฑเบ™. เบ›เบฐเบชเบปเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™: เบกเบฒเบฎเบญเบ”เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เบกเบตเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบซเบผเบฒเบ, เบชเบฐเบ™เบฑเป‰เบ™ haikuporter เป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเบ•เบฒเบกเบ—เบตเปˆเบชเบฐเบ”เบงเบเบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ, เปเบ•เปˆ, เปƒเบ™เบ—เบตเปˆเบชเบธเบ”, เบ—เบฑเบ‡เบชเบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ„เบงเบ™เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบฎเปˆเบงเบกเบเบฑเบ™. เบžเบงเบเป€เบฎเบปเบฒเบ„เบงเบ™เปเบ™เบฐเบ™เปเบฒเบŠเบธเบ”เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบŠเบญเบšเปเบงเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ‚เป‰เบฒเบกเบˆเบฒเบ Linux เบซเบผเบทเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบญเบทเปˆเบ™เป† (Haiku เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ).

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเปƒเบซเป‰เบฎเบนเบšเป„เบ‚เปˆเบขเบทเบ™. เบœเบนเป‰เปƒเบŠเป‰ Linux เบ›เบปเบเบเบฐเบ•เบดเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบซเบผเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปเบฅเบฐเบเบฐเป€เบ›เบปเป‹เบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบก (เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž, เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบขเปˆเบฒเบ‡เป€เบ‚เบฑเป‰เบกเบ‡เบงเบ”, เปเบฅเบฐเบญเบทเปˆเบ™เป†) เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™. เบชเบฐเบ™เบฑเป‰เบ™เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ•เบปเบเบฅเบปเบ‡เป€เบซเบฑเบ™เบ”เบตเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™เบงเปˆเบฒเบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เปเบญเบฑเบš Haiku เปƒเบ™ Linux เปเบกเปˆเบ™เบ—เบฒเบ‡เบ—เบตเปˆเบˆเบฐเป„เบ›.

เบชเบฐเบซเบฅเบธเบš

เบเบฒเบ™เบชเบปเปˆเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ POSIX เป„เบ› Haiku เปเบกเปˆเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰, เปเบ•เปˆเบญเบฒเบ”เบˆเบฐเบกเบตเบฅเบฒเบ„เบฒเปเบžเบ‡เบเบงเปˆเบฒเบเบฒเบ™เบชเป‰เบญเบกเปเบ›เบ‡เปเบšเบšเบ›เบปเบเบเบฐเบ•เบด. เบ‚เป‰เบญเบเบ„เบปเบ‡เบˆเบฐเบ•เบดเบ”เบขเบนเปˆเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ”เบปเบ™เบ™เบฒเบ™เบ–เป‰เบฒเบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™เบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญเบ‚เบญเบ‡เบ„เบปเบ™เบˆเบฒเบเบŠเปˆเบญเบ‡ #haiku เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ irc.freenode.net. เปเบ•เปˆโ€‹เป€เบ–เบดเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เป€เบซเบฑเบ™โ€‹เบชเบดเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹เปƒเบ™โ€‹เบ—เบฑเบ™เบ—เบตโ€‹เบ—เบฑเบ™โ€‹เปƒเบ”.

เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ‚เบฝเบ™เปƒเบ™ Qt เปเบกเปˆเบ™เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ. เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป„เบ”เป‰โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบฎเปˆเบงเบกโ€‹เบเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เบชเบฒโ€‹เบ—เบดเบ”โ€‹เบ‡เปˆเบฒเบโ€‹เบ”เบฒเบโ€‹เป‚เบ”เบโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบšเบฑเบ™โ€‹เบซเบฒโ€‹เปƒเบ”เป†โ€‹.

เบเบฒเบ™เบชเป‰เบฒเบ‡เบŠเบธเบ”เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบ, เปเบ•เปˆเบงเปˆเบฒเบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบš "เบญเบญเบเบ•เบฒเบกเบ›เบฐเป€เบžเบ™เบต" เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™, i.e. เบกเบตเบเบฒเบ™เบฎเบงเบšเบฎเบงเบกเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบชเบฐเบšเบฑเบšเบ—เบตเปˆเบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปƒเบ™ haikuports. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡ (เบชเป‰เบฒเบ‡เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเป†เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡) เบเบฑเบš GitHub, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบšเปเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ. เบ—เบตเปˆเบ™เบตเป‰ Haiku เบกเบตเบ„เบงเบฒเบกเบฎเบนเป‰เบชเบถเบเบ„เบทเบเบฑเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบ Linux เบซเบผเบฒเบเบเบงเปˆเบฒเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปƒเบ™ Mac, เบšเปˆเบญเบ™เบ—เบตเปˆเป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบเบปเบ”เบ›เบธเปˆเบก "เบชเป‰เบฒเบ‡" เปƒเบ™ XCode เบ—เปˆเบฒเบ™เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบŠเบธเบ”. .app, เบžเป‰เบญเบกเบ—เบตเปˆเบˆเบฐเบ–เบทเบเปƒเบชเปˆเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฎเบนเบšเปเบœเปˆเบ™ .dmg, เบเบฐเบเบฝเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบฒเบงเป‚เบซเบผเบ”เบขเบนเปˆเปƒเบ™เป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ‚เบญเบ‡เบ‚เป‰เบญเบ.
เบเบฒเบ™เบชเป‰เบฒเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ "เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ" เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™, เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, Linux, เบชเปˆเบงเบ™เบซเบผเบฒเบเบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ–เป‰เบฒเบกเบตเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบˆเบฒเบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰เป‚เบ„เบ‡เบเบฒเบ™ Haiku เบกเบตเบงเบฝเบเบ—เบตเปˆเบเบปเบ”เบ”เบฑเบ™เบซเบผเบฒเบ.

เบฅเบญเบ‡เปƒเบŠเป‰เป€เบญเบ‡! เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”, เป‚เบ„เบ‡เบเบฒเบ™ Haiku เบชเบฐเบซเบ™เบญเบ‡เบฎเบนเบšเบžเบฒเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ booting เบˆเบฒเบ DVD เบซเบผเบท USB, เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™ ะตะถะตะดะฝะตะฒะฝะพ. เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฑเป‰เบ‡, เบžเบฝเบ‡เปเบ•เปˆเบ”เบฒเบงเป‚เบซเบฅเบ”เบฎเบนเบšเบžเบฒเบšเปเบฅเบฐเบ‚เบฝเบ™เบกเบฑเบ™เปƒเบชเปˆ flash drive เป‚เบ”เบเปƒเบŠเป‰ Etcher

เบ—เปˆเบฒเบ™โ€‹เบกเบตโ€‹เบ„เปเบฒโ€‹เบ–เบฒเบกโ€‹เปƒเบ”เป†? เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบ‚เปโ€‹เป€เบŠเบทเป‰เบญโ€‹เป€เบŠเบตเบ™โ€‹เบ—เปˆเบฒเบ™โ€‹เบเบฑเบšโ€‹เบžเบฒโ€‹เบชเบฒโ€‹เบฅเบฑเบ”โ€‹เป€เบŠเบโ€‹ เบŠเปˆเบญเบ‡เป‚เบ—เบฅเบฐเบžเบฒเบš.

เบžเบฒเบšเบฅเบงเบกเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”: เบงเบดเบ—เบตเบเบฒเบ™เบเบดเบ‡เบ•เบปเบงเป€เบญเบ‡เปƒเบ™เบ•เบตเบ™เปƒเบ™ C เปเบฅเบฐ C ++. เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเบชเบนเบ” Haiku OS

เบˆเบฒเบ เบœเบนเป‰เบ‚เบฝเบ™ เบเบฒเบ™โ€‹เปเบ›โ€‹เบžเบฒโ€‹เบชเบฒโ€‹: เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบšเบปเบ”โ€‹เบ„เบงเบฒเบกโ€‹เบ—เบตโ€‹เบซเป‰เบฒโ€‹เปƒเบ™โ€‹เบŠเบธเบ”โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบš Haikuโ€‹.

เบฅเบฒเบเบŠเบทเปˆเบšเบปเบ”เบ„เบงเบฒเบก: เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ” เบ—เบตเบชเบญเบ‡ เบ—เบตเบชเบฒเบก เบชเบตเปˆ

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™