Initial checkin of Pika from heckimp

This commit is contained in:
2023-09-25 15:35:21 -07:00
commit 891e999216
6761 changed files with 5240685 additions and 0 deletions

View File

@ -0,0 +1,55 @@
Doing a Simple Build
====================
To begin with, you need to install jhbuild, mingw-w64, and a few other build-related dependencies.
If you're using debian, install these packages:
sudo apt-get install build-essential mingw-w64 git jhbuild automake autoconf libtool libgtk2.0-dev ragel bison flex gperf gtk-doc-tools nasm ruby cmake libxml-simple-perl
From there, in theory, you can simply clone this repo, cd into it, and run:
./build
That will build the development version of the pika.
If you'd rather build the stable version of the pika, run this instead:
MODULE=pika-stable ./build
If you'd like to build with debigging information, run:
BUILD_FLAVOUR=dbg ./build
What if it doesn't work out of the box?
=======================================
I've actually never had that work out of the box, so chances are you'll need to adjust things a bit.
If you get an error along the lines of `no: command not found` while building GTK+, then that means gdk-pixbuf-csource can't be found.
You can fix this by installing your distro's GTK+ 2 development package.
(libgtk2.0-dev on debian)
If you get an error that looks like this while building cairo:
In file included from getline.c:31:0:
cairo-missing.h:45:17: error: conflicting types for 'ssize_t'
In file included from /usr/lib/gcc/i486-mingw32/4.7.0/../../../../i486-mingw32/include/stdio.h:534:0,
from cairo-missing.h:36,
from getline.c:31:
/usr/lib/gcc/i486-mingw32/4.7.0/../../../../i486-mingw32/include/sys/types.h:118:18: note: previous declaration of 'ssize_t' was here
In file included from strndup.c:31:0:
cairo-missing.h:45:17: error: conflicting types for 'ssize_t'
In file included from /usr/lib/gcc/i486-mingw32/4.7.0/../../../../i486-mingw32/include/stdio.h:534:0,
from cairo-missing.h:36,
from strndup.c:31:
/usr/lib/gcc/i486-mingw32/4.7.0/../../../../i486-mingw32/include/sys/types.h:118:18: note: previous declaration of 'ssize_t' was here
Then you need to add `-D_SSIZE_T_DEFINED` to your MINGW_CFLAGS, like this:
export MINGW_CFLAGS="-D_SSIZE_T_DEFINED"
Other Scripts
=============
There are a few other scripts included in this repo:
* ./clean will remove all build artifacts (but leave the downloaded tarballs), leaving you with a clean setup.
* ./mkarchive will create self extracting archives of the pika.
* ./split-build will do a special build where it builds both pika-dev and pika-stable but the two builds share the same dependencies. The directories then needs to be merged using ./mkarchive.

View File

@ -0,0 +1,6 @@
#!/bin/sh
set -e
chmod a-w win32.cache
jhbuild --file=build.jhbuildrc $*
chmod u+w win32.cache

View File

@ -0,0 +1,264 @@
# -*- mode: python -*-
# This code is licensed under the GPLv2 License
# Derived work from the original freedesktop.org example.jhbuildrc
#
# This jhbuildrc file is created for the purpose of cross compile Gtk+
# with Mingw32 under Linux.
#
# Author: Alberto Ruiz <aruiz@gnome.org>
#
# modified by: Rolf Gebhardt <rg@klige.de>
#
moduleset = os.environ['PWD']+'/pika.moduleset'
module = os.environ.get('MODULE', 'pika-dev')
modules = [module]
flavour = os.environ.get('BUILD_FLAVOUR', 'rls')
if flavour == 'rls':
flavour_ext = ''
flavour_opt = ''
flavour_cflags = " -g "
else:
flavour_ext = '-dbg'
flavour_opt = "--enable-debug=yes"
flavour_cflags = " -g -O0 "
buildarch = os.environ.get('BUILD_ARCH', 'i686')
if buildarch != "i686" and buildarch != "x86_64":
print ("Warning: BUILD_ARCH not recognized")
# checkoutroot: path to download packages elsewhere
# prefix: target path to install the compiled binaries
checkoutroot = os.environ['PWD']+'/checkout/'
prefix = os.environ['PWD'] + '/targets/' + module + flavour_ext + '-' + buildarch + '/'
tarballdir = None
os.environ['prefix'] = prefix
searchprefix = os.environ['PWD']+'/targets/pika-common' + flavour_ext + '-' + buildarch + '/'
#The host value is obtained with the result of executing
#the config.guess script on any of the packages.
#This value must be valid for most linux/x86 out there
os.environ['HOST'] = 'x86_64-unknown-linux-gnu'
os.environ['TARGET'] = os.environ.get('MINGW_TARGET', buildarch + '-w64-mingw32')
os.environ['PKG_CONFIG_LIBDIR'] = ""
addpath('PKG_CONFIG_LIBDIR', os.path.join(searchprefix, 'lib', 'pkgconfig'))
addpath('PKG_CONFIG_LIBDIR', os.path.join(searchprefix, 'share', 'pkgconfig'))
os.environ['PKG_CONFIG_PATH'] = os.environ['PKG_CONFIG_LIBDIR']
#Prefix for all the tools
mingw_tool_prefix = os.environ.get('MINGW_TOOLPREFIX', os.environ.get('MINGW_LOCATION', '/usr') + '/bin/' + os.environ['TARGET'] + '-')
mingw_tools = {'ADDR2LINE': 'addr2line',
'AS': 'as', 'CC': 'gcc', 'CPP': 'cpp',
'Cppfilt': 'c++filt', 'CXX': 'g++',
'DLLTOOL': 'dlltool', 'DLLWRAP': 'dllwrap',
'GCOV': 'gcov', 'LD': 'ld', 'NM': 'nm',
'OBJCOPY': 'objcopy', 'OBJDUMP': 'objdump',
'READELF': 'readelf', 'SIZE': 'size',
'STRINGS': 'strings', 'WINDRES': 'windres',
'AR': 'ar', 'RANLIB': 'ranlib', 'STRIP': 'strip'}
#Exporting all as environment variables with its prefix
mingw_tools_args = str()
for tool in mingw_tools.keys():
fullpath_tool = mingw_tool_prefix + mingw_tools[tool]
os.environ[tool] = fullpath_tool
# Allow enabling ccache
if os.environ.get('MINGW_USE_CCACHE', '') == 'yes':
os.environ['CC'] = 'ccache ' + os.environ['CC']
os.environ['CPP'] = 'ccache ' + os.environ['CPP']
os.environ['CXX'] = 'ccache ' + os.environ['CXX']
# Clear DISPLAY (prevents wine from popping up dialogs on some machines)
os.environ['DISPLAY'] = ''
#Added another common env var name for windres
os.environ['RC'] = os.environ['WINDRES']
#Exporting tool flags environment variables
os.environ['LDFLAGS'] = '-L'+searchprefix+'/lib'
os.environ['CFLAGS'] = '-mms-bitfields -I'+searchprefix+'/include '
os.environ['CPPFLAGS'] = '-I'+searchprefix+'/include'
os.environ['CXXFLAGS'] = '-mms-bitfields'
os.environ['CFLAGS'] += os.environ.get('MINGW_CFLAGS', '')
os.environ['CFLAGS'] += flavour_cflags
os.environ['CXXFLAGS']+= flavour_cflags
# CMake stuff
cmakeargs += ' -DCMAKE_TOOLCHAIN_FILE=' + os.environ['PWD'] + '/toolchain.cmake '
cmakeargs += ' -DCMAKE_FIND_ROOT_PATH="' + searchprefix + ';' + prefix + '" '
#Don't install libraries in lib64, even if compiling on 64-bit machines
use_lib64 = False
#Make scripts run with the interpreter that's running this script
#(required wherever /usr/bin/python is python 3)
import sys
os.environ['PYTHON'] = os.environ.get("PYTHON", sys.executable)
#needed by win32/Makefile.gcc of zlib
os.environ['INCLUDE_PATH'] = prefix+'/include'
os.environ['LIBRARY_PATH'] = prefix+'/lib'
os.environ['BINARY_PATH'] = prefix+'/bin'
#Populating autogenargs
autogenargs = ' --build='+os.environ['HOST']
autogenargs += ' --host='+os.environ['TARGET']
autogenargs += ' --disable-docs'
autogenargs += ' --enable-all-warnings --enable-maintainer-mode'
autogenargs += ' --disable-static'
autogenargs += ' '+flavour_opt
for tool in ('AR', 'RANLIB', 'STRIP', 'AS',
'DLLTOOL', 'OBJDUMP', 'NM', 'WINDRES'):
autogenargs += ' '+tool+'="'+os.environ[tool]+'" '
#Module specific configure arguments
module_autogenargs['zlib'] = ' --prefix='+prefix+' --shared'
module_autogenargs['jasper'] = autogenargs + """ --enable-shared"""
module_autogenargs['gettext'] = autogenargs + """ --without-emacs \
--without-cvs \
--disable-curses \
--disable-java \
--disable-native-java \
--enable-relocatable \
--enable-threads=win32"""
module_autogenargs['glib2'] = autogenargs + """ --disable-gtk-doc \
--disable-modular-tests \
--cache-file=""" + os.environ['PWD'] + "/win32.cache"
module_autogenargs['cairo'] = autogenargs + """ --enable-xlib=no \
--enable-xlib-xrender=no \
--enable-xcb=no \
--enable-xcb-shm=no \
--enable-pthread=no \
--enable-win32-font=yes"""
module_autogenargs['pixman'] = autogenargs + """ --enable-gtk=no"""
module_autogenargs['pango'] = autogenargs + """ --disable-gtk-doc \
--enable-explicit-deps=no \
--with-included-modules"""
module_autogenargs['atk'] = autogenargs + """ --disable-glibtest \
--disable-gtk-doc \
--enable-introspection=no"""
module_autogenargs['gdk-pixbuf2']= autogenargs + """ --with-included-loaders"""
module_autogenargs['gtk2'] = autogenargs + """ --disable-glibtest \
--disable-gtk-doc \
--disable-cups"""
module_autogenargs['gtk3'] = autogenargs + """ --disable-glibtest \
--disable-gtk-doc \
--disable-cups \
--enable-gtk2-dependency"""
module_autogenargs['fontconfig'] = autogenargs + """ --with-arch=i686 \
--enable-libxml2"""
module_autogenargs['icu'] = autogenargs + """ --with-cross-build=$(pwd)/../icu-native/ """
module_autogenargs['libxml2'] = autogenargs + """ --with-python=no \
--with-iconv=yes \
--with-zlib=no """
module_autogenargs['librsvg'] = autogenargs + """ --enable-introspection=no"""
module_autogenargs['libsoup'] = autogenargs + """ --without-apache-httpd"""
module_autogenargs['libwmf'] = autogenargs + """ --disable-gd \
--without-x \
--with-freetype=""" + prefix
module_autogenargs['ghostscript']= autogenargs + """ --without-jasper \
--with-system-libtiff \
--without-x \
--disable-cups \
--disable-contrib """
module_autogenargs['libgexiv2'] = autogenargs + "--disable-introspection"
module_autogenargs['webkitgtk'] = autogenargs.replace ("--enable-debug=yes", "") + """ \
--with-gtk=2.0 \
--with-target=win32 \
--disable-webkit2 \
--disable-geolocation \
--disable-video \
--disable-spellcheck \
--disable-credential-storage \
--disable-fast-malloc \
--disable-debug \
--disable-debug-symbols \
--disable-debug-features \
\
--disable-gamepad \
--with-acceleration_backend=none"""
module_autogenargs['babl'] = autogenargs + """ --enable-introspection=no"""
module_autogenargs['gegl'] = autogenargs + """ --enable-introspection=no \
--with-sdl=no"""
module_autogenargs['pika-stable']= autogenargs + """ --disable-python \
--disable-gtk-doc """
module_autogenargs['pika-dev'] = autogenargs + """ --disable-python \
--disable-gtk-doc """
module_autogenargs['pika-gtk3'] = autogenargs + """ --disable-python \
--disable-gtk-doc """
module_autogenargs['gdb'] = autogenargs.replace ("--disable-static", "")
module_cmakeargs['openjpeg2'] = cmakeargs + " -DBUILD_PKGCONFIG_FILES=ON"
module_makeargs['mingw32-pthreads']= " CROSS=" + mingw_tool_prefix
module_extra_env.update (
{'mingw32-pthreads':
{'PREFIX': prefix, 'INSTALL': 'install'},
'webkitgtk':
{'CFLAGS': os.environ['CFLAGS'].replace ("-g", ""),
'CXXFLAGS': os.environ['CXXFLAGS'].replace ("-g", "") + ' -I' + checkoutroot + 'pthreads-w32-2-9-1-release -w'},
'ghostscript':
{'CFLAGS': os.environ['CFLAGS'].replace ("-O0", "").replace ("-mms-bitfields", ""), 'ac_cv_lib_pthread_pthread_create': 'no', 'CC': os.environ['CC'] + " -mms-bitfields"},
'icu-native': {},
'poppler-data':
{'PREFIX': prefix},
'freetype2':
{'LIBPNG_CFLAGS': ' ', 'LIBPNG_LDFLAGS': '-lpng'},
'cairo':
{'ax_cv_c_float_words_bigendian': 'no'},
'json-c':
{'ac_cv_func_malloc_0_nonnull': 'yes', 'ac_cv_func_realloc_0_nonnull': 'yes'}, # Erm... this is potentially bad...
# Ensure that pika doesn't get the host machine's freetype-config
'pika-dev':
{'FREETYPE_CONFIG': os.path.join(searchprefix, 'bin', 'freetype-config'),
'ac_cv_lib_bz2_BZ2_bzCompress': 'yes',
'WMF_CONFIG': os.path.join(searchprefix, 'bin', 'libwmf-config')},
'pika-stable':
{'FREETYPE_CONFIG': os.path.join(searchprefix, 'bin', 'freetype-config'),
'ac_cv_lib_bz2_BZ2_bzCompress': 'yes',
'WMF_CONFIG': os.path.join(searchprefix, 'bin', 'libwmf-config')},
'pika-gtk3':
{'FREETYPE_CONFIG': os.path.join(searchprefix, 'bin', 'freetype-config'),
'ac_cv_lib_bz2_BZ2_bzCompress': 'yes',
'WMF_CONFIG': os.path.join(searchprefix, 'bin', 'libwmf-config')},
})

View File

@ -0,0 +1,26 @@
#!/bin/bash
./build list -r -a | sort | while read line; do
# Parse jhbuild's module versions
COUPLE=`echo $line | grep -o -e "[^ :()]*"`
PACKAGE=`echo "$COUPLE" | sed -n 1p`
VERSION=`echo "$COUPLE" | sed -n 2p | grep -o -e "[^- :]*" | sed -n 1p`
# Filter out git versions (40 char hashes), and metamodules (empty strings)
if [ ${#VERSION} == 40 ] || [ ${#VERSION} == 0 ]; then
continue
fi
# Determine pacman's version of the package
PACVERSION=`pacman -Qi $PACKAGE | grep Version | grep -o -e "[^- :]*" | sed -n 2p`
# Filter out packages that pacman doesn't know about
if [ ${#PACVERSION} == 0 ]; then
continue
fi
# Warn if the versions are different
if [ "$VERSION" != "$PACVERSION" ]; then
echo $PACKAGE ":" $VERSION ":" $PACVERSION
fi
done

View File

@ -0,0 +1,18 @@
#!/bin/bash
pushd checkout
rm -rf *-*/
find . -maxdepth 1 -type f -atime +25 -print -delete
for gitdir in babl gegl pika; do
pushd $gitdir
git clean -xdf
popd
done
popd
if [[ "$1" != "--skip-targets" ]]; then
echo "Cleaning targets"
rm -rf targets/*
fi

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<moduleset>
<repository type="tarball" name="bzip.org" href="http://www.bzip.org/" />
<repository type="tarball" name="tukaani.org"
href="http://tukaani.org/" />
<repository type="tarball" name="zlib.net"
href="http://zlib.net/" />
<autotools id="bzip2">
<branch version="1.0.6" repo="bzip.org"
module="1.0.6/bzip2-1.0.6.tar.gz"
hash="md5:00b516f4704d4a7cb50a1d97e6e8e15b">
<!-- From http://ftp.suse.com/pub/people/sbrabec/bzip2/ -->
<patch file="bzip2-1.0.6-autoconfiscated.patch" strip="1" />
<!-- From openSUSE buildservice -->
<patch file="bzip2-1.0.5-slash.patch" strip="1" />
</branch>
</autotools>
<autotools id="xz" autogen-sh="configure">
<branch version="5.2.3" repo="tukaani.org"
module="xz/xz-5.2.3.tar.xz"
hash="sha256:7876096b053ad598c31f6df35f7de5cd9ff2ba3162e5a5554e4fc198447e0347">
</branch>
</autotools>
<autotools id="zlib" autogen-sh="configure" makeargs="-f win32/Makefile.gcc -e zlib1.dll SHARED_MODE=1" makeinstallargs="-f win32/Makefile.gcc -e install SHARED_MODE=1">
<branch version="1.2.11" repo="zlib.net"
module="zlib-1.2.11.tar.xz"
hash="sha256:4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066">
</branch>
</autotools>
</moduleset>

View File

@ -0,0 +1,3 @@
all:
mkdir -p $(DESTDIR)/$(DESTDIR)/bin/
#echo hi > $(DESTDIR)/$(DESTDIR)/bin/friendly.sh

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<moduleset>
<repository type="tarball" name="ftp.gnu.org"
href="http://ftp.gnu.org/gnu/" />
<repository type="tarball" name="sf.net"
href="http://downloads.sourceforge.net/project/" />
<autotools id="expat" autogen-sh="configure">
<branch version="2.1.0" repo="sf.net"
module="expat/expat/2.1.0/expat-2.1.0.tar.gz"
hash="sha1:b08197d146930a5543a7b99e871cba3da614f6f0">
</branch>
</autotools>
<autotools id="gdb" autogen-sh="configure" makeargs="-j1">
<branch version="7.9.1" repo="ftp.gnu.org"
module="gdb/gdb-7.9.1.tar.xz"
hash="sha1:04ba2906279b16b5f99c4f6b25942843a3717cdb">
</branch>
<dependencies>
<dep package="expat"/>
</dependencies>
</autotools>
</moduleset>

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<moduleset>
<repository type="tarball" name="gnu.org"
href="http://ftp.gnu.org/pub/gnu/" />
<repository type="tarball" name="gnome.org"
href="http://ftp.gnome.org/pub/gnome/sources/" />
<repository type="tarball" name="sourceware.org"
href="ftp://sourceware.org/pub/" />
<repository type="tarball" name="ftp.csx.cam.ac.uk"
href="ftp://ftp.csx.cam.ac.uk/pub/software/programming/" />
<autotools id="iconv" autogen-sh="configure">
<branch version="1.14" repo="gnu.org"
module="libiconv/libiconv-1.14.tar.gz"
hash="sha256:72b24ded17d687193c3366d0ebe7cde1e6b18f0df8c55438ac95be39e8a30613">
<patch file="iconv-fix-inline.patch" strip="1"/>
</branch>
</autotools>
<autotools id="gettext" autogen-sh="configure">
<branch version="0.19.4" repo="gnu.org"
module="gettext/gettext-0.19.4.tar.gz"
hash="sha256:8ac9f1ed1a5f8c4e656a2f37f5ba6b9ee04c4df79a575e876b0b6946aa417f3f">
<patch file="gettext_0_18_crossbuild_override_tools_fix.patch"/>
</branch>
<dependencies>
<dep package="iconv"/>
</dependencies>
</autotools>
<autotools id="libffi" autogen-sh="configure">
<branch version="3.2.1" repo="sourceware.org"
module="libffi/libffi-3.2.1.tar.gz"
hash="md5:83b89587607e3eb65c70d361f13bab43">
</branch>
</autotools>
<autotools id="pcre" autogen-sh="configure">
<branch version="8.40" repo="ftp.csx.cam.ac.uk"
module="pcre/pcre-8.40.tar.bz2"
hash="sha256:00e27a29ead4267e3de8111fcaa59b132d0533cdfdbdddf4b0604279acbcf4f4">
</branch>
</autotools>
<autotools id="glib2">
<branch version="2.50.2" repo="gnome.org"
module="glib/2.50/glib-2.50.2.tar.xz"
hash="sha256:be68737c1f268c05493e503b3b654d2b7f43d7d0b8c5556f7e4651b870acfbf5">
</branch>
<dependencies>
<dep package="gettext"/>
<dep package="iconv"/>
<dep package="pcre"/>
<dep package="zlib"/>
<dep package="libffi"/>
</dependencies>
</autotools>
</moduleset>

View File

@ -0,0 +1,196 @@
<?xml version="1.0" encoding="UTF-8"?>
<moduleset>
<include href="glib.moduleset"/>
<include href="imglibs.moduleset"/>
<include href="compresslibs.moduleset"/>
<repository type="tarball" name="cairographics.org"
href="http://cairographics.org/releases/" />
<repository type="tarball" name="freedesktop.org"
href="http://www.freedesktop.org/software/" />
<repository type="tarball" name="gnome.org"
href="http://ftp.gnome.org/pub/gnome/sources/" />
<repository type="tarball" name="savannah.gnu.org"
href="http://download.savannah.gnu.org/releases/" />
<repository type="tarball" name="xmlsoft.org"
href="ftp://xmlsoft.org/" />
<repository type="git" name="anongit.freedesktop.org"
href="git://anongit.freedesktop.org/"/>
<repository type="tarball" name="icu-project.org"
href="http://download.icu-project.org/files/" />
<repository type="tarball" name="github-tarball"
href="https://github.com/"/>
<autotools id="cairo">
<branch version="1.14.8" repo="cairographics.org"
module="cairo-1.14.8.tar.xz"
hash="sha1:c6f7b99986f93c9df78653c3e6a3b5043f65145e">
</branch>
<dependencies>
<dep package="zlib"/>
<dep package="libpng"/>
<dep package="pixman"/>
<dep package="fontconfig"/>
<dep package="glib2"/>
</dependencies>
</autotools>
<autotools id="pixman" autogen-sh="configure">
<branch version="0.34.0" repo="cairographics.org"
module="pixman-0.34.0.tar.gz"
hash="sha1:a1b1683c1a55acce9d928fea1ab6ceb79142ddc7">
</branch>
</autotools>
<autotools id="pango" autogen-sh="configure">
<branch version="1.40.3" repo="gnome.org"
module="pango/1.40/pango-1.40.3.tar.xz"
hash="sha256:abba8b5ce728520c3a0f1535eab19eac3c14aeef7faa5aded90017ceac2711d3">
</branch>
<dependencies>
<dep package="cairo"/>
<dep package="pixman"/>
<dep package="glib2"/>
<dep package="fontconfig"/>
<dep package="harfbuzz"/>
</dependencies>
</autotools>
<autotools id="atk" autogen-sh="configure" makeinstallargs="install -j1">
<branch version="2.22.0" repo="gnome.org"
module="atk/2.22/atk-2.22.0.tar.xz"
hash="sha256:d349f5ca4974c9c76a4963e5b254720523b0c78672cbc0e1a3475dbd9b3d44b6">
</branch>
<dependencies>
<dep package="glib2"/>
</dependencies>
</autotools>
<autotools id="fontconfig" autogen-sh="configure" makeinstallargs="install -j1">
<branch version="2.12.1" repo="freedesktop.org"
module="fontconfig/release/fontconfig-2.12.1.tar.bz2"
hash="sha256:b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3">
</branch>
<dependencies>
<dep package="freetype2"/>
</dependencies>
</autotools>
<autotools id="freetype2" autogen-sh="configure">
<branch version="2.7.1" repo="savannah.gnu.org"
module="freetype/freetype-2.7.1.tar.bz2"
hash="sha256:3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88">
</branch>
<dependencies>
<dep package="bzip2"/>
<dep package="libxml2"/>
<dep package="libpng"/>
</dependencies>
</autotools>
<autotools id="icu" autogen-sh="source/runConfigureICU MinGW ">
<branch version="51.2" repo="icu-project.org"
checkoutdir="icu-mingw"
module="icu4c/51.2/icu4c-51_2-src.tgz"
hash="md5:072e501b87065f3a0ca888f1b5165709">
<patch file="icu-unexport-target.patch" strip="1"/>
<patch file="icu-fix-library-names.patch" strip="1"/>
</branch>
<dependencies>
<dep package="icu-native"/>
</dependencies>
</autotools>
<autotools id="icu-native" autogen-sh=" || env -i PATH=$PATH source/runConfigureICU Linux ; true " makeinstallargs=" -f ../../fake.mk ">
<branch version="51.2" repo="icu-project.org"
checkoutdir="icu-native"
module="icu4c/51.2/icu4c-51_2-src.tgz"
hash="md5:072e501b87065f3a0ca888f1b5165709">
<patch file="icu-unexport-target.patch" strip="1"/>
</branch>
</autotools>
<autotools id="harfbuzz">
<branch version="1.4.2" repo="freedesktop.org"
module="harfbuzz/release/harfbuzz-1.4.2.tar.bz2"
hash="sha256:8f234dcfab000fdec24d43674fffa2fdbdbd654eb176afbde30e8826339cb7b3">
</branch>
<dependencies>
<dep package="cairo"/>
<dep package="icu"/>
<dep package="freetype2"/>
</dependencies>
</autotools>
<autotools id="libxml2" autogen-sh="configure">
<branch version="2.9.4" repo="xmlsoft.org"
module="libxml2/libxml2-2.9.4.tar.gz"
hash="sha256:ffb911191e509b966deb55de705387f14156e1a56b21824357cdf0053233633c">
</branch>
<dependencies>
<dep package="iconv"/>
</dependencies>
</autotools>
<autotools id="libxslt" autogen-sh="configure">
<branch version="1.1.28" repo="xmlsoft.org"
module="libxslt/libxslt-1.1.28.tar.gz"
hash="sha256:5fc7151a57b89c03d7b825df5a0fae0a8d5f05674c0e7cf2937ecec4d54a028c">
<!-- From: OBS -->
<patch file="libxslt-1.1.26-w64.patch" strip="1"/>
</branch>
<dependencies>
<dep package="iconv"/>
<dep package="libxml2"/>
<dep package="zlib"/>
</dependencies>
</autotools>
<autotools id="gdk-pixbuf2" autogen-sh="configure">
<branch version="2.36.4" repo="gnome.org"
module="gdk-pixbuf/2.36/gdk-pixbuf-2.36.4.tar.xz"
hash="sha256:0b19901c3eb0596141d2d48ddb9dac79ad1524bdf59366af58ab38fcb9ee7463">
</branch>
<dependencies>
<dep package="glib2"/>
<dep package="imglibs"/>
</dependencies>
</autotools>
<autotools id="libepoxy" autogen-sh="configure">
<branch version="1.3.1" repo="github-tarball"
module="anholt/libepoxy/releases/download/v1.3.1/libepoxy-1.3.1.tar.bz2"
hash="sha256:1d8668b0a259c709899e1c4bab62d756d9002d546ce4f59c9665e2fc5f001a64">
</branch>
</autotools>
<autotools id="gtk2" autogen-sh="configure" makeargs=" || rm -f gtk/gtk.def &amp;&amp; make" makeinstallargs="install -j1">
<branch version="2.24.31" repo="gnome.org"
module="gtk+/2.24/gtk+-2.24.31.tar.xz"
hash="sha256:68c1922732c7efc08df4656a5366dcc3afdc8791513400dac276009b40954658">
</branch>
<dependencies>
<dep package="glib2"/>
<dep package="gdk-pixbuf2"/>
<dep package="cairo"/>
<dep package="atk"/>
<dep package="pango"/>
</dependencies>
</autotools>
<autotools id="gtk3" autogen-sh="configure" makeinstallargs="install -j1">
<branch version="3.16.5" repo="gnome.org"
module="gtk+/3.16/gtk+-3.16.5.tar.xz"
hash="sha256:b87c99d127eb962fc857c246b77a65322cdffd7dcbcf46a83bce2040e0f4bc31">
</branch>
<dependencies>
<dep package="glib2"/>
<dep package="gdk-pixbuf2"/>
<dep package="cairo"/>
<dep package="atk"/>
<dep package="pango"/>
<dep package="libepoxy"/>
</dependencies>
</autotools>
</moduleset>

View File

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<moduleset>
<repository type="tarball" name="jasper" href="http://www.ece.uvic.ca/~frodo/jasper/software/" />
<repository type="tarball" name="osgeo.org"
href="http://download.osgeo.org/" />
<repository type="tarball" name="sf.net"
href="http://downloads.sourceforge.net/project/" />
<repository type="tarball" name="download.sourceforge.net"
href="http://download.sourceforge.net/" />
<repository type="tarball" name="webmproject.org"
href="http://downloads.webmproject.org/releases/" />
<include href="compresslibs.moduleset"/>
<autotools id="libtiff" autogen-sh="configure">
<branch version="4.0.7" repo="osgeo.org"
module="libtiff/tiff-4.0.7.zip"
hash="sha256:6ba82d82b5abb508fc6c480c8ef63fd1c9bdea31735b30bc47bdebe2272087a7">
</branch>
<dependencies>
<dep package="libjpeg-turbo"/>
</dependencies>
</autotools>
<autotools id="libpng" autogen-sh="configure">
<branch version="1.6.28" repo="download.sourceforge.net"
module="libpng/libpng-1.6.28.tar.xz"
hash="md5:425354f86c392318d31aedca71019372">
</branch>
<dependencies>
<dep package="zlib"/>
</dependencies>
</autotools>
<autotools id="libjpeg-turbo" autogen-sh="configure">
<branch version="1.3.1" repo="sf.net"
module="libjpeg-turbo/1.3.1/libjpeg-turbo-1.3.1.tar.gz"
hash="sha1:5fa19252e5ca992cfa40446a0210ceff55fbe468">
<patch file="libjpeg-turbo-int32.patch" strip="1"/>
<patch file="libjpeg-turbo-boolean.patch" strip="1"/>
</branch>
</autotools>
<autotools id="jasper">
<branch version="1.900.1" repo="jasper"
module="jasper-1.900.1.zip"
hash="sha256:6b905a9c2aca2e275544212666eefc4eb44d95d0a57e4305457b407fe63f9494">
<!-- From openSUSE buildservice -->
<patch file="jasper-1.900.1-sleep.patch" strip="1"/>
<patch file="jasper-1.900.1-mingw32.patch" strip="1"/>
</branch>
<dependencies>
<dep package="libjpeg-turbo"/>
</dependencies>
</autotools>
<metamodule id="imglibs">
<dependencies>
<dep package="libpng"/>
<dep package="libtiff"/>
<dep package="libjpeg-turbo"/>
<dep package="jasper"/>
</dependencies>
</metamodule>
<autotools id="libmng" autogen-sh="configure">
<branch version="2.0.3" repo="sf.net"
module="libmng/libmng-devel/2.0.3/libmng-2.0.3.tar.xz"
hash="sha1:0f141482ffcef6f8cd4413f945a59310ac2e49af">
<patch file="libmng-no-undefined-makefile-in.patch" strip="1"/>
</branch>
<dependencies>
<dep package="zlib"/>
<dep package="libjpeg-turbo"/>
<dep package="lcms2"/>
</dependencies>
</autotools>
<autotools id="libwebp" autogen-sh="configure">
<branch version="0.6.0" repo="webmproject.org"
module="webp/libwebp-0.6.0.tar.gz"
hash="sha256:c928119229d4f8f35e20113ffb61f281eda267634a8dc2285af4b0ee27cf2b40">
</branch>
</autotools>
<cmake id="openjpeg2">
<branch version="2.1.0" repo="sf.net"
module="openjpeg.mirror/2.1.0/openjpeg-2.1.0.tar.gz"
hash="sha1:c2a255f6b51ca96dc85cd6e85c89d300018cb1cb">
</branch>
</cmake>
</moduleset>

View File

@ -0,0 +1,115 @@
#!/bin/env python3
import getopt, os, sys, tarfile
from xml.etree import ElementTree
def makearchive (dest, manifest, root):
"""Makes an archive for the given jhbuild manifest"""
filenames = None
with open (manifest, "r") as f:
filenames = f.readlines ()
rootlen = len (root)
with tarfile.open (dest, "w|bz2") as tar:
for name in filenames:
name = name.strip ()
arcname = name [rootlen:]
tar.add (name, arcname)
def parse_packagedb (packagedb_loc):
"""Parses a jhbuild packagedb.xml file"""
tree = ElementTree.parse (packagedb_loc)
root = tree.getroot ()
packages = [child.attrib for child in root]
return packages
def run (targets_loc, packages_loc):
# Set up directories
try:
os.mkdir (packages_loc)
except FileExistsError:
pass
# Loop over directories in targets/
for target_name in os.listdir (targets_loc):
target_loc = os.path.join (targets_loc, target_name)
packagedb_loc = os.path.join (targets_loc, target_name, "_jhbuild", "packagedb.xml")
manifests_loc = os.path.join (targets_loc, target_name, "_jhbuild", "manifests")
# Skip folders that aren't jhbuild output dirs
if not os.path.isfile (packagedb_loc):
continue
# Build arch
build_arch = ""
if target_name[-7:] == "-x86_64":
build_arch = "x86_64"
elif target_name[-5:] == "-i686":
build_arch = "i686"
else:
print ("Warning: BUILD_ARCH suffix not recognized")
# Create archives for each package
for package in parse_packagedb (packagedb_loc):
tar_name = package["package"] + '-' + build_arch + '-' + package["version"] + '.tar.bz2'
tar_loc = os.path.join (packages_loc, tar_name)
manifest_loc = os.path.join (manifests_loc, package["package"])
if os.path.isfile (tar_loc):
print ("Archive " + tar_name + " exists; Skipping")
continue
print ("Making " + tar_name)
try:
makearchive (tar_loc, manifest_loc, target_loc)
except FileNotFoundError as e:
print ()
print ("!!!!!!!! Warning: Creation of " + tar_name + " failed !!!!!!!!")
print (e)
print ()
try:
os.remove (tar_loc)
except FileNotFoundError:
pass
# Usage information
def usage ():
print ("""
Creates .tar.bz2 files for each of jhbuild's output packages
Available options:
-t, --target-directory=DIRECTORY
Output package files into DIRECTORY
""")
# Command line parameter parsing
def main ():
try:
opts, args = getopt.getopt (sys.argv[1:], "ht:", ["help", "target-directory="])
except getopt.GetoptError as err:
print (err)
usage ()
sys.exit (2)
packages_loc = None
for o, a in opts:
if o in ("-h", "--help"):
usage()
sys.exit()
elif o in ("-t", "--target-directory"):
packages_loc = a
else:
assert False, "unhandled option"
scriptdir_loc = os.path.dirname (os.path.realpath (__file__))
targets_loc = os.path.join (scriptdir_loc, "targets")
if packages_loc is None:
packages_loc = os.path.join (targets_loc, "packages")
run (targets_loc, packages_loc)
if __name__ == "__main__":
main ()

View File

@ -0,0 +1,220 @@
<?xml version="1.0" encoding="UTF-8"?>
<moduleset>
<repository type="tarball" name="gnome.org"
href="http://ftp.gnome.org/pub/gnome/sources/" />
<repository type="tarball" name="icon-theme.freedesktop.org"
href="http://icon-theme.freedesktop.org/releases/" />
<repository type="tarball" name="tango.freedesktop.org"
href="http://tango.freedesktop.org/releases/" />
<repository type="tarball" name="sf.net"
href="http://downloads.sourceforge.net/project/" />
<repository type="tarball" name="pkg-isocodes"
href="http://pkg-isocodes.alioth.debian.org/downloads/" />
<repository type="tarball" name="poppler"
href="http://poppler.freedesktop.org/" />
<repository type="tarball" name="exiv2"
href="http://www.exiv2.org/" />
<repository type="tarball" name="json-c"
href="https://s3.amazonaws.com/json-c_releases/releases/" />
<repository type="git" name="github"
href="https://github.com/"/>
<include href="gtk+.moduleset"/>
<autotools id="libcroco" autogen-sh="configure">
<branch version="0.6.8" repo="gnome.org"
module="libcroco/0.6/libcroco-0.6.8.tar.xz"
hash="sha256:ea6e1b858c55219cefd7109756bff5bc1a774ba7a55f7d3ccd734d6b871b8570">
</branch>
<dependencies>
<dep package="glib2"/>
<dep package="libxml2"/>
</dependencies>
</autotools>
<autotools id="librsvg" autogen-sh="configure">
<branch version="2.40.9" repo="gnome.org"
module="librsvg/2.40/librsvg-2.40.9.tar.xz"
hash="sha256:13964c5d35357552b47d365c34215eee0a63bf0e6059b689f048648c6bf5f43a">
</branch>
<dependencies>
<dep package="glib2"/>
<dep package="gdk-pixbuf2"/>
<dep package="libxml2"/>
<dep package="cairo"/>
<dep package="pango"/>
<dep package="libcroco"/>
</dependencies>
</autotools>
<autotools id="lcms" autogen-sh="configure">
<branch version="1.19" repo="sf.net"
module="lcms/lcms/1.19/lcms-1.19.tar.gz"
hash="sha256:80ae32cb9f568af4dc7ee4d3c05a4c31fc513fc3e31730fed0ce7378237273a9">
</branch>
</autotools>
<autotools id="lcms2" autogen-sh="configure">
<branch version="2.8" repo="sf.net"
module="lcms/lcms/2.8/lcms2-2.8.tar.gz"
hash="sha1:e9535ec4a572b8fc7a1c405c35e6f4dc97714197">
</branch>
</autotools>
<autotools id="libexif" autogen-sh="configure">
<branch version="0.6.21" repo="sf.net"
module="libexif/libexif/0.6.21/libexif-0.6.21.tar.bz2"
hash="sha1:a52219b12dbc8d33fc096468591170fda71316c0">
</branch>
</autotools>
<autotools id="iso-codes" autogen-sh="configure">
<branch version="3.74" repo="pkg-isocodes"
module="iso-codes-3.74.tar.xz"
hash="sha256:21f4f3cea8fe09f5b53784522303a0e1e7d083964ecaf1c75b1441d4d9ec6aee">
</branch>
</autotools>
<autotools id="libwmf" autogen-sh=" || (make clean || true); ./configure">
<branch version="0.2.8.4" repo="sf.net"
module="wvware/libwmf/0.2.8.4/libwmf-0.2.8.4.tar.gz"
hash="sha1:822ab3bd0f5e8f39ad732f2774a8e9f18fc91e89">
<!-- sigh... upstream practically gone... so many patches. -->
<!-- from OBS -->
<patch file="libwmf/libwmf-0.2.8.3-nodocs.patch" strip="1"/>
<patch file="libwmf/libwmf-0.2.8.3-relocatablefonts.patch" strip="1"/>
<patch file="libwmf/libwmf-0.2.8.4-intoverflow.patch" strip="1"/>
<patch file="libwmf/libwmf-0.2.8.4-multiarchdevel.patch" strip="1"/>
<patch file="libwmf/libwmf-0.2.8.4-deps.patch" strip="1"/>
<patch file="libwmf/libwmf-0.2.8.4-reducesymbols.patch" strip="1"/>
<patch file="libwmf/libwmf-0.2.8.4-fallbackfont.patch" strip="1"/>
<patch file="libwmf/libwmf-0.2.8.4-useafterfree.patch" strip="1"/>
<!-- from archlinux -->
<patch file="libwmf/libwmf-0.2.8.4-libpng-1.5.patch" strip="1"/>
</branch>
<dependencies>
<dep package="freetype2"/>
<dep package="zlib"/>
<dep package="libpng"/>
<dep package="libjpeg-turbo"/>
</dependencies>
</autotools>
<autotools id="ghostscript" makeargs="so" makeinstallargs="soinstall">
<branch version="8.71" repo="sf.net"
module="ghostscript/GPL%20Ghostscript/8.71/ghostscript-8.71.tar.xz"
hash="sha1:aa2df7ba23abdfe95d36acec7333eac51768c47d">
<!-- From OBS -->
<patch file="ghostscript-8.71-windows.patch" strip="1"/>
<!-- Local patch: -->
<patch file="ghostscript-change-install-paths.patch" strip="1"/>
</branch>
<dependencies>
<dep package="libtiff"/>
</dependencies>
</autotools>
<autotools id="poppler-data" autogen-sh=" || true" makeinstallargs="install prefix=$PREFIX">
<branch version="0.4.7" repo="poppler"
module="poppler-data-0.4.7.tar.gz"
hash="sha1:556a5bebd0eb743e0d91819ba11fd79947d8c674">
</branch>
</autotools>
<autotools id="poppler" autogen-sh="configure">
<branch version="0.51.0" repo="poppler"
module="poppler-0.51.0.tar.xz"
hash="sha256:e997c9ad81a8372f2dd03a02b00692b8cc479c220340c8881edaca540f402c1f">
<!-- https://bugs.freedesktop.org/show_bug.cgi?id=91384 -->
<patch file="poppler-windows-h.patch" strip="1"/>
</branch>
<dependencies>
<dep package="freetype2"/>
<dep package="imglibs"/>
<dep package="cairo"/>
<dep package="openjpeg2"/>
</dependencies>
<suggests>
<dep package="poppler-data"/>
</suggests>
</autotools>
<cmake id="exiv2">
<branch version="0.25" repo="exiv2"
module="exiv2-0.25.tar.gz"
hash="md5:258d4831b30f75a01e0234065c6c2806">
<patch file="exiv2-add-wsock32.patch" strip="1"/>
</branch>
<dependencies>
<dep package="zlib"/>
<dep package="expat"/>
<dep package="iconv"/>
<dep package="gettext"/>
</dependencies>
</cmake>
<autotools id="libgexiv2" autogen-sh="configure">
<branch version="0.10.4" repo="gnome.org"
module="gexiv2/0.10/gexiv2-0.10.4.tar.xz"
hash="sha256:ad8d31afdc0a1932cc44c4cfcea449497c0d0b445c0ad2f9735707b306e71ca4">
</branch>
<dependencies>
<dep package="exiv2"/>
<dep package="glib2"/>
</dependencies>
</autotools>
<autotools id="hicolor-icon-theme" autogen-sh="configure">
<branch version="0.15" repo="icon-theme.freedesktop.org"
module="hicolor-icon-theme-0.15.tar.xz"
hash="sha256:9cc45ac3318c31212ea2d8cb99e64020732393ee7630fa6c1810af5f987033cc">
</branch>
</autotools>
<autotools id="icon-naming-utils" autogen-sh="configure">
<branch version="0.8.90" repo="tango.freedesktop.org"
module="icon-naming-utils-0.8.90.tar.bz2"
hash="sha256:b1378679df4485b4459f609a3304238b3e92d91e43744c47b70abbe690d883d5">
</branch>
</autotools>
<autotools id="gnome-icon-theme" autogen-sh="configure">
<branch version="3.12.0" repo="gnome.org"
module="gnome-icon-theme/3.12/gnome-icon-theme-3.12.0.tar.xz"
hash="sha256:359e720b9202d3aba8d477752c4cd11eced368182281d51ffd64c8572b4e503a">
</branch>
<dependencies>
<dep package="icon-naming-utils"/>
<dep package="hicolor-icon-theme"/>
</dependencies>
</autotools>
<autotools id="json-glib" autogen-sh="configure">
<branch version="1.2.2" repo="gnome.org"
module="json-glib/1.2/json-glib-1.2.2.tar.xz"
hash="sha256:ea128ab52a824fcd06e5448fbb2bd8d9a13740d51c66d445828edba71321a621">
</branch>
<dependencies>
<dep package="glib2"/>
</dependencies>
</autotools>
<autotools id="json-c" autogen-sh="configure">
<branch version="0.12.1" repo="json-c"
module="json-c-0.12.1-nodoc.tar.gz"
checkoutdir="json-c-0.12.1-nodoc"
hash="sha256:5a617da9aade997938197ef0f8aabd7f97b670c216dc173977e1d56eef9e1291">
<!-- Local patch: -->
<patch file="json-c-disable-werror.patch" strip="1"/>
</branch>
</autotools>
<autotools id="libmypaint" autogen-sh="autogen.sh &amp;&amp; ./configure">
<branch repo="github" module="mypaint/libmypaint.git"/>
<dependencies>
<dep package="json-c"/>
<dep package="gettext"/>
</dependencies>
</autotools>
</moduleset>

View File

@ -0,0 +1,95 @@
#!/bin/bash
dll_loc_32=${DLL_LOC_i686:-/usr/i686-w64-mingw32/bin}
dll_loc_64=${DLL_LOC_x86_64:-/usr/x86_64-w64-mingw32/bin}
add_dll (){
cp --reflink=auto $1/$2 ./bin/
}
dostuff (){
f=$1-$4-`date +%Y-%m-%d`
mkdir -p combined/$f
cp -R -d -L --reflink=auto ./pika-common$3-$4/* combined/$f
cp -R -d -L --reflink=auto ./$1-$4/* combined/$f
pushd combined
pushd $f
mv lib/libicu*.dll bin/
rm -rf _jhbuild
rm -rf man
rm -rf share/doc
rm -rf share/gtk-doc
rm -rf share/gtk-2.0/demo
rm -rf share/applications
rm -rf share/info
rm -rf share/man
rm -rf share/gdb
rm -rf share/gettext
rm -f etc/gconf/2/path.jhbuild
rm -f `find -name *.exe | sed -e /pika/d -e /gspawn/d -e /gdb.exe/d`
if [ "$4" == "i686" ]; then
add_dll $dll_loc_32 libstdc++-6.dll
add_dll $dll_loc_32 libgcc_s_sjlj-1.dll
add_dll $dll_loc_32 libwinpthread-1.dll
elif [ "$4" == "x86_64" ]; then
add_dll $dll_loc_64 libstdc++-6.dll
add_dll $dll_loc_64 libgcc_s_seh-1.dll
add_dll $dll_loc_64 libwinpthread-1.dll
fi
pushd bin
rm -f `ls | sed -e /.exe/d -e /.dll/d`
popd
rm -f `find -name *.html`
rm -f `find -name *.htm`
rm -f `find -name *.a`
rm -f `find -name *.def`
rm -f `find -name *.sh`
rm -f `find -name *.h`
rm -f `find -name *.c`
rm -f `find -name *.hxx`
rm -f `find -name *.pc`
rm -f `find -name *.m4`
rm -f `find -name *.manifest`
find -depth -type d -empty -exec rmdir {} \;
echo "@echo off
start %~dp0bin\\$2" | unix2dos > run_pika.bat
echo "gtk-fallback-icon-theme='gnome'" >> etc/gtk-2.0/gtkrc
popd
if [ -e $f/bin/pika-2.*.exe ]; then
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on /tmp/$f.7z $f
cat ~/bin/7z.sfx /tmp/$f.7z > $f.exe
rm -f /tmp/$f.7z
else
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "!! PIKA EXECUTABLE NOT FOUND !!"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
fi
rm -rf $f
popd
}
cd targets
dostuff pika-stable pika-2.8.exe "" i686
dostuff pika-dev pika-2.9.exe "" i686
dostuff pika-stable-dbg pika-2.8.exe "-dbg" i686
dostuff pika-dev-dbg pika-2.9.exe "-dbg" i686
dostuff pika-stable pika-2.8.exe "" x86_64
dostuff pika-dev pika-2.9.exe "" x86_64
dostuff pika-stable-dbg pika-2.8.exe "-dbg" x86_64
dostuff pika-dev-dbg pika-2.9.exe "-dbg" x86_64

View File

@ -0,0 +1,11 @@
--- bzip2-1.0.5.orig/bzip2.c 2007-12-09 12:22:06.000000000 +0000
+++ bzip2-1.0.5/bzip2.c 2008-09-25 12:31:02.000000000 +0100
@@ -128,7 +128,7 @@
#if BZ_LCCWIN32
# include <io.h>
# include <fcntl.h>
-# include <sys\stat.h>
+# include <sys/stat.h>
# define NORETURN /**/
# define PATH_SEP '\\'

View File

@ -0,0 +1,287 @@
diff -urN files/autogen.sh ./autogen.sh
--- bzip2-1.0.5.orig/autogen.sh 1970-01-01 01:00:00.000000000 +0100
+++ bzip2-1.0.5.autoconfiscated/autogen.sh 2009-11-06 12:10:43.574602171 +0100
@@ -0,0 +1,9 @@
+mv LICENSE COPYING
+mv CHANGES NEWS
+touch AUTHORS
+touch ChangeLog
+libtoolize --force
+aclocal
+automake --add-missing --gnu
+autoconf
+./configure "$@"
diff -urN bzip2-1.0.5.orig/README.autotools bzip2-1.0.5.autoconfiscated/README.autotools
--- bzip2-1.0.5.orig/README.autotools 1970-01-01 01:00:00.000000000 +0100
+++ bzip2-1.0.5.autoconfiscated/README.autotools 2010-11-02 17:04:06.000000000 +0100
@@ -0,0 +1,39 @@
+bzip2 autoconfiscated
+=====================
+
+Temporarily at http://ftp.suse.com/pub/people/sbrabec/bzip2/ expecting
+that it will become a new upstream version to prevent per-distribution
+shared library patching done by nearly each Linux vendor separately.
+
+Autoconfiscation brings standard ./configure ; make ; make install
+installation, seamless support of DESTDIR, automatic check for supported
+CFLAGS, standard shared library support, automatic large files CFLAGS
+check and all things that are supported by automake.
+
+It makes obsolete Makefile-libbz2_so and README.COMPILATION.PROBLEMS.
+Now configure should automatically detect correct build flags.
+
+In case of any problem or question with autotools support feel free to
+contact me: Stanislav Brabec <sbrabec@suse.cz>
+
+Autoconfiscated version binaries are exactly equal to
+bzip2-1.0.5.tar.gz. There are only few changes. See below.
+
+
+New features:
+
+Trivial link man pages for bzcat and bunzip2 added.
+
+bzip2.pc file for pkg-config. Packages can use it for checks.
+
+
+Incompatible changes:
+
+soname change. Libtool has no support for two parts soname suffix (e. g.
+libbz2.so.1.0). It must be a single number (e. g. libbz2.so.1). That is
+why soname must change. But I see not a big problem with it. Several
+distributions already use the new number instead of the non-standard
+number from Makefile-libbz2_so.
+
+To be super-safe, I incremented minor number of the library file, so
+both instances of the shared library can live together.
diff -urN bzip2-1.0.5.orig/configure.ac bzip2-1.0.5.autoconfiscated/configure.ac
--- bzip2-1.0.5.orig/configure.ac 1970-01-01 01:00:00.000000000 +0100
+++ bzip2-1.0.5.autoconfiscated/configure.ac 2010-11-02 17:53:47.000000000 +0100
@@ -0,0 +1,70 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ([2.57])
+AC_INIT([bzip2], [1.0.5], [Julian Seward <jseward@bzip.org>])
+BZIP2_LT_CURRENT=1
+BZIP2_LT_REVISION=6
+BZIP2_LT_AGE=0
+AC_CONFIG_SRCDIR([bzlib.h])
+AC_CONFIG_MACRO_DIR([m4])
+
+AM_INIT_AUTOMAKE
+AM_MAINTAINER_MODE
+
+# Checks for programs.
+AC_PROG_AWK
+AC_PROG_CC
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+AC_PROG_LIBTOOL
+PKG_PROG_PKG_CONFIG
+
+# Checks for libraries.
+
+# Checks for header files.
+
+# Checks for typedefs, structures, and compiler characteristics.
+
+# Check for system features.
+AC_SYS_LARGEFILE
+
+AC_MSG_CHECKING([whether compiler understands -Wall])
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -Wall"
+AC_TRY_COMPILE([], [], [
+ AC_MSG_RESULT([yes])
+], [
+ AC_MSG_RESULT([no])
+ CFLAGS="$save_CFLAGS"
+])
+
+AC_MSG_CHECKING([whether compiler understands -Winline])
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -Winline"
+AC_TRY_COMPILE([], [], [
+ AC_MSG_RESULT([yes])
+], [
+ AC_MSG_RESULT([no])
+ CFLAGS="$save_CFLAGS"
+])
+
+AC_MSG_CHECKING([whether compiler understands -fno-strength-reduce])
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -fno-strength-reduce"
+AC_TRY_COMPILE([], [], [
+ AC_MSG_RESULT([yes])
+], [
+ AC_MSG_RESULT([no])
+ CFLAGS="$save_CFLAGS"
+])
+
+# Checks for library functions.
+
+# Write the output.
+AC_SUBST([BZIP2_LT_CURRENT])
+AC_SUBST([BZIP2_LT_REVISION])
+AC_SUBST([BZIP2_LT_AGE])
+AC_CONFIG_FILES([Makefile bzip2.pc])
+AC_OUTPUT
diff -urN bzip2-1.0.5.orig/Makefile.am bzip2-1.0.5.autoconfiscated/Makefile.am
--- bzip2-1.0.5.orig/Makefile.am 1970-01-01 01:00:00.000000000 +0100
+++ bzip2-1.0.5.autoconfiscated/Makefile.am 2009-11-05 16:45:11.000000000 +0100
@@ -0,0 +1,138 @@
+lib_LTLIBRARIES = libbz2.la
+
+libbz2_la_SOURCES = \
+ blocksort.c \
+ huffman.c \
+ crctable.c \
+ randtable.c \
+ compress.c \
+ decompress.c \
+ bzlib.c
+
+libbz2_la_LDFLAGS = \
+ -version-info $(BZIP2_LT_CURRENT):$(BZIP2_LT_REVISION):$(BZIP2_LT_AGE) \
+ -no-undefined
+
+include_HEADERS = bzlib.h
+
+noinst_HEADERS = bzlib_private.h
+
+bin_PROGRAMS = bzip2 bzip2recover
+
+bzip2_SOURCES = bzip2.c
+bzip2_LDADD = libbz2.la
+
+bzip2recover_SOURCES = bzip2recover.c
+bzip2recover_LDADD = libbz2.la
+
+bin_SCRIPTS = bzgrep bzmore bzdiff
+
+man_MANS = bzip2.1 bzgrep.1 bzmore.1 bzdiff.1
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = bzip2.pc
+
+$(pkgconfig_DATA): $(srcdir)/bzip2.pc.in config.status
+
+install-exec-hook:
+ rm -f $(DESTDIR)$(bindir)/`echo "bunzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzcat" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzegrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzfgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzless" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzcmp" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ $(LN_S) `echo "bzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo "bunzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ $(LN_S) `echo "bzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo "bzcat" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ $(LN_S) `echo "bzgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo "bzegrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ $(LN_S) `echo "bzgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo "bzfgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ $(LN_S) `echo "bzmore" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo "bzless" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ $(LN_S) `echo "bzdiff" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo "bzcmp" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+
+install-data-hook:
+ echo ".so man1/`echo "bzip2" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bunzip2" | sed 's,^.*/,,;$(transform)'`.1
+ echo ".so man1/`echo "bzip2" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bzcat" | sed 's,^.*/,,;$(transform)'`.1
+ echo ".so man1/`echo "bzgrep" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bzegrep" | sed 's,^.*/,,;$(transform)'`.1
+ echo ".so man1/`echo "bzgrep" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bzfgrep" | sed 's,^.*/,,;$(transform)'`.1
+ echo ".so man1/`echo "bzmore" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bzless" | sed 's,^.*/,,;$(transform)'`.1
+ echo ".so man1/`echo "bzdiff" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bzcmp" | sed 's,^.*/,,;$(transform)'`.1
+
+uninstall-hook:
+ rm -f $(DESTDIR)$(bindir)/`echo "bunzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzcat" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzegrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzfgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzless" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzcmp" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(mandir)/man1/`echo "bunzip2" | sed 's,^.*/,,;$(transform)'`.1
+ rm -f $(DESTDIR)$(mandir)/man1/`echo "bzcat" | sed 's,^.*/,,;$(transform)'`.1
+ rm -f $(DESTDIR)$(mandir)/man1/`echo "bzegrep" | sed 's,^.*/,,;$(transform)'`.1
+ rm -f $(DESTDIR)$(mandir)/man1/`echo "bzfgrep" | sed 's,^.*/,,;$(transform)'`.1
+ rm -f $(DESTDIR)$(mandir)/man1/`echo "bzless" | sed 's,^.*/,,;$(transform)'`.1
+ rm -f $(DESTDIR)$(mandir)/man1/`echo "bzcmp" | sed 's,^.*/,,;$(transform)'`.1
+
+test: bzip2
+ @cat $(srcdir)/words1
+ ./bzip2 -1 <$(srcdir)/sample1.ref >sample1.rb2
+ ./bzip2 -2 <$(srcdir)/sample2.ref >sample2.rb2
+ ./bzip2 -3 <$(srcdir)/sample3.ref >sample3.rb2
+ ./bzip2 -d <$(srcdir)/sample1.bz2 >sample1.tst
+ ./bzip2 -d <$(srcdir)/sample2.bz2 >sample2.tst
+ ./bzip2 -ds <$(srcdir)/sample3.bz2 >sample3.tst
+ cmp $(srcdir)/sample1.bz2 sample1.rb2
+ cmp $(srcdir)/sample2.bz2 sample2.rb2
+ cmp $(srcdir)/sample3.bz2 sample3.rb2
+ cmp sample1.tst $(srcdir)/sample1.ref
+ cmp sample2.tst $(srcdir)/sample2.ref
+ cmp sample3.tst $(srcdir)/sample3.ref
+ @cat $(srcdir)/words3
+
+manual: $(srcdir)/manual.html $(srcdir)/manual.ps $(srcdir)/manual.pdf
+
+manual.ps: $(MANUAL_SRCS)
+ cd $(srcdir); ./xmlproc.sh -ps manual.xml
+
+manual.pdf: $(MANUAL_SRCS)
+ cd $(srcdir); ./xmlproc.sh -pdf manual.xml
+
+manual.html: $(MANUAL_SRCS)
+ cd $(srcdir); ./xmlproc.sh -html manual.xml
+
+EXTRA_DIST = \
+ $(bin_SCRIPTS) \
+ $(man_MANS) \
+ README.autotools \
+ README.XML.STUFF \
+ bz-common.xsl \
+ bz-fo.xsl \
+ bz-html.xsl \
+ bzip.css \
+ bzip2.1.preformatted \
+ bzip2.pc.in \
+ bzip2.txt \
+ dlltest.c \
+ dlltest.dsp \
+ entities.xml \
+ format.pl \
+ libbz2.def \
+ libbz2.dsp \
+ makefile.msc \
+ manual.html \
+ manual.pdf \
+ manual.ps \
+ manual.xml \
+ mk251.c \
+ sample1.bz2 \
+ sample1.ref \
+ sample2.bz2 \
+ sample2.ref \
+ sample3.bz2 \
+ sample3.ref \
+ spewG.c \
+ unzcrash.c \
+ words0 \
+ words1 \
+ words2 \
+ words3 \
+ xmlproc.sh
+
+ACLOCAL_AMFLAGS = -I m4
diff -urN bzip2-1.0.5.orig/bzip2.pc.in bzip2-1.0.5.autoconfiscated/bzip2.pc.in
--- bzip2-1.0.5.orig/bzip2.pc.in 1970-01-01 01:00:00.000000000 +0100
+++ bzip2-1.0.5.autoconfiscated/bzip2.pc.in 2009-11-03 18:48:28.000000000 +0100
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+bindir=@bindir@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: bzip2
+Description: Lossless, block-sorting data compression
+Version: @VERSION@
+Libs: -L${libdir} -lbz2
+Cflags: -I${includedir}

View File

@ -0,0 +1,11 @@
--- a/src/CMakeLists.txt 2016-05-29 00:04:56.925764000 -0400
+++ b/src/CMakeLists.txt 2016-05-29 00:05:16.485877571 -0400
@@ -288,7 +288,7 @@
ENDIF( ICONV_FOUND )
IF (CYGWIN OR MINGW)
- TARGET_LINK_LIBRARIES( exiv2lib psapi )
+ TARGET_LINK_LIBRARIES( exiv2lib psapi wsock32 )
ENDIF(CYGWIN OR MINGW)

View File

@ -0,0 +1,11 @@
--- Makefile.in.orig 2010-05-09 20:59:19.000000000 +0200
+++ Makefile.in 2010-10-02 00:59:46.000000000 +0200
@@ -211,7 +211,7 @@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = gnulib-local gettext-runtime gettext-tools
+SUBDIRS = gnulib-local gettext-runtime
# DJGPP port.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,24 @@
--- a/base/unix-dll.mak 2013-01-26 13:47:45.112366000 -0500
+++ b/base/unix-dll.mak 2013-01-26 14:03:08.292073462 -0500
@@ -127,13 +127,14 @@
-mkdir -p $(DESTDIR)$(bindir)
-mkdir -p $(DESTDIR)$(libdir)
-mkdir -p $(DESTDIR)$(gsincludedir)
- $(INSTALL_PROGRAM) $(GSSOC) $(DESTDIR)$(bindir)/$(GSSOC_XENAME)
- $(INSTALL_PROGRAM) $(GSSOX) $(DESTDIR)$(bindir)/$(GSSOX_XENAME)
- $(INSTALL_PROGRAM) $(BINDIR)/$(SOBINRELDIR)/$(GS_SONAME_MAJOR_MINOR) $(DESTDIR)$(libdir)/$(GS_SONAME_MAJOR_MINOR)
- $(RM_) $(DESTDIR)$(libdir)/$(GS_SONAME)
- ln -s $(GS_SONAME_MAJOR_MINOR) $(DESTDIR)$(libdir)/$(GS_SONAME)
- $(RM_) $(DESTDIR)$(libdir)/$(GS_SONAME_MAJOR)
- ln -s $(GS_SONAME_MAJOR_MINOR) $(DESTDIR)$(libdir)/$(GS_SONAME_MAJOR)
+ #$(INSTALL_PROGRAM) $(GSSOC) $(DESTDIR)$(bindir)/$(GSSOC_XENAME)
+ #$(INSTALL_PROGRAM) $(GSSOX) $(DESTDIR)$(bindir)/$(GSSOX_XENAME)
+ $(INSTALL_PROGRAM) $(BINDIR)/$(SOBINRELDIR)/$(GS_SONAME_MAJOR_MINOR) $(DESTDIR)$(bindir)/$(GS_SONAME_MAJOR_MINOR)
+ $(INSTALL_PROGRAM) $(BINDIR)/$(SOBINRELDIR)/$(GS_SONAME_BASE).dll.a $(DESTDIR)$(libdir)/$(GS_SONAME_BASE).dll.a
+ #$(RM_) $(DESTDIR)$(libdir)/$(GS_SONAME)
+ #ln -s $(GS_SONAME_MAJOR_MINOR) $(DESTDIR)$(libdir)/$(GS_SONAME)
+ #$(RM_) $(DESTDIR)$(libdir)/$(GS_SONAME_MAJOR)
+ #ln -s $(GS_SONAME_MAJOR_MINOR) $(DESTDIR)$(libdir)/$(GS_SONAME_MAJOR)
$(INSTALL_DATA) $(PSSRC)iapi.h $(DESTDIR)$(gsincludedir)iapi.h
$(INSTALL_DATA) $(PSSRC)ierrors.h $(DESTDIR)$(gsincludedir)ierrors.h
$(INSTALL_DATA) $(GLSRC)gdevdsp.h $(DESTDIR)$(gsincludedir)gdevdsp.h

View File

@ -0,0 +1,12 @@
--- a/lib/iconv.c 2015-06-06 12:37:05.267944000 -0400
+++ b/lib/iconv.c 2015-06-06 12:37:27.311277142 -0400
@@ -176,9 +176,6 @@
#include "aliases2.h"
#undef S
};
-#ifdef __GNUC__
-__inline
-#endif
const struct alias *
aliases2_lookup (register const char *str)
{

View File

@ -0,0 +1,42 @@
--- a/source/config/mh-mingw 2012-12-28 16:52:21.141964000 -0500
+++ b/source/config/mh-mingw 2012-12-28 18:24:11.955818449 -0500
@@ -66,16 +66,8 @@
LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
A = a
-## An import library is needed for z/OS and MSVC
-IMPORT_LIB_EXT = .lib
-
-LIBPREFIX=
-
-# Change the stubnames so that poorly working FAT disks and installation programs can work.
-# This is also for backwards compatibility.
-DATA_STUBNAME = dt
-I18N_STUBNAME = in
-LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)
+## import libraries are nice to have under mingw
+IMPORT_LIB_EXT = .dll.a
# The #M# is used to delete lines for icu-config
# Current full path directory.
--- a/source/config/mh-mingw64 2012-12-28 16:52:21.141964000 -0500
+++ b/source/config/mh-mingw64 2012-12-28 18:24:11.955818449 -0500
@@ -66,16 +66,8 @@
LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
A = a
-## An import library is needed for z/OS and MSVC
-IMPORT_LIB_EXT = .lib
-
-LIBPREFIX=
-
-# Change the stubnames so that poorly working FAT disks and installation programs can work.
-# This is also for backwards compatibility.
-DATA_STUBNAME = dt
-I18N_STUBNAME = in
-LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)
+## import libraries are nice to have under mingw
+IMPORT_LIB_EXT = .dll.a
# The #M# is used to delete lines for icu-config
# Current full path directory.

View File

@ -0,0 +1,11 @@
--- a/source/Makefile.in 2012-12-17 13:17:16.000000000 -0500
+++ b/source/Makefile.in 2012-12-28 14:16:07.628294189 -0500
@@ -21,6 +21,8 @@
docsrchdir = $(docfilesdir)/search
docsrchfiles = $(docsrchdir)/*
+unexport TARGET
+
##
## Build directory information

View File

@ -0,0 +1,22 @@
diff -rup jasper-1.900.1.orig/src/libjasper/Makefile.am jasper-1.900.1.new/src/libjasper/Makefile.am
--- jasper-1.900.1.orig/src/libjasper/Makefile.am 2007-01-19 16:43:07.000000000 -0500
+++ jasper-1.900.1.new/src/libjasper/Makefile.am 2008-09-09 10:08:53.000000000 -0400
@@ -85,5 +85,5 @@ libjasper_la_LIBADD = \
# -release $(LT_RELEASE)
libjasper_la_LDFLAGS = \
- -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
+ -no-undefined -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
diff -rup jasper-1.900.1.orig/src/libjasper/Makefile.in jasper-1.900.1.new/src/libjasper/Makefile.in
--- jasper-1.900.1.orig/src/libjasper/Makefile.in 2007-01-19 16:54:45.000000000 -0500
+++ jasper-1.900.1.new/src/libjasper/Makefile.in 2008-09-09 10:08:43.000000000 -0400
@@ -290,7 +290,7 @@ libjasper_la_LIBADD = \
# -release $(LT_RELEASE)
libjasper_la_LDFLAGS = \
- -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
+ -no-undefined -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
all: all-recursive

View File

@ -0,0 +1,18 @@
diff -rup jasper-1.900.1/src/appl/tmrdemo.c jasper-1.900.1.new/src/appl/tmrdemo.c
--- jasper-1.900.1/src/appl/tmrdemo.c 2007-01-19 16:43:08.000000000 -0500
+++ jasper-1.900.1.new/src/appl/tmrdemo.c 2008-09-09 09:14:21.000000000 -0400
@@ -1,4 +1,5 @@
#include <jasper/jasper.h>
+#include <windows.h>
int main(int argc, char **argv)
{
@@ -43,7 +44,7 @@ int main(int argc, char **argv)
printf("zero time %.3f us\n", t * 1e6);
jas_tmr_start(&tmr);
- sleep(1);
+ Sleep(1);
jas_tmr_stop(&tmr);
t = jas_tmr_get(&tmr);
printf("time delay %.8f s\n", t);

View File

@ -0,0 +1,11 @@
--- a/Makefile.in 2015-03-30 20:34:35.930327000 -0400
+++ b/Makefile.in 2015-03-30 20:34:49.070330097 -0400
@@ -378,7 +378,7 @@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CFLAGS = -Wall -Werror -Wno-error=deprecated-declarations -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE -D_REENTRANT
+AM_CFLAGS = -Wall -Wno-error=deprecated-declarations -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE -D_REENTRANT
EXTRA_DIST = README.html README-WIN32.html config.h.win32 doc json-c.vcproj
SUBDIRS = . tests
lib_LTLIBRARIES = libjson-c.la

View File

@ -0,0 +1,11 @@
--- a/jmorecfg.h 2013-07-23 22:01:08.303919000 -0400
+++ b/jmorecfg.h 2013-07-23 22:48:46.230315172 -0400
@@ -235,7 +235,7 @@
*/
#ifndef HAVE_BOOLEAN
-typedef int boolean;
+typedef unsigned char boolean;
#endif
#ifndef FALSE /* in case these macros already exist */
#define FALSE 0 /* values of boolean */

View File

@ -0,0 +1,17 @@
--- a/jmorecfg.h 2013-01-06 12:59:42.000000000 -0500
+++ b/jmorecfg.h 2013-07-23 21:55:22.913095787 -0400
@@ -160,8 +160,14 @@
/* INT32 must hold at least signed 32-bit values. */
#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */
+#ifndef _BASETSD_H_ /* Microsoft defines it in basetsd.h */
+#ifndef _BASETSD_H /* MinGW is slightly different */
+#ifndef QGLOBAL_H /* Qt defines it in qglobal.h */
typedef long INT32;
#endif
+#endif
+#endif
+#endif
/* Datatype used for image dimensions. The JPEG standard only supports
* images up to 64K*64K due to 16-bit fields in SOF markers. Therefore

View File

@ -0,0 +1,11 @@
--- a/Makefile.in 2015-04-03 13:27:40.555911000 -0400
+++ b/Makefile.in 2015-04-03 13:27:56.295616631 -0400
@@ -369,7 +369,7 @@
# libmng release @VERSION@
libmng_la_LDFLAGS = \
- -version-number @MNG_MAJOR_NR@:@MNG_MINOR_NR@:@MNG_RELEASE_NR@
+ -version-number @MNG_MAJOR_NR@:@MNG_MINOR_NR@:@MNG_RELEASE_NR@ -no-undefined
lib_LTLIBRARIES = libmng.la
include_HEADERS = libmng.h libmng_conf.h libmng_types.h

View File

@ -0,0 +1,11 @@
--- a/Makefile.am 2013-03-05 06:59:27.000000000 -0500
+++ b/Makefile.am 2013-11-06 19:11:28.139007712 -0500
@@ -9,7 +9,7 @@
# libmng release @VERSION@
libmng_la_LDFLAGS = \
- -version-number @MNG_MAJOR_NR@:@MNG_MINOR_NR@:@MNG_RELEASE_NR@
+ -version-number @MNG_MAJOR_NR@:@MNG_MINOR_NR@:@MNG_RELEASE_NR@ -no-undefined
lib_LTLIBRARIES = libmng.la

View File

@ -0,0 +1,29 @@
diff -ru libwmf-0.2.8.3.orig/Makefile.am libwmf-0.2.8.3/Makefile.am
--- libwmf-0.2.8.3.orig/Makefile.am 2002-12-05 17:09:53.000000000 +0000
+++ libwmf-0.2.8.3/Makefile.am 2004-06-11 13:28:56.149819830 +0100
@@ -1,10 +1,10 @@
if LIBWMF_BUILD_ALL
-DIRHEAVY = . src include fonts doc
+DIRHEAVY = . src include fonts
else
DIRHEAVY = . src include
endif
-DIST_SUBDIRS = . src include fonts doc
+DIST_SUBDIRS = . src include fonts
SUBDIRS = $(DIRHEAVY)
--- libwmf-0.2.8.4.orig/Makefile.in 2005-07-28 09:46:20.000000000 +0100
+++ libwmf-0.2.8.4/Makefile.in 2005-07-28 09:46:29.000000000 +0100
@@ -231,8 +231,8 @@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
@LIBWMF_BUILD_ALL_FALSE@DIRHEAVY = . src include
-@LIBWMF_BUILD_ALL_TRUE@DIRHEAVY = . src include fonts doc
-DIST_SUBDIRS = . src include fonts doc
+@LIBWMF_BUILD_ALL_TRUE@DIRHEAVY = . src include fonts
+DIST_SUBDIRS = . src include fonts
SUBDIRS = $(DIRHEAVY)
bin_SCRIPTS = libwmf-config
WMFEXAMPLES = \

View File

@ -0,0 +1,36 @@
diff -r -u libwmf-0.2.8.3.old/configure.in libwmf-0.2.8.3/configure.in
--- libwmf-0.2.8.3.old/configure.in 2004-02-10 12:47:44.000000000 +0000
+++ libwmf-0.2.8.3/configure.in 2004-05-20 14:16:15.804198513 +0100
@@ -764,14 +764,15 @@
fi
])
-AC_ARG_WITH(fontdir,[ --with-fontdir=DIR install Type1 fonts in DIR],[
- WMF_FONTDIR=$withval
-],[ if test "x$prefix" = "xNONE"; then
- WMF_FONTDIR=$ac_default_prefix/share/$PACKAGE/fonts
- else
- WMF_FONTDIR=$prefix/share/$PACKAGE/fonts
- fi
-])
+#AC_ARG_WITH(fontdir,[ --with-fontdir=DIR install Type1 fonts in DIR],[
+# WMF_FONTDIR=$withval
+#],[ if test "x$prefix" = "xNONE"; then
+# WMF_FONTDIR=$ac_default_prefix/share/$PACKAGE/fonts
+# else
+# WMF_FONTDIR=$prefix/share/$PACKAGE/fonts
+# fi
+#])
+WMF_FONTDIR=$datadir/$PACKAGE/fonts
AC_ARG_WITH(sysfontmap,[ --with-sysfontmap=FILE [default is /usr/share/fonts/fontmap]],[
WMF_SYS_FONTMAP=$withval
diff -r -u libwmf-0.2.8.3.old/fonts/Makefile.am libwmf-0.2.8.3/fonts/Makefile.am
--- libwmf-0.2.8.3.old/fonts/Makefile.am 2001-08-11 15:49:27.000000000 +0100
+++ libwmf-0.2.8.3/fonts/Makefile.am 2004-05-20 14:17:22.970701362 +0100
@@ -1,4 +1,4 @@
-fontdir = @WMF_FONTDIR@
+fontdir = $(datadir)/libwmf/fonts/
bin_SCRIPTS = libwmf-fontmap

View File

@ -0,0 +1,27 @@
--- libwmf-0.2.8.3/libwmf-config.in.noextras-2 2004-02-10 06:41:26.000000000 -0600
+++ libwmf-0.2.8.3/libwmf-config.in 2005-07-06 15:18:26.000000000 -0500
@@ -105,7 +105,7 @@
libwmf_buildstyle=@LIBWMF_BUILDSTYLE@
if test $libwmf_buildstyle = heavy; then
- wmf_libs="-lwmf -lwmflite $wmf_liblflags"
+ wmf_libs="-lwmf -lwmflite"
else
wmf_libs="-lwmflite"
fi
@@ -116,7 +116,7 @@
includes="$includes -I@includedir@/libwmf/gd"
fi
if test "$lib_wmf" = "yes"; then
- includes="$includes -I@includedir@"
+ includes="$includes"
fi
echo $includes
fi
@@ -134,5 +134,5 @@
fi
done
- echo $libdirs $my_wmf_libs
+ echo $my_wmf_libs
fi

View File

@ -0,0 +1,18 @@
diff -ru libwmf-0.2.8.4.orig/src/font.c libwmf-0.2.8.4/src/font.c
--- libwmf-0.2.8.4.orig/src/font.c 2005-07-27 21:35:06.000000000 +0100
+++ libwmf-0.2.8.4/src/font.c 2006-01-03 12:53:38.000000000 +0000
@@ -1429,11 +1429,9 @@
if (GS->len == 0) return (0);
name = font->lfFaceName;
- if (name == 0)
- { WMF_DEBUG (API,"No font name?");
- API->err = wmf_E_Glitch;
- return (0);
- }
+
+ if (name == 0 || name[0] == 0)
+ name = "Times";
/* Find first white-space character or eol
*/

View File

@ -0,0 +1,27 @@
--- libwmf-0.2.8.4.orig/src/player.c 2002-12-10 19:30:26.000000000 +0000
+++ libwmf-0.2.8.4/src/player.c 2006-07-12 15:12:52.000000000 +0100
@@ -42,6 +42,7 @@
#include "player/defaults.h" /* Provides: default settings */
#include "player/record.h" /* Provides: parameter mechanism */
#include "player/meta.h" /* Provides: record interpreters */
+#include <stdint.h>
/**
* @internal
@@ -132,8 +134,14 @@
}
}
-/* P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API)-3) * 2 * sizeof (unsigned char));
- */ P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char));
+ if (MAX_REC_SIZE(API) > UINT32_MAX / 2)
+ {
+ API->err = wmf_E_InsMem;
+ WMF_DEBUG (API,"bailing...");
+ return (API->err);
+ }
+
+ P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char));
if (ERR (API))
{ WMF_DEBUG (API,"bailing...");

View File

@ -0,0 +1,12 @@
diff -urN libwmf-0.2.8.4.old/src/ipa/ipa/bmp.h libwmf-0.2.8.4/src/ipa/ipa/bmp.h
--- libwmf-0.2.8.4.old/src/ipa/ipa/bmp.h 2011-05-23 19:14:23.000000000 +0200
+++ libwmf-0.2.8.4/src/ipa/ipa/bmp.h 2011-05-23 19:15:11.000000000 +0200
@@ -66,7 +66,7 @@
return;
}
- if (setjmp (png_ptr->jmpbuf))
+ if (setjmp(png_jmpbuf(png_ptr)))
{ WMF_DEBUG (API,"Failed to write bitmap as PNG! (setjmp failed)");
png_destroy_write_struct (&png_ptr,&info_ptr);
wmf_free (API,buffer);

View File

@ -0,0 +1,130 @@
--- libwmf-0.2.8.4.orig/configure.in 2006-05-02 09:08:35.000000000 +0100
+++ libwmf-0.2.8.4/configure.in 2006-05-02 09:21:10.000000000 +0100
@@ -884,7 +884,7 @@
src/extra/gd/Makefile
src/ipa/Makefile
src/convert/Makefile
-libwmf-config
+libwmf.pc
libwmf.spec
])
--- /dev/null 2006-04-29 13:38:37.035974750 +0100
+++ libwmf-0.2.8.4/libwmf-config 2006-05-02 09:20:49.000000000 +0100
@@ -0,0 +1,91 @@
+#!/bin/sh
+
+exec_prefix_set=no
+
+prefix=`pkg-config --variable=prefix libwmf`
+exec_prefix=`pkg-config --variable=exec_prefix libwmf`
+
+usage()
+{
+ cat <<EOF
+Usage: libwmf-config [OPTIONS] [LIBRARIES]
+Options:
+ [--prefix[=DIR]]
+ [--exec-prefix[=DIR]]
+ [--version]
+ [--libs]
+ [--cflags]
+Libraries/Headers:
+ gd
+ wmf
+EOF
+ exit $1
+}
+
+if test $# -eq 0; then
+ usage 1 1>&2
+fi
+
+lib_gd=no
+lib_wmf=yes
+
+while test $# -gt 0; do
+ case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ case $1 in
+ --prefix=*)
+ prefix=$optarg
+ if test $exec_prefix_set = no ; then
+ exec_prefix=$optarg
+ fi
+ ;;
+ --prefix)
+ echo_prefix=yes
+ ;;
+ --exec-prefix=*)
+ exec_prefix=$optarg
+ exec_prefix_set=yes
+ ;;
+ --exec-prefix)
+ echo_exec_prefix=yes
+ ;;
+ --version)
+ pkg-config --modversion libwmf
+ ;;
+ --cflags)
+ echo_cflags=yes
+ ;;
+ --libs)
+ echo_libs=yes
+ ;;
+ gd)
+ lib_gd=yes
+ ;;
+ wmf)
+ lib_wmf=yes
+ ;;
+ *)
+ usage 1 1>&2
+ ;;
+ esac
+ shift
+done
+
+if test "$echo_prefix" = "yes"; then
+ echo $prefix
+fi
+
+if test "$echo_exec_prefix" = "yes"; then
+ echo $exec_prefix
+fi
+
+if test "$echo_cflags" = "yes"; then
+ pkg-config --cflags libwmf
+fi
+
+if test "$echo_libs" = "yes"; then
+ pkg-config --libs libwmf
+fi
--- /dev/null 2006-04-29 13:38:37.035974750 +0100
+++ libwmf-0.2.8.4/libwmf.pc.in 2006-05-02 09:21:24.000000000 +0100
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libwmf
+Description: A library for reading and converting Windows MetaFile vector graphics (WMF)
+Version: @LIBWMF_VERSION@
+Libs: -lwmf -lwmflite @WMF_LIBFLAGS@
+Cflags: @WMF_CONFIG_CFLAGS@
--- libwmf-0.2.8.4.orig/Makefile.am 2006-05-02 09:08:35.000000000 +0100
+++ libwmf-0.2.8.4/Makefile.am 2006-05-02 09:28:34.000000000 +0100
@@ -10,6 +10,9 @@
bin_SCRIPTS = libwmf-config
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libwmf.pc
+
WMFEXAMPLES = \
examples/2doorvan.wmf \
examples/Eg.wmf \

View File

@ -0,0 +1,520 @@
diff -ru libwmf-0.2.8.4/src/extra/gd/gd.c libwmf-0.2.8.4.symbols/src/extra/gd/gd.c
--- libwmf-0.2.8.4/src/extra/gd/gd.c 2005-07-27 21:35:05.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gd.c 2006-11-16 12:27:05.000000000 +0000
@@ -249,6 +249,7 @@
}
HWBType;
+#if 0
static HWBType *
RGB_to_HWB (RGBType RGB, HWBType * HWB)
{
@@ -308,7 +309,6 @@
return diff;
}
-#if 0
/*
* This is not actually used, but is here for completeness, in case someone wants to
* use the HWB stuff for anything else...
@@ -355,6 +355,7 @@
}
#endif
+#if 0
int
gdImageColorClosestHWB (gdImagePtr im, int r, int g, int b)
{
@@ -384,6 +385,7 @@
}
return ct;
}
+#endif
int
gdImageColorExact (gdImagePtr im, int r, int g, int b)
@@ -677,7 +679,7 @@
}
}
-int
+static int
gdImageGetTrueColorPixel (gdImagePtr im, int x, int y)
{
int p = gdImageGetPixel (im, x, y);
@@ -1286,11 +1288,11 @@
return len;
}
-#ifndef HAVE_LSQRT
+#if 0
/* If you don't have a nice square root function for longs, you can use
** this hack
*/
-long
+static long
lsqrt (long n)
{
long result = (long) sqrt ((double) n);
@@ -2250,7 +2252,7 @@
}
}
-int gdCompareInt (const void *a, const void *b);
+static int gdCompareInt (const void *a, const void *b);
/* THANKS to Kirsten Schulz for the polygon fixes! */
diff -ru libwmf-0.2.8.4/src/extra/gd/gdcache.h libwmf-0.2.8.4.symbols/src/extra/gd/gdcache.h
--- libwmf-0.2.8.4/src/extra/gd/gdcache.h 2001-08-21 15:40:33.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gdcache.h 2006-11-16 12:13:40.000000000 +0000
@@ -41,6 +41,9 @@
/*********************************************************/
/* #include <malloc.h> */
+
+#pragma GCC visibility push(hidden)
+
#ifndef NULL
#define NULL (void *)0
#endif
@@ -81,3 +84,5 @@
void *
gdCacheGet( gdCache_head_t *head, void *keydata );
+
+#pragma GCC visibility pop
diff -ru libwmf-0.2.8.4/src/extra/gd/gd_clip.h libwmf-0.2.8.4.symbols/src/extra/gd/gd_clip.h
--- libwmf-0.2.8.4/src/extra/gd/gd_clip.h 2001-03-28 10:37:30.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_clip.h 2006-11-16 12:11:49.000000000 +0000
@@ -1,6 +1,8 @@
#ifndef GD_CLIP_H
#define GD_CLIP_H 1
+#pragma GCC visibility push(hidden)
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -23,4 +25,6 @@
}
#endif
+#pragma GCC visibility pop
+
#endif /* GD_CLIP_H */
diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontg.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontg.h
--- libwmf-0.2.8.4/src/extra/gd/gdfontg.h 2001-03-28 10:37:30.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontg.h 2006-11-16 12:12:03.000000000 +0000
@@ -2,6 +2,8 @@
#ifndef _GDFONTG_H_
#define _GDFONTG_H_ 1
+#pragma GCC visibility push(hidden)
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -25,5 +27,7 @@
}
#endif
+#pragma GCC visibility pop
+
#endif
diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontl.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontl.h
--- libwmf-0.2.8.4/src/extra/gd/gdfontl.h 2001-03-28 10:37:30.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontl.h 2006-11-16 12:12:11.000000000 +0000
@@ -2,6 +2,8 @@
#ifndef _GDFONTL_H_
#define _GDFONTL_H_ 1
+#pragma GCC visibility push(hidden)
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -26,5 +28,7 @@
}
#endif
+#pragma GCC visibility pop
+
#endif
diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontmb.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontmb.h
--- libwmf-0.2.8.4/src/extra/gd/gdfontmb.h 2001-03-28 10:37:30.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontmb.h 2006-11-16 12:12:19.000000000 +0000
@@ -2,6 +2,8 @@
#ifndef _GDFONTMB_H_
#define _GDFONTMB_H_ 1
+#pragma GCC visibility push(hidden)
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -24,5 +26,7 @@
}
#endif
+#pragma GCC visibility pop
+
#endif
diff -ru libwmf-0.2.8.4/src/extra/gd/gdfonts.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfonts.h
--- libwmf-0.2.8.4/src/extra/gd/gdfonts.h 2001-03-28 10:37:30.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfonts.h 2006-11-16 12:12:28.000000000 +0000
@@ -2,6 +2,8 @@
#ifndef _GDFONTS_H_
#define _GDFONTS_H_ 1
+#pragma GCC visibility push(hidden)
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -24,5 +26,7 @@
}
#endif
+#pragma GCC visibility pop
+
#endif
diff -ru libwmf-0.2.8.4/src/extra/gd/gdfontt.h libwmf-0.2.8.4.symbols/src/extra/gd/gdfontt.h
--- libwmf-0.2.8.4/src/extra/gd/gdfontt.h 2001-03-28 10:37:30.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gdfontt.h 2006-11-16 12:12:36.000000000 +0000
@@ -2,6 +2,8 @@
#ifndef _GDFONTT_H_
#define _GDFONTT_H_ 1
+#pragma GCC visibility push(hidden)
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -25,5 +27,7 @@
}
#endif
+#pragma GCC visibility pop
+
#endif
diff -ru libwmf-0.2.8.4/src/extra/gd/gdft.c libwmf-0.2.8.4.symbols/src/extra/gd/gdft.c
--- libwmf-0.2.8.4/src/extra/gd/gdft.c 2005-07-27 21:35:05.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gdft.c 2006-11-16 12:24:50.000000000 +0000
@@ -533,7 +533,7 @@
}
/* draw_bitmap - transfers glyph bitmap to GD image */
-/* static */ char *
+static char *
gdft_draw_bitmap (gdImage * im, int fg, FT_Bitmap bitmap, int pen_x, int pen_y)
{
unsigned char *pixel = 0;
@@ -643,7 +643,7 @@
return (char *) NULL;
}
-int
+static int
gdroundupdown (FT_F26Dot6 v1, int updown)
{
return (!updown)
@@ -651,7 +651,9 @@
: (v1 > 0 ? ((v1 + 63) >> 6) : v1 >> 6);
}
+#pragma GCC visibility push(hidden)
extern int any2eucjp (char *, char *, unsigned int);
+#pragma GCC visibility pop
/********************************************************************/
/* gdImageStringFT - render a utf8 string onto a gd image */
diff -ru libwmf-0.2.8.4/src/extra/gd/gd_gd2.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd2.c
--- libwmf-0.2.8.4/src/extra/gd/gd_gd2.c 2005-07-27 21:35:05.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd2.c 2006-11-16 12:21:28.000000000 +0000
@@ -34,8 +34,10 @@
}
t_chunk_info;
+#pragma GCC visibility push(hidden)
extern int _gdGetColors (gdIOCtx * in, gdImagePtr im, int gd2xFlag);
extern void _gdPutColors (gdImagePtr im, gdIOCtx * out);
+#pragma GCC visibility pop
/* */
/* Read the extra info in the gd2 header. */
diff -ru libwmf-0.2.8.4/src/extra/gd/gd_gd.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd.c
--- libwmf-0.2.8.4/src/extra/gd/gd_gd.c 2005-07-27 21:35:05.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_gd.c 2006-11-16 12:21:43.000000000 +0000
@@ -11,6 +11,11 @@
/* Exported functions: */
extern void gdImageGd (gdImagePtr im, FILE * out);
+#pragma GCC visibility push(hidden)
+int _gdGetColors (gdIOCtx * in, gdImagePtr im, int gd2xFlag);
+void _gdPutColors (gdImagePtr im, gdIOCtx * out);
+#pragma GCC visibility pop
+
/* Use this for commenting out debug-print statements. */
/* Just use the first '#define' to allow all the prints... */
diff -ru libwmf-0.2.8.4/src/extra/gd/gd.h libwmf-0.2.8.4.symbols/src/extra/gd/gd.h
--- libwmf-0.2.8.4/src/extra/gd/gd.h 2002-12-05 20:09:11.000000000 +0000
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gd.h 2006-11-16 12:14:11.000000000 +0000
@@ -25,6 +25,8 @@
#include <gd_io.h>
#include <gd_clip.h>
+#pragma GCC visibility push(hidden)
+
/* The maximum number of palette entries in palette-based images.
In the wonderful new world of gd 2.0, you can of course have
many more colors when using truecolor mode. */
@@ -497,6 +499,8 @@
/* resolution affects ttf font rendering, particularly hinting */
#define GD_RESOLUTION 96 /* pixels per inch */
+#pragma GCC visibility pop
+
#ifdef __cplusplus
}
#endif
diff -ru libwmf-0.2.8.4/src/extra/gd/gdhelpers.h libwmf-0.2.8.4.symbols/src/extra/gd/gdhelpers.h
--- libwmf-0.2.8.4/src/extra/gd/gdhelpers.h 2001-03-28 10:37:31.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gdhelpers.h 2006-11-16 12:12:55.000000000 +0000
@@ -1,6 +1,8 @@
#ifndef GDHELPERS_H
#define GDHELPERS_H 1
+#pragma GCC visibility push(hidden)
+
/* TBB: strtok_r is not universal; provide an implementation of it. */
extern char *gd_strtok_r(char *s, char *sep, char **state);
@@ -13,5 +15,7 @@
void *gdMalloc(size_t size);
void *gdRealloc(void *ptr, size_t size);
+#pragma GCC visibility pop
+
#endif /* GDHELPERS_H */
diff -ru libwmf-0.2.8.4/src/extra/gd/gd_io.h libwmf-0.2.8.4.symbols/src/extra/gd/gd_io.h
--- libwmf-0.2.8.4/src/extra/gd/gd_io.h 2001-03-28 10:37:30.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_io.h 2006-11-16 12:13:08.000000000 +0000
@@ -2,6 +2,8 @@
#define GD_IO_H 1
#include <stdio.h>
+
+#pragma GCC visibility push(hidden)
typedef struct gdIOCtx {
int (*getC)(struct gdIOCtx*);
@@ -36,4 +38,6 @@
int gdSeek(gdIOCtx *ctx, const int);
long gdTell(gdIOCtx *ctx);
+#pragma GCC visibility pop
+
#endif
diff -ru libwmf-0.2.8.4/src/extra/gd/gd_jpeg.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_jpeg.c
--- libwmf-0.2.8.4/src/extra/gd/gd_jpeg.c 2005-07-27 21:35:06.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_jpeg.c 2006-11-16 12:28:13.000000000 +0000
@@ -99,7 +99,7 @@
return rv;
}
-void jpeg_gdIOCtx_dest (j_compress_ptr cinfo, gdIOCtx * outfile);
+static void jpeg_gdIOCtx_dest (j_compress_ptr cinfo, gdIOCtx * outfile);
void
gdImageJpegCtx (gdImagePtr im, gdIOCtx * outfile, int quality)
@@ -266,7 +266,7 @@
return im;
}
-void
+static void
jpeg_gdIOCtx_src (j_decompress_ptr cinfo,
gdIOCtx * infile);
@@ -511,7 +511,7 @@
* before any data is actually read.
*/
-void
+static void
init_source (j_decompress_ptr cinfo)
{
my_src_ptr src = (my_src_ptr) cinfo->src;
@@ -559,7 +559,7 @@
#define END_JPEG_SEQUENCE "\r\n[*]--:END JPEG:--[*]\r\n"
-safeboolean
+static safeboolean
fill_input_buffer (j_decompress_ptr cinfo)
{
my_src_ptr src = (my_src_ptr) cinfo->src;
@@ -627,7 +627,7 @@
* buffer is the application writer's problem.
*/
-void
+static void
skip_input_data (j_decompress_ptr cinfo, long num_bytes)
{
my_src_ptr src = (my_src_ptr) cinfo->src;
@@ -669,7 +669,7 @@
* for error exit.
*/
-void
+static void
term_source (j_decompress_ptr cinfo)
{
@@ -742,7 +742,7 @@
* before any data is actually written.
*/
-void
+static void
init_destination (j_compress_ptr cinfo)
{
my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
@@ -780,7 +780,7 @@
* write it out when emptying the buffer externally.
*/
-safeboolean
+static safeboolean
empty_output_buffer (j_compress_ptr cinfo)
{
my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
@@ -805,7 +805,7 @@
* for error exit.
*/
-void
+static void
term_destination (j_compress_ptr cinfo)
{
my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
diff -ru libwmf-0.2.8.4/src/extra/gd/gdkanji.c libwmf-0.2.8.4.symbols/src/extra/gd/gdkanji.c
--- libwmf-0.2.8.4/src/extra/gd/gdkanji.c 2001-05-19 14:09:34.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gdkanji.c 2006-11-16 12:29:42.000000000 +0000
@@ -555,6 +555,11 @@
return kanji;
}
+#pragma GCC visibility push(hidden)
+int
+any2eucjp (unsigned char *dest, unsigned char *src, unsigned int dest_max);
+#pragma GCC visibility pop
+
int
any2eucjp (unsigned char *dest, unsigned char *src, unsigned int dest_max)
{
diff -ru libwmf-0.2.8.4/src/extra/gd/gd_topal.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_topal.c
--- libwmf-0.2.8.4/src/extra/gd/gd_topal.c 2005-07-27 21:35:06.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_topal.c 2006-11-16 12:25:45.000000000 +0000
@@ -1129,7 +1129,7 @@
* Map some rows of pixels to the output colormapped representation.
*/
-void
+static void
pass2_no_dither (gdImagePtr im, my_cquantize_ptr cquantize)
/* This version performs no dithering */
{
@@ -1217,7 +1217,7 @@
#endif
-void
+static void
pass2_fs_dither (gdImagePtr im, my_cquantize_ptr cquantize)
/* This version performs Floyd-Steinberg dithering */
diff -ru libwmf-0.2.8.4/src/extra/gd/gd_wbmp.c libwmf-0.2.8.4.symbols/src/extra/gd/gd_wbmp.c
--- libwmf-0.2.8.4/src/extra/gd/gd_wbmp.c 2001-05-19 14:09:34.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gd_wbmp.c 2006-11-16 12:28:33.000000000 +0000
@@ -67,7 +67,7 @@
** Wrapper around gdPutC for use with writewbmp
**
*/
-void
+static void
gd_putout (int i, void *out)
{
gdPutC (i, (gdIOCtx *) out);
@@ -79,7 +79,7 @@
** Wrapper around gdGetC for use with readwbmp
**
*/
-int
+static int
gd_getin (void *in)
{
return (gdGetC ((gdIOCtx *) in));
diff -ru libwmf-0.2.8.4/src/extra/gd/gdxpm.c libwmf-0.2.8.4.symbols/src/extra/gd/gdxpm.c
--- libwmf-0.2.8.4/src/extra/gd/gdxpm.c 2001-05-19 14:09:34.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/gdxpm.c 2006-11-16 12:18:29.000000000 +0000
@@ -10,6 +10,7 @@
#include "gd.h"
#include "gdhelpers.h"
+#if 0
#ifndef HAVE_XPM
gdImagePtr
gdImageCreateFromXpm (char *filename)
@@ -146,3 +147,4 @@
return (im);
}
#endif
+#endif
diff -ru libwmf-0.2.8.4/src/extra/gd/jisx0208.h libwmf-0.2.8.4.symbols/src/extra/gd/jisx0208.h
--- libwmf-0.2.8.4/src/extra/gd/jisx0208.h 2001-03-28 10:37:35.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/jisx0208.h 2006-11-16 12:13:19.000000000 +0000
@@ -1,5 +1,8 @@
#ifndef JISX0208_H
#define JISX0208_H
+
+#pragma GCC visibility push(hidden)
+
/* This file was derived from "src/VF_Ftype.c" in VFlib2-2.24.2
by Dr. Kakugawa */
@@ -1202,4 +1205,6 @@
0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177,
0x2178, 0x2179, 0xFFE2, 0xFFE4, 0xFF07, 0xFF02}};
+#pragma GCC visibility pop
+
#endif /* JISX0208_H */
diff -ru libwmf-0.2.8.4/src/extra/gd/wbmp.h libwmf-0.2.8.4.symbols/src/extra/gd/wbmp.h
--- libwmf-0.2.8.4/src/extra/gd/wbmp.h 2001-03-28 10:37:37.000000000 +0100
+++ libwmf-0.2.8.4.symbols/src/extra/gd/wbmp.h 2006-11-16 12:14:19.000000000 +0000
@@ -12,6 +12,8 @@
#ifndef __WBMP_H
#define __WBMP_H 1
+#pragma GCC visibility push(hidden)
+
/* WBMP struct
** -----------
@@ -44,4 +46,6 @@
void freewbmp( Wbmp *wbmp );
void printwbmp( Wbmp *wbmp );
+#pragma GCC visibility pop
+
#endif

View File

@ -0,0 +1,10 @@
--- libwmf-0.2.8.4/src/extra/gd/gd_clip.c.CVE-2009-1364-im-clip-list 2009-04-24 04:06:44.000000000 -0400
+++ libwmf-0.2.8.4/src/extra/gd/gd_clip.c 2009-04-24 04:08:30.000000000 -0400
@@ -70,6 +70,7 @@ void gdClipSetAdd(gdImagePtr im,gdClipRe
{ more = gdRealloc (im->clip->list,(im->clip->max + 8) * sizeof (gdClipRectangle));
if (more == 0) return;
im->clip->max += 8;
+ im->clip->list = more;
}
im->clip->list[im->clip->count] = (*rect);
im->clip->count++;

View File

@ -0,0 +1,24 @@
diff -ur libxslt-1.1.26/configure.in libxslt-1.1.26/configure.in
--- libxslt-1.1.26/configure.in 2009-09-24 16:27:30.000000000 +0200
+++ libxslt-1.1.26/configure.in 2009-11-11 17:51:06.000000000 +0100
@@ -627,7 +627,7 @@
WIN32_EXTRA_LDFLAGS="-no-undefined"
;;
*-*-mingw*)
- WIN32_EXTRA_LIBADD="-lwsock32"
+ WIN32_EXTRA_LIBADD="-lws2_32 -lmswsock"
WIN32_EXTRA_LDFLAGS="-no-undefined"
AC_DEFINE([_WINSOCKAPI_],1,[Using the Win32 Socket implementation])
AC_DEFINE([snprintf],[_snprintf],[Win32 Std C name mangling work-around])
Only in libxslt-1.1.26: configure.in.orig
diff -ur libxslt-1.1.26/libxslt/security.c libxslt-1.1.26/libxslt/security.c
--- libxslt-1.1.26/libxslt/security.c 2009-08-13 15:04:24.000000000 +0200
+++ libxslt-1.1.26/libxslt/security.c 2009-11-11 17:51:06.000000000 +0100
@@ -39,6 +39,7 @@
#ifndef INVALID_FILE_ATTRIBUTES
#define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
#endif
+#define mkdir(d,m) _mkdir(d)
#endif
#ifndef HAVE_STAT

View File

@ -0,0 +1,10 @@
--- a/poppler/GlobalParams.cc 2015-07-18 10:25:03.773578000 -0400
+++ b/poppler/GlobalParams.cc 2015-07-18 10:41:42.326920754 -0400
@@ -56,6 +56,7 @@
# endif
#endif
#ifdef _WIN32
+# include <windows.h>
# include <shlobj.h>
# include <mbstring.h>
#endif

View File

@ -0,0 +1,8 @@
--- a/install.mk 2012-12-30 01:59:23.989187337 -0500
+++ b/install.mk 2012-12-30 15:13:26.126841253 -0500
@@ -0,0 +1,5 @@
+install:
+ mkdir -p $(DESTDIR)/$(PREFIX)/bin
+ mkdir -p $(DESTDIR)/$(PREFIX)/lib
+ $(INSTALL) pthreadGC2.dll $(DESTDIR)/$(PREFIX)/bin/pthreadGC2.dll
+ $(INSTALL) libpthreadGC2.a $(DESTDIR)/$(PREFIX)/lib/libpthread.a

View File

@ -0,0 +1,15 @@
--- a/Tools/GNUmakefile.am 2013-06-28 11:37:12.433956926 -0400
+++ b/Tools/GNUmakefile.am 2013-06-28 11:40:42.681835206 -0400
@@ -1,12 +1,6 @@
noinst_PROGRAMS += \
Programs/ImageDiff
-if ENABLE_WEBKIT1
-noinst_PROGRAMS += \
- Programs/DumpRenderTree \
- Programs/GtkLauncher
-endif
-
# GtkLauncher
Programs_GtkLauncher_CPPFLAGS = \
-I$(srcdir)/Source/WebKit/gtk \

View File

@ -0,0 +1,31 @@
--- a/autogen.sh 2012-12-28 01:35:14.039456371 -0500
+++ b/autogen.sh 2012-12-28 20:52:50.687399680 -0500
@@ -0,0 +1,28 @@
+#! /bin/sh
+
+# Allow invocation from a separate build directory; in that case, we change
+# to the source directory to run the auto*, then change back before running configure
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+rm -f $top_srcdir/autom4te.cache
+
+touch README INSTALL
+
+Tools/gtk/override-feature-defines $ORIGDIR
+
+if test -z `which autoreconf`; then
+ echo "Error: autoreconf not found, please install it."
+ exit 1
+fi
+autoreconf --verbose --install -I Source/autotools $ACLOCAL_FLAGS|| exit $?
+
+cd $ORIGDIR || exit 1
+
+if test -z "$NOCONFIGURE"; then
+ $srcdir/configure $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
+fi
+

View File

@ -0,0 +1,14 @@
Index: /trunk/Source/WebCore/platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp
===================================================================
--- /trunk/Source/WebCore/platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp (revision 159938)
+++ /trunk/Source/WebCore/platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp (revision 159939)
@@ -40,6 +40,7 @@
#include <cairo-ft.h>
#include <cairo.h>
-#include <freetype/freetype.h>
-#include <freetype/tttables.h>
+#include <ft2build.h>
+#include FT_FREETYPE_H
+#include FT_TRUETYPE_TABLES_H
#include <hb.h>
#include <wtf/text/CString.h>

View File

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<moduleset>
<repository type="git" name="gitlab.gnome.org" default="yes"
href="https://gitlab.gnome.org/GNOME/"/>
<include href="gtk+.moduleset"/>
<include href="webkitgtk.moduleset"/>
<include href="misclibs.moduleset"/>
<include href="gdb.moduleset"/>
<autotools id="babl">
<branch/>
</autotools>
<autotools id="gegl-0.2">
<branch module="gegl" revision="gegl-0-2"/>
<dependencies>
<dep package="glib2"/>
<dep package="babl"/>
</dependencies>
</autotools>
<autotools id="gegl">
<branch/>
<dependencies>
<dep package="glib2"/>
<dep package="babl"/>
<dep package="json-glib"/>
<dep package="libpng"/>
<dep package="libjpeg-turbo"/>
<dep package="libwebp"/>
</dependencies>
</autotools>
<metamodule id="pika-common">
<dependencies>
<dep package="babl"/>
<dep package="gtk2"/>
<dep package="xz"/>
<dep package="librsvg"/>
<dep package="libexif"/>
<dep package="iso-codes"/>
<!-- <dep package="libwmf"/> -->
<dep package="ghostscript"/>
</dependencies>
<suggests>
<!--<dep package="webkitgtk"/>-->
<dep package="libmng"/>
<dep package="gdb"/>
<dep package="poppler"/>
</suggests>
</metamodule>
<autotools id="pika-stable">
<branch module="pika" revision="pika-2-8"/>
<dependencies>
<dep package="pika-common"/>
<dep package="lcms"/>
<dep package="gegl-0.2"/>
</dependencies>
</autotools>
<autotools id="pika-dev">
<branch module="pika" revision="master"/>
<dependencies>
<dep package="pika-common"/>
<dep package="lcms2"/>
<dep package="libgexiv2"/>
<dep package="libmypaint"/>
<dep package="gegl"/>
<dep package="gnome-icon-theme"/>
</dependencies>
</autotools>
<autotools id="pika-gtk3">
<branch module="pika" revision="origin/gtk3-port"/>
<dependencies>
<dep package="pika-common"/>
<dep package="lcms2"/>
<dep package="gegl"/>
<dep package="gtk3"/>
</dependencies>
</autotools>
</moduleset>

View File

@ -0,0 +1,33 @@
#!/bin/sh
set -e
BUILD_ARCH=${BUILD_ARCH:-i686}
if [ "x$BUILD_FLAVOUR" = "xdbg" ]; then
EXT="-dbg-$BUILD_ARCH"
else
EXT="-$BUILD_ARCH"
fi
init_target (){
echo "Cleaning Target $1"
rm -rf targets/$1 || true
mkdir -p targets/$1/_jhbuild/manifests
cp -a targets/pika-common$EXT/_jhbuild/manifests/* targets/$1/_jhbuild/manifests
cp -a targets/pika-common$EXT/_jhbuild/packagedb.xml targets/$1/_jhbuild/
}
chmod a-w win32.cache
export MODULE=pika-common
jhbuild --file=build.jhbuildrc $* build pika-common || true
./targetisunchanged pika-common$EXT pika-stable$EXT || init_target pika-stable$EXT
export MODULE=pika-stable
jhbuild --file=build.jhbuildrc $* build --start-at=pika-common || true
./targetisunchanged pika-common$EXT pika-dev$EXT || init_target pika-dev$EXT
export MODULE=pika-dev
jhbuild --file=build.jhbuildrc $* build --start-at=pika-common || true
chmod u+w win32.cache

View File

@ -0,0 +1,10 @@
#!/bin/bash
sort targets/$1/_jhbuild/packagedb.xml > /tmp/packagedb.xml.a
sort targets/$2/_jhbuild/packagedb.xml > /tmp/packagedb.xml.b
COUNT=`diff -u /tmp/packagedb.xml.a /tmp/packagedb.xml.b | grep "^-" --count --max-count 2`
rm /tmp/packagedb.xml.{a,b}
exit $((COUNT - 1))

View File

@ -0,0 +1,5 @@
set (CMAKE_SYSTEM_NAME Windows)
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<moduleset>
<repository type="tarball" name="gnome.org"
href="http://ftp.gnome.org/pub/gnome/sources/" />
<repository type="tarball" name="webkitgtk.org"
href="http://webkitgtk.org/releases/" />
<repository type="tarball" name="sqlite.org"
href="http://www.sqlite.org/" />
<repository type="tarball" name="sourceware.org"
href="ftp://sourceware.org/pub/" />
<include href="gtk+.moduleset"/>
<autotools id="mingw32-pthreads" autogen-sh=" || true" makeargs="clean GC -j1" makeinstallargs=" -f install.mk">
<branch version="2.9.1" repo="sourceware.org"
module="pthreads-win32/pthreads-w32-2-9-1-release.tar.gz"
hash="md5:36ba827d6aa0fa9f9ae740a35626e2e3">
<patch file="pthreads-add-install-mk.patch" strip="1"/>
</branch>
</autotools>
<autotools id="libsoup" autogen-sh="configure">
<branch version="2.44.2" repo="gnome.org"
module="libsoup/2.44/libsoup-2.44.2.tar.xz"
hash="sha256:e7e4b5ab74a6c00fc267c9f5963852d28759ad3154dab6388e2d6e1962d598f3">
</branch>
<dependencies>
<dep package="glib2"/>
<dep package="libxml2"/>
<dep package="sqlite"/>
</dependencies>
</autotools>
<autotools id="sqlite" autogen-sh="configure">
<branch version="3.8.1" repo="sqlite.org"
module="2013/sqlite-autoconf-3080100.tar.gz"
hash="sha1:42464b07df2d6f8aa28f73ce4cc6d48b47be810e">
</branch>
</autotools>
<autotools id="webkitgtk">
<branch version="2.0.4" repo="webkitgtk.org"
module="webkitgtk-2.0.4.tar.xz"
hash="sha1:3b9ddbdc61e38b5c8fdd108e891b7db5fb12d55a">
<patch file="webkit-add-autogen.patch" strip="1"/>
<patch file="webkit-2.0-disable-tests.patch" strip="1"/>
<!-- Part of: http://trac.webkit.org/changeset/159939 -->
<patch file="webkit-fix-freetype.diff" strip="2"/>
</branch>
<dependencies>
<dep package="mingw32-pthreads"/>
<dep package="libsoup"/>
<dep package="sqlite"/>
<dep package="gtk2"/>
<dep package="libwebp"/>
<dep package="libxslt"/>
</dependencies>
</autotools>
</moduleset>

View File

@ -0,0 +1,6 @@
ac_cv_alignof_guint32=${ac_cv_alignof_guint32=4}
ac_cv_alignof_guint64=${ac_cv_alignof_guint64=8}
ac_cv_alignof_unsigned_long=${ac_cv_alignof_unsigned_long=4}
glib_cv_long_long_format=I64
glib_cv_stack_grows=no