mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-31 09:14:28 +00:00
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
|
||||
'';
|
||||
|
||||
patches = []
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [ ./no-long-long.patch ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Light-weight, simple and fast XML parser for C++ with XPath support";
|
||||
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)";
|
||||
};
|
||||
}
|
||||
{
|
||||
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
|
||||
@ -125,6 +173,39 @@ let
|
||||
Name = "Dynamic Library";
|
||||
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
|
||||
|
@ -1,6 +1,7 @@
|
||||
{stdenv, writeText, toolchainName, xcbuild, fetchurl
|
||||
, llvm, cctools, gcc, bootstrap_cmds, binutils
|
||||
, yacc, flex, m4, unifdef, gperf, indent, ctags, makeWrapper}:
|
||||
, yacc, flex, m4, unifdef, gperf, indent, ctags, makeWrapper
|
||||
, xib2nib}:
|
||||
|
||||
let
|
||||
|
||||
@ -89,6 +90,8 @@ stdenv.mkDerivation {
|
||||
ln -s ${cctools}/bin/pagestuff
|
||||
ln -s ${cctools}/bin/ranlib
|
||||
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
|
||||
(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 {
|
||||
name = "pinentry-mac-0.9.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/GPGTools/pinentry-mac/archive/v0.9.4.tar.gz";
|
||||
sha256 = "037ebb010377d3a3879ae2a832cefc4513f5c397d7d887d7b86b4e5d9a628271";
|
||||
src = fetchFromGitHub {
|
||||
owner = "matthewbauer";
|
||||
repo = "pinentry-mac";
|
||||
rev = "d60aa902644a1f0126ec50e79937423a3a7c3bc4";
|
||||
sha256 = "0xp4rdyj0mw6gg1z1wraggb1qlkjb5845mibrz3nj0l692da52nq";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./Makefile --replace "xcodebuild" "/usr/bin/xcodebuild"
|
||||
'';
|
||||
buildInputs = [ xcbuild libiconv Cocoa ncurses ];
|
||||
|
||||
dontUseXcbuild = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/Applications
|
||||
mv build/Release/pinentry-mac.app $out/Applications
|
||||
mv pinentry-mac-*/Build/Products/Release/pinentry-mac.app $out/Applications
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
@ -555,8 +555,6 @@ with pkgs;
|
||||
|
||||
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 { };
|
||||
|
||||
titaniumenv = callPackage ../development/mobile/titaniumenv {
|
||||
@ -3492,7 +3490,9 @@ with pkgs;
|
||||
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 { };
|
||||
|
||||
@ -18482,4 +18482,11 @@ with pkgs;
|
||||
ghc-standalone-archive = callPackage ../os-specific/darwin/ghc-standalone-archive { inherit (darwin) cctools; };
|
||||
|
||||
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 ];
|
||||
buildInputs = [ pkgs.libspotify ]
|
||||
++ stdenv.lib.optional stdenv.isDarwin pkgs.install_name_tool;
|
||||
buildInputs = [ pkgs.libspotify ];
|
||||
|
||||
# python zip complains about old timestamps
|
||||
preConfigure = ''
|
||||
|
Loading…
Reference in New Issue
Block a user