diff options
author | Tobias Geerinckx-Rice <me@tobias.gr> | 2022-05-29 02:00:03 +0200 |
---|---|---|
committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2022-05-29 02:00:00 +0200 |
commit | 64e78659f44b2275ae92de5d1adf12dc161a6ef2 (patch) | |
tree | 363009868efc7784bb5266ce994ad77d6c1239a7 | |
parent | abd6ea5337079654ad2dba05538bf6e7d9051c4d (diff) |
gnu: irrlicht: Update to 1.8.5.
* gnu/packages/games.scm (irrlicht): Update to 1.8.5.
[source]: Use unmodified Debian patches rather than manually maintain
a custom mash-up.
[arguments]: Add a new 'delete-broken-install-rule phase instead.
Don't explicitly return #t from phases.
* gnu/packages/patches/irrlicht-link-against-needed-libs.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/games.scm | 20 | ||||
-rw-r--r-- | gnu/packages/patches/irrlicht-link-against-needed-libs.patch | 24 | ||||
-rw-r--r-- | gnu/packages/patches/irrlicht-use-system-libs.patch | 95 |
4 files changed, 60 insertions, 80 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index d51c1be0d3..708bbdd35d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1299,6 +1299,7 @@ dist_patch_DATA = \ %D%/packages/patches/iputils-libcap-compat.patch \ %D%/packages/patches/ipxe-reproducible-geniso.patch \ %D%/packages/patches/irrlicht-use-system-libs.patch \ + %D%/packages/patches/irrlicht-link-against-needed-libs.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/itk-snap-alt-glibc-compat.patch \ %D%/packages/patches/json-c-0.13-CVE-2020-12762.patch \ diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 5b48369cec..c5c3e8af18 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3532,7 +3532,7 @@ are primarily in English, however some in other languages are provided.") (define-public irrlicht (package (name "irrlicht") - (version "1.8.4") + (version "1.8.5") (source (origin (method url-fetch) (uri (string-append @@ -3541,8 +3541,9 @@ are primarily in English, however some in other languages are provided.") "/" version "/irrlicht-" version ".zip")) (sha256 (base32 - "0cz4z4dwrv5ypl19ll67wl6jjpy5k6ly4vr042w4br88qq5jhazl")) - (patches (search-patches "irrlicht-use-system-libs.patch")) + "0gagjh2l3a3m8hsixxhhhan3m5xl7735ka8m4g79jl4qsgp7pyzg")) + (patches (search-patches "irrlicht-use-system-libs.patch" + "irrlicht-link-against-needed-libs.patch")) (modules '((guix build utils))) (snippet '(begin @@ -3556,8 +3557,7 @@ are primarily in English, however some in other languages are provided.") "source/Irrlicht/zlib")) (delete-file "source/Irrlicht/glext.h") (delete-file "source/Irrlicht/glxext.h") - (delete-file "source/Irrlicht/wglext.h") - #t)))) + (delete-file "source/Irrlicht/wglext.h"))))) (build-system gnu-build-system) (arguments `(#:phases @@ -3565,19 +3565,23 @@ are primarily in English, however some in other languages are provided.") (add-after 'unpack 'chdir-to-source (lambda _ ;; The actual source is buried a few directories deep. - (chdir "source/Irrlicht/") - #t)) + (chdir "source/Irrlicht/"))) (add-after 'chdir-to-source 'remove-<sys/sysctl.h> (lambda _ (substitute* "COSOperator.cpp" (("#include <sys/sysctl.h>") "")))) + (add-after 'chdir-to-source 'delete-broken-install-rule + (lambda _ + (substitute* "Makefile" + ;; We neither build nor want a static library. Skip it. + ((".*\\bcp .*\\$\\(STATIC_LIB\\).*") "")))) (add-after 'chdir-to-source 'fix-build-env (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (substitute* "Makefile" (("INSTALL_DIR = /usr/local/lib") (string-append "INSTALL_DIR = " out "/lib")) - ;; Add '-fpermissive' to the CXXFLAGS + ;; Add '-fpermissive' to the CXXFLAGS. (("-Wall") "-Wall -fpermissive")) ; CImageLoaderJPG.cpp ;; The Makefile assumes these directories exist. (mkdir-p (string-append out "/lib")) diff --git a/gnu/packages/patches/irrlicht-link-against-needed-libs.patch b/gnu/packages/patches/irrlicht-link-against-needed-libs.patch new file mode 100644 index 0000000000..2e9f5c78d5 --- /dev/null +++ b/gnu/packages/patches/irrlicht-link-against-needed-libs.patch @@ -0,0 +1,24 @@ +From: Christoph Egger <Christoph.Egger@gmx.de> +Subject: [PATCH] debian/link-against-needed-libs + +There are quite some libraries irrlicht needs but does not link +against. This patch makes irrlicht link correctly against all the +needed libraries. + +Signed-off-by: Christoph Egger <Christoph.Egger@gmx.de> + +--- + source/Irrlicht/Makefile | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +--- irrlicht.orig/source/Irrlicht/Makefile ++++ irrlicht/source/Irrlicht/Makefile +@@ -90,7 +90,7 @@ + LIB_PATH = ../../lib/$(SYSTEM)
+ INSTALL_DIR = /usr/local/lib
+ sharedlib install: SHARED_LIB = libIrrlicht.so
+-sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm
++staticlib sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lX11 -lz -lpng -ljpeg -lbz2
+ staticlib sharedlib: CXXINCS += -I/usr/X11R6/include
+
+ #OSX specific options
diff --git a/gnu/packages/patches/irrlicht-use-system-libs.patch b/gnu/packages/patches/irrlicht-use-system-libs.patch index e764f411d3..06cb6db062 100644 --- a/gnu/packages/patches/irrlicht-use-system-libs.patch +++ b/gnu/packages/patches/irrlicht-use-system-libs.patch @@ -1,40 +1,13 @@ -This patch is a combination of the two following patches with minor -changes to the install code -https://sources.debian.org/src/irrlicht/1.8.4+dfsg1-1/debian/patches/debian/link-against-needed-libs.diff/ -https://sources.debian.org/src/irrlicht/1.8.4+dfsg1-1/debian/patches/debian/use-system-libs.diff/ +Subject: [PATCH] debian/use-system-libs +Path to build irrlicht using the system libraries for png,zlib and +jpeg as well as the glext family of header files. ---- - include/IrrCompileConfig.h | 26 +++++++++------------ - source/Irrlicht/CIrrDeviceLinux.h | 2 +- - source/Irrlicht/COpenGLExtensionHandler.h | 8 +++---- - source/Irrlicht/COpenGLSLMaterialRenderer.h | 2 +- - source/Irrlicht/Makefile | 15 ++++++------ - 5 files changed, 25 insertions(+), 28 deletions(-) +Signed-off-by: Christoph Egger <debian@christoph-egger.org -diff --git a/include/IrrCompileConfig.h b/include/IrrCompileConfig.h -index 6bb0589..2216353 100644 ---- a/include/IrrCompileConfig.h -+++ b/include/IrrCompileConfig.h -@@ -238,6 +238,17 @@ for Windows based systems. You also have to set #define UNICODE for this to comp - #undef _IRR_WCHAR_FILESYSTEM
- #endif
-
-+//! Define _IRR_COMPILE_WITH_ZLIB_ to enable compiling the engine using zlib.
-+/** This enables the engine to read from compressed .zip archives. If you
-+disable this feature, the engine can still read archives, but only uncompressed
-+ones. */
-+#define _IRR_COMPILE_WITH_ZLIB_
-+
-+//! Define _IRR_USE_NON_SYSTEM_ZLIB_ to let irrlicht use the zlib which comes with irrlicht.
-+/** If this is commented out, Irrlicht will try to compile using the zlib installed in the system.
-+ This is only used when _IRR_COMPILE_WITH_ZLIB_ is defined. */
-+#undef _IRR_USE_NON_SYSTEM_ZLIB_
-+
- //! Define _IRR_COMPILE_WITH_JPEGLIB_ to enable compiling the engine using libjpeg.
- /** This enables the engine to read jpeg images. If you comment this out,
- the engine will no longer read .jpeg images. */
-@@ -249,10 +260,7 @@ the engine will no longer read .jpeg images. */ +--- irrlicht.orig/include/IrrCompileConfig.h ++++ irrlicht/include/IrrCompileConfig.h +@@ -253,10 +253,7 @@ //! Define _IRR_USE_NON_SYSTEM_JPEG_LIB_ to let irrlicht use the jpeglib which comes with irrlicht.
/** If this is commented out, Irrlicht will try to compile using the jpeg lib installed in the system.
This is only used when _IRR_COMPILE_WITH_LIBJPEG_ is defined. */
@@ -45,7 +18,7 @@ index 6bb0589..2216353 100644 //! Define _IRR_COMPILE_WITH_LIBPNG_ to enable compiling the engine using libpng.
/** This enables the engine to read png images. If you comment this out,
-@@ -265,10 +273,7 @@ the engine will no longer read .png images. */ +@@ -269,10 +266,7 @@ //! Define _IRR_USE_NON_SYSTEM_LIBPNG_ to let irrlicht use the libpng which comes with irrlicht.
/** If this is commented out, Irrlicht will try to compile using the libpng installed in the system.
This is only used when _IRR_COMPILE_WITH_LIBPNG_ is defined. */
@@ -56,7 +29,7 @@ index 6bb0589..2216353 100644 //! Define _IRR_D3D_NO_SHADER_DEBUGGING to disable shader debugging in D3D9
/** If _IRR_D3D_NO_SHADER_DEBUGGING is undefined in IrrCompileConfig.h,
-@@ -602,10 +607,7 @@ ones. */ +@@ -606,10 +600,7 @@ /** If this is commented out, Irrlicht will try to compile using the zlib
installed on the system. This is only used when _IRR_COMPILE_WITH_ZLIB_ is
defined. */
@@ -67,7 +40,7 @@ index 6bb0589..2216353 100644 //! Define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_ if you want to read AES-encrypted ZIP archives
#define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_
#ifdef NO_IRR_COMPILE_WITH_ZIP_ENCRYPTION_
-@@ -623,18 +625,12 @@ library. */ +@@ -627,18 +618,12 @@ /** If this is commented out, Irrlicht will try to compile using the bzlib
installed on the system. This is only used when _IRR_COMPILE_WITH_BZLIB_ is
defined. */
@@ -86,10 +59,8 @@ index 6bb0589..2216353 100644 //! Define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_ if you want to mount folders as archives
#define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
-diff --git a/source/Irrlicht/CIrrDeviceLinux.h b/source/Irrlicht/CIrrDeviceLinux.h -index 4d2a2c6..8cf24ba 100644 ---- a/source/Irrlicht/CIrrDeviceLinux.h -+++ b/source/Irrlicht/CIrrDeviceLinux.h +--- irrlicht.orig/source/Irrlicht/CIrrDeviceLinux.h ++++ irrlicht/source/Irrlicht/CIrrDeviceLinux.h @@ -22,7 +22,7 @@ #define GLX_GLXEXT_LEGACY 1
#include <GL/glx.h>
@@ -99,10 +70,8 @@ index 4d2a2c6..8cf24ba 100644 #endif
#endif
-diff --git a/source/Irrlicht/COpenGLExtensionHandler.h b/source/Irrlicht/COpenGLExtensionHandler.h -index 1b77bad..3886a0e 100644 ---- a/source/Irrlicht/COpenGLExtensionHandler.h -+++ b/source/Irrlicht/COpenGLExtensionHandler.h +--- irrlicht.orig/source/Irrlicht/COpenGLExtensionHandler.h ++++ irrlicht/source/Irrlicht/COpenGLExtensionHandler.h @@ -35,7 +35,7 @@ #endif
#include <OpenGL/gl.h>
@@ -133,10 +102,8 @@ index 1b77bad..3886a0e 100644 #endif
#endif
-diff --git a/source/Irrlicht/COpenGLSLMaterialRenderer.h b/source/Irrlicht/COpenGLSLMaterialRenderer.h -index ff71150..f8a6007 100644 ---- a/source/Irrlicht/COpenGLSLMaterialRenderer.h -+++ b/source/Irrlicht/COpenGLSLMaterialRenderer.h +--- irrlicht.orig/source/Irrlicht/COpenGLSLMaterialRenderer.h ++++ irrlicht/source/Irrlicht/COpenGLSLMaterialRenderer.h @@ -25,7 +25,7 @@ #include <GL/gl.h>
#endif
@@ -146,11 +113,9 @@ index ff71150..f8a6007 100644 #endif
#endif
-diff --git a/source/Irrlicht/Makefile b/source/Irrlicht/Makefile -index 67a3899..d9ea7f3 100644 ---- a/source/Irrlicht/Makefile -+++ b/source/Irrlicht/Makefile -@@ -43,7 +43,7 @@ IRRIMAGEOBJ = CColorConverter.o CImage.o CImageLoaderBMP.o CImageLoaderDDS.o CIm +--- irrlicht.orig/source/Irrlicht/Makefile ++++ irrlicht/source/Irrlicht/Makefile +@@ -45,7 +45,7 @@ CImageWriterBMP.o CImageWriterJPG.o CImageWriterPCX.o CImageWriterPNG.o CImageWriterPPM.o CImageWriterPSD.o CImageWriterTGA.o
IRRVIDEOOBJ = CVideoModeList.o CFPSCounter.o $(IRRDRVROBJ) $(IRRIMAGEOBJ)
IRRSWRENDEROBJ = CSoftwareDriver.o CSoftwareTexture.o CTRFlat.o CTRFlatWire.o CTRGouraud.o CTRGouraudWire.o CTRNormalMap.o CTRStencilShadow.o CTRTextureFlat.o CTRTextureFlatWire.o CTRTextureGouraud.o CTRTextureGouraudAdd.o CTRTextureGouraudNoZ.o CTRTextureGouraudWire.o CZBuffer.o CTRTextureGouraudVertexAlpha2.o CTRTextureGouraudNoZ2.o CTRTextureLightMap2_M2.o CTRTextureLightMap2_M4.o CTRTextureLightMap2_M1.o CSoftwareDriver2.o CSoftwareTexture2.o CTRTextureGouraud2.o CTRGouraud2.o CTRGouraudAlpha2.o CTRGouraudAlphaNoZ2.o CTRTextureDetailMap2.o CTRTextureGouraudAdd2.o CTRTextureGouraudAddNoZ2.o CTRTextureWire2.o CTRTextureLightMap2_Add.o CTRTextureLightMapGouraud2_M4.o IBurningShader.o CTRTextureBlend.o CTRTextureGouraudAlpha.o CTRTextureGouraudAlphaNoZ.o CDepthBuffer.o CBurningShader_Raster_Reference.o
@@ -159,7 +124,7 @@ index 67a3899..d9ea7f3 100644 IRROTHEROBJ = CIrrDeviceSDL.o CIrrDeviceLinux.o CIrrDeviceConsole.o CIrrDeviceStub.o CIrrDeviceWin32.o CIrrDeviceFB.o CLogger.o COSOperator.o Irrlicht.o os.o
IRRGUIOBJ = CGUIButton.o CGUICheckBox.o CGUIComboBox.o CGUIContextMenu.o CGUIEditBox.o CGUIEnvironment.o CGUIFileOpenDialog.o CGUIFont.o CGUIImage.o CGUIInOutFader.o CGUIListBox.o CGUIMenu.o CGUIMeshViewer.o CGUIMessageBox.o CGUIModalScreen.o CGUIScrollBar.o CGUISpinBox.o CGUISkin.o CGUIStaticText.o CGUITabControl.o CGUITable.o CGUIToolBar.o CGUIWindow.o CGUIColorSelectDialog.o CDefaultGUIElementFactory.o CGUISpriteBank.o CGUIImageList.o CGUITreeView.o
ZLIBOBJ = zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o zlib/uncompr.o zlib/zutil.o
-@@ -56,14 +56,14 @@ BZIP2OBJ = bzip2/blocksort.o bzip2/huffman.o bzip2/crctable.o bzip2/randtable.o +@@ -58,14 +58,14 @@ EXTRAOBJ =
LINKOBJ = $(IRRMESHOBJ) $(IRROBJ) $(IRRPARTICLEOBJ) $(IRRANIMOBJ) \
$(IRRVIDEOOBJ) $(IRRSWRENDEROBJ) $(IRRIOOBJ) $(IRROTHEROBJ) \
@@ -178,25 +143,11 @@ index 67a3899..d9ea7f3 100644 ifndef NDEBUG
CXXFLAGS += -g -D_DEBUG
else
-@@ -88,7 +88,7 @@ STATIC_LIB = libIrrlicht.a - LIB_PATH = ../../lib/$(SYSTEM)
- INSTALL_DIR = /usr/local/lib
- sharedlib install: SHARED_LIB = libIrrlicht.so
--sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm
-+staticlib sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lX11 -lz -lpng -ljpeg -lbz2
- staticlib sharedlib: CXXINCS += -I/usr/X11R6/include
-
- #OSX specific options
-@@ -153,7 +153,8 @@ install install_osx: - $(RM) -r $(INSTALL_DIR)/../include/irrlicht
+@@ -156,6 +156,7 @@ mkdir -p $(INSTALL_DIR)/../include/irrlicht
cp ../../include/*.h $(INSTALL_DIR)/../include/irrlicht/
-- cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR)
-+ cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR) || true
-+ cp $(LIB_PATH)/$(STATIC_LIB) $(INSTALL_DIR) || true
+ cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR)
++ cp $(LIB_PATH)/$(STATIC_LIB) $(INSTALL_DIR)
cd $(INSTALL_DIR) && ln -s -f $(SHARED_FULLNAME) $(SONAME)
cd $(INSTALL_DIR) && ln -s -f $(SONAME) $(SHARED_LIB)
# ldconfig -n $(INSTALL_DIR)
--- -2.18.0 - |