Liebe Perl-Freunde,
ich habe wieder einmal etwas von dem Gtk3 Perl Modul zu berichten. Eines der größten Schwächen dieses wunderbaren GUI Toolkits war ja die Windows Unterstützung. Zakariyya Mughal hat aber Phantastisches diesbezüglich geleistet (Siehe
hier; ich hab darauf ja schon einmal verlinkt ;-) ).
Endlich fand ich nun die Zeit, seinen Blog Post durchzuarbeiten, und auch wenn mich als reiner Perl Hobby-Programmierer mit null C Erfahrung diese Materie völlig überforderte, gelang es mir ein kleines Installationsskript zu schreiben, das den doch recht komplizierten Installationsvorgang in MSys2/MinGW64 teilweise automatisiert.
Ihr findet das Skript hier
hier. Wenn ich Zeit finde, werde ich auch noch einmal etwas vereinfacht die nötigen Schritte aufschreiben. Aber ich denke das Skript ist in Verbindung mit Zakhis Blogeintrag gut verständlich...
Ich habe das Skript zwar ausreichend auf meinem Windows8 getestet, aber natürlich bin ich für jedes Feedback dankbar. Falls Interesse an einer MinGW32 Version besteht, könnte ich diese gerne auch noch zur Verfügung stellen (es sind nur kleine Änderungen nötig, denke ich).
Eine Kleinigkeit solltet ihr in Euren Skripten evtl. noch ändern. Es gibt derzeit in der MinGW64 shell scheinbar einen mintty Bug, der die Bufferung der Ausgabe betrifft. Wenn ihr in Eurem Programm daher auch im Terminal Ausgaben posten wollt, müsstet ihr das autoflushing von STDOUT oder STDERR folgendermaßen aktivieren (ist aber wirklich nur eine kleine Code Anpassung):
select((select(STDERR), $| = 1)[0]);
select((select(STDOUT), $| = 1)[0]);
Wie ich erfahren habe basteln einige aus der perl/Gtk3 Community gerade auch an einem Skript zur Erstellung eines MSI Installers, um die so erstellten Anwendungen dann später auch besser für Endnutzer packen zu können. Das wäre natürlich phantastisch und ich werde Euch auf jeden Fall hier wieder berichten... Auch wie Strawberry Perl auf die (nativen) Bibliotheken von MinGW64 zugreifen kann, wird scheinbar gerade eruiert..
PS: Falls jemand weitere Ideen / Erfahrungen damit hat, wie man eine in MSys2/MinGW64 erstellte Anwendung für Endanwender möglichst einfach packen kann oder wie man einfach einen MSI Installer für eine MSys2/MinGW64 kompilierte Anwendung erstellt, wäre ich Euch auch ganz dankbar. Aber wahrscheinlich ist das in einem Perl Forum etwas off-topic..
PSS.: MSys2 ist übrigens auch von GTK selbst vorgeschlagene Weg, Programme für Windows zu erstellen (siehe
hier)