Skip to content

Instantly share code, notes, and snippets.

@metaphys
Created May 3, 2013 14:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save metaphys/5509390 to your computer and use it in GitHub Desktop.
Save metaphys/5509390 to your computer and use it in GitHub Desktop.
debian patch for primus git 2013-05-03
diff -rupN -x .git -x lib primus/Makefile primus.mod/Makefile
--- primus/Makefile 2012-12-27 07:58:41.000000000 +0200
+++ primus.mod/Makefile 2012-12-27 08:28:14.000000000 +0200
@@ -1,19 +1,28 @@
-CXX ?= g++
-CXXFLAGS ?= -Wall -g
+ECHO = echo
+RM = rm
+MKDIR = mkdir
+INSTALL = install
-CXXFLAGS += -Werror=missing-declarations
+CXX = g++
+CXX32 = g++ -m32
+CXX64 = g++ -m64
+CXXFLAGS = -Wall -g -Werror=missing-declarations
CXXFLAGS += -Werror=attributes
# On multilib systems, this needs to point to distribution-specific library
# subdir like in /usr (lib or lib64 for 64-bit, lib32 or lib for 32-bit)
-LIBDIR ?= lib
+LIBDIR ?= lib
+LIBDIR32 ?= $(LIBDIR)/i386-linux-gnu
+LIBDIR64 ?= $(LIBDIR)/x86_64-linux-gnu
+INSTALLDIRB ?= /usr/local/bin
+INSTALLDIRL ?= /usr/local/lib/primus/
BUMBLEBEE_SOCKET ?= /var/run/bumblebee.socket
PRIMUS_SYNC ?= 0
PRIMUS_VERBOSE ?= 1
PRIMUS_DISPLAY ?= :8
PRIMUS_LOAD_GLOBAL ?= libglapi.so.0
-PRIMUS_libGLa ?= /usr/$$LIB/nvidia/libGL.so.1
+PRIMUS_libGLa ?= /usr/$$LIB/nvidia/current/libGL.so.1
PRIMUS_libGLd ?= /usr/$$LIB/libGL.so.1
CXXFLAGS += -DBUMBLEBEE_SOCKET='"$(BUMBLEBEE_SOCKET)"'
@@ -24,5 +33,48 @@ CXXFLAGS += -DPRIMUS_libGLa='$(PRIMUS_li
CXXFLAGS += -DPRIMUS_libGLd='$(PRIMUS_libGLd)'
$(LIBDIR)/libGL.so.1: libglfork.cpp
- mkdir -p $(LIBDIR)
+ $(MKDIR) -p $(LIBDIR)
$(CXX) $(CXXFLAGS) -fvisibility=hidden -fPIC -shared -Wl,-Bsymbolic -o $@ $< -lX11 -lpthread -lrt
+
+$(LIBDIR32)/libGL.so.1: libglfork.cpp
+ $(MKDIR) -p $(LIBDIR32)
+ $(CXX32) $(CXXFLAGS) -fvisibility=hidden -fPIC -shared -Wl,-Bsymbolic -o $@ $< -lX11 -lpthread -lrt
+
+$(LIBDIR64)/libGL.so.1: libglfork.cpp
+ $(MKDIR) -p $(LIBDIR64)
+ $(CXX64) $(CXXFLAGS) -fvisibility=hidden -fPIC -shared -Wl,-Bsymbolic -o $@ $< -lX11 -lpthread -lrt
+
+$(LIBDIR)/libGL.so.1: libglfork.cpp
+
+.PHONY: lib
+lib: $(LIBDIR)/libGL.so.1
+
+.PHONY: lib32
+lib32: $(LIBDIR32)/libGL.so.1
+
+.PHONY: lib64
+lib64: $(LIBDIR64)/libGL.so.1
+
+.PHONY: all
+all: lib lib32 lib64
+
+.PHONY: install
+install: all
+ $(MKDIR) -p $(INSTALLDIRL)/$(LIBDIR32)
+ $(MKDIR) -p $(INSTALLDIRL)/$(LIBDIR64)
+ $(INSTALL) -Dm 755 $(LIBDIR32)/libGL.so.1 $(INSTALLDIRL)/$(LIBDIR32)
+ $(INSTALL) -Dm 755 $(LIBDIR64)/libGL.so.1 $(INSTALLDIRL)/$(LIBDIR64)
+ $(INSTALL) -m 755 primusrun $(INSTALLDIRB)
+
+.PHONY: uninstall
+uninstall:
+ $(RM) -rf $(INSTALLDIRL)
+ $(RM) -f $(INSTALLDIRB)/primusrun
+
+
+.PHONY: clean
+clean:
+
+.PHONY: clean-all
+clean-all: clean
+ $(RM) -rf $(LIBDIR)
diff -rupN -x .git -x lib primus/primusrun primus.mod/primusrun
--- primus/primusrun 2012-12-27 07:58:41.000000000 +0200
+++ primus.mod/primusrun 2012-12-27 07:40:19.000000000 +0200
@@ -19,7 +19,13 @@
# export PRIMUS_libGLd=${PRIMUS_libGLd:-'/usr/$LIB/libGL.so.1'}
# Directory containing primus libGL
-PRIMUS_libGL=${PRIMUS_libGL:-$(dirname `readlink -ne $0`)/'$LIB'}
+# This is kind of hacky, but it works until I find a better solution.
+if [ -d "$(dirname `readlink -ne $0`)/lib" ]
+then
+ PRIMUS_libGL=${PRIMUS_libGL:-$(dirname `readlink -ne $0`)/'$LIB'}
+else
+ PRIMUS_libGL=${PRIMUS_libGL:-/usr/local/lib/primus/'$LIB'}
+fi
# On some distributions, e.g. on Gentoo, libnvidia-tls.so is not available
# in default search paths. Add its path manually after the primus library
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment