diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/pangomm')
4 files changed, 177 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/pangomm/2.42.2-add-missing-include-attrlist.cc.patch b/nixpkgs/pkgs/development/libraries/pangomm/2.42.2-add-missing-include-attrlist.cc.patch new file mode 100644 index 000000000000..019c2dec2bc9 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/pangomm/2.42.2-add-missing-include-attrlist.cc.patch @@ -0,0 +1,12 @@ +diff --git a/untracked/pango/pangomm/attrlist.cc b/untracked/pango/pangomm/attrlist.cc +index 76c3341..0c6d68d 100755 +--- a/untracked/pango/pangomm/attrlist.cc ++++ b/untracked/pango/pangomm/attrlist.cc +@@ -3,6 +3,7 @@ + + #include <glibmm.h> + ++#include <pango-1.0/pango/pango-markup.h> + #include <pangomm/attrlist.h> + #include <pangomm/private/attrlist_p.h> + diff --git a/nixpkgs/pkgs/development/libraries/pangomm/2.42.nix b/nixpkgs/pkgs/development/libraries/pangomm/2.42.nix new file mode 100644 index 000000000000..267e46c48c3d --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/pangomm/2.42.nix @@ -0,0 +1,55 @@ +{ lib, stdenv, fetchurl, pkg-config, meson, ninja, python3, pango, glibmm, cairomm, gnome +, ApplicationServices }: + +stdenv.mkDerivation rec { + pname = "pangomm"; + version= "2.42.2"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-GyTJJiSuEnXMtXdYF10198Oa0zQtjAtLpg8NmEnS0Io="; + }; + + patches = [ + # Fixes a missing include leading to build failures while compiling `attrlist.cc` (as outlined by @dslm4515 [1]) + # Note that the files in that directory are generated and not tracked in Git [2], which is why we can't simply + # try to cherry-pick an upstream patch from future versions. + # [1]: https://github.com/dslm4515/BMLFS/issues/16#issuecomment-914624797 + # [2]: https://github.com/GNOME/pangomm/tree/master/untracked + ./2.42.2-add-missing-include-attrlist.cc.patch + ]; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ pkg-config meson ninja python3 ] ++ lib.optionals stdenv.isDarwin [ + ApplicationServices + ]; + propagatedBuildInputs = [ pango glibmm cairomm ]; + + doCheck = true; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + versionPolicy = "odd-unstable"; + freeze = true; + }; + }; + + meta = with lib; { + broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin; + description = "C++ interface to the Pango text rendering library"; + homepage = "https://www.pango.org/"; + license = with licenses; [ lgpl2 lgpl21 ]; + maintainers = with maintainers; [ lovek323 raskin ]; + platforms = platforms.unix; + + longDescription = '' + Pango is a library for laying out and rendering of text, with an + emphasis on internationalization. Pango can be used anywhere + that text layout is needed, though most of the work on Pango so + far has been done in the context of the GTK widget toolkit. + Pango forms the core of text and font handling for GTK. + ''; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/pangomm/2.48.nix b/nixpkgs/pkgs/development/libraries/pangomm/2.48.nix new file mode 100644 index 000000000000..0e8bbe80dd84 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/pangomm/2.48.nix @@ -0,0 +1,65 @@ +{ stdenv +, lib +, fetchurl +, pkg-config +, meson +, ninja +, python3 +, pango +, glibmm_2_68 +, cairomm_1_16 +, gnome +, ApplicationServices +}: + +stdenv.mkDerivation rec { + pname = "pangomm"; + version= "2.50.2"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-G8WrTqMoBEJYDWgxgibas2zu38Moj52DcRz3z6tQqfs="; + }; + + nativeBuildInputs = [ + pkg-config + meson + ninja + python3 + ] ++ lib.optionals stdenv.isDarwin [ + ApplicationServices + ]; + + propagatedBuildInputs = [ + pango + glibmm_2_68 + cairomm_1_16 + ]; + + doCheck = true; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "${pname}_2_48"; + versionPolicy = "odd-unstable"; + }; + }; + + meta = with lib; { + description = "C++ interface to the Pango text rendering library"; + longDescription = '' + Pango is a library for laying out and rendering of text, with an + emphasis on internationalization. Pango can be used anywhere + that text layout is needed, though most of the work on Pango so + far has been done in the context of the GTK widget toolkit. + Pango forms the core of text and font handling for GTK. + ''; + homepage = "https://www.pango.org/"; + license = licenses.lgpl21Plus; + maintainers = teams.gnome.members ++ (with maintainers; [ lovek323 raskin ]); + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/pangomm/default.nix b/nixpkgs/pkgs/development/libraries/pangomm/default.nix new file mode 100644 index 000000000000..02a76869cf1e --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/pangomm/default.nix @@ -0,0 +1,45 @@ +{ lib, stdenv, fetchurl, pkg-config, meson, ninja, python3, pango, glibmm, cairomm, gnome +, ApplicationServices }: + +stdenv.mkDerivation rec { + pname = "pangomm"; + version= "2.46.4"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-uSAWZhUmQk3kuTd/FRL1l4H0H7FsnAJn1hM7oc1o2yI="; + }; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ pkg-config meson ninja python3 ] ++ lib.optionals stdenv.isDarwin [ + ApplicationServices + ]; + propagatedBuildInputs = [ pango glibmm cairomm ]; + + doCheck = true; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + versionPolicy = "odd-unstable"; + freeze = true; + }; + }; + + meta = with lib; { + description = "C++ interface to the Pango text rendering library"; + homepage = "https://www.pango.org/"; + license = with licenses; [ lgpl2 lgpl21 ]; + maintainers = with maintainers; [ lovek323 raskin ]; + platforms = platforms.unix; + + longDescription = '' + Pango is a library for laying out and rendering of text, with an + emphasis on internationalization. Pango can be used anywhere + that text layout is needed, though most of the work on Pango so + far has been done in the context of the GTK widget toolkit. + Pango forms the core of text and font handling for GTK. + ''; + }; +} |