From c823d3ae1a9f77c1f3bebb2165dc45f3dd0b6fcd Mon Sep 17 00:00:00 2001 From: normalc Date: Fri, 31 Jan 2025 09:41:06 -0500 Subject: [PATCH] libnick: init at 2025.1.0 --- pkgs/by-name/li/libnick/package.nix | 83 +++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 pkgs/by-name/li/libnick/package.nix diff --git a/pkgs/by-name/li/libnick/package.nix b/pkgs/by-name/li/libnick/package.nix new file mode 100644 index 000000000000..b33595964c9e --- /dev/null +++ b/pkgs/by-name/li/libnick/package.nix @@ -0,0 +1,83 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + pkg-config, + validatePkgConfig, + openssl, + sqlcipher, + boost, + curl, + glib, + libsecret, + libmaddy-markdown, + testers, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "libnick"; + version = "2025.1.0"; + + src = fetchFromGitHub { + owner = "NickvisionApps"; + repo = "libnick"; + tag = finalAttrs.version; + hash = "sha256-Y7Vn9KaZjEJ29o2GouNl5B/svAtJ24El9WYgXHhnxho="; + }; + + nativeBuildInputs = + [ + cmake + ninja + ] + ++ lib.optionals stdenv.hostPlatform.isUnix [ + pkg-config + validatePkgConfig + ]; + + buildInputs = + [ + boost + libmaddy-markdown + ] + ++ lib.optionals stdenv.hostPlatform.isUnix [ + glib + openssl + ] + ++ lib.optional stdenv.hostPlatform.isWindows sqlcipher; + + propagatedBuildInputs = [ + curl + libsecret + ]; + + cmakeFlags = [ + (lib.cmakeBool "BUILD_TESTING" finalAttrs.finalPackage.doCheck) + (lib.cmakeFeature "USE_LIBSECRET" "true") + ]; + + postPatch = '' + substituteInPlace cmake/libnick.pc.in \ + --replace-fail 'libdir=''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@' \ + 'libdir=@CMAKE_INSTALL_FULL_LIBDIR@' \ + --replace-fail 'includedir=''${prefix}/@CMAKE_INSTALL_INCLUDEDIR@' \ + 'includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@' + ''; + + passthru = { + tests.pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; + updateScript = nix-update-script { }; + }; + + meta = { + description = "Cross-platform development base for native Nickvision applications"; + homepage = "https://github.com/NickvisionApps/libnick"; + license = lib.licenses.gpl3Plus; + maintainers = [ lib.maintainers.normalcea ]; + platforms = lib.platforms.unix ++ lib.platforms.windows; + pkgConfigModules = [ "libnick" ]; + }; +})