From 3bf9e73cb58b7e15694afb5d328db1a182cf1069 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 15 Nov 2015 18:15:00 +0100 Subject: [PATCH] openmotif need for xawtv --- desktop/toolkit/motif/component.xml | 3 + desktop/toolkit/motif/openmotif/actions.py | 71 ++++++ .../files/0003_fix_ftbfs_binutils-gold.patch | 9 + .../motif/openmotif/files/Mwm.defaults | 14 ++ .../files/motif-2.3.4-bindings.patch | 36 +++ .../files/motif-2.3.4-mwmrc_dir.patch | 94 ++++++++ .../files/openMotif-2.3.0-no_X11R6.patch | 47 ++++ .../openmotif-2.3.2-sanitise-paths.patch | 27 +++ .../motif/openmotif/files/openmotif-uil.patch | 227 ++++++++++++++++++ .../openmotif/files/openmotif-unaligned.patch | 24 ++ .../motif/openmotif/files/sentinel.patch | 93 +++++++ .../motif/openmotif/files/strcmp.patch | 15 ++ .../toolkit/motif/openmotif/files/warn.patch | 129 ++++++++++ .../files/wmluiltok_fake_lex_main.patch | 11 + desktop/toolkit/motif/openmotif/pspec.xml | 152 ++++++++++++ .../toolkit/motif/openmotif/translations.xml | 13 + pisi-index.xml | 148 ++++++++++++ pisi-index.xml.sha1sum | 2 +- pisi-index.xml.xz | Bin 322980 -> 323496 bytes pisi-index.xml.xz.sha1sum | 2 +- 20 files changed, 1115 insertions(+), 2 deletions(-) create mode 100644 desktop/toolkit/motif/component.xml create mode 100644 desktop/toolkit/motif/openmotif/actions.py create mode 100644 desktop/toolkit/motif/openmotif/files/0003_fix_ftbfs_binutils-gold.patch create mode 100644 desktop/toolkit/motif/openmotif/files/Mwm.defaults create mode 100644 desktop/toolkit/motif/openmotif/files/motif-2.3.4-bindings.patch create mode 100644 desktop/toolkit/motif/openmotif/files/motif-2.3.4-mwmrc_dir.patch create mode 100644 desktop/toolkit/motif/openmotif/files/openMotif-2.3.0-no_X11R6.patch create mode 100644 desktop/toolkit/motif/openmotif/files/openmotif-2.3.2-sanitise-paths.patch create mode 100644 desktop/toolkit/motif/openmotif/files/openmotif-uil.patch create mode 100644 desktop/toolkit/motif/openmotif/files/openmotif-unaligned.patch create mode 100644 desktop/toolkit/motif/openmotif/files/sentinel.patch create mode 100644 desktop/toolkit/motif/openmotif/files/strcmp.patch create mode 100644 desktop/toolkit/motif/openmotif/files/warn.patch create mode 100644 desktop/toolkit/motif/openmotif/files/wmluiltok_fake_lex_main.patch create mode 100644 desktop/toolkit/motif/openmotif/pspec.xml create mode 100644 desktop/toolkit/motif/openmotif/translations.xml diff --git a/desktop/toolkit/motif/component.xml b/desktop/toolkit/motif/component.xml new file mode 100644 index 0000000000..7fbbdc31d0 --- /dev/null +++ b/desktop/toolkit/motif/component.xml @@ -0,0 +1,3 @@ + + desktop.toolkit.motif + diff --git a/desktop/toolkit/motif/openmotif/actions.py b/desktop/toolkit/motif/openmotif/actions.py new file mode 100644 index 0000000000..edcc2065b6 --- /dev/null +++ b/desktop/toolkit/motif/openmotif/actions.py @@ -0,0 +1,71 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/copyleft/gpl.txt. + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +WorkDir = "motif-2.3.4" + +mwmlibdir = "/usr/lib/X11" +mwmconfigdir = "/etc/X11/mwm" + +def setup(): + # add X.Org vendor string to aliases for virtual bindings + shelltools.echo("bindings/xmbind.alias", '"The X.Org Foundation"\t\t\t\t\tpc') + + # libXp will be deprecated + pisitools.dosed("lib/Xm/Makefile.am", " -lXp ", " -ldeprecatedXp ") + + shelltools.export("LANG", "C") # guess why this is here... + shelltools.export("LC_ALL", "C") # guess why this is here... + shelltools.export("CFLAGS", "%s -fno-strict-aliasing" % get.CFLAGS()) + shelltools.export("CXXFLAGS", "%s -fno-strict-aliasing" % get.CXXFLAGS()) + shelltools.export("AT_M4DIR", ".") + + for f in ["NEWS", "AUTHORS"]: + shelltools.touch(f) + + autotools.autoreconf("-vfi") + + + options = "--with-x \ + --disable-static \ + --enable-utf8 \ + --enable-xft \ + --enable-jpeg \ + --enable-png" + + if get.buildTYPE() == "emul32": + options += " --prefix=/emul32 \ + --libdir=/usr/lib32 \ + --bindir=/emul32/bin \ + --mandir=/emul32/man" + + shelltools.export("PKG_CONFIG_PATH", "/usr/lib32/pkgconfig") + shelltools.export("CFLAGS", "%s -I/usr/include/freetype2 -fno-strict-aliasing -m32" % get.CFLAGS()) + shelltools.export("CXXFLAGS", "%s -I/usr/include/freetype2 -fno-strict-aliasing -m32" % get.CXXFLAGS()) + shelltools.export("LDFLAGS", "%s -m32" % get.LDFLAGS()) + + autotools.configure(options) + + +def build(): + autotools.make('-j1 MWMRCDIR="/etc/X11/mwm"') + +def install(): + autotools.rawInstall('DESTDIR=%s -j1 MWMRCDIR="/etc/X11/mwm"' % get.installDIR()) + + # these are just demos + if not get.buildTYPE() == "emul32": + pisitools.removeDir("/usr/share/Xm") + + pisitools.dodoc("ChangeLog", "README*", "BUGREPORT", "RELEASE", "RELNOTES", "TODO") + + #if get.buildTYPE() == "emul32": + #pisitools.removeDir("/emul32") + diff --git a/desktop/toolkit/motif/openmotif/files/0003_fix_ftbfs_binutils-gold.patch b/desktop/toolkit/motif/openmotif/files/0003_fix_ftbfs_binutils-gold.patch new file mode 100644 index 0000000000..153f30344c --- /dev/null +++ b/desktop/toolkit/motif/openmotif/files/0003_fix_ftbfs_binutils-gold.patch @@ -0,0 +1,9 @@ +--- demos/programs/Exm/simple_app/Makefile.am.orig 2008-10-31 21:38:06.000000000 +0700 ++++ demos/programs/Exm/simple_app/Makefile.am 2011-01-19 15:05:18.935928589 +0700 +@@ -15,4 +15,4 @@ INCLUDES = -I$(srcdir)/../../../../lib \ + -I$(top_builddir)/lib \ + ${X_CFLAGS} + LDADD = ../../../../lib/Xm/libXm.la \ +- ../../../lib/Exm/libExm.a ++ ../../../lib/Exm/libExm.a -lX11 + diff --git a/desktop/toolkit/motif/openmotif/files/Mwm.defaults b/desktop/toolkit/motif/openmotif/files/Mwm.defaults new file mode 100644 index 0000000000..ea91b6fb8d --- /dev/null +++ b/desktop/toolkit/motif/openmotif/files/Mwm.defaults @@ -0,0 +1,14 @@ +Mwm*fontList: variable +Mwm*iconClick: False +Mwm*iconPlacement: top left +Mwm*moveOpaque: True +Mwm*rootButtonClick: True +Mwm*foreground: #000000 +Mwm*background: #B8B8C0 +Mwm*enableThinThickness: True +Mwm*enableEtchedInMenu: True +Mwm*menu*fontList: -adobe-helvetica-medium-r-*--*-120-*-*-*-*-*-* +Mwm*client*title*fontList: -adobe-helvetica-bold-r-*--*-100-*-*-*-*-*-* +Mwm*icon*fontList: -adobe-helvetica-bold-r-*--*-80-*-*-*-*-*-* +Mwm*feedback*fontList: -adobe-helvetica-bold-r-*--*-100-*-*-*-*-*-* +Mwm*multiClickTime: 300 diff --git a/desktop/toolkit/motif/openmotif/files/motif-2.3.4-bindings.patch b/desktop/toolkit/motif/openmotif/files/motif-2.3.4-bindings.patch new file mode 100644 index 0000000000..45fcb6e5b1 --- /dev/null +++ b/desktop/toolkit/motif/openmotif/files/motif-2.3.4-bindings.patch @@ -0,0 +1,36 @@ +diff -up openmotif-2.3.3/configure.ac.bindings openmotif-2.3.3/configure.ac +--- openmotif-2.3.3/configure.ac.bindings 2009-10-27 17:10:23.000000000 +0100 ++++ openmotif-2.3.3/configure.ac 2010-03-19 11:12:39.000000000 +0100 +@@ -185,7 +185,7 @@ AC_SUBST(MWMRCDIR) + INCDIR="${includedir}/X11" + AC_SUBST(INCDIR) + +-XMBINDDIR_FALLBACK="${libdir}/X11/bindings" ++XMBINDDIR_FALLBACK="${datadir}/X11/bindings" + AC_SUBST(XMBINDDIR_FALLBACK) + + RM="rm -f" +diff -up openmotif-2.3.3/doc/man/man3/VirtualBindings.3.bindings openmotif-2.3.3/doc/man/man3/VirtualBindings.3 +--- openmotif-2.3.3/doc/man/man3/VirtualBindings.3.bindings 2005-07-20 13:47:21.000000000 +0200 ++++ openmotif-2.3.3/doc/man/man3/VirtualBindings.3 2010-03-19 11:11:42.000000000 +0100 +@@ -90,7 +90,7 @@ bindings contained in that file\&. + If it has found no bindings, Motif next looks for the file + \fBxmbind\&.alias\fP in the directory specified by the environment + variable \fBXMBINDDIR\fP, if \fBXMBINDDIR\fP is set, or in the directory +-\fB/usr/lib/Xm/bindings\fP if \fBXMBINDDIR\fP is not set\&. ++\fB/usr/share/X11/bindings\fP if \fBXMBINDDIR\fP is not set\&. + If this file exists Motif searches it for a pathname associated with the + vendor string or with the vendor string and vendor release\&. + If it finds such a pathname and if that file exists, Motif loads the +diff -up openmotif-2.3.3/lib/Xm/XmosP.h.bindings openmotif-2.3.3/lib/Xm/XmosP.h +--- openmotif-2.3.3/lib/Xm/XmosP.h.bindings 2002-06-17 22:36:30.000000000 +0200 ++++ openmotif-2.3.3/lib/Xm/XmosP.h 2010-03-19 11:11:42.000000000 +0100 +@@ -188,7 +188,7 @@ extern "C" { + + #define XMBINDDIR "XMBINDDIR" + #ifndef XMBINDDIR_FALLBACK +-#define XMBINDDIR_FALLBACK "/usr/lib/Xm/bindings" ++#define XMBINDDIR_FALLBACK "/usr/share/X11/bindings" + #endif + #define XMBINDFILE "xmbind.alias" + #define MOTIFBIND ".motifbind" \ No newline at end of file diff --git a/desktop/toolkit/motif/openmotif/files/motif-2.3.4-mwmrc_dir.patch b/desktop/toolkit/motif/openmotif/files/motif-2.3.4-mwmrc_dir.patch new file mode 100644 index 0000000000..05963a2bea --- /dev/null +++ b/desktop/toolkit/motif/openmotif/files/motif-2.3.4-mwmrc_dir.patch @@ -0,0 +1,94 @@ +diff -up openmotif-2.3.3/clients/mwm/WmResParse.c.mwmrc_dir openmotif-2.3.3/clients/mwm/WmResParse.c +--- openmotif-2.3.3/clients/mwm/WmResParse.c.mwmrc_dir 2009-06-22 23:51:51.000000000 +0200 ++++ openmotif-2.3.3/clients/mwm/WmResParse.c 2010-03-23 13:37:03.000000000 +0100 +@@ -2403,7 +2403,7 @@ FILE *FopenConfigFile (void) + #endif /* PANELIST */ + + #ifndef MWMRCDIR +-#define MWMRCDIR "/usr/lib/X11" ++#define MWMRCDIR "/etc/X11/mwm" + #endif + if (LANG != NULL) + { +diff -up openmotif-2.3.3/configure.ac.mwmrc_dir openmotif-2.3.3/configure.ac +--- openmotif-2.3.3/configure.ac.mwmrc_dir 2009-10-27 17:10:23.000000000 +0100 ++++ openmotif-2.3.3/configure.ac 2010-03-23 13:38:33.000000000 +0100 +@@ -179,7 +179,7 @@ AC_SUBST(CDE_CONFIGURATION_TOP) + LIBDIR="${libdir}/X11" + AC_SUBST(LIBDIR) + +-MWMRCDIR="${libdir}/X11" ++MWMRCDIR="/etc/X11/mwm" + AC_SUBST(MWMRCDIR) + + INCDIR="${includedir}/X11" +diff -up openmotif-2.3.3/doc/man/man1/mwm.1.mwmrc_dir openmotif-2.3.3/doc/man/man1/mwm.1 +--- openmotif-2.3.3/doc/man/man1/mwm.1.mwmrc_dir 2002-01-05 16:21:11.000000000 +0100 ++++ openmotif-2.3.3/doc/man/man1/mwm.1 2010-03-23 13:37:03.000000000 +0100 +@@ -678,8 +678,8 @@ is set, \fBmwm\fP looks for \fI$HOME/$LA + \fB$HOME\fP/\fBconfigFile\fP\&. If the \fIconfigFile\fP pathname does not begin with "~/" or "/", \fBmwm\fP considers it to be relative to the current working directory\&. If + the \fIconfigFile\fP resource is not specified + or if that file does not exist, \fBmwm\fP uses several default +-paths to find a configuration file\&. The order of the search is shown below: \fB/usr/X11R6/lib/X11/$LANG/system\&.mwmrc\fP\(dg +-\fB/usr/X11R6/lib/X11/system\&.mwmrc\fP\(dg Paths marked with \&'\(dg\&' are ++paths to find a configuration file\&. The order of the search is shown below: \fB/etc/X11/mwm/$LANG/system\&.mwmrc\fP\(dg ++\fB/etc/X11/mwm/system\&.mwmrc\fP\(dg Paths marked with \&'\(dg\&' are + implementation dependent\&. + .IP "\fIdeiconifyKeyFocus\fP\ (class\ \fIDeiconifyKeyFocus\fP)" 10 + This resource applies only when the keyboard input focus policy is explicit\&. +@@ -1344,9 +1344,9 @@ the shell to use when executing commands + function\&. + .SS "Files" + .PP +-\fB/usr/X11R6/lib/X11/$LANG/system\&.mwmrc\fP ++\fB/etc/X11/mwm/$LANG/system\&.mwmrc\fP + .PP +-\fB/usr/X11R6/lib/X11/system\&.mwmrc\fP ++\fB/etc/X11/mwm/system\&.mwmrc\fP + .PP + \fB/usr/X11R6/lib/X11/app-defaults/Mwm\fP + .PP +diff -up openmotif-2.3.3/doc/man/man4/mwmrc.4.mwmrc_dir openmotif-2.3.3/doc/man/man4/mwmrc.4 +--- openmotif-2.3.3/doc/man/man4/mwmrc.4.mwmrc_dir 2002-01-05 16:21:12.000000000 +0100 ++++ openmotif-2.3.3/doc/man/man4/mwmrc.4 2010-03-23 13:37:03.000000000 +0100 +@@ -57,7 +57,7 @@ file that controls much of the behavior + It contains descriptions of resources that cannot easily be + written using standard X Window System, Version 11 resource syntax\&. The resource + description file contains entries that are referred to by X resources in +-defaults files (for example, \fB/usr/X11R6/lib/X11/app-defaults/Mwm\fP) ++defaults files (for example, \fB/usr/share/X11/app-defaults/Mwm\fP) + or in the \fBRESOURCE_MANAGER\fP property on the + root window\&. For example, the resource description file enables you to specify + different types of window menus; however, an X resource is used to specify +@@ -72,8 +72,8 @@ on a per-user basis: + .nf + \f(CW$HOME/$LANG/\&.mwmrc + $HOME/\&.mwmrc +-/usr/X11R6/lib/X11/$LANG/system\&.mwmrc +-/usr/X11R6/lib/X11/system\&.mwmrc\fR ++/etc/X11/mwm/$LANG/system\&.mwmrc ++/etc/X11/mwm/system\&.mwmrc\fR + .fi + .PP + .PP +@@ -84,7 +84,7 @@ resource\&. The following shows how a di + be specified from the command line: + .PP + .nf +-\f(CW/usr/X11R6/bin/X11/mwm -xrm "mwm*configFile: mymwmrc"\fR ++\f(CW/usr/bin/mwm -xrm "mwm*configFile: mymwmrc"\fR + .fi + .PP + .SS "Resource Types" +@@ -626,8 +626,8 @@ is not what you expect\&. + .nf + \fB$HOME/$LANG/\&.mwmrc + $HOME/\&.mwmrc +-/usr/X11R6/lib/X11/$LANG/system\&.mwmrc +-/usr/X11R6/lib/X11/system\&.mwmrc\fP ++/etc/X11/mwm/$LANG/system\&.mwmrc ++/etc/X11/mwm/system\&.mwmrc\fP + .fi + .SH "RELATED INFORMATION" + .PP + diff --git a/desktop/toolkit/motif/openmotif/files/openMotif-2.3.0-no_X11R6.patch b/desktop/toolkit/motif/openmotif/files/openMotif-2.3.0-no_X11R6.patch new file mode 100644 index 0000000000..50fdfc026a --- /dev/null +++ b/desktop/toolkit/motif/openmotif/files/openMotif-2.3.0-no_X11R6.patch @@ -0,0 +1,47 @@ +--- openmotif-2.3.0/doc/man/man1/mwm.1.no_X11R6 2005-12-09 15:08:21.000000000 +0100 ++++ openmotif-2.3.0/doc/man/man1/mwm.1 2005-12-09 15:09:06.000000000 +0100 +@@ -366,7 +366,7 @@ + database\&. This database is built from the following sources\&. They are listed + in order of precedence, low to high: + .PP +-\fB/usr/X11R6/lib/X11/app-defaults/Mwm\fP ++\fB/usr/share/X11/app-defaults/Mwm\fP + .PP + \fB$HOME/Mwm\fP + .PP +@@ -376,7 +376,7 @@ + .PP + \fBmwm\fP command line options + .PP +-The file names \fB/usr/X11R6/lib/X11/app-defaults/Mwm\fP and \fB$HOME/Mwm\fP represent customary locations for these files\&. The actual ++The file names \fB/usr/share/X11/app-defaults/Mwm\fP and \fB$HOME/Mwm\fP represent customary locations for these files\&. The actual + location of the system-wide class resource file may depend on the \fBXFILESEARCHPATH\fP environment variable and the + current language environment\&. The actual location of the user-specific class + resource file may depend on the \fBXUSERFILESEARCHPATH\fP and \fBXAPPLRESDIR\fP +@@ -595,7 +595,7 @@ + NameClassValue TypeDefault + autoKeyFocusAutoKeyFocusT/FT + autoRaiseDelayAutoRaiseDelaymillisec500 +-bitmap-Bitmap-directory/usr/X11R6/include- ++bitmap-Bitmap-directory/usr/include- + DirectoryDirectory/X11/bitmaps + clientAutoPlaceClientAutoPlaceT/FT + colormapFocus-ColormapFocus-stringkeyboard +@@ -650,7 +650,7 @@ + This resource identifies a directory to be searched for bitmaps referenced + by \fBmwm\fP resources\&. This directory is searched if a bitmap + is specified without an absolute pathname\&. The default value for this resource +-is \fB/usr/X11R6/include/X11/bitmaps\fP\&. The directory \fB/usr/X11R6/include/X11/bitmaps\fP ++is \fB/usr/include/X11/bitmaps\fP\&. The directory \fB/usr/include/X11/bitmaps\fP + represents the customary locations for this directory\&. The actual + location of this directory may vary on some systems\&. If the bitmap is not + found in the specified directory, \fBXBMLANGPATH\fP is searched\&. +@@ -1348,7 +1348,7 @@ + .PP + \fB/etc/X11/mwm/system\&.mwmrc\fP + .PP +-\fB/usr/X11R6/lib/X11/app-defaults/Mwm\fP ++\fB/usr/share/X11/app-defaults/Mwm\fP + .PP + \fB$HOME/Mwm\fP + .PP \ No newline at end of file diff --git a/desktop/toolkit/motif/openmotif/files/openmotif-2.3.2-sanitise-paths.patch b/desktop/toolkit/motif/openmotif/files/openmotif-2.3.2-sanitise-paths.patch new file mode 100644 index 0000000000..07b83999a0 --- /dev/null +++ b/desktop/toolkit/motif/openmotif/files/openmotif-2.3.2-sanitise-paths.patch @@ -0,0 +1,27 @@ +* don't do automagic guessing of paths + +--- configure.ac ++++ configure.ac +@@ -183,21 +183,8 @@ + + case "$host_os" in + freebsd*) CFLAGS="$CFLAGS -DCSRG_BASED -DXNO_MTSAFE_API -DXNO_MTSAFE_PWDAPI"; +- LDFLAGS="$LDFLAGS -L/usr/local/lib";; ++ ;; + cygwin*) CFLAGS="$CFLAGS -DXNO_MTSAFE_DIRENTDAPI";; +- solaris* | sunos*) X_LIBS="$X_LIBS -L/usr/X/lib" && +- if test x$enable_motif22_compatibility = x +- then +- enable_motif22_compatibility="no" +- fi; +- if test x$enable_utf8 = x +- then +- enable_utf8="no" +- fi; +- if test x$enable_xft = x +- then +- enable_xft="no" +- fi;; + esac + + if test x$enable_motif22_compatibility = x diff --git a/desktop/toolkit/motif/openmotif/files/openmotif-uil.patch b/desktop/toolkit/motif/openmotif/files/openmotif-uil.patch new file mode 100644 index 0000000000..342f047e00 --- /dev/null +++ b/desktop/toolkit/motif/openmotif/files/openmotif-uil.patch @@ -0,0 +1,227 @@ +--- + clients/uil/UilDiags.c | 26 ++++++++++++++------------ + clients/uil/UilIODef.h | 2 +- + clients/uil/UilSrcSrc.c | 18 +++++++++++------- + tools/wml/Makefile.am | 6 ++++-- + tools/wml/Uil.y | 2 +- + 5 files changed, 31 insertions(+), 23 deletions(-) + +--- a/clients/uil/UilDiags.c ++++ b/clients/uil/UilDiags.c +@@ -207,9 +207,9 @@ void diag_issue_diagnostic + va_list ap; /* ptr to variable length parameter */ + int severity; /* severity of message */ + int message_number; /* message number */ +- char msg_buffer[132]; /* buffer to construct message */ ++ char *msg_buffer = 0; /* buffer to construct message */ + char ptr_buffer[buf_size]; /* buffer to construct pointer */ +- char loc_buffer[132]; /* buffer to construct location */ ++ char *loc_buffer = 0; /* buffer to construct location */ + char src_buffer[buf_size]; /* buffer to hold source line */ + + /* +@@ -293,19 +293,18 @@ void diag_issue_diagnostic + va_start(ap, l_start_column); + + #ifndef NO_MESSAGE_CATALOG +- vsnprintf( msg_buffer, sizeof(msg_buffer), ++ vasprintf(&msg_buffer, + catgets(uil_catd, UIL_SET1, msg_cat_table[ message_number ], + diag_rz_msg_table[ message_number ].ac_text), + ap ); + #else +- vsnprintf( msg_buffer, sizeof(msg_buffer), ++ vasprintf(&msg_buffer, + diag_rz_msg_table[ message_number ].ac_text, + ap ); + #endif + va_end(ap); + + src_buffer[ 0 ] = 0; +- loc_buffer[ 0 ] = 0; + ptr_buffer[ 0 ] = 0; + + if (az_src_rec != diag_k_no_source) +@@ -317,13 +316,13 @@ void diag_issue_diagnostic + */ + + #ifndef NO_MESSAGE_CATALOG +- sprintf( loc_buffer, ++ asprintf(&loc_buffer, + catgets(uil_catd, UIL_SET_MISC, + UIL_MISC_0, "\t\t line: %d file: %s"), + az_src_rec->w_line_number, + src_get_file_name( az_src_rec ) ); + #else +- sprintf( loc_buffer, ++ asprintf(&loc_buffer, + "\t\t line: %d file: %s", + az_src_rec->w_line_number, + src_get_file_name( az_src_rec ) ); +@@ -371,7 +370,7 @@ void diag_issue_diagnostic + + if (l_start_column != diag_k_no_column) + #ifndef NO_MESSAGE_CATALOG +- sprintf(loc_buffer, ++ asprintf(&loc_buffer, + catgets(uil_catd, UIL_SET_MISC, + UIL_MISC_1, + "\t\t line: %d position: %d file: %s"), +@@ -379,7 +378,7 @@ void diag_issue_diagnostic + l_start_column + 1, + src_get_file_name( az_src_rec ) ); + #else +- sprintf(loc_buffer, ++ asprintf(&loc_buffer, + "\t\t line: %d position: %d file: %s", + az_src_rec->w_line_number, + l_start_column + 1, +@@ -387,13 +386,13 @@ void diag_issue_diagnostic + #endif + else + #ifndef NO_MESSAGE_CATALOG +- sprintf( loc_buffer, catgets(uil_catd, UIL_SET_MISC, ++ asprintf(&loc_buffer, catgets(uil_catd, UIL_SET_MISC, + UIL_MISC_0, + "\t\t line: %d file: %s"), + az_src_rec->w_line_number, + src_get_file_name( az_src_rec ) ); + #else +- sprintf( loc_buffer, ++ asprintf(&loc_buffer, + "\t\t line: %d file: %s", + az_src_rec->w_line_number, + src_get_file_name( az_src_rec ) ); +@@ -406,7 +405,8 @@ void diag_issue_diagnostic + */ + + write_msg_to_standard_error +- ( message_number, src_buffer, ptr_buffer, msg_buffer, loc_buffer ); ++ ( message_number, src_buffer, ptr_buffer, msg_buffer, ++ loc_buffer ? loc_buffer : ""); + + /* + ** if we have a listing, place message in the source structure +@@ -428,6 +428,8 @@ void diag_issue_diagnostic + uil_exit( uil_k_severe_status ); + } + ++ free (loc_buffer); ++ free (msg_buffer); + } + + /* +--- a/clients/uil/UilIODef.h ++++ b/clients/uil/UilIODef.h +@@ -75,7 +75,7 @@ typedef struct + char *c_buffer; + boolean v_position_before_get; + z_key last_key; +- char expanded_name[ 256 ]; ++ char *expanded_name; + } uil_fcb_type; + + #endif /* UilIODef_h */ +--- a/clients/uil/UilSrcSrc.c ++++ b/clients/uil/UilSrcSrc.c +@@ -271,6 +271,7 @@ Uil_src_cleanup_source(void) + diag_k_no_source, diag_k_no_column, + src_az_source_file_table[i]->expanded_name); + } ++ _free_memory (src_az_source_file_table[i]->expanded_name); + _free_memory ((char*)src_az_source_file_table [i]); + src_az_source_file_table[i] = NULL; + } +@@ -626,13 +627,13 @@ open_source_file( XmConst char + static unsigned short main_dir_len = 0; + boolean main_file; + int i; /* loop index through include files */ +- char buffer[256]; ++ char *buffer; + + + /* place the file name in the expanded_name buffer */ + +- strncpy(buffer, c_file_name, sizeof(buffer)); +- buffer[sizeof(buffer)-1] = '\0'; ++ buffer = _get_memory (strlen (c_file_name) + 1); ++ strcpy (buffer, c_file_name); + + /* Determine if this is the main file or an include file. */ + +@@ -674,11 +675,10 @@ open_source_file( XmConst char + } + + if (!specific_directory) { ++ buffer = XtRealloc (buffer, main_dir_len + strlen (c_file_name) + 1); + _move (buffer, main_fcb -> expanded_name, main_dir_len); + _move (& buffer [main_dir_len], + c_file_name, strlen (c_file_name) + 1); /* + NULL */ +- } else { +- strcpy (buffer, c_file_name); + } + + /* Open the include file. */ +@@ -701,6 +701,7 @@ open_source_file( XmConst char + if (inc_dir_len == 0) { + search_user_include = False; + } ++ buffer = XtRealloc (buffer, inc_dir_len + strlen (c_file_name) + 1); + _move (buffer, Uil_cmd_z_command.ac_include_dir[i], inc_dir_len); + + /* Add '/' if not specified at end of directory */ +@@ -724,6 +725,7 @@ open_source_file( XmConst char + + /* Look in the default include directory. */ + if (search_user_include) { ++ buffer = XtRealloc (buffer, sizeof c_include_dir - 1 + strlen (c_file_name) + 1); + _move(buffer, c_include_dir, sizeof c_include_dir - 1); /* no NULL */ + _move(&buffer[sizeof c_include_dir - 1], + c_file_name, strlen (c_file_name) + 1); /* + NULL */ +@@ -737,14 +739,16 @@ open_label: + + /* check the open status. */ + +- if (az_fcb->az_file_ptr == NULL) ++ if (az_fcb->az_file_ptr == NULL) { ++ _free_memory (buffer); + return src_k_open_error; ++ } + + /* open succeeded - place buffer address in fcb */ + + az_fcb->c_buffer = az_source_buffer->c_text; + az_fcb->c_buffer[ src_k_max_source_line_length ] = 0; +- strcpy(az_fcb->expanded_name, buffer); ++ az_fcb->expanded_name = buffer; + + return src_k_open_normal; + } +--- a/tools/wml/Makefile.am ++++ b/tools/wml/Makefile.am +@@ -43,10 +43,12 @@ wmllex.c: wmllex.l + + $(srcdir)/wmldbcreate.c: $(WMLTARGETS) UilLexPars.h + +-UilLexPars.h: UilLexPars.c ++UilLexPars.h: Uil.h ++ rm -f $@ ++ $(LN_S) Uil.h UilLexPars.h + + UilLexPars.c: Uil.c +- $(LN_S) Uil.h UilLexPars.h ++ rm -f $@ + $(LN_S) Uil.c UilLexPars.c + + $(WMLTARGETS): wmluiltok wml UilLexPars.c $(TABLE) +--- a/tools/wml/Uil.y ++++ b/tools/wml/Uil.y +@@ -559,7 +559,7 @@ control_object_definition + + object_specification + : CLASS_NAME +- { sar_set_object_class (&$1); } ++ { sar_set_object_class (&$1); $$ = gz_yynullval; } + opt_create_proc_ref + opt_variant + object_spec diff --git a/desktop/toolkit/motif/openmotif/files/openmotif-unaligned.patch b/desktop/toolkit/motif/openmotif/files/openmotif-unaligned.patch new file mode 100644 index 0000000000..1151e5b27c --- /dev/null +++ b/desktop/toolkit/motif/openmotif/files/openmotif-unaligned.patch @@ -0,0 +1,24 @@ +--- + lib/Xm/TextF.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/lib/Xm/TextF.c ++++ b/lib/Xm/TextF.c +@@ -3919,7 +3919,7 @@ InsertChar(Widget w, + nextPos, insert_string, + insert_length, True); + } else { +- char stack_cache[100]; ++ wchar_t stack_cache[100]; + insert_string[insert_length] = '\0'; /* NULL terminate for mbstowcs */ + wc_insert_string = (wchar_t*)XmStackAlloc((Cardinal)(insert_length+1) * + sizeof(wchar_t), stack_cache); +@@ -6981,7 +6981,7 @@ ValidateString(XmTextFieldWidget tf, + + int str_len = 0; + int i, j; +- char stack_cache[400]; ++ wchar_t stack_cache[400]; + + if (!is_wchar) { + char *temp_str, *curr_str, *start_temp; diff --git a/desktop/toolkit/motif/openmotif/files/sentinel.patch b/desktop/toolkit/motif/openmotif/files/sentinel.patch new file mode 100644 index 0000000000..ac9517659d --- /dev/null +++ b/desktop/toolkit/motif/openmotif/files/sentinel.patch @@ -0,0 +1,93 @@ +--- + clients/mwm/WmFunction.c | 8 ++++---- + demos/lib/Xmd/onHelp.c | 2 +- + demos/programs/Exm/simple_app/simpleDemo.c | 2 +- + demos/programs/filemanager/actions.c | 2 +- + demos/programs/fileview/text.c | 2 +- + demos/programs/popups/autopopups.c | 2 +- + 6 files changed, 9 insertions(+), 9 deletions(-) + +--- a/clients/mwm/WmFunction.c ++++ b/clients/mwm/WmFunction.c +@@ -1126,12 +1126,12 @@ Boolean F_Exec (String args, ClientData + directory, then we must call execlp and not execl + */ + shellname = shell; +- execlp (shell, shellname, "-c", args, 0); ++ execlp (shell, shellname, "-c", args, (char *) 0); + } + else + { + shellname++; +- execl (shell, shellname, "-c", args, 0); ++ execl (shell, shellname, "-c", args, (char *) 0); + } + } + +@@ -1140,9 +1140,9 @@ Boolean F_Exec (String args, ClientData + * Try /bin/sh . + */ + #ifdef SVR4 +- execl ("/usr/bin/sh", "sh", "-c", args, 0); ++ execl ("/usr/bin/sh", "sh", "-c", args, (char *) 0); + #else +- execl ("/bin/sh", "sh", "-c", args, 0); ++ execl ("/bin/sh", "sh", "-c", args, (char *) 0); + #endif + + +--- a/demos/lib/Xmd/onHelp.c ++++ b/demos/lib/Xmd/onHelp.c +@@ -66,7 +66,7 @@ int main(int argc, String argv[]) + Widget dismiss; + + toplevel = XtVaAppInitialize(&app_context, "HelpOnHelp", NULL, 0, +- &argc, argv, NULL, 0); ++ &argc, argv, NULL, NULL); + n = 0; + XtSetArg(args[n], XmdNhelpFile, "helpOn"); n++; + help = XmdCreateHelp(toplevel, "help", args, n); +--- a/demos/programs/Exm/simple_app/simpleDemo.c ++++ b/demos/programs/Exm/simple_app/simpleDemo.c +@@ -162,7 +162,7 @@ main (int argc, char **argv) + + menu = XmCreatePulldownMenu(menuBar, "FileMenu", NULL, 0); + +- XtVaSetValues(cascade, XmNsubMenuId, menu, 0); ++ XtVaSetValues(cascade, XmNsubMenuId, menu, NULL); + + str = XmStringCreateLocalized("Quit"); + menuitem = XtVaCreateManagedWidget("item", xmPushButtonWidgetClass, +--- a/demos/programs/filemanager/actions.c ++++ b/demos/programs/filemanager/actions.c +@@ -91,7 +91,7 @@ viewCB(Widget widget, char *type, XtPo + XtVaSetValues(fileviewer, + XmNlayoutType, spatial, + XmNentryViewType, size, +- 0, 0); ++ NULL); + + fixViewerSize(XtParent(fileviewer), NULL, NULL); + +--- a/demos/programs/fileview/text.c ++++ b/demos/programs/fileview/text.c +@@ -160,7 +160,7 @@ void NewPaneCallback(Widget widget, View + XtSetValues(XtParent(new->text), args, n); + XmTextSetTopCharacter(new->text, + XmTextGetTopCharacter(this->current_pane->text)); +- XtVaSetValues(target, XmNheight, (Dimension) height/2); ++ XtVaSetValues(target, XmNheight, (Dimension) height/2, NULL); + } + printf("source text set\n"); + XtManageChild(new->text); +--- a/demos/programs/popups/autopopups.c ++++ b/demos/programs/popups/autopopups.c +@@ -83,7 +83,7 @@ int main(int argc, char **argv) + XmString str, tmp1, tmp2; + + shell = XtVaAppInitialize(&context, APP_CLASS, NULL, 0, &argc, argv, +- NULL, 0); ++ NULL, NULL); + + frame1 = XmCreateFrame(shell, "outerframe", NULL, 0); + XtManageChild(frame1); diff --git a/desktop/toolkit/motif/openmotif/files/strcmp.patch b/desktop/toolkit/motif/openmotif/files/strcmp.patch new file mode 100644 index 0000000000..1835534a85 --- /dev/null +++ b/desktop/toolkit/motif/openmotif/files/strcmp.patch @@ -0,0 +1,15 @@ +--- + lib/Xm/Xpms_popen.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/lib/Xm/Xpms_popen.c ++++ b/lib/Xm/Xpms_popen.c +@@ -56,7 +56,7 @@ FILE *Xpms_popen(char *cmd, const char * + char *cmdcpy; + + +- if(cmd == NULL || cmd == "") ++ if(cmd == NULL || cmd[0] == '\0') + return(NULL); + + if(type[0] != 'r' && type[0] != 'w') diff --git a/desktop/toolkit/motif/openmotif/files/warn.patch b/desktop/toolkit/motif/openmotif/files/warn.patch new file mode 100644 index 0000000000..16f18f94eb --- /dev/null +++ b/desktop/toolkit/motif/openmotif/files/warn.patch @@ -0,0 +1,129 @@ +--- + demos/programs/ColorSel/util-c.c | 4 ++++ + demos/programs/Ext18List/util-c.c | 4 ++++ + demos/programs/FontSel/fontsel.c | 1 + + demos/programs/IconB/misc.c | 4 ++++ + demos/programs/Tree/bxutil-c.c | 2 ++ + lib/Xm/XmString.c | 6 ++---- + tools/wml/wmlresolve.c | 1 + + 7 files changed, 18 insertions(+), 4 deletions(-) + +--- a/demos/programs/ColorSel/util-c.c ++++ b/demos/programs/ColorSel/util-c.c +@@ -3468,6 +3468,8 @@ GRA(xpmData *, mdata) + c = xpmGetC(mdata); + } + return (c); ++ default: ++ abort(); + } + } + +@@ -3489,6 +3491,8 @@ GRA(xpmData *, mdata) + /* if not natural XPM2 */ + mdata->InsideString = !mdata->InsideString; + return (ungetc(c, mdata->stream.file)); ++ default: ++ abort(); + } + } + +--- a/demos/programs/Ext18List/util-c.c ++++ b/demos/programs/Ext18List/util-c.c +@@ -3468,6 +3468,8 @@ GRA(xpmData *, mdata) + c = xpmGetC(mdata); + } + return (c); ++ default: ++ abort(); + } + } + +@@ -3489,6 +3491,8 @@ GRA(xpmData *, mdata) + /* if not natural XPM2 */ + mdata->InsideString = !mdata->InsideString; + return (ungetc(c, mdata->stream.file)); ++ default: ++ abort(); + } + } + +--- a/demos/programs/FontSel/fontsel.c ++++ b/demos/programs/FontSel/fontsel.c +@@ -121,5 +121,6 @@ char **argv; + XtRealizeWidget(top); + + XtAppMainLoop(app); ++ return 0; + } + +--- a/demos/programs/IconB/misc.c ++++ b/demos/programs/IconB/misc.c +@@ -3440,6 +3440,8 @@ GRA(xpmData *, mdata) + c = xpmGetC(mdata); + } + return (c); ++ default: ++ abort(); + } + } + +@@ -3461,6 +3463,8 @@ GRA(xpmData *, mdata) + /* if not natural XPM2 */ + mdata->InsideString = !mdata->InsideString; + return (ungetc(c, mdata->stream.file)); ++ default: ++ abort(); + } + } + +--- a/demos/programs/Tree/bxutil-c.c ++++ b/demos/programs/Tree/bxutil-c.c +@@ -3469,6 +3469,7 @@ GRA(xpmData *, mdata) + } + return (c); + } ++ abort(); + } + + +@@ -3490,6 +3491,7 @@ GRA(xpmData *, mdata) + mdata->InsideString = !mdata->InsideString; + return (ungetc(c, mdata->stream.file)); + } ++ abort(); + } + + /* +--- a/lib/Xm/XmString.c ++++ b/lib/Xm/XmString.c +@@ -7969,8 +7969,7 @@ XmStringParseText(XtPointer text, + case XmMULTIBYTE_TEXT: + /* Non-NULL values (except _MOTIF_DEFAULT_LOCALE) + are not accepted in Motif 2.0. */ +- if (tag != NULL && !(tag == _MOTIF_DEFAULT_LOCALE || +- strcmp(tag, _MOTIF_DEFAULT_LOCALE) == 0)) ++ if (tag != NULL && !(strcmp(tag, _MOTIF_DEFAULT_LOCALE) == 0)) + { + _XmProcessUnlock(); + return NULL; +@@ -8583,8 +8582,7 @@ XmStringComponentCreate(XmStringComponen + _XmProcessUnlock(); + return NULL; + } +- if ((value != _MOTIF_DEFAULT_LOCALE) && +- (strcmp((char*) value, _MOTIF_DEFAULT_LOCALE) != 0)) { ++ if ((strcmp((char*) value, _MOTIF_DEFAULT_LOCALE) != 0)) { + _XmProcessUnlock(); + return NULL; + } +--- a/tools/wml/wmlresolve.c ++++ b/tools/wml/wmlresolve.c +@@ -69,6 +69,7 @@ static char rcsid[] = "$XConsortium: wml + + #if defined(__STDC__) + #include ++#include + #endif + #include + diff --git a/desktop/toolkit/motif/openmotif/files/wmluiltok_fake_lex_main.patch b/desktop/toolkit/motif/openmotif/files/wmluiltok_fake_lex_main.patch new file mode 100644 index 0000000000..bd98d6a4d6 --- /dev/null +++ b/desktop/toolkit/motif/openmotif/files/wmluiltok_fake_lex_main.patch @@ -0,0 +1,11 @@ +diff -Nur openmotif-2.3.3-old//tools/wml/wmluiltok.l openmotif-2.3.3/tools/wml/wmluiltok.l +--- openmotif-2.3.3-old//tools/wml/wmluiltok.l 2011-08-11 13:11:10.745000200 +0300 ++++ openmotif-2.3.3/tools/wml/wmluiltok.l 2011-08-11 13:11:31.759000456 +0300 +@@ -107,6 +107,7 @@ + + %} + ++%option main + + + %% diff --git a/desktop/toolkit/motif/openmotif/pspec.xml b/desktop/toolkit/motif/openmotif/pspec.xml new file mode 100644 index 0000000000..934eb3479c --- /dev/null +++ b/desktop/toolkit/motif/openmotif/pspec.xml @@ -0,0 +1,152 @@ + + + + + openmotif + http://www.motifzone.org/ + + PisiLinux Community + admins@pisilinux.org + + MOTIF + library + app + Open Motif implementation + Freely available version of the well known Motif user interface toolkit for Open Source operating systems. + mirrors://sourceforge/motif/motif-2.3.4-src.tgz + + libXmu-devel + libXft-devel + xbitmaps + fontconfig-devel + libXt-devel + libXext-devel + libjpeg-turbo-devel + libX11-devel + libpng-devel + + + + openmotif-2.3.2-sanitise-paths.patch + 0003_fix_ftbfs_binutils-gold.patch + + openmotif-uil.patch + openmotif-unaligned.patch + + sentinel.patch + strcmp.patch + warn.patch + openMotif-2.3.0-no_X11R6.patch + motif-2.3.4-bindings.patch + motif-2.3.4-mwmrc_dir.patch + wmluiltok_fake_lex_main.patch + + + + + openmotif + + libXmu + libXft + libXp + libSM + libICE + fontconfig + libXt + libXext + libjpeg-turbo + libX11 + libpng + + + /etc + /usr/bin + /usr/lib + /usr/share/X11/app-defaults + /usr/share/X11/bindings + /usr/share/doc + /usr/share/man + + + Mwm.defaults + + + + + openmotif-devel + Development files for openmotif + + openmotif + libXft-devel + libXt-devel + libXmu-devel + libXext-devel + + + /usr/include + /usr/share/man/man3 + + + + + openmotif-32bit + emul32 + 32-bit shared libraries for openmotif + emul32 + + libSM-32bit + glibc-32bit + libXt-32bit + libXp-32bit + libXmu-32bit + libpng-32bit + libX11-32bit + libICE-32bit + libXft-32bit + libXext-32bit + fontconfig-32bit + libjpeg-turbo-32bit + + + openmotif + libSM-32bit + libXt-32bit + libXp-32bit + libXmu-32bit + libpng-32bit + libX11-32bit + libICE-32bit + libXft-32bit + libXext-32bit + fontconfig-32bit + libjpeg-turbo-32bit + + + /usr/lib32 + + + + + + 2013-08-17 + 2.3.4 + Release bump + Osman Erkan + osman.erkan@pisilinux.org + + + 2013-06-23 + 2.3.4 + Fix dep, we have no libXp-devel pack. + Osman Erkan + osman.erkan@pisilinux.org + + + 2012-11-10 + 2.3.4 + First release + Osman Erkan + osman.erkan@pisilinux.org + + + diff --git a/desktop/toolkit/motif/openmotif/translations.xml b/desktop/toolkit/motif/openmotif/translations.xml new file mode 100644 index 0000000000..bdbfd93ff7 --- /dev/null +++ b/desktop/toolkit/motif/openmotif/translations.xml @@ -0,0 +1,13 @@ + + + + openmotif + Özgür Motif kitaplığı + Açık kaynak kodlu işletim sistemleri için yaygın olarak tanına Motif kullanıcı arabirimi araçlarının özgürce kullanılabilen sürümü. + + + + openmotif-devel + openmotif için geliştirme dosyaları + + diff --git a/pisi-index.xml b/pisi-index.xml index 1db3afb519..e6f617e9d7 100644 --- a/pisi-index.xml +++ b/pisi-index.xml @@ -39882,6 +39882,154 @@ + + + openmotif + http://www.motifzone.org/ + + PisiLinux Community + admins@pisilinux.org + + MOTIF + library + app + desktop.toolkit.motif + Open Motif implementation + Özgür Motif kitaplığı + Freely available version of the well known Motif user interface toolkit for Open Source operating systems. + Açık kaynak kodlu işletim sistemleri için yaygın olarak tanına Motif kullanıcı arabirimi araçlarının özgürce kullanılabilen sürümü. + mirrors://sourceforge/motif/motif-2.3.4-src.tgz + + libXmu-devel + libXft-devel + xbitmaps + fontconfig-devel + libXt-devel + libXext-devel + libjpeg-turbo-devel + libX11-devel + libpng-devel + + + openmotif-2.3.2-sanitise-paths.patch + 0003_fix_ftbfs_binutils-gold.patch + openmotif-uil.patch + openmotif-unaligned.patch + sentinel.patch + strcmp.patch + warn.patch + openMotif-2.3.0-no_X11R6.patch + motif-2.3.4-bindings.patch + motif-2.3.4-mwmrc_dir.patch + wmluiltok_fake_lex_main.patch + + desktop/toolkit/motif/openmotif/pspec.xml + + + openmotif + + libXmu + libXft + libXp + libSM + libICE + fontconfig + libXt + libXext + libjpeg-turbo + libX11 + libpng + + + /etc + /usr/bin + /usr/lib + /usr/share/X11/app-defaults + /usr/share/X11/bindings + /usr/share/doc + /usr/share/man + + + Mwm.defaults + + + + openmotif-devel + Development files for openmotif + openmotif için geliştirme dosyaları + + openmotif + libXft-devel + libXt-devel + libXmu-devel + libXext-devel + + + /usr/include + /usr/share/man/man3 + + + + openmotif-32bit + 32-bit shared libraries for openmotif + emul32 + emul32 + + libSM-32bit + glibc-32bit + libXt-32bit + libXp-32bit + libXmu-32bit + libpng-32bit + libX11-32bit + libICE-32bit + libXft-32bit + libXext-32bit + fontconfig-32bit + libjpeg-turbo-32bit + + + openmotif + libSM-32bit + libXt-32bit + libXp-32bit + libXmu-32bit + libpng-32bit + libX11-32bit + libICE-32bit + libXft-32bit + libXext-32bit + fontconfig-32bit + libjpeg-turbo-32bit + + + /usr/lib32 + + + + + 2013-08-17 + 2.3.4 + Release bump + Osman Erkan + osman.erkan@pisilinux.org + + + 2013-06-23 + 2.3.4 + Fix dep, we have no libXp-devel pack. + Osman Erkan + osman.erkan@pisilinux.org + + + 2012-11-10 + 2.3.4 + First release + Osman Erkan + osman.erkan@pisilinux.org + + + qscintilla2 diff --git a/pisi-index.xml.sha1sum b/pisi-index.xml.sha1sum index f4e2031a67..dedab0f928 100644 --- a/pisi-index.xml.sha1sum +++ b/pisi-index.xml.sha1sum @@ -1 +1 @@ -b5f190399bda2055c7a42200311d9b6eb865b548 \ No newline at end of file +c8250892fbf7d630b4fa0cfa37f9ec4845164d81 \ No newline at end of file diff --git a/pisi-index.xml.xz b/pisi-index.xml.xz index 0d7c0d73c64984aec9b5dcad5af8701f7bebf688..475f70aa4c96f9c58d1ff44459d7155d0d8d4e94 100644 GIT binary patch delta 162607 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