forked from Lainports/opnsense-ports
93 lines
3.4 KiB
Ruby
93 lines
3.4 KiB
Ruby
--- ext/sqlite3/extconf.rb.orig 2022-09-10 15:17:36 UTC
|
|
+++ ext/sqlite3/extconf.rb
|
|
@@ -1,5 +1,4 @@
|
|
require "mkmf"
|
|
-require "mini_portile2"
|
|
|
|
module Sqlite3
|
|
module ExtConf
|
|
@@ -48,33 +47,6 @@ module Sqlite3
|
|
end
|
|
|
|
def configure_packaged_libraries
|
|
- minimal_recipe.tap do |recipe|
|
|
- recipe.configure_options += ["--enable-shared=no", "--enable-static=yes"]
|
|
- ENV.to_h.tap do |env|
|
|
- additional_cflags = [
|
|
- "-fPIC", # needed for linking the static library into a shared library
|
|
- "-O2", # see https://github.com/sparklemotion/sqlite3-ruby/issues/335 for some benchmarks
|
|
- ]
|
|
- env["CFLAGS"] = [env["CFLAGS"], additional_cflags].flatten.join(" ")
|
|
- recipe.configure_options += env.select { |k,v| ENV_ALLOWLIST.include?(k) }
|
|
- .map { |key, value| "#{key}=#{value.strip}" }
|
|
- end
|
|
-
|
|
- unless File.exist?(File.join(recipe.target, recipe.host, recipe.name, recipe.version))
|
|
- recipe.cook
|
|
- end
|
|
- recipe.activate
|
|
-
|
|
- ENV["PKG_CONFIG_ALLOW_SYSTEM_CFLAGS"] = "t" # on macos, pkg-config will not return --cflags without this
|
|
- pcfile = File.join(recipe.path, "lib", "pkgconfig", "sqlite3.pc")
|
|
- if pkg_config(pcfile)
|
|
- # see https://bugs.ruby-lang.org/issues/18490
|
|
- libs = xpopen(["pkg-config", "--libs", "--static", pcfile], err: [:child, :out], &:read)
|
|
- libs.split.each { |lib| append_ldflags(lib) } if $?.success?
|
|
- else
|
|
- abort("\nCould not configure the build properly. Please install either the `pkg-config` utility or the `pkg-config` rubygem.\n\n")
|
|
- end
|
|
- end
|
|
end
|
|
|
|
def configure_extension
|
|
@@ -115,11 +87,6 @@ module Sqlite3
|
|
end
|
|
|
|
def minimal_recipe
|
|
- MiniPortile.new(libname, sqlite3_config[:version]).tap do |recipe|
|
|
- recipe.files = sqlite3_config[:files]
|
|
- recipe.target = File.join(package_root_dir, "ports")
|
|
- recipe.patch_files = Dir[File.join(package_root_dir, "patches", "*.patch")].sort
|
|
- end
|
|
end
|
|
|
|
def package_root_dir
|
|
@@ -127,27 +94,9 @@ module Sqlite3
|
|
end
|
|
|
|
def sqlite3_config
|
|
- mini_portile_config[:sqlite3]
|
|
end
|
|
|
|
def mini_portile_config
|
|
- {
|
|
- sqlite3: {
|
|
- # checksum verified by first checking the published sha3(256) checksum against https://sqlite.org/download.html:
|
|
- #
|
|
- # $ sha3sum -a 256 ports/archives/sqlite-autoconf-3390300.tar.gz
|
|
- # dfa055c70724cd63f0b7da6e9f53530d8da51fe021e3f864d58c7c847d590e1d ports/archives/sqlite-autoconf-3390300.tar.gz
|
|
- #
|
|
- # $ sha256sum ports/archives/sqlite-autoconf-3390300.tar.gz
|
|
- # 7868fb3082be3f2cf4491c6fba6de2bddcbc293a35fefb0624ee3c13f01422b9 ports/archives/sqlite-autoconf-3390300.tar.gz
|
|
- #
|
|
- version: "3.39.3",
|
|
- files: [{
|
|
- url: "https://www.sqlite.org/2022/sqlite-autoconf-3390300.tar.gz",
|
|
- sha256: "7868fb3082be3f2cf4491c6fba6de2bddcbc293a35fefb0624ee3c13f01422b9",
|
|
- }],
|
|
- }
|
|
- }
|
|
end
|
|
|
|
def abort_could_not_find(missing)
|
|
@@ -156,10 +105,6 @@ module Sqlite3
|
|
|
|
def cross_build?
|
|
enable_config("cross-build")
|
|
- end
|
|
-
|
|
- def download
|
|
- minimal_recipe.download
|
|
end
|
|
|
|
def print_help
|