diff --git a/pkgs/by-name/li/libcangjie/package.nix b/pkgs/by-name/li/libcangjie/package.nix index ab562d9c1999..b9e40ee59d65 100644 --- a/pkgs/by-name/li/libcangjie/package.nix +++ b/pkgs/by-name/li/libcangjie/package.nix @@ -1,36 +1,45 @@ -{ lib, stdenv, autoconf, automake, libtool, m4, fetchurl, bash, pkg-config, sqlite }: +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + sqlite, + cppcheck, +}: stdenv.mkDerivation rec { pname = "libcangjie"; - version = "1.4_rev_${rev}"; - rev = "a73c1d8783f7b6526fd9b2cc44a669ffa5518d3d"; + version = "1.4.0"; - # fetchFromGitLab isn't working for some reason - src = fetchurl { - url = "https://gitlab.freedesktop.org/cangjie/libcangjie/-/archive/a73c1d8783f7b6526fd9b2cc44a669ffa5518d3d/libcangjie-a73c1d8783f7b6526fd9b2cc44a669ffa5518d3d.tar.gz"; - sha256 = "sha256-j5IQ0hBefoF8p966YrfZgYCw7ht5twJhYi4l0NneukQ="; + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "cangjie"; + repo = "libcangjie"; + rev = "v${version}"; + hash = "sha256-LZRU2hbAC8xftPAIHDKCa2SfFLuH/PVqvjZmOSoUQwc="; }; - nativeBuildInputs = [ pkg-config autoconf automake ]; - buildInputs = [ libtool m4 sqlite ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + ]; - configureScript = "./autogen.sh"; - - preConfigure = '' - find . -name '*.sh' -exec sed -e 's@#!/bin/bash@${bash}/bin/bash@' -i '{}' ';' - ''; + buildInputs = [ + sqlite + cppcheck + ]; doCheck = true; meta = { description = "C library implementing the Cangjie input method"; - longDescription = '' - libcangjie is a library implementing the Cangjie input method. - ''; homepage = "https://gitlab.freedesktop.org/cangjie/libcangjie"; license = lib.licenses.lgpl3Plus; - maintainers = [ lib.maintainers.linquize ]; platforms = lib.platforms.all; + mainProgram = "libcangjie-cli"; }; } diff --git a/pkgs/development/python-modules/pycangjie/default.nix b/pkgs/development/python-modules/pycangjie/default.nix index 65768bdc806f..d35d0b40943f 100644 --- a/pkgs/development/python-modules/pycangjie/default.nix +++ b/pkgs/development/python-modules/pycangjie/default.nix @@ -1,47 +1,56 @@ { lib, - fetchFromGitHub, - bash, - autoconf, - automake, - libtool, + fetchFromGitLab, pkg-config, libcangjie, sqlite, buildPythonPackage, cython, + meson, + ninja, + cmake, }: -buildPythonPackage { +buildPythonPackage rec { pname = "pycangjie"; - version = "unstable-2015-05-03"; + version = "1.5.0"; + format = "other"; - src = fetchFromGitHub { - owner = "Cangjians"; + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "cangjie"; repo = "pycangjie"; - rev = "361bb413203fd43bab624d98edf6f7d20ce6bfd3"; - hash = "sha256-sS0Demzm89WtEIN4Efz0OTsUQ/c3gIX+/koekQGOca4="; + rev = version; + hash = "sha256-REWX6u3Rc72+e5lIImBwV5uFoBBUTMM5BOfYdKIFL4k="; }; + preConfigure = '' + ( + cd subprojects + set -x + cp -R --no-preserve=mode,ownership ${libcangjie.src} libcangjie + ) + ''; + nativeBuildInputs = [ pkg-config - libtool - autoconf - automake + meson + ninja cython + cmake ]; + buildInputs = [ - libcangjie sqlite ]; - preConfigure = '' - find . -name '*.sh' -exec sed -e 's@#!/bin/bash@${bash}/bin/bash@' -i '{}' ';' - sed -i 's@/usr@${libcangjie}@' tests/__init__.py - ''; + pythonImportCheck = [ "cangjie" ]; - configureScript = "./autogen.sh"; + # `buildPythonApplication` skips checkPhase + postInstallCheck = '' + mesonCheckPhase + ''; meta = with lib; { description = "Python wrapper to libcangjie"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5562b7ea464a..75fd5b3333f6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11203,7 +11203,9 @@ self: super: with self; { py = callPackage ../development/python-modules/py { }; - pycangjie = callPackage ../development/python-modules/pycangjie { }; + pycangjie = callPackage ../development/python-modules/pycangjie { + inherit (pkgs.buildPackages) meson; + }; pycapnp = callPackage ../development/python-modules/pycapnp { };