microwindows: simplify and fix recipe

This recipe was way too complicated for what we need. Moreover there was
a build error in jenkins daily build due to this recipe:

WARNING: QA Issue: microwindows: Files/directories were installed but not shipped
  /usr/bin
  /usr/bin}
  /usr/bin}/fonts
NOTE: Tasks Summary: Attempted 2628 tasks of which 2469 didn't need to be rerun and all succeeded.

Summary: There was 1 WARNING message shown.

| Collected errors:
|  * satisfy_dependencies_for: Cannot satisfy the following dependencies for packagegroup-dey-debug-dev:
|  * 	microwindows (= 0.91-dey.r0.0) *
|  * opkg_install_cmd: Cannot install package packagegroup-dey-debug-dev.

So simplify it and fix the dependence so the jenkins job can be built.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit is contained in:
Javier Viguera 2013-06-27 19:47:34 +02:00
parent e963c1bf7f
commit cf67280cee
9 changed files with 177 additions and 504 deletions

View File

@ -0,0 +1,151 @@
From: Javier Viguera <javier.viguera@digi.com>
Date: Thu, 27 Jun 2013 13:20:56 +0200
Subject: [PATCH] defconfig
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
---
src/config | 40 ++++++++++++++++++++--------------------
1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/src/config b/src/config
index 36bfe2e..9d4e967 100644
--- a/src/config
+++ b/src/config
@@ -37,7 +37,7 @@
# note: ELKS can't build client/server nano-X, nor widget lib
#
####################################################################
-ARCH = LINUX-NATIVE
+ARCH = LINUX-ARM
BIGENDIAN = N
NATIVETOOLSPREFIX =
ARMTOOLSPREFIX = arm-linux-
@@ -62,9 +62,9 @@ GPROF = N
# Libraries to build: microwin, nano-X, nanowidget, object frameworks
#
####################################################################
-MICROWIN = Y
+MICROWIN = N
NANOX = Y
-SHAREDLIBS = Y
+SHAREDLIBS = N
OBJFRAMEWORK = N
@@ -73,15 +73,15 @@ OBJFRAMEWORK = N
# Demos to build
#
####################################################################
-MICROWINDEMO = Y
-NANOXDEMO = Y
+MICROWINDEMO = N
+NANOXDEMO = N
####################################################################
#
# Applications to build
#
####################################################################
-NANOWM = Y
+NANOWM = N
####################################################################
#
@@ -108,12 +108,12 @@ SCREEN_PIXTYPE = MWPF_TRUECOLOR0888
# or for speed or debugging. This affects the nano-X server only.
#
####################################################################
-LINK_APP_INTO_SERVER = N
+LINK_APP_INTO_SERVER = Y
####################################################################
# Shared memory support for Nano-X client/server protocol speedup
####################################################################
-HAVE_SHAREDMEM_SUPPORT = N
+HAVE_SHAREDMEM_SUPPORT = Y
####################################################################
#
@@ -134,7 +134,7 @@ HAVE_XPM_SUPPORT = Y
####################################################################
# JPEG support through libjpeg, see README.txt in contrib/jpeg
####################################################################
-HAVE_JPEG_SUPPORT = Y
+HAVE_JPEG_SUPPORT = N
INCJPEG = .
LIBJPEG = /usr/lib/libjpeg.so
@@ -157,7 +157,7 @@ LIBTIFF = /usr/lib/libtiff.a
# native .fnt loadable font support
####################################################################
HAVE_FNT_SUPPORT = Y
-HAVE_FNTGZ_SUPPORT = Y
+HAVE_FNTGZ_SUPPORT = N
FNT_FONT_DIR = "fonts/bdf"
####################################################################
@@ -170,7 +170,7 @@ LIBT1LIB = /usr/local/lib/libt1.a
####################################################################
# TrueType font support thru FreeType 1.x
####################################################################
-HAVE_FREETYPE_SUPPORT = Y
+HAVE_FREETYPE_SUPPORT = N
INCFTLIB = /usr/include/freetype1
LIBFTLIB = /usr/lib/libttf.so
FREETYPE_FONT_DIR = "fonts/truetype"
@@ -188,8 +188,8 @@ LIBFT2LIB = /usr/lib/libfreetype.a
# Selecting HAVE_PCFGZ_SUPPORT will allow you to directly read
# .pcf.gz files, but it will add libz to the size of the server
####################################################################
-HAVE_PCF_SUPPORT = Y
-HAVE_PCFGZ_SUPPORT = Y
+HAVE_PCF_SUPPORT = N
+HAVE_PCFGZ_SUPPORT = N
PCF_FONT_DIR = "fonts/pcf"
####################################################################
@@ -276,14 +276,14 @@ else
# set FBREVERSE to reverse bit orders in 1,2,4 bpp
# set FBVGA=N for all systems without VGA hardware (for MIPS must=N)
FRAMEBUFFER = Y
-FBVGA = Y
-VTSWITCH = Y
+FBVGA = N
+VTSWITCH = N
FBREVERSE = N
# set HAVETEXTMODE=Y for systems that can switch between text & graphics.
# On a graphics-only embedded system, such as Osprey and Embedded
# Planet boards, set HAVETEXTMODE=N
-HAVETEXTMODE = Y
+HAVETEXTMODE = N
# svgalib screen driver
VGALIB = N
@@ -311,10 +311,10 @@ HWVGA = N
# YOPYMOUSE Yopy (/dev/yopy-ts)
# HARRIERMOUSE NEC Harrier (/dev/tpanel)
####################################################################
-GPMMOUSE = Y
+GPMMOUSE = N
SERMOUSE = N
SUNMOUSE = N
-NOMOUSE = N
+NOMOUSE = Y
IPAQMOUSE = N
ZAURUSMOUSE = N
TUXMOUSE = N
@@ -330,11 +330,11 @@ LIRCMOUSE = N
# keyboard or null kbd driver
TTYKBD = N
-SCANKBD = Y
+SCANKBD = N
PIPEKBD = N
IPAQKBD = N
LIRCKBD = N
-NOKBD = N
+NOKBD = Y
endif

View File

@ -1,381 +0,0 @@
####################################################################
# Microwindows and Nano-X configuration file
#
# This package can be configured to run on Linux (MIPS, ARM, POWERPC or x86)
# UNIX, ELKS, DJGPP, or RTEMS.
# On Linux, we've got drivers for Linux 2.x framebuffers, X11, or,
# svgalib for VGA hardware.
# In addition, a gpm or direct serial mouse driver can be configured.
# On ELKS, the bios screen driver and serial mouse driver are always used.
#
# Either Microwindows and/or Nano-X can be built.
# Microwindows and Nano-X have several demos.
#
# For MSDOS makes, see mcmwin.mak and mcnanox.mak
####################################################################
####################################################################
#
# build target platform
#
# Valid ARCH values are:
#
# LINUX-NATIVE
# LINUX-TCC
# LINUX-ARM
# LINUX-MIPS
# LINUX-POWERPC (BIGENDIAN=Y)
# LINUX-SPARC (BIGENDIAN=Y)
# LINUX-SH
# FREEBSD-X86
# SOLARIS (BIGENDIAN=Y)
# TRIMEDIA
# RTEMS
# DJGPP
# ELKS
#
# note: ELKS can't build client/server nano-X, nor widget lib
#
####################################################################
ARCH = LINUX-ARM
BIGENDIAN = N
NATIVETOOLSPREFIX =
####################################################################
#
# Compiling options
#
####################################################################
OPTIMIZE = Y
DEBUG = N
VERBOSE = N
THREADSAFE = Y
GPROF = N
####################################################################
#
# Libraries to build: microwin, nano-X, nanowidget, object frameworks
#
####################################################################
MICROWIN = N
NANOX = Y
SHAREDLIBS = N
OBJFRAMEWORK = N
####################################################################
#
# Demos to build
#
####################################################################
MICROWINDEMO = N
NANOXDEMO = N
####################################################################
#
# Applications to build
#
####################################################################
NANOWM = N
####################################################################
#
# The pixeltype of the native hardware or underlying graphics library.
# This definition defines the PIXELVAL to be 32, 16 or 8 bits wide.
# If using Linux framebuffer, set to MWPF_TRUECOLOR0888, and use fbset.
# It also enables GdArea/GrArea for this particular pixel packing format.
#
# define MWPF_PALETTE /* pixel is packed 8 bits 1, 4 or 8 pal index*/
# define MWPF_TRUECOLOR8888 /* pixel is packed 32 bits 8/8/8/8 truecolor w/alpha*/
# define MWPF_TRUECOLOR0888 /* pixel is packed 32 bits 8/8/8 truecolor*/
# define MWPF_TRUECOLOR888 /* pixel is packed 24 bits 8/8/8 truecolor*/
# define MWPF_TRUECOLOR565 /* pixel is packed 16 bits 5/6/5 truecolor*/
# define MWPF_TRUECOLOR555 /* pixel is packed 16 bits 5/5/5 truecolor*/
# define MWPF_TRUECOLOR332 /* pixel is packed 8 bits 3/3/2 truecolor*/
#
####################################################################
SCREEN_PIXTYPE = MWPF_TRUECOLOR0888
####################################################################
#
# NanoX: Put Y to the following line to link the nano-X application
# with the server. This is required for ELKS, if no network is present,
# or for speed or debugging. This affects the nano-X server only.
#
####################################################################
LINK_APP_INTO_SERVER = Y
####################################################################
# Shared memory support for Nano-X client/server protocol speedup
####################################################################
HAVE_SHAREDMEM_SUPPORT = Y
####################################################################
#
# File I/O support
# Supporting either below drags in libc stdio, which may not be wanted
#
####################################################################
HAVE_FILEIO = Y
####################################################################
# BMP, GIF reading support
####################################################################
HAVE_BMP_SUPPORT = Y
HAVE_GIF_SUPPORT = Y
HAVE_PNM_SUPPORT = Y
HAVE_XPM_SUPPORT = Y
####################################################################
# JPEG support through libjpeg, see README.txt in contrib/jpeg
####################################################################
HAVE_JPEG_SUPPORT = N
INCJPEG = .
LIBJPEG =
####################################################################
# PNG support via libpng and libz
####################################################################
HAVE_PNG_SUPPORT = N
INCPNG =
LIBPNG =
LIBZ =
####################################################################
# TIFF support through libtiff
####################################################################
HAVE_TIFF_SUPPORT = N
INCTIFF = .
LIBTIFF = /usr/lib/libtiff.a
####################################################################
# native .fnt loadable font support
####################################################################
HAVE_FNT_SUPPORT = Y
HAVE_FNTGZ_SUPPORT = N
FNT_FONT_DIR = "fonts/bdf"
####################################################################
# T1 adobe type1 font support thru t1lib
####################################################################
HAVE_T1LIB_SUPPORT = N
INCT1LIB = .
LIBT1LIB = /usr/lib/libt1.a
####################################################################
# TrueType font support thru FreeType 1.x
####################################################################
HAVE_FREETYPE_SUPPORT = N
INCFTLIB = /usr/include/freetype1
LIBFTLIB = /usr/lib/libttf.so
FREETYPE_FONT_DIR = "fonts/truetype"
####################################################################
# Support for many kinds of font thru FreeType 2.x
# Must also set FREETYPE_FONT_DIR in the Freetype 1.x section
####################################################################
HAVE_FREETYPE_2_SUPPORT = N
INCFT2LIB = .
LIBFT2LIB = /gumstix/gumstix-buildroot/build_arm_nofpu/staging_dir/usr/lib/libfreetype.a
####################################################################
# PCF font support
# Selecting HAVE_PCFGZ_SUPPORT will allow you to directly read
# .pcf.gz files, but it will add libz to the size of the server
####################################################################
HAVE_PCF_SUPPORT = N
HAVE_PCFGZ_SUPPORT = N
PCF_FONT_DIR = "fonts/pcf"
####################################################################
# Chinese Han Zi Ku loadable font support
####################################################################
HAVE_HZK_SUPPORT = N
HZK_FONT_DIR = "fonts/chinese"
####################################################################
# Chinese BIG5 compiled in font support (big5font.c)
####################################################################
HAVE_BIG5_SUPPORT = N
####################################################################
# Chinese GB2312 compiled in font support (gb2312font.c)
####################################################################
HAVE_GB2312_SUPPORT = N
####################################################################
# Japanese JISX0213 compiled in font support (jisx0213-12x12.c)
####################################################################
HAVE_JISX0213_SUPPORT = N
####################################################################
# Korean HANGUL font support (jo16x16.c)
####################################################################
HAVE_KSC5601_SUPPORT = N
####################################################################
# Japanese EUC-JP support using loadable MGL font
####################################################################
HAVE_EUCJP_SUPPORT = N
EUCJP_FONT_DIR = "fonts/japanese"
####################################################################
# Generate screen driver interface only with no fonts or clipping
####################################################################
NOFONTSORCLIPPING = N
####################################################################
#
# Window move algorithms for Microwindows
# Change for tradeoff between cpu speed and looks
# ERASEMOVE repaints only backgrounds while window dragging, quicker.
# Otherwise an XOR redraw is used for window moves only after button up,
# quickest (should set for ELKS)
# UPDATEREGIONS paints in update clipping region only for better look and feel
#
####################################################################
ERASEMOVE = Y
UPDATEREGIONS = Y
####################################################################
#
# Link with Gray Palette (valid only for 4bpp modes)
#
####################################################################
GRAYPALETTE = N
####################################################################
#
# If the platform is running UNIX, Linux or RTEMS...
#
####################################################################
ifneq ($(ARCH), ELKS)
# X Window screen, mouse and kbd drivers
X11 = N
ifeq ($(X11), Y)
# startup screen width, height, (depth for palette mode only)
SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480
SCREEN_DEPTH = 4
# You may want to turn this on for XFree86 4.x or if your backing store
# isn't functioning properly
USE_EXPOSURE = Y
else
# framebuffer screen driver (linear and/or vga 4 planes)
# set VTSWITCH to include virtual terminal switch code
# set FBREVERSE to reverse bit orders in 1,2,4 bpp
# set FBVGA=N for all systems without VGA hardware (for MIPS must=N)
FRAMEBUFFER = Y
FBVGA = N
VTSWITCH = N
FBREVERSE = N
# set HAVETEXTMODE=Y for systems that can switch between text & graphics.
# On a graphics-only embedded system, such as Osprey and Embedded
# Planet boards, set HAVETEXTMODE=N
HAVETEXTMODE = N
# svgalib screen driver
VGALIB = N
# direct VGA hardware access screen driver
HWVGA = N
####################################################################
# Mouse drivers
# GPMMOUSE gpm mouse
# SERMOUSE serial Microsoft, PC, Logitech, PS/2 mice (/dev/psaux)
# SUNMOUSE Sun Workstation mouse (/dev/sunmouse)
# NOMOUSE no mouse driver
#
# Touchscreen drivers
# IPAQMOUSE Compaq iPAQ, Intel Assabet (/dev/h3600_tsraw)
# ZAURUSMOUSE Sharp Zaurus (/dev/sharp_ts)
# TUXMOUSE TuxScreen (/dev/ucb1x00-ts)
# ADSMOUSE Applied Data Systems GC+ (/dev/ts)
# ADS7846MOUSE ADS7846 chip, PSI OMAP Innovator (/dev/innnovator_ts)
# EPMOUSE Embedded Planet (/dev/tpanel)
# VHMOUSE Vtech Helio (/dev/tpanel)
# MTMOUSE MicroTouch serial (/dev/ttyS1)
# PSIONMOUSE Psion 5 (/dev/touch_psion)
# YOPYMOUSE Yopy (/dev/yopy-ts)
# HARRIERMOUSE NEC Harrier (/dev/tpanel)
####################################################################
GPMMOUSE = N
SERMOUSE = Y
SUNMOUSE = N
NOMOUSE = N
IPAQMOUSE = N
ZAURUSMOUSE = N
TUXMOUSE = N
ADSMOUSE = N
ADS7846MOUSE = N
EPMOUSE = N
VHMOUSE = N
MTMOUSE = N
PSIONMOUSE = N
YOPYMOUSE = N
HARRIERMOUSE = N
LIRCMOUSE = N
# keyboard or null kbd driver
TTYKBD = N
SCANKBD = N
PIPEKBD = N
IPAQKBD = N
LIRCKBD = N
NOKBD = Y
endif
# Secondary keyboard drivers.
# You may have a normal keyboard driver in addition to these
# drivers, e.g. for both normal keyboard and IR input.
LIRCKBD2 = N
####################################################################
# Screen driver specific configuration
# SA1100_LCD_LTLEND 4bpp driver with arm SA1100 LCD controller
# INVERT4BPP 4bpp inverted pixel driver for VTech Helio
####################################################################
SA1100_LCD_LTLEND = N
INVERT4BPP = N
####################################################################
#
# If the platform is a RTEMS box ....
#
####################################################################
ifeq ($(ARCH), RTEMS)
# Location & BSP information of the RTEMS build
RTEMS_BUILD = /tools/build-i386-elf-rtems
RTEMS_BSP = pc386
LINK_APP_INTO_SERVER = Y
endif
endif
####################################################################
#
# If the platform is an ELKS box ...
#
####################################################################
ifeq ($(ARCH), ELKS)
# Higher speed asm driver, c driver of hercules screen driver
ASMVGADRIVER = Y
CVGADRIVER = N
HERCDRIVER = N
DBGDRIVER = N
# Mouse support
SERMOUSE = Y
endif

View File

@ -1,14 +0,0 @@
--- microwindows-0.92/src/Makefile.rules-orig 2008-02-13 21:21:18.000000000 -0800
+++ microwindows-0.92/src/Makefile.rules 2008-02-13 21:20:55.000000000 -0800
@@ -569,9 +569,11 @@
# If a shared object library name is specified, link this object
#
ifeq ($(SHAREDLIBS), Y)
+ifneq ($(LIBNAMESO),)
$(MW_DIR_LIB)/$(LIBNAMESO): $(MW_DIR_LIB)/$(LIBNAME)
@echo "Creating shared library $(patsubst $(MW_DIR_LIB)/%,%,$@) ..."
$(CC) -shared -o $@ -Wl,--whole-archive $^ -Wl,--no-whole-archive
+endif
endif
#

View File

@ -1,17 +0,0 @@
--- microwindows-0.90/src/Makefile-orig.rules 2008-02-08 23:08:38.000000000 -0800
+++ microwindows-0.90/src/Makefile.rules 2008-02-08 23:09:15.000000000 -0800
@@ -23,10 +23,10 @@
LIBINSTALLDIR = $(INSTALL_PREFIX)/lib
BININSTALLDIR = $(INSTALL_PREFIX)/bin
-INSTALL_DIR = install -c -m 755 -o $(INSTALL_USER) -g $(INSTALL_GROUP) -d
-INSTALL_HDR = install -c -m 644 -o $(INSTALL_USER) -g $(INSTALL_GROUP_2)
-INSTALL_LIB = install -c -m 644 -o $(INSTALL_USER) -g $(INSTALL_GROUP_2)
-INSTALL_BIN = install -c -m 755 -o $(INSTALL_USER) -g $(INSTALL_GROUP_2)
+INSTALL_DIR = install -c -m 755 -d
+INSTALL_HDR = install -c -m 644
+INSTALL_LIB = install -c -m 644
+INSTALL_BIN = install -c -m 755
##############################################################################
# Defines, includes, and core libraries. Controlled by the config file.

View File

@ -1,10 +0,0 @@
--- microwindows-0.90/src/nanox/clientfb-orig.c 2008-02-08 20:27:09.000000000 -0800
+++ microwindows-0.90/src/nanox/clientfb.c 2008-02-08 20:24:49.000000000 -0800
@@ -16,6 +16,7 @@
#include "nano-X.h"
#include "lock.h"
+#define PAGE_SIZE (1UL << 12)
#define CG6_RAM 0x70016000 /* for Sun systems*/
LOCK_EXTERN(nxGlobalLock); /* global lock for threads safety*/

View File

@ -1,11 +0,0 @@
--- microwindows-0.91/src/demos/nanowm/wlist-orig.c 2001-11-15 14:49:18.000000000 -0800
+++ microwindows-0.91/src/demos/nanowm/wlist.c 2008-02-12 09:56:59.000000000 -0800
@@ -13,7 +13,7 @@
#include "nanowm.h"
-static win *windows = NULL;
+win *windows = NULL;
/*
* Find the windowlist entry for the specified window ID and return a pointer

View File

@ -1,11 +0,0 @@
--- nxlib-0.45/Xlcint.h-orig 2008-02-13 20:46:56.000000000 -0800
+++ nxlib-0.45/Xlcint.h 2008-02-13 20:47:16.000000000 -0800
@@ -71,7 +71,7 @@
#include "Xresource.h"
#include "Xutil.h"
/*#include "Xvarargs.h"*/
-#include "varargs.h"
+#include "stdarg.h"
typedef Bool (*XFilterEventProc)(
#if NeedFunctionPrototypes

View File

@ -1,53 +0,0 @@
# Copyright (C) 2013 Digi International.
DESCRIPTION = "Microwindows Graphical Engine"
SECTION = "x11/wm"
PRIORITY = "optional"
DEPENDS = "libpng jpeg zlib"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://src/LICENSE;md5=537b9004889eb701c48fc1fe78d9c30e"
INC_PR="r0"
PARALLEL_MAKE = ""
EXTRA_OEMAKE = " \
-C ${S}/src \
ARMTOOLSPREFIX=${TARGET_PREFIX} \
INCJPEG=${STAGING_INCDIR} \
LIBJPEG=${STAGING_LIBDIR}/libjpeg.so \
INCPNG=${STAGING_INCDIR} \
LIBPNG=${STAGING_LIBDIR}/libpng.so \
LIBZ=${STAGING_LIBDIR}/libz.so \
INSTALL_PREFIX=${D}${prefix} \
INSTALL_OWNER1= \
INSTALL_OWNER2= \
"
do_compile() {
cp ${WORKDIR}/defconfig ${S}/src/config
oe_runmake
}
do_install() {
oe_runmake install all
# the next 3 lines are necessary for snapshot build since it has CVS cruft in the tarball
rm -rf ${S}/src/lib/CVS
rm -rf ${S}/src/bin/CVS
rm -f ${S}/src/bin/fonts
# convbdf is a host tool - don't install it
mkdir ${S}/src/hostbin
mv ${S}/src/bin/convbdf ${S}/src/hostbin
install -d ${D}${bindir} ${D}$bindir}/fonts ${D}${libdir}
install -m 0755 ${S}/src/lib/* ${D}${libdir}/
install -d ${D}/${includedir}/microwin
install -m 0644 ${S}/src/include/* ${D}/${includedir}/microwin/
# No binaries compiled - change the config file if demoes and apps are needed
# install -m 0755 ${S}/src/bin/* ${D}${bindir}/
}
FILES_${PN}="${bindir}/* ${libdir}/*"

View File

@ -1,13 +1,32 @@
require microwindows.inc # Copyright (C) 2013 Digi International.
PR = "${DISTRO}.${INC_PR}.0" SUMMARY = "Microwindows Graphical Engine"
SECTION = "x11/wm"
LICENSE = "GPLv2"
# License path relative to S = "${WORKDIR}/${PN}-${PV}/src"
LIC_FILES_CHKSUM = "file://LICENSE;md5=537b9004889eb701c48fc1fe78d9c30e"
PR = "${DISTRO}.r0"
SRC_URI = " \ SRC_URI = " \
ftp://ftp.microwindows.org/pub/microwindows/microwindows-src-${PV}.tar.gz \ ftp://ftp.microwindows.org/pub/microwindows/microwindows-src-${PV}.tar.gz \
file://defconfig \ file://0001-defconfig.patch;striplevel=2 \
file://pagesize.patch \ "
file://staticwin.patch \
"
SRC_URI[md5sum] = "901e912cf3975f6460a9bb4325557645" SRC_URI[md5sum] = "901e912cf3975f6460a9bb4325557645"
SRC_URI[sha256sum] = "c0a8473842fc757ff4c225f82b83d98bba5da0dca0cf843cfc7792064a393435" SRC_URI[sha256sum] = "c0a8473842fc757ff4c225f82b83d98bba5da0dca0cf843cfc7792064a393435"
S = "${WORKDIR}/${PN}-${PV}/src"
EXTRA_OEMAKE = " \
ARMTOOLSPREFIX=${TARGET_PREFIX} \
INSTALL_OWNER1= \
INSTALL_OWNER2= \
INSTALL_PREFIX=${D}${prefix} \
"
do_install() {
oe_runmake install
}
ALLOW_EMPTY_${PN} = "1"