Comments (3)
Hi, @daltonclaybrook,
I am personally fond of the Swift programming language, but I am also preoccupied about the idea of opening flood gates to all the other languages out there. I rejected a cocoapod in the past, also, for the same reason. Now, if I would add a meson build file, or a conan file, at least that would be for native C and C++; but even those ones would be a non-trivial story, considering that we already have three build systems that need regular maintenance and verification. (See ci/ci_verify_*.sh
.)
On the other hand, if our current CMake-based build system isn't sufficient for an official SwiftPM that's maintained externally in a manner that's similar to how they do it in the official VCPkg package repository, or in the official Conan package repository, but a solution that's native to C/C++ would work for you (e.g. adding a Conan package inside libpng that you would then use in your external Swift package), then I'm open to such ideas.
One last alternative, if that would work for you: if a SwiftPM package would not require (too much) maintenance, I am open to the idea of adding a subdirectory, let's call it contrib/build/swiftpm
, for your convenience, while making it clear that it isn't tested by us in an official capacity.
One last thing: I'm closing this issue, and I am (admittedly, very slowly) moving everything https://github.com/glennrp/libpng to https://github.com/pnggroup/libpng -- feel free to open a follow-up issue in there, with specifics about how you would like to proceed.
from libpng.
from libpng.
An addition consideration for the contrib/ directory: Zlib has a contrib/ directory and in my opinion, it accumulates cruft. Those contributions rarely seem to be maintained. Ut they also don't have a deletion policy. If you go the contrib/ route, you might want to consider something like a yearly ping to confirm it still works as intended. (No reply for 3 months = deletion. It is in git history if someone wants to dig it out.)
That's why I said "if a SwiftPM package would not require (too much) maintenance" -- perhaps I should have said "if it doesn't require any maintenance" ;-)
In fairness, the cocoapod that I rejected a few years ago was rather tame.
Regardless: point taken.
FWIW, I have had it in my plans to start testing the currently-contributed mini-projects (contrib/gregbook
, contrib/pngminus
, contrib/visupng
, etc.) on the CI bots, because, yes they are decades old, and yes they should be still working. They should serve as additional tests for the continuing stability of the libpng API. And I will make that happen also... eventually...
from libpng.
Related Issues (20)
- reject a possible valid png file HOT 11
- Incomplete fix of CVE-2019-6129 HOT 1
- Unresolved external symbol when building .lib on Windows
- png spec third edition updates HOT 8
- Incompatible with FetchContent HOT 1
- Adjust path of installed cmake files to standard location
- The function prototype of `png_write_row` seems to be changed on macos HOT 6
- EXIF chunk is written in both png_write_info() and png_write_end() functions HOT 1
- pngimage: heap-buffer-overflow in ./pngimage.c:1249 in compare_read HOT 6
- tRNS must follow PLTE to be valid HOT 9
- build for iOS failed
- libpng warning: sRGB: out of place ! HOT 3
- Division by zero error in png_image_write_main if Image width is zero HOT 1
- can not pass compile when pass 'PNG_PREFIX' by using cmake HOT 1
- Heap-buffer-overflow in pngwrite.c:856:4 in png_write_png HOT 5
- An infinite loop in png_read_png->..->png_write_row HOT 4
- Assessment of the difficulty in porting CPU architecture for libpng HOT 1
- The function to check the relationship between png_struct and png_info HOT 2
- Latent memory leak in pngtest HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libpng.