From 95a601d053afb69afb198dda8ef8dda76e6f4ea5 Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Wed, 13 Jun 2018 08:15:40 +0100 Subject: [PATCH] Remove mac os installers etc (#8875) --- mac/Parity Ethereum.xcodeproj/project.pbxproj | 333 ------- .../contents.xcworkspacedata | 7 - mac/Parity.pkgproj | 810 ------------------ mac/Parity/AppDelegate.swift | 223 ----- .../AppIcon.appiconset/Contents.json | 59 -- .../AppIcon.appiconset/Parity.png | Bin 52644 -> 0 bytes mac/Parity/Assets.xcassets/Contents.json | 6 - .../statusIcon.imageset/Contents.json | 23 - .../statusIcon.imageset/Parity-1.png | Bin 679 -> 0 bytes .../statusIcon.imageset/Parity-2.png | Bin 3670 -> 0 bytes .../statusIcon.imageset/Parity.png | Bin 1742 -> 0 bytes mac/Parity/Base.lproj/MainMenu.xib | 48 -- mac/Parity/GetBSDProcessList.swift | 59 -- mac/Parity/Info.plist | 36 - mac/install-licence.txt | 675 --------------- mac/install-readme.txt | 8 - mac/post-install.sh | 6 - mac/uninstall-parity.sh | 12 - scripts/gitlab-build.sh | 18 - 19 files changed, 2323 deletions(-) delete mode 100644 mac/Parity Ethereum.xcodeproj/project.pbxproj delete mode 100644 mac/Parity Ethereum.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100755 mac/Parity.pkgproj delete mode 100644 mac/Parity/AppDelegate.swift delete mode 100644 mac/Parity/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 mac/Parity/Assets.xcassets/AppIcon.appiconset/Parity.png delete mode 100644 mac/Parity/Assets.xcassets/Contents.json delete mode 100644 mac/Parity/Assets.xcassets/statusIcon.imageset/Contents.json delete mode 100644 mac/Parity/Assets.xcassets/statusIcon.imageset/Parity-1.png delete mode 100644 mac/Parity/Assets.xcassets/statusIcon.imageset/Parity-2.png delete mode 100644 mac/Parity/Assets.xcassets/statusIcon.imageset/Parity.png delete mode 100644 mac/Parity/Base.lproj/MainMenu.xib delete mode 100644 mac/Parity/GetBSDProcessList.swift delete mode 100644 mac/Parity/Info.plist delete mode 100644 mac/install-licence.txt delete mode 100644 mac/install-readme.txt delete mode 100755 mac/post-install.sh delete mode 100755 mac/uninstall-parity.sh diff --git a/mac/Parity Ethereum.xcodeproj/project.pbxproj b/mac/Parity Ethereum.xcodeproj/project.pbxproj deleted file mode 100644 index 2e41be637..000000000 --- a/mac/Parity Ethereum.xcodeproj/project.pbxproj +++ /dev/null @@ -1,333 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 0A7A475D1E3D2CDD0093D1AB /* parity in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0A7A475C1E3D2CDD0093D1AB /* parity */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - 0ACF9AC21E30FAB600D5C935 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ACF9AC11E30FAB600D5C935 /* AppDelegate.swift */; }; - 0ACF9AC41E30FAB600D5C935 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0ACF9AC31E30FAB600D5C935 /* Assets.xcassets */; }; - 0ACF9AC71E30FAB600D5C935 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0ACF9AC51E30FAB600D5C935 /* MainMenu.xib */; }; - 0AE564F11E3CE42C00BD01F7 /* GetBSDProcessList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AE564F01E3CE42C00BD01F7 /* GetBSDProcessList.swift */; }; - 0AED4DA01E3E22F800BF87C0 /* ethstore in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0AED4D9F1E3E22F800BF87C0 /* ethstore */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - 84CF92B3200E559900AD6E78 /* parity-evm in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84CF92B2200E559900AD6E78 /* parity-evm */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - 84CF92B6200E56AE00AD6E78 /* ethkey in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84CF92B5200E56AE00AD6E78 /* ethkey */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 0A7A475B1E3D2C800093D1AB /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 6; - files = ( - 84CF92B6200E56AE00AD6E78 /* ethkey in CopyFiles */, - 84CF92B3200E559900AD6E78 /* parity-evm in CopyFiles */, - 0AED4DA01E3E22F800BF87C0 /* ethstore in CopyFiles */, - 0A7A475D1E3D2CDD0093D1AB /* parity in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 0A7A475C1E3D2CDD0093D1AB /* parity */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = parity; path = ../target/release/parity; sourceTree = ""; }; - 0ACF9ABE1E30FAB600D5C935 /* Parity Ethereum.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Parity Ethereum.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 0ACF9AC11E30FAB600D5C935 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 0ACF9AC31E30FAB600D5C935 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 0ACF9AC61E30FAB600D5C935 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; - 0ACF9AC81E30FAB600D5C935 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 0AE564F01E3CE42C00BD01F7 /* GetBSDProcessList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GetBSDProcessList.swift; sourceTree = ""; }; - 0AED4D9F1E3E22F800BF87C0 /* ethstore */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = ethstore; path = ../target/release/ethstore; sourceTree = ""; }; - 84CF92B2200E559900AD6E78 /* parity-evm */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = "parity-evm"; path = "../target/release/parity-evm"; sourceTree = ""; }; - 84CF92B5200E56AE00AD6E78 /* ethkey */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = ethkey; path = ../target/release/ethkey; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 0ACF9ABB1E30FAB600D5C935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 0ACF9AB51E30FAB600D5C935 = { - isa = PBXGroup; - children = ( - 84CF92B5200E56AE00AD6E78 /* ethkey */, - 84CF92B2200E559900AD6E78 /* parity-evm */, - 0AED4D9F1E3E22F800BF87C0 /* ethstore */, - 0A7A475C1E3D2CDD0093D1AB /* parity */, - 0ACF9AC01E30FAB600D5C935 /* Parity Ethereum */, - 0ACF9ABF1E30FAB600D5C935 /* Products */, - ); - sourceTree = ""; - }; - 0ACF9ABF1E30FAB600D5C935 /* Products */ = { - isa = PBXGroup; - children = ( - 0ACF9ABE1E30FAB600D5C935 /* Parity Ethereum.app */, - ); - name = Products; - sourceTree = ""; - }; - 0ACF9AC01E30FAB600D5C935 /* Parity Ethereum */ = { - isa = PBXGroup; - children = ( - 0ACF9AC11E30FAB600D5C935 /* AppDelegate.swift */, - 0ACF9AC31E30FAB600D5C935 /* Assets.xcassets */, - 0ACF9AC51E30FAB600D5C935 /* MainMenu.xib */, - 0ACF9AC81E30FAB600D5C935 /* Info.plist */, - 0AE564F01E3CE42C00BD01F7 /* GetBSDProcessList.swift */, - ); - name = "Parity Ethereum"; - path = Parity; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 0ACF9ABD1E30FAB600D5C935 /* Parity Ethereum */ = { - isa = PBXNativeTarget; - buildConfigurationList = 0ACF9ACB1E30FAB600D5C935 /* Build configuration list for PBXNativeTarget "Parity Ethereum" */; - buildPhases = ( - 0ACF9ABA1E30FAB600D5C935 /* Sources */, - 0ACF9ABB1E30FAB600D5C935 /* Frameworks */, - 0ACF9ABC1E30FAB600D5C935 /* Resources */, - 0A7A475B1E3D2C800093D1AB /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Parity Ethereum"; - productName = Parity; - productReference = 0ACF9ABE1E30FAB600D5C935 /* Parity Ethereum.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 0ACF9AB61E30FAB600D5C935 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0800; - LastUpgradeCheck = 0820; - ORGANIZATIONNAME = "Parity Technologies"; - TargetAttributes = { - 0ACF9ABD1E30FAB600D5C935 = { - CreatedOnToolsVersion = 8.0; - DevelopmentTeam = P2PX3JU8FT; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = 0ACF9AB91E30FAB600D5C935 /* Build configuration list for PBXProject "Parity Ethereum" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 0ACF9AB51E30FAB600D5C935; - productRefGroup = 0ACF9ABF1E30FAB600D5C935 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 0ACF9ABD1E30FAB600D5C935 /* Parity Ethereum */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 0ACF9ABC1E30FAB600D5C935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0ACF9AC41E30FAB600D5C935 /* Assets.xcassets in Resources */, - 0ACF9AC71E30FAB600D5C935 /* MainMenu.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 0ACF9ABA1E30FAB600D5C935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0AE564F11E3CE42C00BD01F7 /* GetBSDProcessList.swift in Sources */, - 0ACF9AC21E30FAB600D5C935 /* AppDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 0ACF9AC51E30FAB600D5C935 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 0ACF9AC61E30FAB600D5C935 /* Base */, - ); - name = MainMenu.xib; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 0ACF9AC91E30FAB600D5C935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 0ACF9ACA1E30FAB600D5C935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - }; - name = Release; - }; - 0ACF9ACC1E30FAB600D5C935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = "Mac Developer"; - COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = P2PX3JU8FT; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - INFOPLIST_FILE = Parity/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = io.parity.ethereum; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; - }; - name = Debug; - }; - 0ACF9ACD1E30FAB600D5C935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = "Developer ID Application"; - COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = P2PX3JU8FT; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - INFOPLIST_FILE = Parity/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = io.parity.ethereum; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 0ACF9AB91E30FAB600D5C935 /* Build configuration list for PBXProject "Parity Ethereum" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0ACF9AC91E30FAB600D5C935 /* Debug */, - 0ACF9ACA1E30FAB600D5C935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 0ACF9ACB1E30FAB600D5C935 /* Build configuration list for PBXNativeTarget "Parity Ethereum" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0ACF9ACC1E30FAB600D5C935 /* Debug */, - 0ACF9ACD1E30FAB600D5C935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 0ACF9AB61E30FAB600D5C935 /* Project object */; -} diff --git a/mac/Parity Ethereum.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/mac/Parity Ethereum.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 8297038e3..000000000 --- a/mac/Parity Ethereum.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/mac/Parity.pkgproj b/mac/Parity.pkgproj deleted file mode 100755 index 36b8921ee..000000000 --- a/mac/Parity.pkgproj +++ /dev/null @@ -1,810 +0,0 @@ - - - - - PACKAGES - - - PACKAGE_FILES - - DEFAULT_INSTALL_LOCATION - / - HIERARCHY - - CHILDREN - - - CHILDREN - - - CHILDREN - - GID - 80 - PATH - build/release/Parity Ethereum.app - PATH_TYPE - 3 - PERMISSIONS - 493 - TYPE - 3 - UID - 0 - - - GID - 80 - PATH - Applications - PATH_TYPE - 0 - PERMISSIONS - 509 - TYPE - 1 - UID - 0 - - - CHILDREN - - - CHILDREN - - GID - 80 - PATH - Application Support - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Automator - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Documentation - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Extensions - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Filesystems - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Frameworks - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Input Methods - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Internet Plug-Ins - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - LaunchAgents - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - LaunchDaemons - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - PreferencePanes - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Preferences - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 80 - PATH - Printers - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - PrivilegedHelperTools - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - QuickLook - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - QuickTime - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Screen Savers - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Scripts - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Services - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Widgets - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - GID - 0 - PATH - Library - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - - CHILDREN - - GID - 0 - PATH - Shared - PATH_TYPE - 0 - PERMISSIONS - 1023 - TYPE - 1 - UID - 0 - - - GID - 80 - PATH - Users - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - GID - 0 - PATH - / - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - PAYLOAD_TYPE - 0 - SPLIT_FORKS - - VERSION - 4 - - PACKAGE_SCRIPTS - - POSTINSTALL_PATH - - PATH - post-install.sh - PATH_TYPE - 3 - - RESOURCES - - - PACKAGE_SETTINGS - - AUTHENTICATION - - CONCLUSION_ACTION - 0 - IDENTIFIER - io.parity.ethereum - NAME - Parity - OVERWRITE_PERMISSIONS - - VERSION - 1.12.0 - - UUID - 2DCD5B81-7BAF-4DA1-9251-6274B089FD36 - - - PROJECT - - PROJECT_COMMENTS - - NOTES - - PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1M - IDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQv - c3RyaWN0LmR0ZCI+CjxodG1sPgo8aGVhZD4KPG1ldGEgaHR0cC1l - cXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7 - IGNoYXJzZXQ9VVRGLTgiPgo8bWV0YSBodHRwLWVxdWl2PSJDb250 - ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIj4KPHRp - dGxlPjwvdGl0bGU+CjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29u - dGVudD0iQ29jb2EgSFRNTCBXcml0ZXIiPgo8bWV0YSBuYW1lPSJD - b2NvYVZlcnNpb24iIGNvbnRlbnQ9IjE0MDQuNDciPgo8c3R5bGUg - dHlwZT0idGV4dC9jc3MiPgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5 - Pgo8L2JvZHk+CjwvaHRtbD4K - - - PROJECT_PRESENTATION - - INSTALLATION_STEPS - - - ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS - ICPresentationViewIntroductionController - INSTALLER_PLUGIN - Introduction - LIST_TITLE_KEY - InstallerSectionTitle - - - ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS - ICPresentationViewReadMeController - INSTALLER_PLUGIN - ReadMe - LIST_TITLE_KEY - InstallerSectionTitle - - - ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS - ICPresentationViewLicenseController - INSTALLER_PLUGIN - License - LIST_TITLE_KEY - InstallerSectionTitle - - - ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS - ICPresentationViewDestinationSelectController - INSTALLER_PLUGIN - TargetSelect - LIST_TITLE_KEY - InstallerSectionTitle - - - ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS - ICPresentationViewInstallationTypeController - INSTALLER_PLUGIN - PackageSelection - LIST_TITLE_KEY - InstallerSectionTitle - - - ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS - ICPresentationViewInstallationController - INSTALLER_PLUGIN - Install - LIST_TITLE_KEY - InstallerSectionTitle - - - ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS - ICPresentationViewSummaryController - INSTALLER_PLUGIN - Summary - LIST_TITLE_KEY - InstallerSectionTitle - - - INTRODUCTION - - LOCALIZATIONS - - - LICENSE - - KEYWORDS - - LOCALIZATIONS - - - LANGUAGE - English - VALUE - - PATH - install-licence.txt - PATH_TYPE - 3 - - - - MODE - 0 - - README - - LOCALIZATIONS - - - LANGUAGE - English - VALUE - - PATH - install-readme.txt - PATH_TYPE - 3 - - - - - TITLE - - LOCALIZATIONS - - - LANGUAGE - English - VALUE - Parity - - - - - PROJECT_REQUIREMENTS - - LIST - - POSTINSTALL_PATH - - PREINSTALL_PATH - - RESOURCES - - ROOT_VOLUME_ONLY - - - PROJECT_SETTINGS - - ADVANCED_OPTIONS - - BUILD_FORMAT - 0 - BUILD_PATH - - PATH - ../target/release - PATH_TYPE - 1 - - EXCLUDED_FILES - - - PATTERNS_ARRAY - - - REGULAR_EXPRESSION - - STRING - .DS_Store - TYPE - 0 - - - PROTECTED - - PROXY_NAME - Remove .DS_Store files - PROXY_TOOLTIP - Remove ".DS_Store" files created by the Finder. - STATE - - - - PATTERNS_ARRAY - - - REGULAR_EXPRESSION - - STRING - .pbdevelopment - TYPE - 0 - - - PROTECTED - - PROXY_NAME - Remove .pbdevelopment files - PROXY_TOOLTIP - Remove ".pbdevelopment" files created by ProjectBuilder or Xcode. - STATE - - - - PATTERNS_ARRAY - - - REGULAR_EXPRESSION - - STRING - CVS - TYPE - 1 - - - REGULAR_EXPRESSION - - STRING - .cvsignore - TYPE - 0 - - - REGULAR_EXPRESSION - - STRING - .cvspass - TYPE - 0 - - - REGULAR_EXPRESSION - - STRING - .svn - TYPE - 1 - - - REGULAR_EXPRESSION - - STRING - .git - TYPE - 1 - - - REGULAR_EXPRESSION - - STRING - .gitignore - TYPE - 0 - - - PROTECTED - - PROXY_NAME - Remove SCM metadata - PROXY_TOOLTIP - Remove helper files and folders used by the CVS, SVN or Git Source Code Management systems. - STATE - - - - PATTERNS_ARRAY - - - REGULAR_EXPRESSION - - STRING - classes.nib - TYPE - 0 - - - REGULAR_EXPRESSION - - STRING - designable.db - TYPE - 0 - - - REGULAR_EXPRESSION - - STRING - info.nib - TYPE - 0 - - - PROTECTED - - PROXY_NAME - Optimize nib files - PROXY_TOOLTIP - Remove "classes.nib", "info.nib" and "designable.nib" files within .nib bundles. - STATE - - - - PATTERNS_ARRAY - - - REGULAR_EXPRESSION - - STRING - Resources Disabled - TYPE - 1 - - - PROTECTED - - PROXY_NAME - Remove Resources Disabled folders - PROXY_TOOLTIP - Remove "Resources Disabled" folders. - STATE - - - - SEPARATOR - - - - NAME - Parity Ethereum - - - TYPE - 0 - VERSION - 2 - - diff --git a/mac/Parity/AppDelegate.swift b/mac/Parity/AppDelegate.swift deleted file mode 100644 index d65c1d601..000000000 --- a/mac/Parity/AppDelegate.swift +++ /dev/null @@ -1,223 +0,0 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. - -// Parity is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// Parity is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with Parity. If not, see . - -import Cocoa - -@NSApplicationMain -@available(macOS, deprecated: 10.11) - -class AppDelegate: NSObject, NSApplicationDelegate { - @IBOutlet weak var statusMenu: NSMenu! - @IBOutlet weak var startAtLogonMenuItem: NSMenuItem! - - let statusItem = NSStatusBar.system().statusItem(withLength: NSVariableStatusItemLength) - var parityPid: Int32? = nil - var commandLine: [String] = [] - let defaultDefaults = "{\"fat_db\":false,\"mode\":\"passive\",\"mode.alarm\":3600,\"mode.timeout\":300,\"pruning\":\"fast\",\"tracing\":false}" - - func menuAppPath() -> String { - return Bundle.main.executablePath! - } - - func parityPath() -> String { - return Bundle.main.bundlePath + "/Contents/MacOS/parity" - } - - func isAlreadyRunning() -> Bool { - return NSRunningApplication.runningApplications(withBundleIdentifier: Bundle.main.bundleIdentifier!).count > 1 - - } - - func isParityRunning() -> Bool { - if let pid = self.parityPid { - return kill(pid, 0) == 0 - } - return false - } - - func killParity() { - if let pid = self.parityPid { - kill(pid, SIGKILL) - } - } - - func openUI() { - let parity = Process() - parity.launchPath = self.parityPath() - parity.arguments = self.commandLine - parity.arguments!.append("ui") - parity.launch() - } - - func writeConfigFiles() { - let basePath = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask).first? - .appendingPathComponent(Bundle.main.bundleIdentifier!, isDirectory: true) - - if FileManager.default.fileExists(atPath: basePath!.path) { - return - } - - do { - let defaultsFileDir = basePath?.appendingPathComponent("chains").appendingPathComponent("ethereum") - let defaultsFile = defaultsFileDir?.appendingPathComponent("user_defaults") - - try FileManager.default.createDirectory(atPath: (defaultsFileDir?.path)!, withIntermediateDirectories: true, attributes: nil) - if !FileManager.default.fileExists(atPath: defaultsFile!.path) { - try defaultDefaults.write(to: defaultsFile!, atomically: false, encoding: String.Encoding.utf8) - } - - let configFile = basePath?.appendingPathComponent("config.toml") - } - catch {} - } - - func autostartEnabled() -> Bool { - return itemReferencesInLoginItems().existingReference != nil - } - - func itemReferencesInLoginItems() -> (existingReference: LSSharedFileListItem?, lastReference: LSSharedFileListItem?) { - let itemUrl: UnsafeMutablePointer?> = UnsafeMutablePointer?>.allocate(capacity: 1) - if let appUrl: NSURL = NSURL.fileURL(withPath: Bundle.main.bundlePath) as NSURL? { - let loginItemsRef = LSSharedFileListCreate( - nil, - kLSSharedFileListSessionLoginItems.takeRetainedValue(), - nil - ).takeRetainedValue() as LSSharedFileList? - if loginItemsRef != nil { - let loginItems: NSArray = LSSharedFileListCopySnapshot(loginItemsRef, nil).takeRetainedValue() as NSArray - if(loginItems.count > 0) - { - let lastItemRef: LSSharedFileListItem = loginItems.lastObject as! LSSharedFileListItem - for i in 0 ..< loginItems.count { - let currentItemRef: LSSharedFileListItem = loginItems.object(at: i) as! LSSharedFileListItem - if LSSharedFileListItemResolve(currentItemRef, 0, itemUrl, nil) == noErr { - if let urlRef: NSURL = itemUrl.pointee?.takeRetainedValue() { - if urlRef.isEqual(appUrl) { - return (currentItemRef, lastItemRef) - } - } - } - } - //The application was not found in the startup list - return (nil, lastItemRef) - } - else - { - let addAtStart: LSSharedFileListItem = kLSSharedFileListItemBeforeFirst.takeRetainedValue() - return(nil, addAtStart) - } - } - } - return (nil, nil) - } - - func toggleLaunchAtStartup() { - let itemReferences = itemReferencesInLoginItems() - let shouldBeToggled = (itemReferences.existingReference == nil) - let loginItemsRef = LSSharedFileListCreate( - nil, - kLSSharedFileListSessionLoginItems.takeRetainedValue(), - nil - ).takeRetainedValue() as LSSharedFileList? - if loginItemsRef != nil { - if shouldBeToggled { - if let appUrl : CFURL = NSURL.fileURL(withPath: Bundle.main.bundlePath) as CFURL? { - LSSharedFileListInsertItemURL( - loginItemsRef, - itemReferences.lastReference, - nil, - nil, - appUrl, - nil, - nil - ) - } - } else { - if let itemRef = itemReferences.existingReference { - LSSharedFileListItemRemove(loginItemsRef,itemRef) - } - } - } - } - - func launchParity() { - self.commandLine = CommandLine.arguments.dropFirst().filter({ $0 != "ui"}) - - let processes = GetBSDProcessList()! - let parityProcess = processes.index(where: { - var name = $0.kp_proc.p_comm - let str = withUnsafePointer(to: &name) { - $0.withMemoryRebound(to: UInt8.self, capacity: MemoryLayout.size(ofValue: name)) { - String(cString: $0) - } - } - return str == "parity" - }) - - if parityProcess == nil { - let parity = Process() - let p = self.parityPath() - parity.launchPath = p//self.parityPath() - parity.arguments = self.commandLine - parity.launch() - self.parityPid = parity.processIdentifier - } else { - self.parityPid = processes[parityProcess!].kp_proc.p_pid - } - } - - func applicationDidFinishLaunching(_ aNotification: Notification) { - if self.isAlreadyRunning() { - openUI() - NSApplication.shared().terminate(self) - return - } - - self.writeConfigFiles() - self.launchParity() - Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true, block: {_ in - if !self.isParityRunning() { - NSApplication.shared().terminate(self) - } - }) - - let icon = NSImage(named: "statusIcon") - icon?.isTemplate = true // best for dark mode - statusItem.image = icon - statusItem.menu = statusMenu - } - - override func validateMenuItem(_ menuItem: NSMenuItem) -> Bool { - if menuItem == self.startAtLogonMenuItem! { - menuItem.state = self.autostartEnabled() ? NSOnState : NSOffState - } - return true - } - - @IBAction func quitClicked(_ sender: NSMenuItem) { - self.killParity() - NSApplication.shared().terminate(self) - } - - @IBAction func openClicked(_ sender: NSMenuItem) { - self.openUI() - } - - @IBAction func startAtLogonClicked(_ sender: NSMenuItem) { - self.toggleLaunchAtStartup() - } - -} diff --git a/mac/Parity/Assets.xcassets/AppIcon.appiconset/Contents.json b/mac/Parity/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 9d59e8b3a..000000000 --- a/mac/Parity/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "images" : [ - { - "idiom" : "mac", - "size" : "16x16", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "16x16", - "scale" : "2x" - }, - { - "idiom" : "mac", - "size" : "32x32", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "32x32", - "scale" : "2x" - }, - { - "idiom" : "mac", - "size" : "128x128", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "128x128", - "scale" : "2x" - }, - { - "idiom" : "mac", - "size" : "256x256", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "256x256", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "Parity.png", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "512x512", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/mac/Parity/Assets.xcassets/AppIcon.appiconset/Parity.png b/mac/Parity/Assets.xcassets/AppIcon.appiconset/Parity.png deleted file mode 100644 index a7f085dab7a3db0028b50aa965f0ddb690affcff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52644 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 Woc5(X90$rXLPJ&iTG3VOhyMpTW;J#I diff --git a/mac/Parity/Assets.xcassets/Contents.json b/mac/Parity/Assets.xcassets/Contents.json deleted file mode 100644 index da4a164c9..000000000 --- a/mac/Parity/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/mac/Parity/Assets.xcassets/statusIcon.imageset/Contents.json b/mac/Parity/Assets.xcassets/statusIcon.imageset/Contents.json deleted file mode 100644 index b709bf58b..000000000 --- a/mac/Parity/Assets.xcassets/statusIcon.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "Parity-1.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "Parity.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "Parity-2.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/mac/Parity/Assets.xcassets/statusIcon.imageset/Parity-1.png b/mac/Parity/Assets.xcassets/statusIcon.imageset/Parity-1.png deleted file mode 100644 index 75767ebd7d6fe6b52b9edc86cd76c7528a3b3ee8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 679 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 diff --git a/mac/Parity/Base.lproj/MainMenu.xib b/mac/Parity/Base.lproj/MainMenu.xib deleted file mode 100644 index 2f52c80ad..000000000 --- a/mac/Parity/Base.lproj/MainMenu.xib +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mac/Parity/GetBSDProcessList.swift b/mac/Parity/GetBSDProcessList.swift deleted file mode 100644 index 6737787be..000000000 --- a/mac/Parity/GetBSDProcessList.swift +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2015-2018 Parity Technologies (UK) Ltd. -// This file is part of Parity. - -// Parity is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// Parity is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with Parity. If not, see . - - -// Based on https://github.com/soh335/GetBSDProcessList - -import Foundation -import Darwin - -public func GetBSDProcessList() -> ([kinfo_proc]?) { - - var done = false - var result: [kinfo_proc]? - var err: Int32 - - repeat { - let name = [CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0]; - let namePointer = name.withUnsafeBufferPointer { UnsafeMutablePointer(mutating: $0.baseAddress) } - var length: Int = 0 - - err = sysctl(namePointer, u_int(name.count), nil, &length, nil, 0) - if err == -1 { - err = errno - } - - if err == 0 { - let count = length / MemoryLayout.stride - result = [kinfo_proc](repeating: kinfo_proc(), count: count) - err = result!.withUnsafeMutableBufferPointer({ ( p: inout UnsafeMutableBufferPointer) -> Int32 in - return sysctl(namePointer, u_int(name.count), p.baseAddress, &length, nil, 0) - }) - switch err { - case 0: - done = true - case -1: - err = errno - case ENOMEM: - err = 0 - default: - fatalError() - } - } - } while err == 0 && !done - - return result -} diff --git a/mac/Parity/Info.plist b/mac/Parity/Info.plist deleted file mode 100644 index e0bdc21e6..000000000 --- a/mac/Parity/Info.plist +++ /dev/null @@ -1,36 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.12 - CFBundleVersion - 1 - LSApplicationCategoryType - public.app-category.finance - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - LSUIElement - - NSHumanReadableCopyright - Copyright © 2017 Parity Technologies. All rights reserved. - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/mac/install-licence.txt b/mac/install-licence.txt deleted file mode 100644 index 733c07236..000000000 --- a/mac/install-licence.txt +++ /dev/null @@ -1,675 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - {one line to give the program's name and a brief idea of what it does.} - Copyright (C) {year} {name of author} - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - {project} Copyright (C) {year} {fullname} - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. - diff --git a/mac/install-readme.txt b/mac/install-readme.txt deleted file mode 100644 index 51f0330bb..000000000 --- a/mac/install-readme.txt +++ /dev/null @@ -1,8 +0,0 @@ -Parity Wallet -============= - -Welcome to Parity Wallet, your all-in-one Ethereum node and wallet. - -If you continue, Parity will be installed as a user service. You will be able to use the Parity Wallet through your browser by using the menu bar icon, following the shortcut in the Launchpad or navigating to http://localhost:8180/ in your browser. - -Parity is distributed under the terms of the GPL. diff --git a/mac/post-install.sh b/mac/post-install.sh deleted file mode 100755 index fc71ee1de..000000000 --- a/mac/post-install.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -# uninstall any ancient version -test -f /usr/local/libexec/uninstall-parity.sh && /usr/local/libexec/uninstall-parity.sh || true -killall -9 parity && sleep 5 -su $USER -c "open /Applications/Parity\ Ethereum.app" -exit 0 diff --git a/mac/uninstall-parity.sh b/mac/uninstall-parity.sh deleted file mode 100755 index 840dba1f6..000000000 --- a/mac/uninstall-parity.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -if [[ "$SUDO_USER" == "" ]] ; then - echo "This script requires elevated privileges." - sudo $0 - exit; -fi - -PLIST=~/Library/LaunchAgents/io.parity.ethereum.plist -su $SUDO_USER -c "launchctl stop io.parity.ethereum" -su $SUDO_USER -c "launchctl unload $PLIST" -rm -f /usr/local/libexec/parity /usr/local/libexec/uninstall-parity.sh /usr/local/bin/ethstore /usr/local/bin/ethkey /usr/local/bin/parity-evm $PLIST diff --git a/scripts/gitlab-build.sh b/scripts/gitlab-build.sh index a06c7a34b..a3ea84296 100755 --- a/scripts/gitlab-build.sh +++ b/scripts/gitlab-build.sh @@ -146,22 +146,6 @@ make_rpm () { $MD5_BIN "parity_"$VER"_"$IDENT"_"$ARC".rpm" > "parity_"$VER"_"$IDENT"_"$ARC".rpm.md5" $SHA256_BIN "parity_"$VER"_"$IDENT"_"$ARC".rpm" > "parity_"$VER"_"$IDENT"_"$ARC".rpm.sha256" } -make_pkg () { - echo "make PKG" - cp target/$PLATFORM/release/parity target/release/parity - cp target/$PLATFORM/release/parity-evm target/release/parity-evm - cp target/$PLATFORM/release/ethstore target/release/ethstore - cp target/$PLATFORM/release/ethkey target/release/ethkey - cp target/$PLATFORM/release/whisper target/release/whisper - cd mac - xcodebuild -configuration Release - cd .. - packagesbuild -v mac/Parity.pkgproj - productsign --sign 'Developer ID Installer: PARITY TECHNOLOGIES LIMITED (P2PX3JU8FT)' target/release/Parity\ Ethereum.pkg target/release/Parity\ Ethereum-signed.pkg - mv target/release/Parity\ Ethereum-signed.pkg "parity_"$VER"_"$IDENT"_"$ARC".pkg" - $MD5_BIN "parity_"$VER"_"$IDENT"_"$ARC"."$EXT >> "parity_"$VER"_"$IDENT"_"$ARC".pkg.md5" - $SHA256_BIN "parity_"$VER"_"$IDENT"_"$ARC"."$EXT >> "parity_"$VER"_"$IDENT"_"$ARC".pkg.sha256" -} sign_exe () { ./sign.cmd $keyfile $certpass "target/$PLATFORM/release/parity.exe" } @@ -291,11 +275,9 @@ case $BUILD_PLATFORM in x86_64-apple-darwin) STRIP_BIN="strip" PLATFORM="x86_64-apple-darwin" - EXT="pkg" build strip_binaries calculate_checksums - make_pkg make_archive push_binaries updater_push_release