Fix PR pkg/48240 and bump PKGREVISION

* Use __fstat50 etc instead of fstat on NetBSD. Based on martin@'s patch
  for firefox 27.0.
  Restore session is recovered on NetBSD/amd64.
This commit is contained in:
ryoon 2013-11-07 15:47:23 +00:00
parent 7696acf269
commit 44e1daae06
4 changed files with 95 additions and 3 deletions

View file

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.143 2013/11/05 14:20:41 ryoon Exp $
# $NetBSD: Makefile,v 1.144 2013/11/07 15:47:23 ryoon Exp $
FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
MOZ_BRANCH= 25.0
@ -6,7 +6,7 @@ MOZ_BRANCH_MINOR=
DISTNAME= firefox-${FIREFOX_VER}.source
PKGNAME= firefox-${MOZ_BRANCH}${MOZ_BRANCH_MINOR:S/b/beta/:S/esr//}
PKGREVISION= 1
PKGREVISION= 2
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/}
#MASTER_SITES+= ${MASTER_SITE_MOZILLA_ALL:=firefox/releases/${FIREFOX_VER}/source/}

View file

@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.122 2013/11/05 14:40:49 ryoon Exp $
$NetBSD: distinfo,v 1.123 2013/11/07 15:47:23 ryoon Exp $
SHA1 (firefox-25.0.source.tar.bz2) = 854722e283659d2b6b2eacd38f757b3c5b63a448
RMD160 (firefox-25.0.source.tar.bz2) = f320994b6b2f2030b5a68bc28cdd6904d9ef8ce3
@ -113,6 +113,8 @@ SHA1 (patch-pc) = 8b2baa88f0983a2fef4f801cf6b1ae425f6c813a
SHA1 (patch-rc) = 2733724442a2cb49c5091146fd7e6001af686121
SHA1 (patch-security_manager_ssl_src_JARSignatureVerification.cpp) = e9749dfeb0d3fcb4637935322ffd1e0cad4f8ec3
SHA1 (patch-security_manager_ssl_src_nsNSSComponent.cpp) = c4c96b7d3cb0c5dbcfe3820fd52421eec2592452
SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__back.jsm) = 8d741f5a00c679a0e3859870a19a16bd58f9ba5d
SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__front.jsm) = b05a21e1ecad8de6cd8057d2a3ee76167293cde2
SHA1 (patch-toolkit_library_Makefile.in) = 0c91d647f0f3a4653d39f11c9d8fd63611235932
SHA1 (patch-toolkit_mozapps_update_updater_updater.cpp) = 6936e5408fc7f0110768f3fc8f27506c0e7879fa
SHA1 (patch-toolkit_toolkit.mozbuild) = 07e87d977cee59c0f5a5d14a8d41dc2a4230c01e

View file

@ -0,0 +1,75 @@
$NetBSD: patch-toolkit_components_osfile_modules_osfile__unix__back.jsm,v 1.1 2013/11/07 15:47:23 ryoon Exp $
Based on martin@'s patch for firefox 27.0
* Use off_t for st_size
* Use function name for NetBSD
--- toolkit/components/osfile/modules/osfile_unix_back.jsm.orig 2013-10-25 22:27:41.000000000 +0000
+++ toolkit/components/osfile/modules/osfile_unix_back.jsm
@@ -170,7 +170,7 @@
}
stat.add_field_at(OS.Constants.libc.OSFILE_OFFSETOF_STAT_ST_SIZE,
- "st_size", Types.size_t.implementation);
+ "st_size", Types.off_t.implementation);
Types.stat = stat.getType();
}
@@ -397,10 +397,17 @@
/*oflags*/Types.int,
/*mode*/ Types.int);
+ if (OS.Constants.Sys.Name == "NetBSD") {
+ UnixFile.opendir =
+ declareFFI("__opendir30", ctypes.default_abi,
+ /*return*/ Types.null_or_DIR_ptr,
+ /*path*/ Types.path);
+ } else {
UnixFile.opendir =
declareFFI("opendir", ctypes.default_abi,
/*return*/ Types.null_or_DIR_ptr,
/*path*/ Types.path);
+ }
UnixFile.pread =
declareFFI("pread", ctypes.default_abi,
@@ -434,6 +441,11 @@
declareFFI("readdir$INODE64", ctypes.default_abi,
/*return*/Types.null_or_dirent_ptr,
/*dir*/ Types.DIR.in_ptr); // For MacOS X
+ } else if (OS.Constants.Sys.Name == "NetBSD") {
+ UnixFile.readdir =
+ declareFFI("__readdir30", ctypes.default_abi,
+ /*return*/Types.null_or_dirent_ptr,
+ /*dir*/ Types.DIR.in_ptr);
} else {
UnixFile.readdir =
declareFFI("readdir", ctypes.default_abi,
@@ -553,6 +565,26 @@
UnixFile.fstat = function stat(fd, buf) {
return fxstat(ver, fd, buf);
};
+ } else if (OS.Constants.Sys.Name == "NetBSD") {
+ // NetBSD 5.0 and newer
+ UnixFile.stat =
+ declareFFI("__stat50", ctypes.default_abi,
+ /*return*/ Types.negativeone_or_nothing,
+ /*path*/ Types.path,
+ /*buf*/ Types.stat.out_ptr
+ );
+ UnixFile.lstat =
+ declareFFI("__lstat50", ctypes.default_abi,
+ /*return*/ Types.negativeone_or_nothing,
+ /*path*/ Types.path,
+ /*buf*/ Types.stat.out_ptr
+ );
+ UnixFile.fstat =
+ declareFFI("__fstat50", ctypes.default_abi,
+ /*return*/ Types.negativeone_or_nothing,
+ /*fd*/ Types.fd,
+ /*buf*/ Types.stat.out_ptr
+ );
} else {
// Mac OS X 32-bits, other Unix
UnixFile.stat =

View file

@ -0,0 +1,15 @@
$NetBSD: patch-toolkit_components_osfile_modules_osfile__unix__front.jsm,v 1.1 2013/11/07 15:47:23 ryoon Exp $
* Use off_t for st_size
--- toolkit/components/osfile/modules/osfile_unix_front.jsm.orig 2013-10-25 22:27:41.000000000 +0000
+++ toolkit/components/osfile/modules/osfile_unix_front.jsm
@@ -734,7 +734,7 @@
File.Info = function Info(stat) {
let isDir = (stat.st_mode & OS.Constants.libc.S_IFMT) == OS.Constants.libc.S_IFDIR;
let isSymLink = (stat.st_mode & OS.Constants.libc.S_IFMT) == OS.Constants.libc.S_IFLNK;
- let size = exports.OS.Shared.Type.size_t.importFromC(stat.st_size);
+ let size = exports.OS.Shared.Type.off_t.importFromC(stat.st_size);
let lastAccessDate = new Date(stat.st_atime * 1000);
let lastModificationDate = new Date(stat.st_mtime * 1000);