From 652ff2f1e18096656a72ec593b6fe5152d895ff4 Mon Sep 17 00:00:00 2001
From: Dimitry Ishenko <dimitry.ishenko@gmail.com>
Date: Wed, 13 May 2026 22:29:15 -0400
Subject: [PATCH 3/4] Clean up and simplify

---
 debian/control              |  5 +-
 debian/eglew-utils.install  |  4 +-
 debian/glew-utils.install   |  4 +-
 debian/libeglew-dev.install |  9 ++--
 debian/libeglew-dev.links   |  2 +-
 debian/libeglew2.3.install  |  2 +-
 debian/libeglew2.3.links    |  2 +-
 debian/libglew-dev.install  | 11 ++---
 debian/libglew2.3.install   |  2 +-
 debian/rules                | 94 ++++++++++++-------------------------
 10 files changed, 52 insertions(+), 83 deletions(-)

diff --git a/debian/control b/debian/control
index 9b5cc68..f997f8a 100644
--- a/debian/control
+++ b/debian/control
@@ -7,8 +7,9 @@ Build-Depends: debhelper-compat (= 13),
                libx11-dev,
                libxi-dev,
                libxmu-dev,
-	       cmake,
-	       patchelf
+               cmake,
+               patchelf,
+               rename,
 Standards-Version: 4.7.3
 Homepage: http://glew.sourceforge.net
 Vcs-Git: https://salsa.debian.org/debian/glew -b debian/latest
diff --git a/debian/eglew-utils.install b/debian/eglew-utils.install
index d8b0003..d113b41 100644
--- a/debian/eglew-utils.install
+++ b/debian/eglew-utils.install
@@ -1,2 +1,2 @@
-debian/tmp-egl/usr/local/bin/eglewinfo usr/bin
-debian/tmp-egl/usr/local/bin/evisualinfo usr/bin
+debian/tmp-egl/usr/bin/eglewinfo    usr/bin/
+debian/tmp-egl/usr/bin/evisualinfo  usr/bin/
diff --git a/debian/glew-utils.install b/debian/glew-utils.install
index 0e05f9d..cd086ea 100644
--- a/debian/glew-utils.install
+++ b/debian/glew-utils.install
@@ -1,2 +1,2 @@
-debian/tmp-x11/usr/local/bin/glewinfo usr/bin
-debian/tmp-x11/usr/local/bin/visualinfo usr/bin
+debian/tmp-x11/usr/bin/glewinfo     usr/bin/
+debian/tmp-x11/usr/bin/visualinfo   usr/bin/
diff --git a/debian/libeglew-dev.install b/debian/libeglew-dev.install
index 3953b06..210a157 100644
--- a/debian/libeglew-dev.install
+++ b/debian/libeglew-dev.install
@@ -1,4 +1,5 @@
-# debian/tmp-egl/usr/local/include/*		usr/include/${DEB_HOST_MULTIARCH}
-# debian/tmp-egl/usr/local/lib/libEGLEW.a		usr/lib/${DEB_HOST_MULTIARCH}
-debian/tmp-egl/usr/local/lib/pkgconfig/e*	usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig
-# debian/tmp-egl/usr/local/lib/cmake/glew/e*	usr/lib/${DEB_HOST_MULTIARCH}/cmake/glew
+debian/tmp-egl/usr/include/*/GL/e*      usr/include/${DEB_HOST_MULTIARCH}/GL/
+debian/tmp-egl/usr/lib/*/libEGLEW.a     usr/lib/${DEB_HOST_MULTIARCH}/
+debian/tmp-egl/usr/lib/*/libEGLEW.so    usr/lib/${DEB_HOST_MULTIARCH}/
+debian/tmp-egl/usr/lib/*/cmake          usr/lib/${DEB_HOST_MULTIARCH}/
+debian/tmp-egl/usr/lib/*/pkgconfig      usr/lib/${DEB_HOST_MULTIARCH}/
diff --git a/debian/libeglew-dev.links b/debian/libeglew-dev.links
index c06b696..1874ef3 100644
--- a/debian/libeglew-dev.links
+++ b/debian/libeglew-dev.links
@@ -1 +1 @@
-usr/lib/${DEB_HOST_MULTIARCH}/libEGLEW.so.2.3	usr/lib/${DEB_HOST_MULTIARCH}/libEGLEW.so
+usr/lib/${DEB_HOST_MULTIARCH}/libEGLEW.so.2.3   usr/lib/${DEB_HOST_MULTIARCH}/libEGLEW.so
diff --git a/debian/libeglew2.3.install b/debian/libeglew2.3.install
index 0f40b85..d264b58 100644
--- a/debian/libeglew2.3.install
+++ b/debian/libeglew2.3.install
@@ -1 +1 @@
-debian/tmp-egl/usr/local/lib/libEGLEW.*so.*	usr/lib/${DEB_HOST_MULTIARCH}
+debian/tmp-egl/usr/lib/*/libEGLEW.*so.* usr/lib/${DEB_HOST_MULTIARCH}/
diff --git a/debian/libeglew2.3.links b/debian/libeglew2.3.links
index 0ca2647..13b416c 100644
--- a/debian/libeglew2.3.links
+++ b/debian/libeglew2.3.links
@@ -1 +1 @@
-usr/lib/${DEB_HOST_MULTIARCH}/libEGLEW.so.2.3.1		usr/lib/${DEB_HOST_MULTIARCH}/libEGLEW.so.2.3
+usr/lib/${DEB_HOST_MULTIARCH}/libEGLEW.so.2.3.1 usr/lib/${DEB_HOST_MULTIARCH}/libEGLEW.so.2.3
diff --git a/debian/libglew-dev.install b/debian/libglew-dev.install
index 520bf56..d18b821 100644
--- a/debian/libglew-dev.install
+++ b/debian/libglew-dev.install
@@ -1,6 +1,5 @@
-debian/tmp-x11/usr/local/include/*		usr/include/${DEB_HOST_MULTIARCH}
-debian/tmp-x11/usr/local/lib/libGLEW.so		usr/lib/${DEB_HOST_MULTIARCH}
-# debian/tmp-x11/usr/local/lib/libGLEW.a		usr/lib/${DEB_HOST_MULTIARCH}
-debian/tmp-x11/usr/local/lib/pkgconfig/*	usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig
-#debian/tmp-x11/usr/local/lib/cmake/*	usr/lib/${DEB_HOST_MULTIARCH}/cmake
-build-x11/lib/libGLEW.a			usr/lib/${DEB_HOST_MULTIARCH}
+debian/tmp-x11/usr/include/*/GL/g*      usr/include/${DEB_HOST_MULTIARCH}/GL/
+debian/tmp-x11/usr/lib/*/libGLEW.a      usr/lib/${DEB_HOST_MULTIARCH}/
+debian/tmp-x11/usr/lib/*/libGLEW.so     usr/lib/${DEB_HOST_MULTIARCH}/
+debian/tmp-x11/usr/lib/*/cmake          usr/lib/${DEB_HOST_MULTIARCH}/
+debian/tmp-x11/usr/lib/*/pkgconfig      usr/lib/${DEB_HOST_MULTIARCH}/
diff --git a/debian/libglew2.3.install b/debian/libglew2.3.install
index 3c85183..34b5c99 100644
--- a/debian/libglew2.3.install
+++ b/debian/libglew2.3.install
@@ -1 +1 @@
-debian/tmp-x11/usr/local/lib/libGLEW.*so.*	usr/lib/${DEB_HOST_MULTIARCH}
+debian/tmp-x11/usr/lib/*/libGLEW.*so.*  usr/lib/${DEB_HOST_MULTIARCH}/
diff --git a/debian/rules b/debian/rules
index b4a83a4..d20e1a9 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,82 +5,50 @@
 # (C) 2020-2026 Alastair McKinstry <mckinstry@debian.org>
 
 export DH_VERBOSE=1
-# export DH_NO_ACT
-# export DH_OPTIONS
-
-# The magic debhelper  rule
-%:
-	dh $@ 
-
 include /usr/share/dpkg/architecture.mk
 
-TMPDIR_X11:=$(CURDIR)/debian/tmp-x11
-TMPDIR_EGL:=$(CURDIR)/debian/tmp-egl
-LIBDIR:=/usr/lib/$(DEB_HOST_MULTIARCH)
-INCDIR:=/usr/include/$(DEB_HOST_MULTIARCH)
-CMAKEDIR:=/usr/local/lib/cmake/glew
-PKGCDIR:=/usr/local/lib/pkgconfig
-
-DPKG_EXPORT_BUILDFLAGS = 1
-DEB_CFLAGS_MAINT_APPEND = -Wall -g
-include /usr/share/dpkg/buildflags.mk
-
-# let dh_strip strip
-export STRIP=true
-export INSTALL=install --strip-program=true
-
-SYSTEM:=$(firstword $(subst -, ,$(DEB_HOST_GNU_SYSTEM))) 
-ifeq ($(SYSTEM),linux)
-SYSTEM:= linux-egl
-endif
+%:
+	dh $@ --buildsystem=cmake
 
 override_dh_auto_configure:
-	rm -f config/config.guess
-	( cd $(CURDIR)/auto ; tar axpf $(CURDIR)/../glew_2.3.1+dfsg2.orig-auto.tar.gz )
-	ln -sf /usr/share/misc/config.guess config/
-	(cd auto; make )
-	(cd build; cmake ./cmake -DGLEW_EGL=On -DGLEW_X11=Off )
-	mkdir build-x11
-	(cd build-x11 ; cmake ../build/cmake -DGLEW_EGL=Off -DGLEW_X11=On )
+	cd $(CURDIR)/auto ; tar axpf $(CURDIR)/../glew_2.3.1+dfsg2.orig-auto.tar.gz ; make
+	
+	dh_auto_configure -Dbuild/cmake -Bbuild-egl -- \
+		-DCMAKE_INSTALL_INCLUDEDIR=include/$(DEB_HOST_MULTIARCH) -DGLEW_EGL=ON -DGLEW_X11=OFF
+	
+	dh_auto_configure -Dbuild/cmake -Bbuild-x11 -- \
+		-DCMAKE_INSTALL_INCLUDEDIR=include/$(DEB_HOST_MULTIARCH) -DGLEW_EGL=OFF -DGLEW_X11=ON
 
 override_dh_auto_build:
-	(cd build ; make ; make )	
-	(cd build-x11 ; make ; make)
+	dh_auto_build -Bbuild-egl
+	dh_auto_build -Bbuild-x11
 
 override_dh_auto_clean:
-	rm -f config/config.guess
-	rm -rf build-x11 debian/tmp-*
+	dh_auto_clean
+	rm -rf build-* debian/tmp-*
 
+override_dh_auto_test:
 
 override_dh_auto_install:
-	(cd build ; make install DESTDIR=$(CURDIR)/debian/tmp-egl )
-	(cd build-x11 ; make install DESTDIR=$(CURDIR)/debian/tmp-x11 )
-	mv debian/tmp-egl/usr/local/bin/visualinfo debian/tmp-egl/usr/local/bin/evisualinfo
-	mv debian/tmp-egl/usr/local/bin/glewinfo  debian/tmp-egl/usr/local/bin/eglewinfo
-	# mv debian/tmp-egl/usr/local/lib/libGLEW.a debian/tmp-egl/usr/local/lib/libEGLEW.a
-
+	dh_auto_install -Bbuild-egl -- DESTDIR=$(CURDIR)/debian/tmp-egl
+	dh_auto_install -Bbuild-x11 -- DESTDIR=$(CURDIR)/debian/tmp-x11
+	# these are not installed by default
+	install -m 644 build-egl/lib/libGLEW.a debian/tmp-egl/usr/lib/$(DEB_HOST_MULTIARCH)/
+	install -m 644 build-x11/lib/libGLEW.a debian/tmp-x11/usr/lib/$(DEB_HOST_MULTIARCH)/
 
+# Haxxor egl version
 execute_after_dh_auto_install:
-        # Fixup cmake and pkgconfig files. Hack. 
-	sed -i -e 's%$${_IMPORT_PREFIX}/lib/libGLEW.so%${LIBDIR}/libGLEW.so%g' ${TMPDIR_X11}/${CMAKEDIR}/glew-targets-noconfig.cmake
-	sed -i -e 's%$${_IMPORT_PREFIX}/include%${INCDIR}%g'                   ${TMPDIR_X11}/${CMAKEDIR}/glew-targets.cmake
-	sed -i -e 's%/usr/local%/usr%g' 				       ${TMPDIR_X11}/${PKGCDIR}/glew.pc
-	sed -i -e 's%libdir=/usr/lib%libdir=${LIBDIR}%g' 		       ${TMPDIR_X11}/${PKGCDIR}/glew.pc
-	sed -i -e 's%includedir=\$${prefix}/include%includedir=${INCDIR}%g'    ${TMPDIR_X11}/${PKGCDIR}/glew.pc
-	# eglew version
-	sed  -e 's%$${_IMPORT_PREFIX}/lib/libGLEW.so%${LIBDIR}/libEGLEW.so%g' <  ${TMPDIR_EGL}/${CMAKEDIR}/glew-targets-noconfig.cmake \
-									     >	${TMPDIR_EGL}/${CMAKEDIR}/eglew-targets-noconfig.cmake
-	sed  -e 's%$${_IMPORT_PREFIX}/include%${INCDIR}%g'                 <  ${TMPDIR_EGL}/${CMAKEDIR}/glew-targets.cmake \
-									     >  ${TMPDIR_EGL}/${CMAKEDIR}/eglew-targets.cmake
-	sed  -e 's%/usr/local%/usr%g' 				     <  ${TMPDIR_EGL}/${PKGCDIR}/glew.pc  \
-		| sed -e 's%libdir=/usr/lib%libdir=${LIBDIR}%g' 		       	\
-		| sed -e 's%GLEW%EGLEW%g'						\
-	 	| sed -e 's%includedir=\$${prefix}/include%includedir=${INCDIR}%g'    > ${TMPDIR_EGL}/${PKGCDIR}/eglew.pc
-	# Change refs
-	patchelf --set-soname libEGLEW.so.2.3 debian/tmp-egl/usr/local/lib/libGLEW.so.2.3.1 \
-		--output debian/tmp-egl/usr/local/lib/libEGLEW.so.2.3.1
-	patchelf --replace-needed libGLEW.so.2.3 libEGLEW.so.2.3	debian/tmp-egl/usr/local/bin/eglewinfo
-	patchelf --replace-needed libGLEW.so.2.3 libEGLEW.so.2.3	debian/tmp-egl/usr/local/bin/evisualinfo
+	rename 's/GLEW/EGLEW/' debian/tmp-egl/usr/lib/*/libGLEW*
+	rename 's|([^/]+)$$|e$$1|' debian/tmp-egl/usr/bin/* \
+		debian/tmp-egl/usr/lib/*/cmake/glew/glew* \
+		debian/tmp-egl/usr/lib/*/cmake/glew \
+		debian/tmp-egl/usr/lib/*/pkgconfig/glew.pc
+	
+	patchelf --set-soname libEGLEW.so.2.3 debian/tmp-egl/usr/lib/*/libEGLEW.so.2.3.1
+	patchelf --replace-needed libGLEW.so.2.3 libEGLEW.so.2.3 debian/tmp-egl/usr/bin/*
+	
+	sed -i -e 's/GLEW/EGLEW/g' debian/tmp-egl/usr/lib/*/pkgconfig/eglew.pc
+	sed -i -e 's/glew/eglew/g' -e 's/libGLEW/libEGLEW/g' debian/tmp-egl/usr/lib/*/cmake/eglew/*
 
 debian/%.1: debian/%.sgml
 	docbook-to-man $< > $@
-- 
2.53.0

