TL;DR: ΠΠΎΠ²ΠΈΡΠΎΠΊ ΡΠ²ΠΈΠ΄Π΅Π» Haiku Π² ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π·, ΠΏΡΠΎΠ±ΡΠ΅Ρ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΠΌΠΈΡΠ° Linux.
ΠΠΎΡ ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π΄Π»Ρ Haiku ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Π°Ρ Π² Π΅Π΅ ΡΠΎΡΠΌΠ°Ρ hpkg
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Ρ Π±ΡΠ΄Ρ ΡΡΠΈΡΡΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½ΠΊΡ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΏΠΎΡ β ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π½Π° Haiku Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π΄Π»Ρ Linux. ΠΡΠΎΡΡ ΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π·Π° Π³Π»ΡΠΏΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΡΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅, Π²Π΅Π΄Ρ Ρ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΊΠ°ΠΊ Ρ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΠ» Haiku, Π½Π΅ ΠΏΡΠΎΡΠ»ΠΎ ΠΈ Π½Π΅Π΄Π΅Π»ΠΈ.
Π― Ρ ΠΎΡΡ Π΄ΠΎΡΡΠΈΡΡ ΡΡΠ΅Ρ ΡΠ΅Π»Π΅ΠΉ:
- ΠΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠ΅ CLI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
- ΠΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ GUI Π½Π° Qt
- Π£ΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ΠΈΡ ΠΏΠΎΡΠΎΠΌ Π² ΡΠΎΡΠΌΠ°Ρ hpkg (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π²ΡΠ΅ Π΅ΡΠ΅ Π΄ΡΠΌΠ°Ρ ΠΎΠ± Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ AppDir ΠΈ AppImage Π΄Π»Ρ Haiku…)
ΠΡΠΈΡΡΡΠΏΠΈΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π°Ρ
467 ΡΡΡΠ°Π½ΠΈΡ β ΠΈ ΡΡΠΎ Ρ 1997 Π³ΠΎΠ΄Π°! ΠΠ°Π³Π»ΡΠ΄ΡΠ²Π°ΡΡ Π²Π½ΡΡΡΡ ΡΡΡΠ°ΡΠ½ΠΎ, Π½ΠΎ Π½Π°Π΄Π΅ΡΡΡ Π½Π° Π»ΡΡΡΠ΅Π΅. ΠΠ±Π½Π°Π΄Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ»ΠΎΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°: «Π΄ΠΎΠ»Π³ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ BeOS Π½Π΅ Π±ΡΠ»Π° POSIX-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠΉ», Π·Π°ΡΠΎ Haiku «ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈΒ» ΡΠΆΠ΅ ΡΠ°ΠΊΠ°Ρ.
ΠΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ CLI
ΠΠ΅ΡΠ²ΠΎΠΉ ΠΌΡΡΠ»ΡΡ Π±ΡΠ»ΠΎ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠ΅ΡΠ²Π°Ρ ΠΏΠΎΠΏΡΡΠΊΠ°: Π½Π΅ΡΠ΅Π³ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ
Π§Π΅Π³ΠΎ ΠΌΠ½Π΅ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ½ΡΡΡ, ΡΠ°ΠΊ ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΆΠ΅
ΠΡΠΎΡΠ°Ρ ΠΏΠΎΠΏΡΡΠΊΠ°: Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ
ΠΡΠ°ΠΊ, Ρ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
Π― Π½Π° Π½Π΅ΠΌ ΠΏΠ΅ΡΠ°ΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠΈΠΊΠ΅ΡΠΊΠΈ, ΠΈ Π²Ρ Π΅Π³ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² ΠΏΡΠΎΡΠ»ΠΎΠΉ ΡΡΠ°ΡΡΠ΅. Π§ΡΡΡ ΡΠ°Π½Π΅Π΅ Ρ Π½Π°ΠΏΠΈΡΠ°Π» Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ-ΠΎΠ±Π΅ΡΡΠΊΡ Ρ GUI Π½Π° Python (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° Π½Π° Gtk+ β ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ, Π° ΡΡΠΎ Ρ
ΠΎΡΠΎΡΠΈΠΉ ΠΏΠΎΠ²ΠΎΠ΄ ΠΏΠΎΠ΄ΡΡΠΈΡΡΡΡ).
ΠΡΠΈΠ½ΡΠ΅Ρ Π΄Π»Ρ ΡΡΠΈΠΊΠ΅ΡΠΎΠΊ Brother P-Touch 770. ΠΠ°ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ ΠΏΠΎΠ΄ Haiku?
ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Haiku Π·Π½Π°Π΅Ρ ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ
ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ
, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ «can’t find 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 ΡΠ»ΠΈΡΠΊΠΎΠΌ Π»ΠΈΠ½ΡΠΊΡΡΡΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π»Ρ Haiku. Π§ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΡΠ°Π²ΠΊΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΏΡΡΠ°ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ.
ΠΡ
, Π²ΡΡΠ΅ Π³ΠΎΠ»ΠΎΠ²Ρ Π½Π΅ ΠΏΡΡΠ³Π½Π΅ΡΡ, ΠΈ Ρ Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Ρ, Ρ ΡΠ΅Π³ΠΎ Π½Π°ΡΠ°ΡΡ.
Π’ΡΠ΅ΡΡΡ ΠΏΠΎΠΏΡΡΠΊΠ°
ΠΡΠ»ΠΎ Π±Ρ Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎ ΠΈΠΌΠ΅ΡΡ tmate
Π΄Π»Ρ Haiku, ΡΠΎΠ³Π΄Π° Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΠ» Π±Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Haiku ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΠΌΠΎΠ΅ΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΡΠΈΠΈ β Π½Π° ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ Π½Π΅ ΡΠ°ΠΊ. ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ΅:
./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. ΠΠΎΠΎΡΠΈΡ Π½Π°Π±Π»ΡΠ΄Π°Ρ, ΠΊΠ°ΠΊ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ
Π‘Π±ΠΎΡΠΊΠ° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ msgpack Π½Π° buildmaster
ΠΠ΅ΠΆΠ΄Ρ Π΄Π΅Π»ΠΎΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΡ patch Π² upstream
ΠΡΡΡ ΠΌΠΈΠ½ΡΡ ΡΠΏΡΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ 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
/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.
ΠΠ΄Π΅ΡΡ Ρ Π²ΡΠ»ΠΎΠΆΠΈΠ»
ΠΠ½Π΅ ΠΏΠΎΡΡΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ ΠΊ libresolv Π½Π° Haiku Π΅ΡΡΡ ΡΡΠΎ-ΡΠΎ Π΅ΡΠ΅ Π² libnetwork. ΠΠΎ Π²ΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π°Π΄ΠΎ Π΄Π°Π»ΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄. ΠΠ°Π΄ΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ…
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
Π’ΠΎ ΠΆΠ΅, ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠΎΡΠΈΠ»Ρ. ΠΠΎΠ³ΡΠ³Π»ΠΈΠ» ΠΈ -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
«Bad port ID» β ΡΡΠΎ ΡΠΆΠ΅ ΠΊΠ°ΠΊ Π²ΠΈΠ·ΠΈΡΠΊΠ°
ΠΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ 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, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ «Making it into a proper .hpkg package» - ΠΠ½Π΅ Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ
ΡΠ°ΠΊΠΎΠ΅ - ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
hpkg-creator (Ρ ΠΌΠ΅Π½Ρ Π²ΡΠ»Π΅ΡΠ°Π΅Ρ,ΠΎΡΡΠ΅Ρ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ )
ΠΠ΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ. ΠΠΎΠ»Π°Π³Π°Ρ, ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² Π² ΡΡΠΈΠ»Π΅ «ΠΡΠΈΠ²Π΅Ρ, ΠΠΈΡ!», Π² ΠΈΠ΄Π΅Π°Π»Π΅ β Π²ΠΈΠ΄Π΅ΠΎ. ΠΡΠ»ΠΎ Π±Ρ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ Π΅ΡΠ΅ ΠΎΠ±Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΌ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π² HaikuPorter, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² GNU hello.
Π§ΠΈΡΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
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
. ΠΡΠΎΠ²Π΅ΡΡΡΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
Π Ρ ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ°ΡΠΈ ΡΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π΄Π΅Π»Π°ΡΡΡΡ Π½Π° ΠΌΠΎΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, Π° Π½Π΅ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ 1 ΡΠ°Π· Π΄Π»Ρ Π²ΡΠ΅Ρ ?
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ mr. 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!
ΠΠΎΠ·Π½ΠΈΠΊ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ. ΠΡΠ»ΠΈ Ρ Π΄ΠΎΠ±Π°Π²Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠΌΠΌΡ Π² ΡΠ΅ΡΠ΅ΠΏΡ β Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΠΎΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ git commit Π΄Π»Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ? (Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ: Β«ΠΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΡΠΉΠ΄Π΅Ρ. Π Π΅ΡΠ΅ΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π±ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΌΠΈ»).
ΠΠ»Ρ ΠΏΡΠΈΠΊΠΎΠ»Π° Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² ΡΠ΅ΡΠ΅ΠΏΡ:
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, ΠΊΠΎΠ΄ ΡΠΆΠ΅ ΡΠ°ΠΌ Π½Π°ΠΏΡΡΠΌΡΡ, Π½Π΅ΡΠ΅Π³ΠΎ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ. Π‘ ΠΌΠΎΠ΅ΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΌΠ½ΡΠΌ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΈΡΠΊΠ°ΡΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠΈΠΊ, Π΅ΡΠ»ΠΈ Π΅ΠΌΡ Π½Π°Π΄ 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. Π’ΠΎ Π»ΠΈ Π΄Π΅Π»ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΡΡΠ°Π·Ρ ΠΆΠ΅, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Ρ ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Ρ «Π²ΠΎΠ·Π½ΠΈ».
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ:
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-ΡΠΎ Π½Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ!) ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΡΠ°Π΅ΡΡΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ΡΡΠΎ-ΡΠΎ.
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ
ΠΡ Π΄Π°, ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΏΠΎΡΠ»ΡΠΆΠΈΠ»ΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΡΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² β ΡΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΡ Π°ΡΡ ΠΈΠ²Π°, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Ρ Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΡΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ, Ρ.ΠΊ. ΡΡΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π‘Π»Π΅Π΄ΡΡΠ²ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ «Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ» git ΠΈ Π΄ΡΡΠ³ΠΈΡ VCS. ΠΠ΅ΡΠΎΡΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅Π³Π΄Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΎΠ·Π΄Π°ΡΡ Π°ΡΡ ΠΈΠ² Π½Π° GitHub Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈ ΡΠ°ΡΡΠΎ Π±ΡΡΡΡΠ΅Π΅. ΠΡ ΠΈ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΈΠΌ ΠΊΡΠΈΡΠ°ΡΠΈΠΌβ¦ (ΠΌΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ»ΠΈΡΠ½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠ΅ΡΠ΅ΠΏΡΠΎΠ² Π² 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, Π±ΡΠ΄Π΅Ρ ΠΎΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π° ΠΌΡ Π½Π΅ Ρ ΠΎΡΠΈΠΌ ΡΠΈΡΠΊΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΠΈΡΠ°Ρ ΠΈ ΠΏΠΎΡΡΠ°Π²Π»ΡΡ «Π²ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Π² upstream».
ΠΠΎΠ½ΡΠ»! ΠΠΎ Π²ΡΡΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΠ°ΠΊΠΎΠ΅:
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
(...)
ΠΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅Ρ ΡΠ°ΠΊ Π΄ΠΎ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΠΈ. ΠΠΈΠ΄ΠΈΠΌΠΎ, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° (Π΅ΡΡΡ Π·Π°ΡΠ²ΠΊΠ°? Ρ Π½Π΅ Π½Π°ΡΠ΅Π»).
Π‘ haikuporter
ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ
ΠΠΏΡΡΡ ΠΆΠ΅, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ mr. waddlesplash:
ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, HaikuPorter Π²Π΅ΡΡΠΌΠ° ΡΡΡΠΎΠ³ΠΈΠΉ ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (ΠΏΠ»ΡΡ ΠΈΠΌΠ΅ΡΡΡΡ ΡΠ΅ΠΆΠΈΠΌ lint, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠΎΠ³ΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ, Π΄Π΅Π»Π°ΡΡΠΈΠ΅ Π΅Π³ΠΎ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠ³ΠΈΠΌ!), Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΠΈ ΡΡΠ³Π°Π΅ΡΡΡ Π½Π° Π½Π΅ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ , Π½Π΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ , Π½Π΅Π²Π΅ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡΡ ΠΈ Ρ.ΠΏ. Π¦Π΅Π»Ρ β ΠΎΡΠ»ΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ Π±Π΅Π· ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Π±ΡΠ΄ΡΡΠΈΠ΅, Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠ± ΡΡΠΎΠΌ ΡΠ·Π½Π°Π΅Ρ (ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ avrdude, Π²Π΅Π΄Ρ Π² ΡΠ΅ΡΠ΅ΠΏΡΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ»Π° ΡΠΊΠ°Π·Π°Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ). ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ SO. HaikuPorter ΡΠ»Π΅Π΄ΠΈΡ Π·Π° ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ Π² ΡΠ°ΠΌΠΈΡ ΡΠ΅ΡΠ΅ΠΏΡΠ°Ρ , ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ ΡΠ°ΠΊΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΡΡΠΎΠ³ΠΎΡΡΠΈ ΠΎΠΏΡΠ°Π²Π΄Π°Π½ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π½ΠΎ ΠΌΠ½Π΅ ΠΎΠ½ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΈΠ·Π»ΠΈΡΠ½ΠΈΠΌ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ «hello world». Π― ΡΠ΅ΡΠΈΠ» ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π΅ΡΠ΅.
Π‘Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ 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
.
ΠΠΏΡΡΡ ΠΆΠ΅ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ Π±ΡΡΡΡΠΎ, ΠΏΡΠΎΡΡΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. ΠΠΎΡΡΡΡΠ°ΡΡΠ΅, Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ!
ΠΠΎβ¦ (ΠΊΡΠ΄Π° Π±Π΅Π· Π½ΠΈΡ !)
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π² QuickLaunch. ΠΡΠΌΠ°Ρ, ΡΠΆΠ΅ Π·Π½Π°Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΡΠΈΠ½ΠΈΡΡ. Π ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Ρ QtQuickApp.hpkg Ρ ~/config/packages Π² /system/packages.
ΠΠ΅-Π°, Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ. ΠΠΎ Π²ΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Ρ (Π½Ρ, ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ) ΡΡΠΎ-ΡΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΠ».
ΠΡΠΌΠΎΡΡΠ΅Π² Π²ΠΊΠ»Π°Π΄ΠΊΡ «Contents» Π² 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
ΠΠΏΠΎΠ»Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎΡ ΡΡΡΠΊ ΠΏΡΠΎΠΊΠ°ΡΠΈΡ, Π½ΠΎ ΠΎΡΡΠ°Π»ΠΈΡΡ Π²ΠΎΠΏΡΠΎΡΡ: Π·Π°ΡΠ΅ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ? ΠΠΎ-ΠΌΠΎΠ΅ΠΌΡ ΡΡΠΎ ΡΠ°Π·ΡΡΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅Π΅ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° β ΡΠ°ΠΊΠ°Ρ ΡΡΠΎΠ½ΡΠ΅Π½Π½Π°Ρ.
ΠΠ°ΠΊ ΠΏΠΎΡΡΠ½ΠΈΠ» mr. waddlesplash:
ΠΠ½ΠΎΠ³Π΄Π° Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, Π½ΠΎ Π½Π΅ Π² ΠΌΠ΅Π½Ρ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, LegacyPackageInstaller Π½Π° ΠΠ°ΡΠ΅ΠΌ ΡΠ½ΠΈΠΌΠΊΠ΅ ΡΠΊΡΠ°Π½Π°, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ Π°ΡΡ ΠΈΠ²Ρ .pkg Π² ΡΠΎΡΠΌΠ°ΡΠ΅ BeOS. Π₯ΠΎΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈΡ ΡΡΠ°Π²ΠΈΠ»ΠΈ, Π½ΠΎ ΠΈΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π² ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΏΡΡΠ°Π½ΠΈΡΠ΅.
ΠΠ½Π΅ ΠΏΠΎΡΠ΅ΠΌΡ-ΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ Hidden=true
Π² ΡΠ°ΠΉΠ»Π°Ρ
.desktop
Π½Π° Linux. ΠΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ ΡΠ΄Π΅Π»Π°ΡΡ «ΡΠΊΡΡΡΡΡ» ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠΌ ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ?
Π§ΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π½Π΅ ΡΡΠΎΠ½ΡΠ΅Π½Π½ΠΎ β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ (Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΌΠ΅Π½Ρ, deskbar
, ΠΆΠ΅ΡΡΠΊΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°Π½ΠΎ Π² ΠΏΡΡΠΈ.
mr. waddlesplash ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΠΏΠΎΡΡΠ½ΡΠ΅Ρ:
«Deskbar» Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΈΠΉ ΠΎΠ±ΡΠΈΠΉ ΡΠ΅ΡΠΌΠΈΠ½ (ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ «taskbar», ΠΎΡΠ½ΠΎΡΡΡΠΈΠΉΡΡ ΠΊΠ°ΠΊ ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Windows, ΡΠ°ΠΊ ΠΈ ΠΊ ΠΎΠ±ΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ). ΠΡ Π° ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ
deskbar
, Π° Π½Π΅ «Deskbar», ΡΡΠΎ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΡ ΠΎΠΆΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
2 «ΠΏΠΎΡΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΡ
» ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π² Π½ΠΈΡ
ΠΠΎΡΠ΅ΠΌΡ Π΅ΡΡΡ 2 ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ΅ΠΌΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠΎΠΉ QtQuickApplication Π΅ΡΡΡ, Π° Π² Π΄ΡΡΠ³ΠΎΠΌ β Π½Π΅Ρ? (ΠΠ΅Π΄Ρ ΡΡΠΎ Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ, Π° Π²ΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ, ΡΡΠΎ Π»ΠΈΡΠ½ΠΎ ΠΌΠ½Π΅ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΠΎΠ½ΡΡΠ½ΠΎ).
Π― ΡΠ΅Π°Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΠ°Π»ΡΡ ΠΈ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π½Π°Π΄ΠΎ Π±Ρ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ.
ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ mr. waddlesplash
Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Apps Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π΅ Π½ΡΠΆΠ½ΡΠ΅ Π² ΠΌΠ΅Π½Ρ. ΠΠΎ ΡΠΈΡΡΠ°ΡΠΈΡ Ρ ΠΌΠ΅Π½Ρ Π² ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π°Π΄ΠΎ ΡΠ»ΡΡΡΠΈΡΡ, ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌ.
ΠΠ°ΡΠ²ΠΊΠ°, ΠΈΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ»ΡΡΠΈΡΡΡ π
Π― Π·Π°Π΄ΡΠΌΠ°Π»ΡΡ: ΡΠ°ΠΊ Π»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² /system/apps
, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΈΡ
Π²ΠΈΠ΄Π΅ΡΡ ΡΠ°ΠΌ β Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΠΎΠΆΠ΅Ρ, Π»ΡΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΠΈΡ
Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ Π½ΠΈΠΌΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ? Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² Mac OS X, Π³Π΄Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² .app
, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΠΈΠ΄Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² /Applications
, ΠΏΡΡΡΠ΅ΡΡΡ Π² Π½Π΅Π΄ΡΠ°Ρ
/System/Library/…«`.
Π§ΡΠΎ Π½Π°ΡΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ?
ΠΡΠΌΠ°Ρ, ΡΡΠΎΠΈΡ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π²Π΅Π΄Ρ ΡΠ°ΠΊ? ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΡΠΈΡΠ°ΡΡ Qt ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Haiku ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ? ΠΠ΅Π°! Qt ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½. ΠΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ² ΡΠ°ΠΉΠ»Ρ ELF? ΠΠ½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ HaikuPorter Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΠΊ ΠΈ Π΄Π΅Π»Π°Π΅Ρ, Π° Π²ΠΎΡ package
Π½Π΅Ρ. ΠΡΠ΅ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ «ΡΠ±ΠΎΡΡΠΈΠΊ ΠΏΠ°ΠΊΠ΅ΡΠ°», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ hpkg
.
Π‘ΡΠΎΠΈΡ Π»ΠΈ Π΄Π΅Π»Π°ΡΡ Haiku ΡΡΠΎΠ½ΡΠ΅Π½Π½Π΅Π΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π½Π΅ Π²Ρ
ΠΎΠ΄ΡΡΠΈΡ
Π² haikuports
? (ΠΠ½Π΅ Π±Ρ ΡΠ°ΠΊ Ρ
ΠΎΡΠ΅Π»ΠΎΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ Π·Π°Π΄Π°ΡΡ β ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΌΠΎΠ³Π»Π° Π±Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΡΠΊΡΠ΄Π° ΡΠ³ΠΎΠ΄Π½ΠΎ, Π±Π΅Π· Π²ΠΎΠ·Π½ΠΈ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²).
mr. waddlesplash ΠΏΠΎΡΡΠ½ΡΠ΅Ρ:
ΠΠ°ΠΌ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠ°ΠΊ ΡΠΈΠ»ΡΠ½ΠΎ, Π²Π΅Π΄Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΠΎΠΌΠΏΠ°Π½ΠΈΡΠ₯ Π·Π°Ρ ΠΎΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΠ Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ (Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ) β ΠΎΠ½Π° ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ.
Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎΠΈΠ»ΠΎ Π±Ρ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΎΡ ΡΠ΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ, Π½Π΅ Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π² haikuports, ΠΏΡΡΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠΎ, Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΠ΅ΠΌΠ° Π΄Π»Ρ Π±ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠΈ Π² ΡΡΠΎΠΉ ΡΠ΅ΡΠΈΠΈ. [ΠΠ²ΡΠΎΡ ΠΊΠ»ΠΎΠ½ΠΈΡ ΠΊ AppImage? β ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°]
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π ΡΡΠΎ Π΅ΡΠ»ΠΈ Ρ Ρ ΠΎΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠ΅ΡΡΡΡΡ ΠΌΠΎΠ΅Π³ΠΎ ΡΠ²Π΅ΠΆΠ΅ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ΄Π½Ρ ΠΈΠ· Π°ΠΊΠΊΡΡΠ°ΡΠ½Π΅Π½ΡΠΊΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΈΠΊΠΎΠ½ΠΎΠΊ? ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ΅ΠΌΠ°, ΡΠ°ΠΊ ΡΡΠΎ ΠΎΠ½Π° ΡΡΠ°Π½Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠΈ.
ΠΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΡ ΡΠ±ΠΎΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ?
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ Inkscape (Π΄Π°, Ρ Π² ΠΊΡΡΡΠ΅, ΡΡΠΎ Π΅Π³ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅Ρ Π² Haiku, Π½ΠΎ Π½Π° Π½Π΅ΠΌ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ). Π£ Π½ΠΈΡ
Π΅ΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° https://gitlab.com/inkscape/inkscape
.
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΊΡΠΎ-ΡΠΎ ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΡΠ°Π²ΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΡΡΡΡΡ, ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ AppImage Π΄Π»Ρ Linux (Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ, ΠΈΠ»ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ [Ρ ΡΠ°ΠΊ ΠΈ Π·Π½Π°Π»! β ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°]). ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π²ΡΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ±ΡΠ°Π½Π½ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΠ΄Π°, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅, Π΅ΡΠ΅ Π΄ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ.
ΠΠ°ΠΏΡΠΎΡΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΡΠΎ ΡΡΠ°ΡΡΡΠ°ΠΌΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΊΠ°ΡΠ°ΡΡ ΡΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ (ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π° Π·Π΅Π»Π΅Π½ΡΠΌ)
Π‘Π±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ Docker. GitLab ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ runners Π½Π° Linux, ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ runners (ΠΊΡΡΠ°ΡΠΈ, Ρ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ Π²ΡΠΎΠ΄Π΅ Haiku, ΠΊΠΎΡΠΎΡΡΠ΅, ΠΊΠ°ΠΊ Ρ Π·Π½Π°Ρ, Π½Π΅ ΠΈΠΌΠ΅ΡΡ Docker ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³Π°, Π½ΠΎ Π΄Π»Ρ FreeBSD ΡΠ°ΠΊΠΆΠ΅ Π½Π΅Ρ Docker, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π° Π΄Π»Ρ Haiku).
Π ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Haiku ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Docker Π΄Π»Ρ Linux. ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΡΠ°ΡΠΊΠ»Π°Π΄Π΅ ΡΠ±ΠΎΡΠΊΠ° Π΄Π»Ρ Haiku ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²Π½Π΅Π΄ΡΠ΅Π½Π° Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ. ΠΡΡΡ ΠΊΡΠΎΡΡΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ? ΠΠ»ΠΈ Π½Π°Π΄ΠΎ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡ Haiku Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Docker, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎ-ΡΠΎ ΡΠΈΠΏΠ° QEMU/KVM (ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²Π½ΡΡΡΠΈ Docker)? ΠΡΡΠ°ΡΠΈ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡ
ΠΎΠΆΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Scribus Π΄Π΅Π»Π°Π΅Ρ ΡΠ°ΠΊ β ΠΎΠ½ ΡΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ Haiku. ΠΠ΄Π½Π°ΠΆΠ΄Ρ Π½Π°ΡΡΡΠΏΠΈΡ Π΄Π΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠΌΠΎΠ³Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΠΎΡΡΠ½ΡΠ΅Ρ:
ΠΠ»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΆΠ΅Π»Π°ΡΡΠΈΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ CMake/CPack. ΠΡΡΠ³ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½Ρ, Π΅ΡΠ»ΠΈ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π°ΠΏΡΡΠΌΡΡ, ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ, Π΅ΡΠ»ΠΈ Π»ΡΠ΄ΠΈ Π±ΡΠ΄ΡΡ Π² ΡΡΠΎΠΌ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ. ΠΠΏΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ: Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ° Π½Π΅ Π±ΡΠ»ΠΎ, ΡΠ°ΠΊ ΡΡΠΎ haikuporter ΡΠ°Π±ΠΎΡΠ°Π» ΠΊΠ°ΠΊ ΡΠ΄ΠΎΠ±Π½ΠΎ Π½Π°ΠΌ, Π½ΠΎ, Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅, ΠΎΠ±Π° ΡΠΏΠΎΡΠΎΠ±Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ. ΠΠ°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΠ ΠΈΠ· Linux ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (Haiku Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ ).
ΠΠΏΠ»ΠΎΠ΄ΠΈΡΡΡ ΡΡΠΎΡ. ΠΠ±ΡΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Linux ΡΠ°ΡΠ°Ρ Π²ΡΡ ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π±Π°Π³Π°ΠΆ (Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, ΡΡΡΠΎΠ³ΠΈΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΈ Ρ.ΠΏ.), Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½ΠΊΠ΅, Π½ΠΎ Π½Π΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½, ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Haiku Π½Π° Linux β ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΡΡΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ POSIX Π½Π° Haiku Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π·Π°ΡΡΠ°Ρ, ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠ°. Π― Π±Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠΎΡΠ½ΠΎ Π·Π°Π²ΡΠ· Ρ ΡΡΠΈΠΌ Π½Π°Π΄ΠΎΠ»Π³ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ Π½Π΅ ΠΏΠΎΠΌΠΎΡΡ Π»ΡΠ΄Π΅ΠΉ Ρ ΠΊΠ°Π½Π°Π»Π° #haiku Π² ΡΠ΅ΡΠΈ irc.freenode.net. ΠΠΎ Π΄Π°ΠΆΠ΅ ΠΎΠ½ΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΡΠ°Π·Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Qt, β Π»Π΅Π³ΠΊΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. Π― ΡΠΎΠ±ΡΠ°Π» ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΎΡΠΎΠ±ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
Π‘Π±ΠΎΡΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° Π΄Π»Ρ ΠΏΡΠΎΡΡΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠ°Ρ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ «Π²ΡΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ
ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ», Ρ.Π΅. ΠΈΠΌΠ΅ΡΡΠΈΡ
Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π°ΡΡ
ΠΈΠ²Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π² haikuports. ΠΠ»Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ (ΡΠ±ΠΎΡΠΊΠ° Π½Π° ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ) Ρ GitHub Π²ΡΠ΅ Π²ΡΠΎΠ΄Π΅ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ. Π’ΡΡ Haiku Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ²ΡΡΠ²ΡΠ΅ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ Linux, ΡΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π½Π° MΠ°c, Π³Π΄Π΅ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π‘ΠΎΠ±ΡΠ°ΡΡ» Π² XCode ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ .app
, Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΊ Π²ΡΡΠ°Π²ΠΊΠ΅ Π² ΠΎΠ±ΡΠ°Π· Π΄ΠΈΡΠΊΠ° .dmg
, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΊ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π½Π° ΠΌΠΎΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅.
ΠΠ΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ «ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ» ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½ΠΊΠΈ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Linux, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠ°Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ, Π΅ΡΠ»ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΏΡΠΎΡ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π½ΠΎ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Haiku Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅, Π±ΠΎΠ»Π΅Π΅ Π½Π°ΡΡΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ.
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ°ΠΌΠΈ! ΠΠ΅Π΄Ρ ΠΏΡΠΎΠ΅ΠΊΡ Haiku ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π·Ρ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Ρ DVD ΠΈΠ»ΠΈ USB, ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌΡΠ΅
ΠΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π²ΠΎΠΏΡΠΎΡΡ? ΠΡΠΈΠ³Π»Π°ΡΠ°Π΅ΠΌ Π²Π°Ρ Π² ΡΡΡΡΠΊΠΎΡΠ·ΡΡΠ½ΡΠΉ
ΠΠ±Π·ΠΎΡ ΠΎΡΠΈΠ±ΠΎΠΊ:
ΠΡ
Π‘ΠΏΠΈΡΠΎΠΊ ΡΡΠ°ΡΠ΅ΠΉ:
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com