Skip to content

Commit

Permalink
(gh-437) Create a package for the sqlean sqlite extensions
Browse files Browse the repository at this point in the history
Create a package for the sqlean sqlite extensions as per the package request chocolatey-community/chocolatey-package-requests#1369.

Merge pull request #504 from dgalbraith/feature/sqlean-package/gh-437

Closes gh-437
  • Loading branch information
dgalbraith authored Nov 1, 2023
2 parents f360c9b + 3813bbd commit 3c86067
Show file tree
Hide file tree
Showing 9 changed files with 224 additions and 0 deletions.
39 changes: 39 additions & 0 deletions automatic/sqlean/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# [<img src="https://cdn.jsdelivr.net/gh/dgalbraith/chocolatey-packages@5c00af62769ca23287f09747288b62b554e35d06/icons/sqlean.png" width="48" height="48" />sqlean - all the missing sqlite functions](https://chocolatey.org/packages/sqlean)

[![Software license](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/nalgeon/sqlean/blob/main/LICENSE)
[![Maintenance status](https://img.shields.io/badge/maintained%3F-yes-green.svg)](https://gitHub.com/dgalbraith/chocolatey-packages/graphs/commit-activity)
[![AppVeyor build](https://img.shields.io/appveyor/ci/dgalbraith/chocolatey-packages)](https://ci.appveyor.com/project/dgalbraith/chocolatey-packages)
[![Software version](https://img.shields.io/badge/Source-v0.21.7-blue.svg)](https://github.com/nalgeon/sqlean/releases/tag/0.21.7)
[![Chocolatey package version](https://img.shields.io/chocolatey/v/sqlean?label=Chocolatey)](https://chocolatey.org/packages/sqlean)

SQLite has few functions compared to other database management systems. SQLite
authors see this as a feature rather than a problem, because SQLite has an
extension mechanism in place.

There are a lot of SQLite extensions out there, but they are incomplete,
inconsistent and scattered across the internet. sqlean brings them together,
neatly packaged into domain modules, documented and tested.

SQLean provides a well-thought set of domain modules with a convenient API - a
kind of standard library for SQLite.

![screenshot](https://cdn.jsdelivr.net/gh/dgalbraith/chocolatey-packages@5c00af62769ca23287f09747288b62b554e35d06/automatic/sqlean/screenshot.png)

## Package Parameters

* `/InstallDir=[directory]` - set the installation directory to `[directory]`
e.g. `choco install -y sqlean --package-parameters="/InstallDir=C:\Tools\sqlean"`

## Notes

* Extensions distributed with sqlean are compiled in 64-bit and require a
64-bit SQLite version.
* A 64-bit SQLite shell is currently not available from source but there is one
available pre-bundled with the sqlean extensions in the [sqlean-shell](https://community.chocolatey.org/packages/sqlean-shell)
package.
* A stand-alone 64-bit SQLite shell binary is available in the [sqlite-shell-x64](https://community.chocolatey.org/packages/sqlite-shell-x64)
package.
* This package is automatically updated using the [Chocolatey Automatic Package Update Model (AU)](https://github.com/majkinetor/au/blob/master/README.md).
If you find it is out of date by more than a day or two, please contact
the maintainer(s) and let them know the package is no longer updating
correctly.
21 changes: 21 additions & 0 deletions automatic/sqlean/legal/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2021+ Anton Zhiyanov <https://github.com/nalgeon/sqlean>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
27 changes: 27 additions & 0 deletions automatic/sqlean/legal/VERIFICATION.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
VERIFICATION

Verification is intended to assist the Chocolatey moderators and community
in verifying that this package's contents are trustworthy.

The application has been downloaded from the official distribution and can
be verified by:

1. Go to the binary distribution page

https://github.com/nalgeon/sqlean/releases/tag/0.21.7

and download the archive sqlean-win-x64.zip using the link on the page.

Alternatively the archive can be downloaded directly from

https://github.com/nalgeon/sqlean/releases/download/0.21.7/sqlean-win-x64.zip

2. The archive can be validated by comparing checksums
- Use powershell function 'Get-Filehash' - Get-Filehash -Algorithm sha256 sqlean-win-x64.zip
- Use chocolatey utility 'checksum.exe' - checksum -t sha256 -f sqlean-win-x64.zip

File: sqlean-win-x64.zip
Type: sha256
Checksum: a4edf752a4abef5618ba1e2352eb5f6202044e075cbbb4ae60fe202d542a0ec2

Contents of file LICENSE.txt is obtained from https://github.com/nalgeon/sqlean/blob/main/LICENSE.
Binary file added automatic/sqlean/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
62 changes: 62 additions & 0 deletions automatic/sqlean/sqlean.nuspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Do not remove this test for UTF-8: if “Ω” doesn’t appear as greek uppercase omega letter enclosed in quotation marks, you should use an editor that supports UTF-8, not this one. -->
<package xmlns="http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd">
<metadata>
<id>sqlean</id>
<version>0.21.7</version>
<packageSourceUrl>https://github.com/dgalbraith/chocolatey-packages/tree/master/automatic/sqlean</packageSourceUrl>
<owners>dgalbraith</owners>
<title>sqlean - all the missing sqlite functions</title>
<authors>Anton Zhiyanov</authors>
<projectUrl>https://github.com/nalgeon/sqlean/blob/main/README.md</projectUrl>
<iconUrl>https://cdn.jsdelivr.net/gh/dgalbraith/chocolatey-packages@5c00af62769ca23287f09747288b62b554e35d06/icons/sqlean.png</iconUrl>
<copyright>Copyright 2021+ Anton Zhiyanov</copyright>
<licenseUrl>https://github.com/nalgeon/sqlean/blob/main/LICENSE</licenseUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<projectSourceUrl>https://github.com/nalgeon/sqlean</projectSourceUrl>
<docsUrl>https://github.com/nalgeon/sqlean/blob/main/README.md</docsUrl>
<bugTrackerUrl>https://github.com/nalgeon/sqlean/issues</bugTrackerUrl>
<tags>sqlite sqlean sql db database embedded</tags>
<summary>The ultimate set of SQLite extensions</summary>
<description><![CDATA[
SQLite has few functions compared to other database management systems. SQLite
authors see this as a feature rather than a problem, because SQLite has an
extension mechanism in place.
There are a lot of SQLite extensions out there, but they are incomplete,
inconsistent and scattered across the internet. sqlean brings them together,
neatly packaged into domain modules, documented and tested.
SQLean provides a well-thought set of domain modules with a convenient API - a
kind of standard library for SQLite.
![screenshot](https://cdn.jsdelivr.net/gh/dgalbraith/chocolatey-packages@5c00af62769ca23287f09747288b62b554e35d06/automatic/sqlean/screenshot.png)
## Package Parameters
* `/InstallDir=[directory]` - set the installation directory to `[directory]`
e.g. `choco install -y sqlean --package-parameters="/InstallDir=C:\Tools\sqlean"`
## Notes
* Extensions distributed with sqlean are compiled in 64-bit and require a
64-bit SQLite version.
* A 64-bit SQLite shell is currently not available from source but there is one
availabe pre-bundled with the sqlean extensions in the [sqlean-shell](https://community.chocolatey.org/packages/sqlean-shell)
package.
* A stand-alone 64-bit SQLite shell binary is available in the [sqlite-shell-x64](https://community.chocolatey.org/packages/sqlite-shell-x64)
package.
* This package is automatically updated using the [Chocolatey Automatic Package Update Model (AU)](https://github.com/majkinetor/au/blob/master/README.md).
If you find it is out of date by more than a day or two, please contact
the maintainer(s) and let them know the package is no longer updating
correctly.
]]></description>
<releaseNotes>https://github.com/nalgeon/sqlean/releases/tag/0.21.7</releaseNotes>
</metadata>
<files>
<file src="legal\**" target="legal" />
<file src="tools\**" target="tools" />
</files>
</package>
21 changes: 21 additions & 0 deletions automatic/sqlean/tools/chocolateyInstall.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
$ErrorActionPreference = 'Stop'

$toolsDir = Split-Path -parent $MyInvocation.MyCommand.Definition
$archive = Join-Path $toolsDir 'sqlean-win-x64.zip'

$pp = Get-PackageParameters

if ($pp.InstallDir) {
Write-Verbose("$env:ChocolateyPackageName will be installed to $pp.InstallDir")
$installDir = $pp.InstallDir
} else {
$installDir = Join-Path (Get-ToolsLocation) $env:ChocolateyPackageName
}

$unzipArgs = @{
PackageName = $env:ChocolateyPackageName
FileFullPath64 = $archive
Destination = $installDir
}

Get-ChocolateyUnzip @unzipArgs
3 changes: 3 additions & 0 deletions automatic/sqlean/tools/chocolateyUninstall.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
$ErrorActionPreference = 'Stop'

Uninstall-ChocolateyZipPackage "$env:ChocolateyPackageName" 'sqlean-win-x64.zip'
51 changes: 51 additions & 0 deletions automatic/sqlean/update.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import-module au

Import-Module ..\..\scripts\chocolatey-helpers\Chocolatey-Helpers.psd1

$ErrorActionPreference = 'STOP'

$domain = 'https://github.com'
$user = 'nalgeon'
$repository = 'sqlean'

$re64 = 'sqlean-win-x64.zip'
$reChecksum = '(?<=Checksum:\s*)(?<Checksum>.+)'
$reVersion = '(?<=[v|\/])(?<Version>(\d+\.\d+\.\d+))'

function global:au_BeforeUpdate {
Get-RemoteFiles -Purge -NoSuffix
}

function global:au_SearchReplace {
@{
".\README.md" = @{
"$($reVersion)" = "$($Latest.Version)"
}

"$($Latest.PackageName).nuspec" = @{
"$($reVersion)" = "$($Latest.Version)"
}

".\legal\VERIFICATION.txt" = @{
"$($reVersion)" = "$($Latest.Version)"
"$($reChecksum)" = "$($Latest.Checksum64)"
}
}
}

function global:au_GetLatest {
$downloadPage = Get-GitHubLatestReleasePage -User $user -Repository $repository

$url64 = $downloadPage.links | where-object href -match $re64 | select-object -expand href | foreach-object { $domain + $_ }
$fileName64 = $url64 -split '/' | select-object -last 1

$version = $url64 -match $reVersion | foreach-object { $Matches.Version }

return @{
Url64 = $url64
FileName64 = $fileName64
Version = $version
}
}

update -ChecksumFor none -NoReadme -NoCheckUrl
Binary file added icons/sqlean.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 3c86067

Please sign in to comment.