From 78abd4df66a1f9c2ff41060266747f31c9cfc5bd Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Sun, 16 Jan 2022 12:37:33 -0300 Subject: pinta: add translations, use msbuild to install files --- pkgs/applications/graphics/pinta/default.nix | 59 +++++++++++++++------------- 1 file changed, 32 insertions(+), 27 deletions(-) (limited to 'pkgs/applications/graphics/pinta') diff --git a/pkgs/applications/graphics/pinta/default.nix b/pkgs/applications/graphics/pinta/default.nix index 3a45557a51f36..ed2aae72d47a7 100644 --- a/pkgs/applications/graphics/pinta/default.nix +++ b/pkgs/applications/graphics/pinta/default.nix @@ -2,10 +2,9 @@ , buildDotnetModule , dotnetCorePackages , fetchFromGitHub +, glibcLocales , gtk3 -, installShellFiles -, librsvg -, makeDesktopItem +, intltool , wrapGAppsHook }: @@ -14,7 +13,7 @@ buildDotnetModule rec { version = "2.0.2"; nativeBuildInputs = [ - installShellFiles + intltool wrapGAppsHook ]; @@ -27,7 +26,7 @@ buildDotnetModule rec { # How-to update deps: # $ nix-build -A pinta.fetch-deps # $ ./result - # $ cp /tmp/Pinta-deps.nix ./pkgs/applications/graphics/pinta/default.nix + # $ cp /tmp/Pinta-deps.nix ./pkgs/applications/graphics/pinta/deps.nix # TODO: create update script nugetDeps = ./deps.nix; @@ -40,32 +39,38 @@ buildDotnetModule rec { sha256 = "sha256-Bvzs1beq7I1+10w9pmMePqGCz2TPDp5UK5Wa9hbKERU="; }; - postFixup = '' - # Rename the binary - mv $out/bin/Pinta $out/bin/pinta + # https://github.com/NixOS/nixpkgs/issues/38991 + # bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) + LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive"; - # Copy desktop icons - for size in 16x16 22x22 24x24 32x32 96x96 scalable; do - mkdir -p $out/share/icons/hicolor/$size/apps - cp xdg/$size/* $out/share/icons/hicolor/$size/apps/ - done + # Do the autoreconf/Makefile job manually + # TODO: use upstream build system + postBuild = '' + # Substitute translation placeholders + intltool-merge -x po/ xdg/pinta.appdata.xml.in xdg/pinta.appdata.xml + intltool-merge -d po/ xdg/pinta.desktop.in xdg/pinta.desktop - # Copy runtime icons - cp -r Pinta.Resources/icons/hicolor/16x16/* $out/share/icons/hicolor/16x16/ + # Build translations + dotnet build Pinta \ + -p:ContinuousIntegrationBuild=true \ + -p:Deterministic=true \ + -target:CompileTranslations,PublishTranslations \ + -p:BuildTranslations=true \ + -p:PublishDir="$NIX_BUILD_TOP/source/publish" + ''; - # Install manpage - installManPage xdg/pinta.1 + postFixup = '' + # Rename the binary + mv "$out/bin/Pinta" "$out/bin/pinta" - # Fix and copy desktop file - # TODO: fix this propely by using the autoreconf+pkg-config build system - # from upstream - mkdir -p $out/share/applications - substitute xdg/pinta.desktop.in $out/share/applications/Pinta.desktop \ - --replace _Name Name \ - --replace _Comment Comment \ - --replace _GenericName GenericName \ - --replace _X-GNOME-FullName X-GNOME-FullName \ - --replace _Keywords Keywords + # Install + dotnet build installer/linux/install.proj \ + -target:Install \ + -p:ContinuousIntegrationBuild=true \ + -p:Deterministic=true \ + -p:SourceDir="$NIX_BUILD_TOP/source" \ + -p:PublishDir="$NIX_BUILD_TOP/source/publish" \ + -p:InstallPrefix="$out" ''; meta = with lib; { -- cgit 1.4.1