Merge pull request #24838 from matthewbauer/ibtool
pinentry_mac: use xcbuild
This commit is contained in:
commit
f21a6940da
21
pkgs/development/libraries/NSPlist/default.nix
Normal file
21
pkgs/development/libraries/NSPlist/default.nix
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, cmake }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "NSPlist-713decf";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "matthewbauer";
|
||||||
|
repo = "NSPlist";
|
||||||
|
rev = "713decf06c1ef6c39a707bc99eb45ac9925f2b8a";
|
||||||
|
sha256 = "0v4yfiwfd08hmh2ydgy6pnmlzjbd96k78dsla9pfd56ka89aw74r";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ cmake ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
maintainers = with maintainers; [ matthewbauer ];
|
||||||
|
description = "Parses .plist files";
|
||||||
|
license = licenses.mit;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
22
pkgs/development/libraries/PlistCpp/default.nix
Normal file
22
pkgs/development/libraries/PlistCpp/default.nix
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, cmake, boost, NSPlist, pugixml }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "PlistCpp-11615d";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "matthewbauer";
|
||||||
|
repo = "PlistCpp";
|
||||||
|
rev = "11615deab3369356a182dabbf5bae30574967264";
|
||||||
|
sha256 = "10jn6bvm9vn6492zix2pd724v5h4lccmkqg3lxfw8r0qg3av0yzv";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ cmake boost NSPlist pugixml ];
|
||||||
|
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
maintainers = with maintainers; [ matthewbauer ];
|
||||||
|
description = "CPP bindings for Plist";
|
||||||
|
license = licenses.mit;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
@ -18,9 +18,6 @@ stdenv.mkDerivation rec {
|
|||||||
sed -ire '/PUGIXML_HAS_LONG_LONG/ s/^\/\///' src/pugiconfig.hpp
|
sed -ire '/PUGIXML_HAS_LONG_LONG/ s/^\/\///' src/pugiconfig.hpp
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = []
|
|
||||||
++ stdenv.lib.optionals stdenv.isDarwin [ ./no-long-long.patch ];
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Light-weight, simple and fast XML parser for C++ with XPath support";
|
description = "Light-weight, simple and fast XML parser for C++ with XPath support";
|
||||||
homepage = http://pugixml.org/;
|
homepage = http://pugixml.org/;
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
Get rid of long-long feature. This breaks on AppleClang compilers.
|
|
||||||
---
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 40a7ab0..c84f0f7 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -26,9 +26,9 @@ else()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Enable C++11 long long for compilers that are capable of it
|
|
||||||
-if(NOT ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} STRLESS 3.1)
|
|
||||||
- target_compile_features(pugixml PUBLIC cxx_long_long_type)
|
|
||||||
-endif()
|
|
||||||
+# if(NOT ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} STRLESS 3.1)
|
|
||||||
+# target_compile_features(pugixml PUBLIC cxx_long_long_type)
|
|
||||||
+# endif()
|
|
||||||
|
|
||||||
set_target_properties(pugixml PROPERTIES VERSION 1.7 SOVERSION 1)
|
|
||||||
|
|
@ -101,6 +101,54 @@ let
|
|||||||
Name = "$(EXECUTABLE_NAME)";
|
Name = "$(EXECUTABLE_NAME)";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
Identifier = "com.apple.package-type.wrapper";
|
||||||
|
Type = "PackageType";
|
||||||
|
Name = "Wrapper";
|
||||||
|
DefaultBuildSettings = {
|
||||||
|
WRAPPER_SUFFIX = ".bundle";
|
||||||
|
WRAPPER_NAME = "$(WRAPPER_PREFIX)$(PRODUCT_NAME)$(WRAPPER_SUFFIX)";
|
||||||
|
CONTENTS_FOLDER_PATH = "$(WRAPPER_NAME)/Contents";
|
||||||
|
EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_VARIANT_SUFFIX)$(EXECUTABLE_SUFFIX)";
|
||||||
|
EXECUTABLE_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/MacOS";
|
||||||
|
EXECUTABLE_PATH = "$(EXECUTABLE_FOLDER_PATH)/$(EXECUTABLE_NAME)";
|
||||||
|
INFOPLIST_PATH = "$(CONTENTS_FOLDER_PATH)/Info.plist";
|
||||||
|
INFOSTRINGS_PATH = "$(LOCALIZED_RESOURCES_FOLDER_PATH)/InfoPlist.strings";
|
||||||
|
PKGINFO_PATH = "$(CONTENTS_FOLDER_PATH)/PkgInfo";
|
||||||
|
PBDEVELOPMENTPLIST_PATH = "$(CONTENTS_FOLDER_PATH)/pbdevelopment.plist";
|
||||||
|
VERSIONPLIST_PATH = "$(CONTENTS_FOLDER_PATH)/version.plist";
|
||||||
|
PUBLIC_HEADERS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Headers";
|
||||||
|
PRIVATE_HEADERS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/PrivateHeaders";
|
||||||
|
EXECUTABLES_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Executables";
|
||||||
|
FRAMEWORKS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Frameworks";
|
||||||
|
SHARED_FRAMEWORKS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/SharedFrameworks";
|
||||||
|
SHARED_SUPPORT_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/SharedSupport";
|
||||||
|
UNLOCALIZED_RESOURCES_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Resources";
|
||||||
|
LOCALIZED_RESOURCES_FOLDER_PATH = "$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/$(DEVELOPMENT_LANGUAGE).lproj";
|
||||||
|
DOCUMENTATION_FOLDER_PATH = "$(LOCALIZED_RESOURCES_FOLDER_PATH)/Documentation";
|
||||||
|
PLUGINS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/PlugIns";
|
||||||
|
SCRIPTS_FOLDER_PATH = "$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/Scripts";
|
||||||
|
};
|
||||||
|
ProductReference = {
|
||||||
|
FileType = "wrapper.cfbundle";
|
||||||
|
Name = "$(WRAPPER_NAME)";
|
||||||
|
IsLaunchable = "NO";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
Identifier = "com.apple.package-type.wrapper.application";
|
||||||
|
Type = "PackageType";
|
||||||
|
BasedOn = "com.apple.package-type.wrapper";
|
||||||
|
Name = "Application Wrapper";
|
||||||
|
DefaultBuildSettings = {
|
||||||
|
GENERATE_PKGINFO_FILE = "YES";
|
||||||
|
};
|
||||||
|
ProductReference = {
|
||||||
|
FileType = "wrapper.application";
|
||||||
|
Name = "$(WRAPPER_NAME)";
|
||||||
|
IsLaunchable = "YES";
|
||||||
|
};
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
# Based off of the MacOSX Product Types.xcpsec file. All
|
# Based off of the MacOSX Product Types.xcpsec file. All
|
||||||
@ -125,6 +173,39 @@ let
|
|||||||
Name = "Dynamic Library";
|
Name = "Dynamic Library";
|
||||||
PackageTypes = [ "com.apple.package-type.mach-o-dylib" ];
|
PackageTypes = [ "com.apple.package-type.mach-o-dylib" ];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
Type = "ProductType";
|
||||||
|
Identifier = "com.apple.product-type.bundle";
|
||||||
|
Name = "Bundle";
|
||||||
|
DefaultBuildProperties = {
|
||||||
|
FULL_PRODUCT_NAME = "$(WRAPPER_NAME)";
|
||||||
|
MACH_O_TYPE = "mh_bundle";
|
||||||
|
WRAPPER_PREFIX = "";
|
||||||
|
WRAPPER_SUFFIX = ".$(WRAPPER_EXTENSION)";
|
||||||
|
WRAPPER_EXTENSION = "bundle";
|
||||||
|
WRAPPER_NAME = "$(WRAPPER_PREFIX)$(PRODUCT_NAME)$(WRAPPER_SUFFIX)";
|
||||||
|
FRAMEWORK_FLAG_PREFIX = "-framework";
|
||||||
|
LIBRARY_FLAG_PREFIX = "-l";
|
||||||
|
LIBRARY_FLAG_NOSPACE = "YES";
|
||||||
|
STRIP_STYLE = "non-global";
|
||||||
|
};
|
||||||
|
PackageTypes = [ "com.apple.package-type.wrapper" ];
|
||||||
|
IsWrapper = "YES";
|
||||||
|
HasInfoPlist = "YES";
|
||||||
|
HasInfoPlistStrings = "YES";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
Identifier = "com.apple.product-type.application";
|
||||||
|
Type = "ProductType";
|
||||||
|
BasedOn = "com.apple.product-type.bundle";
|
||||||
|
Name = "Application";
|
||||||
|
DefaultBuildProperties = {
|
||||||
|
MACH_O_TYPE = "mh_execute";
|
||||||
|
WRAPPER_SUFFIX = ".$(WRAPPER_EXTENSION)";
|
||||||
|
WRAPPER_EXTENSION = "app";
|
||||||
|
};
|
||||||
|
PackageTypes = [ "com.apple.package-type.wrapper.application" ];
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
in
|
in
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{stdenv, writeText, toolchainName, xcbuild, fetchurl
|
{stdenv, writeText, toolchainName, xcbuild, fetchurl
|
||||||
, llvm, cctools, gcc, bootstrap_cmds, binutils
|
, llvm, cctools, gcc, bootstrap_cmds, binutils
|
||||||
, yacc, flex, m4, unifdef, gperf, indent, ctags, makeWrapper}:
|
, yacc, flex, m4, unifdef, gperf, indent, ctags, makeWrapper
|
||||||
|
, xib2nib}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
@ -89,6 +90,8 @@ stdenv.mkDerivation {
|
|||||||
ln -s ${cctools}/bin/pagestuff
|
ln -s ${cctools}/bin/pagestuff
|
||||||
ln -s ${cctools}/bin/ranlib
|
ln -s ${cctools}/bin/ranlib
|
||||||
ln -s ${cctools}/bin/redo_prebinding
|
ln -s ${cctools}/bin/redo_prebinding
|
||||||
|
|
||||||
|
ln -s ${xib2nib}/bin/ibtool
|
||||||
'' +
|
'' +
|
||||||
# No point including the entire gcc closure if we don't already have it
|
# No point including the entire gcc closure if we don't already have it
|
||||||
(if stdenv.cc.isClang then ''
|
(if stdenv.cc.isClang then ''
|
||||||
|
22
pkgs/development/tools/xib2nib/default.nix
Normal file
22
pkgs/development/tools/xib2nib/default.nix
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{ stdenv, callPackage, fetchFromGitHub, pugixml, boost, PlistCpp }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "xib2nib-730e177";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "matthewbauer";
|
||||||
|
repo = "xib2nib";
|
||||||
|
rev = "97c6a53aab83d919805efcae33cf80690e953d1e";
|
||||||
|
sha256 = "08442f4xg7racknj35nr56a4c62gvdgdw55pssbkn2qq0rfzziqq";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ PlistCpp pugixml boost ];
|
||||||
|
makeFlags = [ "PREFIX=$(out)" ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
maintainers = with maintainers; [ matthewbauer ];
|
||||||
|
description = "Compiles CocoaTouch .xib files into .nib";
|
||||||
|
license = licenses.mit;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
@ -1,29 +0,0 @@
|
|||||||
{ stdenv }:
|
|
||||||
|
|
||||||
assert stdenv.isDarwin;
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "install_name_tool";
|
|
||||||
src = "/usr/bin/install_name_tool";
|
|
||||||
|
|
||||||
unpackPhase = "true";
|
|
||||||
dontBuild = true;
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p "$out"/bin
|
|
||||||
ln -s "$src" "$out"/bin
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Change dynamic shared library install names";
|
|
||||||
homepage = https://developer.apple.com/library/mac/documentation/Darwin/Reference/Manpages/man1/install_name_tool.1.html;
|
|
||||||
maintainers = with maintainers; [ lovek323 ];
|
|
||||||
platforms = platforms.darwin;
|
|
||||||
|
|
||||||
longDescription = ''
|
|
||||||
Install_name_tool changes the dynamic shared library install names and or
|
|
||||||
adds, changes or deletes the rpaths recorded in a Mach-O binary.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,20 +1,22 @@
|
|||||||
{ fetchurl, stdenv }:
|
{ fetchurl, stdenv, fetchFromGitHub, xcbuild, libiconv, Cocoa, ncurses }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "pinentry-mac-0.9.4";
|
name = "pinentry-mac-0.9.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "https://github.com/GPGTools/pinentry-mac/archive/v0.9.4.tar.gz";
|
owner = "matthewbauer";
|
||||||
sha256 = "037ebb010377d3a3879ae2a832cefc4513f5c397d7d887d7b86b4e5d9a628271";
|
repo = "pinentry-mac";
|
||||||
|
rev = "d60aa902644a1f0126ec50e79937423a3a7c3bc4";
|
||||||
|
sha256 = "0xp4rdyj0mw6gg1z1wraggb1qlkjb5845mibrz3nj0l692da52nq";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
buildInputs = [ xcbuild libiconv Cocoa ncurses ];
|
||||||
substituteInPlace ./Makefile --replace "xcodebuild" "/usr/bin/xcodebuild"
|
|
||||||
'';
|
dontUseXcbuild = true;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/Applications
|
mkdir -p $out/Applications
|
||||||
mv build/Release/pinentry-mac.app $out/Applications
|
mv pinentry-mac-*/Build/Products/Release/pinentry-mac.app $out/Applications
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
@ -555,8 +555,6 @@ with pkgs;
|
|||||||
|
|
||||||
reattach-to-user-namespace = callPackage ../os-specific/darwin/reattach-to-user-namespace {};
|
reattach-to-user-namespace = callPackage ../os-specific/darwin/reattach-to-user-namespace {};
|
||||||
|
|
||||||
install_name_tool = callPackage ../os-specific/darwin/install_name_tool { };
|
|
||||||
|
|
||||||
xcodeenv = callPackage ../development/mobile/xcodeenv { };
|
xcodeenv = callPackage ../development/mobile/xcodeenv { };
|
||||||
|
|
||||||
titaniumenv = callPackage ../development/mobile/titaniumenv {
|
titaniumenv = callPackage ../development/mobile/titaniumenv {
|
||||||
@ -3492,7 +3490,9 @@ with pkgs;
|
|||||||
libcap = if stdenv.isDarwin then null else libcap;
|
libcap = if stdenv.isDarwin then null else libcap;
|
||||||
};
|
};
|
||||||
|
|
||||||
pinentry_mac = callPackage ../tools/security/pinentry-mac { };
|
pinentry_mac = callPackage ../tools/security/pinentry-mac {
|
||||||
|
inherit (darwin.apple_sdk.frameworks) Cocoa;
|
||||||
|
};
|
||||||
|
|
||||||
pingtcp = callPackage ../tools/networking/pingtcp { };
|
pingtcp = callPackage ../tools/networking/pingtcp { };
|
||||||
|
|
||||||
@ -18482,4 +18482,11 @@ with pkgs;
|
|||||||
ghc-standalone-archive = callPackage ../os-specific/darwin/ghc-standalone-archive { inherit (darwin) cctools; };
|
ghc-standalone-archive = callPackage ../os-specific/darwin/ghc-standalone-archive { inherit (darwin) cctools; };
|
||||||
|
|
||||||
messenger-for-desktop = callPackage ../applications/networking/instant-messengers/messenger-for-desktop {};
|
messenger-for-desktop = callPackage ../applications/networking/instant-messengers/messenger-for-desktop {};
|
||||||
|
|
||||||
|
NSPlist = callPackage ../development/libraries/NSPlist {};
|
||||||
|
|
||||||
|
PlistCpp = callPackage ../development/libraries/PlistCpp {};
|
||||||
|
|
||||||
|
xib2nib = callPackage ../development/tools/xib2nib {};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -28909,8 +28909,7 @@ EOF
|
|||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with self; [ cffi ];
|
propagatedBuildInputs = with self; [ cffi ];
|
||||||
buildInputs = [ pkgs.libspotify ]
|
buildInputs = [ pkgs.libspotify ];
|
||||||
++ stdenv.lib.optional stdenv.isDarwin pkgs.install_name_tool;
|
|
||||||
|
|
||||||
# python zip complains about old timestamps
|
# python zip complains about old timestamps
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
Loading…
x
Reference in New Issue
Block a user