Unpacking Software Livestream

Join our monthly Unpacking Software livestream to hear about the latest news, chat and opinion on packaging, software deployment and lifecycle management!

Learn More

Chocolatey Product Spotlight

Join the Chocolatey Team on our regular monthly stream where we put a spotlight on the most recent Chocolatey product releases. You'll have a chance to have your questions answered in a live Ask Me Anything format.

Learn More

Chocolatey Coding Livestream

Join us for the Chocolatey Coding Livestream, where members of our team dive into the heart of open source development by coding live on various Chocolatey projects. Tune in to witness real-time coding, ask questions, and gain insights into the world of package management. Don't miss this opportunity to engage with our team and contribute to the future of Chocolatey!

Learn More

Calling All Chocolatiers! Whipping Up Windows Automation with Chocolatey Central Management

Webinar from
Wednesday, 17 January 2024

We are delighted to announce the release of Chocolatey Central Management v0.12.0, featuring seamless Deployment Plan creation, time-saving duplications, insightful Group Details, an upgraded Dashboard, bug fixes, user interface polishing, and refined documentation. As an added bonus we'll have members of our Solutions Engineering team on-hand to dive into some interesting ways you can leverage the new features available!

Watch On-Demand
Chocolatey Community Coffee Break

Join the Chocolatey Team as we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.

Watch The Replays
Chocolatey and Intune Overview

Webinar Replay from
Wednesday, 30 March 2022

At Chocolatey Software we strive for simple, and teaching others. Let us teach you just how simple it could be to keep your 3rd party applications updated across your devices, all with Intune!

Watch On-Demand
Chocolatey For Business. In Azure. In One Click.

Livestream from
Thursday, 9 June 2022

Join James and Josh to show you how you can get the Chocolatey For Business recommended infrastructure and workflow, created, in Azure, in around 20 minutes.

Watch On-Demand
The Future of Chocolatey CLI

Livestream from
Thursday, 04 August 2022

Join Paul and Gary to hear more about the plans for the Chocolatey CLI in the not so distant future. We'll talk about some cool new features, long term asks from Customers and Community and how you can get involved!

Watch On-Demand
Hacktoberfest Tuesdays 2022

Livestreams from
October 2022

For Hacktoberfest, Chocolatey ran a livestream every Tuesday! Re-watch Cory, James, Gary, and Rain as they share knowledge on how to contribute to open-source projects such as Chocolatey CLI.

Watch On-Demand

Downloads:

190

Downloads of v 2.3:

190

Last Update:

12 Sep 2021

Package Maintainer(s):

Software Author(s):

  • Aske Simon Christensen
  • Rune L. H. Stubbe.
  • Gil Dabah

Tags:

crinkler linker link lld ld foss cli demoscene executables

Crinkler

  • 1
  • 2
  • 3

2.3 | Updated: 12 Sep 2021

Downloads:

190

Downloads of v 2.3:

190

Maintainer(s):

Software Author(s):

  • Aske Simon Christensen
  • Rune L. H. Stubbe.
  • Gil Dabah

Crinkler 2.3

  • 1
  • 2
  • 3

Some Checks Have Failed or Are Not Yet Complete

Not All Tests Have Passed


Validation Testing Passed


Verification Testing Passed

Details

Scan Testing Resulted in Flagged as a Note:

At least one file within this package has greater than 0 detections, but less than 5

Details
Learn More

Deployment Method: Individual Install, Upgrade, & Uninstall

To install Crinkler, run the following command from the command line or from PowerShell:

>

To upgrade Crinkler, run the following command from the command line or from PowerShell:

>

To uninstall Crinkler, run the following command from the command line or from PowerShell:

>

Deployment Method:

NOTE

This applies to both open source and commercial editions of Chocolatey.

1. Enter Your Internal Repository Url

(this should look similar to https://community.chocolatey.org/api/v2/)


2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Copy Your Script

choco upgrade crinkler -y --source="'INTERNAL REPO URL'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:


choco upgrade crinkler -y --source="'INTERNAL REPO URL'" 
$exitCode = $LASTEXITCODE

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0
}

Exit $exitCode

- name: Install crinkler
  win_chocolatey:
    name: crinkler
    version: '2.3'
    source: INTERNAL REPO URL
    state: present

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.


chocolatey_package 'crinkler' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '2.3'
end

See docs at https://docs.chef.io/resource_chocolatey_package.html.


cChocoPackageInstaller crinkler
{
    Name     = "crinkler"
    Version  = "2.3"
    Source   = "INTERNAL REPO URL"
}

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.


package { 'crinkler':
  ensure   => '2.3',
  provider => 'chocolatey',
  source   => 'INTERNAL REPO URL',
}

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.


4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

Package Approved

This package was approved by moderator TheCakeIsNaOH on 17 Sep 2021.

Description

Crinkler is a compressing linker for Windows, specifically targeted towards executables with a size of just a few kilobytes. Its main purpose is as a tool for producing small demoscene productions.

Usage information and version history can be found in the manual.

For general discussion, questions and comments, use the Pouët.net forum.

Distribution

Crinkler is mainly being developed by Rune L. H. Stubbe (Mentor/TBC) and Aske Simon Christensen (Blueberry/Loonies). It is distributed under the Zlib license.

You are welcome to integrate Crinkler into your own tools or toolchains. If you do so, preferably base your work on a commit tagged by a release version. This way, the Crinkler version identifier written into output executables (two digits at offset 2 in the file) will match the actual contents produced by Crinkler.

Building

Build Crinkler using Visual Studio 2017 or later. The custom build rules for the assembly files require that nasmw.exe is in the executable path.

The data compressor itself is separated out into its own library, located in the Compressor project. This library enables tools to estimate how big a particular piece of data would be after being compressed by Crinkler. Take a look at the CompressorExample project for a description of its usage.


legal\LICENSE.txt
From: https://github.com/runestubbe/Crinkler/blob/v2.3/LICENSE.txt

LICENSE

Crinkler - compressing linker for Windows

Copyright (c) 2005-2020 Aske Simon Christensen and Rune L. H. Stubbe.


This software is provided 'as-is', without any express or implied

warranty. In no event will the authors be held liable for any damages

arising from the use of this software.


Permission is granted to anyone to use this software for any purpose,

including commercial applications, and to alter it and redistribute it

freely, subject to the following restrictions:


1. The origin of this software must not be misrepresented; you must not

   claim that you wrote the original software. If you use this software

   in a product, an acknowledgment in the product documentation would be

   appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not be

   misrepresented as being the original software.

3. This notice may not be removed or altered from any source distribution.




:[diStorm64}:

The ultimate disassembler library.

Copyright (c) 2003,2004,2005,2006,2007,2008, Gil Dabah

All rights reserved.


Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:


    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

    * Neither the name of the diStorm nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.


THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
legal\VERIFICATION.txt
VERIFICATION
Verification is intended to assist the Chocolatey moderators and community
in verifying that this package's contents are trustworthy.
 
Package can be verified like this:

1. Go to https://github.com/runestubbe/Crinkler/releases/tag/v2.3, and download from there.

   x86_64 & i686: https://github.com/runestubbe/Crinkler/releases/download/v2.3/crinkler23.zip

   to download the ZIP archive and extract the executables. You may wish to rename one of the files.

2. You can use one of the following methods to obtain the SHA512 checksum:
   - Use powershell function 'Get-FileHash'
   - Use Chocolatey utility 'checksum.exe'

   checksum:   6802df15ce7ed02911c139a3c851b75d583f3524233d3d5724b66a0dffd88a24bc11fa9a777630daa56ac2b604a6c2d409bf6e839f80a6764e19ae4b696788dd
   checksum64: d4321724c4518025d5ea98e39ce3697edd8529ad34291e91ead37146de8db4434b0ce3c0c59d1b9e570b6e6cc12ab58143ba28e9fa3db6ee565063aa7a5d7d81

File 'LICENSE.txt' obtained from:
   https://github.com/runestubbe/Crinkler/blob/v2.3/LICENSE.txt
tools\x64\Crinkler.exe
md5: FA31756D27F7B2F32BF4E1039E7FB420 | sha1: 39A1C63BFEB07D1722CF2CCC7B5C6402172792D5 | sha256: 5119264C5B101D448AECEB6CC2E1493F0AB3195444F87FCC5144E50C60E74DBE | sha512: D4321724C4518025D5EA98E39CE3697EDD8529AD34291E91EAD37146DE8DB4434B0CE3C0C59D1B9E570B6E6CC12AB58143BA28E9FA3DB6EE565063AA7A5D7D81
tools\x86\Crinkler.exe
md5: E7DFDB8889E655E86835EDF686308DDE | sha1: 30AE52024ABE81319230FE1AD2D37A4C7170ECA5 | sha256: 2F87C1C1C360DC7FBEA0E7F1A12B451E940259CB772742907D0D93FBFB8FA54A | sha512: 6802DF15CE7ED02911C139A3C851B75D583F3524233D3D5724B66A0DFFD88A24BC11FA9A777630DAA56AC2B604A6C2D409BF6E839F80A6764E19AE4B696788DD

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Add to Builder Version Downloads Last Updated Status

  • The size of /TINYHEADER reduced by another 3 bytes.

  • Faster hash size optimization, especially with many cores.

  • Error messages about symbols that cannot be found now include the name of the function containing the reference to that symbol.

  • When using functions from msvcrt.dll, it is no longer necessary to supply an old msvcrt.lib. Crinkler now automatically links to msvcrt.dll, similarly to how the Microsoft linker automatically links to its corresponding runtime.

  • For CONSOLE applications, when not specifying a custom entry point, Crinkler will insert a small mainCRTStartup which handles commandline arguments.

  • The automatic msvcrt.dll linking and entry point can be disabled by using the /NODEFAULTLIB option.

  • Added support for legacy format lib files with only the first linker member. Files like this are emitted from rustc, for example.

  • When an imported DLL contains no export table (which is the case for some Wine DLLs), Crinkler will no longer crash. Instead, it will report an error, instructing the user to supply genuine Windows DLLs when crinkling on Wine.

  • Only one dump file is written if several threads crash.


This package has no dependencies.

Discussion for the Crinkler Package

Ground Rules:

  • This discussion is only about Crinkler and the Crinkler package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Crinkler, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus