All,
I’m working on a SPEC file for Apple’s swift programming language. I believe it’s currently working and conforms to the community guidelines but I have some questions:
1) The swift name conflicts with several existing packages. I’m thinking swiftlang would be appropriate as this is similar to the golang package.
2) Building swift is a relatively involved (and slow) process. There are 9 different repos with code that is all inter-related. I’m interested in how you would all suggest structuring the RPM. I’m thinking that there should be 4 sub-packages created:
swiftlang - installs swiftlang-bin and swiftlang-lib
swiftlang-lib - Core libraries required for running a swift program
swiftlang-bin - The swift compiler and REPL (depends on swiftlang-lib)
swiftlang-docs - Associated documentation
My thinking is that tools that are built using the swift language can depend upon the swiftlang-lib package and ignore everything else. Where as developers will want the swiftlang-bin package which includes the compiler and REPL.
Is this a good strategy?
3) Swift relies on LLDB for it’s REPL functionality on linux. This is annoying because it creates a custom version of LLDB that conflicts with the main lldb package. I can’t see anyway around this conflict as it is a core assumption in the swift programming language. You can’t move the package to another location because swift searches for the first available lldb on the path. As far as I can tell the only way to deal with this is to add a conflict with the lldb package to the swiftlang-bin package. Any other ideas short of getting the swift crew to change a fundamental design decision?
Thanks for your help!