swiftPackages.Dispatch: 5.5 -> 5.7
This commit is contained in:
		
							parent
							
								
									8ed924c07a
								
							
						
					
					
						commit
						3c54a5dce6
					
				| @ -57,6 +57,10 @@ let | ||||
|       swift = swift-unwrapped; | ||||
|     }; | ||||
| 
 | ||||
|     Dispatch = if stdenv.isDarwin | ||||
|       then null # part of libsystem | ||||
|       else callPackage ./libdispatch { }; | ||||
| 
 | ||||
|   }; | ||||
| 
 | ||||
| in self | ||||
|  | ||||
							
								
								
									
										46
									
								
								pkgs/development/compilers/swift/libdispatch/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								pkgs/development/compilers/swift/libdispatch/default.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,46 @@ | ||||
| { lib | ||||
| , stdenv | ||||
| , fetchFromGitHub | ||||
| , cmake | ||||
| , ninja | ||||
| , useSwift ? true, swift | ||||
| }: | ||||
| 
 | ||||
| stdenv.mkDerivation rec { | ||||
|   pname = "swift-corelibs-libdispatch"; | ||||
| 
 | ||||
|   # Releases are made as part of the Swift toolchain, so versions should match. | ||||
|   version = "5.7"; | ||||
|   src = fetchFromGitHub { | ||||
|     owner = "apple"; | ||||
|     repo = "swift-corelibs-libdispatch"; | ||||
|     rev = "swift-${version}-RELEASE"; | ||||
|     hash = "sha256-1qbXiC1k9+T+L6liqXKg6EZXqem6KEEx8OctuL4Kb2o="; | ||||
|   }; | ||||
| 
 | ||||
|   outputs = [ "out" "dev" "man" ]; | ||||
| 
 | ||||
|   nativeBuildInputs = [ cmake ] | ||||
|     ++ lib.optionals useSwift [ ninja swift ]; | ||||
| 
 | ||||
|   patches = [ ./disable-swift-overlay.patch ]; | ||||
| 
 | ||||
|   cmakeFlags = lib.optional useSwift "-DENABLE_SWIFT=ON"; | ||||
| 
 | ||||
|   postInstall = '' | ||||
|     # Provide a CMake module. This is primarily used to glue together parts of | ||||
|     # the Swift toolchain. Modifying the CMake config to do this for us is | ||||
|     # otherwise more trouble. | ||||
|     mkdir -p $dev/lib/cmake/dispatch | ||||
|     export dylibExt="${stdenv.hostPlatform.extensions.sharedLibrary}" | ||||
|     substituteAll ${./glue.cmake} $dev/lib/cmake/dispatch/dispatchConfig.cmake | ||||
|   ''; | ||||
| 
 | ||||
|   meta = { | ||||
|     description = "Grand Central Dispatch"; | ||||
|     homepage = "https://github.com/apple/swift-corelibs-libdispatch"; | ||||
|     platforms = lib.platforms.linux; | ||||
|     license = lib.licenses.asl20; | ||||
|     maintainers = with lib.maintainers; [ cmm dtzWill trepetti dduan trundle stephank ]; | ||||
|   }; | ||||
| } | ||||
| @ -0,0 +1,35 @@ | ||||
| Enabling Swift support is normally intended for building an overlay for a | ||||
| Swift SDK, which changes the installation layout. Prevent this. | ||||
| 
 | ||||
| --- a/CMakeLists.txt
 | ||||
| +++ b/CMakeLists.txt
 | ||||
| @@ -287,7 +287,7 @@ configure_file("${PROJECT_SOURCE_DIR}/cmake/config.h.in"
 | ||||
|  add_compile_definitions($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:HAVE_CONFIG_H>) | ||||
|   | ||||
|   | ||||
| -if(ENABLE_SWIFT)
 | ||||
| +if(0)
 | ||||
|    set(INSTALL_TARGET_DIR "${CMAKE_INSTALL_LIBDIR}/swift$<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:_static>/$<LOWER_CASE:${CMAKE_SYSTEM_NAME}>" CACHE PATH "Path where the libraries will be installed") | ||||
|    set(INSTALL_DISPATCH_HEADERS_DIR "${CMAKE_INSTALL_LIBDIR}/swift$<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:_static>/dispatch" CACHE PATH "Path where the headers will be installed for libdispatch") | ||||
|    set(INSTALL_BLOCK_HEADERS_DIR "${CMAKE_INSTALL_LIBDIR}/swift$<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:_static>/Block" CACHE PATH "Path where the headers will be installed for the blocks runtime") | ||||
| --- a/man/CMakeLists.txt
 | ||||
| +++ b/man/CMakeLists.txt
 | ||||
| @@ -1,6 +1,6 @@
 | ||||
|   | ||||
|  # TODO(compnerd) add symlinks | ||||
| -if(NOT ENABLE_SWIFT)
 | ||||
| +if(1)
 | ||||
|    install(FILES | ||||
|              dispatch.3 | ||||
|              dispatch_after.3 | ||||
| --- a/src/swift/CMakeLists.txt
 | ||||
| +++ b/src/swift/CMakeLists.txt
 | ||||
| @@ -47,7 +47,7 @@ get_swift_host_arch(swift_arch)
 | ||||
|  install(FILES | ||||
|    ${CMAKE_CURRENT_BINARY_DIR}/swift/Dispatch.swiftmodule | ||||
|    ${CMAKE_CURRENT_BINARY_DIR}/swift/Dispatch.swiftdoc | ||||
| -  DESTINATION ${INSTALL_TARGET_DIR}/${swift_arch})
 | ||||
| +  DESTINATION ${INSTALL_TARGET_DIR}/swift)
 | ||||
|  set_property(GLOBAL APPEND PROPERTY DISPATCH_EXPORTS swiftDispatch) | ||||
|  install(TARGETS swiftDispatch | ||||
|    EXPORT dispatchExports | ||||
							
								
								
									
										5
									
								
								pkgs/development/compilers/swift/libdispatch/glue.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								pkgs/development/compilers/swift/libdispatch/glue.cmake
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| add_library(dispatch SHARED IMPORTED) | ||||
| set_property(TARGET dispatch PROPERTY IMPORTED_LOCATION "@out@/lib/libdispatch@dylibExt@") | ||||
| 
 | ||||
| add_library(swiftDispatch SHARED IMPORTED) | ||||
| set_property(TARGET swiftDispatch PROPERTY IMPORTED_LOCATION "@out@/lib/libswiftDispatch@dylibExt@") | ||||
| @ -1,42 +0,0 @@ | ||||
| { lib | ||||
| , clangStdenv | ||||
| , fetchFromGitHub | ||||
| , cmake | ||||
| , ninja | ||||
| , libbsd | ||||
| , libsystemtap | ||||
| }: | ||||
| 
 | ||||
| let | ||||
|   version = "5.5"; | ||||
| in clangStdenv.mkDerivation { | ||||
|   pname = "swift-corelibs-libdispatch"; | ||||
|   inherit version; | ||||
| 
 | ||||
|   outputs = [ "out" "dev" "man" ]; | ||||
| 
 | ||||
|   src = fetchFromGitHub { | ||||
|     owner = "apple"; | ||||
|     repo = "swift-corelibs-libdispatch"; | ||||
|     rev = "swift-${version}-RELEASE"; | ||||
|     sha256 = "sha256-MbLgmS6qRSRT+2dGqbYTNb5MTM4Wz/grDXFk1kup+jk="; | ||||
|   }; | ||||
| 
 | ||||
|   nativeBuildInputs = [ | ||||
|     cmake | ||||
|     ninja | ||||
|   ]; | ||||
| 
 | ||||
|   buildInputs = [ | ||||
|     libbsd | ||||
|     libsystemtap | ||||
|   ]; | ||||
| 
 | ||||
|   meta = { | ||||
|     description = "Grand Central Dispatch"; | ||||
|     homepage = "https://github.com/apple/swift-corelibs-libdispatch"; | ||||
|     platforms = lib.platforms.linux; | ||||
|     license = lib.licenses.asl20; | ||||
|     maintainers = [ lib.maintainers.cmm ]; | ||||
|   }; | ||||
| } | ||||
| @ -37567,7 +37567,7 @@ with pkgs; | ||||
| 
 | ||||
|   mictray = callPackage ../tools/audio/mictray { }; | ||||
| 
 | ||||
|   swift-corelibs-libdispatch = callPackage ../development/libraries/swift-corelibs-libdispatch { }; | ||||
|   swift-corelibs-libdispatch = swiftPackages.Dispatch; | ||||
| 
 | ||||
|   swaysettings = callPackage ../applications/misc/swaysettings { }; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Stéphan Kochen
						Stéphan Kochen