rickomax / psxprev

PSXPREV - Playstation (PSX) Files Previewer/Extractor
BSD 2-Clause "Simplified" License
193 stars 10 forks source link

Fix #35: Switch DiscUtils dependencies to NuGet packages #48

Closed trigger-segfault closed 1 year ago

trigger-segfault commented 1 year ago

Although the main branch is called no-deps, the provided dependencies for DiscUtils cause nothing but extra problems, as seen in issue #35. Switching DiscUtils to NuGet packages will remove those problems, and removing the Contrib/ folder will allow cloning again. Using a package will also remove the need to manually build the 3 dependency projects (Core, Iso9660, Streams). To follow the pattern for other NuGet packages used in this project, the full contents of the packages folder have been included.

To determine what version of DiscUtils was used, I checked the common.props file to see 0.13.0-alpha. HOWEVER, because this was a clone of an active branch, many changes made before the next release might have been added, and that's exactly what had happened. To test this, I deleted the contents of DiscUtils-master/ and copied the contents of DiscUtils-0.14.0-alpha into it instead. The only changes made between the master folder and 0.14.0-alpha were meta changes with how the project files handled shared properties, but no code changes were made. Unlike that version, 0.13.0-alpha had many code differences between changes and missing files.

So the NuGet package version used for DiscUtils (Core, Iso9660, Streams) is 0.14.0-alpha234. (There is no 0.14.0-alpha without the 234 suffix, but I assume it's the same as the 0.14.0-alpha tag listed in the DiscUtils repo).

Realistically, newer NuGet package versions could be used, but that could be done in a later commit after the initial transition is finished.

It's also possible that this repository uses a modified version of the DiscUtils project, but there's no way to know that, since the DiscUtils-master/ folder only has one commit associated with it. The commit itself doesn't mention any modifications, so my assumption is that there are none.


With these changes, PSXPrev can now be built and run right out of the box.