I think it's running. I've compressed test.vala into test.7z then : $ valac --pkg libarchive test.vala $ ./test.exe version libarchive 3.1.2 test.vala Well, now I'll test files decompression :) Raum
Sorry, I've sent the wrong vapi file. Please find in attachement the correct files. Regards RaumI'm not sure but a compatible version 3 libarchive.vapi should be similar to these files in attachement. Am I correct ? Indeed I need to read 7zip, not write a 7zip archive. :) Thanks for all informations you provided me ;) Regards, RaumOn Tue, 2013-08-27 at 08:46 +0200, raum no-log org wrote:I had a look to libarchive... It seems libarchive 3.0 could handle 7Zip format (for reading) but unfortunately there is only a vapi file for version 2... I've read some pages about "how to generate vapi" but I didnt success... Should I try to write by hand a vapi file ?libarchive is not GObject-based, so it's not possible to generate a vapi automatically. Writing it by hand is your only option. libarchive 3 is compatible with previous versions, so there is no need to create a new VAPI. Just add what you need to the existing bindings.ThanksOn Mon, 2013-08-26 at 11:27 +0200, raum no-log org wrote:Hello, I've downloaded and build 7Zip library and I've these filescompiled(under Windows using MingW32, with prefix /opt) : /src/lib7zip-1.6.5/Lib7Zip/lib7zip.a /src/lib7zip-1.6.5/Lib7Zip/lib7zip.dll /src/lib7zip-1.6.5/Lib7Zip/lib7zip.h "make install" command didn't copy these files under /opt/bin, /opt/include, /opt/libraryThe 7zip SDK really designed to be embedded within your project, not used as a shared library.I've copied manually in the correct directory but tests programsoutput: # test7zip.exe initialize fail! So I think I've made a mistake somewhere... But how to test it withavala test program ? I need to build a vapi file ? something like that ?Yes, you would need to create VAPI. I looked at the 7zip SDK APIquiterecently and I don't think creating a VAPI would be an easy task.TheAPI is a bit of a mess. I'm not sure what your use case is. If you need to read and write*.7zfiles you might want to look at libarchive?I'm not sure whether they support 7zip or not, but if they do then it would be a much easierwayto go since it already has a VAPI. If you just want to compress stuff you might want to take a look ataproject I've been working on called Squash [1], which does have Vala bindings. It is an abstraction layer for compression libraries (not archivers?that's what libarchive is for), and it supports most ofthealgorithms 7zip uses. I do plan to write a Squash plugin for the 7zip SDK eventually [2],andif you really need PPMD, BCJ, or BCJ2 (Squash already supports LZMA, LZMA2, bzip2, and DEFLATE) I can take a look at that sooner ratherthanlater, but keep in mind that it will not support *.7z archives. Also, if you're not tied to 7zip, you may want to look at FreeArc[3].I don't remember if they have an API you could use or not, but thePPMcompression is better, and the other algorithms are great [4]. Or,ifall you care about is compression ratio, ZPAQ [5] (for which thereis aSquash plugin) is amazing. -Evan [1] http://quixdb.github.io/squash/ [2] https://github.com/quixdb/squash/issues/31 [3] http://freearc.org/ [4] http://compressionratings.com/i_freearc.html [5] http://mattmahoney.net/dc/zpaq.html_______________________________________________ vala-list mailing list vala-list gnome org https://mail.gnome.org/mailman/listinfo/vala-list
Attachment:
test.vala
Description: Binary data