summaryrefslogtreecommitdiffhomepage
path: root/third-party/libpng
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2024-03-12 22:07:03 +0100
committerAki <please@ignore.pl>2024-03-12 22:07:36 +0100
commit81bb6873f1c0291fecbf6e429ad15ac3db66a4c0 (patch)
treefd7552ecabeeffb45a1fbe3730ab62bc7a64dd85 /third-party/libpng
parentf43d32d6d2cc7ecd04f4f06f20d5a6fc2c87c9ae (diff)
downloadstarshatter-81bb6873f1c0291fecbf6e429ad15ac3db66a4c0.zip
starshatter-81bb6873f1c0291fecbf6e429ad15ac3db66a4c0.tar.gz
starshatter-81bb6873f1c0291fecbf6e429ad15ac3db66a4c0.tar.bz2
Legal notices updated
Rename contrib -> third-party intendes to express the origin and purpose of that part of the code better. I plan to readd contrib/ again but with more in-project things like bash-completions, dev workflow scripts etc.
Diffstat (limited to 'third-party/libpng')
-rw-r--r--third-party/libpng/1.zlib.patch41
-rw-r--r--third-party/libpng/2.export.patch16
-rw-r--r--third-party/libpng/3.includes.patch37
-rw-r--r--third-party/libpng/4.aliases.patch19
-rw-r--r--third-party/libpng/CMakeLists.txt11
-rw-r--r--third-party/libpng/LICENSE111
6 files changed, 235 insertions, 0 deletions
diff --git a/third-party/libpng/1.zlib.patch b/third-party/libpng/1.zlib.patch
new file mode 100644
index 0000000..7a225e9
--- /dev/null
+++ b/third-party/libpng/1.zlib.patch
@@ -0,0 +1,41 @@
+diff '--color=auto' -aru a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt 2024-03-03 01:47:51.488773684 +0100
++++ b/CMakeLists.txt 2024-03-03 01:49:14.398777099 +0100
+@@ -37,10 +37,6 @@
+ set(PNGLIB_NAME libpng${PNGLIB_MAJOR}${PNGLIB_MINOR})
+ set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_RELEASE})
+
+-# needed packages
+-find_package(ZLIB REQUIRED)
+-include_directories(${ZLIB_INCLUDE_DIR})
+-
+ if(NOT WIN32)
+ find_library(M_LIBRARY
+ NAMES m
+@@ -182,7 +178,7 @@
+ endif()
+
+ # NOW BUILD OUR TARGET
+-include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIR})
++include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+
+ if(PNG_SHARED)
+ add_library(${PNG_LIB_NAME} SHARED ${libpng_sources})
+@@ -191,7 +187,7 @@
+ set_target_properties(${PNG_LIB_NAME} PROPERTIES PREFIX "lib")
+ set_target_properties(${PNG_LIB_NAME} PROPERTIES IMPORT_PREFIX "lib")
+ endif()
+- target_link_libraries(${PNG_LIB_NAME} ${ZLIB_LIBRARY} ${M_LIBRARY})
++ target_link_libraries(${PNG_LIB_NAME} Zlib::zlib ${M_LIBRARY})
+ endif()
+
+ if(PNG_STATIC)
+@@ -202,7 +198,7 @@
+ # msvc does not append 'lib' - do it here to have consistent name
+ set_target_properties(${PNG_LIB_NAME_STATIC} PROPERTIES PREFIX "lib")
+ endif()
+- target_link_libraries(${PNG_LIB_NAME_STATIC} ${ZLIB_LIBRARY} ${M_LIBRARY})
++ target_link_libraries(${PNG_LIB_NAME_STATIC} Zlib::zlibstatic ${M_LIBRARY})
+ endif()
+
+
diff --git a/third-party/libpng/2.export.patch b/third-party/libpng/2.export.patch
new file mode 100644
index 0000000..089ff85
--- /dev/null
+++ b/third-party/libpng/2.export.patch
@@ -0,0 +1,16 @@
+diff '--color=auto' -arNu a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt 2024-03-03 02:11:53.952166254 +0100
++++ b/CMakeLists.txt 2024-03-03 02:11:16.832164723 +0100
+@@ -380,12 +380,6 @@
+ DESTINATION bin)
+ endif()
+
+-# On versions of CMake that support it, create an export file CMake
+-# users can include() to import our targets
+-if(PNG_EXPORT_RULE AND NOT SKIP_INSTALL_EXPORT AND NOT SKIP_INSTALL_ALL )
+- install(EXPORT libpng DESTINATION lib/libpng FILE lib${PNG_LIB_NAME}.cmake)
+-endif()
+-
+ # what's with libpng-$VER%.txt and all the extra files?
+
+
diff --git a/third-party/libpng/3.includes.patch b/third-party/libpng/3.includes.patch
new file mode 100644
index 0000000..c48e163
--- /dev/null
+++ b/third-party/libpng/3.includes.patch
@@ -0,0 +1,37 @@
+diff '--color=auto' -arNu a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt 2024-03-03 02:11:16.832164723 +0100
++++ b/CMakeLists.txt 2024-03-03 02:19:25.775518136 +0100
+@@ -106,7 +106,6 @@
+ # Use the prebuilt pnglibconf.h file from the scripts folder
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/pnglibconf.h.prebuilt
+ ${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h)
+-include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+ # OUR SOURCES
+ set(libpng_public_hdrs
+@@ -177,9 +176,6 @@
+ add_definitions(-DPNG_NO_FLOATING_POINT_SUPPORTED)
+ endif()
+
+-# NOW BUILD OUR TARGET
+-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+-
+ if(PNG_SHARED)
+ add_library(${PNG_LIB_NAME} SHARED ${libpng_sources})
+ if(MSVC)
+@@ -187,6 +183,7 @@
+ set_target_properties(${PNG_LIB_NAME} PROPERTIES PREFIX "lib")
+ set_target_properties(${PNG_LIB_NAME} PROPERTIES IMPORT_PREFIX "lib")
+ endif()
++ target_include_directories(${PNG_LIB_NAME} PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+ target_link_libraries(${PNG_LIB_NAME} Zlib::zlib ${M_LIBRARY})
+ endif()
+
+@@ -198,6 +195,7 @@
+ # msvc does not append 'lib' - do it here to have consistent name
+ set_target_properties(${PNG_LIB_NAME_STATIC} PROPERTIES PREFIX "lib")
+ endif()
++ target_include_directories(${PNG_LIB_NAME_STATIC} PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+ target_link_libraries(${PNG_LIB_NAME_STATIC} Zlib::zlibstatic ${M_LIBRARY})
+ endif()
+
diff --git a/third-party/libpng/4.aliases.patch b/third-party/libpng/4.aliases.patch
new file mode 100644
index 0000000..14d81d4
--- /dev/null
+++ b/third-party/libpng/4.aliases.patch
@@ -0,0 +1,19 @@
+diff '--color=auto' -arNu a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt 2024-03-03 12:45:31.540235890 +0100
++++ b/CMakeLists.txt 2024-03-03 12:46:11.986903772 +0100
+@@ -185,6 +185,7 @@
+ endif()
+ target_include_directories(${PNG_LIB_NAME} PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+ target_link_libraries(${PNG_LIB_NAME} Zlib::zlib ${M_LIBRARY})
++ add_library(Png::png ALIAS ${PNG_LIB_NAME})
+ endif()
+
+ if(PNG_STATIC)
+@@ -197,6 +198,7 @@
+ endif()
+ target_include_directories(${PNG_LIB_NAME_STATIC} PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+ target_link_libraries(${PNG_LIB_NAME_STATIC} Zlib::zlibstatic ${M_LIBRARY})
++ add_library(Png::pngstatic ALIAS ${PNG_LIB_NAME_STATIC})
+ endif()
+
+
diff --git a/third-party/libpng/CMakeLists.txt b/third-party/libpng/CMakeLists.txt
new file mode 100644
index 0000000..c8aafb6
--- /dev/null
+++ b/third-party/libpng/CMakeLists.txt
@@ -0,0 +1,11 @@
+FetchContent_Declare(
+ libpng
+ URL
+ https://download.sourceforge.net/libpng/libpng-1.5.1.tar.gz
+ https://ftp.ignore.pl/starshatter/resources/mirror/libpng-1.5.1.tar.gz
+ URL_HASH SHA1=29afc7422d4d8af1066f8783ae148e298520d5ba
+ PATCH_COMMAND ${CMAKE_COMMAND} -D "PATCH_FILE=${CMAKE_CURRENT_SOURCE_DIR}/1.zlib.patch" -P ${PATCH_SCRIPT}
+ PATCH_COMMAND ${CMAKE_COMMAND} -D "PATCH_FILE=${CMAKE_CURRENT_SOURCE_DIR}/2.export.patch" -P ${PATCH_SCRIPT}
+ PATCH_COMMAND ${CMAKE_COMMAND} -D "PATCH_FILE=${CMAKE_CURRENT_SOURCE_DIR}/3.includes.patch" -P ${PATCH_SCRIPT}
+ PATCH_COMMAND ${CMAKE_COMMAND} -D "PATCH_FILE=${CMAKE_CURRENT_SOURCE_DIR}/4.aliases.patch" -P ${PATCH_SCRIPT}
+ DOWNLOAD_EXTRACT_TIMESTAMP No)
diff --git a/third-party/libpng/LICENSE b/third-party/libpng/LICENSE
new file mode 100644
index 0000000..b28f15c
--- /dev/null
+++ b/third-party/libpng/LICENSE
@@ -0,0 +1,111 @@
+
+This copy of the libpng notices is provided for your convenience. In case of
+any discrepancy between this copy and the notices in the file png.h that is
+included in the libpng distribution, the latter shall prevail.
+
+COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
+
+If you modify libpng you may insert additional notices immediately following
+this sentence.
+
+This code is released under the libpng license.
+
+libpng versions 1.2.6, August 15, 2004, through 1.5.1, February 3, 2011, are
+Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
+distributed according to the same disclaimer and license as libpng-1.2.5
+with the following individual added to the list of Contributing Authors
+
+ Cosmin Truta
+
+libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
+Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
+distributed according to the same disclaimer and license as libpng-1.0.6
+with the following individuals added to the list of Contributing Authors
+
+ Simon-Pierre Cadieux
+ Eric S. Raymond
+ Gilles Vollant
+
+and with the following additions to the disclaimer:
+
+ There is no warranty against interference with your enjoyment of the
+ library or against infringement. There is no warranty that our
+ efforts or the library will fulfill any of your particular purposes
+ or needs. This library is provided with all faults, and the entire
+ risk of satisfactory quality, performance, accuracy, and effort is with
+ the user.
+
+libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
+Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
+distributed according to the same disclaimer and license as libpng-0.96,
+with the following individuals added to the list of Contributing Authors:
+
+ Tom Lane
+ Glenn Randers-Pehrson
+ Willem van Schaik
+
+libpng versions 0.89, June 1996, through 0.96, May 1997, are
+Copyright (c) 1996, 1997 Andreas Dilger
+Distributed according to the same disclaimer and license as libpng-0.88,
+with the following individuals added to the list of Contributing Authors:
+
+ John Bowler
+ Kevin Bracey
+ Sam Bushell
+ Magnus Holmgren
+ Greg Roelofs
+ Tom Tanner
+
+libpng versions 0.5, May 1995, through 0.88, January 1996, are
+Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
+
+For the purposes of this copyright and license, "Contributing Authors"
+is defined as the following set of individuals:
+
+ Andreas Dilger
+ Dave Martindale
+ Guy Eric Schalnat
+ Paul Schmidt
+ Tim Wegner
+
+The PNG Reference Library is supplied "AS IS". The Contributing Authors
+and Group 42, Inc. disclaim all warranties, expressed or implied,
+including, without limitation, the warranties of merchantability and of
+fitness for any purpose. The Contributing Authors and Group 42, Inc.
+assume no liability for direct, indirect, incidental, special, exemplary,
+or consequential damages, which may result from the use of the PNG
+Reference Library, even if advised of the possibility of such damage.
+
+Permission is hereby granted to use, copy, modify, and distribute this
+source code, or portions hereof, for any purpose, without fee, subject
+to the following restrictions:
+
+1. The origin of this source code must not be misrepresented.
+
+2. Altered versions must be plainly marked as such and must not
+ be misrepresented as being the original source.
+
+3. This Copyright notice may not be removed or altered from any
+ source or altered source distribution.
+
+The Contributing Authors and Group 42, Inc. specifically permit, without
+fee, and encourage the use of this source code as a component to
+supporting the PNG file format in commercial products. If you use this
+source code in a product, acknowledgment is not required but would be
+appreciated.
+
+
+A "png_get_copyright" function is available, for convenient use in "about"
+boxes and the like:
+
+ printf("%s",png_get_copyright(NULL));
+
+Also, the PNG logo (in PNG format, of course) is supplied in the
+files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
+
+Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a
+certification mark of the Open Source Initiative.
+
+Glenn Randers-Pehrson
+glennrp at users.sourceforge.net
+February 3, 2011