diff options
author | Viorel Munteanu <ceamac.paragon@gmail.com> | 2021-03-27 15:03:28 +0200 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-03-27 16:42:36 +0000 |
commit | bcaa18be3312e4871f31b3b20656027fdb9b5c54 (patch) | |
tree | 92080bdf65a4de456f853291f897698d7a7398cb /media-gfx/xpaint | |
parent | media-libs/libpgf: add maintainer (diff) | |
download | gentoo-bcaa18be3312e4871f31b3b20656027fdb9b5c54.tar.gz gentoo-bcaa18be3312e4871f31b3b20656027fdb9b5c54.tar.bz2 gentoo-bcaa18be3312e4871f31b3b20656027fdb9b5c54.zip |
media-gfx/xpaint: fix compiling in gentoo prefix
Package-Manager: Portage-3.0.13, Repoman-3.0.2
Signed-off-by: Viorel Munteanu <ceamac.paragon@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/20036
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-gfx/xpaint')
-rw-r--r-- | media-gfx/xpaint/files/xpaint-3.1.3-gentoo-prefix.patch | 103 | ||||
-rw-r--r-- | media-gfx/xpaint/files/xpaint-3.1.3-gentoo-qa.patch (renamed from media-gfx/xpaint/files/xpaint-3.1.3-cflags-ldflags-strip.patch) | 8 | ||||
-rw-r--r-- | media-gfx/xpaint/files/xpaint-3.1.3-libtool-clang.patch | 26 | ||||
-rw-r--r-- | media-gfx/xpaint/xpaint-3.1.3.ebuild | 16 |
4 files changed, 147 insertions, 6 deletions
diff --git a/media-gfx/xpaint/files/xpaint-3.1.3-gentoo-prefix.patch b/media-gfx/xpaint/files/xpaint-3.1.3-gentoo-prefix.patch new file mode 100644 index 000000000000..cf02a14725fa --- /dev/null +++ b/media-gfx/xpaint/files/xpaint-3.1.3-gentoo-prefix.patch @@ -0,0 +1,103 @@ +This patch fixes compiling xpaint inside a gentoo prefix. +There are multiple issues: + search paths hardcoded to /usr/include, + install paths outside prefix, + X resources in app-defaults with path hardcoded to /usr/share/xpaint +--- a/Makefile.am ++++ b/Makefile.am +@@ -3,7 +3,7 @@ + ## Local Configuration arguments + BINDIR = $(prefix)/bin + SHAREDIR = $(prefix)/share/xpaint +-XAPPLOADDIR = /etc/X11/app-defaults ++XAPPLOADDIR = $(sysconfdir)/X11/app-defaults + + ## Enable/disable PRINTCAP (for older BSD style printing configuration) + ## PRINTCAP = -DPRINTCAP +@@ -85,7 +85,7 @@ + .PHONY: + + version.h: +- rm -f xaw_incdir ; ln -s /usr/include/X11/Xaw3dxft xaw_incdir ++ rm -f xaw_incdir ; ln -s @includedir@/X11/Xaw3dxft xaw_incdir + echo "#define XPAINT_VERSION \"$(PACKAGE_VERSION)\"" > version.h + + substads: substads.c +@@ -149,8 +149,7 @@ + mkdir -p $(DESTDIR)$(SHAREDIR)/messages + cd share/messages ; $(RM) -f *~ ; cp -f Messages* $(DESTDIR)$(SHAREDIR)/messages + chmod -R a+r $(DESTDIR)$(SHAREDIR)/ +- cd util ; make install +- cd vxp2ps ; make install ++ cd vxp2ps ; make BINDIR=$(BINDIR) install + + clean-local: + rm -f xaw_incdir +--- a/util/Makefile ++++ b/util/Makefile +@@ -17,9 +17,9 @@ + + ifneq ($(WITH_PGF),no) + pgf2pnm: main.cpp pnm.cpp +- @if [ -x /usr/include/libpgf ] ; then \ +- $(CXX) $(CXXFLAGS) -fpermissive -c main.cpp -o main.o -I/usr/include/libpgf ; \ +- $(CXX) $(CXXFLAGS) -fpermissive -c pnm.cpp -o pnm.o -I/usr/include/libpgf ; \ ++ @if [ -x $(includedir)/libpgf ] ; then \ ++ $(CXX) $(CXXFLAGS) -fpermissive -c main.cpp -o main.o -I$(includedir)/libpgf ; \ ++ $(CXX) $(CXXFLAGS) -fpermissive -c pnm.cpp -o pnm.o -I$(includedir)/libpgf ; \ + $(CXX) $(CXXFLAGS) -fpermissive -o pgf2pnm main.o pnm.o $(LDFLAGS) -lpgf ; \ + else \ + echo "libpgf not installed !!" ; \ +--- a/configure.ac ++++ b/configure.ac +@@ -32,7 +32,7 @@ + AC_TYPE_UINT32_T + AC_TYPE_UINT64_T + +-CFLAGS="$CFLAGS -I/usr/include -I/usr/include/X11 -I/usr/include/X11/Xaw3dxft" ++CFLAGS="$CFLAGS -I${prefix}/include -I${prefix}/include/X11 -I${prefix}/include/X11/Xaw3dxft" + LIBS="$LIBS -lm" + echo "VERSION = $VERSION" > .version + +@@ -40,7 +40,7 @@ + AC_CHECK_LIB([X11], [XOpenDisplay], have_x11="yes") + if test x"$have_x11" = xyes; then + AC_SUBST([X_LIBS], ["-lXmu -lXt -lSM -lICE -lXext -lX11 -lXpm -ldl -rdynamic"]) +- AC_SUBST([X_CFLAGS], ["-I/usr/include/X11"]) ++ AC_SUBST([X_CFLAGS], ["-I${prefix}/include/X11"]) + else + echo "X11 libraries not installed !" + exit 1 +@@ -291,7 +291,7 @@ + fi + + if test x$enable_libopenjp2 = xyes; then +- CFLAGS="$CFLAGS -I/usr/include/openjpeg-2.3" ++ CFLAGS="$CFLAGS -I${prefix}/include/openjpeg-2.3" + LIBS="$LIBS -lopenjp2" + AC_SUBST(LIBOPENJP2_LIBS) + AC_DEFINE(HAVE_OPENJP2) +@@ -323,9 +323,9 @@ + [AC_LANG_PROGRAM([[#include <freetype2/config/ftheader.h>]])], + [AC_MSG_RESULT([already in path])], + [AC_PREPROC_IFELSE( +- [AC_LANG_PROGRAM([[#include </usr/include/freetype2/freetype/config/ftheader.h>]])], +- [AC_MSG_RESULT([/usr/include/freetype2]) +- AC_SUBST([SPECIAL_CFLAGS], ["-I/usr/include/freetype2"])], ++ [AC_LANG_PROGRAM([[#include <${prefix}/include/freetype2/freetype/config/ftheader.h>]])], ++ [AC_MSG_RESULT([${prefix}/include/freetype2]) ++ AC_SUBST([SPECIAL_CFLAGS], ["-I${prefix}/include/freetype2"])], + [AC_MSG_ERROR([cannot find freetype2 headers; try setting CFLAGS.])] + )] + ) +--- a/xpaintrw/Makefile.am ++++ b/xpaintrw/Makefile.am +@@ -13,7 +13,7 @@ + ARCH_DEFINES = -fPIC + + ## PBM_DEFINES = -DNETPBM10 +-PBM_DEFINES = -I/usr/include/netpbm -DNETPBM11 ++PBM_DEFINES = -I@includedir@/netpbm -DNETPBM11 + + ## + ## Specific xpaint options diff --git a/media-gfx/xpaint/files/xpaint-3.1.3-cflags-ldflags-strip.patch b/media-gfx/xpaint/files/xpaint-3.1.3-gentoo-qa.patch index f0677c0d7137..cc7d70de6f3e 100644 --- a/media-gfx/xpaint/files/xpaint-3.1.3-cflags-ldflags-strip.patch +++ b/media-gfx/xpaint/files/xpaint-3.1.3-gentoo-qa.patch @@ -1,6 +1,6 @@ -The original Makefiles did not pass CFLAGS and LDFLAGS, causing QA warnings -See also bug https://bugs.gentoo.org/727632 -Also remove -O3 and stripping, leave portage control that +The original Makefile did not pass CFLAGS and LDFLAGS +See bug https://bugs.gentoo.org/727632 +Also remove -O3 and stripping --- a/vxp2ps/Makefile +++ b/vxp2ps/Makefile @@ -3,16 +3,16 @@ @@ -20,7 +20,7 @@ Also remove -O3 and stripping, leave portage control that install: all - install -c -s vxp2ps vxp2tex vxp2dkw "$(DESTDIR)"/usr/bin -+ install -c vxp2ps vxp2tex vxp2dkw "$(DESTDIR)"/usr/bin ++ install -c vxp2ps vxp2tex vxp2dkw "$(DESTDIR)$(BINDIR)" clean: rm -f core *~ vxp2ps vxp2tex vxp2dkw diff --git a/media-gfx/xpaint/files/xpaint-3.1.3-libtool-clang.patch b/media-gfx/xpaint/files/xpaint-3.1.3-libtool-clang.patch new file mode 100644 index 000000000000..92ccb899ce16 --- /dev/null +++ b/media-gfx/xpaint/files/xpaint-3.1.3-libtool-clang.patch @@ -0,0 +1,26 @@ +libtool doesn't work if compiling with clang. Need to add --tag=CC +Also don't hardcode /usr/bin/tool in gentoo prefix +See bug https://bugs.gentoo.org/731010 +--- a/configure.ac ++++ b/configure.ac +@@ -17,6 +17,9 @@ + AC_LANG_C + AM_PROG_AR + ++dnl search libtool ++AC_PATH_PROG([PROGLIBTOOL], [libtool]) ++ + ## basic types + + AC_TYPE_INT8_T +--- a/xpaintrw/Makefile.am ++++ b/xpaintrw/Makefile.am +@@ -28,7 +28,7 @@ + + xpaint_DEFINES = $(ARCH_DEFINES) $(EXTRA_DEFINES) $(XAWLIB_DEFINES) + +-LIBTOOL = /usr/bin/libtool ++LIBTOOL = @PROGLIBTOOL@ --tag=CC + AM_CFLAGS = @X_CFLAGS@ @SPECIAL_CFLAGS@ $(xpaint_DEFINES) + AM_YFLAGS = -d + CLEANFILES = diff --git a/media-gfx/xpaint/xpaint-3.1.3.ebuild b/media-gfx/xpaint/xpaint-3.1.3.ebuild index a853557cf498..131d8059027a 100644 --- a/media-gfx/xpaint/xpaint-3.1.3.ebuild +++ b/media-gfx/xpaint/xpaint-3.1.3.ebuild @@ -42,11 +42,13 @@ BDEPEND=" sys-devel/flex sys-devel/libtool virtual/pkgconfig + x11-misc/imake " PATCHES=( - "${FILESDIR}"/${PN}-2.10.2-libtool-clang.patch - "${FILESDIR}"/${P}-cflags-ldflags-strip.patch + "${FILESDIR}"/${P}-libtool-clang.patch + "${FILESDIR}"/${P}-gentoo-qa.patch + "${FILESDIR}"/${P}-gentoo-prefix.patch ) src_prepare() { @@ -55,6 +57,12 @@ src_prepare() { } src_configure() { + # regenerate resources in app-defaults + # Local.xawdefs is missing and imake was complaining about it, so use it to redefine SHAREDIR + echo "SHAREDIR = \"${EPREFIX}\"/usr/share/xpaint" > Local.xawdefs || die + xmkmf || die + mv Makefile Makefile.resources || die + econf \ $(use_enable tiff) \ --disable-libdvipgm \ @@ -75,7 +83,11 @@ src_compile() { WITH_PGF="$(usex pgf "yes" "no")" \ CC="$(tc-getCC)" \ CXX="$(tc-getCXX)" \ + includedir="${EPREFIX}"/usr/include \ -C util + + # regenerate resources in app-defaults + (rm XPaint.ad && emake -f Makefile.resources XPaint.ad) || die } src_install() { |