Author Topic: Apple Swift on Ubuntu  (Read 16201 times)

Offline AIR

  • BASIC Developer
  • Posts: 686
Re: Apple Swift on Ubuntu
« Reply #30 on: December 13, 2015, 05:37:41 PM »
How can I make your SQLite3 Swift code an include or import?

By building on the CSQlite3 module I created.

Offline John

  • Forum Support / SB Dev
  • Posts: 2791
    • ScriptBasic Open Source Project
Re: Apple Swift on Ubuntu
« Reply #31 on: December 13, 2015, 06:01:12 PM »
AIR,

Here is your Swift example in Script BASIC clothing.

Code: Script BASIC
  1. IMPORT sqlite.bas
  2.  
  3. db = sqlite::OPEN("test.db")
  4.  
  5. PRINT sqlite::VERSION(),"\n"
  6.  
  7. sql = """
  8. DROP TABLE IF EXISTS Cars;
  9. CREATE TABLE Cars(Id INT, Name TEXT, Price INT);
  10. INSERT INTO Cars VALUES(1, 'Audi', 52642);
  11. INSERT INTO Cars VALUES(2, 'Mercedes', 57127);
  12. INSERT INTO Cars VALUES(3, 'Skoda', 9000);
  13. INSERT INTO Cars VALUES(4, 'Volvo', 29000);
  14. INSERT INTO Cars VALUES(5, 'Bentley', 350000);
  15. INSERT INTO Cars VALUES(6, 'Citroen', 21000);
  16. INSERT INTO Cars VALUES(7, 'Hummer', 41400);
  17. INSERT INTO Cars VALUES(8, 'Volkswagen', 21600);
  18. """
  19.  
  20. sqlite::EXECUTE(db, sql)
  21.  
  22. stmt = sqlite::QUERY(db, "SELECT Name,Price FROM Cars Order By Price DESC")
  23.  
  24. PRINTNL
  25. WHILE (sqlite::ROW(stmt) = sqlite::SQLITE3_ROW)
  26.   IF sqlite::FETCHHASH(stmt,column) THEN
  27.     PRINT column{"Name"}," ",column{"Price"},"\n"
  28.   END IF
  29. WEND
  30.  
  31. sqlite::CLOSE(db)
  32.  


jrs@laptop:~/sb/sb22/test$ time scriba sqlair.sb
3.7.12.1

Bentley 350000
Mercedes 57127
Audi 52642
Hummer 41400
Volvo 29000
Volkswagen 21600
Citroen 21000
Skoda 9000

real   0m1.232s
user   0m0.001s
sys   0m0.010s
jrs@laptop:~/sb/sb22/test$

« Last Edit: December 13, 2015, 06:05:34 PM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 2791
    • ScriptBasic Open Source Project
Re: Apple Swift on Ubuntu
« Reply #32 on: December 14, 2015, 10:34:20 AM »
Quote
By building on the CSQlite3 module I created.

@AIR - I can't seem to figure out how to get a module built that I can import.

What's the trick?

Ideally I would like to do something like this.

Code: Text
  1.     import Foundation
  2.     import Glibc
  3.     import SQLite    
  4.      
  5.     var db: COpaquePointer = nil
  6.     var stmt: COpaquePointer = nil
  7.      
  8.     print(sqlVersion(),"\n")
  9.      
  10.     sqlOpen("test.db", database: &db)
  11.      
  12.     var sql =       "DROP TABLE IF EXISTS Cars;" +
  13.                 "CREATE TABLE Cars(Id INT, Name TEXT, Price INT);" +
  14.                 "INSERT INTO Cars VALUES(1, 'Audi', 52642);" +
  15.                 "INSERT INTO Cars VALUES(2, 'Mercedes', 57127);" +
  16.                 "INSERT INTO Cars VALUES(3, 'Skoda', 9000);" +
  17.                 "INSERT INTO Cars VALUES(4, 'Volvo', 29000);" +
  18.                 "INSERT INTO Cars VALUES(5, 'Bentley', 350000);" +
  19.                 "INSERT INTO Cars VALUES(6, 'Citroen', 21000);" +
  20.                 "INSERT INTO Cars VALUES(7, 'Hummer', 41400);" +
  21.                 "INSERT INTO Cars VALUES(8, 'Volkswagen', 21600);"
  22.      
  23.     sqlExec(db, query: sql)
  24.      
  25.     sql = "SELECT Name,Price FROM Cars Order By Price DESC"
  26.      
  27.     sqlPrepare(db, query: sql, statement: &stmt)
  28.      
  29.     while sqlStep(stmt) == SQLITE_ROW {
  30.             var make  = sqlColumnText(stmt, column: 0)
  31.             var price = sqlColumnText(stmt, column: 1)
  32.             print(make,price)
  33.      
  34.     }    
  35.      
  36.     sqlClose(db)
  37.  
     


swiftc airlite.swift -o airlite

« Last Edit: December 14, 2015, 09:13:39 PM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 2791
    • ScriptBasic Open Source Project
Re: Apple Swift on Ubuntu
« Reply #33 on: December 14, 2015, 09:30:21 PM »
Quote from: AIR
People use Swift because a huge (<--cue Donald Trump Accent) company is behind it.  Kind of like how Objective C became popular.

Watch how Apple’s Swift evolved into an open source powerhouse

Quote from: AIR
At least with Objective C, I can drop straight C into it without having to jump through crazy hoops to get shit to work.

That's how I feel about Script BASIC. If all I'm interested is in getting something done or test a proof of concept, SB works for me. If it's not a one off project and will be distributed, then I'll take another look what is the best solution for that environment.

@AIR - Thanks for the nudge! I will take another look at NIM.
« Last Edit: December 14, 2015, 10:15:44 PM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 2791
    • ScriptBasic Open Source Project
Re: Apple Swift on Ubuntu
« Reply #34 on: November 17, 2019, 05:01:58 PM »
AIR,

I'm trying to build your SQLite3 example on my RPi 4B. I'm getting this error trying to to build the package.

Code: Bash
  1. pi@RPi4B:~/swift-dev/sqldemo $ swift build
  2.  
  3. /home/pi/swift-dev/sqldemo: error: package at '/home/pi/swift-dev/sqldemo' is using Swift tools version 3.1.0 which is no longer supported; consider using '// swift-tools-version:5.1' to specify the current tools version
  4. pi@RPi4B:~/swift-dev/sqldemo $
  5.  

I tried // swift-tools-version:5.1 in the package .swift but no luck. Any ideas?

Offline John

  • Forum Support / SB Dev
  • Posts: 2791
    • ScriptBasic Open Source Project
Re: Apple Swift on Ubuntu
« Reply #35 on: November 17, 2019, 06:29:57 PM »
I was able to update the package tools version with this command.

swift package tools-version --set-current


Now I'm stuck resolving this.

Code: Bash
  1. pi@RPi4B:~/swift-dev/sqldemo $ swift build
  2.  
  3. /home/pi/swift-dev/sqldemo: error: manifest parse error(s):
  4. /home/pi/swift-dev/sqldemo/Package.swift:7:10: error: type 'Package.Dependency' has no member 'Package'
  5.         .Package(url: "./Sqlite3", majorVersion: 1)
  6.         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7. pi@RPi4B:~/swift-dev/sqldemo $
  8.  

« Last Edit: November 17, 2019, 08:57:09 PM by John »

Offline AIR

  • BASIC Developer
  • Posts: 686
Re: Apple Swift on Ubuntu
« Reply #36 on: November 17, 2019, 09:30:27 PM »
I don't so Swift, and the original code I wrote is like 5 years old. A lot has changed since then.

Maybe do sqlite with: https://perfect.org/docs/SQLite.html

Offline John

  • Forum Support / SB Dev
  • Posts: 2791
    • ScriptBasic Open Source Project
Re: Apple Swift on Ubuntu
« Reply #37 on: November 17, 2019, 09:52:23 PM »
Thanks AIR!

That link allowed me to build their getting started example package.

If seems that Swift doesn't waste anytime deprecating code.

Code: Bash
  1. pi@RPi4B:~/swift-dev $ mkdir  perfect
  2. pi@RPi4B:~/swift-dev $ cd perfect
  3. pi@RPi4B:~/swift-dev/perfect $ git clone https://github.com/PerfectlySoft/PerfectTemplate.git
  4. Cloning into 'PerfectTemplate'...
  5. remote: Enumerating objects: 3, done.
  6. remote: Counting objects: 100% (3/3), done.
  7. remote: Compressing objects: 100% (3/3), done.
  8. remote: Total 285 (delta 0), reused 1 (delta 0), pack-reused 282
  9. Receiving objects: 100% (285/285), 62.89 KiB | 2.62 MiB/s, done.
  10. Resolving deltas: 100% (141/141), done.
  11. pi@RPi4B:~/swift-dev/perfect $ cd PerfectTemplate
  12. pi@RPi4B:~/swift-dev/perfect/PerfectTemplate $ swift build
  13. Fetching https://github.com/PerfectlySoft/Perfect-HTTPServer.git
  14. Fetching https://github.com/PerfectlySoft/Perfect-Net.git
  15. Fetching https://github.com/PerfectlySoft/Perfect-HTTP.git
  16. Fetching https://github.com/PerfectlySoft/Perfect-CZlib-src.git
  17. Fetching https://github.com/PerfectlySoft/Perfect-Crypto.git
  18. Fetching https://github.com/PerfectlySoft/Perfect-LinuxBridge.git
  19. Fetching https://github.com/PerfectlySoft/Perfect-Thread.git
  20. Fetching https://github.com/PerfectlySoft/PerfectLib.git
  21. Fetching https://github.com/PerfectlySoft/Perfect-COpenSSL-Linux.git
  22. Completed resolution in 26.70s
  23. Cloning https://github.com/PerfectlySoft/Perfect-HTTPServer.git
  24. Resolving https://github.com/PerfectlySoft/Perfect-HTTPServer.git at 3.0.23
  25. Cloning https://github.com/PerfectlySoft/Perfect-COpenSSL-Linux.git
  26. Resolving https://github.com/PerfectlySoft/Perfect-COpenSSL-Linux.git at 4.0.1
  27. Cloning https://github.com/PerfectlySoft/Perfect-Net.git
  28. Resolving https://github.com/PerfectlySoft/Perfect-Net.git at 3.3.0
  29. Cloning https://github.com/PerfectlySoft/Perfect-CZlib-src.git
  30. Resolving https://github.com/PerfectlySoft/Perfect-CZlib-src.git at 0.0.4
  31. Cloning https://github.com/PerfectlySoft/Perfect-HTTP.git
  32. Resolving https://github.com/PerfectlySoft/Perfect-HTTP.git at 3.3.0
  33. Cloning https://github.com/PerfectlySoft/Perfect-LinuxBridge.git
  34. Resolving https://github.com/PerfectlySoft/Perfect-LinuxBridge.git at 3.1.0
  35. Cloning https://github.com/PerfectlySoft/Perfect-Thread.git
  36. Resolving https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.7
  37. Cloning https://github.com/PerfectlySoft/PerfectLib.git
  38. Resolving https://github.com/PerfectlySoft/PerfectLib.git at 3.1.4
  39. Cloning https://github.com/PerfectlySoft/Perfect-Crypto.git
  40. Resolving https://github.com/PerfectlySoft/Perfect-Crypto.git at 3.2.0
  41. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:129:16: warning: 'readdir_r' is deprecated
  42.         return readdir_r(d, &dirEnt, endPtr)
  43.                ^
  44. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:129:16: warning: 'readdir_r' is deprecated
  45.         return readdir_r(d, &dirEnt, endPtr)
  46.                ^
  47. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:129:16: warning: 'readdir_r' is deprecated
  48.         return readdir_r(d, &dirEnt, endPtr)
  49.                ^
  50. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-Net/Sources/PerfectNet/NetUDP.swift:52:7: warning: variable 'a' was never mutated; consider changing to 'let' constant
  51.                 var a = [UInt8](repeating: 0, count: count)
  52.                 ~~~ ^
  53.                 let
  54. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-Net/Sources/PerfectNet/NetTCPSSL.swift:219:42: warning: 'TLSv1_2_method()' is deprecated
  55.                 case .tlsV1_2: newSslCtx = SSL_CTX_new(TLSv1_2_method())
  56.                                                        ^
  57. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-Net/Sources/PerfectNet/NetTCPSSL.swift:220:42: warning: 'TLSv1_1_method()' is deprecated
  58.                 case .tlsV1_1: newSslCtx = SSL_CTX_new(TLSv1_1_method())
  59.                                                        ^
  60. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-Net/Sources/PerfectNet/NetTCPSSL.swift:221:40: warning: 'TLSv1_method()' is deprecated
  61.                 case .tlsV1: newSslCtx = SSL_CTX_new(TLSv1_method())
  62.                                                      ^
  63. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-Net/Sources/PerfectNet/NetTCPSSL.swift:219:42: warning: 'TLSv1_2_method()' is deprecated
  64.                 case .tlsV1_2: newSslCtx = SSL_CTX_new(TLSv1_2_method())
  65.                                                        ^
  66. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-Net/Sources/PerfectNet/NetTCPSSL.swift:220:42: warning: 'TLSv1_1_method()' is deprecated
  67.                 case .tlsV1_1: newSslCtx = SSL_CTX_new(TLSv1_1_method())
  68.                                                        ^
  69. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-Net/Sources/PerfectNet/NetTCPSSL.swift:221:40: warning: 'TLSv1_method()' is deprecated
  70.                 case .tlsV1: newSslCtx = SSL_CTX_new(TLSv1_method())
  71.                                                      ^
  72. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTP/Sources/PerfectHTTP/HTTPHeaders.swift:41:15: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTPRequestHeader.Name' to 'Hashable' by implementing 'hash(into:)' instead
  73.                         public var hashValue: Int {
  74.                                    ^
  75. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTP/Sources/PerfectHTTP/HTTPHeaders.swift:242:15: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTPResponseHeader.Name' to 'Hashable' by implementing 'hash(into:)' instead
  76.                         public var hashValue: Int {
  77.                                    ^
  78. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTP/Sources/PerfectHTTP/HTTPMethod.swift:67:14: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTPMethod' to 'Hashable' by implementing 'hash(into:)' instead
  79.                 public var hashValue: Int {
  80.                            ^
  81. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTP/Sources/PerfectHTTP/HTTPHeaders.swift:41:15: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTPRequestHeader.Name' to 'Hashable' by implementing 'hash(into:)' instead
  82.                         public var hashValue: Int {
  83.                                    ^
  84. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTP/Sources/PerfectHTTP/HTTPHeaders.swift:242:15: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTPResponseHeader.Name' to 'Hashable' by implementing 'hash(into:)' instead
  85.                         public var hashValue: Int {
  86.                                    ^
  87. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTP/Sources/PerfectHTTP/HTTPMethod.swift:67:14: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTPMethod' to 'Hashable' by implementing 'hash(into:)' instead
  88.                 public var hashValue: Int {
  89.                            ^
  90. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTP/Sources/PerfectHTTP/HTTPHeaders.swift:41:15: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTPRequestHeader.Name' to 'Hashable' by implementing 'hash(into:)' instead
  91.                         public var hashValue: Int {
  92.                                    ^
  93. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTP/Sources/PerfectHTTP/HTTPHeaders.swift:242:15: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTPResponseHeader.Name' to 'Hashable' by implementing 'hash(into:)' instead
  94.                         public var hashValue: Int {
  95.                                    ^
  96. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTP/Sources/PerfectHTTP/HTTPMethod.swift:67:14: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTPMethod' to 'Hashable' by implementing 'hash(into:)' instead
  97.                 public var hashValue: Int {
  98.                            ^
  99. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTP/Sources/PerfectHTTP/HTTPMethod.swift:67:14: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTPMethod' to 'Hashable' by implementing 'hash(into:)' instead
  100.                 public var hashValue: Int {
  101.                            ^
  102. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTP/Sources/PerfectHTTP/HTTPMethod.swift:67:14: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTPMethod' to 'Hashable' by implementing 'hash(into:)' instead
  103.                 public var hashValue: Int {
  104.                            ^
  105. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTPServer/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead
  106.                 var hashValue: Int { return Int(net.fd.fd) }
  107.                     ^
  108. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTPServer/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead
  109.                 var hashValue: Int { return Int(net.fd.fd) }
  110.                     ^
  111. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTPServer/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead
  112.                 var hashValue: Int { return Int(net.fd.fd) }
  113.                     ^
  114. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTPServer/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead
  115.                 var hashValue: Int { return Int(net.fd.fd) }
  116.                     ^
  117. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTPServer/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead
  118.                 var hashValue: Int { return Int(net.fd.fd) }
  119.                     ^
  120. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTPServer/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead
  121.                 var hashValue: Int { return Int(net.fd.fd) }
  122.                     ^
  123. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTPServer/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead
  124.                 var hashValue: Int { return Int(net.fd.fd) }
  125.                     ^
  126. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTPServer/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead
  127.                 var hashValue: Int { return Int(net.fd.fd) }
  128.                     ^
  129. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTPServer/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead
  130.                 var hashValue: Int { return Int(net.fd.fd) }
  131.                     ^
  132. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTPServer/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead
  133.                 var hashValue: Int { return Int(net.fd.fd) }
  134.                     ^
  135. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTPServer/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead
  136.                 var hashValue: Int { return Int(net.fd.fd) }
  137.                     ^
  138. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTPServer/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead
  139.                 var hashValue: Int { return Int(net.fd.fd) }
  140.                     ^
  141. /home/pi/swift-dev/perfect/PerfectTemplate/.build/checkouts/Perfect-HTTPServer/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead
  142.                 var hashValue: Int { return Int(net.fd.fd) }
  143.                     ^
  144. [80/80] Linking PerfectTemplate
  145. pi@RPi4B:~/swift-dev/perfect/PerfectTemplate $ .build/debug/PerfectTemplate
  146. [INFO] Starting HTTP server localhost on :::8181
  147.  

This is the new format of the Package.swift file.

Code: Text
  1. import PackageDescription
  2.  
  3. let package = Package(
  4.     name: "PerfectTemplate",
  5.     targets: [],
  6.     dependencies: [
  7.         .Package(url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git",
  8.             majorVersion: 3),
  9.         .Package(url: "https://github.com/PerfectlySoft/Perfect-Mustache.git",
  10.             majorVersion: 3)
  11.     ]
  12. )
  13.  
« Last Edit: November 18, 2019, 06:54:43 AM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 2791
    • ScriptBasic Open Source Project
Re: Apple Swift on Ubuntu
« Reply #38 on: November 18, 2019, 10:41:38 PM »
AIR,

I don't seem to have a problem building packages from the PerfectSoft site. What isn't obvious is how to install them so when I run the test scripts it finds the package based on the IMPORT statement. I have searched the PerfectSoft site and Google and the topic seems to elude me.  :-\

I know you're not a Swift fan but your Apple roots give you a huge knowledge advantage,

A question I hear over and over on the RPi forum about Swift is can apps be built on the RPi and used on the iPhone?

Any guidance would be appreciated. I think I'm close to using Swift on the RPi.