summary refs log tree commit diff
path: root/pkgs/applications/terminal-emulators
diff options
context:
space:
mode:
authorTobias Mayer <tobim@fastmail.fm>2023-06-10 15:32:11 +0200
committerAnderson Torres <torres.anderson.85@protonmail.com>2023-06-10 21:40:26 +0000
commit324c3bc11e239bf9917ed52fce2d6b0828cabf10 (patch)
treed1e223648339b90e782e4563484d7bfa47accb31 /pkgs/applications/terminal-emulators
parent7dce19a7f074cddf6d58b535fda4841b2722deb7 (diff)
downloadnixpkgs-324c3bc11e239bf9917ed52fce2d6b0828cabf10.tar
nixpkgs-324c3bc11e239bf9917ed52fce2d6b0828cabf10.tar.gz
nixpkgs-324c3bc11e239bf9917ed52fce2d6b0828cabf10.tar.bz2
nixpkgs-324c3bc11e239bf9917ed52fce2d6b0828cabf10.tar.lz
nixpkgs-324c3bc11e239bf9917ed52fce2d6b0828cabf10.tar.xz
nixpkgs-324c3bc11e239bf9917ed52fce2d6b0828cabf10.tar.zst
nixpkgs-324c3bc11e239bf9917ed52fce2d6b0828cabf10.zip
ctx: 0.pre+date=2021-10-09 -> unstable-2023-06-05
Diffstat (limited to 'pkgs/applications/terminal-emulators')
-rw-r--r--pkgs/applications/terminal-emulators/ctx/0001-Make-arch-detection-optional-and-fix-targets.patch86
-rw-r--r--pkgs/applications/terminal-emulators/ctx/default.nix32
2 files changed, 111 insertions, 7 deletions
diff --git a/pkgs/applications/terminal-emulators/ctx/0001-Make-arch-detection-optional-and-fix-targets.patch b/pkgs/applications/terminal-emulators/ctx/0001-Make-arch-detection-optional-and-fix-targets.patch
new file mode 100644
index 00000000000..5e4297ea704
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/ctx/0001-Make-arch-detection-optional-and-fix-targets.patch
@@ -0,0 +1,86 @@
+From 5c41e49b79ef85e7e23748fbeeaf65df8b769263 Mon Sep 17 00:00:00 2001
+From: Tobias Mayer <tobim@fastmail.fm>
+Date: Sat, 10 Jun 2023 14:17:16 +0200
+Subject: [PATCH] Make arch detection optional and fix targets
+
+---
+ Makefile     |  6 +++---
+ configure.sh | 22 +++++++++++++---------
+ 2 files changed, 16 insertions(+), 12 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index d21c53bf..fe982b24 100644
+--- a/Makefile
++++ b/Makefile
+@@ -205,8 +205,8 @@ stuff/%.o: stuff/%.c ctx.h stuff/*.h stuff/*.inc Makefile build.conf
+ libctx.a: itk.o deps.o $(CTX_OBJS) build.conf Makefile
+ 	$(AR) rcs $@ $(CTX_OBJS) deps.o itk.o
+ libctx.so: $(CTX_OBJS) deps.o itk.o build.conf Makefile
+-	$(LD) -shared $(LIBS) $(CTX_OBJS) deps.o itk.o $(CTX_LIBS) -o $@
+-	#$(LD) --retain-symbols-file=symbols -shared $(LIBS) $? $(CTX_LIBS)  -o $@
++	$(CCC) -shared $(LIBS) $(CTX_OBJS) deps.o itk.o $(CTX_LIBS) -o $@
++	#$(CCC) --retain-symbols-file=symbols -shared $(LIBS) $? $(CTX_LIBS)  -o $@
+ 
+ ctx: main.c ctx.h  build.conf Makefile $(TERMINAL_OBJS) $(MEDIA_HANDLERS_OBJS) libctx.a
+ 	$(CCC) main.c $(TERMINAL_OBJS) $(MEDIA_HANDLERS_OBJS) -o $@ $(CFLAGS) libctx.a $(LIBS) $(CTX_CFLAGS)  $(OFLAGS_LIGHT) -lpthread  $(CTX_LIBS)
+@@ -276,5 +276,5 @@ itk/w3c-constants.h: itk/css.h Makefile squoze/squoze
+ 	for a in `cat itk/css.h | tr ';' ' ' | tr ',' ' ' | tr ')' ' '|tr ':' ' ' | tr '{' ' ' | tr ' ' '\n' | grep 'SQZ_[a-z][0-9a-zA-Z_]*'| sort | uniq`;do b=`echo $$a|tail -c+5|tr '_' '-'`;echo "#define $$a `./squoze/squoze -33 $$b`u // \"$$b\"";done \
+ 		>> $@
+ 	echo '#endif' >> $@
+-static.inc: static/* static/*/* tools/gen_fs.sh
++static.inc: static/* tools/gen_fs.sh
+ 	./tools/gen_fs.sh static > $@
+diff --git a/configure.sh b/configure.sh
+index ad388a5d..fd9d3b96 100755
+--- a/configure.sh
++++ b/configure.sh
+@@ -43,16 +43,20 @@ ENABLE_FAST_FILL_RECT=1
+ ENABLE_SWITCH_DISPATCH=1
+ 
+ pkg-config sdl2    && HAVE_SDL=1
+-pkg-config babl    && HAVE_BABL=1
+-pkg-config cairo   && HAVE_CAIRO=1
+-pkg-config libcurl && HAVE_LIBCURL=1
+-pkg-config alsa    && HAVE_ALSA=1
+-pkg-config libdrm  && HAVE_KMS=1
++# https://github.com/GNOME/gimp/blob/828a8a7fe7ecd1825387f37a42922bc50fa32be9/meson.build#L349
++pkg-config babl-0.1 && { HAVE_BABL=1; BABL_NAME=babl-0.1; }
++if [ $HAVE_BABL  != 1 ];then
++   pkg-config babl  && { HAVE_BABL=1; BABL_NAME=babl; }
++fi
++pkg-config cairo    && HAVE_CAIRO=1
++pkg-config libcurl  && HAVE_LIBCURL=1
++pkg-config alsa     && HAVE_ALSA=1
++pkg-config libdrm   && HAVE_KMS=1
+ #pkg-config harfbuzz && HAVE_HARFBUZZ=1
+ 
+ 
+ 
+-ARCH=`uname -m`
++: "${ARCH:="$(uname -m)"}"
+ 
+ case "$ARCH" in
+    "x86_64")  HAVE_SIMD=1 ;;
+@@ -229,8 +233,8 @@ echo >> build.conf
+ if [ $HAVE_BABL  = 1 ];then
+   echo "#define CTX_BABL 1 " >> local.conf
+   echo "#define CTX_ENABLE_CM 1 " >> local.conf
+-  echo "CTX_CFLAGS+= `pkg-config babl  --cflags`" >> build.conf
+-  echo "CTX_LIBS+= `pkg-config babl  --libs` " >> build.conf
++  echo "CTX_CFLAGS+= `pkg-config "$BABL_NAME" --cflags`" >> build.conf
++  echo "CTX_LIBS+= `pkg-config "$BABL_NAME" --libs` " >> build.conf
+ else
+   echo "#define CTX_BABL 0 " >> local.conf
+   echo "#define CTX_ENABLE_CM 0 " >> local.conf
+@@ -348,7 +352,7 @@ echo "LIBS=$LIBS" >> build.conf
+ #echo "Generating build.deps"
+ #make build.deps 2>/dev/null
+ 
+-echo -n "configuration summary, architecture $(arch)"
++echo -n "configuration summary, architecture $ARCH"
+ [ $HAVE_SIMD = 1 ]  && echo " SIMD multi-pass"
+ echo ""
+ echo "Backends:"
+-- 
+2.40.1
+
diff --git a/pkgs/applications/terminal-emulators/ctx/default.nix b/pkgs/applications/terminal-emulators/ctx/default.nix
index 420e9b020e9..47f0fd702fa 100644
--- a/pkgs/applications/terminal-emulators/ctx/default.nix
+++ b/pkgs/applications/terminal-emulators/ctx/default.nix
@@ -1,44 +1,62 @@
 { lib
 , stdenv
 , fetchgit
+, pkg-config
+, xxd
 , SDL2
 , alsa-lib
 , babl
+, bash
+, cairo
 , curl
 , libdrm # Not documented
-, pkg-config
 , enableFb ? false
 , nixosTests
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "ctx";
-  version = "0.pre+date=2021-10-09";
+  version = "unstable-2023-06-05";
 
   src = fetchgit {
     name = "ctx-source"; # because of a dash starting the directory
     url = "https://ctx.graphics/.git/";
-    rev = "d11d0d1a719a3c77712528e2feed8c0878e0ea64";
-    sha256 = "sha256-Az3POgdvDOVaaRtzLlISDODhAKbefpGx5KgwO3dttqs=";
+    rev = "2eb3886919d0a0b8c305e4f9e18428dad5e73ca0";
+    sha256 = "sha256-PLUyGArxLU742IKIgpzxdBdc94mWWSkHNFoXGW8L/Zo=";
   };
 
+  patches = [
+    ./0001-Make-arch-detection-optional-and-fix-targets.patch
+  ];
+
+  postPatch = ''
+    patchShebangs ./tools/gen_fs.sh
+  '';
+
+  strictDeps = true;
+
+  env.ARCH = stdenv.hostPlatform.parsed.cpu.arch;
+
   nativeBuildInputs = [
     pkg-config
+    xxd
   ];
 
   buildInputs = [
     SDL2
     alsa-lib
     babl
+    bash # for ctx-audioplayer
+    cairo
     curl
     libdrm
   ];
 
   configureScript = "./configure.sh";
   configureFlags = lib.optional enableFb "--enable-fb";
+  configurePlatforms = [];
   dontAddPrefix = true;
-
-  hardeningDisable = [ "format" ];
+  dontDisableStatic = true;
 
   installFlags = [
     "PREFIX=${placeholder "out"}"