You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(33) |
Jun
|
Jul
(30) |
Aug
(2) |
Sep
|
Oct
(30) |
Nov
(136) |
Dec
(59) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(255) |
Feb
(169) |
Mar
(322) |
Apr
(185) |
May
(33) |
Jun
(89) |
Jul
(47) |
Aug
(59) |
Sep
(40) |
Oct
(31) |
Nov
(74) |
Dec
(84) |
| 2002 |
Jan
(163) |
Feb
(78) |
Mar
(23) |
Apr
(5) |
May
(22) |
Jun
(75) |
Jul
(143) |
Aug
(48) |
Sep
(111) |
Oct
(58) |
Nov
(124) |
Dec
(278) |
| 2003 |
Jan
(106) |
Feb
(276) |
Mar
(354) |
Apr
(97) |
May
(14) |
Jun
(3) |
Jul
(7) |
Aug
(21) |
Sep
(83) |
Oct
(110) |
Nov
(3) |
Dec
(119) |
| 2004 |
Jan
(318) |
Feb
(409) |
Mar
(68) |
Apr
(23) |
May
(105) |
Jun
(147) |
Jul
(69) |
Aug
(53) |
Sep
(23) |
Oct
(14) |
Nov
(15) |
Dec
(63) |
| 2005 |
Jan
(146) |
Feb
(69) |
Mar
(157) |
Apr
(127) |
May
(166) |
Jun
(8) |
Jul
(5) |
Aug
(3) |
Sep
(8) |
Oct
(17) |
Nov
(29) |
Dec
(34) |
| 2006 |
Jan
(3) |
Feb
(4) |
Mar
(1) |
Apr
(70) |
May
(241) |
Jun
(82) |
Jul
(344) |
Aug
(196) |
Sep
(87) |
Oct
(57) |
Nov
(121) |
Dec
(86) |
| 2007 |
Jan
(60) |
Feb
(67) |
Mar
(102) |
Apr
(28) |
May
(13) |
Jun
(29) |
Jul
(38) |
Aug
(56) |
Sep
(91) |
Oct
(89) |
Nov
(50) |
Dec
(68) |
| 2008 |
Jan
(87) |
Feb
(47) |
Mar
(100) |
Apr
(34) |
May
(65) |
Jun
(54) |
Jul
(98) |
Aug
(128) |
Sep
(109) |
Oct
(141) |
Nov
(40) |
Dec
(206) |
| 2009 |
Jan
(176) |
Feb
(226) |
Mar
(134) |
Apr
(84) |
May
(152) |
Jun
(85) |
Jul
(91) |
Aug
(153) |
Sep
(141) |
Oct
(59) |
Nov
(87) |
Dec
(75) |
| 2010 |
Jan
(58) |
Feb
(41) |
Mar
(51) |
Apr
(74) |
May
(81) |
Jun
(39) |
Jul
(30) |
Aug
(43) |
Sep
(76) |
Oct
(59) |
Nov
(62) |
Dec
(52) |
| 2011 |
Jan
(125) |
Feb
(41) |
Mar
(96) |
Apr
(53) |
May
(21) |
Jun
(23) |
Jul
(48) |
Aug
(71) |
Sep
(37) |
Oct
(81) |
Nov
(60) |
Dec
(32) |
| 2012 |
Jan
(51) |
Feb
(23) |
Mar
|
Apr
(8) |
May
(2) |
Jun
|
Jul
(8) |
Aug
(25) |
Sep
(4) |
Oct
(32) |
Nov
(17) |
Dec
(2) |
| 2013 |
Jan
(8) |
Feb
(2) |
Mar
(9) |
Apr
(9) |
May
(37) |
Jun
(48) |
Jul
(63) |
Aug
(42) |
Sep
(59) |
Oct
(83) |
Nov
(141) |
Dec
(133) |
| 2014 |
Jan
(57) |
Feb
(58) |
Mar
(58) |
Apr
(25) |
May
(14) |
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <ai...@us...> - 2013-10-12 00:45:07
|
Revision: 12589
http://sourceforge.net/p/plplot/code/12589
Author: airwin
Date: 2013-10-12 00:45:01 +0000 (Sat, 12 Oct 2013)
Log Message:
-----------
Do not assume that hpdf.h will be found in the hpdf subdirectory.
This change allows the pdf device driver to build not only against
a native build of the libhpdf library (which installs hpdf.h in
an hpdf subdirectory) as well as the Debian package of same
(which install hpdf.h in /usr/include, i.e, not in a subdirectory
named hpdf).
Modified Paths:
--------------
trunk/cmake/modules/Findhpdf.cmake
trunk/drivers/pdf.c
Modified: trunk/cmake/modules/Findhpdf.cmake
===================================================================
--- trunk/cmake/modules/Findhpdf.cmake 2013-10-11 18:50:01 UTC (rev 12588)
+++ trunk/cmake/modules/Findhpdf.cmake 2013-10-12 00:45:01 UTC (rev 12589)
@@ -8,7 +8,7 @@
# hpdf_LIBRARY_DIRS, the directory where libhpdf (either shared or static)
# is found.
-find_path(hpdf_INCLUDE_DIR hpdf/hpdf.h /usr/local/include /usr/include)
+find_path(hpdf_INCLUDE_DIR hpdf.h /usr/local/include/hpdf /usr/local/include /usr/include/hpdf /usr/include)
if(hpdf_INCLUDE_DIR)
find_library(hpdf_LIBRARY
Modified: trunk/drivers/pdf.c
===================================================================
--- trunk/drivers/pdf.c 2013-10-11 18:50:01 UTC (rev 12588)
+++ trunk/drivers/pdf.c 2013-10-12 00:45:01 UTC (rev 12589)
@@ -38,7 +38,7 @@
#include <math.h>
#include <setjmp.h>
-#include "hpdf/hpdf.h"
+#include "hpdf.h"
// PLplot header files
#define DEBUG
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-11 18:50:07
|
Revision: 12588
http://sourceforge.net/p/plplot/code/12588
Author: airwin
Date: 2013-10-11 18:50:01 +0000 (Fri, 11 Oct 2013)
Log Message:
-----------
Update to 2.8.12 version of ExternalProject.cmake with tar.xz patch
applied.
Modified Paths:
--------------
trunk/cmake/build_projects/ExternalProject.cmake
Modified: trunk/cmake/build_projects/ExternalProject.cmake
===================================================================
--- trunk/cmake/build_projects/ExternalProject.cmake 2013-10-11 18:46:29 UTC (rev 12587)
+++ trunk/cmake/build_projects/ExternalProject.cmake 2013-10-11 18:50:01 UTC (rev 12588)
@@ -38,6 +38,7 @@
# [CONFIGURE_COMMAND cmd...] # Build tree configuration command
# [CMAKE_COMMAND /.../cmake] # Specify alternative cmake executable
# [CMAKE_GENERATOR gen] # Specify generator for native build
+# [CMAKE_GENERATOR_TOOLSET t] # Generator-specific toolset name
# [CMAKE_ARGS args...] # Arguments to CMake command line
# [CMAKE_CACHE_ARGS args...] # Initial cache arguments, of the form -Dvar:string=on
# #--Build step-----------------
@@ -113,6 +114,15 @@
# and <TMP_DIR>
# with corresponding property values.
#
+# Any builtin step that specifies a "<step>_COMMAND cmd..." or custom
+# step that specifies a "COMMAND cmd..." may specify additional command
+# lines using the form "COMMAND cmd...". At build time the commands will
+# be executed in order and aborted if any one fails. For example:
+# ... BUILD_COMMAND make COMMAND echo done ...
+# specifies to run "make" and then "echo done" during the build step.
+# Whether the current working directory is preserved between commands
+# is not defined. Behavior of shell operators like "&&" is not defined.
+#
# The 'ExternalProject_Get_Property' function retrieves external project
# target properties:
# ExternalProject_Get_Property(<name> [prop1 [prop2 [...]]])
@@ -286,11 +296,21 @@
message(FATAL_ERROR \"Failed to remove directory: '${source_dir}'\")
endif()
-execute_process(
- COMMAND \"${git_EXECUTABLE}\" clone \"${git_repository}\" \"${src_name}\"
- WORKING_DIRECTORY \"${work_dir}\"
- RESULT_VARIABLE error_code
- )
+# try the clone 3 times incase there is an odd git clone issue
+set(error_code 1)
+set(number_of_tries 0)
+while(error_code AND number_of_tries LESS 3)
+ execute_process(
+ COMMAND \"${git_EXECUTABLE}\" clone \"${git_repository}\" \"${src_name}\"
+ WORKING_DIRECTORY \"${work_dir}\"
+ RESULT_VARIABLE error_code
+ )
+ math(EXPR number_of_tries \"\${number_of_tries} + 1\")
+endwhile()
+if(number_of_tries GREATER 1)
+ message(STATUS \"Had to git clone more than once:
+ \${number_of_tries} times.\")
+endif()
if(error_code)
message(FATAL_ERROR \"Failed to clone repository: '${git_repository}'\")
endif()
@@ -402,6 +422,79 @@
endfunction()
+function(_ep_write_gitupdate_script script_filename git_EXECUTABLE git_tag git_repository work_dir)
+ file(WRITE ${script_filename}
+"if(\"${git_tag}\" STREQUAL \"\")
+ message(FATAL_ERROR \"Tag for git checkout should not be empty.\")
+endif()
+
+execute_process(
+ COMMAND \"${git_EXECUTABLE}\" rev-list --max-count=1 HEAD
+ WORKING_DIRECTORY \"${work_dir}\"
+ RESULT_VARIABLE error_code
+ OUTPUT_VARIABLE head_sha
+ )
+if(error_code)
+ message(FATAL_ERROR \"Failed to get the hash for HEAD\")
+endif()
+
+execute_process(
+ COMMAND \"${git_EXECUTABLE}\" show-ref ${git_tag}
+ WORKING_DIRECTORY \"${work_dir}\"
+ OUTPUT_VARIABLE show_ref_output
+ )
+# If a remote ref is asked for, which can possibly move around,
+# we must always do a fetch and checkout.
+if(\"\${show_ref_output}\" MATCHES \"remotes\")
+ set(is_remote_ref 1)
+else()
+ set(is_remote_ref 0)
+endif()
+
+# This will fail if the tag does not exist (it probably has not been fetched
+# yet).
+execute_process(
+ COMMAND \"${git_EXECUTABLE}\" rev-list --max-count=1 ${git_tag}
+ WORKING_DIRECTORY \"${work_dir}\"
+ RESULT_VARIABLE error_code
+ OUTPUT_VARIABLE tag_sha
+ )
+
+# Is the hash checkout out that we want?
+if(error_code OR is_remote_ref OR NOT (\"\${tag_sha}\" STREQUAL \"\${head_sha}\"))
+ execute_process(
+ COMMAND \"${git_EXECUTABLE}\" fetch
+ WORKING_DIRECTORY \"${work_dir}\"
+ RESULT_VARIABLE error_code
+ )
+ if(error_code)
+ message(FATAL_ERROR \"Failed to fetch repository '${git_repository}'\")
+ endif()
+
+ execute_process(
+ COMMAND \"${git_EXECUTABLE}\" checkout ${git_tag}
+ WORKING_DIRECTORY \"${work_dir}\"
+ RESULT_VARIABLE error_code
+ )
+ if(error_code)
+ message(FATAL_ERROR \"Failed to checkout tag: '${git_tag}'\")
+ endif()
+
+ execute_process(
+ COMMAND \"${git_EXECUTABLE}\" submodule update --recursive
+ WORKING_DIRECTORY \"${work_dir}/${src_name}\"
+ RESULT_VARIABLE error_code
+ )
+ if(error_code)
+ message(FATAL_ERROR \"Failed to update submodules in: '${work_dir}/${src_name}'\")
+ endif()
+endif()
+
+"
+)
+
+endfunction(_ep_write_gitupdate_script)
+
function(_ep_write_downloadfile_script script_filename remote local timeout hash tls_verify tls_cainfo)
if(timeout)
set(timeout_args TIMEOUT ${timeout})
@@ -886,7 +979,7 @@
set(sep ";")
endif()
endforeach()
- set(code "set(ENV{VS_UNICODE_OUTPUT} \"\")\n${code}set(command \"${cmd}\")${code_execute_process}")
+ set(code "${code}set(command \"${cmd}\")${code_execute_process}")
file(WRITE ${stamp_dir}/${name}-${step}-impl.cmake "${code}")
set(command ${CMAKE_COMMAND} "-Dmake=\${make}" "-Dconfig=\${config}" -P ${stamp_dir}/${name}-${step}-impl.cmake)
endif()
@@ -896,7 +989,6 @@
set(logbase ${stamp_dir}/${name}-${step})
file(WRITE ${script} "
${code_cygpath_make}
-set(ENV{VS_UNICODE_OUTPUT} \"\")
set(command \"${command}\")
execute_process(
COMMAND \${command}
@@ -1176,10 +1268,10 @@
get_filename_component(work_dir "${source_dir}" PATH)
set(comment "Performing download step (SVN checkout) for '${name}'")
set(svn_user_pw_args "")
- if(svn_username)
+ if(DEFINED svn_username)
set(svn_user_pw_args ${svn_user_pw_args} "--username=${svn_username}")
endif()
- if(svn_password)
+ if(DEFINED svn_password)
set(svn_user_pw_args ${svn_user_pw_args} "--password=${svn_password}")
endif()
if(svn_trust_cert)
@@ -1363,7 +1455,7 @@
function(_ep_add_update_command name)
- ExternalProject_Get_Property(${name} source_dir)
+ ExternalProject_Get_Property(${name} source_dir tmp_dir)
get_property(cmd_set TARGET ${name} PROPERTY _EP_UPDATE_COMMAND SET)
get_property(cmd TARGET ${name} PROPERTY _EP_UPDATE_COMMAND)
@@ -1398,10 +1490,10 @@
get_property(svn_password TARGET ${name} PROPERTY _EP_SVN_PASSWORD)
get_property(svn_trust_cert TARGET ${name} PROPERTY _EP_SVN_TRUST_CERT)
set(svn_user_pw_args "")
- if(svn_username)
+ if(DEFINED svn_username)
set(svn_user_pw_args ${svn_user_pw_args} "--username=${svn_username}")
endif()
- if(svn_password)
+ if(DEFINED svn_password)
set(svn_user_pw_args ${svn_user_pw_args} "--password=${svn_password}")
endif()
if(svn_trust_cert)
@@ -1415,15 +1507,15 @@
message(FATAL_ERROR "error: could not find git for fetch of ${name}")
endif()
set(work_dir ${source_dir})
- set(comment "Performing update step (git fetch) for '${name}'")
+ set(comment "Performing update step for '${name}'")
get_property(git_tag TARGET ${name} PROPERTY _EP_GIT_TAG)
if(NOT git_tag)
set(git_tag "master")
endif()
- set(cmd ${GIT_EXECUTABLE} fetch
- COMMAND ${GIT_EXECUTABLE} checkout ${git_tag}
- COMMAND ${GIT_EXECUTABLE} submodule update --recursive
+ _ep_write_gitupdate_script(${tmp_dir}/${name}-gitupdate.cmake
+ ${GIT_EXECUTABLE} ${git_tag} ${git_repository} ${work_dir}
)
+ set(cmd ${CMAKE_COMMAND} -P ${tmp_dir}/${name}-gitupdate.cmake)
set(always 1)
elseif(hg_repository)
if(NOT HG_EXECUTABLE)
@@ -1494,8 +1586,11 @@
set(file_deps)
get_property(deps TARGET ${name} PROPERTY _EP_DEPENDS)
foreach(dep IN LISTS deps)
- _ep_get_step_stampfile(${dep} "done" done_stamp_file)
- list(APPEND file_deps ${done_stamp_file})
+ get_property(is_ep TARGET ${dep} PROPERTY _EP_IS_EXTERNAL_PROJECT)
+ if(is_ep)
+ _ep_get_step_stampfile(${dep} "done" done_stamp_file)
+ list(APPEND file_deps ${done_stamp_file})
+ endif()
endforeach()
get_property(cmd_set TARGET ${name} PROPERTY _EP_CONFIGURE_COMMAND SET)
@@ -1521,16 +1616,27 @@
endif()
get_target_property(cmake_generator ${name} _EP_CMAKE_GENERATOR)
+ get_target_property(cmake_generator_toolset ${name} _EP_CMAKE_GENERATOR_TOOLSET)
if(cmake_generator)
- list(APPEND cmd "-G${cmake_generator}" "${source_dir}")
+ list(APPEND cmd "-G${cmake_generator}")
+ if(cmake_generator_toolset)
+ list(APPEND cmd "-T${cmake_generator_toolset}")
+ endif()
else()
if(CMAKE_EXTRA_GENERATOR)
- list(APPEND cmd "-G${CMAKE_EXTRA_GENERATOR} - ${CMAKE_GENERATOR}"
- "${source_dir}")
+ list(APPEND cmd "-G${CMAKE_EXTRA_GENERATOR} - ${CMAKE_GENERATOR}")
else()
- list(APPEND cmd "-G${CMAKE_GENERATOR}" "${source_dir}")
+ list(APPEND cmd "-G${CMAKE_GENERATOR}")
endif()
+ if(cmake_generator_toolset)
+ message(FATAL_ERROR "Option CMAKE_GENERATOR_TOOLSET not allowed without CMAKE_GENERATOR.")
+ endif()
+ if(CMAKE_GENERATOR_TOOLSET)
+ list(APPEND cmd "-T${CMAKE_GENERATOR_TOOLSET}")
+ endif()
endif()
+
+ list(APPEND cmd "${source_dir}")
endif()
# If anything about the configure command changes, (command itself, cmake
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-11 18:46:34
|
Revision: 12587
http://sourceforge.net/p/plplot/code/12587
Author: airwin
Date: 2013-10-11 18:46:29 +0000 (Fri, 11 Oct 2013)
Log Message:
-----------
Bump the minimum version of CMake to 2.8.12 for build_projects. That
version fixes the time stamp issue where the times are truncated to
the nearest lower second for the "cmake -E touch" command both on
Linux and Windows. Therefore I was also able to revert the previous
ExternalProject.cmake change where the "cmake -E touch" command was
replaced by the touch command. This reversion makes the local
ExternalProject.cmake file more consistent with the 2.8.10.2 version
of that file, i.e., the only differences left concern handling
of tar.xz tarballs.
Modified Paths:
--------------
trunk/cmake/build_projects/CMakeLists.txt
trunk/cmake/build_projects/ExternalProject.cmake
Modified: trunk/cmake/build_projects/CMakeLists.txt
===================================================================
--- trunk/cmake/build_projects/CMakeLists.txt 2013-10-11 05:14:45 UTC (rev 12586)
+++ trunk/cmake/build_projects/CMakeLists.txt 2013-10-11 18:46:29 UTC (rev 12587)
@@ -25,7 +25,7 @@
message(STATUS "CMAKE_GENERATOR = ${CMAKE_GENERATOR}")
message(STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}")
-cmake_minimum_required(VERSION 2.8.10.2 FATAL_ERROR)
+cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
set(EP_BASE ${CMAKE_BINARY_DIR}/build_projects)
message(STATUS "EP_BASE = ${EP_BASE}")
Modified: trunk/cmake/build_projects/ExternalProject.cmake
===================================================================
--- trunk/cmake/build_projects/ExternalProject.cmake 2013-10-11 05:14:45 UTC (rev 12586)
+++ trunk/cmake/build_projects/ExternalProject.cmake 2013-10-11 18:46:29 UTC (rev 12587)
@@ -1029,7 +1029,7 @@
set_property(SOURCE ${stamp_file} PROPERTY SYMBOLIC 1)
set(touch)
else()
- set(touch ${TOUCH_EXECUTABLE} ${stamp_file})
+ set(touch ${CMAKE_COMMAND} -E touch ${stamp_file})
endif()
# Wrap with log script?
@@ -1685,8 +1685,8 @@
OUTPUT ${complete_outputs}
COMMENT "Completed '${name}'"
COMMAND ${CMAKE_COMMAND} -E make_directory ${cmf_dir}${cfgdir}
- COMMAND ${TOUCH_EXECUTABLE} ${complete_stamp_file}
- COMMAND ${TOUCH_EXECUTABLE} ${done_stamp_file}
+ COMMAND ${CMAKE_COMMAND} -E touch ${complete_stamp_file}
+ COMMAND ${CMAKE_COMMAND} -E touch ${done_stamp_file}
DEPENDS ${install_stamp_file}
VERBATIM
)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-11 05:14:49
|
Revision: 12586
http://sourceforge.net/p/plplot/code/12586
Author: airwin
Date: 2013-10-11 05:14:45 +0000 (Fri, 11 Oct 2013)
Log Message:
-----------
Fix a typo (missing blank delimiter after the fourth quote) in the
string(REGEX REPLACE " " ";" PYQT_SIP_FLAGS "${PYQT_SIP_FLAGS}")
command. This issue was discovered by CMake-2.8.12. This should have
produced a wrong number of arguments error in the past for this
command but somehow did not so I think previous CMake versions
did not demand a blank after string to delimit the
next argument so all was well.
Anyhow, this issue did not appear to cause problems in the past for
our pyqt4 results, but nevertheless it is good to fix this issue.
Tested by Alan W. Irwin <ai...@us...> using
the test_pyqt4_example target.
Modified Paths:
--------------
trunk/cmake/modules/qt.cmake
Modified: trunk/cmake/modules/qt.cmake
===================================================================
--- trunk/cmake/modules/qt.cmake 2013-10-11 04:47:25 UTC (rev 12585)
+++ trunk/cmake/modules/qt.cmake 2013-10-11 05:14:45 UTC (rev 12586)
@@ -212,5 +212,5 @@
endif(PYQT_SIP_FLAGS_ERR)
# Must change from blank-delimited string to CMake list so that sip
# COMMAND will work properly with these flags later on.
- string(REGEX REPLACE " " ";"PYQT_SIP_FLAGS "${PYQT_SIP_FLAGS}")
+ string(REGEX REPLACE " " ";" PYQT_SIP_FLAGS "${PYQT_SIP_FLAGS}")
endif(ENABLE_pyqt4)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-11 04:47:27
|
Revision: 12585
http://sourceforge.net/p/plplot/code/12585
Author: airwin
Date: 2013-10-11 04:47:25 +0000 (Fri, 11 Oct 2013)
Log Message:
-----------
Fix a typo in the argument of an else command that was discovered by CMake-2.8.12. I
am pretty sure the arguments of else commands are generally ignored so
this typo did not cause any misbehaviour in the past, but nevertheless
it is good to fix this issue.
Modified Paths:
--------------
trunk/cmake/modules/pkg-config.cmake
Modified: trunk/cmake/modules/pkg-config.cmake
===================================================================
--- trunk/cmake/modules/pkg-config.cmake 2013-10-06 18:58:29 UTC (rev 12584)
+++ trunk/cmake/modules/pkg-config.cmake 2013-10-11 04:47:25 UTC (rev 12585)
@@ -175,7 +175,7 @@
if("${_link_flags_in}" STREQUAL "")
set(${_link_flags_out})
- else("${_link_flags_in}" STREQUAL ""})
+ else("${_link_flags_in}" STREQUAL "")
#message("(original link flags) = ${_link_flags_in}")
# Convert link flags to a list. Note some link flags are blank-delimited
# (such as "-framework whatever") so preserve those by splitting into
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-06 18:58:31
|
Revision: 12584
http://sourceforge.net/p/plplot/code/12584
Author: airwin
Date: 2013-10-06 18:58:29 +0000 (Sun, 06 Oct 2013)
Log Message:
-----------
Add a discussion concerning the compromise between comprehensiveness
and quality forced on users by the specific font approach adopted
by xelatex/fontspec (the tools we indirectly use to build the pdf form
of our UTF-8 documentation.)
Modified Paths:
--------------
trunk/doc/docbook/README.developers
Modified: trunk/doc/docbook/README.developers
===================================================================
--- trunk/doc/docbook/README.developers 2013-10-06 18:36:27 UTC (rev 12583)
+++ trunk/doc/docbook/README.developers 2013-10-06 18:58:29 UTC (rev 12584)
@@ -212,33 +212,38 @@
is you must use a specific rather than generic font for the sans,
serif, and mono cases. Specific fonts are never a good way to go for
documents containing different languages (such as the table of "Peace"
-words I recently introduced into advanced.xml) since no single font
-contains all needed glyphs for a multilanguage document. The most
-comprehensive fonts I am aware of in this regard are FreeSans,
-FreeSerif, and FreeMono fonts so those are what I have configured (in
-doc/docbook/src/dblatex_stylesheet.xsl) as the specific fonts to use
-for the PDF form of our documentation. Of course, these specific
-fonts are not completely comprehensive so the (inevitable) result is
-missing glyphs in the PDF results for the Korean and Mandarin cases.
+words I recently introduced into advanced.xml) since since the user is
+forced to compromise between font quality and comprehensiveness. For
+example, I have tried using the unifont font (which gives complete
+coverage of glyphs for the basic multilingual plane), and the
+resulting pdf form of our documentation has no missing glyphs.
+However, that font is of extremely poor quality (scaled,
+low-resolution bitmapped, monospaced fonts) which makes our
+documentation look ugly so I am not going to use it. Instead, I have
+chosen (via doc/docbook/src/dblatex_stylesheet.xsl) to use FreeSans,
+FreeSerif, and FreeMono fonts which have reasonable quality but which
+have some missing glyphs (notably CJK glyphs that leave our Korean and
+Mandarin "peace" words empty in the documentation).
The proper way to solve this issue (which would bring tex completely
into the modern unicode world) would be to modify fontspec so that
certain given font names are considered generic, (e.g., the
"sans-serif", "serif", and "mono-space" font names could be adopted
for this purpose to follow what is done in the SVG world). For those
-generic font names, the fontspec package should simply hand off font
-selection to fontconfig which does a very nice job of automatically
-selecting the ideal sans, serif, or mono system font to render a
-particular UTF-8 glyph. I have asked the fontspec maintainer about
-this potential feature two days before the current writing, but so far
-he has not replied. Therefore, it appears at this time there will be
-no quick fixes to fontspec with regard to automatic selection of fonts
-for the generic case, and we will be stuck for the foreseeable future
-with the specific font approach. Until the lack of generic font
-support in xelatex/fontspec is addressed there will inevitably be
-missing glyphs in our pdf results.
+generic font names, the idea is the fontspec package would simply hand
+off font selection to fontconfig which does a very nice job of
+automatically selecting the ideal sans, serif, or mono system font to
+provide a particular UTF-8 glyph. I have asked the fontspec
+maintainer about this potential feature several days before the
+current writing, but so far he has not replied. Therefore, it appears
+at this time there will be no quick fixes to xelatex/fontspec with
+regard to automatic selection of fonts for the generic case, and we
+will be stuck for the foreseeable future with the specific font
+approach. That approach forces a compromise between complete glyph
+coverage and reasonable quality. Thus, as a result of avoiding truly
+ugly fonts in our generated pdf documentation there are missing CJK
+glyphs in the results.
-
Installing the generated documentation (and the rest of the generated website) at plplot.sf.net
===============================================================================================
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-06 18:36:30
|
Revision: 12583
http://sourceforge.net/p/plplot/code/12583
Author: airwin
Date: 2013-10-06 18:36:27 +0000 (Sun, 06 Oct 2013)
Log Message:
-----------
Add dependency for dblatex_stylesheet.xsl to the pdf build.
Modified Paths:
--------------
trunk/doc/docbook/src/CMakeLists.txt
Modified: trunk/doc/docbook/src/CMakeLists.txt
===================================================================
--- trunk/doc/docbook/src/CMakeLists.txt 2013-10-05 23:29:44 UTC (rev 12582)
+++ trunk/doc/docbook/src/CMakeLists.txt 2013-10-06 18:36:27 UTC (rev 12583)
@@ -396,6 +396,7 @@
${SOURCE_FILES}
${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-print.xml
${CMAKE_CURRENT_SOURCE_DIR}/inline-print_xsl.ent
+ ${CMAKE_CURRENT_SOURCE_DIR}/dblatex_stylesheet.xsl
VERBATIM
)
add_custom_target(
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-05 23:29:47
|
Revision: 12582
http://sourceforge.net/p/plplot/code/12582
Author: airwin
Date: 2013-10-05 23:29:44 +0000 (Sat, 05 Oct 2013)
Log Message:
-----------
Update/simplify this documentation for developers who want
to build our documentation.
Modified Paths:
--------------
trunk/doc/docbook/README.developers
Modified: trunk/doc/docbook/README.developers
===================================================================
--- trunk/doc/docbook/README.developers 2013-10-05 19:51:48 UTC (rev 12581)
+++ trunk/doc/docbook/README.developers 2013-10-05 23:29:44 UTC (rev 12582)
@@ -12,7 +12,7 @@
(README.developers) instructions for building the documentation from the
DocBook source files in this directory. The documentation that is built
includes man pages of the API as well as complete versions of the
-documentation in HTML, dvi, PostScript, PDF, and info form.
+documentation in info, HTML, and PDF forms.
Configuring and Building
========================
@@ -24,12 +24,24 @@
Here is how. Simply add the cmake option -DBUILD_DOC=ON to your
normal cmake command-line options for the PLplot build. The resulting
cmake step looks for all the tools required for the documentation
-build and turns off the documentation build and gives WARNING messages
-if any of those required tools are missing. Furthermore, at run-time
-xmlto (used below) checks for required backend tools. So cmake
-messages with the -DBUILD_DOC=ON option _and_ run time messages from
-xmlto should be sufficient for you to figure out what DocBook/XML
-related tools you need to install in order to build the documentation.
+build and generates a WARNING message and turns off all or some
+component of the documentation build if any of those required tools
+are missing. Currently, the tools searched for by our build system
+are xmlto, dblatex, and xelatex. Furthermore, at run-time xmlto and
+dblatex (used below) automatically check for required tools, and
+dblatex checks for missing fonts when generating the pdf results.
+(Those required fonts are chosen by
+doc/docbook/source/dblatex_stylesheet.xsl and are currently FreeSans,
+FreeSerif, and FreeMono).
+
+In sum, cmake WARNING messages with the -DBUILD_DOC=ON option _and_
+run time messages from xmlto and dblatex should be sufficient for you
+to figure out what DocBook/XML related tools and fonts you need to
+install in order to build the documentation. As far as we know
+installation of the xmlto, dblatex, xelatex tools and the FreeSans,
+FreeSerif, and FreeMono fonts should be sufficient, but if not, run-time
+warnings should be generated.
+
N.B. As far as we know, the complete set of required tools is only
available on Linux so you will need a Linux system to do a
documentation build.
@@ -60,103 +72,22 @@
db2x_xsltproc limitations. db2x_xsltproc and db2x_texixml are from
the docbook2x package.
-3. Our HTML and print(dvi, PostScript, and PDF) results are all generated
-with xmlto using respectively no special options and the html subcommand,
-the experimental --with-dblatex option and dvi subcommand, and
-the experiemtnal --with-fop option and the ps and pdf subcommands.
+3. Our HTML results are generated with xmlto and configured at run
+time with a CSS stylesheet, see doc/docbook/src/stylesheet.css.xsl.in.
+The xmlto application is actually a convenience script that uses
+XML/XSL to generate the HTML results as opposed to the previous
+SGML/DSSSL approach used to create the HTML results for plplot-5.9.9
+and previous.
-N.B. for the dvi results to work as of this date (2013-08) it is
-necessary to apply the dblatex patch given at
-http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720624
+4. Our PDF results are generated with "dblatex --backend=xetex" using
+a combination of XML/XSL and xelatex to generate the PDF results (in
+contrast to the SGML/DSSL tools used for that job for plplot-5.9.9 and
+previous, and the XML/XSL "xmlto --with-fop" method used with
+PLplot-5.9.10 to do that job.
-The backend tools that the xmlto convenience script selects are
-all XML/XSL as opposed to the previous set of SGML/DSSSL backend
-tools used to create the HTML and print results. For more information
-see "Further notes on the backend tools" below.
+5. Generation of dvi and PostScript forms of our documentation is
+no longer available.
-
-Further notes on the backend tools
-==================================
-
-Note from AWI on the project he just completed (as of 2013-08) to use
-xmlto (a shell script that gives convenient access to a wide variety
-of XML/XSL DocBook backend tools) as the DocBook backend generator for
-HTML and print (dvi, PostScript, and PDF) forms of our documentation.
-(The man and info forms of our documentation are already prepared
-using XML/XSL DocBook backend tools.)
-
-One immediate advantage of xmlto is that it detects
-(at run time) whether all the software components it needs are installed
-so this substantantially reduces the testing for DocBook backend components
-required of our build system.
-
-The use of the old/deprecated SGML/DSSSL backend tools for HTML and
-print are still available (as of 2013-08) if the developer
-specifies the PLplot cmake option -DDOCBOOK_XML_BACKEND=OFF along with
--DBUILD_DOC=ON. However, the HTML results from that option are not
-very good (the Greek characters in the table giving Roman-Greek
-equivalents are gibberish) presumably because bit-rot has set in for
-the SGML/DSSSL tools in the decade since there has been any upstream
-development for those tools. So at the start of the next release
-cycle the plan is to drop use of the SGML/DSSSL backend tools
-altogether.
-
-The only limitation of the current xmlto backend results that I am
-aware of is the representation of S̅(f̲r̲e̲q̲) is not done very well in
-HTML (an empty string is used rather than S̅(f̲r̲e̲q̲)) or the print
-results (S(freq) is used rather S̅(f̲r̲e̲q̲)). Note that overlining and
-underlining do not work at all for modern PLplot device drivers such
-as cairo and qt so a much higher priority should be given to fixing
-those issues rather than fixing the issue of representing overlining
-and underlining in the generation of the documentation! Furthermore,
-instead of using special tricks for dealing with the representation of
-overlining/underlining (as was done for the SGML/DSSSL backend tools),
-the correct thing to do in the long term (i.e., after the use of
-SGML/DSSSL backend tools is completely removed since SGML is not
-compatible with UTF-8) is to make the tool chain used to convert our
-DocBook documentation to various formats completely UTF-8 aware so
-that, for example, UTF-8 glyphs for underlining overlining as well
-as UTF-8 strings such as occur in our unicode examples
-23, 24, and 26 could be included directly in the DocBook source of
-our documentation.
-
-As if this date (2013-08) it appears to me the best UTF-8 way forward
-for html is the current html method (which should be transparent
-to UTF-8 strings although I haven't tested that in detail with
-truly exotic UTF-8 strings). And the best UTF-8 way forward for
-print results is the experimental --backend=xetex option for the
-dblatex command.
-
-To demonstrate the UTF-8 power of xelatex try the xelatex command on
-the example given at http://en.wikipedia.org/wiki/XeTeX. All those
-non-Western glyphs _and_ scripts seem to come out fine in the
-resulting pdf and conversion to an equivalent PostScript result with
-pdf2ps seemed to preserve all those glyph and script results as well.
-Furthermore, I recently tried
-
-dblatex --backend=xetex -o plplotdoc.xetex.pdf --pdf plplotdoc-print.xml
-
-and the resulting plplotdoc.xetex.pdf document looked good (both Greek
-table and function API) with the default style. Although currently
-unnecessary from my perspective, it looks like the dblatex -p option
-is what you should use to style such results further if anyone feels
-the need. (Note that the --backend=xetex dblatex option is not
-accessible from the xmlto --with-dblatex command.)
-
-The only drawback of this xetex approach that I can determine at the
-present time is you can only produce PDF with it. PostScript could
-then be generated using pdf2ps, but there is absolutely no way to
-produce dvi results using xelatex or the --backend=xetex option for
-the dblatex command. So if we do start inserting general UTF-8
-strings into our DocBook source (say a table of Math symbols or
-comments concerning our multilingual Peace flag example), we would
-have to complete drop dvi, but I think that is an acceptable price to
-pay for the huge range of glyphs that are available with UTF-8. So I
-believe that dropping dvi and moving to the above command to generate
-our PDF documentation is something we should consider for the near
-future (when the possibility of using of the SGML backend tools is
-completely removed from our build system).
-
Validation
==========
@@ -187,12 +118,18 @@
Testing the documentation that has been built.
==============================================
-All tests are performed in the doc/dockbook/src subdirectory _of the build
-tree_. The given test commands are for the bash shell, and $version is
-currently 5.9.0. There are no known DocBook back-end issues revealed by the
-following tests.
+All tests are performed in the doc/dockbook/src subdirectory _of the
+build tree_. The given test commands are for the bash shell, and
+$version is currently 5.9.10. For the man pages, look carefully at
+the style of the results. For the rest, look carefully at the style
+of the api chapter and the style/results near Table-3.4 in the
+advanced chapter. In particular look at how the following examples
+render: the overline-underline example just prior to Table-3.4,
+Table-3.4 of Greek symbols, Table-3.5 of the "Peace" word expressed in
+various languages, and the mathematical symbols occurring in the
+paragraph just after Table-3.5.
-1. man pages.
+1. man pages.
(for MANPAGE in *.3plplot; do nroff -man $MANPAGE ; done) |less
@@ -202,25 +139,108 @@
3. web pages.
-Browse with your favorite browser the index.html file within the current src
-directory. konqueror and mozilla/firefox/iceweasel give good looking
-results including the Greek letters in Table 3-4.
+Browse with your favorite browser the index.html file that is generated
+by xmlto.
-4. dvi file
+4. pdf file
-xdvi plplot-$version.dvi
+Browse with your favorite browser the plplot-$version.pdf file that
+is generated by dblatex.
-5. PostScript file
+UTF-8 limitations of the current set of backend tools
+=====================================================
-gv plplot-$version.ps.gz
+The above set of DocBook backend tools has been chosen with the goal
+of allowing essentially arbitrary UTF-8 strings into our DocBook
+source. And the advanced.xml part of our DocBook source constitutes a
+simple test of how close we have come to that goal by including the
+"Peace" word in all the human languages expressed in example 24 and by
+also including some UTF-8 forms of math symbols. Here are the current
+results for how well those UTF-8 strings render for our various
+backends.
-6. pdf file
+Man pages.
-xpdf plplot-$version.pdf
+These results are not affected since the man pages ignore the advanced
+chapter, and the api.xml file currently contains only the ascii
+subset of UTF-8.
-Installing the generated documentation (and the rest of the
-generated website) at plplot.sf.net
-===========================================================
+Info files.
+These results are reasonably good. All math glyphs and all but the
+glyphs occurring in the Korean, Hindi, and Mandarin "Peace" words are
+rendered correctly. That's exactly the same set of missing glyphs
+that occurs when I use "less" on advanced.xml so it is possible some
+configuration adjustment for the non-GUI component of my system will
+fix the missing glyphs that occur both for the info form of our
+documentation and when using "less".
+
+HTML results.
+
+These are outstanding results with no issues that we are aware of.
+All math glyphs and all the glyphs occurring in the set of "Peace"
+words render without issues including the CTL languages like Hebrew,
+Arabic, and Hindi.
+
+PDF results.
+
+These results are reasonably good. All math glyphs and all but the
+glyphs occurring in the Korean and Mandarin "Peace" words are present.
+I attribute the missing glyph issues to missing Korean and Mandarin
+glyphs in the chosen FreeSans, FreeSerif, and FreeMono fonts (more
+about that choice below). The order of the glyphs in the Hindi Peace
+word is not correct (last two glyphs switched) which is a common
+complex text layout (CTL) issue when using unsophisticated software to
+render Hindi. However, the the Peace word is laid out in the correct
+(right-to-left) order for Arabic and Hebrew so there is some CTL
+sophistication in the xelatex layout engine, and probably hope that
+further layout issues such as the one for Hindi will be fixed.
+
+More on the reason for the missing PDF glyphs.
+
+It was a huge step forward in the tex world for the combination of
+xelatex and the fontspec tex package to make a very large number of
+UTF-8 glyphs potentially available in pdf results. So I think the
+above method of using dblatex with the xetex backend (which uses
+xelatex and fontspec internally) is the best we can do to generate the
+pdf form of our documentation as free as possible from unicode issues.
+For example, the situation is much improved over the previous xmlto
+method which severely limited the glyphs in the PDF form of our
+results.
+
+However, the fontspec package still has a fundamental limitation which
+is you must use a specific rather than generic font for the sans,
+serif, and mono cases. Specific fonts are never a good way to go for
+documents containing different languages (such as the table of "Peace"
+words I recently introduced into advanced.xml) since no single font
+contains all needed glyphs for a multilanguage document. The most
+comprehensive fonts I am aware of in this regard are FreeSans,
+FreeSerif, and FreeMono fonts so those are what I have configured (in
+doc/docbook/src/dblatex_stylesheet.xsl) as the specific fonts to use
+for the PDF form of our documentation. Of course, these specific
+fonts are not completely comprehensive so the (inevitable) result is
+missing glyphs in the PDF results for the Korean and Mandarin cases.
+
+The proper way to solve this issue (which would bring tex completely
+into the modern unicode world) would be to modify fontspec so that
+certain given font names are considered generic, (e.g., the
+"sans-serif", "serif", and "mono-space" font names could be adopted
+for this purpose to follow what is done in the SVG world). For those
+generic font names, the fontspec package should simply hand off font
+selection to fontconfig which does a very nice job of automatically
+selecting the ideal sans, serif, or mono system font to render a
+particular UTF-8 glyph. I have asked the fontspec maintainer about
+this potential feature two days before the current writing, but so far
+he has not replied. Therefore, it appears at this time there will be
+no quick fixes to fontspec with regard to automatic selection of fonts
+for the generic case, and we will be stuck for the foreseeable future
+with the specific font approach. Until the lack of generic font
+support in xelatex/fontspec is addressed there will inevitably be
+missing glyphs in our pdf results.
+
+
+Installing the generated documentation (and the rest of the generated website) at plplot.sf.net
+===============================================================================================
+
Follow the directions in README.Release_Manager_Cookbook. That file is
located in the top-level source tree.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-05 19:51:51
|
Revision: 12581
http://sourceforge.net/p/plplot/code/12581
Author: airwin
Date: 2013-10-05 19:51:48 +0000 (Sat, 05 Oct 2013)
Log Message:
-----------
Make DOCBOOK_XML_BACKEND ON mandatory rather than an option.
This change effectively disables the old SGML/DSSSL backend tools that
were deprecated but still available for 5.9.10 and which were the
default for releases prior to 5.9.10.
Modified Paths:
--------------
trunk/cmake/modules/docbook.cmake
Modified: trunk/cmake/modules/docbook.cmake
===================================================================
--- trunk/cmake/modules/docbook.cmake 2013-10-05 19:38:25 UTC (rev 12580)
+++ trunk/cmake/modules/docbook.cmake 2013-10-05 19:51:48 UTC (rev 12581)
@@ -68,8 +68,15 @@
# This option is used for the BUILD_DOC case below and elsewhere and also
# for the PREBUILT_DOC case elsewhere (when stylesheet.css is configured).
-option(DOCBOOK_XML_BACKEND "Use DocBook XML/XSLT backend tools to generate our documentation from DocBook source" ON)
+# option(DOCBOOK_XML_BACKEND "Use DocBook XML/XSLT backend tools to generate our documentation from DocBook source" ON)
+# N.B., DOCBOOK_XML_BACKEND ON is mandatory now rather than an option
+# which effectively disables the old SGML/DSSSL backend tools that
+# were deprecated but still available for 5.9.10 and which were the
+# default for releases prior to 5.9.10.
+set(DOCBOOK_XML_BACKEND ON CACHE BOOL "" FORCE)
+
+
# Check for required programs and perl libraries.
if(BUILD_DOC)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-05 19:38:29
|
Revision: 12580
http://sourceforge.net/p/plplot/code/12580
Author: airwin
Date: 2013-10-05 19:38:25 +0000 (Sat, 05 Oct 2013)
Log Message:
-----------
Add some explanatory text concerning UTF-8 encoded input strings. This
explanation includes a wide variety of UTF-8 glyphs (all the "peace"
words in Example 24 and a number of mathematical symbols). Thus, this
additional explanatory text is also a good test of how our
documentation build system handles UTF-8 glyphs in general.
Tested by Alan W. Irwin <ai...@us...> for
-DBUILD_DOC=ON and the following targets:
man (results not affected since the man pages ignore the advanced
chapter.)
info (good results; all math glyphs and all but the glyphs occurring
in the Korean, Hindi, and Mandarin "peace" words came through fine.
That's exactly the same set of missing glyphs that occurs when I use
"less" on advanced.xml so it is possible some configuration adjustment
for my system will fix the missing glyphs that occur both for the info
form of our documentation and when using "less".)
html (outstanding results; all math glyphs and all the glyphs occurring
in the set of "peace" words render without issues including the CTL
languages like Hebrew, Arabic, and Hindi.)
pdf (good results; all math glyphs and all but the glyphs occurring in
the Korean and Mandarin "peace" words come through fine. I attribute
these issues to missing Korean and Mandarin glyphs in the chosen
FreeSans, FreeSerif, and FreeMono fonts. The order of the glyphs in
the Hindi peace word is not correct (last two glyphs switched) which
is a common complex text layout (CTL) issue when using unsophisticated
software to render Hindi. More comments on these PDF results are
forthcoming on the plplot-devel list.)
Modified Paths:
--------------
trunk/doc/docbook/src/advanced.xml
Modified: trunk/doc/docbook/src/advanced.xml
===================================================================
--- trunk/doc/docbook/src/advanced.xml 2013-10-05 19:00:37 UTC (rev 12579)
+++ trunk/doc/docbook/src/advanced.xml 2013-10-05 19:38:25 UTC (rev 12580)
@@ -2106,7 +2106,7 @@
<para>
Sections of text can have an underline or overline appended. For
- example, the string &over-under; is obtained by specifying
+ example, the string S̅(f̲r̲e̲q̲) is obtained by specifying
<literal>"#+S#+(#-freq#-)"</literal>.
</para>
@@ -2274,6 +2274,85 @@
STRING/></literal> as appropriate.
</para>
+ <para>
+ It should be emphasized that the unicode escape sequences
+ above only work properly for modern unicode-aware devices such as the
+ svg device or the very large set of cairo and qt devices. And for
+ those devices the alternative of simply specifying the unicode symbols
+ using UTF-8 encoding of PLplot input strings is much more convenient
+ for users than using the above escape sequences. For example, we
+ use UTF-8 strings rather than escape sequences in example 24
+ to render the word "Peace" in several different languages.
+ </para>
+
+ <table frame="all" id="peace">
+ <title>The word "peace" expressed in several different languages in example 24 using UTF-8</title>
+ <tgroup align="center" cols="2">
+ <colspec align="center" colnum="1" colwidth="2*"/>
+ <tbody valign="top">
+ <row>
+ <entry>Hebrew</entry>
+ <entry>שלום</entry>
+ </row>
+ <row>
+ <entry>French</entry>
+ <entry>Paix</entry>
+ </row>
+ <row>
+ <entry>Kurdish</entry>
+ <entry>Hasîtî</entry>
+ </row>
+ <row>
+ <entry>English</entry>
+ <entry>Peace</entry>
+ </row>
+ <row>
+ <entry>Korean</entry>
+ <entry>평화</entry>
+ </row>
+ <row>
+ <entry>Turkish</entry>
+ <entry>Barış</entry>
+ </row>
+ <row>
+ <entry>Hindi</entry>
+ <entry>शांति</entry>
+ </row>
+ <row>
+ <entry>German</entry>
+ <entry>Friede</entry>
+ </row>
+ <row>
+ <entry>Arabic</entry>
+ <entry>ﺳﻼم</entry>
+ </row>
+ <row>
+ <entry>Mandarin</entry>
+ <entry>和平</entry>
+ </row>
+ <row>
+ <entry>Russian</entry>
+ <entry>Мир</entry>
+ </row>
+ <row>
+ <entry>Spanish</entry>
+ <entry>Paz</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>
+ For unicode-aware devices it is possible as well to specify
+ mathematical glyphs (such as ∂, ∇, ∑, ∫, and ∰) using UTF-8 encoding
+ of PLplot input strings. A typical input method in this case is
+ simply to cut and paste the desired mathematical glyph from, e.g.,
+ gucharmap to source code being edited by a unicode-aware editor such
+ as emacs. Such input methods may be conveniently used, for example,
+ to specify the very wide range of mathematical symbols that are
+ typically desired for scentific plots.
+ </para>
+
</sect2>
<sect2 id="character-size">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-05 19:00:40
|
Revision: 12579
http://sourceforge.net/p/plplot/code/12579
Author: airwin
Date: 2013-10-05 19:00:37 +0000 (Sat, 05 Oct 2013)
Log Message:
-----------
Use a dblatex stylesheet to set the FreeSans, FreeSerif, and
FreeMono fonts as the default for the PDF DocBook result.
These rather comprehensive fonts (in fact the most
comprehensive that I am aware of) allow a rather wide range
of unicode glyphs in the DocBook source to be correctly
rendered in the pdf results.
Modified Paths:
--------------
trunk/doc/docbook/src/CMakeLists.txt
Added Paths:
-----------
trunk/doc/docbook/src/dblatex_stylesheet.xsl
Modified: trunk/doc/docbook/src/CMakeLists.txt
===================================================================
--- trunk/doc/docbook/src/CMakeLists.txt 2013-10-05 12:06:48 UTC (rev 12578)
+++ trunk/doc/docbook/src/CMakeLists.txt 2013-10-05 19:00:37 UTC (rev 12579)
@@ -391,7 +391,7 @@
if(DOCBOOK_DBLATEX_BACKEND)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.pdf
- COMMAND ${DBLATEX} --verbose --backend=xetex --type=pdf -o ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.pdf ${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-print.xml
+ COMMAND ${DBLATEX} --xsl-user=${CMAKE_CURRENT_SOURCE_DIR}/dblatex_stylesheet.xsl --backend=xetex --type=pdf -o ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.pdf ${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-print.xml
DEPENDS
${SOURCE_FILES}
${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-print.xml
Added: trunk/doc/docbook/src/dblatex_stylesheet.xsl
===================================================================
--- trunk/doc/docbook/src/dblatex_stylesheet.xsl (rev 0)
+++ trunk/doc/docbook/src/dblatex_stylesheet.xsl 2013-10-05 19:00:37 UTC (rev 12579)
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
+ <xsl:param name="xetex.font">
+ <xsl:text>\setmainfont{FreeSerif}
+ </xsl:text>
+ <xsl:text>\setsansfont{FreeSans}
+ </xsl:text>
+ <xsl:text>\setmonofont{FreeMono}
+ </xsl:text>
+ </xsl:param>
+</xsl:stylesheet>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-05 12:06:52
|
Revision: 12578
http://sourceforge.net/p/plplot/code/12578
Author: airwin
Date: 2013-10-05 12:06:48 +0000 (Sat, 05 Oct 2013)
Log Message:
-----------
Implement new "dblatex --backend=xetex" method for generating pdf form
of DocBook documentation by default. (The older xmlto method is
still available using -DDOCBOOK_DBLATEX_BACKEND=OFF).
The (big) advantage of this new method compared to the previous xmlto
method of generating the pdf form of our documentation is it allows a
wide range of UTF-8 glyphs in the DocBook source.
So if the default fonts selected for the xelatex step in the procedure
are comprehensive (such as FreeSans, FreeSerif, and
FreeMono) a very wide range of UTF-8 glyphs can be rendered properly
in our print documentation.
The disadvantage of this method compared to the previous xmlto
procedure is that PostScript results can only be generated using
pdf2ps. I have implemented that method but then disabled that part of
the code because the result is literally 50 times larger than the pdf
form of our documentation, takes a very long time to generate, takes a
long time to view, and produces rather ugly results.
ToDo: move from the present rather limited defaults fonts to FreeSans,
FreeSerif, and FreeMono.
Modified Paths:
--------------
trunk/cmake/modules/docbook.cmake
trunk/doc/docbook/src/CMakeLists.txt
Modified: trunk/cmake/modules/docbook.cmake
===================================================================
--- trunk/cmake/modules/docbook.cmake 2013-10-04 21:43:12 UTC (rev 12577)
+++ trunk/cmake/modules/docbook.cmake 2013-10-05 12:06:48 UTC (rev 12578)
@@ -68,7 +68,7 @@
# This option is used for the BUILD_DOC case below and elsewhere and also
# for the PREBUILT_DOC case elsewhere (when stylesheet.css is configured).
-option(DOCBOOK_XML_BACKEND "Use DocBook XML/XSLT backend tools to generate our documentation from DocBook source" YES)
+option(DOCBOOK_XML_BACKEND "Use DocBook XML/XSLT backend tools to generate our documentation from DocBook source" ON)
# Check for required programs and perl libraries.
if(BUILD_DOC)
@@ -110,40 +110,79 @@
endif(PERL_FOUND AND PERL_XML_PARSER AND PERL_XML_DOM)
if(DOCBOOK_XML_BACKEND)
- # For this case only use xmlto. That tool does its own warnings at
- # run time when components are missing so don't bother with looking
- # for missing components at cmake time.
+
+ # For this case never build dvi form of documentation.
+ set(BUILD_DVI OFF CACHE BOOL "Build dvi form of documentation" FORCE)
+
+ # For this case use xmlto for just html
+ # (DOCBOOK_DBLATEX_BACKEND=ON) or both html and print
+ # (DOCBOOK_DBLATEX_BACKEND=OFF). The xml tool does its own
+ # warnings at run time when components are missing so don't bother
+ # with looking for missing components at cmake time.
find_program(XMLTO xmlto)
if(NOT XMLTO)
message(STATUS "WARNING: xmlto not found")
endif(NOT XMLTO)
- find_program(GZIP gzip)
- if(NOT GZIP)
- message(STATUS "WARNING: gzip not found")
- endif(NOT GZIP)
if(XMLTO)
set(BUILD_HTML ON)
- if(GZIP)
- set(BUILD_PRINT ON)
- set(BUILD_DVI OFF CACHE BOOL "Build dvi form of documentation" FORCE)
- else(GZIP)
- set(BUILD_PRINT OFF)
- message(STATUS
- "WARNING: Not building print documentation - "
- "gzip is not installed"
- )
- endif(GZIP)
else(XMLTO)
- set(BUILD_HTML OFF)
- set(BUILD_PRINT OFF)
message(STATUS
- "WARNING: Not building html or print documentation - "
- "xmlto script is not installed"
+ "WARNING: xmlto script is not installed so not building html documentation"
)
+ set(BUILD_HTML OFF)
endif(XMLTO)
+ # Deal with configuration of build of print documentation.
+ # For this case never build dvi form of print documentation.
+ set(BUILD_DVI OFF CACHE BOOL "Build dvi form of documentation" FORCE)
+
+ find_program(GZIP gzip)
+ if(GZIP)
+ set(BUILD_PRINT ON)
+ else(GZIP)
+ message(STATUS "WARNING: gzip not found so not building print documentation")
+ set(BUILD_PRINT OFF)
+ endif(GZIP)
+
+ if(BUILD_PRINT)
+ option(DOCBOOK_DBLATEX_BACKEND "Use \"dblatex --backend=xetex\" XML/XSLT backend tool to generate our print documentation from DocBook source" ON)
+
+ if(DOCBOOK_DBLATEX_BACKEND)
+ find_program(DBLATEX dblatex)
+ if(NOT DBLATEX)
+ message(STATUS "WARNING: dblatex not found so not building print documentation")
+ set(BUILD_PRINT OFF)
+ endif(NOT DBLATEX)
+
+ if(BUILD_PRINT)
+ # Note that the "dblatex --backend=xetex" command must have
+ # some sort of xetex or xelatex python dependency. I
+ # haven't tracked down those details, but it is likely that
+ # the xelatex is called as part of that processing (or if
+ # not some dependency of xelatex is called) so if xelatex is
+ # present it is likely that "dblatex --backend=xetex" will
+ # work.
+ find_program(XELATEX xelatex)
+ if(NOT XELATEX)
+ message(STATUS "WARNING: xelatex not found so not building print documentation")
+ set(BUILD_PRINT OFF)
+ endif(NOT XELATEX)
+ endif(BUILD_PRINT)
+
+ if(BUILD_PRINT)
+ # Need pdf2ps to provide PostScript from the PDF results.
+ find_program(PDF2PS pdf2ps)
+ if(NOT PDF2PS)
+ message(STATUS "WARNING: pdf2ps not found so not building print documentation")
+ set(BUILD_PRINT OFF)
+ endif(NOT PDF2PS)
+ endif(BUILD_PRINT)
+
+ endif(DOCBOOK_DBLATEX_BACKEND)
+ endif(BUILD_PRINT)
+
else(DOCBOOK_XML_BACKEND)
# Deprecated SGML/DSSSL backends to generate html and print documentation.
Modified: trunk/doc/docbook/src/CMakeLists.txt
===================================================================
--- trunk/doc/docbook/src/CMakeLists.txt 2013-10-04 21:43:12 UTC (rev 12577)
+++ trunk/doc/docbook/src/CMakeLists.txt 2013-10-05 12:06:48 UTC (rev 12578)
@@ -350,7 +350,7 @@
)
if(BUILD_PRINT)
- # Custom commands for building html version of documentation
+ # Custom commands for building print version of documentation
set(STYLESHEET_PRINT ${PLPLOTDOC}-print.xsl)
set(STYLESHEET_PRINT_IN ${STYLESHEET_PRINT}.in)
configure_file(
@@ -383,75 +383,131 @@
docbook_plplot-symbols_txt
docbook_plplot-structs_txt
)
-
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/static_built_files
+ "${BASE}.dvi\n"
+ )
endif(BUILD_DVI)
- file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/static_built_files
- "${BASE}.ps.gz\n"
- )
+ if(DOCBOOK_DBLATEX_BACKEND)
+ add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.pdf
+ COMMAND ${DBLATEX} --verbose --backend=xetex --type=pdf -o ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.pdf ${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-print.xml
+ DEPENDS
+ ${SOURCE_FILES}
+ ${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-print.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/inline-print_xsl.ent
+ VERBATIM
+ )
+ add_custom_target(
+ pdf_target ALL
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.pdf
+ )
+ # These files used for more than one target. Therefore must
+ # use target dependencies rather than file dependencies to build
+ # them. Otherwise, parallel builds won't work.
+ add_dependencies(pdf_target
+ docbook_plplot-symbols_txt
+ docbook_plplot-structs_txt
+ )
- add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.ps.gz
- # xmlto --with-fop is currently (at least on Debian) craps out
- # if DESTDIR is specified so make sure it is NOT specified.
- COMMAND env DESTDIR= ${XMLTO} -vv --with-fop -x ${CMAKE_CURRENT_BINARY_DIR}/${STYLESHEET_PRINT} ps ${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-print.xml
- COMMAND ${CMAKE_COMMAND} -E rename ${CMAKE_CURRENT_BINARY_DIR}/plplotdoc-print.ps ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.ps
- COMMAND ${GZIP} -f ${BASE}.ps
- DEPENDS
- ${SOURCE_FILES}
- ${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-print.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/inline-print_xsl.ent
- VERBATIM
- )
- add_custom_target(
- ps_target ALL
- DEPENDS
- ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.ps.gz
- )
- # These files used for more than one target. Therefore must
- # use target dependencies rather than file dependencies to build
- # them. Otherwise, parallel builds won't work.
- add_dependencies(ps_target
- docbook_plplot-symbols_txt
- docbook_plplot-structs_txt
- )
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/static_built_files
+ "${BASE}.pdf\n"
+ )
- file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/static_built_files
- "${BASE}.ps.gz\n"
- )
+ add_custom_target(
+ print ALL
+ )
+ add_dependencies(print pdf_target)
- add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.pdf
- # xmlto --with-fop is currently (at least on Debian) craps out
- # if DESTDIR is specified so make sure it is NOT specified.
- COMMAND env DESTDIR= ${XMLTO} -vv --with-fop -x ${CMAKE_CURRENT_BINARY_DIR}/${STYLESHEET_PRINT} pdf ${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-print.xml
- COMMAND ${CMAKE_COMMAND} -E rename ${CMAKE_CURRENT_BINARY_DIR}/plplotdoc-print.pdf ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.pdf
- DEPENDS
- ${SOURCE_FILES}
- ${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-print.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/inline-print_xsl.ent
- VERBATIM
- )
- add_custom_target(
- pdf_target ALL
- DEPENDS
- ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.pdf
- )
- # These files used for more than one target. Therefore must
- # use target dependencies rather than file dependencies to build
- # them. Otherwise, parallel builds won't work.
- add_dependencies(pdf_target
- docbook_plplot-symbols_txt
- docbook_plplot-structs_txt
- )
+ # Disable this because the result is big (50 (!) times larger
+ # than corresponding pdf), takes a long time to generate, and
+ # is really ugly looking.
+ if(0)
+ add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.ps.gz
+ COMMAND ${PDF2PS} -dLanguageLevel=3 ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.pdf ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.ps
+ COMMAND ${GZIP} -f ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.ps
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.pdf
+ )
+
+ add_custom_target(
+ ps_target ALL
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.ps.gz
+ )
+ add_dependencies(ps_target pdf_target)
+ add_dependencies(print ps_target)
+
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/static_built_files
+ "${BASE}.ps.gz\n"
+ )
+ endif(0)
+ else(DOCBOOK_DBLATEX_BACKEND)
+ add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.ps.gz
+ # xmlto --with-fop is currently (at least on Debian) craps out
+ # if DESTDIR is specified so make sure it is NOT specified.
+ COMMAND env DESTDIR= ${XMLTO} -vv --with-fop -x ${CMAKE_CURRENT_BINARY_DIR}/${STYLESHEET_PRINT} ps ${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-print.xml
+ COMMAND ${CMAKE_COMMAND} -E rename ${CMAKE_CURRENT_BINARY_DIR}/plplotdoc-print.ps ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.ps
+ COMMAND ${GZIP} -f ${BASE}.ps
+ DEPENDS
+ ${SOURCE_FILES}
+ ${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-print.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/inline-print_xsl.ent
+ VERBATIM
+ )
+ add_custom_target(
+ ps_target ALL
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.ps.gz
+ )
+ # These files used for more than one target. Therefore must
+ # use target dependencies rather than file dependencies to build
+ # them. Otherwise, parallel builds won't work.
+ add_dependencies(ps_target
+ docbook_plplot-symbols_txt
+ docbook_plplot-structs_txt
+ )
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/static_built_files
+ "${BASE}.ps.gz\n"
+ )
- file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/static_built_files
- "${BASE}.pdf\n"
- )
- add_custom_target(
- print ALL
- )
- add_dependencies(print ps_target pdf_target)
+ add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.pdf
+ # xmlto --with-fop is currently (at least on Debian) craps out
+ # if DESTDIR is specified so make sure it is NOT specified.
+ COMMAND env DESTDIR= ${XMLTO} -vv --with-fop -x ${CMAKE_CURRENT_BINARY_DIR}/${STYLESHEET_PRINT} pdf ${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-print.xml
+ COMMAND ${CMAKE_COMMAND} -E rename ${CMAKE_CURRENT_BINARY_DIR}/plplotdoc-print.pdf ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.pdf
+ DEPENDS
+ ${SOURCE_FILES}
+ ${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-print.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/inline-print_xsl.ent
+ VERBATIM
+ )
+ add_custom_target(
+ pdf_target ALL
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/${BASE}.pdf
+ )
+ # These files used for more than one target. Therefore must
+ # use target dependencies rather than file dependencies to build
+ # them. Otherwise, parallel builds won't work.
+ add_dependencies(pdf_target
+ docbook_plplot-symbols_txt
+ docbook_plplot-structs_txt
+ )
+
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/static_built_files
+ "${BASE}.pdf\n"
+ )
+
+ add_custom_target(
+ print ALL
+ )
+ add_dependencies(print ps_target pdf_target)
+ endif(DOCBOOK_DBLATEX_BACKEND)
+
if(BUILD_DVI)
add_dependencies(print dvi_target)
endif(BUILD_DVI)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-10-04 21:43:15
|
Revision: 12577
http://sourceforge.net/p/plplot/code/12577
Author: andrewross
Date: 2013-10-04 21:43:12 +0000 (Fri, 04 Oct 2013)
Log Message:
-----------
Implement support for underlining ("#-" escape code) in cairo driver, and warn that overline and backchar are not supported.
Modified Paths:
--------------
trunk/drivers/cairo.c
trunk/include/plplot.h
trunk/src/plcore.c
Modified: trunk/drivers/cairo.c
===================================================================
--- trunk/drivers/cairo.c 2013-10-03 21:51:23 UTC (rev 12576)
+++ trunk/drivers/cairo.c 2013-10-04 21:43:12 UTC (rev 12577)
@@ -108,6 +108,7 @@
char *pangoMarkupString;
short upDown;
float fontSize;
+ short uline;
// These are arguments for plP_script_scale which must be retained
// in aStream for the alt_unicode approach. level has an
@@ -648,6 +649,7 @@
aStream = (PLCairo *) pls->dev;
aStream->upDown = 0;
+ aStream->uline = 0;
aStream->level = 0;
aStream->pangoMarkupString = (char *) malloc( sizeof ( char ) * MAX_MARKUP_LEN );
// Calculate the font size (in points since DPI = 72).
@@ -742,6 +744,23 @@
}
aStream->upDown--;
break;
+ case PLTEXT_UNDERLINE:
+ if ( aStream->uline == 1 )
+ {
+ strncat( aStream->pangoMarkupString, "</span>", MAX_MARKUP_LEN - 1 - strlen( aStream->pangoMarkupString ) );
+ aStream->level++;
+ }
+ else
+ {
+ strncat( aStream->pangoMarkupString, "<span underline=\"single\">", MAX_MARKUP_LEN - 1 - strlen( aStream->pangoMarkupString ) );
+ aStream->level++;
+ }
+ aStream->uline = !aStream->uline;
+ break;
+ case PLTEXT_BACKCHAR:
+ case PLTEXT_OVERLINE:
+ plwarn( "'-', and 'b/B' text escape sequences not processed." );
+ break;
}
}
@@ -970,7 +989,7 @@
// http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
//--------------------------------------------------------------------------
-char *ucs4_to_pango_markup_format( PLUNICODE *ucs4, int ucs4Len, float fontSize )
+char *ucs4_to_pango_markup_format( PLUNICODE *ucs4, int ucs4Len, float fontSize)
{
char plplotEsc;
int i;
@@ -979,7 +998,8 @@
char utf8[5];
char *pangoMarkupString;
PLFLT old_sscale, sscale, old_soffset, soffset;
- PLINT level = 0.;
+ PLINT level = 0;
+ short uline = 0;
// Will this be big enough? We might have lots of markup.
pangoMarkupString = (char *) malloc( sizeof ( char ) * MAX_MARKUP_LEN );
@@ -1071,6 +1091,21 @@
}
upDown--;
}
+ if ( ucs4[i] == (PLUNICODE) '-' ) // Superscript
+ {
+ if ( uline == 1 )
+ {
+ strncat( pangoMarkupString, "</span>", MAX_MARKUP_LEN - 1 - strlen( pangoMarkupString ) );
+ level++;
+ }
+ else
+ {
+ strncat( pangoMarkupString,
+ "<span underline=\"single\">",
+ MAX_MARKUP_LEN - 1 - strlen( pangoMarkupString ) );
+ }
+ uline = uline;
+ }
i++;
}
}
Modified: trunk/include/plplot.h
===================================================================
--- trunk/include/plplot.h 2013-10-03 21:51:23 UTC (rev 12576)
+++ trunk/include/plplot.h 2013-10-04 21:43:12 UTC (rev 12577)
@@ -250,6 +250,9 @@
#define PLTEXT_FONTCHANGE 0 // font change in the text stream
#define PLTEXT_SUPERSCRIPT 1 // superscript in the text stream
#define PLTEXT_SUBSCRIPT 2 // subscript in the text stream
+#define PLTEXT_BACKCHAR 3 // back-char in the text stream
+#define PLTEXT_OVERLINE 4 // toggle overline in the text stream
+#define PLTEXT_UNDERLINE 5 // toggle underline in the text stream
// image operations
#define ZEROW2B 1
Modified: trunk/src/plcore.c
===================================================================
--- trunk/src/plcore.c 2013-10-03 21:51:23 UTC (rev 12576)
+++ trunk/src/plcore.c 2013-10-04 21:43:12 UTC (rev 12577)
@@ -1070,6 +1070,24 @@
i += 1;
skip = 1;
break;
+ case 'b':
+ args.n_ctrl_char = PLTEXT_BACKCHAR;
+ plP_esc( PLESC_CONTROL_CHAR, &args );
+ i += 1;
+ skip = 1;
+ break;
+ case '+':
+ args.n_ctrl_char = PLTEXT_OVERLINE;
+ plP_esc( PLESC_CONTROL_CHAR, &args );
+ i += 1;
+ skip = 1;
+ break;
+ case '-':
+ args.n_ctrl_char = PLTEXT_UNDERLINE;
+ plP_esc( PLESC_CONTROL_CHAR, &args );
+ i += 1;
+ skip = 1;
+ break;
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-10-03 21:51:27
|
Revision: 12576
http://sourceforge.net/p/plplot/code/12576
Author: andrewross
Date: 2013-10-03 21:51:23 +0000 (Thu, 03 Oct 2013)
Log Message:
-----------
Next round of updates to the Debian packages. Should be (nearly) there now.
Modified Paths:
--------------
trunk/debian/changelog
trunk/debian/control
trunk/debian/control.in
trunk/debian/libcsiro0.files
trunk/debian/libplplot-ada1-dev.files
trunk/debian/libplplot-ada1.files
trunk/debian/libplplot-c++11.files
trunk/debian/libplplot-d.files
trunk/debian/libplplot-dev.files
trunk/debian/libplplot-fortran10.files
trunk/debian/libplplot-java.files
trunk/debian/libplplot-lua.files
trunk/debian/libqsastime-dev.files
trunk/debian/libqsastime0.files
trunk/debian/patches/series
trunk/debian/plplot-tcl-dev.files
trunk/debian/plplot-tcl-dev.lintian-overrides
trunk/debian/plplot-tcl.files
trunk/debian/plplot12-driver-cairo.files
trunk/debian/plplot12-driver-qt.files
trunk/debian/plplot12-driver-wxwidgets.files
trunk/debian/plplot12-driver-xwin.files
trunk/debian/rules
Added Paths:
-----------
trunk/debian/libplplot-ada1.lintian-overrides
trunk/debian/libplplot-fortran10.lintian-overrides
trunk/debian/libplplot-ocaml.lintian-overrides
trunk/debian/patches/fix-python-exec-bit.diff
trunk/debian/plplot-tcl-bin.files
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/changelog 2013-10-03 21:51:23 UTC (rev 12576)
@@ -3,19 +3,36 @@
* New upstream release
* debian/patches/series: Remove backported patches no longer need with
current release and update remaining patches.
- * debian/control.in: Update dependencies for new documentation build system and to
- include shapelib (needed for new map support).
+ * debian/control.in: Update dependencies for new documentation build system
+ and to include shapelib (needed for new map support).
* debian/control.in, debian/rules, debian/*.files:
Rename packages to reflect bump in SONAME version.
* debian/control.in: Drop support for f77 bindings (deprecated upstream
and replaced by the better f95 bindings).
- * debian/libplplot12.files: Ensure shape file versions of the maps are installed.
+ * debian/libplplot12.files: Ensure shape file versions of the maps are
+ installed.
* debian/control.in, debian/rule: Drop the gd driver support and the
- plplot11-driver-gd package. No longer supported upstream and superceded by cairo
- and qt drivers.
- * debian/patches/series, debian/patches/fix-d-examples.diff: Fix from upstream for
- D example 20 so it compiles with latest gdc.
- * debian/rules: Fix command line options for python-config to prevent an error.
+ plplot11-driver-gd package. No longer supported upstream and superceded
+ by cairo and qt drivers.
+ * debian/patches/series, debian/patches/fix-d-examples.diff: Fix from
+ upstream for D example 20 so it compiles with latest gdc.
+ * debian/rules: Fix command line options for python-config to prevent an
+ error.
+ * debian/control.in, debian/rules, debian/*.files: Update package to be
+ multiarch compatible. (Fixes some lintian warnings).
+ * debian/rules: Force compatibility with java 5 (default on some platforms).
+ Fixes lintian warning.
+ * debian/patches/series, debian/patches/fix_python_exec_bit.diff: Fix
+ incorrect executable bit on python script. Fixes lintian warning.
+ * debian/libplplot-ada1.lintian-overrides,
+ debian/libplplot-fortran10.lintian-overrides,
+ libplplot-ocaml.lintian-overrides: Suppress hardening warnings for ada,
+ fortran and ocaml compiled code since they are not relevant.
+ * debian/control.in, debian/plplot-tcl-bin.files, debian/plplot-tcl.files,
+ debian/patches/series, debian/patches/add-tcl-multiarch.diff: Move
+ pltcl to a new plplot-tcl-bin package and move plserver to a location in
+ the library path (executable by the library not the user). Required to make
+ the tcl packages multiarch compliant.
-- Andrew Ross <and...@us...> Tue, 01 Oct 2013 12:44:20 +0100
@@ -182,7 +199,6 @@
* debian/rules, debian/control.in, debian/python-plplot-qt.files:
Add new python-plplot-qt package which includes the python bindings to
allow use of the plplot API in qt applications.
- -- Andrew Ross <and...@us...> Mon, 30 Sep 2013 09:47:30 +0100
* debian/control.in:
+ Remove dependency of libplplot-java on default-jre as per policy.
Java libraries do not need to depend on a java runtime. Fixes
Modified: trunk/debian/control
===================================================================
--- trunk/debian/control 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/control 2013-10-03 21:51:23 UTC (rev 12576)
@@ -3,7 +3,7 @@
Priority: optional
Maintainer: Andrew Ross <and...@us...>
Standards-Version: 3.9.4
-Build-Depends: cmake (>= 2.6.3), debhelper (>= 7),
+Build-Depends: cmake (>= 2.6.3), debhelper (>= 9),
tcl8.5-dev, tk8.5-dev, itcl3-dev, libx11-dev, libxext-dev,
libxi-dev, gfortran, itk3-dev, liboctave-dev,
m4, libqhull-dev (>= 2003.1-8),
@@ -26,6 +26,8 @@
Architecture: any
Section: libs
Conflicts: libplplot11
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: ${shlibs:Depends}, ${misc:Depends}
Suggests: plplot12-driver-xwin, plplot12-driver-gd,
plplot12-driver-cairo, plplot12-driver-qt, plplot12-driver-wxwidgets, plplot-tcl
@@ -48,6 +50,8 @@
Section: libdevel
Recommends: pkg-config, cmake, libplplot-ocaml, libplplot-lua, libplplot-d
Suggests: plplot-doc
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12 (= ${binary:Version}), libqhull-dev, libfreetype6-dev,
libltdl3-dev, libqsastime-dev, ${misc:Depends},
libplplot-c++11 (= ${binary:Version}), libplplot-fortran10 (= ${binary:Version})
@@ -73,6 +77,8 @@
Architecture: any
Section: libs
Conflicts: libplplot5, libplplot-c++9, libplplot-c++9c2, libplplot-c++10
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (C++ binding)
PLplot is relatively small, portable, freely distributable, and is rich
@@ -88,6 +94,8 @@
Package: libplplot-fortran10
Architecture: any
Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: ${shlibs:Depends} , ${misc:Depends}
Description: Scientific plotting library (fortran bindings)
PLplot is relatively small, portable, freely distributable, and is rich
@@ -122,6 +130,8 @@
Package: libcsiro0
Architecture: any
Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (CSIRO libraries)
This package contains two libraries developed by Pavel Sakov, from the
@@ -137,6 +147,8 @@
Architecture: any
Section: libs
Conflicts: libplplot9
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Time format conversion library
The qsastime library is a simple library for handling time format
@@ -153,6 +165,8 @@
Architecture: any
Section: libdevel
Breaks: libplplot-dev (<< 5.9.8-1)
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libqsastime0 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Description: Time format conversion library (development files)
The qsastime library is a simple library for handling time format
@@ -170,6 +184,8 @@
Architecture: any
Section: libs
Depends: ${shlibs:Depends}, ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Conflicts: plplot9-driver-xwin
Replaces: plplot9-driver-xwin
Description: Scientific plotting library (X11 driver)
@@ -186,6 +202,8 @@
Package: plplot12-driver-wxwidgets
Architecture: any
Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}
Conflicts: plplot9-driver-wxwidgets
Replaces: plplot9-driver-wxwidgets
@@ -202,6 +220,8 @@
Package: plplot-tcl
Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: plplot12-driver-xwin, iwidgets4, ${shlibs:Depends}, ${misc:Depends}
Description: Tcl/Tk support for PLplot, a plotting library
PLplot is relatively small, portable, freely distributable, and is rich
@@ -213,11 +233,27 @@
virtually all aspects of plotting are configurable.
.
This package contains the Tcl/Tk support for PLplot: shared libraries,
- Tcl modules, the Tk driver, and some programs for interactive use of
- PLplot (plserver and pltcl).
+ Tcl modules and the Tk driver.
+Package: plplot-tcl-bin
+Architecture: any
+Depends: plplot-tcl, ${shlibs:Depends}, ${misc:Depends}
+Description: Tcl/Tk support for PLplot, a plotting library
+ PLplot is relatively small, portable, freely distributable, and is rich
+ enough to satisfy most users. It has a wide range of plot types including
+ line (linear, log), contour, 3D, fill, and almost 1000 characters
+ (including Greek and mathematical) in its extended font set. The package
+ is designed to make it easy to quickly get graphical output; only a
+ handful of function calls is typically required. For more advanced use,
+ virtually all aspects of plotting are configurable.
+ .
+ This package contains the pltcl program for interactive use of the Tcl/Tk
+ support for PLplot.
+
Package: plplot-tcl-dev
Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12 (= ${binary:Version}), plplot-tcl, ${misc:Depends}
Breaks: plplot-tcl (<= 5.2.0.cvs.20030224-1)
Description: Tcl/Tk development support for PLplot, a plotting library
@@ -235,6 +271,8 @@
Package: plplot12-driver-cairo
Architecture: any
Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: ${shlibs:Depends}, ${misc:Depends}
Conflicts: plplot9-driver-cairo
Replaces: plplot9-driver-cairo
@@ -291,6 +329,8 @@
Package: octave-plplot
Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12 (= ${binary:Version}), octave (>= 3.6.1), ${shlibs:Depends},
${misc:Depends}
Description: Octave support for PLplot, a plotting library
@@ -308,6 +348,8 @@
Package: libplplot-ada1
Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Breaks: libplplot-ada (<< 5.9.8-2)
Replaces: libplplot-ada (<< 5.9.8-2)
@@ -327,6 +369,8 @@
Architecture: any
Section: libdevel
Suggests: plplot-doc
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12 (= ${binary:Version}), libqhull-dev, libfreetype6-dev,
libltdl3-dev, libqsastime-dev, gnat, gnat-4.6, ${misc:Depends},
libplplot-ada1 (= ${binary:Version})
@@ -366,6 +410,8 @@
Package: plplot12-driver-qt
Architecture: any
Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (qt driver)
PLplot is relatively small, portable, freely distributable, and is rich
@@ -399,6 +445,8 @@
Package: libplplot-lua
Architecture: any
Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}, lua5.1
Description: Scientific plotting library (lua bindings)
PLplot is relatively small, portable, freely distributable, and is rich
@@ -415,6 +463,8 @@
Package: libplplot-d
Architecture: any
Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (D language bindings)
PLplot is relatively small, portable, freely distributable, and is rich
Modified: trunk/debian/control.in
===================================================================
--- trunk/debian/control.in 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/control.in 2013-10-03 21:51:23 UTC (rev 12576)
@@ -3,7 +3,7 @@
Priority: optional
Maintainer: Andrew Ross <and...@us...>
Standards-Version: 3.9.4
-Build-Depends: cmake (>= 2.6.3), debhelper (>= 7),
+Build-Depends: cmake (>= 2.6.3), debhelper (>= 9),
tcl8.5-dev, tk8.5-dev, itcl3-dev, libx11-dev, libxext-dev,
libxi-dev, gfortran, itk3-dev, liboctave-dev,
m4, libqhull-dev (>= 2003.1-8),
@@ -26,6 +26,8 @@
Architecture: any
Section: libs
Conflicts: libplplot11
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: ${shlibs:Depends}, ${misc:Depends}
Suggests: plplot12-driver-xwin, plplot12-driver-gd,
plplot12-driver-cairo, plplot12-driver-qt, plplot12-driver-wxwidgets, plplot-tcl
@@ -48,6 +50,8 @@
Section: libdevel
Recommends: pkg-config, cmake, libplplot-ocaml, libplplot-lua, libplplot-d
Suggests: plplot-doc
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12 (= ${binary:Version}), libqhull-dev, libfreetype6-dev,
libltdl3-dev, libqsastime-dev, ${misc:Depends},
libplplot-c++11 (= ${binary:Version}), libplplot-fortran10 (= ${binary:Version})
@@ -73,6 +77,8 @@
Architecture: any
Section: libs
Conflicts: libplplot5, libplplot-c++9, libplplot-c++9c2, libplplot-c++10
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (C++ binding)
PLplot is relatively small, portable, freely distributable, and is rich
@@ -88,6 +94,8 @@
Package: libplplot-fortran10
Architecture: any
Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: ${shlibs:Depends} , ${misc:Depends}
Description: Scientific plotting library (fortran bindings)
PLplot is relatively small, portable, freely distributable, and is rich
@@ -122,6 +130,8 @@
Package: libcsiro0
Architecture: any
Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (CSIRO libraries)
This package contains two libraries developed by Pavel Sakov, from the
@@ -137,6 +147,8 @@
Architecture: any
Section: libs
Conflicts: libplplot9
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Time format conversion library
The qsastime library is a simple library for handling time format
@@ -153,6 +165,8 @@
Architecture: any
Section: libdevel
Breaks: libplplot-dev (<< 5.9.8-1)
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libqsastime0 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Description: Time format conversion library (development files)
The qsastime library is a simple library for handling time format
@@ -170,6 +184,8 @@
Architecture: any
Section: libs
Depends: ${shlibs:Depends}, ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Conflicts: plplot9-driver-xwin
Replaces: plplot9-driver-xwin
Description: Scientific plotting library (X11 driver)
@@ -186,6 +202,8 @@
Package: plplot12-driver-wxwidgets
Architecture: any
Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}
Conflicts: plplot9-driver-wxwidgets
Replaces: plplot9-driver-wxwidgets
@@ -202,6 +220,8 @@
Package: plplot-tcl
Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: plplot12-driver-xwin, iwidgets4, ${shlibs:Depends}, ${misc:Depends}
Description: Tcl/Tk support for PLplot, a plotting library
PLplot is relatively small, portable, freely distributable, and is rich
@@ -213,11 +233,27 @@
virtually all aspects of plotting are configurable.
.
This package contains the Tcl/Tk support for PLplot: shared libraries,
- Tcl modules, the Tk driver, and some programs for interactive use of
- PLplot (plserver and pltcl).
+ Tcl modules and the Tk driver.
+Package: plplot-tcl-bin
+Architecture: any
+Depends: plplot-tcl, ${shlibs:Depends}, ${misc:Depends}
+Description: Tcl/Tk support for PLplot, a plotting library
+ PLplot is relatively small, portable, freely distributable, and is rich
+ enough to satisfy most users. It has a wide range of plot types including
+ line (linear, log), contour, 3D, fill, and almost 1000 characters
+ (including Greek and mathematical) in its extended font set. The package
+ is designed to make it easy to quickly get graphical output; only a
+ handful of function calls is typically required. For more advanced use,
+ virtually all aspects of plotting are configurable.
+ .
+ This package contains the pltcl program for interactive use of the Tcl/Tk
+ support for PLplot.
+
Package: plplot-tcl-dev
Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12 (= ${binary:Version}), plplot-tcl, ${misc:Depends}
Breaks: plplot-tcl (<= 5.2.0.cvs.20030224-1)
Description: Tcl/Tk development support for PLplot, a plotting library
@@ -235,6 +271,8 @@
Package: plplot12-driver-cairo
Architecture: any
Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: ${shlibs:Depends}, ${misc:Depends}
Conflicts: plplot9-driver-cairo
Replaces: plplot9-driver-cairo
@@ -291,6 +329,8 @@
Package: octave-plplot
Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12 (= ${binary:Version}), octave (>= 3.6.1), ${shlibs:Depends},
${misc:Depends}
Description: Octave support for PLplot, a plotting library
@@ -308,6 +348,8 @@
[ADA:Package: libplplot-ada1
Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Breaks: libplplot-ada (<< 5.9.8-2)
Replaces: libplplot-ada (<< 5.9.8-2)
@@ -327,6 +369,8 @@
Architecture: any
Section: libdevel
Suggests: plplot-doc
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12 (= ${binary:Version}), libqhull-dev, libfreetype6-dev,
libltdl3-dev, libqsastime-dev, gnat, gnat-4.6, ${misc:Depends},
libplplot-ada1 (= ${binary:Version})
@@ -366,6 +410,8 @@
Package: plplot12-driver-qt
Architecture: any
Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (qt driver)
PLplot is relatively small, portable, freely distributable, and is rich
@@ -399,6 +445,8 @@
Package: libplplot-lua
Architecture: any
Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}, lua5.1
Description: Scientific plotting library (lua bindings)
PLplot is relatively small, portable, freely distributable, and is rich
@@ -415,6 +463,8 @@
Package: libplplot-d
Architecture: any
Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (D language bindings)
PLplot is relatively small, portable, freely distributable, and is rich
Modified: trunk/debian/libcsiro0.files
===================================================================
--- trunk/debian/libcsiro0.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/libcsiro0.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,2 +1,2 @@
-usr/lib/libcsiro*.so.*
+usr/lib/*/libcsiro*.so.*
Modified: trunk/debian/libplplot-ada1-dev.files
===================================================================
--- trunk/debian/libplplot-ada1-dev.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/libplplot-ada1-dev.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,5 +1,5 @@
-usr/lib/ada
+usr/lib/*/ada
usr/share/ada
-usr/lib/libplplotada*.so
+usr/lib/*/libplplotada*.so
usr/share/doc/libplplot12/examples/ada
usr/share/doc/libplplot-ada1-dev
Modified: trunk/debian/libplplot-ada1.files
===================================================================
--- trunk/debian/libplplot-ada1.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/libplplot-ada1.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,2 +1,2 @@
-usr/lib/libplplotada*.so.*
+usr/lib/*/libplplotada*.so.*
usr/share/doc/libplplot-ada1
Added: trunk/debian/libplplot-ada1.lintian-overrides
===================================================================
--- trunk/debian/libplplot-ada1.lintian-overrides (rev 0)
+++ trunk/debian/libplplot-ada1.lintian-overrides 2013-10-03 21:51:23 UTC (rev 12576)
@@ -0,0 +1 @@
+libplplot-ada1 binary: hardening-no-fortify-functions usr/lib/*/libplplotadad.so.1.0.0
Property changes on: trunk/debian/libplplot-ada1.lintian-overrides
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/debian/libplplot-c++11.files
===================================================================
--- trunk/debian/libplplot-c++11.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/libplplot-c++11.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,2 +1,2 @@
-usr/lib/libplplotcxxd.so.*
+usr/lib/*/libplplotcxxd.so.*
usr/share/doc/libplplot-c++11
Modified: trunk/debian/libplplot-d.files
===================================================================
--- trunk/debian/libplplot-d.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/libplplot-d.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,3 +1,3 @@
-usr/lib/libplplotdmdd.a
+usr/lib/*/libplplotdmdd.a
usr/share/doc/libplplot-d
Modified: trunk/debian/libplplot-dev.files
===================================================================
--- trunk/debian/libplplot-dev.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/libplplot-dev.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,9 +1,9 @@
usr/include
-usr/lib/lib*.a
-usr/lib/lib*.la
-usr/lib/lib*.so
-usr/lib/fortran
-usr/lib/pkgconfig
+usr/lib/*/lib*.a
+usr/lib/*/lib*.la
+usr/lib/*/lib*.so
+usr/lib/*/fortran
+usr/lib/*/pkgconfig
usr/share/doc/libplplot12/examples
usr/share/doc/libplplot12/README.pkg-config
usr/share/doc/libplplot-dev
Modified: trunk/debian/libplplot-fortran10.files
===================================================================
--- trunk/debian/libplplot-fortran10.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/libplplot-fortran10.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,2 +1,2 @@
-usr/lib/libplplotf*.so.*
+usr/lib/*/libplplotf*.so.*
usr/share/doc/libplplot-fortran10
Added: trunk/debian/libplplot-fortran10.lintian-overrides
===================================================================
--- trunk/debian/libplplot-fortran10.lintian-overrides (rev 0)
+++ trunk/debian/libplplot-fortran10.lintian-overrides 2013-10-03 21:51:23 UTC (rev 12576)
@@ -0,0 +1 @@
+libplplot-fortran10 binary: hardening-no-fortify-functions usr/lib/*/libplplotf95d.so.10.0.0
Property changes on: trunk/debian/libplplot-fortran10.lintian-overrides
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/debian/libplplot-java.files
===================================================================
--- trunk/debian/libplplot-java.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/libplplot-java.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,4 +1,4 @@
-usr/lib/jni
+usr/lib/*/jni
usr/share/java
usr/share/doc/libplplot12/examples/java
usr/share/doc/libplplot-java
Modified: trunk/debian/libplplot-lua.files
===================================================================
--- trunk/debian/libplplot-lua.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/libplplot-lua.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,3 +1,3 @@
-usr/lib/lua/5.1/plplot/*.so
+usr/lib/*/lua/5.1/plplot/*.so
usr/share/doc/libplplot-lua
Added: trunk/debian/libplplot-ocaml.lintian-overrides
===================================================================
--- trunk/debian/libplplot-ocaml.lintian-overrides (rev 0)
+++ trunk/debian/libplplot-ocaml.lintian-overrides 2013-10-03 21:51:23 UTC (rev 12576)
@@ -0,0 +1,3 @@
+libplplot-ocaml binary: hardening-no-relro usr/lib/ocaml/stublibs/dllplcairo_stubs.so
+libplplot-ocaml binary: hardening-no-relro usr/lib/ocaml/stublibs/dllplplot_stubs.so
+libplplot-ocaml binary: hardening-no-fortify-functions usr/lib/ocaml/stublibs/dllplplot_stubs.so
Property changes on: trunk/debian/libplplot-ocaml.lintian-overrides
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/debian/libqsastime-dev.files
===================================================================
--- trunk/debian/libqsastime-dev.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/libqsastime-dev.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,3 +1,3 @@
-usr/lib/libqsastime*.so
+usr/lib/*/libqsastime*.so
usr/include/plplot/qsas*.h
usr/share/doc/libqsastime-dev
Modified: trunk/debian/libqsastime0.files
===================================================================
--- trunk/debian/libqsastime0.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/libqsastime0.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1 +1 @@
-/usr/lib/libqsastime*.so.*
+usr/lib/*/libqsastime*.so.*
Added: trunk/debian/patches/fix-python-exec-bit.diff
===================================================================
--- trunk/debian/patches/fix-python-exec-bit.diff (rev 0)
+++ trunk/debian/patches/fix-python-exec-bit.diff 2013-10-03 21:51:23 UTC (rev 12576)
@@ -0,0 +1,23 @@
+Description: Fix incorrect executable bit on python script
+Author: Andrew Ross <and...@us...>
+Origin: upstream
+Index: plplot-5.9.10/examples/python/CMakeLists.txt
+===================================================================
+--- plplot-5.9.10.orig/examples/python/CMakeLists.txt 2013-10-01 13:10:53.000000000 +0100
++++ plplot-5.9.10/examples/python/CMakeLists.txt 2013-10-03 09:21:13.601454559 +0100
+@@ -79,7 +79,6 @@
+ xw17.py
+ xw31.py
+ plplot_logo.py
+- plplot_py_demos.py
+ test_circle.py
+ test_axis_precision.py
+ test_symbol_clip.py
+@@ -142,6 +141,7 @@
+ set(
+ python_DATA
+ ${python_DATA}
++ plplot_py_demos.py
+ README.pythondemos
+ README.rendering_tests
+ README.logo
Property changes on: trunk/debian/patches/fix-python-exec-bit.diff
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/debian/patches/series
===================================================================
--- trunk/debian/patches/series 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/patches/series 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,12 +1,8 @@
-fix-d-examples.diff
02_unset-python-path.diff
#04_use-mkoctfile.diff
-#07_octave_prune_examples.diff
-#08_nn_link_lib.diff
-#replace-deprecated-split.diff
proper-path-handling.diff
-#fix-boolean-operators.diff
-#fix-cmake-ada-support.diff
fix-lua-includes.diff
-#fix-cmake-d-support.diff
-#java-pltr2-fix.diff
+fix-d-examples.diff
+fix-python-exec-bit.diff
+add-tcl-multiarch.diff
+support-javac-options.diff
Added: trunk/debian/plplot-tcl-bin.files
===================================================================
--- trunk/debian/plplot-tcl-bin.files (rev 0)
+++ trunk/debian/plplot-tcl-bin.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -0,0 +1,2 @@
+usr/bin/pltcl
+usr/share/doc/plplot-tcl-bin
Property changes on: trunk/debian/plplot-tcl-bin.files
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/debian/plplot-tcl-dev.files
===================================================================
--- trunk/debian/plplot-tcl-dev.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/plplot-tcl-dev.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,4 +1,4 @@
-usr/lib/lib*tcl*
+usr/lib/*/lib*tcl*
usr/include/plplot/pltcl.h
usr/include/plplot/pltk.h
usr/include/plplot/tclMatrix.h
Modified: trunk/debian/plplot-tcl-dev.lintian-overrides
===================================================================
--- trunk/debian/plplot-tcl-dev.lintian-overrides 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/plplot-tcl-dev.lintian-overrides 2013-10-03 21:51:23 UTC (rev 12576)
@@ -2,6 +2,6 @@
# by CMake and so the interpreter is replaced before the script is
# acutally run.
-plplot-tcl-dev binary: example-interpreter-not-absolute usr/share/doc/libplplot21/examples/tk/tk01.in #!@xtk01_LOCATION@
-plplot-tcl-dev binary: example-interpreter-not-absolute usr/share/doc/libplplot21/examples/tk/tk02.in #!@xtk02_LOCATION@
-plplot-tcl-dev binary: example-interpreter-not-absolute usr/share/doc/libplplot21/examples/tk/tk04.in #!@xtk04_LOCATION@
+plplot-tcl-dev binary: example-interpreter-not-absolute usr/share/doc/libplplot12/examples/tk/tk01.in #!@xtk01_LOCATION@
+plplot-tcl-dev binary: example-interpreter-not-absolute usr/share/doc/libplplot12/examples/tk/tk02.in #!@xtk02_LOCATION@
+plplot-tcl-dev binary: example-interpreter-not-absolute usr/share/doc/libplplot12/examples/tk/tk04.in #!@xtk04_LOCATION@
Modified: trunk/debian/plplot-tcl.files
===================================================================
--- trunk/debian/plplot-tcl.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/plplot-tcl.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,9 +1,8 @@
-usr/lib/lib*tcl*.so.*
-usr/bin/plserver
-usr/bin/pltcl
+usr/lib/*/lib*tcl*.so.*
+usr/lib/*/plplot*/bin/plserver
usr/share/man/man1/plserver.1
usr/share/man/man1/pltcl.1
usr/share/plplot*/pkgIndex.tcl
usr/share/plplot*/tcl
-usr/lib/plplot*/driversd/*tk*
+usr/lib/*/plplot*/driversd/*tk*
usr/share/doc/plplot-tcl
Modified: trunk/debian/plplot12-driver-cairo.files
===================================================================
--- trunk/debian/plplot12-driver-cairo.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/plplot12-driver-cairo.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,2 +1,2 @@
-usr/lib/plplot*/driversd/cairo.*
+usr/lib/*/plplot*/driversd/cairo.*
usr/share/doc/plplot12-driver-cairo
Modified: trunk/debian/plplot12-driver-qt.files
===================================================================
--- trunk/debian/plplot12-driver-qt.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/plplot12-driver-qt.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,4 +1,4 @@
-usr/lib/plplot*/driversd/qt.*
-usr/lib/libplplotqtd.so.*
+usr/lib/*/plplot*/driversd/qt.*
+usr/lib/*/libplplotqtd.so.*
usr/share/doc/plplot12-driver-qt
usr/lib/python*/plplot_pyqt4.so
Modified: trunk/debian/plplot12-driver-wxwidgets.files
===================================================================
--- trunk/debian/plplot12-driver-wxwidgets.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/plplot12-driver-wxwidgets.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,5 +1,5 @@
-usr/lib/plplot*/driversd/wxwidgets.*
-usr/lib/libplplotwxwidgetsd.so.*
+usr/lib/*/plplot*/driversd/wxwidgets.*
+usr/lib/*/libplplotwxwidgetsd.so.*
usr/share/doc/plplot12-driver-wxwidgets
Modified: trunk/debian/plplot12-driver-xwin.files
===================================================================
--- trunk/debian/plplot12-driver-xwin.files 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/plplot12-driver-xwin.files 2013-10-03 21:51:23 UTC (rev 12576)
@@ -1,4 +1,4 @@
-usr/lib/plplot*/driversd/xwin.*
+usr/lib/*/plplot*/driversd/xwin.*
usr/share/doc/plplot12-driver-xwin
Modified: trunk/debian/rules
===================================================================
--- trunk/debian/rules 2013-10-03 21:19:46 UTC (rev 12575)
+++ trunk/debian/rules 2013-10-03 21:51:23 UTC (rev 12576)
@@ -15,13 +15,15 @@
MDIR = $(shell octave-config --print LOCALAPIFCNFILEDIR)
OCTDIR = $(shell octave-config --print LOCALAPIOCTFILEDIR)
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+
version := $(shell perl debian/get-upstream-version.pl < cmake/modules/plplot_version.cmake)
libpkg := libplplot12
docpkg := plplot-doc
debbase := $(shell pwd)/debian
debtmp := $(debbase)/tmp
debusr := $(debtmp)/usr
-deblib := $(debusr)/lib
+deblib := $(debusr)/lib/$(DEB_HOST_MULTIARCH)
debshr := $(debusr)/share
debdoc := $(debshr)/doc
debinfo := $(debshr)/info
@@ -69,13 +71,13 @@
JAVA_OPTIONS = \
-DCMAKE_Java_RUNTIME=$(JAVA_HOME)/bin/java \
-DCMAKE_Java_COMPILER=$(JAVA_HOME)/bin/javac \
- -DCMAKE_Java_ARCHIVE=$(JAVA_HOME)/bin/jar
+ -DCMAKE_Java_ARCHIVE=$(JAVA_HOME)/bin/jar
CONFIGURE_OPTIONS = -DBUILD_TEST=ON \
-DBUILD_DOC=OFF -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) \
-DOCTAVE_OCT_DIR=$(OCTDIR) \
-DUSE_RPATH=OFF -DPLD_psttf=OFF -DENABLE_tk=ON \
- -DPLD_jpeg=ON -DPLD_png=ON -DPLD_gif=ON \
-DTCL_TCLSH=/usr/bin/tclsh8.5 \
$(ADA_OPTIONS) $(JAVA_OPTIONS)
@@ -163,12 +165,12 @@
$(debex)/perl
mv $(debex) $(debdoc)/$(libpkg)
- for i in libplplot-dev plplot-tcl plplot-tcl-dev \
+ for i in libplplot-dev plplot-tcl plplot-tcl-bin plplot-tcl-dev \
plplot12-driver-xwin octave-plplot \
python-plplot-qt \
python-plplot libplplot-c++11 plplot12-driver-wxwidgets \
plplot12-driver-qt libplplot-java \
- plplot12-driver-cairo libplplot-fortran10 \
+ plplot12-driver-cairo libplplot-fortran10 \
libplplot-ocaml libplplot-lua libplplot-d ; do \
ln -s $(libpkg) $(debdoc)/$$i ; \
done
@@ -192,7 +194,7 @@
$(MAKE) DESTDIR=$(debtmp) install )
mkdir -p $(debdoc)/$(docpkg)
- (cd $(debdoc)/plplot ; mv html *.pdf *.ps.gz $(debdoc)/$(docpkg))
+ (cd $(debdoc)/plplot ; rm -f html/plplotdoc-html.proc ; mv html *.pdf *.ps.gz $(debdoc)/$(docpkg))
touch install-indep-stamp
install-python: $(PYVERS:%=install-python%)
@@ -239,7 +241,7 @@
dh_fixperms -a
dh_makeshlibs -V -a
dh_shlibdeps -a --no-package=octave-plplot -L $(libpkg) \
- -l $(debbase)/$(libpkg)/usr/lib:$(debbase)/plplot-tcl/usr/lib
+ -l $(debbase)/$(libpkg)/usr/lib/$(DEB_HOST_MULTIARCH):$(debbase)/plplot-tcl/usr/lib/$(DEB_HOST_MULTIARCH)
dpkg-shlibdeps -Tdebian/octave-plplot.substvars -S$(debbase)/$(libpkg)/usr/lib/*.so* -S/usr/lib/$(octver)/*.so* $(debbase)/octave-plplot/$(OCTDIR)/plplot_octave.oct
dh_installdeb -a
dh_lintian -a
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-10-03 21:19:49
|
Revision: 12575
http://sourceforge.net/p/plplot/code/12575
Author: andrewross
Date: 2013-10-03 21:19:46 +0000 (Thu, 03 Oct 2013)
Log Message:
-----------
Allow the cmake JAVACFLAGS variable to be set to include additional command line options for javac.
Modified Paths:
--------------
trunk/bindings/java/CMakeLists.txt
trunk/cmake/modules/java.cmake
trunk/examples/java/CMakeLists.txt
Modified: trunk/bindings/java/CMakeLists.txt
===================================================================
--- trunk/bindings/java/CMakeLists.txt 2013-10-03 08:19:31 UTC (rev 12574)
+++ trunk/bindings/java/CMakeLists.txt 2013-10-03 21:19:46 UTC (rev 12575)
@@ -200,8 +200,9 @@
add_custom_command(
OUTPUT ${output_file}
COMMAND ${CMAKE_Java_COMPILER}
- -classpath ${CMAKE_CURRENT_BINARY_DIR} ${srcfile} -d ${CMAKE_CURRENT_BINARY_DIR}
+ ${JAVACFLAGS} -classpath ${CMAKE_CURRENT_BINARY_DIR} ${srcfile} -d ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS ${srcfile} ${${output_file}_DEPENDS}
+ VERBATIM
)
endforeach( srcfile ${JAVA_FILES_FULL} )
add_custom_target(plplot_core ALL DEPENDS ${JAVA_CLASSES})
Modified: trunk/cmake/modules/java.cmake
===================================================================
--- trunk/cmake/modules/java.cmake 2013-10-03 08:19:31 UTC (rev 12574)
+++ trunk/cmake/modules/java.cmake 2013-10-03 21:19:46 UTC (rev 12575)
@@ -96,3 +96,8 @@
# it appears this CMake variable is defined on Mac OS X and other platforms.
set(PLPLOTJAVAC_WRAP_DLL plplotjavac_wrap${CMAKE_SHARED_LIBRARY_SUFFIX})
endif(ENABLE_java)
+
+# Set up java compiler flags and turn into a list suitable for add_custom_command
+set(DEFAULT_JAVACFLAGS "")
+set(JAVACFLAGS ${DEFAULT_JAVACFLAGS} CACHE STRING "Java compiler flags")
+string(REGEX REPLACE " " ";" JAVACFLAGS "${JAVACFLAGS}")
Modified: trunk/examples/java/CMakeLists.txt
===================================================================
--- trunk/examples/java/CMakeLists.txt 2013-10-03 08:19:31 UTC (rev 12574)
+++ trunk/examples/java/CMakeLists.txt 2013-10-03 21:19:46 UTC (rev 12575)
@@ -101,8 +101,9 @@
add_custom_command(
OUTPUT ${out_file}
COMMAND ${CMAKE_Java_COMPILER}
- -classpath ${CMAKE_BINARY_DIR}/bindings/java -d ${CMAKE_CURRENT_BINARY_DIR} -encoding UTF-8 ${in_file}
+ ${JAVACFLAGS} -classpath ${CMAKE_BINARY_DIR}/bindings/java -d ${CMAKE_CURRENT_BINARY_DIR} -encoding UTF-8 ${in_file}
DEPENDS ${in_file} ${files_plplot_core}
+ VERBATIM
)
add_custom_target(x${STRING_INDEX}j ALL DEPENDS ${out_file})
add_dependencies(x${STRING_INDEX}j plplot_core)
@@ -160,8 +161,9 @@
add_custom_command(
OUTPUT ${out_file}
COMMAND ${CMAKE_Java_COMPILER}
- -classpath ${INSTALLED_JAR_FILE} -d ${CMAKE_CURRENT_BINARY_DIR} -encoding UTF-8 ${in_file}
+ ${JAVACFLAGS} -classpath ${INSTALLED_JAR_FILE} -d ${CMAKE_CURRENT_BINARY_DIR} -encoding UTF-8 ${in_file}
DEPENDS ${in_file} ${INSTALLED_JAR_FILE}
+ VERBATIM
)
add_custom_target(x${STRING_INDEX}j ALL DEPENDS ${out_file})
set_property(GLOBAL APPEND PROPERTY TARGETS_examples_java x${STRING_INDEX}j)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-10-03 08:19:34
|
Revision: 12574
http://sourceforge.net/p/plplot/code/12574
Author: andrewross
Date: 2013-10-03 08:19:31 +0000 (Thu, 03 Oct 2013)
Log Message:
-----------
plplot_py_demos.py is not a directly executable script, so don't make it executable.
Modified Paths:
--------------
trunk/examples/python/CMakeLists.txt
Property Changed:
----------------
trunk/examples/python/plplot_py_demos.py
Modified: trunk/examples/python/CMakeLists.txt
===================================================================
--- trunk/examples/python/CMakeLists.txt 2013-10-02 21:07:51 UTC (rev 12573)
+++ trunk/examples/python/CMakeLists.txt 2013-10-03 08:19:31 UTC (rev 12574)
@@ -79,7 +79,6 @@
xw17.py
xw31.py
plplot_logo.py
- plplot_py_demos.py
test_circle.py
test_axis_precision.py
test_symbol_clip.py
@@ -142,6 +141,7 @@
set(
python_DATA
${python_DATA}
+ plplot_py_demos.py
README.pythondemos
README.rendering_tests
README.logo
Index: trunk/examples/python/plplot_py_demos.py
===================================================================
--- trunk/examples/python/plplot_py_demos.py 2013-10-02 21:07:51 UTC (rev 12573)
+++ trunk/examples/python/plplot_py_demos.py 2013-10-03 08:19:31 UTC (rev 12574)
Property changes on: trunk/examples/python/plplot_py_demos.py
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Revision
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-02 21:07:53
|
Revision: 12573
http://sourceforge.net/p/plplot/code/12573
Author: airwin
Date: 2013-10-02 21:07:51 +0000 (Wed, 02 Oct 2013)
Log Message:
-----------
Note validation of SF website pages as an additional task in the
release process.
Modified Paths:
--------------
trunk/README.Release_Manager_Cookbook
Modified: trunk/README.Release_Manager_Cookbook
===================================================================
--- trunk/README.Release_Manager_Cookbook 2013-10-02 20:59:30 UTC (rev 12572)
+++ trunk/README.Release_Manager_Cookbook 2013-10-02 21:07:51 UTC (rev 12573)
@@ -463,6 +463,11 @@
but that did not work so the only possibility I could find was the above
commands to remove htdocs and everything below it in a piece-meal fashion.
+Once you have a proper upload of the local website to SourceForge, test
+it as before. Also, click the xhtml and css validate buttons on each of
+index.php, download.php, examples.php, documentation.php, and credits.php
+to validate those pages.
+
(11c) Create a final release tarball and check the result for errors
Follow the above step entitled
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-02 20:59:32
|
Revision: 12572
http://sourceforge.net/p/plplot/code/12572
Author: airwin
Date: 2013-10-02 20:59:30 +0000 (Wed, 02 Oct 2013)
Log Message:
-----------
To remove one validation warning, change iso-8859-1 ==> utf-8
Tested by Alan W. Irwin <ai...@us...> by
propagating this change to the SourceForge website and validating
each of index.php, download.php, examples.php, documentation.php, and
credits.php there by clicking on the appropriate html and CSS validation
check buttons.
Modified Paths:
--------------
trunk/www/corefunctions.php
Modified: trunk/www/corefunctions.php
===================================================================
--- trunk/www/corefunctions.php 2013-10-02 20:00:56 UTC (rev 12571)
+++ trunk/www/corefunctions.php 2013-10-02 20:59:30 UTC (rev 12572)
@@ -41,7 +41,7 @@
<head>
<title>PLplot Home Page - $title</title>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="Homepage of the open source PLplot project" />
<meta name="keywords" content="plot,library,c++,python" />
<link rel="stylesheet" title="liquid" href="css/style_liquid.css" type="text/css" media="screen,projection" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sm...@us...> - 2013-10-02 20:01:00
|
Revision: 12571
http://sourceforge.net/p/plplot/code/12571
Author: smekal
Date: 2013-10-02 20:00:56 +0000 (Wed, 02 Oct 2013)
Log Message:
-----------
New link to plplot News rss feed taken directly from plplot sourceforge project page. Number of news items limited by breaking foreach loop after $newscount items. Item description needs to be stripped of HTML tags, since new rss feed adds some HTML tags (old news feed didn't contain suchs tags).
Modified Paths:
--------------
trunk/www/corefunctions.php
Modified: trunk/www/corefunctions.php
===================================================================
--- trunk/www/corefunctions.php 2013-10-02 19:52:29 UTC (rev 12570)
+++ trunk/www/corefunctions.php 2013-10-02 20:00:56 UTC (rev 12571)
@@ -95,13 +95,10 @@
//
function pageNews($newscount, $contentlength)
{
- // Open the PLplot News RSS feed and parse it
- // Options for sourceforge news feed can be looked up at this link:
- // http://sourceforge.net/apps/trac/sourceforge/wiki/API
+ // Open the PLplot News RSS feed and parse it (rss link taken from the plplot project page)
$feed = new SimplePie();
$feed->enable_cache(false); // disable cache
- $url = sprintf("http://sourceforge.net/api/news/index/project-id/2915/limit/%d/rss", $newscount);
- $feed->set_feed_url($url);
+ $feed->set_feed_url("http://sourceforge.net/p/plplot/news/feed");
$feed->init();
$feed->handle_content_type();
@@ -112,10 +109,15 @@
// show news items
if($feed->data) {
$items = $feed->get_items();
+ $i = 0;
foreach($items as $item) {
- echo '<h4><a href="' . $item->get_permalink() . '">' . $item->get_title() . '</a></h4>';
- echo '<p>' . _substr($item->get_content(), $contentlength) . ' ';
- echo '<a href="' . $item->get_permalink() . '">Read more</a> (' . $item->get_date('j M Y') . ')</p>';
+ echo '<h4><a href="' . $item->get_permalink() . '">' . $item->get_title() . '</a></h4>' . "\n";
+ echo '<p>' . _substr(strip_tags($item->get_content()), $contentlength) . ' ';
+ echo '<a href="' . $item->get_permalink() . '">Read more</a> (' . $item->get_date('j M Y') . ')</p>' . "\n";
+
+ $i = $i + 1;
+ if( $i >= $newscount )
+ break;
}
} else
echo '<p>Could not open <a href="' . $url . '">News feed</a>!</p>';
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-10-02 19:52:33
|
Revision: 12570
http://sourceforge.net/p/plplot/code/12570
Author: andrewross
Date: 2013-10-02 19:52:29 +0000 (Wed, 02 Oct 2013)
Log Message:
-----------
Update Debian packages for the new 5.9.10 release.
Modified Paths:
--------------
trunk/debian/README.Debian
trunk/debian/changelog
trunk/debian/control
trunk/debian/control.in
trunk/debian/libplplot-dev.files
trunk/debian/libplplot-java.files
trunk/debian/octave-plplot.files
trunk/debian/patches/02_unset-python-path.diff
trunk/debian/patches/fix-lua-includes.diff
trunk/debian/patches/proper-path-handling.diff
trunk/debian/patches/series
trunk/debian/plplot-tcl-dev.files
trunk/debian/plplot-tcl-dev.lintian-overrides
trunk/debian/python-plplot.files
trunk/debian/rules
Added Paths:
-----------
trunk/debian/libplplot-ada1-dev.files
trunk/debian/libplplot-ada1.files
trunk/debian/libplplot-c++11.files
trunk/debian/libplplot-fortran10.files
trunk/debian/libplplot12.files
trunk/debian/patches/fix-d-examples.diff
trunk/debian/plplot12-driver-cairo.files
trunk/debian/plplot12-driver-qt.files
trunk/debian/plplot12-driver-wxwidgets.files
trunk/debian/plplot12-driver-xwin.files
Removed Paths:
-------------
trunk/debian/libplplot-ada0-dev.files
trunk/debian/libplplot-ada0.files
trunk/debian/libplplot-c++10.files
trunk/debian/libplplot-fortran9.files
trunk/debian/libplplot11.files
trunk/debian/plplot11-driver-cairo.files
trunk/debian/plplot11-driver-gd.files
trunk/debian/plplot11-driver-qt.files
trunk/debian/plplot11-driver-wxwidgets.files
trunk/debian/plplot11-driver-xwin.files
Modified: trunk/debian/README.Debian
===================================================================
--- trunk/debian/README.Debian 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/README.Debian 2013-10-02 19:52:29 UTC (rev 12570)
@@ -14,45 +14,41 @@
The original PLplot distribution was broken down in several Debian
packages:
- * libplplot11: Contains the shared C libraries, as well as the
+ * libplplot12: Contains the shared C libraries, as well as the
data files and the driver modules that do not depend on other
libraries.
* libplplot-dev: Headers and static libraries for developing programs
- using the PLplot API, as well as many examples in C, C++, and
- Fortran77.
+ using the PLplot API, as well as many examples in C, C++ and F95.
* plplot-doc: HTML, PS and PDF formats of the PLplot manual.
- * plplot11-driver-xwin: Provides the xwin driver module.
+ * plplot12-driver-xwin: Provides the xwin driver module.
- * plplot11-driver-gd: Provides the GD driver module, which allows
- direct generation of PNG and JPEG files.
-
- * plplot11-driver-cairo: Provides the cairo driver module. This uses
+ * plplot12-driver-cairo: Provides the cairo driver module. This uses
the cairo library to produce higher quality text using truetype
fonts. It produces postscript, pdf, svg, png, mem and X output.
This replaces the plplot9-driver-psttf package in previous
releases. The cairo driver provides similar results for postscript
and more functionality.
- * plplot11-driver-wxwidgets: Provides the WXWidgets driver module.
+ * plplot12-driver-wxwidgets: Provides the WXWidgets driver module.
- * plplot11-driver-qt: Provides the qt driver module.
+ * plplot12-driver-qt: Provides the qt driver module.
- * libplplot-c++10: Contains the library for using the C++ PLplot
+ * libplplot-c++11: Contains the library for using the C++ PLplot
classes.
- * libplplot-fortran9: Contains the F77 and F90 bindings for
- the PLplot functions.
+ * libplplot-fortran10: Contains the F95 bindings for the PLplot
+ functions.
* libplplot-java: Contains the bindings for using the PLplot
functions from java.
- * libplplot-ada0: Contains the runtiem Ada bindings library for the
+ * libplplot-ada1: Contains the runtime Ada bindings library for the
PLplot functions.
- * libplplot-ada0-dev: Development files for the Ada bindings for
+ * libplplot-ada1-dev: Development files for the Ada bindings for
the PLplot functions.
* libplplot-ocaml: Contains the OCaml bindings for the PLplot functions.
@@ -95,7 +91,7 @@
A lot of examples were included in the libplplot-dev, plplot-tcl,
python-plplot, and octave-plplot packages. They can be found under
- /usr/share/doc/libplplot11/examples/. Makefiles are available along the
+ /usr/share/doc/libplplot12/examples/. Makefiles are available along the
sources.
For development of C programs with the PLplot library, there is a
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/changelog 2013-10-02 19:52:29 UTC (rev 12570)
@@ -1,3 +1,24 @@
+plplot (5.9.10-1) unstable; urgency=low
+
+ * New upstream release
+ * debian/patches/series: Remove backported patches no longer need with
+ current release and update remaining patches.
+ * debian/control.in: Update dependencies for new documentation build system and to
+ include shapelib (needed for new map support).
+ * debian/control.in, debian/rules, debian/*.files:
+ Rename packages to reflect bump in SONAME version.
+ * debian/control.in: Drop support for f77 bindings (deprecated upstream
+ and replaced by the better f95 bindings).
+ * debian/libplplot12.files: Ensure shape file versions of the maps are installed.
+ * debian/control.in, debian/rule: Drop the gd driver support and the
+ plplot11-driver-gd package. No longer supported upstream and superceded by cairo
+ and qt drivers.
+ * debian/patches/series, debian/patches/fix-d-examples.diff: Fix from upstream for
+ D example 20 so it compiles with latest gdc.
+ * debian/rules: Fix command line options for python-config to prevent an error.
+
+ -- Andrew Ross <and...@us...> Tue, 01 Oct 2013 12:44:20 +0100
+
plplot (5.9.9-7) UNRELEASED; urgency=low
* debian/patches/fix-cmake-ada-support.diff: Update ada support from
@@ -161,6 +182,7 @@
* debian/rules, debian/control.in, debian/python-plplot-qt.files:
Add new python-plplot-qt package which includes the python bindings to
allow use of the plplot API in qt applications.
+ -- Andrew Ross <and...@us...> Mon, 30 Sep 2013 09:47:30 +0100
* debian/control.in:
+ Remove dependency of libplplot-java on default-jre as per policy.
Java libraries do not need to depend on a java runtime. Fixes
Modified: trunk/debian/control
===================================================================
--- trunk/debian/control 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/control 2013-10-02 19:52:29 UTC (rev 12570)
@@ -6,30 +6,29 @@
Build-Depends: cmake (>= 2.6.3), debhelper (>= 7),
tcl8.5-dev, tk8.5-dev, itcl3-dev, libx11-dev, libxext-dev,
libxi-dev, gfortran, itk3-dev, liboctave-dev,
- libgd2-noxpm-dev | libgd2-xpm-dev, m4, libqhull-dev (>= 2003.1-8),
+ m4, libqhull-dev (>= 2003.1-8),
libxml-parser-perl, libxml-dom-perl, libltdl3-dev, pkg-config,
slice, python-gtk2-dev, libwxgtk2.8-dev,
python-all-dev (>= 2.6.6-3~),
python-numpy (>= 1:1.4.1-4~), ttf-freefont, default-jdk,
fastjar, swig, gnat [!sh4], libqt4-dev, python-sip-dev,
- python-qt4, python-qt4-dev,
+ python-qt4, python-qt4-dev,
ocaml-nox, camlidl, ocaml-findlib, libcairo-ocaml-dev,
- liblablgtk2-ocaml-dev, liblua5.1-0-dev, lua5.1, gdc-v1
-Build-Depends-Indep: docbook-xml, docbook, docbook-dsssl, docbook-xsl,
- docbook2x, opensp, jadetex, ghostscript
+ liblablgtk2-ocaml-dev, liblua5.1-0-dev, lua5.1, gdc, libshp-dev
+Build-Depends-Indep: xmlto, fop, docbook-xml, docbook-xsl, docbook2x
Build-Conflicts: libplplot5
X-Python-Version: >=2.4
Homepage: http://www.plplot.org
Vcs-Svn: https://plplot.svn.sourceforge.net/svnroot/plplot/trunk/debian
Vcs-Browser: http://plplot.svn.sourceforge.net/viewvc/plplot/trunk/debian/
-Package: libplplot11
+Package: libplplot12
Architecture: any
Section: libs
-Conflicts: libplplot9
+Conflicts: libplplot11
Depends: ${shlibs:Depends}, ${misc:Depends}
-Suggests: plplot11-driver-xwin, plplot11-driver-gd,
- plplot11-driver-cairo, plplot11-driver-qt, plplot11-driver-wxwidgets, plplot-tcl
+Suggests: plplot12-driver-xwin, plplot12-driver-gd,
+ plplot12-driver-cairo, plplot12-driver-qt, plplot12-driver-wxwidgets, plplot-tcl
Replaces: plplot-bin (<< 5.9.6-1)
Breaks: plplot-bin (<<5.9.6-1)
Description: Scientific plotting library
@@ -49,9 +48,9 @@
Section: libdevel
Recommends: pkg-config, cmake, libplplot-ocaml, libplplot-lua, libplplot-d
Suggests: plplot-doc
-Depends: libplplot11 (= ${binary:Version}), libqhull-dev, libfreetype6-dev,
+Depends: libplplot12 (= ${binary:Version}), libqhull-dev, libfreetype6-dev,
libltdl3-dev, libqsastime-dev, ${misc:Depends},
- libplplot-c++10 (= ${binary:Version}), libplplot-fortran9 (= ${binary:Version})
+ libplplot-c++11 (= ${binary:Version}), libplplot-fortran10 (= ${binary:Version})
Breaks: libplplot-fortran9 (<< 5.9.8-1)
Description: Scientific plotting library (development files)
PLplot is relatively small, portable, freely distributable, and is rich
@@ -65,16 +64,15 @@
This package contains all that is needed for doing development in C, C++
and Fortran with PLplot. Examples of programs for these languages are
also included. For development in Tcl/Tk, Python, Octave, Ada and Java
- install the plplot-tcl-dev, python-plplot, octave-plplot, libplplot-ada0-dev
+ install the plplot-tcl-dev, python-plplot, octave-plplot, libplplot-ada1-dev
and libplplot-java packages, respectively. This package also includes the
OCaml, lua and D examples. To use one of these languages you will also
need to install the libplplot-xxx package for that language.
-Package: libplplot-c++10
+Package: libplplot-c++11
Architecture: any
Section: libs
-Conflicts: libplplot5, libplplot-c++9, libplplot-c++9c2
-Replaces: libplplot-c++9c2
+Conflicts: libplplot5, libplplot-c++9, libplplot-c++9c2, libplplot-c++10
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (C++ binding)
PLplot is relatively small, portable, freely distributable, and is rich
@@ -87,7 +85,7 @@
.
This package contains the C++ binding for PLplot.
-Package: libplplot-fortran9
+Package: libplplot-fortran10
Architecture: any
Section: libs
Depends: ${shlibs:Depends} , ${misc:Depends}
@@ -100,10 +98,9 @@
handful of function calls is typically required. For more advanced use,
virtually all aspects of plotting are configurable.
.
- This package contains the Fortran 77 and Fortran 95 bindings for
- PLplot. Note: the Fortran 77 bindings have been deprecated in the latest
- version of PLplot, and will be dropped from a future release. New code
- should use the Fortran 95 bindings.
+ This package contains the Fortran 95 bindings for PLplot. Note: the Fortran
+ 77 bindings have been deprecated upstream for some time and have now been
+ dropped from the Debian packages.
Package: libplplot-java
Architecture: any
@@ -169,7 +166,7 @@
The source code for this library is part of the plplot source
package.
-Package: plplot11-driver-xwin
+Package: plplot12-driver-xwin
Architecture: any
Section: libs
Depends: ${shlibs:Depends}, ${misc:Depends}
@@ -186,10 +183,10 @@
.
This package provides the X11 driver module for PLplot.
-Package: plplot11-driver-wxwidgets
+Package: plplot12-driver-wxwidgets
Architecture: any
Section: libs
-Depends: libplplot11, ${shlibs:Depends}, ${misc:Depends}
+Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}
Conflicts: plplot9-driver-wxwidgets
Replaces: plplot9-driver-wxwidgets
Description: Scientific plotting library (wxWidgets driver)
@@ -205,7 +202,7 @@
Package: plplot-tcl
Architecture: any
-Depends: plplot11-driver-xwin, iwidgets4, ${shlibs:Depends}, ${misc:Depends}
+Depends: plplot12-driver-xwin, iwidgets4, ${shlibs:Depends}, ${misc:Depends}
Description: Tcl/Tk support for PLplot, a plotting library
PLplot is relatively small, portable, freely distributable, and is rich
enough to satisfy most users. It has a wide range of plot types including
@@ -221,7 +218,7 @@
Package: plplot-tcl-dev
Architecture: any
-Depends: libplplot11 (= ${binary:Version}), plplot-tcl, ${misc:Depends}
+Depends: libplplot12 (= ${binary:Version}), plplot-tcl, ${misc:Depends}
Breaks: plplot-tcl (<= 5.2.0.cvs.20030224-1)
Description: Tcl/Tk development support for PLplot, a plotting library
PLplot is relatively small, portable, freely distributable, and is rich
@@ -235,32 +232,10 @@
This package contains the necessary files to do development in Tcl/Tk
with PLplot: header files, shared libraries links, and examples.
-Package: plplot11-driver-gd
+Package: plplot12-driver-cairo
Architecture: any
Section: libs
Depends: ${shlibs:Depends}, ${misc:Depends}
-Conflicts: plplot9-driver-gd
-Replaces: plplot9-driver-gd
-Recommends: ttf-freefont
-Description: Scientific plotting library (GD driver)
- PLplot is relatively small, portable, freely distributable, and is rich
- enough to satisfy most users. It has a wide range of plot types including
- line (linear, log), contour, 3D, fill, and almost 1000 characters
- (including Greek and mathematical) in its extended font set. The package
- is designed to make it easy to quickly get graphical output; only a
- handful of function calls is typically required. For more advanced use,
- virtually all aspects of plotting are configurable.
- .
- This package provides the GD driver module for PLplot. It allows the
- generation of PNG and JPEG files directly from PLplot programs. The GD
- driver is no longer actively maintained upstream and is likely to be
- dropped in a future release. The cairo and qt drivers offer newer, and
- better alternatives.
-
-Package: plplot11-driver-cairo
-Architecture: any
-Section: libs
-Depends: ${shlibs:Depends}, ${misc:Depends}
Conflicts: plplot9-driver-cairo
Replaces: plplot9-driver-cairo
Description: Scientific plotting library (Cairo driver)
@@ -279,7 +254,7 @@
Package: python-plplot
Architecture: any
Section: python
-Depends: libplplot11 (= ${binary:Version}), ${shlibs:Depends},
+Depends: libplplot12 (= ${binary:Version}), ${shlibs:Depends},
${python:Depends}, ${misc:Depends}
Provides: ${python:Provides}
Description: Python support for PLplot, a plotting library
@@ -298,8 +273,8 @@
Package: python-plplot-qt
Architecture: any
Section: python
-Depends: libplplot11 (= ${binary:Version}), python-plplot (= ${binary:Version}),
- plplot11-driver-qt (= ${binary:Version}),
+Depends: libplplot12 (= ${binary:Version}), python-plplot (= ${binary:Version}),
+ plplot12-driver-qt (= ${binary:Version}),
${shlibs:Depends}, ${python:Depends}, ${misc:Depends}
Provides: ${python:Provides}
Description: Scientific plotting library (python qt GUI)
@@ -316,7 +291,7 @@
Package: octave-plplot
Architecture: any
-Depends: libplplot11 (= ${binary:Version}), octave (>= 3.6.1), ${shlibs:Depends},
+Depends: libplplot12 (= ${binary:Version}), octave (>= 3.6.1), ${shlibs:Depends},
${misc:Depends}
Description: Octave support for PLplot, a plotting library
PLplot is relatively small, portable, freely distributable, and is rich
@@ -331,9 +306,9 @@
almost drop-in replacement for the traditional Gnuplot graphical
interface in Octave. Examples are also provided.
-Package: libplplot-ada0
+Package: libplplot-ada1
Architecture: any
-Depends: libplplot11 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Depends: libplplot12 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Breaks: libplplot-ada (<< 5.9.8-2)
Replaces: libplplot-ada (<< 5.9.8-2)
Description: Ada support for PLplot, a plotting library
@@ -348,13 +323,13 @@
This package contains the runtime Ada bindings library for PLplot.
-Package: libplplot-ada0-dev
+Package: libplplot-ada1-dev
Architecture: any
Section: libdevel
Suggests: plplot-doc
-Depends: libplplot11 (= ${binary:Version}), libqhull-dev, libfreetype6-dev,
+Depends: libplplot12 (= ${binary:Version}), libqhull-dev, libfreetype6-dev,
libltdl3-dev, libqsastime-dev, gnat, gnat-4.6, ${misc:Depends},
- libplplot-ada0 (= ${binary:Version})
+ libplplot-ada1 (= ${binary:Version})
Recommends: libplplot-dev
Breaks: libplplot-ada (<< 5.9.8-2), libplplot-dev (<< 5.9.8-2)
Description: Ada support for PLplot, a plotting library (development files)
@@ -388,10 +363,10 @@
PLplot documentation. It also contains the man pages for the API
functions.
-Package: plplot11-driver-qt
+Package: plplot12-driver-qt
Architecture: any
Section: libs
-Depends: libplplot11, ${shlibs:Depends}, ${misc:Depends}
+Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (qt driver)
PLplot is relatively small, portable, freely distributable, and is rich
enough to satisfy most users. It has a wide range of plot types including
@@ -408,7 +383,7 @@
Package: libplplot-ocaml
Architecture: any
Section: ocaml
-Depends: libplplot11, ocaml-base-nox-${F:OCamlABI}, ${shlibs:Depends}, ${misc:Depends}
+Depends: libplplot12, ocaml-base-nox-${F:OCamlABI}, ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (OCaml bindings)
PLplot is relatively small, portable, freely distributable, and is rich
enough to satisfy most users. It has a wide range of plot types including
@@ -424,7 +399,7 @@
Package: libplplot-lua
Architecture: any
Section: libs
-Depends: libplplot11, ${shlibs:Depends}, ${misc:Depends}, lua5.1
+Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}, lua5.1
Description: Scientific plotting library (lua bindings)
PLplot is relatively small, portable, freely distributable, and is rich
enough to satisfy most users. It has a wide range of plot types including
@@ -440,7 +415,7 @@
Package: libplplot-d
Architecture: any
Section: libs
-Depends: libplplot11, ${shlibs:Depends}, ${misc:Depends}
+Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (D language bindings)
PLplot is relatively small, portable, freely distributable, and is rich
enough to satisfy most users. It has a wide range of plot types including
Modified: trunk/debian/control.in
===================================================================
--- trunk/debian/control.in 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/control.in 2013-10-02 19:52:29 UTC (rev 12570)
@@ -6,30 +6,29 @@
Build-Depends: cmake (>= 2.6.3), debhelper (>= 7),
tcl8.5-dev, tk8.5-dev, itcl3-dev, libx11-dev, libxext-dev,
libxi-dev, gfortran, itk3-dev, liboctave-dev,
- libgd2-noxpm-dev | libgd2-xpm-dev, m4, libqhull-dev (>= 2003.1-8),
+ m4, libqhull-dev (>= 2003.1-8),
libxml-parser-perl, libxml-dom-perl, libltdl3-dev, pkg-config,
slice, python-gtk2-dev, libwxgtk2.8-dev,
python-all-dev (>= 2.6.6-3~),
python-numpy (>= 1:1.4.1-4~), ttf-freefont, default-jdk,
fastjar, swig, gnat [!sh4], libqt4-dev, python-sip-dev,
- python-qt4, python-qt4-dev,
+ python-qt4, python-qt4-dev,
ocaml-nox, camlidl, ocaml-findlib, libcairo-ocaml-dev,
- liblablgtk2-ocaml-dev, liblua5.1-0-dev, lua5.1, gdc-v1
-Build-Depends-Indep: docbook-xml, docbook, docbook-dsssl, docbook-xsl,
- docbook2x, opensp, jadetex, ghostscript
+ liblablgtk2-ocaml-dev, liblua5.1-0-dev, lua5.1, gdc, libshp-dev
+Build-Depends-Indep: xmlto, fop, docbook-xml, docbook-xsl, docbook2x
Build-Conflicts: libplplot5
X-Python-Version: >=2.4
Homepage: http://www.plplot.org
Vcs-Svn: https://plplot.svn.sourceforge.net/svnroot/plplot/trunk/debian
Vcs-Browser: http://plplot.svn.sourceforge.net/viewvc/plplot/trunk/debian/
-Package: libplplot11
+Package: libplplot12
Architecture: any
Section: libs
-Conflicts: libplplot9
+Conflicts: libplplot11
Depends: ${shlibs:Depends}, ${misc:Depends}
-Suggests: plplot11-driver-xwin, plplot11-driver-gd,
- plplot11-driver-cairo, plplot11-driver-qt, plplot11-driver-wxwidgets, plplot-tcl
+Suggests: plplot12-driver-xwin, plplot12-driver-gd,
+ plplot12-driver-cairo, plplot12-driver-qt, plplot12-driver-wxwidgets, plplot-tcl
Replaces: plplot-bin (<< 5.9.6-1)
Breaks: plplot-bin (<<5.9.6-1)
Description: Scientific plotting library
@@ -49,9 +48,9 @@
Section: libdevel
Recommends: pkg-config, cmake, libplplot-ocaml, libplplot-lua, libplplot-d
Suggests: plplot-doc
-Depends: libplplot11 (= ${binary:Version}), libqhull-dev, libfreetype6-dev,
+Depends: libplplot12 (= ${binary:Version}), libqhull-dev, libfreetype6-dev,
libltdl3-dev, libqsastime-dev, ${misc:Depends},
- libplplot-c++10 (= ${binary:Version}), libplplot-fortran9 (= ${binary:Version})
+ libplplot-c++11 (= ${binary:Version}), libplplot-fortran10 (= ${binary:Version})
Breaks: libplplot-fortran9 (<< 5.9.8-1)
Description: Scientific plotting library (development files)
PLplot is relatively small, portable, freely distributable, and is rich
@@ -65,16 +64,15 @@
This package contains all that is needed for doing development in C, C++
and Fortran with PLplot. Examples of programs for these languages are
also included. For development in Tcl/Tk, Python, Octave, Ada and Java
- install the plplot-tcl-dev, python-plplot, octave-plplot, libplplot-ada0-dev
+ install the plplot-tcl-dev, python-plplot, octave-plplot, libplplot-ada1-dev
and libplplot-java packages, respectively. This package also includes the
OCaml, lua and D examples. To use one of these languages you will also
need to install the libplplot-xxx package for that language.
-Package: libplplot-c++10
+Package: libplplot-c++11
Architecture: any
Section: libs
-Conflicts: libplplot5, libplplot-c++9, libplplot-c++9c2
-Replaces: libplplot-c++9c2
+Conflicts: libplplot5, libplplot-c++9, libplplot-c++9c2, libplplot-c++10
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (C++ binding)
PLplot is relatively small, portable, freely distributable, and is rich
@@ -87,7 +85,7 @@
.
This package contains the C++ binding for PLplot.
-Package: libplplot-fortran9
+Package: libplplot-fortran10
Architecture: any
Section: libs
Depends: ${shlibs:Depends} , ${misc:Depends}
@@ -100,10 +98,9 @@
handful of function calls is typically required. For more advanced use,
virtually all aspects of plotting are configurable.
.
- This package contains the Fortran 77 and Fortran 95 bindings for
- PLplot. Note: the Fortran 77 bindings have been deprecated in the latest
- version of PLplot, and will be dropped from a future release. New code
- should use the Fortran 95 bindings.
+ This package contains the Fortran 95 bindings for PLplot. Note: the Fortran
+ 77 bindings have been deprecated upstream for some time and have now been
+ dropped from the Debian packages.
Package: libplplot-java
Architecture: any
@@ -169,7 +166,7 @@
The source code for this library is part of the plplot source
package.
-Package: plplot11-driver-xwin
+Package: plplot12-driver-xwin
Architecture: any
Section: libs
Depends: ${shlibs:Depends}, ${misc:Depends}
@@ -186,10 +183,10 @@
.
This package provides the X11 driver module for PLplot.
-Package: plplot11-driver-wxwidgets
+Package: plplot12-driver-wxwidgets
Architecture: any
Section: libs
-Depends: libplplot11, ${shlibs:Depends}, ${misc:Depends}
+Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}
Conflicts: plplot9-driver-wxwidgets
Replaces: plplot9-driver-wxwidgets
Description: Scientific plotting library (wxWidgets driver)
@@ -205,7 +202,7 @@
Package: plplot-tcl
Architecture: any
-Depends: plplot11-driver-xwin, iwidgets4, ${shlibs:Depends}, ${misc:Depends}
+Depends: plplot12-driver-xwin, iwidgets4, ${shlibs:Depends}, ${misc:Depends}
Description: Tcl/Tk support for PLplot, a plotting library
PLplot is relatively small, portable, freely distributable, and is rich
enough to satisfy most users. It has a wide range of plot types including
@@ -221,7 +218,7 @@
Package: plplot-tcl-dev
Architecture: any
-Depends: libplplot11 (= ${binary:Version}), plplot-tcl, ${misc:Depends}
+Depends: libplplot12 (= ${binary:Version}), plplot-tcl, ${misc:Depends}
Breaks: plplot-tcl (<= 5.2.0.cvs.20030224-1)
Description: Tcl/Tk development support for PLplot, a plotting library
PLplot is relatively small, portable, freely distributable, and is rich
@@ -235,32 +232,10 @@
This package contains the necessary files to do development in Tcl/Tk
with PLplot: header files, shared libraries links, and examples.
-Package: plplot11-driver-gd
+Package: plplot12-driver-cairo
Architecture: any
Section: libs
Depends: ${shlibs:Depends}, ${misc:Depends}
-Conflicts: plplot9-driver-gd
-Replaces: plplot9-driver-gd
-Recommends: ttf-freefont
-Description: Scientific plotting library (GD driver)
- PLplot is relatively small, portable, freely distributable, and is rich
- enough to satisfy most users. It has a wide range of plot types including
- line (linear, log), contour, 3D, fill, and almost 1000 characters
- (including Greek and mathematical) in its extended font set. The package
- is designed to make it easy to quickly get graphical output; only a
- handful of function calls is typically required. For more advanced use,
- virtually all aspects of plotting are configurable.
- .
- This package provides the GD driver module for PLplot. It allows the
- generation of PNG and JPEG files directly from PLplot programs. The GD
- driver is no longer actively maintained upstream and is likely to be
- dropped in a future release. The cairo and qt drivers offer newer, and
- better alternatives.
-
-Package: plplot11-driver-cairo
-Architecture: any
-Section: libs
-Depends: ${shlibs:Depends}, ${misc:Depends}
Conflicts: plplot9-driver-cairo
Replaces: plplot9-driver-cairo
Description: Scientific plotting library (Cairo driver)
@@ -279,7 +254,7 @@
Package: python-plplot
Architecture: any
Section: python
-Depends: libplplot11 (= ${binary:Version}), ${shlibs:Depends},
+Depends: libplplot12 (= ${binary:Version}), ${shlibs:Depends},
${python:Depends}, ${misc:Depends}
Provides: ${python:Provides}
Description: Python support for PLplot, a plotting library
@@ -298,8 +273,8 @@
Package: python-plplot-qt
Architecture: any
Section: python
-Depends: libplplot11 (= ${binary:Version}), python-plplot (= ${binary:Version}),
- plplot11-driver-qt (= ${binary:Version}),
+Depends: libplplot12 (= ${binary:Version}), python-plplot (= ${binary:Version}),
+ plplot12-driver-qt (= ${binary:Version}),
${shlibs:Depends}, ${python:Depends}, ${misc:Depends}
Provides: ${python:Provides}
Description: Scientific plotting library (python qt GUI)
@@ -316,7 +291,7 @@
Package: octave-plplot
Architecture: any
-Depends: libplplot11 (= ${binary:Version}), octave (>= 3.6.1), ${shlibs:Depends},
+Depends: libplplot12 (= ${binary:Version}), octave (>= 3.6.1), ${shlibs:Depends},
${misc:Depends}
Description: Octave support for PLplot, a plotting library
PLplot is relatively small, portable, freely distributable, and is rich
@@ -331,9 +306,9 @@
almost drop-in replacement for the traditional Gnuplot graphical
interface in Octave. Examples are also provided.
-[ADA:Package: libplplot-ada0
+[ADA:Package: libplplot-ada1
Architecture: any
-Depends: libplplot11 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Depends: libplplot12 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Breaks: libplplot-ada (<< 5.9.8-2)
Replaces: libplplot-ada (<< 5.9.8-2)
Description: Ada support for PLplot, a plotting library
@@ -348,13 +323,13 @@
This package contains the runtime Ada bindings library for PLplot.
:]
-[ADA:Package: libplplot-ada0-dev
+[ADA:Package: libplplot-ada1-dev
Architecture: any
Section: libdevel
Suggests: plplot-doc
-Depends: libplplot11 (= ${binary:Version}), libqhull-dev, libfreetype6-dev,
+Depends: libplplot12 (= ${binary:Version}), libqhull-dev, libfreetype6-dev,
libltdl3-dev, libqsastime-dev, gnat, gnat-4.6, ${misc:Depends},
- libplplot-ada0 (= ${binary:Version})
+ libplplot-ada1 (= ${binary:Version})
Recommends: libplplot-dev
Breaks: libplplot-ada (<< 5.9.8-2), libplplot-dev (<< 5.9.8-2)
Description: Ada support for PLplot, a plotting library (development files)
@@ -388,10 +363,10 @@
PLplot documentation. It also contains the man pages for the API
functions.
-Package: plplot11-driver-qt
+Package: plplot12-driver-qt
Architecture: any
Section: libs
-Depends: libplplot11, ${shlibs:Depends}, ${misc:Depends}
+Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (qt driver)
PLplot is relatively small, portable, freely distributable, and is rich
enough to satisfy most users. It has a wide range of plot types including
@@ -408,7 +383,7 @@
Package: libplplot-ocaml
Architecture: any
Section: ocaml
-Depends: libplplot11, ocaml-base-nox-${F:OCamlABI}, ${shlibs:Depends}, ${misc:Depends}
+Depends: libplplot12, ocaml-base-nox-${F:OCamlABI}, ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (OCaml bindings)
PLplot is relatively small, portable, freely distributable, and is rich
enough to satisfy most users. It has a wide range of plot types including
@@ -424,7 +399,7 @@
Package: libplplot-lua
Architecture: any
Section: libs
-Depends: libplplot11, ${shlibs:Depends}, ${misc:Depends}, lua5.1
+Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}, lua5.1
Description: Scientific plotting library (lua bindings)
PLplot is relatively small, portable, freely distributable, and is rich
enough to satisfy most users. It has a wide range of plot types including
@@ -440,7 +415,7 @@
Package: libplplot-d
Architecture: any
Section: libs
-Depends: libplplot11, ${shlibs:Depends}, ${misc:Depends}
+Depends: libplplot12, ${shlibs:Depends}, ${misc:Depends}
Description: Scientific plotting library (D language bindings)
PLplot is relatively small, portable, freely distributable, and is rich
enough to satisfy most users. It has a wide range of plot types including
Deleted: trunk/debian/libplplot-ada0-dev.files
===================================================================
--- trunk/debian/libplplot-ada0-dev.files 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/libplplot-ada0-dev.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -1,5 +0,0 @@
-usr/lib/ada
-usr/share/ada
-usr/lib/libplplotada*.so
-usr/share/doc/libplplot11/examples/ada
-usr/share/doc/libplplot-ada0-dev
Deleted: trunk/debian/libplplot-ada0.files
===================================================================
--- trunk/debian/libplplot-ada0.files 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/libplplot-ada0.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -1,2 +0,0 @@
-usr/lib/libplplotada*.so.*
-usr/share/doc/libplplot-ada0
Copied: trunk/debian/libplplot-ada1-dev.files (from rev 12562, trunk/debian/libplplot-ada0-dev.files)
===================================================================
--- trunk/debian/libplplot-ada1-dev.files (rev 0)
+++ trunk/debian/libplplot-ada1-dev.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -0,0 +1,5 @@
+usr/lib/ada
+usr/share/ada
+usr/lib/libplplotada*.so
+usr/share/doc/libplplot12/examples/ada
+usr/share/doc/libplplot-ada1-dev
Copied: trunk/debian/libplplot-ada1.files (from rev 12562, trunk/debian/libplplot-ada0.files)
===================================================================
--- trunk/debian/libplplot-ada1.files (rev 0)
+++ trunk/debian/libplplot-ada1.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -0,0 +1,2 @@
+usr/lib/libplplotada*.so.*
+usr/share/doc/libplplot-ada1
Deleted: trunk/debian/libplplot-c++10.files
===================================================================
--- trunk/debian/libplplot-c++10.files 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/libplplot-c++10.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -1,2 +0,0 @@
-usr/lib/libplplotcxxd.so.*
-usr/share/doc/libplplot-c++10
Copied: trunk/debian/libplplot-c++11.files (from rev 12562, trunk/debian/libplplot-c++10.files)
===================================================================
--- trunk/debian/libplplot-c++11.files (rev 0)
+++ trunk/debian/libplplot-c++11.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -0,0 +1,2 @@
+usr/lib/libplplotcxxd.so.*
+usr/share/doc/libplplot-c++11
Modified: trunk/debian/libplplot-dev.files
===================================================================
--- trunk/debian/libplplot-dev.files 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/libplplot-dev.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -4,6 +4,6 @@
usr/lib/lib*.so
usr/lib/fortran
usr/lib/pkgconfig
-usr/share/doc/libplplot11/examples
-usr/share/doc/libplplot11/README.pkg-config
+usr/share/doc/libplplot12/examples
+usr/share/doc/libplplot12/README.pkg-config
usr/share/doc/libplplot-dev
Copied: trunk/debian/libplplot-fortran10.files (from rev 12562, trunk/debian/libplplot-fortran9.files)
===================================================================
--- trunk/debian/libplplot-fortran10.files (rev 0)
+++ trunk/debian/libplplot-fortran10.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -0,0 +1,2 @@
+usr/lib/libplplotf*.so.*
+usr/share/doc/libplplot-fortran10
Deleted: trunk/debian/libplplot-fortran9.files
===================================================================
--- trunk/debian/libplplot-fortran9.files 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/libplplot-fortran9.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -1,2 +0,0 @@
-usr/lib/libplplotf*.so.*
-usr/share/doc/libplplot-fortran9
Modified: trunk/debian/libplplot-java.files
===================================================================
--- trunk/debian/libplplot-java.files 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/libplplot-java.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -1,4 +1,4 @@
usr/lib/jni
usr/share/java
-usr/share/doc/libplplot11/examples/java
+usr/share/doc/libplplot12/examples/java
usr/share/doc/libplplot-java
Deleted: trunk/debian/libplplot11.files
===================================================================
--- trunk/debian/libplplot11.files 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/libplplot11.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -1,7 +0,0 @@
-usr/lib
-usr/share/plplot*/*.map
-usr/share/plplot*/*.fnt
-usr/share/plplot*/*.pal
-usr/share/doc/libplplot11
-
-
Copied: trunk/debian/libplplot12.files (from rev 12562, trunk/debian/libplplot11.files)
===================================================================
--- trunk/debian/libplplot12.files (rev 0)
+++ trunk/debian/libplplot12.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -0,0 +1,9 @@
+usr/lib
+usr/share/plplot*/*.map
+usr/share/plplot*/*.fnt
+usr/share/plplot*/*.pal
+usr/share/plplot*/*.shp
+usr/share/plplot*/*.shx
+usr/share/doc/libplplot12
+
+
Modified: trunk/debian/octave-plplot.files
===================================================================
--- trunk/debian/octave-plplot.files 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/octave-plplot.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -1,6 +1,6 @@
usr/share/plplot_octave
usr/share/octave/site/m/PLplot
usr/lib/*/octave
-usr/share/doc/libplplot11/*.octave
-usr/share/doc/libplplot11/examples/*octave*
+usr/share/doc/libplplot12/*.octave
+usr/share/doc/libplplot12/examples/*octave*
usr/share/doc/octave-plplot
Modified: trunk/debian/patches/02_unset-python-path.diff
===================================================================
--- trunk/debian/patches/02_unset-python-path.diff 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/patches/02_unset-python-path.diff 2013-10-02 19:52:29 UTC (rev 12570)
@@ -7,11 +7,11 @@
@DPATCH@
-Index: plplot-5.9.9/examples/python/CMakeLists.txt
+Index: plplot-5.9.10/examples/python/CMakeLists.txt
===================================================================
---- plplot-5.9.9.orig/examples/python/CMakeLists.txt 2012-02-28 11:40:09.000000000 +0000
-+++ plplot-5.9.9/examples/python/CMakeLists.txt 2012-02-28 11:42:31.000000000 +0000
-@@ -241,7 +241,7 @@
+--- plplot-5.9.10.orig/examples/python/CMakeLists.txt 2013-10-01 13:10:17.191293736 +0100
++++ plplot-5.9.10/examples/python/CMakeLists.txt 2013-10-01 13:10:17.179293736 +0100
+@@ -245,7 +245,7 @@
@ONLY
)
Added: trunk/debian/patches/fix-d-examples.diff
===================================================================
--- trunk/debian/patches/fix-d-examples.diff (rev 0)
+++ trunk/debian/patches/fix-d-examples.diff 2013-10-02 19:52:29 UTC (rev 12570)
@@ -0,0 +1,15 @@
+Description: Fix D examples
+Author: Andrew Ross <and...@us...>
+Origin: upstream
+Index: plplot-5.9.10/examples/d/x20d.d
+===================================================================
+--- plplot-5.9.10.orig/examples/d/x20d.d 2013-10-02 10:27:39.162480034 +0100
++++ plplot-5.9.10/examples/d/x20d.d 2013-10-02 10:29:03.410477825 +0100
+@@ -6,6 +6,7 @@
+
+ import std.math;
+ import std.stdio;
++import std.file;
+
+ import plplot;
+
Property changes on: trunk/debian/patches/fix-d-examples.diff
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/debian/patches/fix-lua-includes.diff
===================================================================
--- trunk/debian/patches/fix-lua-includes.diff 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/patches/fix-lua-includes.diff 2013-10-02 19:52:29 UTC (rev 12570)
@@ -3,13 +3,13 @@
Last-Update: 2012-07-19
===================================================================
-Index: plplot-5.9.9/cmake/modules/lua.cmake
+Index: plplot-5.9.10/cmake/modules/lua.cmake
===================================================================
---- plplot-5.9.9.orig/cmake/modules/lua.cmake 2011-10-13 01:43:01.000000000 +0100
-+++ plplot-5.9.9/cmake/modules/lua.cmake 2012-07-20 00:11:55.295075888 +0100
-@@ -118,3 +118,11 @@
- set(LUA_DIR ${LIB_DIR}/lua/50/plplot)
- endif(LUA51_FOUND)
+--- plplot-5.9.10.orig/cmake/modules/lua.cmake 2013-10-01 13:10:33.183293316 +0100
++++ plplot-5.9.10/cmake/modules/lua.cmake 2013-10-01 13:10:33.171293317 +0100
+@@ -86,3 +86,11 @@
+ set(LUA_DIR ${LIB_DIR}/lua/${LUA_VERSION}/plplot)
+ endif(LUA_VERSION MATCHES "5\\.0")
endif(ENABLE_lua)
+
+if(ENABLE_lua AND LUA51_FOUND)
Modified: trunk/debian/patches/proper-path-handling.diff
===================================================================
--- trunk/debian/patches/proper-path-handling.diff 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/patches/proper-path-handling.diff 2013-10-02 19:52:29 UTC (rev 12570)
@@ -2,11 +2,13 @@
Author: Rafael Laboissiere <ra...@la...>
Last-Update: 2012-03-31
---- plplot-5.9.9.orig/bindings/octave/PLplot/toggle_plplot_use.m
-+++ plplot-5.9.9/bindings/octave/PLplot/toggle_plplot_use.m
-@@ -34,9 +34,7 @@ endif
+Index: plplot-5.9.10/bindings/octave/PLplot/toggle_plplot_use.m
+===================================================================
+--- plplot-5.9.10.orig/bindings/octave/PLplot/toggle_plplot_use.m 2013-10-01 13:05:57.927300532 +0100
++++ plplot-5.9.10/bindings/octave/PLplot/toggle_plplot_use.m 2013-10-01 13:05:57.915300532 +0100
+@@ -39,9 +39,7 @@
use_plplot_path = plplot_octave_path;
- plplot_path_to_remove = strsplit(genpath(use_plplot_path),pathsep);
+ plplot_path_to_remove = char(strsplit(genpath(use_plplot_path),pathsep));
for use_plplot_i=1:size(plplot_path_to_remove)(1)
- if (findstr(path,deblank(plplot_path_to_remove(use_plplot_i,:))) > 0)
- rmpath(deblank(plplot_path_to_remove(use_plplot_i,:)));
Modified: trunk/debian/patches/series
===================================================================
--- trunk/debian/patches/series 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/patches/series 2013-10-02 19:52:29 UTC (rev 12570)
@@ -1,11 +1,12 @@
+fix-d-examples.diff
02_unset-python-path.diff
#04_use-mkoctfile.diff
#07_octave_prune_examples.diff
-08_nn_link_libm.diff
-replace-deprecated-split.diff
+#08_nn_link_lib.diff
+#replace-deprecated-split.diff
proper-path-handling.diff
-fix-boolean-operators.diff
-fix-cmake-ada-support.diff
+#fix-boolean-operators.diff
+#fix-cmake-ada-support.diff
fix-lua-includes.diff
-fix-cmake-d-support.diff
-java-pltr2-fix.diff
+#fix-cmake-d-support.diff
+#java-pltr2-fix.diff
Modified: trunk/debian/plplot-tcl-dev.files
===================================================================
--- trunk/debian/plplot-tcl-dev.files 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/plplot-tcl-dev.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -3,5 +3,5 @@
usr/include/plplot/pltk.h
usr/include/plplot/tclMatrix.h
usr/share/doc/plplot-tcl-dev
-usr/share/doc/libplplot11/examples/*tcl*
-usr/share/doc/libplplot11/examples/tk
+usr/share/doc/libplplot12/examples/*tcl*
+usr/share/doc/libplplot12/examples/tk
Modified: trunk/debian/plplot-tcl-dev.lintian-overrides
===================================================================
--- trunk/debian/plplot-tcl-dev.lintian-overrides 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/plplot-tcl-dev.lintian-overrides 2013-10-02 19:52:29 UTC (rev 12570)
@@ -2,6 +2,6 @@
# by CMake and so the interpreter is replaced before the script is
# acutally run.
-plplot-tcl-dev binary: example-interpreter-not-absolute usr/share/doc/libplplot11/examples/tk/tk01.in #!@xtk01_LOCATION@
-plplot-tcl-dev binary: example-interpreter-not-absolute usr/share/doc/libplplot11/examples/tk/tk02.in #!@xtk02_LOCATION@
-plplot-tcl-dev binary: example-interpreter-not-absolute usr/share/doc/libplplot11/examples/tk/tk04.in #!@xtk04_LOCATION@
+plplot-tcl-dev binary: example-interpreter-not-absolute usr/share/doc/libplplot21/examples/tk/tk01.in #!@xtk01_LOCATION@
+plplot-tcl-dev binary: example-interpreter-not-absolute usr/share/doc/libplplot21/examples/tk/tk02.in #!@xtk02_LOCATION@
+plplot-tcl-dev binary: example-interpreter-not-absolute usr/share/doc/libplplot21/examples/tk/tk04.in #!@xtk04_LOCATION@
Deleted: trunk/debian/plplot11-driver-cairo.files
===================================================================
--- trunk/debian/plplot11-driver-cairo.files 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/plplot11-driver-cairo.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -1,2 +0,0 @@
-usr/lib/plplot*/driversd/cairo.*
-usr/share/doc/plplot11-driver-cairo
Deleted: trunk/debian/plplot11-driver-gd.files
===================================================================
--- trunk/debian/plplot11-driver-gd.files 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/plplot11-driver-gd.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -1,4 +0,0 @@
-usr/lib/plplot*/driversd/gd.*
-usr/share/doc/plplot11-driver-gd
-
-
Deleted: trunk/debian/plplot11-driver-qt.files
===================================================================
--- trunk/debian/plplot11-driver-qt.files 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/plplot11-driver-qt.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -1,4 +0,0 @@
-usr/lib/plplot*/driversd/qt.*
-usr/lib/libplplotqtd.so.*
-usr/share/doc/plplot11-driver-qt
-usr/lib/python*/plplot_pyqt4.so
Deleted: trunk/debian/plplot11-driver-wxwidgets.files
===================================================================
--- trunk/debian/plplot11-driver-wxwidgets.files 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/plplot11-driver-wxwidgets.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -1,5 +0,0 @@
-usr/lib/plplot*/driversd/wxwidgets.*
-usr/lib/libplplotwxwidgetsd.so.*
-usr/share/doc/plplot11-driver-wxwidgets
-
-
Deleted: trunk/debian/plplot11-driver-xwin.files
===================================================================
--- trunk/debian/plplot11-driver-xwin.files 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/plplot11-driver-xwin.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -1,4 +0,0 @@
-usr/lib/plplot*/driversd/xwin.*
-usr/share/doc/plplot11-driver-xwin
-
-
Copied: trunk/debian/plplot12-driver-cairo.files (from rev 12562, trunk/debian/plplot11-driver-cairo.files)
===================================================================
--- trunk/debian/plplot12-driver-cairo.files (rev 0)
+++ trunk/debian/plplot12-driver-cairo.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -0,0 +1,2 @@
+usr/lib/plplot*/driversd/cairo.*
+usr/share/doc/plplot12-driver-cairo
Copied: trunk/debian/plplot12-driver-qt.files (from rev 12562, trunk/debian/plplot11-driver-qt.files)
===================================================================
--- trunk/debian/plplot12-driver-qt.files (rev 0)
+++ trunk/debian/plplot12-driver-qt.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -0,0 +1,4 @@
+usr/lib/plplot*/driversd/qt.*
+usr/lib/libplplotqtd.so.*
+usr/share/doc/plplot12-driver-qt
+usr/lib/python*/plplot_pyqt4.so
Copied: trunk/debian/plplot12-driver-wxwidgets.files (from rev 12562, trunk/debian/plplot11-driver-wxwidgets.files)
===================================================================
--- trunk/debian/plplot12-driver-wxwidgets.files (rev 0)
+++ trunk/debian/plplot12-driver-wxwidgets.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -0,0 +1,5 @@
+usr/lib/plplot*/driversd/wxwidgets.*
+usr/lib/libplplotwxwidgetsd.so.*
+usr/share/doc/plplot12-driver-wxwidgets
+
+
Copied: trunk/debian/plplot12-driver-xwin.files (from rev 12562, trunk/debian/plplot11-driver-xwin.files)
===================================================================
--- trunk/debian/plplot12-driver-xwin.files (rev 0)
+++ trunk/debian/plplot12-driver-xwin.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -0,0 +1,4 @@
+usr/lib/plplot*/driversd/xwin.*
+usr/share/doc/plplot12-driver-xwin
+
+
Modified: trunk/debian/python-plplot.files
===================================================================
--- trunk/debian/python-plplot.files 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/python-plplot.files 2013-10-02 19:52:29 UTC (rev 12570)
@@ -1,3 +1,3 @@
usr/lib/python*
-usr/share/doc/libplplot11/examples/*python*
+usr/share/doc/libplplot12/examples/*python*
usr/share/doc/python-plplot
Modified: trunk/debian/rules
===================================================================
--- trunk/debian/rules 2013-10-02 17:22:29 UTC (rev 12569)
+++ trunk/debian/rules 2013-10-02 19:52:29 UTC (rev 12570)
@@ -16,7 +16,7 @@
OCTDIR = $(shell octave-config --print LOCALAPIOCTFILEDIR)
version := $(shell perl debian/get-upstream-version.pl < cmake/modules/plplot_version.cmake)
-libpkg := libplplot11
+libpkg := libplplot12
docpkg := plplot-doc
debbase := $(shell pwd)/debian
debtmp := $(debbase)/tmp
@@ -39,7 +39,6 @@
FFLAGS += -fvisibility=hidden
LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS)
LDFLAGS += -Wl,--as-needed
-DC = gdc-v1
JAVA_HOME = /usr/lib/jvm/default-java
@@ -94,7 +93,7 @@
config-stamp: control
mkdir -p $(BUILD_DIR)
( cd $(BUILD_DIR) ; \
- PKG_CONFIG_ENV=" " F77=gfortran FC=gfortran \
+ PKG_CONFIG_ENV=" " FC=gfortran \
JAVA_HOME=$(JAVA_HOME) DC=$(DC) \
CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" FFLAGS="$(FFLAGS)" \
LDFLAGS="$(LDFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
@@ -127,9 +126,9 @@
install-arch: install-arch-stamp install-python
dh_movefiles -a --no-package=$(libpkg) --no-package=libplplot-dev \
--no-package=python-plplot --no-package=python-plplot-qt \
- --no-package=libplplot-java --no-package=libplplot-ada0 \
+ --no-package=libplplot-java --no-package=libplplot-ada1 \
--no-package=libplplot-ocaml --no-package=libplplot-lua \
- --no-package=libplplot-d --no-package=libplplot-ada0-dev
+ --no-package=libplplot-d --no-package=libplplot-ada1-dev
dh_movefiles --package=python-plplot-qt
dh_movefiles --package=python-plplot
dh_movefiles --package=libplplot-java
@@ -137,8 +136,8 @@
dh_movefiles --package=libplplot-lua
dh_movefiles --package=libplplot-d
ifeq ($(BUILD_ADA),yes)
- dh_movefiles --package=libplplot-ada0
- dh_movefiles --package=libplplot-ada0-dev
+ dh_movefiles --package=libplplot-ada1
+ dh_movefiles --package=libplplot-ada1-dev
endif
dh_movefiles --package=libplplot-dev
dh_movefiles --package=$(libpkg)
@@ -155,7 +154,7 @@
$(MAKE) DESTDIR=$(debtmp) install )
( cd $(debdoc)/plplot ; \
- rm -f COPYING.LIB *.dvi ; \
+ rm -f COPYING.LIB ; \
mv ChangeLog.release changelog )
mv $(debdoc)/plplot $(debdoc)/$(libpkg)
@@ -165,11 +164,11 @@
mv $(debex) $(debdoc)/$(libpkg)
for i in libplplot-dev plplot-tcl plplot-tcl-dev \
- plplot11-driver-gd plplot11-driver-xwin octave-plplot \
+ plplot12-driver-xwin octave-plplot \
python-plplot-qt \
- python-plplot libplplot-c++10 plplot11-driver-wxwidgets \
- plplot11-driver-qt libplplot-java \
- plplot11-driver-cairo libplplot-fortran9 \
+ python-plplot libplplot-c++11 plplot12-driver-wxwidgets \
+ plplot12-driver-qt libplplot-java \
+ plplot12-driver-cairo libplplot-fortran10 \
libplplot-ocaml libplplot-lua libplplot-d ; do \
ln -s $(libpkg) $(debdoc)/$$i ; \
done
@@ -179,8 +178,8 @@
( cd $(debshr)/java ; ln -s plplot-$(version).jar plplot.jar )
ifeq ($(BUILD_ADA),yes)
- ln -s $(libpkg) $(debdoc)/libplplot-ada0
- ln -s $(libpkg) $(debdoc)/libplplot-ada0-dev
+ ln -s $(libpkg) $(debdoc)/libplplot-ada1
+ ln -s $(libpkg) $(debdoc)/libplplot-ada1-dev
endif
touch install-arch-stamp
@@ -201,7 +200,7 @@
install-python%: build-arch-stamp
( cd $(BUILD_DIR) ; \
- cmake $(SRC_DIR) $(CONFIGURE_OPTIONS) -DPYTHON_EXECUTABLE=/usr/bin/python$* -DPYTHON_LIBRARIES=/usr/lib/python$* -DPYTHON_LIBRARY=`python-config --config-dir`/libpython$*.so -DPYTHON_INCLUDE_PATH="/usr/include/python$*;/usr/include/numpy;/usr/lib/pyshared/python$*/numpy/core/include/numpy" -DNUMERIC_INCLUDE_PATH=/usr/include/numpy ; \
+ cmake $(SRC_DIR) $(CONFIGURE_OPTIONS) -DPYTHON_EXECUTABLE=/usr/bin/python$* -DPYTHON_LIBRARIES=/usr/lib/python$* -DPYTHON_LIBRARY=`python-config --configdir`/libpython$*.so -DPYTHON_INCLUDE_PATH="/usr/include/python$*;/usr/include/numpy;/usr/lib/pyshared/python$*/numpy/core/include/numpy" -DNUMERIC_INCLUDE_PATH=/usr/include/numpy ; \
for d in python qt_gui/pyqt4 ; do \
( cd bindings/$$d; \
$(MAKE) clean ; \
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-02 17:22:32
|
Revision: 12569
http://sourceforge.net/p/plplot/code/12569
Author: airwin
Date: 2013-10-02 17:22:29 +0000 (Wed, 02 Oct 2013)
Log Message:
-----------
Indicate how to make the latest tarball the default choice at
SF.
Add more gpg details.
Modified Paths:
--------------
trunk/README.Release_Manager_Cookbook
Modified: trunk/README.Release_Manager_Cookbook
===================================================================
--- trunk/README.Release_Manager_Cookbook 2013-10-02 09:23:08 UTC (rev 12568)
+++ trunk/README.Release_Manager_Cookbook 2013-10-02 17:22:29 UTC (rev 12569)
@@ -493,6 +493,14 @@
put plplot-5.9.10.tar.gz
exit
+Make, e.g., plplot-5.9.10.tar.gz, the "latest" version.
+
+login to SF website
+files ==> plplot ==> 5.9.10 Source ==> view details (the "i" icon) for
+plplot-5.9.10.tar.gz ==> select "all" for the default
+
+The above spins indefinitely with iceweasel, but it does work.
+
# Save a local copy of the release tarball for future reference.
cd /home/software/plplot_svn/HEAD/export #(or wherever)
cp -a /tmp/plplot-dist-prep/plplot-5.9.10.tar.gz* .
@@ -526,6 +534,8 @@
to give reasonable default results.
+
+
(15) Publicize the release announcement
Jerry: macresearch.org
@@ -549,22 +559,133 @@
(A1) GNU Privacy Guard (gpg)
A brief summary of developer relevant gpg commands, see also:
-http://dewinter.com/gnupg_howto/english/GPGMiniHowto.html
-man gpg
+http://dewinter.com/gnupg_howto/english/GPGMiniHowto.html,
+man gpg, and http://www.gnupg.org/faq/GnuPG-FAQ.html.
-create a new key:
+* Configure key-server (if you haven't done that already) by editing
+ $HOME/.gnupg/gpg.conf. Also specify the auto-key-retrieve option
+ for convenience.
+
+* List keys on your keyring that have been retrieved or generated so far:
+
+gpg --list-keys irwin
+
+* Search for any previously published keys that you might want to
+ revoke. (Note the search phrase is case insensitive but the search
+ is done on the Boolean AND of the terms so the following search would
+ miss any key generated in the past by Alan Irwin because of the
+ middle initial "W." that is specified for the search). OTOH, I
+ always use my middle initial for publications to reduce name clashes.
+
+gpg --search-keys Alan W. Irwin
+
+* Create a new key:
+
gpg --gen-key
-list keys so that you can find the ID of the key you created:
-gpg --list-keys
+ With gnupg 1.4.10, I chose the following options when creating a new key:
+
+Please select what kind of key you want:
+ (1) RSA and RSA (default)
-upload your (public) key to GPG key server so that others can obtain it to
+What keysize do you want?
+2048 (default)
+5-year expiration date.
+
+....
+
+Real name: Alan W. Irwin
+Email address: ai...@us...
+Comment: Time Ephemerides key
+You selected this USER-ID:
+ "Alan W. Irwin (Time Ephemerides key) <ai...@us...>"
+
+
+N.B. nameofkey below is the name of the key, usually specified by the
+second number after the slash for the first pub line given by
+"gpg --list-keys". For example, the above key gives the following
+result:
+
+software@raven> gpg --list-keys irwin
+pub 2048R/BB159E92 2011-08-19 [expires: 2016-08-17]
+uid Alan W. Irwin (Time Ephemerides key) <ai...@us...>
+sub 2048R/C5ECCF77 2011-08-19 [expires: 2016-08-17]
+
+So the name could be BB159E92. Other possibilities exist as well such
+as "irwin", but that might not be unique.
+
+Here is a complete recording of the gpg --edit-keys commands where I
+added an additional user ID with the different comment "PLplot key" to my
+existing key. Note this technique
+could be used to add an additional user ID with a different
+Real name or Email address as well.
+
+gpg --edit-key irwin
+gpg> adduid
+Real name: Alan W. Irwin
+Email address: ai...@us...
+Comment: PLplot key
+Okay # to accept this added subkey
+... need to enter passphrase
+
+gpg> uid 5 # to select the new user ID for additional changes
+gpg> trust # select ultimate since you ultimately trust yourself. :-)
+Your decision? 5
+Do you really want to set this key to ultimate trust? (y/N) y
+
+# Do to a gpg bug, the trust value looks like it is not updated, but
+# it is so if you
+
+gpg > save # To save your changes, the trust value listed by
+
+gpg --list-keys irwin
+
+is correct.
+
+If you make a mistake in adding a new user id.... (which happened to
+me when I put down a wrong e-mail address).
+
+gpg --edit-key irwin
+
+adduid (fill in correct e-mail address this time)
+uid number (to select uid to work on for further commands
+revuid (revoke bad e-mail one)
+primary (to make the new one the primary one, I am not sure that is necessary)
+trust (to make the new one ultimately trusted, again, not sure that is necessary. N.B. didn't seem to change trust value, but that was just bad output)
+
+save (to get out again)
+
+When edited the next time showed ultimate trust value for correct id, but
+I don't know whether that was the above primary/trust subcommands or
+whether those were necessary at all. It turned out those were not
+necessary at all as I later used the above sequence to generate
+a libLASi key and a FreeEOS uid key.
+
+* Generate a revocation certificate. Note this requires the pass phrase
+ specified at the time of key generation so keep that pass phrase in
+ a safe place or else generate the revocation certificate right after
+ generating the key, and keep that certificate in a safe place. I chose
+ the former course (keep the pass phrase safe). N.B. the options should
+ appear below in the order given!
+
+gpg --armor -o nameofkey-revocation.asc --gen-revoke nameofkey
+
+* Publicly revoke old key (from FAQ):
+
+gpg --import old-revocation.asc
+gpg --send-keys nameofkey
+
+* Upload your (public) key to GPG key server so that others can obtain it to
verify your signature on the release tarball.
-gpg --send-keys 6C58D1AC
-(where 6C58D1AC is replaced with the appropriate value from the list-keys
-command)
+gpg --send-keys nameofkey
+gpg --refresh-keys (to update from the server all keys including your own).
+This verified that the bad irwin address was revoked even though
+gpg --search-keys Alan W. Irwin
+
+still shows revoked uid as the #1 uid.
+
(A2) (Optional) Creating a test tarball from trunk
This step is only required if you have some concerns about how
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-10-02 09:23:13
|
Revision: 12568
http://sourceforge.net/p/plplot/code/12568
Author: andrewross
Date: 2013-10-02 09:23:08 +0000 (Wed, 02 Oct 2013)
Log Message:
-----------
Fix bug in D example 20. Won't compile with latest version of gdc.
Modified Paths:
--------------
trunk/examples/d/x20d.d
Modified: trunk/examples/d/x20d.d
===================================================================
--- trunk/examples/d/x20d.d 2013-10-01 21:20:49 UTC (rev 12567)
+++ trunk/examples/d/x20d.d 2013-10-02 09:23:08 UTC (rev 12568)
@@ -6,6 +6,7 @@
import std.math;
import std.stdio;
+import std.file;
import plplot;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-01 21:20:57
|
Revision: 12567
http://sourceforge.net/p/plplot/code/12567
Author: airwin
Date: 2013-10-01 21:20:49 +0000 (Tue, 01 Oct 2013)
Log Message:
-----------
Set appropriate environment variables (found with a google search) so
that the onsgmls validation tool works fine even if the XML source for
DocBook contains any of the many UTF-8 characters that are allowed for
XML but not for SGML.
Modified Paths:
--------------
trunk/cmake/modules/docbook.cmake
trunk/doc/docbook/src/CMakeLists.txt
Modified: trunk/cmake/modules/docbook.cmake
===================================================================
--- trunk/cmake/modules/docbook.cmake 2013-10-01 18:13:58 UTC (rev 12566)
+++ trunk/cmake/modules/docbook.cmake 2013-10-01 21:20:49 UTC (rev 12567)
@@ -54,12 +54,17 @@
set(DOCBOOK_DTD_SYSID "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd")
find_program(ONSGMLS onsgmls)
+find_program(ENV_FOR_ONSGMLS env)
-if(ONSGMLS )
- message(STATUS "validate target will be available to check for syntax issues in the PLplot DocBook documentation using ${ONSGMLS}.")
-else(ONSGMLS )
- message(STATUS "WARNING: validate target will not be available to check for syntax issues in the PLplot DocBook documentation because onsgmls was not found.")
-endif(ONSGMLS )
+if(ONSGMLS AND ENV_FOR_ONSGMLS)
+ message(STATUS "validate target will be available to check for syntax issues in the PLplot DocBook documentation using ${ENV_FOR_ONSGMLS} SP_CHARSET_FIXED=yes SP_ENCODING=xml ${ONSGMLS}.")
+ # Note, these environment variables have to be set to use onsgml with
+ # UTF-8 documents, see https://bugzilla.redhat.com/show_bug.cgi?id=66179
+ set(ONSGMLS ${ENV_FOR_ONSGMLS} SP_CHARSET_FIXED=yes SP_ENCODING=xml ${ONSGMLS})
+else(ONSGMLS AND ENV_FOR_ONSGMLS)
+ message(STATUS "WARNING: validate target will not be available to check for syntax issues in the PLplot DocBook documentation because onsgmls (or env) was not found.")
+ set(ONSGMLS NOTFOUND)
+endif(ONSGMLS AND ENV_FOR_ONSGMLS)
# This option is used for the BUILD_DOC case below and elsewhere and also
# for the PREBUILT_DOC case elsewhere (when stylesheet.css is configured).
Modified: trunk/doc/docbook/src/CMakeLists.txt
===================================================================
--- trunk/doc/docbook/src/CMakeLists.txt 2013-10-01 18:13:58 UTC (rev 12566)
+++ trunk/doc/docbook/src/CMakeLists.txt 2013-10-01 21:20:49 UTC (rev 12567)
@@ -105,6 +105,7 @@
# Custom target for validating xml file
add_custom_target(validate
COMMAND ${ONSGMLS} ${XML_DECL} ${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-html.xml > ${VALIDATE_OUTPUT}
+ VERBATIM
)
add_dependencies(validate copy_prebuiltdoc)
endif(ONSGMLS)
@@ -179,6 +180,7 @@
add_custom_target(validate
COMMAND ${ONSGMLS} ${XML_DECL} ${CMAKE_CURRENT_BINARY_DIR}/${PLPLOTDOC}-html.xml > ${VALIDATE_OUTPUT}
+ VERBATIM
)
add_dependencies(validate
docbook_plplot-symbols_txt
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sm...@us...> - 2013-10-01 18:14:01
|
Revision: 12566
http://sourceforge.net/p/plplot/code/12566
Author: smekal
Date: 2013-10-01 18:13:58 +0000 (Tue, 01 Oct 2013)
Log Message:
-----------
Changed the link to the plplot Sourceforge News feed according to api description here: http://sourceforge.net/apps/trac/sourceforge/wiki/API. Plplot webpage should be ok with these changes again.
Modified Paths:
--------------
trunk/www/corefunctions.php
Modified: trunk/www/corefunctions.php
===================================================================
--- trunk/www/corefunctions.php 2013-10-01 18:06:19 UTC (rev 12565)
+++ trunk/www/corefunctions.php 2013-10-01 18:13:58 UTC (rev 12566)
@@ -96,12 +96,11 @@
function pageNews($newscount, $contentlength)
{
// Open the PLplot News RSS feed and parse it
+ // Options for sourceforge news feed can be looked up at this link:
+ // http://sourceforge.net/apps/trac/sourceforge/wiki/API
$feed = new SimplePie();
$feed->enable_cache(false); // disable cache
-// This old url just redirects to the correct one below (without
-// rss_limit).
-// $url = sprintf("http://sourceforge.net/export/rss2_projnews.php?group_id=2915&rss_limit=%d", $newscount);
- $url = sprintf("http://sourceforge.net/p/plplot/news/feed");
+ $url = sprintf("http://sourceforge.net/api/news/index/project-id/2915/limit/%d/rss", $newscount);
$feed->set_feed_url($url);
$feed->init();
$feed->handle_content_type();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sm...@us...> - 2013-10-01 18:06:22
|
Revision: 12565
http://sourceforge.net/p/plplot/code/12565
Author: smekal
Date: 2013-10-01 18:06:19 +0000 (Tue, 01 Oct 2013)
Log Message:
-----------
Update of simplepie.inc to the latest version (1.3.1, downloaded from simplepie.org).
Modified Paths:
--------------
trunk/www/simplepie.inc
Modified: trunk/www/simplepie.inc
===================================================================
--- trunk/www/simplepie.inc 2013-10-01 18:02:35 UTC (rev 12564)
+++ trunk/www/simplepie.inc 2013-10-01 18:06:19 UTC (rev 12565)
@@ -5,7 +5,10 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2009, Ryan Parman and Geoffrey Sneddon
+ * Please note: This file is automatically generated by a build script. The
+ * full original source is always available from http://simplepie.org/
+ *
+ * Copyright (c) 2004-2012, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,14 +36,13 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @version 1.3-dev
- * @copyright 2004-2009 Ryan Parman, Geoffrey Sneddon
+ * @version 1.3.1
+ * @copyright 2004-2012 Ryan Parman, Geoffrey Sneddon, Ryan McCue
* @author Ryan Parman
* @author Geoffrey Sneddon
+ * @author Ryan McCue
* @link http://simplepie.org/ SimplePie
- * @link http://simplepie.org/support/ Please submit all bug reports and feature requests to the SimplePie forums
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
- * @todo phpDoc comments
*/
/**
@@ -51,13 +53,13 @@
/**
* SimplePie Version
*/
-define('SIMPLEPIE_VERSION', '1.2.1-dev');
+define('SIMPLEPIE_VERSION', '1.3.1');
/**
* SimplePie Build
- * @todo Hardcode for release (there's no need to have to call SimplePie_Misc::parse_date() only every load of simplepie.inc)
+ * @todo Hardcode for release (there's no need to have to call SimplePie_Misc::get_build() only every load of simplepie.inc)
*/
-define('SIMPLEPIE_BUILD', gmdate('YmdHis', SimplePie_Misc::parse_date(substr('$Date$', 7, 25)) ? SimplePie_Misc::parse_date(substr('$Date$', 7, 25)) : filemtime(__FILE__)));
+define('SIMPLEPIE_BUILD', '20121030175911');
/**
* SimplePie Website URL
@@ -334,11 +336,31 @@
define('SIMPLEPIE_NAMESPACE_MEDIARSS', 'http://search.yahoo.com/mrss/');
/**
- * Wrong Media RSS Namespace
+ * Wrong Media RSS Namespace. Caused by a long-standing typo in the spec.
*/
define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG', 'http://search.yahoo.com/mrss');
/**
+ * Wrong Media RSS Namespace #2. New namespace introduced in Media RSS 1.5.
+ */
+define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG2', 'http://video.search.yahoo.com/mrss');
+
+/**
+ * Wrong Media RSS Namespace #3. A possible typo of the Media RSS 1.5 namespace.
+ */
+define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG3', 'http://video.search.yahoo.com/mrss/');
+
+/**
+ * Wrong Media RSS Namespace #4. New spec location after the RSS Advisory Board takes it over, but not a valid namespace.
+ */
+define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG4', 'http://www.rssboard.org/media-rss');
+
+/**
+ * Wrong Media RSS Namespace #5. A possible typo of the RSS Advisory Board URL.
+ */
+define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG5', 'http://www.rssboard.org/media-rss/');
+
+/**
* iTunes RSS Namespace
*/
define('SIMPLEPIE_NAMESPACE_ITUNES', 'http://www.itunes.com/dtds/podcast-1.0.dtd');
@@ -354,11 +376,6 @@
define('SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY', 'http://www.iana.org/assignments/relation/');
/**
- * Whether we're running on PHP5
- */
-define('SIMPLEPIE_PHP5', version_compare(PHP_VERSION, '5.0.0', '>='));
-
-/**
* No file source
*/
define('SIMPLEPIE_FILE_SOURCE_NONE', 0);
@@ -392,6 +409,7 @@
* SimplePie
*
* @package SimplePie
+ * @subpackage API
*/
class SimplePie
{
@@ -399,55 +417,55 @@
* @var array Raw data
* @access private
*/
- var $data = array();
+ public $data = array();
/**
* @var mixed Error string
* @access private
*/
- var $error;
+ public $error;
/**
* @var object Instance of SimplePie_Sanitize (or other class)
* @see SimplePie::set_sanitize_class()
* @access private
*/
- var $sanitize;
+ public $sanitize;
/**
* @var string SimplePie Useragent
* @see SimplePie::set_useragent()
* @access private
*/
- var $useragent = SIMPLEPIE_USERAGENT;
+ public $useragent = SIMPLEPIE_USERAGENT;
/**
* @var string Feed URL
* @see SimplePie::set_feed_url()
* @access private
*/
- var $feed_url;
+ public $feed_url;
/**
* @var object Instance of SimplePie_File to use as a feed
* @see SimplePie::set_file()
* @access private
*/
- var $file;
+ public $file;
/**
* @var string Raw feed data
* @see SimplePie::set_raw_data()
* @access private
*/
- var $raw_data;
+ public $raw_data;
/**
* @var int Timeout for fetching remote files
* @see SimplePie::set_timeout()
* @access private
*/
- var $timeout = 10;
+ public $timeout = 10;
/**
* @var bool Forces fsockopen() to be used for remote files instead
@@ -455,7 +473,7 @@
* @see SimplePie::force_fsockopen()
* @access private
*/
- var $force_fsockopen = false;
+ public $force_fsockopen = false;
/**
* @var bool Force the given data/URL to be treated as a feed no matter what
@@ -463,56 +481,49 @@
* @see SimplePie::force_feed()
* @access private
*/
- var $force_feed = false;
+ public $force_feed = false;
/**
- * @var bool Enable/Disable XML dump
- * @see SimplePie::enable_xml_dump()
- * @access private
- */
- var $xml_dump = false;
-
- /**
* @var bool Enable/Disable Caching
* @see SimplePie::enable_cache()
* @access private
*/
- var $cache = true;
+ public $cache = true;
/**
* @var int Cache duration (in seconds)
* @see SimplePie::set_cache_duration()
* @access private
*/
- var $cache_duration = 3600;
+ public $cache_duration = 3600;
/**
* @var int Auto-discovery cache duration (in seconds)
* @see SimplePie::set_autodiscovery_cache_duration()
* @access private
*/
- var $autodiscovery_cache_duration = 604800; // 7 Days.
+ public $autodiscovery_cache_duration = 604800; // 7 Days.
/**
* @var string Cache location (relative to executing script)
* @see SimplePie::set_cache_location()
* @access private
*/
- var $cache_location = './cache';
+ public $cache_location = './cache';
/**
* @var string Function that creates the cache filename
* @see SimplePie::set_cache_name_function()
* @access private
*/
- var $cache_name_function = 'md5';
+ public $cache_name_function = 'md5';
/**
* @var bool Reorder feed by date descending
* @see SimplePie::enable_order_by_date()
* @access private
*/
- var $order_by_date = true;
+ public $order_by_date = true;
/**
* @var mixed Force input encoding to be set to the follow value
@@ -520,246 +531,132 @@
* @see SimplePie::set_input_encoding()
* @access private
*/
- var $input_encoding = false;
+ public $input_encoding = false;
/**
* @var int Feed Autodiscovery Level
* @see SimplePie::set_autodiscovery_level()
* @access private
*/
- var $autodiscovery = SIMPLEPIE_LOCATOR_ALL;
+ public $autodiscovery = SIMPLEPIE_LOCATOR_ALL;
/**
- * @var string Class used for caching feeds
- * @see SimplePie::set_cache_class()
- * @access private
+ * Class registry object
+ *
+ * @var SimplePie_Registry
*/
- var $cache_class = 'SimplePie_Cache';
+ public $registry;
/**
- * @var string Class used for locating feeds
- * @see SimplePie::set_locator_class()
- * @access private
- */
- var $locator_class = 'SimplePie_Locator';
-
- /**
- * @var string Class used for parsing feeds
- * @see SimplePie::set_parser_class()
- * @access private
- */
- var $parser_class = 'SimplePie_Parser';
-
- /**
- * @var string Class used for fetching feeds
- * @see SimplePie::set_file_class()
- * @access private
- */
- var $file_class = 'SimplePie_File';
-
- /**
- * @var string Class used for items
- * @see SimplePie::set_item_class()
- * @access private
- */
- var $item_class = 'SimplePie_Item';
-
- /**
- * @var string Class used for authors
- * @see SimplePie::set_author_class()
- * @access private
- */
- var $author_class = 'SimplePie_Author';
-
- /**
- * @var string Class used for categories
- * @see SimplePie::set_category_class()
- * @access private
- */
- var $category_class = 'SimplePie_Category';
-
- /**
- * @var string Class used for enclosures
- * @see SimplePie::set_enclosures_class()
- * @access private
- */
- var $enclosure_class = 'SimplePie_Enclosure';
-
- /**
- * @var string Class used for Media RSS <media:text> captions
- * @see SimplePie::set_caption_class()
- * @access private
- */
- var $caption_class = 'SimplePie_Caption';
-
- /**
- * @var string Class used for Media RSS <media:copyright>
- * @see SimplePie::set_copyright_class()
- * @access private
- */
- var $copyright_class = 'SimplePie_Copyright';
-
- /**
- * @var string Class used for Media RSS <media:credit>
- * @see SimplePie::set_credit_class()
- * @access private
- */
- var $credit_class = 'SimplePie_Credit';
-
- /**
- * @var string Class used for Media RSS <media:rating>
- * @see SimplePie::set_rating_class()
- * @access private
- */
- var $rating_class = 'SimplePie_Rating';
-
- /**
- * @var string Class used for Media RSS <media:restriction>
- * @see SimplePie::set_restriction_class()
- * @access private
- */
- var $restriction_class = 'SimplePie_Restriction';
-
- /**
- * @var string Class used for content-type sniffing
- * @see SimplePie::set_content_type_sniffer_class()
- * @access private
- */
- var $content_type_sniffer_class = 'SimplePie_Content_Type_Sniffer';
-
- /**
- * @var string Class used for item sources.
- * @see SimplePie::set_source_class()
- * @access private
- */
- var $source_class = 'SimplePie_Source';
-
- /**
- * @var mixed Set javascript query string parameter (false, or
- * anything type-cast to false, disables this feature)
- * @see SimplePie::set_javascript()
- * @access private
- */
- var $javascript = 'js';
-
- /**
* @var int Maximum number of feeds to check with autodiscovery
* @see SimplePie::set_max_checked_feeds()
* @access private
*/
- var $max_checked_feeds = 10;
+ public $max_checked_feeds = 10;
/**
* @var array All the feeds found during the autodiscovery process
* @see SimplePie::get_all_discovered_feeds()
* @access private
*/
- var $all_discovered_feeds = array();
+ public $all_discovered_feeds = array();
/**
- * @var string Web-accessible path to the handler_favicon.php file.
- * @see SimplePie::set_favicon_handler()
- * @access private
- */
- var $favicon_handler = '';
-
- /**
* @var string Web-accessible path to the handler_image.php file.
* @see SimplePie::set_image_handler()
* @access private
*/
- var $image_handler = '';
+ public $image_handler = '';
/**
* @var array Stores the URLs when multiple feeds are being initialized.
* @see SimplePie::set_feed_url()
* @access private
*/
- var $multifeed_url = array();
+ public $multifeed_url = array();
/**
* @var array Stores SimplePie objects when multiple feeds initialized.
* @access private
*/
- var $multifeed_objects = array();
+ public $multifeed_objects = array();
/**
* @var array Stores the get_object_vars() array for use with multifeeds.
* @see SimplePie::set_feed_url()
* @access private
*/
- var $config_settings = null;
+ public $config_settings = null;
/**
* @var integer Stores the number of items to return per-feed with multifeeds.
* @see SimplePie::set_item_limit()
* @access private
*/
- var $item_limit = 0;
+ public $item_limit = 0;
/**
* @var array Stores the default attributes to be stripped by strip_attributes().
* @see SimplePie::strip_attributes()
* @access private
*/
- var $strip_attributes = array('bgsound', 'class', 'expr', 'id', 'style', 'onclick', 'onerror', 'onfinish', 'onmouseover', 'onmouseout', 'onfocus', 'onblur', 'lowsrc', 'dynsrc');
+ public $strip_attributes = array('bgsound', 'class', 'expr', 'id', 'style', 'onclick', 'onerror', 'onfinish', 'onmouseover', 'onmouseout', 'onfocus', 'onblur', 'lowsrc', 'dynsrc');
/**
* @var array Stores the default tags to be stripped by strip_htmltags().
* @see SimplePie::strip_htmltags()
* @access private
*/
- var $strip_htmltags = array('base', 'blink', 'body', 'doctype', 'embed', 'font', 'form', 'frame', 'frameset', 'html', 'iframe', 'input', 'marquee', 'meta', 'noscript', 'object', 'param', 'script', 'style');
+ public $strip_htmltags = array('base', 'blink', 'body', 'doctype', 'embed', 'font', 'form', 'frame', 'frameset', 'html', 'iframe', 'input', 'marquee', 'meta', 'noscript', 'object', 'param', 'script', 'style');
/**
* The SimplePie class contains feed level data and options
*
- * There are two ways that you can create a new SimplePie object. The first
- * is by passing a feed URL as a parameter to the SimplePie constructor
- * (as well as optionally setting the cache location and cache expiry). This
- * will initialise the whole feed with all of the default settings, and you
- * can begin accessing methods and properties immediately.
- *
- * The second way is to create the SimplePie object with no parameters
- * at all. This will enable you to set configuration options. After setting
+ * To use SimplePie, create the SimplePie object with no parameters. You can
+ * then set configuration options using the provided methods. After setting
* them, you must initialise the feed using $feed->init(). At that point the
- * object's methods and properties will be available to you. This format is
- * what is used throughout this documentation.
+ * object's methods and properties will be available to you.
*
- * @access public
+ * Previously, it was possible to pass in the feed URL along with cache
+ * options directly into the constructor. This has been removed as of 1.3 as
+ * it caused a lot of confusion.
+ *
* @since 1.0 Preview Release
- * @param string $feed_url This is the URL you want to parse.
- * @param string $cache_location This is where you want the cache to be stored.
- * @param int $cache_duration This is the number of seconds that you want to store the cache file for.
*/
- function SimplePie($feed_url = null, $cache_location = null, $cache_duration = null)
+ public function __construct()
{
- // Other objects, instances created here so we can set options on them
- $this->sanitize =& new SimplePie_Sanitize;
-
- // Set options if they're passed to the constructor
- if ($cache_location !== null)
+ if (version_compare(PHP_VERSION, '5.2', '<'))
{
- $this->set_cache_location($cache_location);
+ trigger_error('PHP 4.x, 5.0 and 5.1 are no longer supported. Please upgrade to PHP 5.2 or newer.');
+ die();
}
- if ($cache_duration !== null)
+ // Other objects, instances created here so we can set options on them
+ $this->sanitize = new SimplePie_Sanitize();
+ $this->registry = new SimplePie_Registry();
+
+ if (func_num_args() > 0)
{
- $this->set_cache_duration($cache_duration);
- }
+ $level = defined('E_USER_DEPRECATED') ? E_USER_DEPRECATED : E_USER_WARNING;
+ trigger_error('Passing parameters to the constructor is no longer supported. Please use set_feed_url(), set_cache_location(), and set_cache_location() directly.', $level);
- // Only init the script if we're passed a feed URL
- if ($feed_url !== null)
- {
- $this->set_feed_url($feed_url);
- $this->init();
+ $args = func_get_args();
+ switch (count($args)) {
+ case 3:
+ $this->set_cache_duration($args[2]);
+ case 2:
+ $this->set_cache_location($args[1]);
+ case 1:
+ $this->set_feed_url($args[0]);
+ $this->init();
+ }
}
}
/**
* Used for converting object to a string
*/
- function __toString()
+ public function __toString()
{
return md5(serialize($this->data));
}
@@ -767,7 +664,7 @@
/**
* Remove items that link back to this before destroying this object
*/
- function __destruct()
+ public function __destruct()
{
if ((version_compare(PHP_VERSION, '5.3', '<') || !gc_enabled()) && !ini_get('zend.ze1_compatibility_mode'))
{
@@ -791,20 +688,21 @@
}
/**
- * Force the given data/URL to be treated as a feed no matter what it
- * appears like
+ * Force the given data/URL to be treated as a feed
*
- * @access public
+ * This tells SimplePie to ignore the content-type provided by the server.
+ * Be careful when using this option, as it will also disable autodiscovery.
+ *
* @since 1.1
* @param bool $enable Force the given data/URL to be treated as a feed
*/
- function force_feed($enable = false)
+ public function force_feed($enable = false)
{
$this->force_feed = (bool) $enable;
}
/**
- * This is the URL of the feed you want to parse.
+ * Set the URL of the feed you want to parse
*
* This allows you to enter the URL of the feed you want to parse, or the
* website you want to try to use auto-discovery on. This takes priority
@@ -814,37 +712,35 @@
* of a string for the $url. Remember that with each additional feed comes
* additional processing and resources.
*
- * @access public
* @since 1.0 Preview Release
- * @param mixed $url This is the URL (or array of URLs) that you want to parse.
- * @see SimplePie::set_raw_data()
+ * @see set_raw_data()
+ * @param string|array $url This is the URL (or array of URLs) that you want to parse.
*/
- function set_feed_url($url)
+ public function set_feed_url($url)
{
+ $this->multifeed_url = array();
if (is_array($url))
{
- $this->multifeed_url = array();
foreach ($url as $value)
{
- $this->multifeed_url[] = SimplePie_Misc::fix_protocol($value, 1);
+ $this->multifeed_url[] = $this->registry->call('Misc', 'fix_protocol', array($value, 1));
}
}
else
{
- $this->feed_url = SimplePie_Misc::fix_protocol($url, 1);
+ $this->feed_url = $this->registry->call('Misc', 'fix_protocol', array($url, 1));
}
}
/**
- * Provides an instance of SimplePie_File to use as a feed
+ * Set an instance of {@see SimplePie_File} to use as a feed
*
- * @access public
- * @param object &$file Instance of SimplePie_File (or subclass)
+ * @param SimplePie_File &$file
* @return bool True on success, false on failure
*/
- function set_file(&$file)
+ public function set_file(&$file)
{
- if (is_a($file, 'SimplePie_File'))
+ if ($file instanceof SimplePie_File)
{
$this->feed_url = $file->url;
$this->file =& $file;
@@ -854,138 +750,113 @@
}
/**
+ * Set the raw XML data to parse
+ *
* Allows you to use a string of RSS/Atom data instead of a remote feed.
*
* If you have a feed available as a string in PHP, you can tell SimplePie
* to parse that data string instead of a remote feed. Any set feed URL
* takes precedence.
*
- * @access public
* @since 1.0 Beta 3
* @param string $data RSS or Atom data as a string.
- * @see SimplePie::set_feed_url()
+ * @see set_feed_url()
*/
- function set_raw_data($data)
+ public function set_raw_data($data)
{
$this->raw_data = $data;
}
/**
- * Allows you to override the default timeout for fetching remote feeds.
+ * Set the the default timeout for fetching remote feeds
*
* This allows you to change the maximum time the feed's server to respond
* and send the feed back.
*
- * @access public
* @since 1.0 Beta 3
* @param int $timeout The maximum number of seconds to spend waiting to retrieve a feed.
*/
- function set_timeout($timeout = 10)
+ public function set_timeout($timeout = 10)
{
$this->timeout = (int) $timeout;
}
/**
- * Forces SimplePie to use fsockopen() instead of the preferred cURL
- * functions.
+ * Force SimplePie to use fsockopen() instead of cURL
*
- * @access public
* @since 1.0 Beta 3
* @param bool $enable Force fsockopen() to be used
*/
- function force_fsockopen($enable = false)
+ public function force_fsockopen($enable = false)
{
$this->force_fsockopen = (bool) $enable;
}
/**
- * Outputs the raw XML content of the feed, after it has gone through
- * SimplePie's filters.
+ * Enable/disable caching in SimplePie.
*
- * Used only for debugging, this function will output the XML content as
- * text/xml. When SimplePie reads in a feed, it does a bit of cleaning up
- * before trying to parse it. Many parts of the feed are re-written in
- * memory, and in the end, you have a parsable feed. XML dump shows you the
- * actual XML that SimplePie tries to parse, which may or may not be very
- * different from the original feed.
- *
- * @access public
- * @since 1.0 Preview Release
- * @param bool $enable Enable XML dump
- */
- function enable_xml_dump($enable = false)
- {
- $this->xml_dump = (bool) $enable;
- }
-
- /**
- * Enables/disables caching in SimplePie.
- *
* This option allows you to disable caching all-together in SimplePie.
* However, disabling the cache can lead to longer load times.
*
- * @access public
* @since 1.0 Preview Release
* @param bool $enable Enable caching
*/
- function enable_cache($enable = true)
+ public function enable_cache($enable = true)
{
$this->cache = (bool) $enable;
}
/**
- * Set the length of time (in seconds) that the contents of a feed
- * will be cached.
+ * Set the length of time (in seconds) that the contents of a feed will be
+ * cached
*
- * @access public
- * @param int $seconds The feed content cache duration.
+ * @param int $seconds The feed content cache duration
*/
- function set_cache_duration($seconds = 3600)
+ public function set_cache_duration($seconds = 3600)
{
$this->cache_duration = (int) $seconds;
}
/**
- * Set the length of time (in seconds) that the autodiscovered feed
- * URL will be cached.
+ * Set the length of time (in seconds) that the autodiscovered feed URL will
+ * be cached
*
- * @access public
* @param int $seconds The autodiscovered feed URL cache duration.
*/
- function set_autodiscovery_cache_duration($seconds = 604800)
+ public function set_autodiscovery_cache_duration($seconds = 604800)
{
$this->autodiscovery_cache_duration = (int) $seconds;
}
/**
- * Set the file system location where the cached files should be stored.
+ * Set the file system location where the cached files should be stored
*
- * @access public
* @param string $location The file system location.
*/
- function set_cache_location($location = './cache')
+ public function set_cache_location($location = './cache')
{
$this->cache_location = (string) $location;
}
/**
- * Determines whether feed items should be sorted into reverse chronological order.
+ * Set whether feed items should be sorted into reverse chronological order
*
- * @access public
* @param bool $enable Sort as reverse chronological order.
*/
- function enable_order_by_date($enable = true)
+ public function enable_order_by_date($enable = true)
{
$this->order_by_date = (bool) $enable;
}
/**
- * Allows you to override the character encoding reported by the feed.
+ * Set the character encoding used to parse the feed
*
- * @access public
- * @param string $encoding Character encoding.
+ * This overrides the encoding reported by the feed, however it will fall
+ * back to the normal encoding detection if the override fails
+ *
+ * @param string $encoding Character encoding
*/
- function set_input_encoding($encoding = false)
+ public function set_input_encoding($encoding = false)
{
if ($encoding)
{
@@ -1000,7 +871,6 @@
/**
* Set how much feed autodiscovery to do
*
- * @access public
* @see SIMPLEPIE_LOCATOR_NONE
* @see SIMPLEPIE_LOCATOR_AUTODISCOVERY
* @see SIMPLEPIE_LOCATOR_LOCAL_EXTENSION
@@ -1008,325 +878,168 @@
* @see SIMPLEPIE_LOCATOR_REMOTE_EXTENSION
* @see SIMPLEPIE_LOCATOR_REMOTE_BODY
* @see SIMPLEPIE_LOCATOR_ALL
- * @param int $level Feed Autodiscovery Level (level can be a
- * combination of the above constants, see bitwise OR operator)
+ * @param int $level Feed Autodiscovery Level (level can be a combination of the above constants, see bitwise OR operator)
*/
- function set_autodiscovery_level($level = SIMPLEPIE_LOCATOR_ALL)
+ public function set_autodiscovery_level($level = SIMPLEPIE_LOCATOR_ALL)
{
$this->autodiscovery = (int) $level;
}
/**
- * Allows you to change which class SimplePie uses for caching.
- * Useful when you are overloading or extending SimplePie's default classes.
+ * Get the class registry
*
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
- * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * Use this to override SimplePie's default classes
+ * @see SimplePie_Registry
+ * @return SimplePie_Registry
*/
- function set_cache_class($class = 'SimplePie_Cache')
+ public function &get_registry()
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Cache'))
- {
- $this->cache_class = $class;
- return true;
- }
- return false;
+ return $this->registry;
}
- /**
- * Allows you to change which class SimplePie uses for auto-discovery.
+ /**#@+
* Useful when you are overloading or extending SimplePie's default classes.
*
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+ * @deprecated Use {@see get_registry()} instead
* @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * @param string $class Name of custom class
+ * @return boolean True on success, false otherwise
*/
- function set_locator_class($class = 'SimplePie_Locator')
+ /**
+ * Set which class SimplePie uses for caching
+ */
+ public function set_cache_class($class = 'SimplePie_Cache')
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Locator'))
- {
- $this->locator_class = $class;
- return true;
- }
- return false;
+ return $this->registry->register('Cache', $class, true);
}
/**
- * Allows you to change which class SimplePie uses for XML parsing.
- * Useful when you are overloading or extending SimplePie's default classes.
- *
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
- * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * Set which class SimplePie uses for auto-discovery
*/
- function set_parser_class($class = 'SimplePie_Parser')
+ public function set_locator_class($class = 'SimplePie_Locator')
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Parser'))
- {
- $this->parser_class = $class;
- return true;
- }
- return false;
+ return $this->registry->register('Locator', $class, true);
}
/**
- * Allows you to change which class SimplePie uses for remote file fetching.
- * Useful when you are overloading or extending SimplePie's default classes.
- *
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
- * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * Set which class SimplePie uses for XML parsing
*/
- function set_file_class($class = 'SimplePie_File')
+ public function set_parser_class($class = 'SimplePie_Parser')
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_File'))
- {
- $this->file_class = $class;
- return true;
- }
- return false;
+ return $this->registry->register('Parser', $class, true);
}
/**
- * Allows you to change which class SimplePie uses for data sanitization.
- * Useful when you are overloading or extending SimplePie's default classes.
- *
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
- * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * Set which class SimplePie uses for remote file fetching
*/
- function set_sanitize_class($class = 'SimplePie_Sanitize')
+ public function set_file_class($class = 'SimplePie_File')
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Sanitize'))
- {
- $this->sanitize =& new $class;
- return true;
- }
- return false;
+ return $this->registry->register('File', $class, true);
}
/**
- * Allows you to change which class SimplePie uses for handling feed items.
- * Useful when you are overloading or extending SimplePie's default classes.
- *
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
- * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * Set which class SimplePie uses for data sanitization
*/
- function set_item_class($class = 'SimplePie_Item')
+ public function set_sanitize_class($class = 'SimplePie_Sanitize')
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Item'))
- {
- $this->item_class = $class;
- return true;
- }
- return false;
+ return $this->registry->register('Sanitize', $class, true);
}
/**
- * Allows you to change which class SimplePie uses for handling author data.
- * Useful when you are overloading or extending SimplePie's default classes.
- *
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
- * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * Set which class SimplePie uses for handling feed items
*/
- function set_author_class($class = 'SimplePie_Author')
+ public function set_item_class($class = 'SimplePie_Item')
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Author'))
- {
- $this->author_class = $class;
- return true;
- }
- return false;
+ return $this->registry->register('Item', $class, true);
}
/**
- * Allows you to change which class SimplePie uses for handling category data.
- * Useful when you are overloading or extending SimplePie's default classes.
- *
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
- * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * Set which class SimplePie uses for handling author data
*/
- function set_category_class($class = 'SimplePie_Category')
+ public function set_author_class($class = 'SimplePie_Author')
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Category'))
- {
- $this->category_class = $class;
- return true;
- }
- return false;
+ return $this->registry->register('Author', $class, true);
}
/**
- * Allows you to change which class SimplePie uses for feed enclosures.
- * Useful when you are overloading or extending SimplePie's default classes.
- *
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
- * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * Set which class SimplePie uses for handling category data
*/
- function set_enclosure_class($class = 'SimplePie_Enclosure')
+ public function set_category_class($class = 'SimplePie_Category')
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Enclosure'))
- {
- $this->enclosure_class = $class;
- return true;
- }
- return false;
+ return $this->registry->register('Category', $class, true);
}
/**
- * Allows you to change which class SimplePie uses for <media:text> captions
- * Useful when you are overloading or extending SimplePie's default classes.
- *
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
- * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * Set which class SimplePie uses for feed enclosures
*/
- function set_caption_class($class = 'SimplePie_Caption')
+ public function set_enclosure_class($class = 'SimplePie_Enclosure')
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Caption'))
- {
- $this->caption_class = $class;
- return true;
- }
- return false;
+ return $this->registry->register('Enclosure', $class, true);
}
/**
- * Allows you to change which class SimplePie uses for <media:copyright>
- * Useful when you are overloading or extending SimplePie's default classes.
- *
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
- * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * Set which class SimplePie uses for `<media:text>` captions
*/
- function set_copyright_class($class = 'SimplePie_Copyright')
+ public function set_caption_class($class = 'SimplePie_Caption')
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Copyright'))
- {
- $this->copyright_class = $class;
- return true;
- }
- return false;
+ return $this->registry->register('Caption', $class, true);
}
/**
- * Allows you to change which class SimplePie uses for <media:credit>
- * Useful when you are overloading or extending SimplePie's default classes.
- *
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
- * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * Set which class SimplePie uses for `<media:copyright>`
*/
- function set_credit_class($class = 'SimplePie_Credit')
+ public function set_copyright_class($class = 'SimplePie_Copyright')
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Credit'))
- {
- $this->credit_class = $class;
- return true;
- }
- return false;
+ return $this->registry->register('Copyright', $class, true);
}
/**
- * Allows you to change which class SimplePie uses for <media:rating>
- * Useful when you are overloading or extending SimplePie's default classes.
- *
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
- * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * Set which class SimplePie uses for `<media:credit>`
*/
- function set_rating_class($class = 'SimplePie_Rating')
+ public function set_credit_class($class = 'SimplePie_Credit')
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Rating'))
- {
- $this->rating_class = $class;
- return true;
- }
- return false;
+ return $this->registry->register('Credit', $class, true);
}
/**
- * Allows you to change which class SimplePie uses for <media:restriction>
- * Useful when you are overloading or extending SimplePie's default classes.
- *
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
- * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * Set which class SimplePie uses for `<media:rating>`
*/
- function set_restriction_class($class = 'SimplePie_Restriction')
+ public function set_rating_class($class = 'SimplePie_Rating')
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Restriction'))
- {
- $this->restriction_class = $class;
- return true;
- }
- return false;
+ return $this->registry->register('Rating', $class, true);
}
/**
- * Allows you to change which class SimplePie uses for content-type sniffing.
- * Useful when you are overloading or extending SimplePie's default classes.
- *
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
- * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * Set which class SimplePie uses for `<media:restriction>`
*/
- function set_content_type_sniffer_class($class = 'SimplePie_Content_Type_Sniffer')
+ public function set_restriction_class($class = 'SimplePie_Restriction')
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Content_Type_Sniffer'))
- {
- $this->content_type_sniffer_class = $class;
- return true;
- }
- return false;
+ return $this->registry->register('Restriction', $class, true);
}
/**
- * Allows you to change which class SimplePie uses item sources.
- * Useful when you are overloading or extending SimplePie's default classes.
- *
- * @access public
- * @param string $class Name of custom class.
- * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
- * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+ * Set which class SimplePie uses for content-type sniffing
*/
- function set_source_class($class = 'SimplePie_Source')
+ public function set_content_type_sniffer_class($class = 'SimplePie_Content_Type_Sniffer')
{
- if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Source'))
- {
- $this->source_class = $class;
- return true;
- }
- return false;
+ return $this->registry->register('Content_Type_Sniffer', $class, true);
}
/**
- * Allows you to override the default user agent string.
+ * Set which class SimplePie uses item sources
+ */
+ public function set_source_class($class = 'SimplePie_Source')
+ {
+ return $this->registry->register('Source', $class, true);
+ }
+ /**#@-*/
+
+ /**
+ * Set the user agent string
*
- * @access public
* @param string $ua New user agent string.
*/
- function set_useragent($ua = SIMPLEPIE_USERAGENT)
+ public function set_useragent($ua = SIMPLEPIE_USERAGENT)
{
$this->useragent = (string) $ua;
}
@@ -1334,10 +1047,9 @@
/**
* Set callback function to create cache filename with
*
- * @access public
* @param mixed $function Callback function
*/
- function set_cache_name_function($function = 'md5')
+ public function set_cache_name_function($function = 'md5')
{
if (is_callable($function))
{
@@ -1346,31 +1058,14 @@
}
/**
- * Set javascript query string parameter
+ * Set options to make SP as fast as possible
*
- * @access public
- * @param mixed $get Javascript query string parameter
- */
- function set_javascript($get = 'js')
- {
- if ($get)
- {
- $this->javascript = (string) $get;
- }
- else
- {
- $this->javascript = false;
- }
- }
-
- /**
- * Set options to make SP as fast as possible. Forgoes a
- * substantial amount of data sanitization in favor of speed.
+ * Forgoes a substantial amount of data sanitization in favor of speed. This
+ * turns SimplePie into a dumb parser of feeds.
*
- * @access public
* @param bool $set Whether to set them or not
*/
- function set_stupidly_fast($set = false)
+ public function set_stupidly_fast($set = false)
{
if ($set)
{
@@ -1386,20 +1081,19 @@
/**
* Set maximum number of feeds to check with autodiscovery
*
- * @access public
* @param int $max Maximum number of feeds to check
*/
- function set_max_checked_feeds($max = 10)
+ public function set_max_checked_feeds($max = 10)
{
$this->max_checked_feeds = (int) $max;
}
- function remove_div($enable = true)
+ public function remove_div($enable = true)
{
$this->sanitize->remove_div($enable);
}
- function strip_htmltags($tags = '', $encode = null)
+ public function strip_htmltags($tags = '', $encode = null)
{
if ($tags === '')
{
@@ -1412,12 +1106,12 @@
}
}
- function encode_instead_of_strip($enable = true)
+ public function encode_instead_of_strip($enable = true)
{
$this->sanitize->encode_instead_of_strip($enable);
}
- function strip_attributes($attribs = '')
+ public function strip_attributes($attribs = '')
{
if ($attribs === '')
{
@@ -1426,12 +1120,34 @@
$this->sanitize->strip_attributes($attribs);
}
- function set_output_encoding($encoding = 'UTF-8')
+ /**
+ * Set the output encoding
+ *
+ * Allows you to override SimplePie's output to match that of your webpage.
+ * This is useful for times when your webpages are not being served as
+ * UTF-8. This setting will be obeyed by {@see handle_content_type()}, and
+ * is similar to {@see set_input_encoding()}.
+ *
+ * It should be noted, however, that not all character encodings can support
+ * all characters. If your page is being served as ISO-8859-1 and you try
+ * to display a Japanese feed, you'll likely see garbled characters.
+ * Because of this, it is highly recommended to ensure that your webpages
+ * are served as UTF-8.
+ *
+ * The number of supported character encodings depends on whether your web
+ * host supports {@link http://php.net/mbstring mbstring},
+ * {@link http://php.net/iconv iconv}, or both. See
+ * {@link http://simplepie.org/wiki/faq/Supported_Character_Encodings} for
+ * more information.
+ *
+ * @param string $encoding
+ */
+ public function set_output_encoding($encoding = 'UTF-8')
{
$this->sanitize->set_output_encoding($encoding);
}
- function strip_comments($strip = false)
+ public function strip_comments($strip = false)
{
$this->sanitize->strip_comments($strip);
}
@@ -1440,42 +1156,25 @@
* Set element/attribute key/value pairs of HTML attributes
* containing URLs that need to be resolved relative to the feed
*
- * @access public
+ * Defaults to |a|@href, |area|@href, |blockquote|@cite, |del|@cite,
+ * |form|@action, |img|@longdesc, |img|@src, |input|@src, |ins|@cite,
+ * |q|@cite
+ *
* @since 1.0
- * @param array $element_attribute Element/attribute key/value pairs
+ * @param array|null $element_attribute Element/attribute key/value pairs, null for default
*/
- function set_url_replacements($element_attribute = array('a' => 'href', 'area' => 'href', 'blockquote' => 'cite', 'del' => 'cite', 'form' => 'action', 'img' => array('longdesc', 'src'), 'input' => 'src', 'ins' => 'cite', 'q' => 'cite'))
+ public function set_url_replacements($element_attribute = null)
{
$this->sanitize->set_url_replacements($element_attribute);
}
/**
- * Set the handler to enable the display of cached favicons.
- *
- * @access public
- * @param str $page Web-accessible path to the handler_favicon.php file.
- * @param str $qs The query string that the value should be passed to.
- */
- function set_favicon_handler($page = false, $qs = 'i')
- {
- if ($page !== false)
- {
- $this->favicon_handler = $page . '?' . $qs . '=';
- }
- else
- {
- $this->favicon_handler = '';
- }
- }
-
- /**
* Set the handler to enable the display of cached images.
*
- * @access public
* @param str $page Web-accessible path to the handler_image.php file.
* @param str $qs The query string that the value should be passed to.
*/
- function set_image_handler($page = false, $qs = 'i')
+ public function set_image_handler($page = false, $qs = 'i')
{
if ($page !== false)
{
@@ -1488,20 +1187,28 @@
}
/**
- * Set the limit for items returned per-feed with multifeeds.
+ * Set the limit for items returned per-feed with multifeeds
*
- * @access public
* @param integer $limit The maximum number of items to return.
*/
- function set_item_limit($limit = 0)
+ public function set_item_limit($limit = 0)
{
$this->item_limit = (int) $limit;
}
- function init()
+ /**
+ * Initialize the feed object
+ *
+ * This is what makes everything happen. Period. This is where all of the
+ * configuration options get processed, feeds are fetched, cached, and
+ * parsed, and all of that other good stuff.
+ *
+ * @return boolean True if successful, false otherwise
+ */
+ public function init()
{
// Check absolute bare minimum requirements.
- if ((function_exists('version_compare') && version_compare(PHP_VERSION, '4.3.0', '<')) || !extension_loaded('xml') || !extension_loaded('pcre'))
+ if (!extension_loaded('xml') || !extension_loaded('pcre'))
{
return false;
}
@@ -1522,331 +1229,383 @@
}
}
- if (isset($_GET[$this->javascript]))
+ if (method_exists($this->sanitize, 'set_registry'))
{
- SimplePie_Misc::output_javascript();
- exit;
+ $this->sanitize->set_registry($this->registry);
}
// Pass whatever was set with config options over to the sanitizer.
- $this->sanitize->pass_cache_data($this->cache, $this->cache_location, $this->cache_name_function, $this->cache_class);
- $this->sanitize->pass_file_data($this->file_class, $this->timeout, $this->useragent, $this->force_fsockopen);
+ // Pass the classes in for legacy support; new classes should use the registry instead
+ $this->sanitize->pass_cache_data($this->cache, $this->cache_location, $this->cache_name_function, $this->registry->get_class('Cache'));
+ $this->sanitize->pass_file_data($this->registry->get_class('File'), $this->timeout, $this->useragent, $this->force_fsockopen);
- if ($this->feed_url !== null || $this->raw_data !== null)
+ if (!empty($this->multifeed_url))
{
- $this->data = array();
+ $i = 0;
+ $success = 0;
$this->multifeed_objects = array();
- $cache = false;
-
- if ($this->feed_url !== null)
+ $this->error = array();
+ foreach ($this->multifeed_url as $url)
{
- $parsed_feed_url = SimplePie_Misc::parse_url($this->feed_url);
- // Decide whether to enable caching
- if ($this->cache && $parsed_feed_url['scheme'] !== '')
+ $this->multifeed_objects[$i] = clone $this;
+ $this->multifeed_objects[$i]->set_feed_url($url);
+ $single_success = $this->multifeed_objects[$i]->init();
+ $success |= $single_success;
+ if (!$single_success)
{
- $cache = call_user_func(array($this->cache_class, 'create'), $this->cache_location, call_user_func($this->cache_name_function, $this->feed_url), 'spc');
+ $this->error[$i] = $this->multifeed_objects[$i]->error();
}
- // If it's enabled and we don't want an XML dump, use the cache
- if ($cache && !$this->xml_dump)
+ $i++;
+ }
+ return (bool) $success;
+ }
+ elseif ($this->feed_url === null && $this->raw_data === null)
+ {
+ return false;
+ }
+
+ $this->error = null;
+ $this->data = array();
+ $this->multifeed_objects = array();
+ $cache = false;
+
+ if ($this->feed_url !== null)
+ {
+ $parsed_feed_url = $this->registry->call('Misc', 'parse_url', array($this->feed_url));
+
+ // Decide whether to enable caching
+ if ($this->cache && $parsed_feed_url['scheme'] !== '')
+ {
+ $cache = $this->registry->call('Cache', 'get_handler', array($this->cache_location, call_user_func($this->cache_name_function, $this->feed_url), 'spc'));
+ }
+
+ // Fetch the data via SimplePie_File into $this->raw_data
+ if (($fetched = $this->fetch_data($cache)) === true)
+ {
+ return true;
+ }
+ elseif ($fetched === false) {
+ return false;
+ }
+
+ list($headers, $sniffed) = $fetched;
+ }
+
+ // Set up array of possible encodings
+ $encodings = array();
+
+ // First check to see if input has been overridden.
+ if ($this->input_encoding !== false)
+ {
+ $encodings[] = $this->input_encoding;
+ }
+
+ $application_types = array('application/xml', 'application/xml-dtd', 'application/xml-external-parsed-entity');
+ $text_types = array('text/xml', 'text/xml-external-parsed-entity');
+
+ // RFC 3023 (only applies to sniffed content)
+ if (isset($sniffed))
+ {
+ if (in_array($sniffed, $application_types) || substr($sniffed, 0, 12) === 'application/' && substr($sniffed, -4) === '+xml')
+ {
+ if (isset($headers['content-type']) && preg_match('/;\x20?charset=([^;]*)/i', $headers['content-type'], $charset))
{
- // Load the Cache
- $this->data = $cache->load();
- if (!empty($this->data))
- {
- // If the cache is for an outdated build of SimplePie
- if (!isset($this->data['build']) || $this->data['build'] !== SIMPLEPIE_BUILD)
- {
- $cache->unlink();
- $this->data = array();
- }
- // If we've hit a collision just rerun it with caching disabled
- elseif (isset($this->data['url']) && $this->data['url'] !== $this->feed_url)
- {
- $cache = false;
- $this->data = array();
- }
- // If we've got a non feed_url stored (if the page isn't actually a feed, or is a redirect) use that URL.
- elseif (isset($this->data['feed_url']))
- {
- // If the autodiscovery cache is still valid use it.
- if ($cache->mtime() + $this->autodiscovery_cache_duration > time())
- {
- // Do not need to do feed autodiscovery yet.
- if ($this->data['feed_url'] === $this->data['url'])
- {
- $cache->unlink();
- $this->data = array();
- }
- else
- {
- $this->set_feed_url($this->data['feed_url']);
- return $this->init();
- }
- }
- }
- // Check if the cache has been updated
- elseif ($cache->mtime() + $this->cache_duration < time())
- {
- // If we have last-modified and/or etag set
- if (isset($this->data['headers']['last-modified']) || isset($this->data['headers']['etag']))
- {
- $headers = array();
- if (isset($this->data['headers']['last-modified']))
- {
- $headers['if-modified-since'] = $this->data['headers']['last-modified'];
- }
- if (isset($this->data['headers']['etag']))
- {
- $headers['if-none-match'] = '"' . $this->data['headers']['etag'] . '"';
- }
- $file =& new $this->file_class($this->feed_url, $this->timeout/10, 5, $headers, $this->useragent, $this->force_fsockopen);
- if ($file->success)
- {
- if ($file->status_code === 304)
- {
- $cache->touch();
- return true;
- }
- else
- {
- $headers = $file->headers;
- }
- }
- else
- {
- unset($file);
- }
- }
- }
- // If the cache is still valid, just return true
- else
- {
- return true;
- }
- }
- // If the cache is empty, delete it
- else
- {
- $cache->unlink();
- $this->data = array();
- }
+ $encodings[] = strtoupper($charset[1]);
}
- // If we don't already have the file (it'll only exist if we've opened it to check if the cache has been modified), open it.
- if (!isset($file))
+ $encodings = array_merge($encodings, $this->registry->call('Misc', 'xml_encoding', array($this->raw_data, &$this->registry)));
+ $encodings[] = 'UTF-8';
+ }
+ elseif (in_array($sniffed, $text_types) || substr($sniffed, 0, 5) === 'text/' && substr($sniffed, -4) === '+xml')
+ {
+ if (isset($headers['content-type']) && preg_match('/;\x20?charset=([^;]*)/i', $headers['content-type'], $charset))
{
- if (is_a($this->file, 'SimplePie_File') && $this->file->url === $this->feed_url)
- {
- $file =& $this->file;
- }
- else
- {
- $file =& new $this->file_class($this->feed_url, $this->timeout, 5, null, $this->useragent, $this->force_fsockopen);
- }
+ $encodings[] = $charset[1];
}
- // If the file connection has an error, set SimplePie::error to that and quit
- if (!$file->success && !($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($file->status_code === 200 || $file->status_code > 206 && $file->status_code < 300)))
+ $encodings[] = 'US-ASCII';
+ }
+ // Text MIME-type default
+ elseif (substr($sniffed, 0, 5) === 'text/')
+ {
+ $encodings[] = 'US-ASCII';
+ }
+ }
+
+ // Fallback to XML 1.0 Appendix F.1/UTF-8/ISO-8859-1
+ $encodings = array_merge($encodings, $this->registry->call('Misc', 'xml_encoding', array($this->raw_data, &$this->registry)));
+ $encodings[] = 'UTF-8';
+ $encodings[] = 'ISO-8859-1';
+
+ // There's no point in trying an encoding twice
+ $encodings = array_unique($encodings);
+
+ // Loop through each possible encoding, till we return something, or run out of possibilities
+ foreach ($encodings as $encoding)
+ {
+ // Change the encoding to UTF-8 (as we always use UTF-8 internally)
+ if ($utf8_data = $this->registry->call('Misc', 'change_encoding', array($this->raw_data, $encoding, 'UTF-8')))
+ {
+ // Create new parser
+ $parser = $this->registry->create('Parser');
+
+ // If it's parsed fine
+ if ($parser->parse($utf8_data, 'UTF-8'))
{
- $this->error = $file->error;
- if (!empty($this->data))
+ $this->data = $parser->get_data();
+ if (!($this->get_type() & ~SIMPLEPIE_TYPE_NONE))
{
- return true;
+ $this->error = "A feed could not be found at $this->feed_url. This does not appear to be a valid RSS or Atom feed.";
+ $this->registry->call('Misc', 'error', array($this->error, E_USER_NOTICE, __FILE__, __LINE__));
+ return false;
}
- else
+
+ if (isset($headers))
{
- return false;
+ $this->data['headers'] = $headers;
}
- }
+ $this->data['build'] = SIMPLEPIE_BUILD;
- if (!$this->force_feed)
- {
- // Check if the supplied URL is a feed, if it isn't, look for it.
- $locate =& new $this->locator_class($file, $this->timeout, $this->useragent, $this->file_class, $this->max_checked_feeds, $this->content_type_sniffer_class);
- if (!$locate->is_feed($file))
+ // Cache the file if caching is enabled
+ if ($cache && !$cache->save($this))
{
- // We need to unset this so that if SimplePie::set_file() has been called that object is untouched
- unset($file);
- if ($file = $locate->find($this->autodiscovery, $this->all_discovered_feeds))
- {
- if ($cache)
- {
- $this->data = array('url' => $this->feed_url, 'feed_url' => $file->url, 'build' => SIMPLEPIE_BUILD);
- if (!$cache->save($this))
- {
- trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
- }
- $cache = call_user_func(array($this->cache_class, 'create'), $this->cache_location, call_user_func($this->cache_name_function, $file->url), 'spc');
- }
- $this->feed_url = $file->url;
- }
- else
- {
- $this->error = "A feed could not be found at $this->feed_url. A feed with an invalid mime type may fall victim to this error, or " . SIMPLEPIE_NAME . " was unable to auto-discover it.. Use force_feed() if you are certain this URL is a real feed.";
- SimplePie_Misc::error($this->error, E_USER_NOTICE, __FILE__, __LINE__);
- return false;
- }
+ trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
}
- $locate = null;
+ return true;
}
-
- $headers = $file->headers;
- $data = $file->body;
- $sniffer =& new $this->content_type_sniffer_class($file);
- $sniffed = $sniffer->get_type();
}
- else
- {
- $data = $this->raw_data;
- }
+ }
- // Set up array of possible encodings
- $encodings = array();
+ if (isset($parser))
+ {
+ // We have an error, just set SimplePie_Misc::error to it and quit
+ $this->error = sprintf('This XML document is invalid, likely due to invalid characters. XML error: %s at line %d, column %d', $parser->get_error_string(), $parser->get_current_line(), $parser->get_current_column());
+ }
+ else
+ {
+ $this->error = 'The data could not be converted to UTF-8. You MUST have either the iconv or mbstring extension installed. Upgrading to PHP 5.x (which includes iconv) is highly recommended.';
+ }
- // First check to see if input has been overridden.
- if ($this->input_encoding !== false)
- {
- $encodings[] = $this->input_encoding;
- }
+ $this->registry->call('Misc', 'error', array($this->error, E_USER_NOTICE, __FILE__, __LINE__));
- $application_types = array('application/xml', 'application/xml-dtd', 'application/xml-external-parsed-entity');
- $text_types = array('text/xml', 'text/xml-external-parsed-entity');
+ return false;
+ }
- // RFC 3023 (only applies to sniffed content)
- if (isset($sniffed))
+ /**
+ * Fetch the data via SimplePie_File
+ *
+ * If the data is already cached, attempt to fetch it from there instead
+ * @param SimplePie_Cache|false $cache Cache handler, or false to not load from the cache
+ * @return array|true Returns true if the data was loaded from the cache, or an array of HTTP headers and sniffed type
+ */
+ protected function fetch_data(&$cache)
+ {
+ // If it's enabled, use the cache
+ if ($cache)
+ {
+ // Load the Cache
+ $this->data = $cache->load();
+ if (!empty($this->data))
{
- if (in_array($sniffed, $application_types) || substr($sniffed, 0, 12) === 'application/' && substr($sniffed, -4) === '+xml')
+ // If the cache is for an outdated build of SimplePie
+ if (!isset($this->data['build']) || $this->data['build'] !== SIMPLEPIE_BUILD)
{
- if (isset($headers['content-type']) && preg_match('/;\x20?charset=([^;]*)/i', $headers['content-type'], $charset))
- {
- $encodings[] = strtoupper($charset[1]);
- }
- $encodings = array_merge($encodings, SimplePie_Misc::xml_encoding($data));
- $encodings[] = 'UTF-8';
+ $cache->unlink();
+ $this->data = array();
}
- elseif (in_array($sniffed, $text_types) || substr($sniffed, 0, 5) === 'text/' && substr($sniffed, -4) === '+xml')
+ // If we've hit a collision just rerun it with caching disabled
+ elseif (isset($this->data['url']) && $this->data['url'] !== $this->feed_url)
{
- if (isset($headers['content-type']) && preg_match('/;\x20?charset=([^;]*)/i', $headers['content-type'], $charset))
+ $cache = false;
+ $this->data = array();
+ }
+ // If we've got a non feed_url stored (if the page isn't actually a feed, or is a redirect) use that URL.
+ elseif (isset($this->data['feed_url']))
+ {
+ // If the autodiscovery cache is still valid use it.
+ if ($cache->mtime() + $this->autodiscovery_cache_duration > time())
{
- $encodings[] = $charset[1];
+ // Do not need to do feed autodiscovery yet.
+ if ($this->data['feed_url'] !== $this->data['url'])
+ {
+ $this->set_feed_url($this->data['feed_url']);
+ return $this->init();
+ }
+
+ $cache->unlink();
+ $this->data = array();
}
- $encodings[] = 'US-ASCII';
}
- // Text MIME-type default
- elseif (substr($sniffed, 0, 5) === 'text/')
+ // Check if the cache has been updated
+ elseif ($cache->mtime() + $this->cache_duration < time())
{
- $encodings[] = 'US-ASCII';
- }
- }
+ // If we have last-modified and/or etag set
+ if (isset($this->data['headers']['last-modified']) || isset($this->data['headers']['etag']))
+ {
+ $headers = array(
+ 'Accept' => 'application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1',
+ );
+ if (isset($this->data['headers']['last-modified']))
+ {
+ $headers['if-modified-since'] = $this->data['headers']['last-modified'];
+ }
+ if (isset($this->data['headers']['etag']))
+ {
+ $headers['if-none-match'] = $this->data['headers']['etag'];
+ }
- // Fallback to XML 1.0 Appendix F.1/UTF-8/ISO-8859-1
- $encodings = array...
[truncated message content] |