ENIGMA Forums

Contributing to ENIGMA => Developing ENIGMA => Topic started by: Josh @ Dreamland on July 05, 2014, 02:07:37 pm

Title: EnigmaFileFunctions repo
Post by: Josh @ Dreamland on July 05, 2014, 02:07:37 pm
I realize that Robert has been trying to implement a CLI, but this has been on my plate for a while. In fact, when I heard of his intentions, I published a repository I'd started to GitHub for reading files and general file processing groundwork. This includes a UTF8 implementation of std::string (still in progress) and a class for iterating files. Right now, the file iteration class supports zip iteration and filesystem iteration, but it has only been implemented on Linux. The zip iteration should work directly on Windows, provided someone can install libzip in MinGW. Today I coded what should resemble the Windows implementation. I have left it commented since it is not tested.

I meant this procedure to be for Robert, but he seemed generally uninterested in the prospect. I would appreciate it if a Windows developer would do the following:That's the contribution model ENIGMA should arguably be on, and it's the contribution model I'll be sticking to. If no one can deal with that, I suppose I'll continue development at my own pace.

All tests currently pass on Linux. If any tests other than the directory test you're working on/looking at fail on Windows, please let me know.
Title: Re: EnigmaFileFunctions repo
Post by: Goombert on July 10, 2014, 10:53:52 pm
I gave this an honest attempt, I really did, but Windows is fucking hopeless. You'll have to package it for us or something.
Title: Re: EnigmaFileFunctions repo
Post by: Josh @ Dreamland on July 12, 2014, 02:49:15 pm
The more I think about it, the more I realize that maintaining our own package manager will not help us. The missing element is collaboration on the part of individual projects. When ENIGMA "grows up" a little more, we'll end up maintaining our own packages for Debian, Arch, and RedHat. Thus, people on Linux will be able to obtain ENIGMA through their package manager if they add our PPA. This is a form of standardization that just isn't present on Windows. Microsoft offers MSI, but MSI doesn't let you say "you need to have MinGW installed first" and cannot, in fact, tell you where to get MinGW. What we need is a standard, and we have twelve different people competing to be that standard, including Cygwin. Cygwin is terrible; it is an incomplete, broken implementation of a standard Linux distribution, and it has next to zero community support. Sound familiar? We can't offer our own packages any better than they can. What we need is a call for standardization, not another competing package manager.
Title: Re: EnigmaFileFunctions repo
Post by: Goombert on July 12, 2014, 10:52:38 pm
Wow, it's about time you realize this Josh, I've been throwing carrier pigeons over the gates and into the windows at Microsoft for a while, they haven't responded. My advice to you and everyone is this, stick with a competent operating system.
Title: Re: EnigmaFileFunctions repo
Post by: edsquare on July 13, 2014, 12:24:04 am
Although I almost never boot into windows maybe using some sort of package manager would be beneficial:

https://code.google.com/p/windows-package-manager/
Title: Re: EnigmaFileFunctions repo
Post by: TheExDeus on July 13, 2014, 07:15:03 am
How about WiX (http://wixtoolset.org/)? Opensource made by people at Microsoft. It allows things like installing runtimes if they are missing (MinGW) automatically or at least tell you where to get it. All of it basically implemented as XML files, so it should be quite easy to configure. It does support VS a lot, but I think it's not necessary!?!??!
Title: Re: EnigmaFileFunctions repo
Post by: Josh @ Dreamland on July 13, 2014, 09:51:09 am
Don't use carrier pigeons; use bricks.

Anyway, the problem here is, Linux offers shitloads of libraries. I can run [snip=bash]apt-get install libzip-dev[/snip] and, voila, I can now use libzip in my code. On OSX, libzip just comes with XCode, because, well, why wouldn't it? On Windows, there is NOTHING I can distribute to you that will enable you to install a compiler complete with libzip. I am going to have to build libzip into this mess just so Robert can use it on Windows. I hope it actually builds there. If not, we're all hosed.

My best course of action at this point is to modify the makefile so that [snip]make <target> libzip[/snip] builds a local copy of libzip along with the program. Otherwise, it's hopeless.
Title: Re: EnigmaFileFunctions repo
Post by: Goombert on July 14, 2014, 02:43:24 am
Of course it's hopeless Josh, it's Windows, do you got fucking blinders on or what?

(http://i.imgur.com/hnlufwf.png)