x11-terms/kitty: bump to 0.15.0, improve ebuilds and add myself as a Proxy-Maintainer
authorPablo <pord@tuta.io>
Tue, 3 Dec 2019 09:31:33 +0000 (10:31 +0100)
committerJoonas Niilola <juippis@gentoo.org>
Tue, 3 Dec 2019 13:13:51 +0000 (15:13 +0200)
Signed-off-by: Pablo Orduna <pabloorduna98@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/13769
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
x11-terms/kitty/Manifest
x11-terms/kitty/files/kitty-0.15.0-flags.patch [new file with mode: 0644]
x11-terms/kitty/files/kitty-9999-flags.patch
x11-terms/kitty/files/kitty-9999-svg-icon.patch [deleted file]
x11-terms/kitty/kitty-0.15.0.ebuild [new file with mode: 0644]
x11-terms/kitty/kitty-9999.ebuild
x11-terms/kitty/metadata.xml

index 8d37e0a76d7980bd775e0dc0e9597209f0fef608..be302aa445cbff61eec39ba0ba5185ef3fe415fc 100644 (file)
@@ -1 +1,2 @@
 DIST kitty-0.14.6.tar.xz 2970008 BLAKE2B e4f64051aebcc5d5aa1956351acb5564815e65c7c8435cac3c7960c5096fbeb5f0e98e3bdf92e750e8d70d6b0124b081bbb5d38a589c3dc5cf74642c3eaf83c9 SHA512 889bfce732f2a36d338c9c41b28e0770d98c15530b56a9f037cef610593b50453f1bde60e89560472035fc250dec0431a9776de1449f77e4c6988aca157eea12
+DIST kitty-0.15.0.tar.xz 2978152 BLAKE2B 49f6e5051392c9ad0a91151ccc9f62dbc8ce0031680c66f4b08291c5b5cf43ccb1f096aecfcc69f7980997397d326d6b164f5f189fb89608ed9c8c22f313ebda SHA512 4e546fb9ad0cf34df8aa5ef3787224e8dd820fadb474faddc5f47b987bbc46fb62350a64bcacbdccd7e7cd287df22045ed742b89f613e402f033dc8bb73d8688
diff --git a/x11-terms/kitty/files/kitty-0.15.0-flags.patch b/x11-terms/kitty/files/kitty-0.15.0-flags.patch
new file mode 100644 (file)
index 0000000..921104e
--- /dev/null
@@ -0,0 +1,49 @@
+Respect user CFLAGS.
+
+--- kitty-0.15.0/setup.py
++++ kitty-0.15.0/setup.py
+@@ -204,7 +204,7 @@
+     if ccver >= (5, 0):
+         df += ' -Og'
+         float_conversion = '-Wfloat-conversion'
+-    optimize = df if debug or sanitize else '-O3'
++    optimize = ''
+     sanitize_args = get_sanitize_args(cc, ccver) if sanitize else set()
+     cppflags = os.environ.get(
+         'OVERRIDE_CPPFLAGS', '-D{}DEBUG'.format('' if debug else 'N'),
+@@ -217,7 +217,7 @@
+     cflags = os.environ.get(
+         'OVERRIDE_CFLAGS', (
+             '-Wextra {} -Wno-missing-field-initializers -Wall -Wstrict-prototypes -std={}11'
+-            ' -pedantic-errors -Werror {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden'
++            ' -pedantic-errors {} {} -fwrapv {} {} {} -fvisibility=hidden'
+         ).format(
+             float_conversion, std,
+             optimize,
+@@ -232,7 +232,7 @@
+     )
+     ldflags = os.environ.get(
+         'OVERRIDE_LDFLAGS',
+-        '-Wall ' + ' '.join(sanitize_args) + ('' if debug else ' -O3')
++        '-Wall ' + ' '.join(sanitize_args)
+     )
+     ldflags = shlex.split(ldflags)
+     ldflags.append('-shared')
+@@ -611,7 +611,7 @@
+ def build_launcher(args, launcher_dir='.', bundle_type='source'):
+-    cflags = '-Wall -Werror -fpie'.split()
++    cflags = '-Wall -fpie'.split()
+     cppflags = []
+     libs = []
+     if args.profile or args.sanitize:
+@@ -623,8 +623,6 @@
+             cflags.append('-g')
+         if args.profile:
+             libs.append('-lprofiler')
+-    else:
+-        cflags.append('-O3')
+     if bundle_type.endswith('-freeze'):
+         cppflags.append('-DFOR_BUNDLE')
+         cppflags.append('-DPYVER="{}"'.format(sysconfig.get_python_version()))
index 1c53cfcc84cfa4609988bf96619d3fe2d18e61e3..0b60ae190fcb17d0a4f82ebedf6526904df4ed8c 100644 (file)
@@ -1,26 +1,26 @@
-diff --git a/setup.py b/setup.py
-index 22423119..b1f4dfe0 100755
---- a/setup.py
-+++ b/setup.py
-@@ -202,7 +202,7 @@ def init_env(
-     df = '-g3'
+Respect user CFLAGS.
+
+--- kitty-0.15.0/setup.py
++++ kitty-0.15.0/setup.py
+@@ -204,7 +204,7 @@
      if ccver >= (5, 0):
          df += ' -Og'
+         float_conversion = '-Wfloat-conversion'
 -    optimize = df if debug or sanitize else '-O3'
 +    optimize = ''
      sanitize_args = get_sanitize_args(cc, ccver) if sanitize else set()
      cppflags = os.environ.get(
          'OVERRIDE_CPPFLAGS', '-D{}DEBUG'.format('' if debug else 'N'),
-@@ -213,7 +213,7 @@ def init_env(
+@@ -217,7 +217,7 @@
      cflags = os.environ.get(
          'OVERRIDE_CFLAGS', (
-             '-Wextra -Wfloat-conversion -Wno-missing-field-initializers -Wall -Wstrict-prototypes -std=c11'
+             '-Wextra {} -Wno-missing-field-initializers -Wall -Wstrict-prototypes -D_POSIX_C_SOURCE=200809L -std=c11'
 -            ' -pedantic-errors -Werror {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden'
 +            ' -pedantic-errors {} {} -fwrapv {} {} {} -fvisibility=hidden'
          ).format(
+             float_conversion, std,
              optimize,
-             ' '.join(sanitize_args),
-@@ -227,7 +227,7 @@ def init_env(
+@@ -232,7 +232,7 @@
      )
      ldflags = os.environ.get(
          'OVERRIDE_LDFLAGS',
@@ -29,7 +29,7 @@ index 22423119..b1f4dfe0 100755
      )
      ldflags = shlex.split(ldflags)
      ldflags.append('-shared')
-@@ -606,20 +606,17 @@ def safe_makedirs(path):
+@@ -611,7 +611,7 @@
  
  
  def build_launcher(args, launcher_dir='.', bundle_type='source'):
@@ -38,11 +38,7 @@ index 22423119..b1f4dfe0 100755
      cppflags = []
      libs = []
      if args.profile or args.sanitize:
-         if args.sanitize:
--            cflags.append('-g3')
-             cflags.extend(get_sanitize_args(env.cc, env.ccver))
-             libs += ['-lasan'] if env.cc == 'gcc' and not is_macos else []
-         else:
+@@ -623,8 +623,6 @@
              cflags.append('-g')
          if args.profile:
              libs.append('-lprofiler')
diff --git a/x11-terms/kitty/files/kitty-9999-svg-icon.patch b/x11-terms/kitty/files/kitty-9999-svg-icon.patch
deleted file mode 100644 (file)
index ff9e00e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---- kitty-9999/setup.py.orig   2019-07-16 18:13:07.072868752 -0500
-+++ kitty-9999/setup.py        2019-07-16 18:13:40.082039929 -0500
-@@ -705,9 +705,9 @@
-         run_tool(['make', 'docs'])
-     copy_man_pages(ddir)
-     copy_html_docs(ddir)
--    icdir = os.path.join(ddir, 'share', 'icons', 'hicolor', '256x256', 'apps')
-+    icdir = os.path.join(ddir, 'share', 'icons', 'hicolor', 'scalable', 'apps')
-     safe_makedirs(icdir)
--    shutil.copy2('logo/kitty.png', icdir)
-+    shutil.copy2('logo/kitty.svg', icdir)
-     deskdir = os.path.join(ddir, 'share', 'applications')
-     safe_makedirs(deskdir)
-     with open(os.path.join(deskdir, 'kitty.desktop'), 'w') as f:
diff --git a/x11-terms/kitty/kitty-0.15.0.ebuild b/x11-terms/kitty/kitty-0.15.0.ebuild
new file mode 100644 (file)
index 0000000..5e7043b
--- /dev/null
@@ -0,0 +1,101 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7} )
+
+inherit python-single-r1 toolchain-funcs xdg
+
+if [[ ${PV} == "9999" ]] ; then
+       EGIT_REPO_URI="https://github.com/kovidgoyal/kitty.git"
+       inherit git-r3
+else
+       SRC_URI="https://github.com/kovidgoyal/kitty/releases/download/v${PV}/${P}.tar.xz"
+       KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="A modern, hackable, featureful, OpenGL-based terminal emulator"
+HOMEPAGE="https://github.com/kovidgoyal/kitty"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="debug imagemagick wayland"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+       ${PYTHON_DEPS}
+       media-libs/fontconfig
+       media-libs/freetype:2
+       >=media-libs/harfbuzz-1.5.0:=
+       media-libs/libcanberra
+       media-libs/libpng:0=
+       x11-libs/libxcb[xkb]
+       x11-libs/libXcursor
+       x11-libs/libXi
+       x11-libs/libXinerama
+       x11-libs/libxkbcommon[X]
+       x11-libs/libXrandr
+       sys-apps/dbus
+       sys-libs/zlib
+       imagemagick? ( virtual/imagemagick-tools )
+       wayland? (
+               dev-libs/wayland
+               >=dev-libs/wayland-protocols-1.17
+       )
+"
+
+DEPEND="${RDEPEND}
+       media-libs/mesa[X(+)]
+       sys-libs/ncurses
+"
+
+BDEPEND="virtual/pkgconfig"
+
+[[ ${PV} == *9999 ]] && BDEPEND+=" >=dev-python/sphinx-1.7"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-flags.patch
+       "${FILESDIR}"/${PN}-0.14.4-svg-icon.patch
+)
+
+src_prepare() {
+       default
+
+       # disable wayland as required
+       if ! use wayland; then
+               sed -i "/'x11 wayland'/s/ wayland//" setup.py || die
+       fi
+
+       # respect doc dir
+       sed -i "/htmldir =/s/appname/'${PF}'/" setup.py || die
+
+       tc-export CC
+}
+
+src_compile() {
+       "${EPYTHON}" setup.py \
+               --verbose $(usex debug --debug "") \
+               --libdir-name $(get_libdir) \
+               linux-package
+}
+
+src_test() {
+       export KITTY_CONFIG_DIRECTORY=${T}
+       "${EPYTHON}" test.py || die
+}
+
+src_install() {
+       insinto /usr
+       doins -r linux-package/*
+       dobin linux-package/bin/kitty
+       python_fix_shebang "${ED}"
+}
+
+pkg_postinst() {
+       xdg_icon_cache_update
+}
+
+pkg_postrm() {
+       xdg_icon_cache_update
+}
index 1d1a09c24c6bb3e5238c0968e2dd3fef27e047a7..5e7043b85fbbf85d0105626fa8e621ae08a96e93 100644 (file)
@@ -2,6 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
+
 PYTHON_COMPAT=( python3_{6,7} )
 
 inherit python-single-r1 toolchain-funcs xdg
@@ -19,43 +20,43 @@ HOMEPAGE="https://github.com/kovidgoyal/kitty"
 
 LICENSE="GPL-3"
 SLOT="0"
-IUSE="debug doc imagemagick wayland"
+IUSE="debug imagemagick wayland"
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
 
-COMMON_DEPS="
+RDEPEND="
        ${PYTHON_DEPS}
+       media-libs/fontconfig
+       media-libs/freetype:2
        >=media-libs/harfbuzz-1.5.0:=
-       sys-apps/dbus
-       sys-libs/zlib
        media-libs/libcanberra
        media-libs/libpng:0=
-       media-libs/freetype:2
-       media-libs/fontconfig
+       x11-libs/libxcb[xkb]
        x11-libs/libXcursor
-       x11-libs/libXrandr
        x11-libs/libXi
        x11-libs/libXinerama
        x11-libs/libxkbcommon[X]
-       x11-libs/libxcb[xkb]
+       x11-libs/libXrandr
+       sys-apps/dbus
+       sys-libs/zlib
+       imagemagick? ( virtual/imagemagick-tools )
        wayland? (
                dev-libs/wayland
                >=dev-libs/wayland-protocols-1.17
        )
 "
-RDEPEND="
-       ${COMMON_DEPS}
-       imagemagick? ( virtual/imagemagick-tools )
-"
+
 DEPEND="${RDEPEND}
        media-libs/mesa[X(+)]
        sys-libs/ncurses
 "
-[[ ${PV} == *9999 ]] && DEPEND+=" >=dev-python/sphinx-1.7[${PYTHON_USEDEP}]"
+
 BDEPEND="virtual/pkgconfig"
 
+[[ ${PV} == *9999 ]] && BDEPEND+=" >=dev-python/sphinx-1.7"
+
 PATCHES=(
        "${FILESDIR}"/${P}-flags.patch
-       "${FILESDIR}"/${P}-svg-icon.patch
+       "${FILESDIR}"/${PN}-0.14.4-svg-icon.patch
 )
 
 src_prepare() {
@@ -67,18 +68,13 @@ src_prepare() {
        fi
 
        # respect doc dir
-       sed -i "/htmldir =/s/appname/'${PF}'/" setup.py
+       sed -i "/htmldir =/s/appname/'${PF}'/" setup.py || die
 
        tc-export CC
 }
 
-doecho() {
-       echo "$@"
-       "$@" || die
-}
-
 src_compile() {
-       doecho "${EPYTHON}" setup.py \
+       "${EPYTHON}" setup.py \
                --verbose $(usex debug --debug "") \
                --libdir-name $(get_libdir) \
                linux-package
@@ -90,13 +86,10 @@ src_test() {
 }
 
 src_install() {
-       mkdir -p "${ED}"/usr || die
-       cp -r linux-package/* "${ED}/usr" || die
+       insinto /usr
+       doins -r linux-package/*
+       dobin linux-package/bin/kitty
        python_fix_shebang "${ED}"
-
-       if ! use doc; then
-               rm -r "${ED}"/usr/share/doc || die
-       fi
 }
 
 pkg_postinst() {
index acf4464e905232f5d52acb127c86ff8c1957f5d3..99074a0caa85fa9a27122b6ada3063d25a60987e 100644 (file)
@@ -1,7 +1,14 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-       <!-- maintainer-needed -->
+       <maintainer type="person">
+               <email>pabloorduna98@gmail.com</email>
+               <name>Pablo Orduna</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>proxy-maint@gentoo.org</email>
+               <name>Gentoo Proxy Maintainers Project</name>
+       </maintainer>
        <use>
                <flag name="imagemagick">Support displaying images in the terminal with icat</flag>
        </use>