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 0d7c0d73c6..475f70aa4c 100644 Binary files a/pisi-index.xml.xz and b/pisi-index.xml.xz differ diff --git a/pisi-index.xml.xz.sha1sum b/pisi-index.xml.xz.sha1sum index 97ffc56bf2..0f5a446ec4 100644 --- a/pisi-index.xml.xz.sha1sum +++ b/pisi-index.xml.xz.sha1sum @@ -1 +1 @@ -d901852625377b88f4718dd4eb330b24f893b17e \ No newline at end of file +5f3b2bc6193d29b511f9358d72ee47977d871474 \ No newline at end of file