Pages: 1
  Print  
Author Topic: EnigmaFileFunctions repo  (Read 7176 times)
Offline (Male) Josh @ Dreamland
Posted on: July 05, 2014, 02:07:37 pm

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2950

View Profile Email
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
Offline (Male) Goombert
Reply #1 Posted on: July 10, 2014, 10:53:52 pm

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 2993

View Profile
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.

Offline (Male) Josh @ Dreamland
Reply #2 Posted on: July 12, 2014, 02:49:15 pm

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2950

View Profile Email
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
Offline (Male) Goombert
Reply #3 Posted on: July 12, 2014, 10:52:38 pm

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 2993

View Profile
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.

Offline (Male) edsquare
Reply #4 Posted on: July 13, 2014, 12:24:04 am

Member
Location: The throne of ringworld
Joined: Apr 2014
Posts: 402

View Profile
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
Offline (Unknown gender) TheExDeus
Reply #5 Posted on: July 13, 2014, 07:15:03 am

Developer
Joined: Apr 2008
Posts: 1860

View Profile
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
Offline (Male) Josh @ Dreamland
Reply #6 Posted on: July 13, 2014, 09:51:09 am

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2950

View Profile Email
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
Offline (Male) Goombert
Reply #7 Posted on: July 14, 2014, 02:43:24 am

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 2993

View Profile
Of course it's hopeless Josh, it's Windows, do you got fucking blinders on or what?

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.

Pages: 1
  Print