diff --git a/pkgs/by-name/sy/synfigstudio/package.nix b/pkgs/by-name/sy/synfigstudio/package.nix index 622b7c3b7c87..14b0d30d1d3f 100644 --- a/pkgs/by-name/sy/synfigstudio/package.nix +++ b/pkgs/by-name/sy/synfigstudio/package.nix @@ -5,63 +5,64 @@ pkg-config, autoreconfHook, wrapGAppsHook3, + gitUpdater, - boost, cairo, + ffmpeg, gettext, glibmm, + libmng, gtk3, gtkmm3, libjack2, libsigcxx, libxmlxx, mlt, - pango, imagemagick, intltool, adwaita-icon-theme, harfbuzz, freetype, + fontconfig, fribidi, openexr, fftw, }: let - version = "1.5.3"; + version = "1.5.5"; src = fetchFromGitHub { owner = "synfig"; repo = "synfig"; rev = "v${version}"; - hash = "sha256-D+FUEyzJ74l0USq3V9HIRAfgyJfRP372aEKDqF8+hsQ="; + hash = "sha256-5jVd+YqHVHKkePXBb3zjXEVlgdlU6Yb6LC4CurvsBtE="; }; - ETL = stdenv.mkDerivation { + ETL = stdenv.mkDerivation (finalAttrs: { pname = "ETL"; inherit version src; sourceRoot = "${src.name}/ETL"; + __structuredAttrs = true; + strictDeps = true; + nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ - glibmm - ]; - }; + }); - synfig = stdenv.mkDerivation { + synfig = stdenv.mkDerivation (finalAttrs: { pname = "synfig"; inherit version src; sourceRoot = "${src.name}/synfig-core"; - configureFlags = [ - "--with-boost=${boost.dev}" - "--with-boost-libdir=${boost.out}/lib" - ] - ++ lib.optionals stdenv.cc.isClang [ + __structuredAttrs = true; + strictDeps = true; + + configureFlags = lib.optionals stdenv.cc.isClang [ # Newer versions of clang default to C++17, but synfig and some of its dependencies use deprecated APIs that # are removed in C++17. Setting the language version to C++14 allows it to build. "CXXFLAGS=-std=c++14" @@ -74,31 +75,35 @@ let autoreconfHook gettext intltool + imagemagick ]; buildInputs = [ ETL - boost - cairo glibmm mlt libsigcxx libxmlxx - pango imagemagick harfbuzz freetype + fontconfig fribidi openexr fftw + ffmpeg + libmng ]; - }; + }); in -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "synfigstudio"; inherit version src; sourceRoot = "${src.name}/synfig-studio"; + __structuredAttrs = true; + strictDeps = true; + postPatch = '' patchShebangs images/splash_screen_development.sh ''; @@ -119,11 +124,11 @@ stdenv.mkDerivation { gettext intltool wrapGAppsHook3 + synfig ]; buildInputs = [ ETL synfig - boost cairo glibmm gtk3 @@ -133,6 +138,8 @@ stdenv.mkDerivation { libsigcxx libxmlxx mlt + fontconfig + ffmpeg adwaita-icon-theme openexr fftw @@ -143,13 +150,17 @@ stdenv.mkDerivation { passthru = { # Expose libraries and cli tools inherit ETL synfig; + + updateScript = gitUpdater { rev-prefix = "v"; }; }; meta = { description = "2D animation program"; homepage = "https://www.synfig.org"; + changelog = "https://github.com/synfig/synfig/releases/tag/v${finalAttrs.version}"; license = lib.licenses.gpl3Plus; + mainProgram = "synfigstudio"; maintainers = [ ]; platforms = lib.platforms.linux ++ lib.platforms.darwin; }; -} +})