From 6d79af426396a857266bf72a8694963c9c9164d1 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sat, 22 Aug 2020 11:03:55 +0300 Subject: [PATCH 1/2] libwtk-sdl2: init at unstable-2023-02-28 --- .../libraries/libwtk-sdl2/default.nix | 51 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 53 insertions(+) create mode 100644 pkgs/development/libraries/libwtk-sdl2/default.nix diff --git a/pkgs/development/libraries/libwtk-sdl2/default.nix b/pkgs/development/libraries/libwtk-sdl2/default.nix new file mode 100644 index 000000000000..00c8ae675e7b --- /dev/null +++ b/pkgs/development/libraries/libwtk-sdl2/default.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, boost +, SDL2 +, SDL2_ttf +, SDL2_image +}: + +stdenv.mkDerivation rec { + pname = "libwtk-sdl2"; + version = "unstable-2023-02-28"; + + src = fetchFromGitHub { + owner = "muesli4"; + repo = pname; + rev = "0504f8342c8c97d0c8b43d33751427c564ad8d44"; + sha256 = "sha256-NAjsDQ4/hklYRfa85uleOr50tmc6UJVo2xiDnEbmIxk="; + }; + + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + boost + SDL2 + SDL2_ttf + SDL2_image + ]; + # From some reason, this is needed as otherwise SDL.h is not found + NIX_CFLAGS_COMPILE = "-I${SDL2.dev}/include/SDL2"; + + outputs = [ "out" "dev" "lib" ]; + + meta = with lib; { + description = "Simplistic SDL2 GUI framework in early developement"; + homepage = "https://github.com/muesli4/libwtk-sdl2"; + # See: https://github.com/muesli4/mpd-touch-screen-gui/tree/master/LICENSES + license = licenses.lgpl3Plus; + maintainers = with maintainers; [ doronbehar ]; + /* Partial darwin build failure log (from ofborg): + geometry.cpp:95:34: error: no member named 'abs' in namespace 'std' + > return { std::abs(v.w), std::abs(v.h) }; + > ~~~~~^ + */ + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c248e8219771..e347aecb4df8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18427,6 +18427,8 @@ with pkgs; libwhich = callPackage ../development/tools/misc/libwhich { }; + libwtk-sdl2 = callPackage ../development/libraries/libwtk-sdl2 { }; + linuxkit = callPackage ../development/tools/misc/linuxkit { inherit (darwin.apple_sdk_11_0.frameworks) Virtualization; }; From c81c3d2fcfc0f8e69c50eb66ea8682a155643de5 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sat, 22 Aug 2020 11:05:29 +0300 Subject: [PATCH 2/2] mpd-touch-screen-gui: init at unstable-2022-12-30 --- .../audio/mpd-touch-screen-gui/default.nix | 63 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 65 insertions(+) create mode 100644 pkgs/applications/audio/mpd-touch-screen-gui/default.nix diff --git a/pkgs/applications/audio/mpd-touch-screen-gui/default.nix b/pkgs/applications/audio/mpd-touch-screen-gui/default.nix new file mode 100644 index 000000000000..482fe8f66f4c --- /dev/null +++ b/pkgs/applications/audio/mpd-touch-screen-gui/default.nix @@ -0,0 +1,63 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, SDL2 +, SDL2_ttf +, SDL2_image +, boost +, libmpdclient +, libwtk-sdl2 +, icu +, libconfig +, dejavu_fonts +}: + +stdenv.mkDerivation rec { + pname = "mpd-touch-screen-gui"; + version = "unstable-2022-12-30"; + + src = fetchFromGitHub { + owner = "muesli4"; + repo = pname; + rev = "156eaebede89da2b83a98d8f9dfa46af12282fb4"; + sha256 = "sha256-vr/St4BghrndjUQ0nZI/uJq+F/MjEj6ulc4DYwQ/pgU="; + }; + + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + + postPatch = '' + sed -i s#/usr/share/fonts/TTF#${dejavu_fonts}/share/fonts/truetype#g data/program.conf + ''; + + buildInputs = [ + SDL2 + SDL2_ttf + SDL2_image + boost + libmpdclient + libwtk-sdl2 + icu + libconfig + ]; + + # https://stackoverflow.com/questions/53089494/configure-error-could-not-find-a-version-of-the-library + configureFlags = [ + "--with-boost-libdir=${boost.out}/lib" + ]; + + doCheck = true; + + meta = with lib; { + description = "A small MPD client that let's you view covers and has controls suitable for small touchscreens"; + homepage = "https://github.com/muesli4/mpd-touch-screen-gui"; + # See: https://github.com/muesli4/mpd-touch-screen-gui/tree/master/LICENSES + license = licenses.lgpl3Plus; + maintainers = with maintainers; [ doronbehar ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e347aecb4df8..9b4ac29d3e74 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5376,6 +5376,8 @@ with pkgs; mpris-scrobbler = callPackage ../tools/audio/mpris-scrobbler { }; + mpd-touch-screen-gui = callPackage ../applications/audio/mpd-touch-screen-gui { }; + mq-cli = callPackage ../tools/system/mq-cli { }; mrkd = with python3Packages; toPythonApplication mrkd;