Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@ If you happen to use Arch Linux you can grab **epick** from [AUR](https://aur.ar
$ paru -S epick
```

If you have HomeBrew installed, you can use:
```bash
brew tap vv9k/epick && brew install --cask epick
```

## Build

Install required libraries (only required on Linux):
Expand Down
Binary file not shown.
Binary file added assets/app-icon-macos/icon.afphoto
Binary file not shown.
Binary file added assets/app-icon-macos/icon/AppIcon.icns
Binary file not shown.
20 changes: 20 additions & 0 deletions assets/app-icon-macos/icon/generate_icons.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/bash
rm -r AppIcon.icns
input_filepath="${BASH_SOURCE%/*}/icon.png"
output_iconset_name="AppIcon.iconset"
mkdir $output_iconset_name

# Generate images
sips -z 16 16 "$input_filepath" --out "${output_iconset_name}/icon_16x16.png"
sips -z 32 32 "$input_filepath" --out "${output_iconset_name}/icon_16x16@2x.png"
sips -z 32 32 "$input_filepath" --out "${output_iconset_name}/icon_32x32.png"
sips -z 64 64 "$input_filepath" --out "${output_iconset_name}/icon_32x32@2x.png"
sips -z 128 128 "$input_filepath" --out "${output_iconset_name}/icon_128x128.png"
sips -z 256 256 "$input_filepath" --out "${output_iconset_name}/icon_128x128@2x.png"
sips -z 256 256 "$input_filepath" --out "${output_iconset_name}/icon_256x256.png"
sips -z 512 512 "$input_filepath" --out "${output_iconset_name}/icon_256x256@2x.png"
sips -z 512 512 "$input_filepath" --out "${output_iconset_name}/icon_512x512.png"

# Create .icns
iconutil -c icns -o AppIcon.icns $output_iconset_name
rm -r $output_iconset_name
Binary file added assets/app-icon-macos/icon/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added scripts/homebrew/app/epick.app.tar.gz
Binary file not shown.
Binary file added scripts/homebrew/app/epick.app/Contents/Info.plist
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1 change: 1 addition & 0 deletions scripts/homebrew/app/epick.app/Contents/Resources/script
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
./epick
5 changes: 5 additions & 0 deletions scripts/homebrew/build_cask.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
SHA=$(shasum -a 256 "${BASH_SOURCE%/*}/app/epick.app.tar.gz")
SHA=$(SHA=$SHA swift parse_sha.swift)

CASK=$(VERSION=$VERSION SHA=$SHA URL=$URL swift build_cask.swift)
printf "%s" "$CASK"
20 changes: 20 additions & 0 deletions scripts/homebrew/build_cask.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import Foundation

let version: String = ProcessInfo.processInfo.environment["VERSION"] ?? ""
let sha256: String = ProcessInfo.processInfo.environment["SHA"] ?? ""
let url: String = ProcessInfo.processInfo.environment["URL"] ?? ""
let cask = """
cask \"epick\" do
version \"\(version)\"
sha256 \"\(sha256)\"

url \"\(url)\"
name \"epick\"

desc \"Color picker for creating harmonic color palettes that works on Linux, Windows, macOS and web.\"
homepage \"https://github.com/vv9k/epick\"

app \"app/epick.app\"
end
"""
print(cask)
20 changes: 20 additions & 0 deletions scripts/homebrew/build_homebrew.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/bash

# Build release version (NOTE: I am not an expert on rust's targets)
echo "Building..."
cargo build --release --target x86_64-apple-darwin

# Copy build to app
cp "${BASH_SOURCE%/*}/../../target/x86_64-apple-darwin/release/epick" "${BASH_SOURCE%/*}/app/epick.app/Contents/Resources/epick"

# Generate icons (Only has to be done when the icon is updated + don't forget to also change the icon of the epick.app file)
# echo "Generating icons..."
# "${BASH_SOURCE%/*}/../../assets/app-icon-macos/icon/generate_icons.sh"
# Copy icons
# cp "${BASH_SOURCE%/*}/../../assets/app-icon-macos/icon/AppIcon.icns" "${BASH_SOURCE%/*}/app/epick.app/Contents/Resources/AppIcon.icns"

# Generate archive
echo "Bundling..."
tar -czf "${BASH_SOURCE%/*}/app/epick.app.tar.gz" "${BASH_SOURCE%/*}/app/epick.app"

# Build Cask
13 changes: 13 additions & 0 deletions scripts/homebrew/parse_sha.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import Foundation

let sha256_un_parsed: String = ProcessInfo.processInfo.environment["SHA"] ?? ""
let chars = Array(sha256_un_parsed)
var sha256: String = ""
for char in chars {
if char == " " {
break
} else {
sha256.append(char)
}
}
print(sha256)