Jack Dorsey představil (𝕏, Nostr) svůj nový projekt bitchat. Jedná se o bezpečnou decentralizovanou peer-to-peer aplikaci pro zasílání zpráv bez potřeby internetu, serverů a telefonních čísel. Využívá se Bluetooth Mesh Network. Detaily v technické dokumentaci. Zdrojové kódy jsou k dispozici pod licencí Unlicense.
Hudební přehrávač Amarok byl vydán v nové verzi 3.3 "Far Above the Clouds". Nově je postaven na Qt6/KF6 a využívá GStreamer místo Phononu.
Společnost IBM představila novou generaci svých serverů: IBM Power11.
Multiplatformní digitální pracovní stanice pro práci s audiem Ardour byla postavena na GTK2. Vývojáři neplánovali její portaci na GTK3 nebo GTK4. Naopak, v lednu loňského roku si vytvořili vlastní fork GTK2 s názvem YTK. Ten v únoru letošního roku přestal být volitelným a nově byla zcela odstraněna podpora GTK2.
Byla vydána nová verze 6.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Společnost initMAX pořádá sérii bezplatných webinářů věnovaných novému Zabbixu 7.4. Podrobnosti a registrace na webu initMAX.
… více »Byla vydána verze 7.0 open source platformy pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Phoenix. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
E-mailový klient Thunderbird byl vydán ve verzi 140.0 ESR „Eclipse“. Jde o vydání s dlouhodobou podporou, shrnující novinky v upozorněních, vzhledu, správě složek a správě účtů. Pozor, nezaměňovat s průběžným vydáním 140.0, které bylo dostupné o týden dříve.
Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.
Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.
Pro Jardíka, je to GPL 3To je normální, GPL fašisti kradou a ubíraj svobodu. Např. dneska jsem čuměl do zdrojáků STL v gcc - v kýblu z nich jsou MIT(-like)/BSD(-like) copyrighty, a nad nima jak kráva valký GPL kopyright, který pak odebírá svobody. Ještě najít použitelnou náhradu za InfraRecorder a už tu nebudu mít žádný GPL shit.
v kýblu z nich jsou MIT(-like)/BSD(-like) copyrighty, a nad nima jak kráva valký GPL kopyright, který pak odebírá svobody.
./bsa-sdl ./graphic.rb:158:in `initialize': undefined method `render_rsvg_handle' for # Cairo::Context:0x7f6cadc84198 (NoMethodError) from ./menu.rb:233:in `new' from ./menu.rb:233:in `render' from ./menu.rb:36:in `initialize' from /home/multi/tmp/bsa/trunk/bsa.rb:148:in `new' from /home/multi/tmp/bsa/trunk/bsa.rb:148
cd ruby-gnome2-all-0.19.3/rsvg/ ruby extconf.rb make sudo make installSamozrejme ze ruby extconf.rb muze vypsat nejake chybejici zavislosti, pak nainstalovat pres balickovac patricne -dev zavislosti vypsanych baliku. Pripadne kdyby zavislost byla z balicku v adresari ruby-gnome2 (je to pack vice ruby knihoven), tak stejnym zpusobem zkompilovat. Bohuzel je to takove debilni (samozrejme je to zasirani systemu, pokud si nechces vyrabet vlastni balicek, ale tady to jen prepise soubory uz nainstalovaneho ruby-rsvg, takze odinstalovanim jeho se to snad vsechno smaze). Az ta hra bude trosku vice vymakana, tak se asi budu muset pustit i do vyrabeni nejakych repozitaru pro distribuce s balicky, jinak si to uzivatele nenajde. A to jsem to jeste nezkousel rozchazet ve windows ;).
ruby extconf.rb checking for GCC... yes checking for rb_define_alloc_func() in ruby.h... yes checking for rb_block_proc() in ruby.h... yes checking for new allocation framework... yes checking for attribute assignment... yes checking for librsvg-2.0... no [multi@KingTux ~/tmp/ruby-gnome2-all-0.19.3/rsvg]$ make make[1]: Entering directory `/home/multi/tmp/ruby-gnome2-all-0.19.3/rsvg/src' cc -I. -I/home/kou/work/ruby/ruby-gnome2.clean/glib/src -I/home/kou/work/ruby/ruby-gnome2.clean/glib/src -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/home/kou/work/ruby/ruby-gnome2.clean/rsvg -DHAVE_RB_DEFINE_ALLOC_FUNC -DHAVE_RB_BLOCK_PROC -DHAVE_OBJECT_ALLOCATE -DHAVE_NODE_ATTRASGN -DHAVE_RSVG_SET_DEFAULT_DPI -DHAVE_RSVG_SET_DEFAULT_DPI_X_Y -DHAVE_RSVG_HANDLE_SET_DPI -DHAVE_RSVG_HANDLE_SET_DPI_X_Y -DHAVE_RSVG_HANDLE_GET_METADATA -DHAVE_RSVG_HANDLE_FREE -DHAVE_RSVG_HANDLE_GET_PIXBUF_SUB -DHAVE_TYPE_RSVGDIMENSIONDATA -DHAVE_RB_CAIRO_H -DHAVE_LIBRSVG_RSVG_CAIRO_H -DHAVE_LIBRSVG_LIBRSVG_ENUM_TYPES_H -DRUBY_RSVG2_COMPILATION -fPIC -fno-strict-aliasing -g -g -O2 -fPIC -Wall -D_REENTRANT -I/usr/include/librsvg-2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -D_REENTRANT -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -c rbrsvg.c rbrsvg.c:16:20: error: rbglib.h: není souborem ani adresářem rbrsvg.c:17:23: error: rbgobject.h: není souborem ani adresářem rbrsvg.c:22:28: error: librsvg/rsvg.h: není souborem ani adresářem rbrsvg.c:26:24: error: rb_cairo.h: není souborem ani adresářem rbrsvg.c:27:34: error: librsvg/rsvg-cairo.h: není souborem ani adresářem rbrsvg.c:31:42: error: librsvg/librsvg-enum-types.h: není souborem ani adresářem rbrsvg.c:36:38: error: librsvg/librsvg-features.h: není souborem ani adresářem rbrsvg.c:63: error: expected ‘)’ before ‘*’ token rbrsvg.c:91: error: expected ‘)’ before ‘*’ token rbrsvg.c: In function ‘rb_rsvg_dim_alloc’: rbrsvg.c:101: error: ‘RsvgDimensionData’ undeclared (first use in this function) rbrsvg.c:101: error: (Each undeclared identifier is reported only once rbrsvg.c:101: error: for each function it appears in.) rbrsvg.c:101: error: ‘dimp’ undeclared (first use in this function) rbrsvg.c:102: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_dim_initialize’: rbrsvg.c:110: error: ‘RsvgDimensionData’ undeclared (first use in this function) rbrsvg.c:110: error: ‘dimp’ undeclared (first use in this function) rbrsvg.c:112: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_dim_get_width’: rbrsvg.c:130: error: ‘RsvgDimensionData’ undeclared (first use in this function) rbrsvg.c:130: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_dim_set_width’: rbrsvg.c:136: error: ‘RsvgDimensionData’ undeclared (first use in this function) rbrsvg.c:136: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_dim_get_height’: rbrsvg.c:143: error: ‘RsvgDimensionData’ undeclared (first use in this function) rbrsvg.c:143: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_dim_set_height’: rbrsvg.c:149: error: ‘RsvgDimensionData’ undeclared (first use in this function) rbrsvg.c:149: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_dim_get_em’: rbrsvg.c:156: error: ‘RsvgDimensionData’ undeclared (first use in this function) rbrsvg.c:156: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_dim_set_em’: rbrsvg.c:162: error: ‘RsvgDimensionData’ undeclared (first use in this function) rbrsvg.c:162: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_dim_get_ex’: rbrsvg.c:169: error: ‘RsvgDimensionData’ undeclared (first use in this function) rbrsvg.c:169: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_dim_set_ex’: rbrsvg.c:175: error: ‘RsvgDimensionData’ undeclared (first use in this function) rbrsvg.c:175: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_set_default_dpi’: rbrsvg.c:222: warning: implicit declaration of function ‘rsvg_set_default_dpi’ rbrsvg.c: In function ‘rb_rsvg_set_default_dpi_x_y’: rbrsvg.c:233: warning: implicit declaration of function ‘rsvg_set_default_dpi_x_y’ rbrsvg.c: In function ‘rb_rsvg_handle_set_dpi’: rbrsvg.c:244: warning: implicit declaration of function ‘rsvg_handle_set_dpi’ rbrsvg.c:244: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:244: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_handle_set_dpi_x_y’: rbrsvg.c:255: warning: implicit declaration of function ‘rsvg_handle_set_dpi_x_y’ rbrsvg.c:255: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:255: error: expected expression before ‘)’ token rbrsvg.c: At top level: rbrsvg.c:264: error: expected ‘)’ before ‘*’ token rbrsvg.c: In function ‘rb_rsvg_handle_alloc’: rbrsvg.c:274: error: ‘rb_rsvg_handle_free’ undeclared (first use in this function) rbrsvg.c: In function ‘rb_rsvg_handle_initialize’: rbrsvg.c:313: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:313: error: ‘handle’ undeclared (first use in this function) rbrsvg.c:320: warning: implicit declaration of function ‘RVAL2CBOOL’ rbrsvg.c:325: warning: implicit declaration of function ‘rsvg_handle_new’ rbrsvg.c: In function ‘rb_rsvg_handle_set_size_callback’: rbrsvg.c:346: warning: implicit declaration of function ‘rsvg_handle_set_size_callback’ rbrsvg.c:346: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:346: error: expected expression before ‘)’ token rbrsvg.c:346: error: ‘exec_callback’ undeclared (first use in this function) rbrsvg.c:347: error: ‘gpointer’ undeclared (first use in this function) rbrsvg.c: In function ‘rb_rsvg_handle_write’: rbrsvg.c:354: error: ‘gboolean’ undeclared (first use in this function) rbrsvg.c:354: error: expected ‘;’ before ‘result’ rbrsvg.c:355: error: ‘GError’ undeclared (first use in this function) rbrsvg.c:355: error: ‘error’ undeclared (first use in this function) rbrsvg.c:357: error: ‘result’ undeclared (first use in this function) rbrsvg.c:357: warning: implicit declaration of function ‘rsvg_handle_write’ rbrsvg.c:357: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:357: error: expected expression before ‘)’ token rbrsvg.c:357: warning: implicit declaration of function ‘RVAL2CSTR’ rbrsvg.c:357: warning: type defaults to ‘int’ in declaration of ‘type name’ rbrsvg.c:360: warning: implicit declaration of function ‘RAISE_GERROR’ rbrsvg.c:362: warning: implicit declaration of function ‘CBOOL2RVAL’ rbrsvg.c: In function ‘rb_rsvg_handle_close’: rbrsvg.c:368: error: ‘gboolean’ undeclared (first use in this function) rbrsvg.c:368: error: expected ‘;’ before ‘result’ rbrsvg.c:369: error: ‘GError’ undeclared (first use in this function) rbrsvg.c:369: error: ‘error’ undeclared (first use in this function) rbrsvg.c:375: error: ‘result’ undeclared (first use in this function) rbrsvg.c:375: warning: implicit declaration of function ‘rsvg_handle_close’ rbrsvg.c:375: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:375: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_handle_get_pixbuf’: rbrsvg.c:397: error: ‘GdkPixbuf’ undeclared (first use in this function) rbrsvg.c:397: error: ‘pixbuf’ undeclared (first use in this function) rbrsvg.c:401: warning: implicit declaration of function ‘rsvg_handle_get_pixbuf’ rbrsvg.c:401: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:401: error: expected expression before ‘)’ token rbrsvg.c:404: warning: implicit declaration of function ‘rsvg_handle_get_pixbuf_sub’ rbrsvg.c:404: error: expected expression before ‘)’ token rbrsvg.c:405: warning: cast to pointer from integer of different size rbrsvg.c:412: warning: implicit declaration of function ‘GOBJ2RVAL’ rbrsvg.c:414: warning: implicit declaration of function ‘g_object_unref’ rbrsvg.c: In function ‘rb_rsvg_pixbuf_from_file’: rbrsvg.c:438: error: ‘GdkPixbuf’ undeclared (first use in this function) rbrsvg.c:438: error: ‘pixbuf’ undeclared (first use in this function) rbrsvg.c:439: error: ‘GError’ undeclared (first use in this function) rbrsvg.c:439: error: ‘error’ undeclared (first use in this function) rbrsvg.c:441: warning: implicit declaration of function ‘rsvg_pixbuf_from_file’ rbrsvg.c: In function ‘rb_rsvg_pixbuf_from_file_at_zoom’: rbrsvg.c:455: error: ‘GdkPixbuf’ undeclared (first use in this function) rbrsvg.c:455: error: ‘pixbuf’ undeclared (first use in this function) rbrsvg.c:456: error: ‘GError’ undeclared (first use in this function) rbrsvg.c:456: error: ‘error’ undeclared (first use in this function) rbrsvg.c:458: warning: implicit declaration of function ‘rsvg_pixbuf_from_file_at_zoom’ rbrsvg.c: In function ‘rb_rsvg_pixbuf_from_file_at_size’: rbrsvg.c:475: error: ‘GdkPixbuf’ undeclared (first use in this function) rbrsvg.c:475: error: ‘pixbuf’ undeclared (first use in this function) rbrsvg.c:476: error: ‘GError’ undeclared (first use in this function) rbrsvg.c:476: error: ‘error’ undeclared (first use in this function) rbrsvg.c:478: warning: implicit declaration of function ‘rsvg_pixbuf_from_file_at_size’ rbrsvg.c: In function ‘rb_rsvg_pixbuf_from_file_at_max_size’: rbrsvg.c:495: error: ‘GdkPixbuf’ undeclared (first use in this function) rbrsvg.c:495: error: ‘pixbuf’ undeclared (first use in this function) rbrsvg.c:496: error: ‘GError’ undeclared (first use in this function) rbrsvg.c:496: error: ‘error’ undeclared (first use in this function) rbrsvg.c:498: warning: implicit declaration of function ‘rsvg_pixbuf_from_file_at_max_size’ rbrsvg.c: In function ‘rb_rsvg_pixbuf_from_file_at_zoom_with_max’: rbrsvg.c:519: error: ‘GdkPixbuf’ undeclared (first use in this function) rbrsvg.c:519: error: ‘pixbuf’ undeclared (first use in this function) rbrsvg.c:520: error: ‘GError’ undeclared (first use in this function) rbrsvg.c:520: error: ‘error’ undeclared (first use in this function) rbrsvg.c:522: warning: implicit declaration of function ‘rsvg_pixbuf_from_file_at_zoom_with_max’ rbrsvg.c: In function ‘rb_rsvg_handle_get_dim’: rbrsvg.c:540: error: ‘RsvgDimensionData’ undeclared (first use in this function) rbrsvg.c:540: error: expected ‘;’ before ‘dim’ rbrsvg.c:543: warning: implicit declaration of function ‘rsvg_handle_get_dimensions’ rbrsvg.c:543: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:543: error: expected expression before ‘)’ token rbrsvg.c:543: error: ‘dim’ undeclared (first use in this function) rbrsvg.c: In function ‘rb_rsvg_handle_get_title’: rbrsvg.c:557: warning: implicit declaration of function ‘CSTR2RVAL’ rbrsvg.c:557: warning: implicit declaration of function ‘rsvg_handle_get_title’ rbrsvg.c:557: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:557: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_handle_get_desc’: rbrsvg.c:563: warning: implicit declaration of function ‘rsvg_handle_get_desc’ rbrsvg.c:563: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:563: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_handle_get_metadata’: rbrsvg.c:570: warning: implicit declaration of function ‘rsvg_handle_get_metadata’ rbrsvg.c:570: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:570: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_pixbuf_from_file_at_size_ex’: rbrsvg.c:582: error: ‘GdkPixbuf’ undeclared (first use in this function) rbrsvg.c:582: error: ‘pixbuf’ undeclared (first use in this function) rbrsvg.c:583: error: ‘GError’ undeclared (first use in this function) rbrsvg.c:583: error: ‘error’ undeclared (first use in this function) rbrsvg.c:585: warning: implicit declaration of function ‘rsvg_pixbuf_from_file_at_size_ex’ rbrsvg.c:585: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:585: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_pixbuf_from_file_ex’: rbrsvg.c:602: error: ‘GdkPixbuf’ undeclared (first use in this function) rbrsvg.c:602: error: ‘pixbuf’ undeclared (first use in this function) rbrsvg.c:603: error: ‘GError’ undeclared (first use in this function) rbrsvg.c:603: error: ‘error’ undeclared (first use in this function) rbrsvg.c:605: warning: implicit declaration of function ‘rsvg_pixbuf_from_file_ex’ rbrsvg.c:605: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:605: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_pixbuf_from_file_at_zoom_ex’: rbrsvg.c:621: error: ‘GdkPixbuf’ undeclared (first use in this function) rbrsvg.c:621: error: ‘pixbuf’ undeclared (first use in this function) rbrsvg.c:622: error: ‘GError’ undeclared (first use in this function) rbrsvg.c:622: error: ‘error’ undeclared (first use in this function) rbrsvg.c:624: warning: implicit declaration of function ‘rsvg_pixbuf_from_file_at_zoom_ex’ rbrsvg.c:624: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:624: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_pixbuf_from_file_at_max_size_ex’: rbrsvg.c:642: error: ‘GdkPixbuf’ undeclared (first use in this function) rbrsvg.c:642: error: ‘pixbuf’ undeclared (first use in this function) rbrsvg.c:643: error: ‘GError’ undeclared (first use in this function) rbrsvg.c:643: error: ‘error’ undeclared (first use in this function) rbrsvg.c:645: warning: implicit declaration of function ‘rsvg_pixbuf_from_file_at_max_size_ex’ rbrsvg.c:645: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:645: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_pixbuf_from_file_at_zoom_with_max_ex’: rbrsvg.c:667: error: ‘GdkPixbuf’ undeclared (first use in this function) rbrsvg.c:667: error: ‘pixbuf’ undeclared (first use in this function) rbrsvg.c:668: error: ‘GError’ undeclared (first use in this function) rbrsvg.c:668: error: ‘error’ undeclared (first use in this function) rbrsvg.c:670: warning: implicit declaration of function ‘rsvg_pixbuf_from_file_at_zoom_with_max_ex’ rbrsvg.c:670: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:670: error: expected expression before ‘)’ token rbrsvg.c: In function ‘rb_rsvg_handle_render_cairo’: rbrsvg.c:704: warning: implicit declaration of function ‘rsvg_handle_render_cairo’ rbrsvg.c:704: error: ‘RsvgHandle’ undeclared (first use in this function) rbrsvg.c:704: error: expected expression before ‘)’ token rbrsvg.c:704: warning: implicit declaration of function ‘RVAL2CRCONTEXT’ rbrsvg.c:706: warning: implicit declaration of function ‘rsvg_handle_render_cairo_sub’ rbrsvg.c:706: error: expected expression before ‘)’ token rbrsvg.c:707: warning: cast to pointer from integer of different size rbrsvg.c: In function ‘Init_rsvg2’: rbrsvg.c:731: warning: implicit declaration of function ‘G_DEF_ERROR’ rbrsvg.c:731: error: ‘RSVG_ERROR’ undeclared (first use in this function) rbrsvg.c:731: error: ‘RSVG_TYPE_ERROR’ undeclared (first use in this function) rbrsvg.c:740: error: ‘RBGLIB_MAJOR_VERSION’ undeclared (first use in this function) rbrsvg.c:741: error: ‘RBGLIB_MINOR_VERSION’ undeclared (first use in this function) rbrsvg.c:742: error: ‘RBGLIB_MICRO_VERSION’ undeclared (first use in this function) rbrsvg.c:746: error: ‘LIBRSVG_MAJOR_VERSION’ undeclared (first use in this function) rbrsvg.c:747: error: ‘LIBRSVG_MINOR_VERSION’ undeclared (first use in this function) rbrsvg.c:748: error: ‘LIBRSVG_MICRO_VERSION’ undeclared (first use in this function) rbrsvg.c:775: warning: implicit declaration of function ‘G_DEF_SETTERS’ make[1]: *** [rbrsvg.o] Error 1 make[1]: Leaving directory `/home/multi/tmp/ruby-gnome2-all-0.19.3/rsvg/src' make: *** [all] Error 2
checking for librsvg-2.0... noCož znamená, že musíš nainstalovat librsvg a taky librsvg-dev. Určitě budeš mít v repozitáři (pohledej jen rsvg, třeba se to bude jmenovat trošku jinak). Tipoval bych, že librsvg máš, ale development verzi (s hlavičkovými soubory) ne, proto to nejde přeložit. Pak dáš znova extconf a buď skončí dobře (žádne no na konci nebude) a nebo bude problém v jiné knihovně. Ono u toho librsvg jich je potřeba jen pár, kompilace se pak provede hodně rychle, neboj :).
Tiskni
Sdílej: