From 324c3bc11e239bf9917ed52fce2d6b0828cabf10 Mon Sep 17 00:00:00 2001 From: Tobias Mayer Date: Sat, 10 Jun 2023 15:32:11 +0200 Subject: [PATCH] ctx: 0.pre+date=2021-10-09 -> unstable-2023-06-05 --- ...h-detection-optional-and-fix-targets.patch | 86 +++++++++++++++++++ .../terminal-emulators/ctx/default.nix | 32 +++++-- 2 files changed, 111 insertions(+), 7 deletions(-) create mode 100644 pkgs/applications/terminal-emulators/ctx/0001-Make-arch-detection-optional-and-fix-targets.patch 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 0000000000000..5e4297ea70402 --- /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 +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 420e9b020e99f..47f0fd702fa35 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"}"