[0]: https://github.com/gogcom/galaxy-integrations-python-api
[1]: https://support.gog.com/hc/en-us/articles/360024812473-GOG-G...
For example, JetBrains ships its own Java runtime for all of its IDEs.
In fact, the Python world would be simplified if "ship your own runtime and env" as part of your final application was the norm. The Python runtime and stdlib by itself is like 20-30MB packaged up or something. For certain applications (especially media asset rich ones), that's not that significant.
That's actually the recommended way for Java applications nowadays. There is no official current JRE for end-users to download anymore - the newest version you can download from Oracle is 8 update 281. JDK is currently at version 16.
AFAIK, it is for final applications whose main purpose isn’t to be used as development tools tied to whichever python environment it is installed in.
I've never had a bigger packaging nightmare than for Python and at this point I've worked with a substantial spread of available languages. It's simply embarrassing, especially because I used to like recommending it to people.
...and strangely - I don't know if this is only the mac version - they randomly include the manual for a PC game called Harvester
<game>/Extras/dosbox/dosbox_svn.zip
...
<game>/Extras/Manual.pdf <-- Harvester manualThe DMG for the Mac version of Duke 3D doesn't appear to include the source or a Harvester manual, though it seems to be based on Boxer, not just DosBox. The Mac PKG for Ultima does have the source (dosbox_svn.zip), but no (edit: out of place) manuals as far as I can tell.
I wonder if the Harvester manual you're seeing is a GoG artifact from reusing the same DosBox setup as Harvester and they forgot to remove it, as the source from Ultima includes a file called "harvester_mouse_clean.diff".
Example issue: https://github.com/pyinstaller/pyinstaller/issues/3802
(On a side note, I highly recommend it if you play games and have them on different PC platforms - Steam, Epic, GOG, UPlay... The plugin system is unique and fantastic.)
And yes it can be a pain to deal with if you want to load binary modules.
It's actually pretty easy, as long as you skip on the various tools meant to make it an "easy one click process resulting in just one .exe" (pyinstaller, cx_Freeze, py2exe etc.).
For Linux things are a little bit different, but you're probably okay as long as you use a very old system to build it (RHEL6/7, manylinux1/2014).
Hence and vb script that downloads python, they could have hosted the rat and downloaded that too rather than writing it line by line.
I found and downloaded Jill of the Jungle, which is a free game that uses dosbox and is available on mac.
after you install the game, check out
<dir>/Jill of the Jungle The Complete Trilogy.app/Extras/Manual.pdf
By the way, I've never seen them shipping boxer, although I have moved some games to boxer because it is much more in-tune with macos. It's really good if you have midi roms.I don't know how I missed that all this time... I've going off the "zero/dot" releases of https://winpython.github.io/ this whole time.
Just FYI it's actually ixnay which is Pig Latin for nix, which of course means to cancel or pre-empt.
https://en.wikipedia.org/wiki/Taxation_of_illegal_income_in_...
But still, python has no mature tools for distribution? From wheels to pyinstaller to Kivy, you're just wrong.
While true, this means that packaging Python is harder than a typical C application, and requires knowledge of the C building process. That's not what people have in mind when installing Python software.
The methods you mention are exactly the reason why it is so complicated. Everyone wants to use their own method to install Python software.
That said, there's about a million packaging systems and most of them don't offer anything materially different from the others (except in weird edge cases that aren't advertised). The space is involved and annoying. It's emphatically not at all like C, which has very strong and well-documented defaults that do the things you expect (usually).
I think other packaging tools have a workaround for this particular problem but, in my experience, have other issues. I’d love to use Python for building CLI tools, but building a binary is so fragile that I only use the language for prototyping, and rewrite in C++ (maybe Go in future?) for production.
You seriously overestimate AV “heuristics”.
E.g. When you use a patched version of Linux in your router, then you'd need to make those patches / the patched code available, but you would not need to make the code of your web GUI available.
If you are using libviralgpl.dll in your ProprietarySecrets.dll though, your entire application becomes a subject of the GPL.
In general, a reasonable boundary is that if it runs the GPL'd work as a command, then it's not a derivative work, but if it links against the GPL'd work, then it is. (This is of course not a distinction established in law, which knows nothing of subprocesses and linkers, but it's a good approximation, most of the time. Making a modification to a GPL'd binary to expose a particular interface for another non-GPL'd process to call probably makes that non-GPL'd process a derivative work, though. Conversely, using a standardized API that happens to be implemented by a GPL'd library probably does not make the program linking it a derivative work.)
The GPLv3 says:
> A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
GOG presumably believes that they are shipping an aggregate, and DOSBox is an individual work, and the game they're shipping is a separate individual work, and the wrapper script to put them together is its own work, independent of the specific game or specific emulator. They must comply with the license of DOSBox, i.e., they must provide the corresponding sources, but that license doesn't apply to other things in the aggregate.
For comparison, the Linux kernel also says:
> NOTE! This copyright does not cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does not fall under the heading of "derived work".
Does this mean that Oracle has decided that Java 8 is the last consumer version of Java?
Or like you've said that applications shouldn't use the OS level java installation?