Josh @ Dreamland
|
|
Posted on: July 05, 2014, 02:07:37 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
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: - Check out the EnigmaFileFunctions repository
- Open gdir.cpp and seek to the unimplemented functions.
- Uncomment my implementation and fix any issues, or write your own implementation. Just get it to build.
- Run the tests I wrote.
- In Code::Blocks, this is as simple as switching to the "Test" target and running
- If you have GNU make, you can run [snip]make test[/snip] to test
- If the tests don't pass, tweak the code and rerun them.
- Once all tests pass, drop me a pull request.
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.
|
|
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
Goombert
|
|
Reply #1 Posted on: July 10, 2014, 10:53:52 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
I gave this an honest attempt, I really did, but Windows is fucking hopeless. You'll have to package it for us or something.
|
|
« Last Edit: July 10, 2014, 10:57:09 pm by Robert B Colton »
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
Josh @ Dreamland
|
|
Reply #2 Posted on: July 12, 2014, 02:49:15 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
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.
|
|
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
Goombert
|
|
Reply #3 Posted on: July 12, 2014, 10:52:38 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
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.
|
|
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
edsquare
|
|
Reply #4 Posted on: July 13, 2014, 12:24:04 am |
|
|
Location: The throne of ringworld Joined: Apr 2014
Posts: 402
|
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/
|
|
|
Logged
|
A child of five would understand this. Send someone to fetch a child of five. Groucho Marx
|
|
|
TheExDeus
|
|
Reply #5 Posted on: July 13, 2014, 07:15:03 am |
|
|
Joined: Apr 2008
Posts: 1860
|
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!?!??!
|
|
« Last Edit: July 13, 2014, 07:20:44 am by TheExDeus »
|
Logged
|
|
|
|
Josh @ Dreamland
|
|
Reply #6 Posted on: July 13, 2014, 09:51:09 am |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
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.
|
|
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
|
|