|
From: <ai...@us...> - 2013-11-30 21:49:32
|
Revision: 12784
http://sourceforge.net/p/plplot/code/12784
Author: airwin
Date: 2013-11-30 21:49:28 +0000 (Sat, 30 Nov 2013)
Log Message:
-----------
Really create updated instructions for developers of epa_build. (Last
commit for updated instructions only contained part of the edits.)
Modified Paths:
--------------
trunk/cmake/epa_build/README.developers
Modified: trunk/cmake/epa_build/README.developers
===================================================================
--- trunk/cmake/epa_build/README.developers 2013-11-30 20:19:07 UTC (rev 12783)
+++ trunk/cmake/epa_build/README.developers 2013-11-30 21:49:28 UTC (rev 12784)
@@ -71,6 +71,19 @@
cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_bp.cmake
+# Patch generated configuration files. This patch file contains
+# additional changes that cannot be done via a patch to the *.xml file.
+# Typically, these changes are hand edits which are tested then committed.
+# So typically the patch is created by rerunning the above cmake
+# command then using "svn diff" > configured_pango.patch" to generate
+# the reverse form of the patch to change the result created by the
+# above cmake command into the svn committed form which is done with
+# the following patch command.
+
+patch --reverse -p0 <configured_pango.patch
+
+N.B. configured_pango.patch is kept under version control.
+
# One known issue with the gtk+ stack and other software we build is
# certain package dependencies are completely missing (called "bad
# packages above) such as pkg-config and libffi which have to be built
@@ -79,8 +92,8 @@
# others that can be configured with a template (e.g., libffi) we use
# add_packages.xml (under version control) as follows:
-rm -f add_packages.data
-touch add_packages.data
+rm -f add_packages.data add_packages.stderr
+touch add_packages.data add_packages.stderr
# PACKAGE_LIST only contains the package names in add_packages.xml
# that do not depend on any other package in that file. Thus,
# PACKAGE_LIST contains a list of "starting" packages and the
@@ -88,6 +101,15 @@
# add_packages.xml.
PACKAGE_LIST="libffi intltool pixman gperf swig"
for PACKAGE in $PACKAGE_LIST; do
- ./gtk_transform.py $PACKAGE 1 <add_packages.xml 1>> add_packages.data
+ ./gtk_transform.py $PACKAGE 1 <add_packages.xml 1>> add_packages.data 2>> add_packages.stderr
done
+
+# Look for any bad results:
+less add_packages.stderr
+
+# It turns out there is one "bad" package, pkg-config which must be
+# configured with a hand-edited configuration.
+
+# Generate the "good" package configurations.
+
cmake -DFILENAME:FILEPATH=add_packages.data -P configure_bp.cmake
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-01 02:01:54
|
Revision: 12786
http://sourceforge.net/p/plplot/code/12786
Author: airwin
Date: 2013-12-01 02:01:49 +0000 (Sun, 01 Dec 2013)
Log Message:
-----------
Add libxslt to list of packages to be configured.
Modified Paths:
--------------
trunk/cmake/epa_build/README.developers
Modified: trunk/cmake/epa_build/README.developers
===================================================================
--- trunk/cmake/epa_build/README.developers 2013-12-01 01:05:55 UTC (rev 12785)
+++ trunk/cmake/epa_build/README.developers 2013-12-01 02:01:49 UTC (rev 12786)
@@ -99,7 +99,7 @@
# PACKAGE_LIST contains a list of "starting" packages and the
# dependencies of those should suck in the rest of the packages in
# add_packages.xml.
-PACKAGE_LIST="libffi intltool pixman gperf swig"
+PACKAGE_LIST="libffi intltool pixman gperf swig libxslt"
for PACKAGE in $PACKAGE_LIST; do
./gtk_transform.py $PACKAGE 1 <add_packages.xml 1>> add_packages.data 2>> add_packages.stderr
done
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-01 08:27:44
|
Revision: 12792
http://sourceforge.net/p/plplot/code/12792
Author: airwin
Date: 2013-12-01 08:27:41 +0000 (Sun, 01 Dec 2013)
Log Message:
-----------
Tweak the directions for epa_build developers.
Modified Paths:
--------------
trunk/cmake/epa_build/README.developers
Modified: trunk/cmake/epa_build/README.developers
===================================================================
--- trunk/cmake/epa_build/README.developers 2013-12-01 08:26:52 UTC (rev 12791)
+++ trunk/cmake/epa_build/README.developers 2013-12-01 08:27:41 UTC (rev 12792)
@@ -24,7 +24,7 @@
# Patch this result to correct errors I have discovered in the jhbuild
# configuration or else to use new versions of packages.
-patch <patch_gtk_packages.xml
+patch --no-backup-if-mismatch <patch_gtk_packages.xml
# To create the schema for gtk_packages.xml use
trang -I xml gtk_packages_$GTK_VERSION.xml gtk_packages_$GTK_VERSION.rnc
@@ -75,12 +75,12 @@
# additional changes that cannot be done via a patch to the *.xml file.
# Typically, these changes are hand edits which are tested then committed.
# So typically the patch is created by rerunning the above cmake
-# command then using "svn diff" > configured_pango.patch" to generate
+# command then using "svn diff" >| configured_pango.patch" to generate
# the reverse form of the patch to change the result created by the
# above cmake command into the svn committed form which is done with
# the following patch command.
-patch --reverse -p0 <configured_pango.patch
+patch --reverse --no-backup-if-mismatch -p0 <configured_pango.patch
N.B. configured_pango.patch is kept under version control.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2014-02-11 23:26:30
|
Revision: 12996
http://sourceforge.net/p/plplot/code/12996
Author: airwin
Date: 2014-02-11 23:26:27 +0000 (Tue, 11 Feb 2014)
Log Message:
-----------
Add some comments about the way foward for development of epa_build.
Modified Paths:
--------------
trunk/cmake/epa_build/README.developers
Modified: trunk/cmake/epa_build/README.developers
===================================================================
--- trunk/cmake/epa_build/README.developers 2014-02-11 00:31:22 UTC (rev 12995)
+++ trunk/cmake/epa_build/README.developers 2014-02-11 23:26:27 UTC (rev 12996)
@@ -80,3 +80,34 @@
cmake -DFILENAME:FILEPATH=add_packages.data -P configure_epa.cmake
svn diff
+OTHER NOTES:
+
+The epa_build configurations are still missing for certain packages.
+For example, a build of a strong-enough version of cmake so that it
+can support "https" downloads (sometimes required by epa_build itself)
+requires that cmake not use its weak internal curl library and instead
+use a fully configured external curl library. So the cmake epa_build
+should be configured with an external libcurl epa_build dependency,
+but that dependency does not exist yet. So I plan to use the
+directions (actually for the mingw-w64 fork of MinGW rather than for
+MinGW itself) in
+<http://www.gaia-gis.it/gaia-sins/mingw64_how_to.html> as a guide to
+create an epa_build configure for both libcurl and its openssl
+dependency. Note, that URL contains mingw-w64 build directions for a
+large number of free software packages so it may also be useful to
+solve some epa_build problems for some packages for the pango/cairo
+stack of libraries that currently have epa_build configuration
+problems for MinGW/MSYS.
+
+Also, it is becoming clear that many users are switching from the
+classical combination of MinGW and MSYS to the combination of
+mingw-w64 and MSYS2 (see <http://sourceforge.net/p/msys2/wiki/MSYS2
+installation/> for install directions for that newer version). Note
+that new platform cannot be currently tested on Wine because of
+<http://bugs.winehq.org/show_bug.cgi?id=35561> so my (AWI's)
+participation in such tests could only be indirect. Nevertheless, I
+would encourage such tests since apparently MSYS2 (a simplification of
+modern Cygwin) has fewer bugs and uses more up-to-date versions of
+software than the traditional MSYS (a simplification of ancient
+Cygwin).
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2014-03-16 20:50:44
|
Revision: 13075
http://sourceforge.net/p/plplot/code/13075
Author: airwin
Date: 2014-03-16 20:50:39 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
Update developer instructions for epa_build to be consistent with
latest gtk+ results. Also, list the outstanding development issues
that need work.
Modified Paths:
--------------
trunk/cmake/epa_build/README.developers
Modified: trunk/cmake/epa_build/README.developers
===================================================================
--- trunk/cmake/epa_build/README.developers 2014-03-16 20:21:30 UTC (rev 13074)
+++ trunk/cmake/epa_build/README.developers 2014-03-16 20:50:39 UTC (rev 13075)
@@ -11,65 +11,76 @@
# that file, create a schema for that file, "gtk_packages.rnc" (not
# used for anything but debugging of xml issues), convert that file to
# a sequential form that can be read in by cmake called
-# "pango_packages.data", transform those data into build
-# configurations, */CMakeLists.txt, and patch those results.
-./update_pango_packages.sh
+# "gtk+_packages.data", transform those data into build
+# configurations, */CMakeLists.txt, and patch those results. The shell
+# script that implements all of this is run as follows:
-Check for any errors:
+./update_gtk+_packages.sh
-# Check for errors:
-less pango_packages.stderr
-
-# That file currently shows there are 10 "good"
-# packages (ones found as a result of the pango package dependency
-# chain) and 14 "bad" packages (ones not found this way which have to
-# be configured another way).
-
# N.B. there are no plans to keep gtk_packages.xml, gtk_packages.rnc,
-# or pango_packages.data under version control. However, all
-# essential files referred to by update_pango_packages.sh such as
+# or gtk+_packages.data under version control. However, all
+# essential files referred to by update_gtk+_packages.sh such as
# gtk_xml_recursive_process.py, patch_gtk_packages.xml, and
# gtk_transform.py are all kept under version control so that
# gtk_packages_$GTK_VERSION.xml, gtk_packages_$GTK_VERSION.rnc, and
-# pango_packages.data can be reproduced at any time for the current
+# gtk+_packages.data can be reproduced at any time for the current
# $GTK_VERSION value or produced for some updated $GTK_VERSION value
# in the future. Note that in that latter case, it will be necessary
# to edit the file names in patch_gtk_packages.xml to conform to the
# new version.
-# One known issue with the gtk+ stack and other software we build is
-# certain package dependencies are completely missing (called "bad
-# packages above) such as pkg-config and libffi which have to be built
-# independently. For some of those missing packages we use a
-# hand-generated configuration (e.g., pkg-config/CMakeLists.txt). For
-# others that can be configured with a template (e.g., libffi) we add
-# additional configurations to add_packages.xml, process that file
-# with enough starting packages to include all dependent packages
-# in the resulting sequential file called "add_packages.data" which
-# is then processed to generated added build configurations such as libffi.
+# Check for any errors in the above procedure:
+less gtk+_packages.stderr
+# That file currently shows there are 17 dependencies of gtk+ that are
+# found with good jhbuild configurations and 22 dependencies of gtk+
+# that are not found (because there are no jhbuild configurations for
+# them).
+
+# 10 of those "not found" packages are officially ignored as a matter of policy.
+# See configure_epa.cmake for the full list, and the reasons for the
+# policy.
+
+# Some of those "not found" packages (i.e., libjpeg, libpng, and libtiff)
+# still may require epa_build configurations, but for now we
+# are putting up with the CMake warnings about these missing packages
+# until we evaluate whether their lack compromises the
+# wxwidgets capabilities on Unix (wxwidgets is the only PLplot-related
+# package that depends on gtk+, and that dependency only occurs for
+# the Unix case).
+
+# The rest of the "not found" packages such as pkg-config and libffi have
+# epa_build configurations that have been independently implemented.
+# Some of those have hand-generated configurations (e.g.,
+# pkg-config/CMakeLists.txt).
+
+# Other "not found" packages have been configured with a template
+# (e.g., libffi). This is done by adding additional configurations to
+# add_packages.xml, processing that file with enough starting packages
+# to include all dependent packages in the resulting sequential file
+# called "add_packages.data" which is then processed to generated
+# added build configurations such as libffi. The shell script
+# that implements this is run as follows:
+
./update_added_packages.sh
# Look for any bad results:
less add_packages.stderr
-# It turns out there is one "bad" package, pkg-config which must be
-# configured with a hand-edited configuration.
-
# N.B. The build configurations generated by
-# "./update_pango_packages.sh" and "./update_added_packages.sh" are
+# "./update_gtk+_packages.sh" and "./update_added_packages.sh" are
# committed under svn control so that care should be used to keep
# everything consistent so that the above scripts introduce no svn
# diffs.
# Assuming no changes have been made to the essential files used by
-# "update_pango_packages.sh" (which are gtk_xml_recursive_process.py,
+# "update_gtk+_packages.sh" (which are gtk_xml_recursive_process.py,
# patch_gtk_packages.xml, and gtk_transform.py) to generate
-# pango_packages.data, then you can quickly check for such consistency
-# without running "./update_pango_packages.sh" using
+# gtk+_packages.data, then you can quickly check for such consistency
+# without running "./update_gtk+_packages.sh" using
-cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_epa.cmake
-patch --reverse --no-backup-if-mismatch -p0 <configured_pango.patch
+cmake -DFILENAME:FILEPATH=gtk+_packages.data -P configure_epa.cmake
+patch --reverse --no-backup-if-mismatch -p0 <configured_gtk+.patch
svn diff
# Similarly, assuming no changes have been made to the essential files
@@ -82,7 +93,23 @@
OTHER NOTES:
-The epa_build configurations are still missing for certain packages.
+It is becoming clear that substantial numbers of users are
+beginning to switch from the classical combination of MinGW and MSYS
+to the more modern combination of mingw-w64 and MSYS2 (see
+<http://sourceforge.net/p/msys2/wiki/MSYS2 installation/> for install
+directions for that newer version). Note that new platform cannot be
+currently tested on Wine because of
+<http://bugs.winehq.org/show_bug.cgi?id=35561> so my (AWI's)
+participation in such tests could only be indirect. Nevertheless, I
+would encourage such tests for epa_build since apparently MSYS2 (a
+simplified fork of modern Cygwin) has fewer bugs and uses more
+up-to-date versions of software than the traditional MSYS (a
+simplified fork of ancient Cygwin).
+
+There are still a number of outstanding development issues for epa_build.
+Please consult with AWI if you wish to work on one or more of these.
+
+* The epa_build configurations are still missing for certain packages.
For example, a build of a strong-enough version of cmake so that it
can support "https" downloads (sometimes required by epa_build itself)
requires that cmake not use its weak internal curl library and instead
@@ -96,18 +123,50 @@
dependency. Note, that URL contains mingw-w64 build directions for a
large number of free software packages so it may also be useful to
solve some epa_build problems for some packages for the pango/cairo
-stack of libraries that currently have epa_build configuration
-problems for MinGW/MSYS.
+subset of the gtk+ stack of libraries that currently have epa_build
+configuration problems for MinGW/MSYS.
-Also, it is becoming clear that many users are switching from the
-classical combination of MinGW and MSYS to the combination of
-mingw-w64 and MSYS2 (see <http://sourceforge.net/p/msys2/wiki/MSYS2
-installation/> for install directions for that newer version). Note
-that new platform cannot be currently tested on Wine because of
-<http://bugs.winehq.org/show_bug.cgi?id=35561> so my (AWI's)
-participation in such tests could only be indirect. Nevertheless, I
-would encourage such tests since apparently MSYS2 (a simplification of
-modern Cygwin) has fewer bugs and uses more up-to-date versions of
-software than the traditional MSYS (a simplification of ancient
-Cygwin).
+* A qt5_lite epa_build configuration is planned which would enable
+me to test PLplot against Qt5 (see recent list discussions concerning
+Qt5).
+* The qt4_lite build works fine on Linux but has not yet been tested on
+Windows.
+
+* The gtk+ complete stack of libraries (only required on Unix to
+satisfy a wxwidgets Unix dependency) builds fine on Linux. Part of
+these good Linux build results are for the pango/cairo subset of the
+gtk+ stack which is necessary on all platforms to support the "cairo"
+PLplot device driver and the libLASi library (necessary to support the
+psttf PLplot device driver). Unfortunately, the pango/cairo subset of
+gtk+ appears to have a number of build issues on Wine. I suspect most
+of those issues are not due to Wine bugs so I expect they will show up
+on Microsoft Windows as soon as someone attempts a build of pango or
+plplot (as opposed to plplot_lite) on that platform.
+
+* Currently epa_build has only been tested on Windows using my
+(extraordinarily slow) MinGW/MSYS/Wine platform for the plplot_lite
+case. The Wine developers view any deviation from Microsoft Windows
+behaviour as a Wine bug. So since it is unlikely that I am by
+accident taking advantage of some Wine bug to make this work, it
+should be trivial (and more than an order of magnitude faster than the
+Wine case) to follow what I have done for the MinGW/MSYS/Microsoft
+Windows case _if_ the bash.exe environment variable approach I
+document in cmake/epa_build/README is religiously followed. I also
+believe it should be straightforward to make the plplot_lite case work
+on the Cygwin platform, a mingw-w64/MSYS2 Windows platform, and a Windows
+platform consisting of the combination of MSYS (bash.exe and other
+MSYS tools are required for testing PLplot but will not be used for
+building it in this case) and MSVC. I have access to none of those
+platforms so volunteers are needed for this testing of epa_build for
+the plplot_lite case.
+
+* The epa_build of octave has not been configured. Octave has an
+enormous number of dependencies (much worse than PLplot), and I have
+no experience building octave. So I have decided to indefinitely put
+off working on this epa_build configuration. As a result, the octave
+component of the plplot epa_build is currently disabled both for
+plplot and plplot_lite, and it will likely be a long time before this
+limitation is removed unless someone else is motivated to
+make this work.
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|