Merge branch 'master' into sam460ex

This commit is contained in:
François Revol 2012-09-05 16:22:03 +02:00
commit 54b6d06e8e
26 changed files with 672 additions and 327 deletions

View File

@ -66,8 +66,8 @@ if $(HAIKU_BUILD_FEATURE_SSL) {
# ICU
# Note ICU isn't actually optional, but is still an external package
HAIKU_ICU_GCC_2_PACKAGE = icu-4.8.1-x86-gcc2-2011-11-02a.zip ;
HAIKU_ICU_GCC_4_PACKAGE = icu-4.8.1-x86-gcc4-2011-11-02.zip ;
HAIKU_ICU_GCC_2_PACKAGE = icu-4.8.1.1-r1a4-x86-gcc2-2012-08-29.zip ;
HAIKU_ICU_GCC_4_PACKAGE = icu-4.8.1.1-r1a4-x86-gcc4-2012-08-29.zip ;
HAIKU_ICU_PPC_PACKAGE = icu-4.8.1-ppc-2011-08-20.zip ;
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 {
@ -224,19 +224,19 @@ if $(TARGET_ARCH) = x86 {
local ffmpegBaseURL = $(baseURL)/lib ;
if $(TARGET_ARCH) = x86 {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-x86-gcc4-2012-03-28.zip ;
HAIKU_SPEEX_FILE = speex-1.2rc1-x86-gcc4-2012-03-12.zip ;
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-x86-gcc4-2012-03-12.zip ;
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-x86-gcc4-2012-03-12.zip ;
HAIKU_LIBOGG_FILE = libogg-1.3.0-x86-gcc4-2012-03-12.zip ;
HAIKU_LIBVPX_FILE = libvpx-1.0.0-x86-gcc4-2012-03-14.zip ;
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-r1a4-x86-gcc4-2012-09-02.zip ;
HAIKU_SPEEX_FILE = speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip ;
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-r1a4-x86-gcc4-2012-09-02.zip ;
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-r1a4-x86-gcc4-2012-09-02.zip ;
HAIKU_LIBOGG_FILE = libogg-1.3.0-r1a4-x86-gcc4-2012-09-02.zip ;
HAIKU_LIBVPX_FILE = libvpx-1.0.0-r1a4-x86-gcc4-2012-09-02.zip ;
} else {
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-x86-gcc2-2012-03-28.zip ;
HAIKU_SPEEX_FILE = speex-1.2rc1-x86-gcc2-2012-03-11.zip ;
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-x86-gcc2-2012-03-11.zip ;
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-x86-gcc2-2012-03-11.zip ;
HAIKU_LIBOGG_FILE = libogg-1.3.0-x86-gcc2-2012-03-11.zip ;
HAIKU_LIBVPX_FILE = libvpx-1.0.0-x86-gcc2-2012-03-14.zip ;
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-r1a4-x86-gcc2-2012-08-30.zip ;
HAIKU_SPEEX_FILE = speex-1.2rc1-r1a4-x86-gcc2-2012-08-29.zip ;
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-r1a4-x86-gcc2-2012-08-29.zip ;
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-r1a4-x86-gcc2-2012-08-29.zip ;
HAIKU_LIBOGG_FILE = libogg-1.3.0-r1a4-x86-gcc2-2012-08-29.zip ;
HAIKU_LIBVPX_FILE = libvpx-1.0.0-r1a4-x86-gcc2-2012-08-29.zip ;
}
local ffmpegZipFile = [ DownloadFile $(HAIKU_FFMPEG_FILE)
@ -346,9 +346,9 @@ if $(TARGET_ARCH) = x86 {
local mikmodBaseURL = http://haiku-files.org/files/optional-packages/lib ;
if $(TARGET_ARCH) = x86 {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
HAIKU_MIKMOD_FILE = libmikmod-3.1.11-r1a3-x86-gcc4-2011-05-26.zip ;
HAIKU_MIKMOD_FILE = libmikmod-3.1.11-r1a4-x86-gcc4-2012-09-02.zip ;
} else {
HAIKU_MIKMOD_FILE = libmikmod-3.1.11-r1a3-x86-gcc2-2011-05-19.zip ;
HAIKU_MIKMOD_FILE = libmikmod-3.1.11-r1a4-x86-gcc2-2012-08-29.zip ;
}
local mikmodZipFile = [ DownloadFile $(HAIKU_MIKMOD_FILE)
@ -380,7 +380,7 @@ if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 {
if $(TARGET_ARCH) = ppc {
HAIKU_FREETYPE_FILE = freetype-2.4.9-ppc-gcc4-2012-06-26.zip ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
HAIKU_FREETYPE_FILE = freetype-2.4.9-x86-gcc4-2012-06-15.zip ;
HAIKU_FREETYPE_FILE = freetype-2.4.9-r1a4-x86-gcc4-2012-09-02.zip ;
} else {
HAIKU_FREETYPE_FILE = freetype-2.4.9-r1a4-x86-gcc2-2012-08-28.zip ;
}
@ -425,7 +425,7 @@ if [ IsOptionalHaikuImagePackageAdded TagLib ] {
HAIKU_BUILD_FEATURE_TAGLIB = 1 ;
}
HAIKU_TAGLIB_PACKAGE = taglib-1.6.3-r1a3-x86-gcc2-2011-05-20.zip ;
HAIKU_TAGLIB_PACKAGE = taglib-1.6.3-r1a4-x86-gcc2-2012-09-03.zip ;
HAIKU_TAGLIB_URL = $(baseURL)/$(HAIKU_TAGLIB_PACKAGE) ;
if $(HAIKU_BUILD_FEATURE_TAGLIB) {

View File

@ -83,13 +83,13 @@ if [ IsOptionalHaikuImagePackageAdded fribidi ] {
Echo "No optional package fribidi available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
fribidi-0.19.2-r1a3-x86-gcc4-2011-05-26.zip
: $(baseURL)/lib/fribidi-0.19.2-r1a3-x86-gcc4-2011-05-26.zip
fribidi-0.19.2-r1a4-x86-gcc4-2012-09-01.zip
: $(baseURL)/lib/fribidi-0.19.2-r1a4-x86-gcc4-2012-09-01.zip
: : true ;
} else {
InstallOptionalHaikuImagePackage
fribidi-0.19.2-r1a3-x86-gcc2-2011-05-19.zip
: $(baseURL)/lib/fribidi-0.19.2-r1a3-x86-gcc2-2011-05-19.zip
fribidi-0.19.2-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/fribidi-0.19.2-r1a4-x86-gcc2-2012-08-29.zip
: : true ;
}
}
@ -101,13 +101,13 @@ if [ IsOptionalHaikuImagePackageAdded lcms ] {
Echo "No optional package lcms available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
lcms-2.1-r1a3-x86-gcc4-2011-05-26.zip
: $(baseURL)/lib/lcms-2.1-r1a3-x86-gcc4-2011-05-26.zip
lcms-2.1-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/lcms-2.1-r1a4-x86-gcc4-2012-09-02.zip
: : true ;
} else {
InstallOptionalHaikuImagePackage
lcms-2.1-r1a3-x86-gcc2-2011-05-19.zip
: $(baseURL)/lib/lcms-2.1-r1a3-x86-gcc2-2011-05-19.zip
lcms-2.1-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/lcms-2.1-r1a4-x86-gcc2-2012-08-29.zip
: : true ;
}
}
@ -119,13 +119,13 @@ if [ IsOptionalHaikuImagePackageAdded libart_lgpl ] {
Echo "No optional package libart_lgpl available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
libart_lgpl-2.3.21-r1a3-x86-gcc4-2011-05-26.zip
: $(baseURL)/lib/libart_lgpl-2.3.21-r1a3-x86-gcc4-2011-05-26.zip
libart_lgpl-2.3.21-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/libart_lgpl-2.3.21-r1a4-x86-gcc4-2012-09-02.zip
: : true ;
} else {
InstallOptionalHaikuImagePackage
libart_lgpl-2.3.21-r1a3-x86-gcc2-2011-05-19.zip
: $(baseURL)/lib/libart_lgpl-2.3.21-r1a3-x86-gcc2-2011-05-19.zip
libart_lgpl-2.3.21-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/libart_lgpl-2.3.21-r1a4-x86-gcc2-2012-08-29.zip
: : true ;
}
}
@ -137,13 +137,13 @@ if [ IsOptionalHaikuImagePackageAdded libmad ] {
Echo "No optional package libmad available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
libmad-0.15.1b-r1a3-x86-gcc4-2011-05-26.zip
: $(baseURL)/lib/libmad-0.15.1b-r1a3-x86-gcc4-2011-05-26.zip
libmad-0.15.1b-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/libmad-0.15.1b-r1a4-x86-gcc4-2012-09-02.zip
: : true ;
} else {
InstallOptionalHaikuImagePackage
libmad-0.15.1b-r1a3-x86-gcc2-2011-05-19.zip
: $(baseURL)/lib/libmad-0.15.1b-r1a3-x86-gcc2-2011-05-19.zip
libmad-0.15.1b-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/libmad-0.15.1b-r1a4-x86-gcc2-2012-08-29.zip
: : true ;
}
}
@ -155,13 +155,13 @@ if [ IsOptionalHaikuImagePackageAdded libmikmod ] {
Echo "No optional package libmikmod available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
libmikmod-3.1.11-r1a3-x86-gcc4-2011-05-26.zip
: $(baseURL)/lib/libmikmod-3.1.11-r1a3-x86-gcc4-2011-05-26.zip
libmikmod-3.1.11-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/libmikmod-3.1.11-r1a4-x86-gcc4-2012-09-02.zip
: : true ;
} else {
InstallOptionalHaikuImagePackage
libmikmod-3.1.11-r1a3-x86-gcc2-2011-05-19.zip
: $(baseURL)/lib/libmikmod-3.1.11-r1a3-x86-gcc2-2011-05-19.zip
libmikmod-3.1.11-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/libmikmod-3.1.11-r1a4-x86-gcc2-2012-08-29.zip
: : true ;
}
}
@ -173,13 +173,13 @@ if [ IsOptionalHaikuImagePackageAdded libmodplug ] {
Echo "No optional package libmodplug available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
libmodplug-0.8.8.1-r1a3-x86-gcc4-2011-05-26.zip
: $(baseURL)/lib/libmodplug-0.8.8.1-r1a3-x86-gcc4-2011-05-26.zip
libmodplug-0.8.8.4-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/libmodplug-0.8.8.4-r1a4-x86-gcc4-2012-09-02.zip
: : true ;
} else {
InstallOptionalHaikuImagePackage
libmodplug-0.8.8.1-r1a3-x86-gcc2-2011-05-19.zip
: $(baseURL)/lib/libmodplug-0.8.8.1-r1a3-x86-gcc2-2011-05-19.zip
libmodplug-0.8.8.4-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/libmodplug-0.8.8.4-r1a4-x86-gcc2-2012-08-29.zip
: : true ;
}
}
@ -191,13 +191,13 @@ if [ IsOptionalHaikuImagePackageAdded libpaper ] {
Echo "No optional package libpaper available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
libpaper-1.1.24-r1a3-x86-gcc4-2011-05-26.zip
: $(baseURL)/lib/libpaper-1.1.24-r1a3-x86-gcc4-2011-05-26.zip
libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip
: $(baseURL)/lib/libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip
: : true ;
} else {
InstallOptionalHaikuImagePackage
libpaper-1.1.24-r1a3-x86-gcc2-2011-05-19.zip
: $(baseURL)/lib/libpaper-1.1.24-r1a3-x86-gcc2-2011-05-19.zip
libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip
: $(baseURL)/lib/libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip
: : true ;
}
}
@ -227,78 +227,78 @@ if [ IsOptionalHaikuImagePackageAdded SDLLibs ] {
Echo "No optional package SDLLibs available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
libsdl-1.2.15-x86-gcc4-2012-05-31.zip
: $(baseURL)/lib/libsdl-1.2.15-x86-gcc4-2012-05-31.zip ;
libsdl-1.2.15-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/libsdl-1.2.15-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
guilib-1.2.1-x86-gcc4-2012-05-31.zip
: $(baseURL)/lib/guilib-1.2.1-x86-gcc4-2012-05-31.zip ;
guilib-1.2.1-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/guilib-1.2.1-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
sdl-gfx-2.0.23-x86-gcc4-2012-05-31.zip
: $(baseURL)/lib/sdl-gfx-2.0.23-x86-gcc4-2012-05-31.zip ;
sdl-gfx-2.0.23-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/sdl-gfx-2.0.23-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
sdl-image-1.2.12-x86-gcc4-2012-05-31.zip
: $(baseURL)/lib/sdl-image-1.2.12-x86-gcc4-2012-05-31.zip ;
sdl-image-1.2.12-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/sdl-image-1.2.12-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
sdl-mixer-1.2.11-x86-gcc4-2012-05-31.zip
: $(baseURL)/lib/sdl-mixer-1.2.11-x86-gcc4-2012-05-31.zip ;
sdl-mixer-1.2.11-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/sdl-mixer-1.2.11-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
sdl-net-1.2.8-x86-gcc4-2012-05-31.zip
: $(baseURL)/lib/sdl-net-1.2.8-x86-gcc4-2012-05-31.zip ;
sdl-net-1.2.8-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/sdl-net-1.2.8-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
sdl-sound-1.0.3-x86-gcc4-2012-05-31.zip
: $(baseURL)/lib/sdl-sound-1.0.3-x86-gcc4-2012-05-31.zip ;
sdl-sound-1.0.3-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/sdl-sound-1.0.3-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
sdl-rtf-0.1.0-r1a3-x86-gcc4-2011-05-26.zip
: $(baseURL)/lib/sdl-rtf-0.1.0-r1a3-x86-gcc4-2011-05-26.zip ;
sdl-rtf-0.1.0-r1a4-x86-gcc4-2012-09-03.zip
: $(baseURL)/lib/sdl-rtf-0.1.0-r1a4-x86-gcc4-2012-09-03.zip ;
InstallOptionalHaikuImagePackage
sdl-ttf-2.0.11-x86-gcc4-2012-05-31.zip
: $(baseURL)/lib/sdl-ttf-2.0.11-x86-gcc4-2012-05-31.zip ;
sdl-ttf-2.0.11-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/sdl-ttf-2.0.11-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
sge-030809-x86-gcc4-2012-05-31.zip
: $(baseURL)/lib/sge-030809-x86-gcc4-2012-05-31.zip ;
sge-030809-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/sge-030809-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
smjpeg-0.2.1-x86-gcc4-2012-05-31.zip
: $(baseURL)/lib/smjpeg-0.2.1-x86-gcc4-2012-05-31.zip ;
smjpeg-0.2.1-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/smjpeg-0.2.1-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
smpeg-0.4.5-x86-gcc4-2011-05-31.zip
: $(baseURL)/lib/smpeg-0.4.5-x86-gcc4-2012-05-31.zip ;
smpeg-0.4.5-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/smpeg-0.4.5-r1a4-x86-gcc4-2012-09-02.zip ;
} else {
InstallOptionalHaikuImagePackage
libsdl-1.2.15-x86-gcc2-2012-06-24.zip
: $(baseURL)/lib/libsdl-1.2.15-x86-gcc2-2012-06-24.zip ;
libsdl-1.2.15-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/libsdl-1.2.15-r1a4-x86-gcc2-2012-08-29.zip ;
InstallOptionalHaikuImagePackage
guilib-1.2.1-x86-gcc2-2012-06-24.zip
: $(baseURL)/lib/guilib-1.2.1-x86-gcc2-2012-06-24.zip ;
guilib-1.2.1-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/guilib-1.2.1-r1a4-x86-gcc2-2012-08-29.zip ;
InstallOptionalHaikuImagePackage
sdl-gfx-2.0.23-x86-gcc2-2012-06-24.zip
: $(baseURL)/lib/sdl-gfx-2.0.23-x86-gcc2-2012-06-24.zip ;
sdl-gfx-2.0.23-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/sdl-gfx-2.0.23-r1a4-x86-gcc2-2012-08-29.zip ;
InstallOptionalHaikuImagePackage
sdl-image-1.2.12-x86-x86-gcc2-2012-06-24.zip
: $(baseURL)/lib/sdl-image-1.2.12-x86-gcc2-2012-06-24.zip ;
sdl-image-1.2.12-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/sdl-image-1.2.12-r1a4-x86-gcc2-2012-08-29.zip ;
InstallOptionalHaikuImagePackage
sdl-mixer-1.2.11-x86-gcc2-2012-06-25.zip
: $(baseURL)/lib/sdl-mixer-1.2.11-x86-gcc2-2012-06-25.zip ;
sdl-mixer-1.2.11-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/sdl-mixer-1.2.11-r1a4-x86-gcc2-2012-08-29.zip ;
InstallOptionalHaikuImagePackage
sdl-net-1.2.8-x86-gcc2-2012-06-24.zip
: $(baseURL)/lib/sdl-net-1.2.8-x86-gcc2-2012-06-24.zip ;
sdl-net-1.2.8-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/sdl-net-1.2.8-r1a4-x86-gcc2-2012-08-29.zip ;
InstallOptionalHaikuImagePackage
sdl-sound-1.0.3-x86-gcc2-2012-06-24.zip
: $(baseURL)/lib/sdl-sound-1.0.3-x86-gcc2-2012-06-24.zip ;
sdl-sound-1.0-hg-r1a4-x86-gcc2-2012-08-30.zip
: $(baseURL)/lib/sdl-sound-1.0-hg-r1a4-x86-gcc2-2012-08-30.zip ;
InstallOptionalHaikuImagePackage
sdl-rtf-0.1.0-r1a3-x86-gcc2-2011-05-20.zip
: $(baseURL)/lib/sdl-rtf-0.1.0-r1a3-x86-gcc2-2011-05-20.zip ;
InstallOptionalHaikuImagePackage
sdl-ttf-2.0.11-x86-gcc2-2012-06-24.zip
: $(baseURL)/lib/sdl-ttf-2.0.11-x86-gcc2-2012-06-24.zip ;
sdl-ttf-2.0.11-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/sdl-ttf-2.0.11-r1a4-x86-gcc2-2012-08-29.zip ;
InstallOptionalHaikuImagePackage
sge-030809-x86-gcc2-2012-06-24.zip
: $(baseURL)/lib/sge-030809-x86-gcc2-2012-06-24.zip ;
sge-030809-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/sge-030809-r1a4-x86-gcc2-2012-08-29.zip ;
InstallOptionalHaikuImagePackage
smjpeg-0.2.1-x86-gcc2-2012-06-24.zip
: $(baseURL)/lib/smjpeg-0.2.1-x86-gcc2-2012-06-24.zip ;
smjpeg-0.2.1-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/smjpeg-0.2.1-r1a4-x86-gcc2-2012-08-29.zip ;
InstallOptionalHaikuImagePackage
smpeg-0.4.5-x86-gcc2-2012-06-24.zip
: $(baseURL)/lib/smpeg-0.4.5-x86-gcc2-2012-06-24.zip ;
smpeg-0.4.5-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/smpeg-0.4.5-r1a4-x86-gcc2-2012-08-29.zip ;
}
}
@ -309,48 +309,48 @@ if [ IsOptionalHaikuImagePackageAdded XiphLibs ] {
Echo "No optional package XiphLibs available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
flac-1.2.1-r1a3-x86-gcc4-2011-05-26.zip
: $(baseURL)/lib/flac-1.2.1-r1a3-x86-gcc4-2011-05-26.zip ;
flac-1.2.1-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/flac-1.2.1-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
libao-1.0.0-r1a3-x86-gcc4-2011-05-26.zip
: $(baseURL)/lib/libao-1.0.0-r1a3-x86-gcc4-2011-05-26.zip ;
libao-1.0.0-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/libao-1.0.0-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
libogg-1.2.2-r1a3-x86-gcc4-2011-05-26.zip
: $(baseURL)/lib/libogg-1.2.2-r1a3-x86-gcc4-2011-05-26.zip ;
libogg-1.3.0-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/libogg-1.3.0-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
libtheora-1.1.1-r1a3-x86-gcc4-2011-05-26.zip
: $(baseURL)/lib/libtheora-1.1.1-r1a3-x86-gcc4-2011-05-26.zip ;
libtheora-1.1.1-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/libtheora-1.1.1-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
libvorbis-1.3.2-r1a3-x86-gcc4-2011-05-26.zip
: $(baseURL)/lib/libvorbis-1.3.2-r1a3-x86-gcc4-2011-05-26.zip ;
libvorbis-1.3.2-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/libvorbis-1.3.2-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
speex-1.2rc1-x86-gcc4-2012-03-12.zip
: $(baseURL)/lib/speex-1.2rc1-x86-gcc4-2012-03-12.zip ;
speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip ;
InstallOptionalHaikuImagePackage
vorbis-tools-1.4.0-r1a3-x86-gcc4-2011-05-26.zip
: $(baseURL)/lib/vorbis-tools-1.4.0-r1a3-x86-gcc4-2011-05-26.zip ;
vorbis-tools-1.4.0-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/vorbis-tools-1.4.0-r1a4-x86-gcc4-2012-09-02.zip ;
} else {
InstallOptionalHaikuImagePackage
flac-1.2.1-r1a3-x86-gcc2-2011-05-19.zip
: $(baseURL)/lib/flac-1.2.1-r1a3-x86-gcc2-2011-05-19.zip ;
flac-1.2.1-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/flac-1.2.1-r1a4-x86-gcc2-2012-08-29.zip ;
InstallOptionalHaikuImagePackage
libao-1.0.0-r1a3-x86-gcc2-2011-05-19.zip
: $(baseURL)/lib/libao-1.0.0-r1a3-x86-gcc2-2011-05-19.zip ;
libao-1.0.0-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/libao-1.0.0-r1a4-x86-gcc2-2012-08-29.zip ;
InstallOptionalHaikuImagePackage
libogg-1.2.2-r1a3-x86-gcc2-2011-05-19.zip
: $(baseURL)/lib/libogg-1.2.2-r1a3-x86-gcc2-2011-05-19.zip ;
libogg-1.3.0-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/libogg-1.3.0-r1a4-x86-gcc2-2012-08-29.zip ;
InstallOptionalHaikuImagePackage
libtheora-1.1.1-r1a3-x86-gcc2-2011-05-19.zip
: $(baseURL)/lib/libtheora-1.1.1-r1a3-x86-gcc2-2011-05-19.zip ;
libtheora-1.1.1-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/libtheora-1.1.1-r1a4-x86-gcc2-2012-08-29.zip ;
InstallOptionalHaikuImagePackage
libvorbis-1.3.2-r1a3-x86-gcc2-2011-05-19.zip
: $(baseURL)/lib/libvorbis-1.3.2-r1a3-x86-gcc2-2011-05-19.zip ;
libvorbis-1.3.2-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/libvorbis-1.3.2-r1a4-x86-gcc2-2012-08-29.zip ;
InstallOptionalHaikuImagePackage
speex-1.2-git-r1a3-x86-gcc2-2011-05-26.zip
: $(baseURL)/lib/speex-1.2-git-r1a3-x86-gcc2-2011-05-26.zip ;
speex-1.2rc1-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/speex-1.2rc1-r1a4-x86-gcc2-2012-08-29.zip ;
InstallOptionalHaikuImagePackage
vorbis-tools-1.4.0-r1a3-x86-gcc2-2011-05-19.zip
: $(baseURL)/lib/vorbis-tools-1.4.0-r1a3-x86-gcc2-2011-05-19.zip ;
vorbis-tools-1.4.0-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lib/vorbis-tools-1.4.0-r1a4-x86-gcc2-2012-08-29.zip ;
}
}

View File

@ -384,12 +384,12 @@ if [ IsOptionalHaikuImagePackageAdded Caya ] {
} else {
if $(HAIKU_GCC_VERSION[1]) >= 4 || $(isHybridBuild) {
InstallOptionalHaikuImagePackage
caya-264-x86-gcc4-2012-05-20.zip
: $(baseURL)/caya-264-x86-gcc4-2012-05-20.zip
caya-264-r1a4-x86-gcc4-2012-08-31.zip
: $(baseURL)/caya-264-r1a4-x86-gcc4-2012-08-31.zip
: : true ;
InstallOptionalHaikuImagePackage
caya-gpl-protocols-35-x86-gcc4-2012-05-20.zip
: $(baseURL)/caya-gpl-protocols-35-x86-gcc4-2012-05-20.zip
caya-gpl-protocols-35-r1a4-x86-gcc4-2012-09-03.zip
: $(baseURL)/caya-gpl-protocols-35-r1a4-x86-gcc4-2012-09-03.zip
: : true ;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/Caya/Caya ;
@ -507,12 +507,12 @@ if [ IsOptionalHaikuImagePackageAdded Colors! ] {
} else {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
Colors!-2.0-x86-gcc4-2012-04-30.zip
: $(baseURL)/Colors\!-2.0-x86-gcc4-2012-04-30.zip ;
Colors!-2.1-r1a4-x86-gcc4-2012-08-30.zip
: $(baseURL)/Colors\!-2.1-r1a4-x86-gcc4-2012-08-30.zip ;
} else {
InstallOptionalHaikuImagePackage
Colors!-2.0-x86-gcc2-2012-04-30.zip
: $(baseURL)/Colors\!-2.0-x86-gcc2-2012-04-30.zip ;
Colors!-2.1-r1a4-x86-gcc2-2012-08-30.zip
: $(baseURL)/Colors\!-2.1-r1a4-x86-gcc2-2012-08-30.zip ;
}
AddSymlinkToHaikuImage home config settings deskbar Applications
: /boot/apps/Colors\!/Colors\! ;
@ -527,13 +527,13 @@ if [ IsOptionalHaikuImagePackageAdded Ctags ] {
} else {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
ctags-5.8-x86-gcc4-2012-01-23.zip
: $(baseURL)/ctags-5.8-x86-gcc4-2012-01-23.zip
ctags-5.8-r1a4-x86-gcc4-2012-08-30.zip
: $(baseURL)/ctags-5.8-r1a4-x86-gcc4-2012-08-30.zip
: : true ;
} else {
InstallOptionalHaikuImagePackage
ctags-5.8-x86-gcc2-2010-05-24.zip
: $(baseURL)/ctags-5.8-x86-gcc2-2010-05-24.zip
ctags-5.8-r1a4-x86-gcc2-2012-09-03.zip
: $(baseURL)/ctags-5.8-r1a4-x86-gcc2-2012-09-03.zip
: : true ;
}
}
@ -881,12 +881,12 @@ if [ IsOptionalHaikuImagePackageAdded DMIDecode ] {
Echo "No optional package DMIDecode available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
dmidecode-2.11-x86-gcc4-2011-11-02.zip
: http://revolf.free.fr/beos/dmidecode-2.11-x86-gcc4-2011-11-02.zip ;
dmidecode-2.11-r1a4-x86-gcc4-2012-09-04.zip
: $(baseURL)/dmidecode-2.11-r1a4-x86-gcc4-2012-09-04.zip ;
} else {
InstallOptionalHaikuImagePackage
dmidecode-2.11-x86-gcc2-2011-11-02.zip
: http://revolf.free.fr/beos/dmidecode-2.11-x86-gcc2-2011-11-02.zip ;
dmidecode-2.11-r1a4-x86-gcc2-2012-09-03.zip
: $(baseURL)/dmidecode-2.11-r1a4-x86-gcc2-2012-09-03.zip ;
}
}
@ -903,8 +903,8 @@ if [ IsOptionalHaikuImagePackageAdded Doxygen ] {
: : true ;
} else {
InstallOptionalHaikuImagePackage
doxygen-1.6.3-x86-gcc2-2010-05-17.zip
: $(baseURL)/doxygen-1.6.3-x86-gcc2-2010-05-17.zip
doxygen-1.6.3-r1a4-x86-gcc2-2012-09-05.zip
: $(baseURL)/doxygen-1.6.3-r1a4-x86-gcc2-2012-09-05.zip
: : true ;
}
}
@ -1014,8 +1014,8 @@ if [ IsOptionalHaikuImagePackageAdded GitDoc ] {
} else {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
gitdoc-1.7.10.2-x86-gcc4-2012-06-20.zip
: $(baseURL)/gitdoc-1.7.10.2-x86-gcc4-2012-06-20.zip
gitdoc-1.7.10.2-r1a4-x86-gcc4-2012-09-03.zip
: $(baseURL)/gitdoc-1.7.10.2-r1a4-x86-gcc4-2012-09-03.zip
: : true ;
} else {
InstallOptionalHaikuImagePackage
@ -1174,12 +1174,12 @@ if [ IsOptionalHaikuImagePackageAdded LibEvent ] {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
libevent-2.0.10-r1a4-x86-gcc4-2012-08-30.zip
: $(baseURL)/lib/libevent-2.0.10-r1a4-x86-gcc4-2012-08-30.zip
: $(baseURL)/libevent-2.0.10-r1a4-x86-gcc4-2012-08-30.zip
: : true ;
} else {
InstallOptionalHaikuImagePackage
libevent-2.0.10-r1a4-x86-gcc2-2012-08-28.zip
: $(baseURL)/lib/libevent-2.0.10-r1a4-x86-gcc2-2012-08-28.zip
: $(baseURL)/libevent-2.0.10-r1a4-x86-gcc2-2012-08-28.zip
: : true ;
}
}
@ -1209,11 +1209,11 @@ if [ IsOptionalHaikuImagePackageAdded LibLayout ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package LibLayout available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage liblayout-1.4.1-r1a4-gcc4-2012-08-30.zip
: $(baseURL)/liblayout-1.4.1-r1a4-gcc4-2012-08-30.zip ;
InstallOptionalHaikuImagePackage liblayout-1.4.1-r1a4-x86-gcc4-2012-08-30.zip
: $(baseURL)/liblayout-1.4.1-r1a4-x86-gcc4-2012-08-30.zip ;
} else {
InstallOptionalHaikuImagePackage liblayout-1.4.1-r1a4-gcc2-2012-08-28.zip
: $(baseURL)/liblayout-1.4.1-r1a4-gcc2-2012-08-28.zip ;
InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08.zip
: $(baseURL)/liblayout-1.4.0-gcc2-2009-03-08.zip ;
}
}
@ -1224,8 +1224,8 @@ if [ IsOptionalHaikuImagePackageAdded Libmng ] {
Echo "No optional package Libmng available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
libmng-1.0.10-r1a3-x86-gcc4-2011-05-24.zip
: $(baseURL)/lib/libmng-1.0.10-r1a3-x86-gcc4-2011-05-24.zip ;
libmng-1.0.10-r1a4-x86-gcc4-2012-09-02.zip
: $(baseURL)/lib/libmng-1.0.10-r1a4-x86-gcc4-2012-09-02.zip ;
} else {
InstallOptionalHaikuImagePackage
libmng-1.0.10-r1a4-x86-gcc2-2012-08-28.zip
@ -1292,13 +1292,13 @@ if [ IsOptionalHaikuImagePackageAdded Lua ] {
} else {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
lua-5.1.4-x86-gcc4-2010-10-30.zip
: $(baseURL)/lua-5.1.4-x86-gcc4-2010-10-30.zip
lua-5.1.4-3-r1a4-x86-gcc4-2012-09-01.zip
: $(baseURL)/lua-5.1.4-3-r1a4-x86-gcc4-2012-09-01.zip
: : true ;
} else {
InstallOptionalHaikuImagePackage
lua-5.1.4-3-r1a4-x86-gcc2-2012-08-29.zip
: $(baseURL)/lua-5.1.4-3-r1a4-x86-gcc2-2012-08-29.zip
lua-5.1.4-3-r1a4-x86-gcc2-2012-09-01.zip
: $(baseURL)/lua-5.1.4-3-r1a4-x86-gcc2-2012-09-01.zip
: : true ;
}
}
@ -1506,8 +1506,8 @@ if [ IsOptionalHaikuImagePackageAdded P7zip ] {
} else {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
p7zip-9.20.1-x86-gcc4-2012-06-19.zip
: $(baseURL)/p7zip-9.20.1-x86-gcc4-2012-06-19.zip ;
p7zip-9.20.1-r1a4-x86-gcc4-2012-08-30.zip
: $(baseURL)/p7zip-9.20.1-r1a4-x86-gcc4-2012-08-30.zip ;
} else {
InstallOptionalHaikuImagePackage
p7zip-9.20.1-r1a4-x86-gcc2-2012-08-29.zip
@ -1529,8 +1529,8 @@ if [ IsOptionalHaikuImagePackageAdded Paladin ] {
} else {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
paladin-1.3-r1a3-x86-gcc4-2011-05-24.zip
: $(baseURL)/paladin-1.3-r1a3-x86-gcc4-2011-05-24.zip ;
paladin-1.3-r1a4-x86-gcc4-2012-08-30.zip
: $(baseURL)/paladin-1.3-r1a4-x86-gcc4-2012-08-30.zip ;
} else {
InstallOptionalHaikuImagePackage
paladin-1.3-r1a3-x86-gcc2-2011-05-18.zip
@ -1552,8 +1552,8 @@ if [ IsOptionalHaikuImagePackageAdded PCRE ] {
} else {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
libpcre-8.12-r1a3-x86-gcc4-2011-05-24.zip
: $(baseURL)/libpcre-8.12-r1a3-x86-gcc4-2011-05-24.zip ;
libpcre-8.21-r1a4-x86-gcc4-2012-09-03.zip
: $(baseURL)/libpcre-8.21-r1a4-x86-gcc4-2012-09-03.zip ;
} else {
InstallOptionalHaikuImagePackage
libpcre-8.21-r1a4-x86-gcc2-2012-08-28.zip
@ -1571,7 +1571,7 @@ if [ IsOptionalHaikuImagePackageAdded Pe ] {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
pe-2.4.3-600-x86-gcc4-2011-12-18.zip
: $(baseURL)/pe-2.4.3-600-x86-gcc4-2011-12-18.zip ;
: $(baseURL)/pe-2.4.3-hg-r1a4-x86-gcc4-2012-09-04.zip ;
} else {
InstallOptionalHaikuImagePackage
pe-2.4.3-hg-r1a4-x86-gcc2-2012-08-29.zip
@ -1613,8 +1613,8 @@ if [ IsOptionalHaikuImagePackageAdded Puri ] {
Echo "No optional package Puri for gcc2" ;
} else {
InstallOptionalHaikuImagePackage
puri-0.3.9.1-x86-gcc4-2012-08-16.zip
: $(baseURL)/puri-0.3.9.1-x86-gcc4-2012-08-16.zip ;
puri-0.3.9.1-r1a4-x86-gcc4-2012-08-31.zip
: $(baseURL)/puri-0.3.9.1-r1a4-x86-gcc4-2012-08-31.zip ;
AddSymlinkToHaikuImage home config settings deskbar Applications
: /boot/apps/Puri/Puri ;
}
@ -1628,8 +1628,8 @@ if [ IsOptionalHaikuImagePackageAdded Python ] {
} else {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
python-2.6.7-x86-gcc4-2011-06-24.zip
: $(baseURL)/python-2.6.7-x86-gcc4-2011-06-24.zip
python-2.6.8-r1a4-x86-gcc4-2012-09-03.zip
: $(baseURL)/python-2.6.8-r1a4-x86-gcc4-2012-09-03.zip
: : true ;
} else {
InstallOptionalHaikuImagePackage
@ -1648,8 +1648,8 @@ if [ IsOptionalHaikuImagePackageAdded Rsync ] {
} else {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
rsync-3.0.7-r1a3-x86-gcc4-2011-05-24.zip
: $(baseURL)/rsync-3.0.7-r1a3-x86-gcc4-2011-05-24.zip
rsync-3.0.7-r1a4-x86-gcc4-2012-08-31.zip
: $(baseURL)/rsync-3.0.7-r1a4-x86-gcc4-2012-08-31.zip
: : true ;
} else {
InstallOptionalHaikuImagePackage
@ -1667,8 +1667,8 @@ if [ IsOptionalHaikuImagePackageAdded Ruby ] {
Echo "No optional package Ruby available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
ruby-1.9.1-r1a3-x86-gcc4-2011-05-24.zip
: $(baseURL)/ruby-1.9.1-r1a3-x86-gcc4-2011-05-24.zip ;
ruby-1.9.1-r1a4-x86-gcc4-2012-08-31.zip
: $(baseURL)/ruby-1.9.1-r1a4-x86-gcc4-2012-08-31.zip ;
} else {
InstallOptionalHaikuImagePackage
ruby-1.9.1-r1a4-x86-gcc2-2012-08-29.zip
@ -1683,8 +1683,8 @@ if [ IsOptionalHaikuImagePackageAdded Sed ] {
Echo "No optional package Sed available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
sed-4.2.1-r1a3-x86-gcc4-2011-05-24.zip
: $(baseURL)/sed-4.2.1-r1a3-x86-gcc4-2011-05-24.zip ;
sed-4.2.1-r1a4-x86-gcc4-2012-08-31.zip
: $(baseURL)/sed-4.2.1-r1a4-x86-gcc4-2012-08-31.zip ;
} else {
InstallOptionalHaikuImagePackage
sed-4.2.1-r1a4-x86-gcc2-2012-08-27.zip
@ -1737,12 +1737,12 @@ if [ IsOptionalHaikuImagePackageAdded TagLib ] {
Echo "No optional package TagLib available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
taglib-1.6.3-r1r3-x86-gcc4-2011-05-24.zip
: $(baseURL)/taglib-1.6.3-r1r3-x86-gcc4-2011-05-24.zip ;
taglib-1.6.3-r1a4-x86-gcc4-2012-09-03.zip
: $(baseURL)/taglib-1.6.3-r1a4-x86-gcc4-2012-09-03.zip ;
} else {
InstallOptionalHaikuImagePackage
taglib-1.7.2-r1a4-x86-gcc2-2012-08-30.zip
: $(baseURL)/taglib-1.7.2-r1a4-x86-gcc2-2012-08-30.zip ;
taglib-1.6.3-r1a4-x86-gcc2-2012-09-03.zip
: $(baseURL)/taglib-1.6.3-r1a4-x86-gcc2-2012-09-03.zip ;
}
}
@ -1754,8 +1754,8 @@ if [ IsOptionalHaikuImagePackageAdded Tar ] {
} else {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
tar-1.26-x86-gcc4-2012-06-19.zip
: $(baseURL)/tar-1.26-x86-gcc4-2012-06-19.zip ;
tar-1.26-r1a4-x86-gcc4-2012-09-03.zip
: $(baseURL)/tar-1.26-r1a4-x86-gcc4-2012-09-03.zip ;
} else {
InstallOptionalHaikuImagePackage
tar-1.26-r1a4-x86-gcc2-2012-08-29.zip
@ -1788,8 +1788,8 @@ if [ IsOptionalHaikuImagePackageAdded Transmission ] {
} else {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage
transmission-2.21-r1a3-x86-gcc4-2011-05-27.zip
: $(baseURL)/transmission-2.21-r1a3-x86-gcc4-2011-05-27.zip
transmission-2.21-r1a4-x86-gcc4-2012-09-03.zip
: $(baseURL)/transmission-2.21-r1a4-x86-gcc4-2012-09-03.zip
: : true ;
} else {
InstallOptionalHaikuImagePackage
@ -1882,8 +1882,8 @@ if [ IsOptionalHaikuImagePackageAdded Vision ] {
Echo "No optional package Vision available for $(TARGET_ARCH)" ;
} else {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage vision-908-x86-gcc4-2012-02-26.zip
: $(baseURL)/vision-908-x86-gcc4-2012-02-26.zip ;
InstallOptionalHaikuImagePackage vision-908-r1a4-x86-gcc4-2012-09-04.zip
: $(baseURL)/vision-908-r1a4-x86-gcc4-2012-09-04.zip ;
} else {
InstallOptionalHaikuImagePackage
vision-908-r1a4-x86-gcc2-2012-08-29.zip
@ -2044,8 +2044,8 @@ if [ IsOptionalHaikuImagePackageAdded XZ-Utils ] {
Echo "No optional package XZ-Utils available for $(TARGET_ARCH)" ;
} else {
InstallOptionalHaikuImagePackage
xz-utils-5.0.1-x86-gcc4-2012-07-18.zip
: $(baseURL)/xz-utils-5.0.1-x86-gcc4-2012-07-18.zip ;
xz-utils-5.0.1-r1a4-x86-gcc4-2012-09-03.zip
: $(baseURL)/xz-utils-5.0.1-r1a4-x86-gcc4-2012-09-03.zip ;
AddExpanderRuleToHaikuImage "application/x-xz" : .tar.xz
: "tar -Jtvf \\0045s"
: "tar -Jxvf \\0045s"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

View File

@ -42,8 +42,8 @@ declare alreadyInstalled=""
# Some Packages cannot be installed,
# as they require either the source code or compiled binaries
declare packageIgnoreList="Bluetooth Development DevelopmentMin \
DevelopmentBase MandatoryPackages UserlandFS Welcome WifiFirmwareScriptData \
ICU-devel ICU "
DevelopmentBase ICU-devel ICU MandatoryPackages UserlandFS \
WebPositive Welcome WifiFirmwareScriptData "
function CreateInstallerScript()

View File

@ -142,7 +142,7 @@ class BNavMenu : public BSlowMenu {
EntryListBase *fContainer;
bool fIteratingDesktop;
const BObjectList<BString> *fTypesList;
BObjectList<BString> *fTypesList;
TrackingHookData fTrackingHook;
};

View File

@ -325,10 +325,15 @@ Playlist::RemoveItem(int32 index, bool careAboutCurrentIndex)
_NotifyItemRemoved(index);
if (careAboutCurrentIndex) {
if (index >= CountItems())
SetCurrentItemIndex(CountItems() - 1);
else if (index <= fCurrentIndex)
SetCurrentItemIndex(index - 1);
// fCurrentIndex isn't in sync yet, so might be one too large (if the
// removed item was above the currently playing item).
if (index < fCurrentIndex)
SetCurrentItemIndex(fCurrentIndex - 1, false);
else if (index == fCurrentIndex) {
if (fCurrentIndex == CountItems())
fCurrentIndex--;
SetCurrentItemIndex(fCurrentIndex, true);
}
}
return item;

View File

@ -18,15 +18,17 @@ resource(4, "META:EXTENS") message(234) {
resource(5, "META:PREF_APP") #'MSIG' "application/x-vnd.beunited.pe";
resource(6, "META:ICON") #'VICN' array {
$"6E6369660505010200060338D2F73CD163BF82B23B84A94B88504870C900B6F5"
$"5CBDDCFFB3FFD7FFBA020106023E49240000000000003CAAAA4940004A3000FF"
$"CCFF897C4FB009040192020006023A55A6BAC2293F0DA33E958646C2EB4870EB"
$"00010101FF85CB520B0606AE0BB40BBF4D33C3AFB75DC173BDEFC607C13EC804"
$"6E6369660505010200060338D2F73CD163BF82B23B84A94B88504870C901BFDE"
$"F4BDFFFFFFFFE7EEFB020106023E49240000000000003CAAAA4940004A3000FF"
$"CEE5FF7C7588AD040192020006023A55A6BAC2293F0DA33E958646C2EB4870EB"
$"00010101FF5296CB0A0606AE0BB40BBF4D33C3AFB75DC173BDEFC607C13EC804"
$"CA28BD82C118B920C51BBB40BF07B8083AB6BC0605AE02B57D3EB9B9C3EFB7BB"
$"44BBB751BD75C936CA8EC1B1402F0A093B593D5BBFCDC93E455BC516C5F16046"
$"5B435D4544510A045A425E3F5A3D574008022E40BDB53308023142BE34BC0308"
$"023444C0E5BB5108023746C0D8BD7508023A48C270BDB508023D4A4CBD820802"
$"404CC408BFE6080A03020203000A0001011001178400040A020101000A000100"
$"1001178400040A010100000A04040604080A1815FF01178100040A0404060408"
$"0A18001501178200040A04030907051815FF0117810004"
$"5B435D4544510A045A425E3F5A3D574008022E45373C0802364441390802364B"
$"463B08023A4E4A3E08032D422E4430450803373839393A3B0C0A03020203000A"
$"0001011001178400040A020101000A0001001001178400040A010100000A0403"
$"04060738201B16FF01178100040A0402060438201B001601178200040A040105"
$"38201B16FF01178100040A000108382B1116FF01178100040A00010938231916"
$"FF01178100040A00010838251E16FF01178100040A00010938283116FF011781"
$"0004"
};

View File

@ -34,15 +34,17 @@ resource(4, "META:EXTENS") message(234) {
resource(5, "META:PREF_APP") #'MSIG' "application/x-vnd.beunited.pe";
resource(6, "META:ICON") #'VICN' array {
$"6E6369660505010200060338D2F73CD163BF82B23B84A94B88504870C900B6F5"
$"5CBDDCFFB3FFD7FFBA020106023E49240000000000003CAAAA4940004A3000FF"
$"CCFF897C4FB009040192020006023A55A6BAC2293F0DA33E958646C2EB4870EB"
$"00010101FF85CB520B0606AE0BB40BBF4D33C3AFB75DC173BDEFC607C13EC804"
$"6E6369660505010200060338D2F73CD163BF82B23B84A94B88504870C901BFDE"
$"F4BDFFFFFFFFE7EEFB020106023E49240000000000003CAAAA4940004A3000FF"
$"CEE5FF7C7588AD040192020006023A55A6BAC2293F0DA33E958646C2EB4870EB"
$"00010101FF5296CB0A0606AE0BB40BBF4D33C3AFB75DC173BDEFC607C13EC804"
$"CA28BD82C118B920C51BBB40BF07B8083AB6BC0605AE02B57D3EB9B9C3EFB7BB"
$"44BBB751BD75C936CA8EC1B1402F0A093B593D5BBFCDC93E455BC516C5F16046"
$"5B435D4544510A045A425E3F5A3D574008022E40BDB53308023142BE34BC0308"
$"023444C0E5BB5108023746C0D8BD7508023A48C270BDB508023D4A4CBD820802"
$"404CC408BFE6080A03020203000A0001011001178400040A020101000A000100"
$"1001178400040A010100000A04040604080A1815FF01178100040A0404060408"
$"0A18001501178200040A04030907051815FF0117810004"
$"5B435D4544510A045A425E3F5A3D574008022E45373C0802364441390802364B"
$"463B08023A4E4A3E08032D422E4430450803373839393A3B0C0A03020203000A"
$"0001011001178400040A020101000A0001001001178400040A010100000A0403"
$"04060738201B16FF01178100040A0402060438201B001601178200040A040105"
$"38201B16FF01178100040A000108382B1116FF01178100040A00010938231916"
$"FF01178100040A00010838251E16FF01178100040A00010938283116FF011781"
$"0004"
};

View File

@ -75,6 +75,16 @@ BNotification::BNotification(BMessage* archive)
if (archive->FindRef("_onClickFile", &onClickFile) == B_OK)
SetOnClickFile(&onClickFile);
entry_ref onClickRef;
int32 index = 0;
while (archive->FindRef("_onClickRef", index++, &onClickRef) == B_OK)
AddOnClickRef(&onClickRef);
BString onClickArgv;
index = 0;
while (archive->FindString("_onClickArgv", index++, &onClickArgv) == B_OK)
AddOnClickArg(onClickArgv);
status_t ret = B_OK;
BMessage icon;
if ((ret = archive->FindMessage("_icon", &icon)) == B_OK) {

View File

@ -1106,15 +1106,15 @@ Model::SupportsMimeType(const char* type, const BObjectList<BString>* list,
int32 match;
if (type) {
if (type || (list != NULL && list->IsEmpty())) {
BString typeString(type);
match = MatchMimeTypeString(&typeString, mimeSignature);
} else
} else {
match = WhileEachListItem(const_cast<BObjectList<BString>*>(list),
MatchMimeTypeString, mimeSignature);
// const_cast shouldnt be here, have to have it until
// MW cleans up
}
if (match == kMatch)
// supports the actual type, it can't get any better
return kModelSupportsType;

View File

@ -130,7 +130,7 @@ void
SpringLoadedFolderSetMenuStates(const BMenu* menu,
const BObjectList<BString>* typeslist)
{
if (!menu || !typeslist)
if (!menu || !typeslist || typeslist->IsEmpty())
return;
// if a types list exists
@ -263,8 +263,10 @@ BNavMenu::BNavMenu(const char* title, uint32 message, const BHandler* target,
fFlags(0),
fItemList(0),
fContainer(0),
fTypesList(list)
fTypesList(new BObjectList<BString>(10, true))
{
if (list != NULL)
*fTypesList = *list;
InitIconPreloader();
SetFont(be_plain_font);
@ -292,8 +294,10 @@ BNavMenu::BNavMenu(const char* title, uint32 message,
fFlags(0),
fItemList(0),
fContainer(0),
fTypesList(list)
fTypesList(new BObjectList<BString>(10, true))
{
if (list != NULL)
*fTypesList = *list;
InitIconPreloader();
SetFont(be_plain_font);
@ -313,6 +317,7 @@ BNavMenu::BNavMenu(const char* title, uint32 message,
BNavMenu::~BNavMenu()
{
delete fTypesList;
}
@ -334,13 +339,6 @@ BNavMenu::AttachedToWindow()
void
BNavMenu::DetachedFromWindow()
{
// does this need to set this to null?
// the parent, handling dnd should set this
// appropriately
//
// if this changes, BeMenu and RecentsMenu
// in Deskbar should also change
fTypesList = NULL;
}
@ -814,7 +812,10 @@ BNavMenu::SetShowParent(bool show)
void
BNavMenu::SetTypesList(const BObjectList<BString>* list)
{
fTypesList = list;
if (list != NULL)
*fTypesList = *list;
else
fTypesList->MakeEmpty();
}

View File

@ -727,9 +727,8 @@ JPEGPreDecode(TIFF* tif, tsample_t s)
sp->cinfo.d.image_height < segment_height) {
TIFFWarningExt(tif->tif_clientdata, module,
"Improper JPEG strip/tile size, "
"expected %dx%d, got %dx%d",
segment_width, segment_height,
sp->cinfo.d.image_width,
"expected %" B_PRIu32 "x%" B_PRIu32 ", got %" B_PRIu32 "x%"
B_PRIu32, segment_width, segment_height, sp->cinfo.d.image_width,
sp->cinfo.d.image_height);
}
if (sp->cinfo.d.image_width > segment_width ||
@ -742,9 +741,9 @@ JPEGPreDecode(TIFF* tif, tsample_t s)
*/
TIFFErrorExt(tif->tif_clientdata, module,
"JPEG strip/tile size exceeds expected dimensions,"
" expected %dx%d, got %dx%d",
segment_width, segment_height,
sp->cinfo.d.image_width, sp->cinfo.d.image_height);
"expected %" B_PRIu32 "x%" B_PRIu32 ", got %" B_PRIu32 "x%"
B_PRIu32, segment_width, segment_height, sp->cinfo.d.image_width,
sp->cinfo.d.image_height);
return (0);
}
if (sp->cinfo.d.num_components !=

View File

@ -21,7 +21,7 @@
#include "AntialiasingSettingsView.h"
#include "APRView.h"
#include "DecorSettingsView.h"
#include "LookAndFeelSettingsView.h"
#include "defs.h"
#include "FontView.h"
@ -54,15 +54,15 @@ APRWindow::APRWindow(BRect frame)
fColorsView = new APRView(B_TRANSLATE("Colors"));
fDecorSettings = new DecorSettingsView(
B_TRANSLATE("Decorators"));
fLookAndFeelSettings = new LookAndFeelSettingsView(
B_TRANSLATE("Look and feel"));
fAntialiasingSettings = new AntialiasingSettingsView(
B_TRANSLATE("Antialiasing"));
tabView->AddTab(fFontSettings);
tabView->AddTab(fColorsView);
tabView->AddTab(fDecorSettings);
tabView->AddTab(fLookAndFeelSettings);
tabView->AddTab(fAntialiasingSettings);
_UpdateButtons();
@ -92,7 +92,7 @@ APRWindow::MessageReceived(BMessage *message)
fFontSettings->SetDefaults();
fColorsView->SetDefaults();
fAntialiasingSettings->SetDefaults();
fDecorSettings->SetDefaults();
fLookAndFeelSettings->SetDefaults();
_UpdateButtons();
break;
@ -101,7 +101,7 @@ APRWindow::MessageReceived(BMessage *message)
fColorsView->Revert();
fAntialiasingSettings->Revert();
fFontSettings->Revert();
fDecorSettings->Revert();
fLookAndFeelSettings->Revert();
_UpdateButtons();
break;
@ -127,11 +127,11 @@ APRWindow::_IsDefaultable() const
// printf("fonts defaultable: %d\n", fFontSettings->IsDefaultable());
// printf("colors defaultable: %d\n", fColorsView->IsDefaultable());
// printf("AA defaultable: %d\n", fAntialiasingSettings->IsDefaultable());
// printf("decor defaultable: %d\n", fDecorSettings->IsDefaultable());
// printf("decor defaultable: %d\n", fLookAndFeelSettings->IsDefaultable());
return fColorsView->IsDefaultable()
|| fFontSettings->IsDefaultable()
|| fAntialiasingSettings->IsDefaultable()
|| fDecorSettings->IsDefaultable();
|| fLookAndFeelSettings->IsDefaultable();
}
@ -141,9 +141,9 @@ APRWindow::_IsRevertable() const
// printf("fonts revertable: %d\n", fFontSettings->IsRevertable());
// printf("colors revertable: %d\n", fColorsView->IsRevertable());
// printf("AA revertable: %d\n", fAntialiasingSettings->IsRevertable());
// printf("decor revertable: %d\n", fDecorSettings->IsRevertable());
// printf("decor revertable: %d\n", fLookAndFeelSettings->IsRevertable());
return fColorsView->IsRevertable()
|| fFontSettings->IsRevertable()
|| fAntialiasingSettings->IsRevertable()
|| fDecorSettings->IsRevertable();
|| fLookAndFeelSettings->IsRevertable();
}

View File

@ -20,7 +20,7 @@
class APRView;
class AntialiasingSettingsView;
class FontView;
class DecorSettingsView;
class LookAndFeelSettingsView;
class APRWindow : public BWindow {
@ -39,7 +39,7 @@ private:
AntialiasingSettingsView* fAntialiasingSettings;
FontView* fFontSettings;
DecorSettingsView* fDecorSettings;
LookAndFeelSettingsView* fLookAndFeelSettings;
};

View File

@ -9,7 +9,7 @@ Includes [ FGristFiles AntialiasingSettingsView.cpp ]
Preference Appearance :
APRMain.cpp
AntialiasingSettingsView.cpp
DecorSettingsView.cpp
LookAndFeelSettingsView.cpp
FontSelectionView.cpp
FontView.cpp
APRView.cpp
@ -40,7 +40,7 @@ DoCatalogs Appearance :
ColorSet.cpp
ColorWell.cpp
ColorWhichItem.cpp
DecorSettingsView.cpp
LookAndFeelSettingsView.cpp
FontView.cpp
FontSelectionView.cpp
;

View File

@ -5,10 +5,11 @@
* Authors:
* Alexander von Gluck, kallisti5@unixzen.com
* Stephan Aßmus <superstippi@gmx.de>
* Ryan Leavengood <leavengood@gmail.com>
*/
#include "DecorSettingsView.h"
#include "LookAndFeelSettingsView.h"
#include <stdio.h>
#include <stdlib.h>
@ -17,8 +18,10 @@
#include <Box.h>
#include <Button.h>
#include <Catalog.h>
#include <CheckBox.h>
#include <GridLayoutBuilder.h>
#include <GroupLayoutBuilder.h>
#include <InterfaceDefs.h>
#include <Locale.h>
#include <MenuField.h>
#include <MenuItem.h>
@ -32,18 +35,26 @@
#undef B_TRANSLATION_CONTEXT
#define B_TRANSLATION_CONTEXT "DecorSettingsView"
// This was not renamed to keep from breaking translations
static const int32 kMsgSetDecor = 'deco';
static const int32 kMsgDecorInfo = 'idec';
static const int32 kMsgDoubleScrollbarArrows = 'dsba';
static const bool kDefaultDoubleScrollbarArrowsSetting = false;
// #pragma mark -
DecorSettingsView::DecorSettingsView(const char* name)
LookAndFeelSettingsView::LookAndFeelSettingsView(const char* name)
:
BView(name, 0)
BView(name, 0),
fDecorInfoButton(NULL),
fDecorMenuField(NULL),
fDecorMenu(NULL),
fDoubleScrollbarArrowsCheckBox(NULL)
{
// Decorator menu
_BuildDecorMenu();
@ -53,6 +64,13 @@ DecorSettingsView::DecorSettingsView(const char* name)
fDecorInfoButton = new BButton(B_TRANSLATE("About"),
new BMessage(kMsgDecorInfo));
fDoubleScrollbarArrowsCheckBox = new BCheckBox("doubleScrollbarArrows",
B_TRANSLATE("Use double scrollbar arrows"),
new BMessage(kMsgDoubleScrollbarArrows));
fSavedDoubleArrowsValue = _GetDoubleScrollbarArrowsSetting();
fDoubleScrollbarArrowsCheckBox->SetValue(fSavedDoubleArrowsValue);
SetLayout(new BGroupLayout(B_VERTICAL));
// control layout
@ -61,20 +79,21 @@ DecorSettingsView::DecorSettingsView(const char* name)
.Add(fDecorMenuField->CreateMenuBarLayoutItem(), 1, 0)
.Add(fDecorInfoButton, 2, 0)
.Add(BSpaceLayoutItem::CreateGlue(), 0, 3, 2)
.Add(fDoubleScrollbarArrowsCheckBox, 0, 3, 2)
.Add(BSpaceLayoutItem::CreateGlue(), 0, 4, 2)
.SetInsets(10, 10, 10, 10)
);
// TODO : Decorator Preview Image?
}
DecorSettingsView::~DecorSettingsView()
LookAndFeelSettingsView::~LookAndFeelSettingsView()
{
}
void
DecorSettingsView::AttachedToWindow()
LookAndFeelSettingsView::AttachedToWindow()
{
if (Parent() != NULL)
SetViewColor(Parent()->ViewColor());
@ -83,11 +102,12 @@ DecorSettingsView::AttachedToWindow()
fDecorMenu->SetTargetForItems(this);
fDecorInfoButton->SetTarget(this);
fDoubleScrollbarArrowsCheckBox->SetTarget(this);
}
void
DecorSettingsView::MessageReceived(BMessage *msg)
LookAndFeelSettingsView::MessageReceived(BMessage *msg)
{
switch (msg->what) {
case kMsgSetDecor:
@ -125,6 +145,9 @@ DecorSettingsView::MessageReceived(BMessage *msg)
break;
}
case kMsgDoubleScrollbarArrows:
_SetDoubleScrollbarArrowsSetting(fDoubleScrollbarArrowsCheckBox->Value());
break;
default:
BView::MessageReceived(msg);
@ -134,7 +157,7 @@ DecorSettingsView::MessageReceived(BMessage *msg)
void
DecorSettingsView::_BuildDecorMenu()
LookAndFeelSettingsView::_BuildDecorMenu()
{
fDecorMenu = new BPopUpMenu(B_TRANSLATE("Choose Decorator"));
@ -163,14 +186,14 @@ DecorSettingsView::_BuildDecorMenu()
void
DecorSettingsView::_SetDecor(const BString& name)
LookAndFeelSettingsView::_SetDecor(const BString& name)
{
_SetDecor(fDecorUtility.FindDecorator(name));
}
void
DecorSettingsView::_SetDecor(DecorInfo* decorInfo)
LookAndFeelSettingsView::_SetDecor(DecorInfo* decorInfo)
{
if (fDecorUtility.SetDecorator(decorInfo) == B_OK) {
_AdoptToCurrentDecor();
@ -180,7 +203,7 @@ DecorSettingsView::_SetDecor(DecorInfo* decorInfo)
void
DecorSettingsView::_AdoptToCurrentDecor()
LookAndFeelSettingsView::_AdoptToCurrentDecor()
{
fCurrentDecor = fDecorUtility.CurrentDecorator()->Name();
if (fSavedDecor.Length() == 0)
@ -189,7 +212,7 @@ DecorSettingsView::_AdoptToCurrentDecor()
}
void
DecorSettingsView::_AdoptInterfaceToCurrentDecor()
LookAndFeelSettingsView::_AdoptInterfaceToCurrentDecor()
{
BMenuItem* item = fDecorMenu->FindItem(fCurrentDecor);
if (item != NULL)
@ -197,29 +220,60 @@ DecorSettingsView::_AdoptInterfaceToCurrentDecor()
}
bool
LookAndFeelSettingsView::_GetDoubleScrollbarArrowsSetting()
{
scroll_bar_info info;
get_scroll_bar_info(&info);
return info.double_arrows;
}
void
DecorSettingsView::SetDefaults()
LookAndFeelSettingsView::_SetDoubleScrollbarArrowsSetting(bool value)
{
scroll_bar_info info;
get_scroll_bar_info(&info);
info.double_arrows = value;
set_scroll_bar_info(&info);
Window()->PostMessage(kMsgUpdate);
}
void
LookAndFeelSettingsView::SetDefaults()
{
_SetDecor(fDecorUtility.DefaultDecorator());
_SetDoubleScrollbarArrowsSetting(kDefaultDoubleScrollbarArrowsSetting);
fDoubleScrollbarArrowsCheckBox->SetValue(
kDefaultDoubleScrollbarArrowsSetting);
}
bool
DecorSettingsView::IsDefaultable()
LookAndFeelSettingsView::IsDefaultable()
{
return fCurrentDecor != fDecorUtility.DefaultDecorator()->Name();
return fCurrentDecor != fDecorUtility.DefaultDecorator()->Name() ||
fDoubleScrollbarArrowsCheckBox->Value() !=
kDefaultDoubleScrollbarArrowsSetting;
}
bool
DecorSettingsView::IsRevertable()
LookAndFeelSettingsView::IsRevertable()
{
return fCurrentDecor != fSavedDecor;
return fCurrentDecor != fSavedDecor ||
fDoubleScrollbarArrowsCheckBox->Value() != fSavedDoubleArrowsValue;
}
void
DecorSettingsView::Revert()
LookAndFeelSettingsView::Revert()
{
_SetDecor(fSavedDecor);
_SetDoubleScrollbarArrowsSetting(fSavedDoubleArrowsValue);
fDoubleScrollbarArrowsCheckBox->SetValue(fSavedDoubleArrowsValue);
}

View File

@ -5,9 +5,10 @@
* Authors:
* Alexander von Gluck, kallisti5@unixzen.com
* Stephan Aßmus <superstippi@gmx.de>
* Ryan Leavengood <leavengood@gmail.com>
*/
#ifndef DECOR_SETTINGS_VIEW_H
#define DECOR_SETTINGS_VIEW_H
#ifndef LOOK_AND_FEEL_SETTINGS_VIEW_H
#define LOOK_AND_FEEL_SETTINGS_VIEW_H
#include <DecorInfo.h>
@ -16,14 +17,15 @@
class BButton;
class BCheckBox;
class BMenuField;
class BPopUpMenu;
class DecorSettingsView : public BView {
class LookAndFeelSettingsView : public BView {
public:
DecorSettingsView(const char* name);
virtual ~DecorSettingsView();
LookAndFeelSettingsView(const char* name);
virtual ~LookAndFeelSettingsView();
virtual void AttachedToWindow();
virtual void MessageReceived(BMessage* message);
@ -40,6 +42,8 @@ private:
void _BuildDecorMenu();
void _AdoptToCurrentDecor();
void _AdoptInterfaceToCurrentDecor();
bool _GetDoubleScrollbarArrowsSetting();
void _SetDoubleScrollbarArrowsSetting(bool value);
private:
DecorInfoUtility fDecorUtility;
@ -47,9 +51,11 @@ private:
BButton* fDecorInfoButton;
BMenuField* fDecorMenuField;
BPopUpMenu* fDecorMenu;
BCheckBox* fDoubleScrollbarArrowsCheckBox;
BString fSavedDecor;
BString fCurrentDecor;
bool fSavedDoubleArrowsValue;
};
#endif // DECOR_SETTINGS_VIEW_H
#endif // LOOK_AND_FEEL_SETTINGS_VIEW_H

View File

@ -57,7 +57,7 @@ DesktopSettingsPrivate::_SetDefaults()
// init scrollbar info
fScrollBarInfo.proportional = true;
fScrollBarInfo.double_arrows = true;
fScrollBarInfo.double_arrows = false;
fScrollBarInfo.knob = 1;
// look of the knob (R5: (0, 1, 2), 1 = default)
fScrollBarInfo.min_knob_size = 15;

View File

@ -3046,9 +3046,11 @@ cache_abort_sub_transaction(void* _cache, int32 id)
// The parent transaction didn't change the block, but the sub
// transaction did - we need to revert to the original data.
// The block is no longer part of the transaction
ASSERT(block->original_data != NULL);
if (block->original_data != NULL) {
// The block might not have original data if was empty
memcpy(block->current_data, block->original_data,
cache->block_size);
}
if (last != NULL)
last->transaction_next = next;

View File

@ -3,6 +3,8 @@ SubDir HAIKU_TOP src system kernel vm ;
UsePrivateHeaders shared ;
UseHeaders [ FDirName $(SUBDIR) $(DOTDOT) device_manager ] ;
UsePrivateHeaders [ FDirName kernel disk_device_manager ] ;
UsePrivateHeaders [ FDirName kernel util ] ;
KernelMergeObject kernel_vm.o :
PageCacheLocker.cpp

View File

@ -1,4 +1,6 @@
/*
* Copyright 2012, Alexander von Gluck IV, kallisti5@unixzen.com.
* Copyright 2011, Hamish Morrison, hamish@lavabit.com.
* Copyright 2008, Zhao Shuai, upczhsh@163.com.
* Copyright 2008-2011, Ingo Weinhold, ingo_weinhold@gmx.de.
* Copyright 2002-2009, Axel Dörfler, axeld@pinc-software.de.
@ -17,13 +19,20 @@
#include <string.h>
#include <unistd.h>
#include <FindDirectory.h>
#include <KernelExport.h>
#include <NodeMonitor.h>
#include <arch_config.h>
#include <boot_device.h>
#include <disk_device_manager/KDiskDevice.h>
#include <disk_device_manager/KDiskDeviceManager.h>
#include <disk_device_manager/KDiskSystem.h>
#include <disk_device_manager/KPartitionVisitor.h>
#include <driver_settings.h>
#include <fs/fd.h>
#include <fs/KPath.h>
#include <fs_info.h>
#include <fs_interface.h>
#include <heap.h>
#include <kernel_daemon.h>
@ -69,6 +78,8 @@
#define SWAP_BLOCK_MASK (SWAP_BLOCK_PAGES - 1)
static const char* const kDefaultSwapPath = "/var/swap";
struct swap_file : DoublyLinkedListLinkImpl<swap_file> {
int fd;
struct vnode* vnode;
@ -284,8 +295,9 @@ swap_slot_alloc(uint32 count)
// if this swap file has used more than 90% percent of its space
// switch to another
if (sSwapFileAlloc->bmp->free_slots
< (sSwapFileAlloc->last_slot - sSwapFileAlloc->first_slot) / 10)
< (sSwapFileAlloc->last_slot - sSwapFileAlloc->first_slot) / 10) {
sSwapFileAlloc = sSwapFileList.GetNext(sSwapFileAlloc);
}
mutex_unlock(&sSwapFileListLock);
@ -299,9 +311,10 @@ find_swap_file(swap_addr_t slotIndex)
for (SwapFileList::Iterator it = sSwapFileList.GetIterator();
swap_file* swapFile = it.Next();) {
if (slotIndex >= swapFile->first_slot
&& slotIndex < swapFile->last_slot)
&& slotIndex < swapFile->last_slot) {
return swapFile;
}
}
panic("find_swap_file(): can't find swap file for slot %ld\n", slotIndex);
return NULL;
@ -474,8 +487,8 @@ VMAnonymousCache::Resize(off_t newSize, int priority)
swap_block* swapBlock = NULL;
for (page_num_t pageIndex = (newSize + B_PAGE_SIZE - 1) >> PAGE_SHIFT;
pageIndex < oldPageCount && fAllocatedSwapSize > 0;
pageIndex++) {
pageIndex < oldPageCount && fAllocatedSwapSize > 0; pageIndex++) {
WriteLocker locker(sSwapHashLock);
// Get the swap slot index for the page.
@ -731,8 +744,8 @@ VMAnonymousCache::WriteAsync(off_t offset, const generic_io_vec* vecs,
_callback->IOFinished(B_NO_MEMORY, true, 0);
return B_NO_MEMORY;
}
// TODO: If the page already had swap space assigned, we don't need an own
// callback.
// TODO: If the page already had swap space assigned, we don't need an own
// callback.
callback->SetTo(pageIndex, slotIndex, newSlot);
@ -1165,6 +1178,93 @@ VMAnonymousCache::_MergeSwapPages(VMAnonymousCache* source)
// #pragma mark -
// TODO: This can be removed if we get BFS uuid's
struct VolumeInfo {
char name[B_FILE_NAME_LENGTH];
char device[B_FILE_NAME_LENGTH];
char filesystem[B_OS_NAME_LENGTH];
off_t capacity;
};
class PartitionScorer : public KPartitionVisitor {
public:
PartitionScorer(VolumeInfo& volumeInfo)
:
fBestPartition(NULL),
fBestScore(-1),
fVolumeInfo(volumeInfo)
{
}
virtual bool VisitPre(KPartition* partition)
{
if (!partition->ContainsFileSystem())
return false;
KPath path;
partition->GetPath(&path);
int score = 0;
if (strcmp(fVolumeInfo.name, partition->ContentName()) == 0)
score += 4;
if (strcmp(fVolumeInfo.device, path.Path()) == 0)
score += 3;
if (fVolumeInfo.capacity == partition->Size())
score += 2;
if (strcmp(fVolumeInfo.filesystem,
partition->DiskSystem()->ShortName()) == 0) {
score += 1;
}
if (score >= 4 && score > fBestScore) {
fBestPartition = partition;
fBestScore = score;
}
return false;
}
KPartition* fBestPartition;
private:
int32 fBestScore;
VolumeInfo fVolumeInfo;
};
status_t
get_mount_point(KPartition* partition, KPath* mountPoint)
{
if (!mountPoint || !partition->ContainsFileSystem())
return B_BAD_VALUE;
const char* volumeName = partition->ContentName();
if (!volumeName || strlen(volumeName) == 0)
volumeName = partition->Name();
if (!volumeName || strlen(volumeName) == 0)
volumeName = "unnamed volume";
char basePath[B_PATH_NAME_LENGTH];
int32 len = snprintf(basePath, sizeof(basePath), "/%s", volumeName);
for (int32 i = 1; i < len; i++)
if (basePath[i] == '/')
basePath[i] = '-';
char* path = mountPoint->LockBuffer();
int32 pathLen = mountPoint->BufferSize();
strncpy(path, basePath, pathLen);
struct stat dummy;
for (int i = 1; ; i++) {
if (stat(path, &dummy) != 0)
break;
snprintf(path, pathLen, "%s%d", basePath, i);
}
mountPoint->UnlockBuffer();
return B_OK;
}
status_t
swap_file_add(const char* path)
{
@ -1291,8 +1391,8 @@ void
swap_init(void)
{
// create swap block cache
sSwapBlockCache = create_object_cache("swapblock",
sizeof(swap_block), sizeof(void*), NULL, NULL, NULL);
sSwapBlockCache = create_object_cache("swapblock", sizeof(swap_block),
sizeof(void*), NULL, NULL, NULL);
if (sSwapBlockCache == NULL)
panic("swap_init(): can't create object cache for swap blocks\n");
@ -1338,46 +1438,166 @@ swap_init_post_modules()
if (gReadOnlyBootDevice)
return;
off_t size = 0;
bool swapEnabled = true;
bool swapAutomatic = true;
off_t swapSize = 0;
dev_t swapDeviceID = -1;
VolumeInfo selectedVolume = {};
void* settings = load_driver_settings("virtual_memory");
if (settings != NULL) {
if (!get_driver_boolean_parameter(settings, "vm", false, false)) {
// We pass a lot of information on the swap device, this is mostly to
// ensure that we are dealing with the same device that was configured.
// TODO: Some kind of BFS uuid would be great here :)
const char* enabled = get_driver_parameter(settings, "vm", NULL, NULL);
if (enabled != NULL) {
swapEnabled = get_driver_boolean_parameter(settings, "vm",
false, false);
const char* size = get_driver_parameter(settings, "swap_size",
NULL, NULL);
const char* volume = get_driver_parameter(settings,
"swap_volume_name", NULL, NULL);
const char* device = get_driver_parameter(settings,
"swap_volume_device", NULL, NULL);
const char* filesystem = get_driver_parameter(settings,
"swap_volume_filesystem", NULL, NULL);
const char* capacity = get_driver_parameter(settings,
"swap_volume_capacity", NULL, NULL);
if (size != NULL && device != NULL && volume != NULL
&& filesystem != NULL && capacity != NULL) {
// User specified a size / volume
swapAutomatic = false;
swapSize = atoll(size);
strncpy(selectedVolume.name, volume,
sizeof(selectedVolume.name));
strncpy(selectedVolume.device, device,
sizeof(selectedVolume.device));
strncpy(selectedVolume.filesystem, filesystem,
sizeof(selectedVolume.filesystem));
selectedVolume.capacity = atoll(capacity);
} else if (size != NULL) {
// Older file format, no location information (assume /var/swap)
swapAutomatic = false;
swapSize = atoll(size);
swapDeviceID = gBootDevice;
}
}
unload_driver_settings(settings);
return;
}
const char* string = get_driver_parameter(settings, "swap_size", NULL,
NULL);
size = string ? atoll(string) : 0;
if (swapAutomatic) {
swapEnabled = true;
swapSize = (off_t)vm_page_num_pages() * B_PAGE_SIZE;
if (swapSize <= (1024 * 1024 * 1024)) {
// Memory under 1GB? double the swap
swapSize *= 2;
}
}
unload_driver_settings(settings);
} else
size = (off_t)vm_page_num_pages() * B_PAGE_SIZE * 2;
if (size < B_PAGE_SIZE)
if (!swapEnabled || swapSize < B_PAGE_SIZE)
return;
int fd = open("/var/swap", O_RDWR | O_CREAT | O_NOCACHE, S_IRUSR | S_IWUSR);
if (!swapAutomatic && swapDeviceID < 0) {
// If user-specified swap, and no swap device has been chosen yet...
KDiskDeviceManager::CreateDefault();
KDiskDeviceManager* manager = KDiskDeviceManager::Default();
PartitionScorer visitor(selectedVolume);
KDiskDevice* device;
int32 cookie = 0;
while ((device = manager->NextDevice(&cookie)) != NULL) {
if (device->IsReadOnlyMedia() || device->IsWriteOnce()
|| device->IsRemovable()) {
continue;
}
device->VisitEachDescendant(&visitor);
}
if (!visitor.fBestPartition) {
dprintf("%s: Can't find configured swap partition '%s'\n",
__func__, selectedVolume.name);
} else {
if (visitor.fBestPartition->IsMounted())
swapDeviceID = visitor.fBestPartition->VolumeID();
else {
KPath devPath, mountPoint;
visitor.fBestPartition->GetPath(&devPath);
get_mount_point(visitor.fBestPartition, &mountPoint);
const char* mountPath = mountPoint.Path();
mkdir(mountPath, S_IRWXU | S_IRWXG | S_IRWXO);
swapDeviceID = _kern_mount(mountPath, devPath.Path(),
NULL, 0, NULL, 0);
if (swapDeviceID < 0) {
dprintf("%s: Can't mount configured swap partition '%s'\n",
__func__, selectedVolume.name);
}
}
}
}
if (swapDeviceID < 0)
swapDeviceID = gBootDevice;
// We now have a swapDeviceID which is used for the swap file
KPath path;
struct fs_info info;
_kern_read_fs_info(swapDeviceID, &info);
if (swapDeviceID == gBootDevice)
path = kDefaultSwapPath;
else {
vfs_entry_ref_to_path(info.dev, info.root,
".", path.LockBuffer(), path.BufferSize());
path.UnlockBuffer();
path.Append("swap");
}
const char* swapPath = path.Path();
// Swap size limits prevent oversized swap files
if (swapAutomatic) {
off_t existingSwapSize = 0;
struct stat existingSwapStat;
if (stat(swapPath, &existingSwapStat) == 0)
existingSwapSize = existingSwapStat.st_size;
off_t freeSpace = info.free_blocks * info.block_size + existingSwapSize;
// Adjust automatic swap to a maximum of 25% of the free space
if (swapSize > (freeSpace / 4))
swapSize = (freeSpace / 4);
}
// Create swap file
int fd = open(swapPath, O_RDWR | O_CREAT | O_NOCACHE, S_IRUSR | S_IWUSR);
if (fd < 0) {
dprintf("Can't open/create /var/swap: %s\n", strerror(errno));
dprintf("%s: Can't open/create %s: %s\n", __func__,
swapPath, strerror(errno));
return;
}
struct stat stat;
stat.st_size = size;
stat.st_size = swapSize;
status_t error = _kern_write_stat(fd, NULL, false, &stat,
sizeof(struct stat), B_STAT_SIZE | B_STAT_SIZE_INSECURE);
if (error != B_OK) {
dprintf("Failed to resize /var/swap to %lld bytes: %s\n", size,
strerror(error));
dprintf("%s: Failed to resize %s to %lld bytes: %s\n", __func__,
swapPath, swapSize, strerror(error));
}
close(fd);
error = swap_file_add("/var/swap");
if (error != B_OK)
dprintf("Failed to add swap file /var/swap: %s\n", strerror(error));
error = swap_file_add(swapPath);
if (error != B_OK) {
dprintf("%s: Failed to add swap file %s: %s\n", __func__, swapPath,
strerror(error));
}
}
@ -1419,16 +1639,19 @@ swap_total_swap_pages()
uint32 totalSwapSlots = 0;
for (SwapFileList::Iterator it = sSwapFileList.GetIterator();
swap_file* swapFile = it.Next();)
swap_file* swapFile = it.Next();) {
totalSwapSlots += swapFile->last_slot - swapFile->first_slot;
}
mutex_unlock(&sSwapFileListLock);
return totalSwapSlots;
}
#endif // ENABLE_SWAP_SUPPORT
void
swap_get_info(struct system_memory_info* info)
{

View File

@ -1,5 +1,5 @@
/*
* Copyright 2008, Axel Dörfler, axeld@pinc-software.de.
* Copyright 2008-2012, Axel Dörfler, axeld@pinc-software.de.
* Distributed under the terms of the MIT License.
*/
@ -400,6 +400,45 @@ test_abort_sub_transaction()
cache_end_transaction(gCache, id, NULL, NULL);
cache_sync_transaction(gCache, id);
start_test("Abort sub with empty block");
id = cache_start_transaction(gCache);
gBlocks[1].present = true;
gBlocks[1].read = true;
block = block_cache_get_writable(gCache, 1, id);
or_block(block, BLOCK_CHANGED_IN_PREVIOUS);
gBlocks[1].original = gBlocks[1].current;
gBlocks[1].current |= BLOCK_CHANGED_IN_PREVIOUS;
block_cache_put(gCache, 1);
gBlocks[1].is_dirty = true;
TEST_BLOCKS(1, 1);
cache_start_sub_transaction(gCache, id);
gBlocks[0].present = true;
block = block_cache_get_empty(gCache, 0, id);
or_block(block, BLOCK_CHANGED_IN_SUB);
gBlocks[0].current = BLOCK_CHANGED_IN_SUB;
block_cache_put(gCache, 0);
cache_abort_sub_transaction(gCache, id);
gBlocks[0].write = false;
gBlocks[0].is_dirty = false;
gBlocks[0].parent = 0;
gBlocks[0].original = 0;
TEST_BLOCKS(0, 1);
gBlocks[1].write = true;
gBlocks[1].is_dirty = false;
cache_end_transaction(gCache, id, NULL, NULL);
cache_sync_transaction(gCache, id);
}